Browse Source

自提扫描梦天推送、首页自提数据

master
汤建军 8 months ago
parent
commit
4e83fe20e9
  1. 25
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistrilbutionBillLadingServiceImpl.java
  2. 21
      blade-service/logpm-report/src/main/java/com/logpm/report/mapper/WarehouseIndexMapper.java
  3. 70
      blade-service/logpm-report/src/main/java/com/logpm/report/mapper/WarehouseIndexMapper.xml
  4. 66
      blade-service/logpm-report/src/main/java/com/logpm/report/service/impl/WarehouseIndexServiceImpl.java

25
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistrilbutionBillLadingServiceImpl.java

@ -2893,6 +2893,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
String coding = distributionBillLading.get("coding").toString();
String type = distributionBillLading.get("type").toString();
try {
DistrilbutionBillLadingEntity billLadingEntity1 = baseMapper.selectById((Serializable) billLadingId);
DistrilbutionAppBillLadingOrderMainVO billLadingOrderMainVO = baseMapper.getBillLadingOrderMainVO(Long.parseLong(billLadingId.toString()));
@ -2900,12 +2901,12 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
if (isTaskCompleted(billLadingOrderMainVO, billLadingEntity1)) {
return Resp.scanFail("提货任务已完成!", "提货任务已完成!");
}
BasicdataWarehouseEntity myCurrentWarehouse = basicdataWarehouseClient.getMyCurrentWarehouse();
if (myCurrentWarehouse == null) {
return Resp.scanFail("请选择仓库!", "请选择仓库!");
}
if (isAlreadySigned(billLadingId, coding, type)) {
return Resp.scanFail("该包件已签收!", "该包件已签收!");
}
@ -2917,6 +2918,8 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
distributionBillLadingScan.setScanType(1);
distributionBillLadingScan.setWarehouseId(myCurrentWarehouse.getId());
distributionBillLadingScan.setScanUser(AuthUtil.getUser().getNickName());
return processScan(type, billLadingId, coding, distributionBillLadingScan, myCurrentWarehouse, billLadingEntity1.getPickupBatch());
// return Resp.scanSuccess("签收成功", "签收成功");
@ -3035,7 +3038,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
}
private Resp handleInventoryProduct(String type, Object billLadingId, String coding, DistributionBillLadingScanEntity distributionBillLadingScan) {
private Resp handleInventoryProduct(String type, Long billLadingId, String coding, DistributionBillLadingScanEntity distributionBillLadingScan) {
BasicdataWarehouseEntity myCurrentWarehouse = basicdataWarehouseClient.getMyCurrentWarehouse();
if (ObjectUtils.isNull(myCurrentWarehouse)) {
@ -3176,7 +3179,22 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
//订单
distributionBillLadingScan.setStockArticleId(one.getId());
distributionBillLadingScan.setQuantity(1);
distributionBillLadingScan.setBillLadingId(Long.parseLong((String) billLadingId));
distributionBillLadingScan.setBillLadingId( billLadingId);
//推送梦天
if (distributionParcelListEntity.getBrandName().equals("梦天")){
Map<String, Object> pushMap = new HashMap<>();
pushMap.put("orderPackageCode", coding);
pushMap.put("operationTime", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
pushMap.put("distributionContactId", billLadingId);
pushMap.put("destinationWarehouse", myCurrentWarehouse.getName());
rabbitTemplate.convertAndSend(RabbitConstant.MT_BUSINESS_DATA_2_FACTORY_EXCHANGE, RabbitConstant.MT_BUSINESS_DATA_2_FACTORY_ROUTING, pushMap, message -> {
message.getMessageProperties()
.setHeader("x-delay", 3000);
return message;
});
}
}
@ -3199,6 +3217,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
});
return Resp.scanSuccess("签收成功", "签收成功");
}

21
blade-service/logpm-report/src/main/java/com/logpm/report/mapper/WarehouseIndexMapper.java

@ -266,4 +266,25 @@ public interface WarehouseIndexMapper {
* @return
*/
Integer findBillLadingSignForNumByDay(@Param("param")IndexDTO indexDTO);
/**
* 查询当天签收超时数
* @param indexDTO
* @return
*/
Integer findBillLadingOverTimeNumByDay(@Param("param")IndexDTO indexDTO);
/**
* 查询当月签收数
* @param indexDTO
* @return
*/
Integer findBillLadingSignForNumByMonth(@Param("param")IndexDTO indexDTO);
/**
* 查询当月计划自提总数
* @param indexDTO
* @return
*/
Integer findBillLadingPlanNumByDay(@Param("param")IndexDTO indexDTO);
}

70
blade-service/logpm-report/src/main/java/com/logpm/report/mapper/WarehouseIndexMapper.xml

@ -835,5 +835,75 @@
</where>
</select>
<select id="findBillLadingSignForNumByDay" resultType="java.lang.Integer">
SELECT
count(1) AS num
FROM
logpm_distrilbution_bill_lading
<where>
is_deleted = 0
AND conditions = 30
AND DATE_FORMAT( create_time, '%y%m%d' ) = DATE_FORMAT( #{param.dayStr}, '%y%m%d' )
<if test="param.warehouseIds != null">
AND warehouse_id
<foreach collection="param.warehouseIds" item="item" open="in (" separator="," close=")">
#{item}
</foreach>
</if>
</where>
</select>
<select id="findBillLadingOverTimeNumByDay" resultType="java.lang.Integer">
SELECT
count(1) AS num
FROM
logpm_distrilbution_bill_lading
<where>
is_deleted = 0
AND conditions = 30
AND DATEDIFF (DATE_FORMAT(create_time,"%y%m%d"),DATE_FORMAT(update_time,"%y%m%d")) > 3
<if test="param.warehouseIds != null">
AND warehouse_id
<foreach collection="param.warehouseIds" item="item" open="in (" separator="," close=")">
#{item}
</foreach>
</if>
</where>
</select>
<select id="findBillLadingSignForNumByMonth" resultType="java.lang.Integer">
SELECT
count(1) AS num
FROM
logpm_distrilbution_bill_lading
<where>
is_deleted = 0
AND conditions = 30
AND DATE_FORMAT( create_time, '%y%m' ) = DATE_FORMAT( #{param.dayStr}, '%y%m' )
<if test="param.warehouseIds != null">
AND warehouse_id
<foreach collection="param.warehouseIds" item="item" open="in (" separator="," close=")">
#{item}
</foreach>
</if>
</where>
</select>
<select id="findBillLadingPlanNumByDay" resultType="java.lang.Integer">
SELECT
count(1) AS num
FROM
logpm_distrilbution_bill_lading
<where>
is_deleted = 0
AND DATE_FORMAT( create_time, '%y%m' ) = DATE_FORMAT( #{param.dayStr}, '%y%m' )
<if test="param.warehouseIds != null">
AND warehouse_id
<foreach collection="param.warehouseIds" item="item" open="in (" separator="," close=")">
#{item}
</foreach>
</if>
</where>
</select>
</mapper>

66
blade-service/logpm-report/src/main/java/com/logpm/report/service/impl/WarehouseIndexServiceImpl.java

@ -325,10 +325,10 @@ public class WarehouseIndexServiceImpl implements IWarehouseIndexService {
Integer dayUnSignforNum = warehouseIndexMapper.findUnSignforDataByDay(indexDTO);
indexSignforDayDataVO.setUnSignNum(dayUnSignforNum);
//计算签收率
if (daySignforNum > 0 && (daySignforNum + dayUnSignforNum) >0){
if (daySignforNum > 0 && (daySignforNum + dayUnSignforNum) > 0) {
Double daySignforScale = (double) (daySignforNum / (daySignforNum + dayUnSignforNum) * 100);
indexSignforDayDataVO.setSignScale(daySignforScale);
}else {
} else {
indexSignforDayDataVO.setSignScale(0.00);
}
//查询当天文员复核数
@ -337,7 +337,7 @@ public class WarehouseIndexServiceImpl implements IWarehouseIndexService {
//查询当天计划数
Integer dayPlanByday = warehouseIndexMapper.findPlanNumByDay(indexDTO);
//计算文员签收率
if (dayClerkSignforNum > 0 && (dayPlanByday + dayClerkSignforNum)>0){
if (dayClerkSignforNum > 0 && (dayPlanByday + dayClerkSignforNum) > 0) {
Double dayClerkSignforScale = (double) (dayClerkSignforNum / (dayPlanByday + dayClerkSignforNum));
indexSignforDayDataVO.setClerkSignforScale(dayClerkSignforScale);
} else {
@ -347,8 +347,6 @@ public class WarehouseIndexServiceImpl implements IWarehouseIndexService {
//文员超时复核数
Integer dayClerkOverTimeSignfoNum = warehouseIndexMapper.findClerkOverTimeNumByDay(indexDTO);
indexSignforDayDataVO.setClerkOverTimeSignfoNum(dayClerkOverTimeSignfoNum);
indexSignforDayDataVO.setClerkSignNum(dayClerkSignforNum);
list.add(indexSignforDayDataVO);
IndexSignforDataVO indexSignforMonthDataVO = new IndexSignforDataVO();
@ -360,68 +358,92 @@ public class WarehouseIndexServiceImpl implements IWarehouseIndexService {
Integer monthUnSignforNum = warehouseIndexMapper.findUnSignforDataByMonth(indexDTO);
indexSignforMonthDataVO.setUnSignNum(monthUnSignforNum);
//计算签收率
if (monthSignforNum > 0 && (monthUnSignforNum + monthSignforNum) > 0){
if (monthSignforNum > 0 && (monthUnSignforNum + monthSignforNum) > 0) {
Double monthSignforScale = (double) (monthSignforNum / (monthUnSignforNum + monthSignforNum));
indexSignforMonthDataVO.setSignScale(monthSignforScale);
}else {
} else {
indexSignforMonthDataVO.setSignScale(0.00);
}
//查询当月文员复核数
Integer monthClerkSignforNum = warehouseIndexMapper.findClerkSignforNumByMonth(indexDTO);
indexSignforMonthDataVO.setClerkSignNum(monthClerkSignforNum);
Integer monthPlanByday = warehouseIndexMapper.findPlanNumByMonth(indexDTO);
if (monthClerkSignforNum > 0 && (monthPlanByday + monthClerkSignforNum)>0){
if (monthClerkSignforNum > 0 && (monthPlanByday + monthClerkSignforNum) > 0) {
Double monthClerkSignforScale = (double) (monthClerkSignforNum / (monthPlanByday + monthClerkSignforNum));
indexSignforMonthDataVO.setClerkSignforScale(monthClerkSignforScale);
}else {
} else {
indexSignforMonthDataVO.setClerkSignforScale(0.00);
}
//查询当月文员复核
Integer monthClerkOverTimeSignfoNum = warehouseIndexMapper.findClerkOverTimeNumByMonth(indexDTO);
indexSignforMonthDataVO.setClerkOverTimeSignfoNum(monthClerkOverTimeSignfoNum);
if (monthClerkOverTimeSignfoNum >0 && monthPlanByday>0){
if (monthClerkOverTimeSignfoNum > 0 && monthPlanByday > 0) {
Double monthClerkOverTimeScale = (double) (monthClerkOverTimeSignfoNum / monthPlanByday);
indexSignforMonthDataVO.setClerkOverTimeScale(monthClerkOverTimeScale);
}else {
} else {
indexSignforMonthDataVO.setClerkOverTimeScale(0.00);
}
list.add(indexSignforMonthDataVO);
//查询自提相关的签收信息
IndexSignforDataVO indexBillLadingSignforDayDataVO = new IndexSignforDataVO();
//查询自提签收包件信息
Integer dayBillLadingSignfor = warehouseIndexMapper.findBillLadingSignforByDay(indexDTO);
indexBillLadingSignforDayDataVO.setSignNum(dayBillLadingSignfor);
//查询自提未签收树
Integer dayBillLadingUnSignfor = warehouseIndexMapper.findBillLadingUnSignforByDay(indexDTO);
indexBillLadingSignforDayDataVO.setUnSignNum(dayBillLadingUnSignfor);
//计算当天的签收率
if (dayBillLadingSignfor > 0 && (dayBillLadingSignfor + dayBillLadingUnSignfor) > 0) {
Double dayBillLadingSignforScale = (double) (dayBillLadingSignfor / (dayBillLadingSignfor + dayBillLadingUnSignfor));
indexBillLadingSignforDayDataVO.setClerkSignforScale(dayBillLadingSignforScale);
} else {
indexBillLadingSignforDayDataVO.setClerkSignforScale(0.00);
}
//查询当天文员复数
//查询当天文员复
Integer dayBillLadingSignforNum = warehouseIndexMapper.findBillLadingSignForNumByDay(indexDTO);
//查询当天签收超时数
indexBillLadingSignforDayDataVO.setClerkSignNum(dayBillLadingSignforNum);
//查询当天签收超时数
Integer dayBillLadingverTimeNum = warehouseIndexMapper.findBillLadingOverTimeNumByDay(indexDTO);
indexBillLadingSignforDayDataVO.setClerkOverTimeSignfoNum(dayBillLadingverTimeNum);
list.add(indexBillLadingSignforDayDataVO);
IndexSignforDataVO indexBillLadingSignforMonthDataVO = new IndexSignforDataVO();
//查询自提当月签收情况
Integer monthBillLadingSignfor = warehouseIndexMapper.findBillLadingSignforByMonth(indexDTO);
indexBillLadingSignforMonthDataVO.setSignNum(monthBillLadingSignfor);
//查询自提当月未签数量
Integer monthBillLadingUnSignfor = warehouseIndexMapper.findBillLadingUnSignforByMonth(indexDTO);
indexBillLadingSignforMonthDataVO.setUnSignNum(monthBillLadingSignfor);
//计算当月的签收率
if (monthBillLadingSignfor > 0 && (monthBillLadingSignfor + monthBillLadingUnSignfor) > 0) {
Double monthBillLadingSignforScale = (double) (dayBillLadingSignfor / (dayBillLadingSignfor + dayBillLadingUnSignfor));
indexBillLadingSignforMonthDataVO.setSignScale(monthBillLadingSignforScale);
} else {
indexBillLadingSignforMonthDataVO.setSignScale(0.00);
}
//查询当月文员签收数
Integer monthBillLadingSignforNum = warehouseIndexMapper.findBillLadingSignForNumByMonth(indexDTO);
indexBillLadingSignforMonthDataVO.setClerkSignNum(monthBillLadingSignforNum);
//查询当月文员超时签收数
Integer monthBillLadingOverTimeNum = warehouseIndexMapper.findBillLadingOverTimeNumByDay(indexDTO);
indexBillLadingSignforMonthDataVO.setClerkOverTimeSignfoNum(monthBillLadingOverTimeNum);
//查询当月计划总数
Integer monthBillLadingPlanNum = warehouseIndexMapper.findBillLadingPlanNumByDay(indexDTO);
if (monthBillLadingOverTimeNum > 0 && monthBillLadingPlanNum > 0) {
//计算当月的超时签收率
Double monthBillLadingClerkOverTimeSignfoNum = (double) (monthBillLadingOverTimeNum / monthBillLadingPlanNum);
indexBillLadingSignforMonthDataVO.setClerkOverTimeScale(monthBillLadingClerkOverTimeSignfoNum);
} else {
indexBillLadingSignforMonthDataVO.setClerkSignforScale(0.00);
}
list.add(indexBillLadingSignforMonthDataVO);
return list;

Loading…
Cancel
Save