diff --git a/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/CarsLoadOrderInfoVO.java b/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/CarsLoadOrderInfoVO.java index f9bee415e..b8b4a37f9 100644 --- a/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/CarsLoadOrderInfoVO.java +++ b/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/CarsLoadOrderInfoVO.java @@ -15,13 +15,17 @@ public class CarsLoadOrderInfoVO implements Serializable { private Integer loadingNum = 0; private Integer unloadNum = 0; private Integer signNum = 0; - private BigDecimal unloadIncome = BigDecimal.ZERO; - private BigDecimal costZhang = BigDecimal.ZERO; - private BigDecimal costPiece = BigDecimal.ZERO; - private BigDecimal income = BigDecimal.ZERO; - private BigDecimal weight = BigDecimal.ZERO; - private BigDecimal volume = BigDecimal.ZERO; - private BigDecimal orderFreight = BigDecimal.ZERO; + private BigDecimal unloadIncome = BigDecimal.ZERO.setScale(2, BigDecimal.ROUND_HALF_UP); + private BigDecimal costZhang = BigDecimal.ZERO.setScale(2, BigDecimal.ROUND_HALF_UP); + private BigDecimal costPiece = BigDecimal.ZERO.setScale(2, BigDecimal.ROUND_HALF_UP); + private BigDecimal income = BigDecimal.ZERO.setScale(2, BigDecimal.ROUND_HALF_UP); + private BigDecimal weight = BigDecimal.ZERO.setScale(2, BigDecimal.ROUND_HALF_UP); + private BigDecimal volume = BigDecimal.ZERO.setScale(2, BigDecimal.ROUND_HALF_UP); + private BigDecimal orderFreight = BigDecimal.ZERO.setScale(2, BigDecimal.ROUND_HALF_UP); + private String orderGoodsName; + private String orderGoodsNum; + private String orderGoodsVolume; + private String orderGoodsWeight; private String checkUserName;//审核人员 diff --git a/blade-service/logpm-patch/src/main/java/com/logpm/patch/jobhandle/SyncOrderInfoToPlatform.java b/blade-service/logpm-patch/src/main/java/com/logpm/patch/jobhandle/SyncOrderInfoToPlatform.java index 9364e1f98..9f122e3e1 100644 --- a/blade-service/logpm-patch/src/main/java/com/logpm/patch/jobhandle/SyncOrderInfoToPlatform.java +++ b/blade-service/logpm-patch/src/main/java/com/logpm/patch/jobhandle/SyncOrderInfoToPlatform.java @@ -3,8 +3,6 @@ package com.logpm.patch.jobhandle; import cn.hutool.core.collection.CollUtil; import cn.hutool.json.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.logpm.basicdata.entity.BasicdataClientEntity; -import com.logpm.basicdata.entity.BasicdataStoreBusinessEntity; import com.logpm.basicdata.entity.BasicdataWarehouseEntity; import com.logpm.basicdata.feign.IBasicdataWarehouseClient; import com.logpm.distribution.entity.DistributionParcelListEntity; @@ -1264,17 +1262,38 @@ public class SyncOrderInfoToPlatform { distributionParcelListClient.updateList(updateParceList); } + } + @XxlJob("jisuanLoadNum") + public ReturnT jisuanLoadNum(String param) { + log.info("############jisuanLoadNum: 计算车次数量 开始"); + if(StringUtil.isBlank(param)){ + log.warn("###########jisuanLoadNum: 车次号为空"); + throw new CustomerException(405,"车次号为空"); + } + String[] split = param.split(","); + for (int i = 0; i < split.length; i++) { + String carNo = split[i]; + log.info("###################jisuanLoadNum: 当前处理的车次号为 carNo={}",carNo); + TrunklineCarsLoadEntity entityByCarsNo = carsLoadClient.findEntityByCarsNo(carNo); + Long loadId = entityByCarsNo.getId(); + + carsLoadClient.updateCardLoadNum(loadId); + } + log.info("############jisuanLoadNum: 计算车次数量 完成"); + + return ReturnT.SUCCESS; } + } diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineAdvanceMapper.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineAdvanceMapper.java index 2a6630595..a69cd08b9 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineAdvanceMapper.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineAdvanceMapper.java @@ -50,4 +50,5 @@ public interface TrunklineAdvanceMapper extends BaseMapper advancePageListByBussiness(IPage page, @Param("param") AdvanceDTO advanceDTO); + Integer findTotalNumByWaybillNoAndOrderCode(@Param("waybillNo") String waybillNo, @Param("orderCode") String orderCode); } diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineAdvanceMapper.xml b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineAdvanceMapper.xml index d1f0b2e08..65116ee20 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineAdvanceMapper.xml +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineAdvanceMapper.xml @@ -261,4 +261,11 @@ where waybill_no = #{waybillNo} + + diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineAdvanceService.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineAdvanceService.java index d492cfed5..5e13956c8 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineAdvanceService.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineAdvanceService.java @@ -51,4 +51,6 @@ public interface ITrunklineAdvanceService extends BaseService advancePageListByBussiness(IPage page, AdvanceDTO advanceDTO); void clearWaybillInfoByWaybillNo(String waybillNo); + + Integer findTotalNumByWaybillNoAndOrderCode(String waybillNo, String orderCode); } diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineAdvanceServiceImpl.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineAdvanceServiceImpl.java index c27f69c62..f2e702d84 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineAdvanceServiceImpl.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineAdvanceServiceImpl.java @@ -1974,4 +1974,9 @@ public class TrunklineAdvanceServiceImpl extends BaseServiceImpl !Objects.isNull(scan.getWarehouseId()) && NumberUtil.equals(nodeId,scan.getWarehouseId()) && StringUtil.equals(orderCode,scan.getOrderCode()) && StringUtil.equals(waybillNo,scan.getWaybillNo())).mapToInt(TrunklineCarsLoadScanEntity::getNum).sum(); - Integer carsOrderRealUnloadingNum = scanList.stream().filter(scan -> !Objects.isNull(scan.getScanStatus()) && !scan.getScanStatus().equals("1") && !Objects.isNull(scan.getUnloadNodeId()) && NumberUtil.equals(nodeId,scan.getUnloadNodeId()) && StringUtil.equals(orderCode,scan.getOrderCode()) && StringUtil.equals(waybillNo,scan.getWaybillNo())).mapToInt(TrunklineCarsLoadScanEntity::getUnloadNum).sum(); + Integer carsOrderRealUnloadingNum = scanList.stream().filter(scan -> !Objects.isNull(scan.getScanStatus()) && !scan.getScanStatus().equals("1") && !Objects.isNull(scan.getUnloadNodeId()) && StringUtil.equals(orderCode,scan.getOrderCode()) && StringUtil.equals(waybillNo,scan.getWaybillNo())).mapToInt(TrunklineCarsLoadScanEntity::getUnloadNum).sum(); Integer carsOrderRealSignNum = scanList.stream().filter(scan -> !Objects.isNull(scan.getScanStatus()) && scan.getScanStatus().equals("3") && StringUtil.equals(orderCode,scan.getOrderCode()) && StringUtil.equals(waybillNo,scan.getWaybillNo())).mapToInt(TrunklineCarsLoadScanEntity::getUnloadNum).sum(); carsOrderEntity.setRealNum(carsOrderRealLoadingNum); carsOrderEntity.setUnloadNum(carsOrderRealUnloadingNum); @@ -3598,21 +3598,23 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl parcelListEntities = distributionParcelListClient.findAllStockListByOrderPackageCode(orderPackageCode); @@ -3648,53 +3654,53 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl> trunklineCarsLoadScanMapByType = trunklineCarsLoadScanListByOrderCode.stream().collect(Collectors.groupingBy(TrunklineCarsLoadScanVO::getType)); AtomicReference totalIncomingParice = new AtomicReference<>(BigDecimal.ZERO); AtomicReference totalVolume = new AtomicReference<>(BigDecimal.ZERO); AtomicReference totalWeight = new AtomicReference<>(BigDecimal.ZERO); + Map goodsByNum = new HashMap<>(); + Map goodsByVolume = new HashMap<>(); + Map goodsByWeight = new HashMap<>(); trunklineCarsLoadScanMapByType.keySet().forEach(type -> { List trunklineCarsLoadScanVOS = trunklineCarsLoadScanMapByType.get(type); @@ -4726,6 +4748,25 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl orderGoodsNameList = new ArrayList<>(); + List orderGoodsNumList = new ArrayList<>(); + List orderGoodsVolumeList = new ArrayList<>(); + List orderGoodsWeightList = new ArrayList<>(); + + goodsByNum.keySet().forEach(g -> { + orderGoodsNameList.add(g); + orderGoodsNumList.add(goodsByNum.get(g)+""); + orderGoodsVolumeList.add(goodsByVolume.get(g).setScale(2, BigDecimal.ROUND_HALF_UP).toString()); + orderGoodsWeightList.add(goodsByWeight.get(g).setScale(2, BigDecimal.ROUND_HALF_UP).toString()); + }); + + carsLoadOrderInfoVO.setUnloadIncome(totalIncomingParice.get()); carsLoadOrderInfoVO.setWeight(totalWeight.get()); carsLoadOrderInfoVO.setVolume(totalVolume.get()); + carsLoadOrderInfoVO.setOrderGoodsNum(String.join(",", orderGoodsNumList)); + carsLoadOrderInfoVO.setOrderGoodsName(String.join(",", orderGoodsNameList)); + carsLoadOrderInfoVO.setOrderGoodsVolume(String.join(",", orderGoodsVolumeList)); + carsLoadOrderInfoVO.setOrderGoodsWeight(String.join(",", orderGoodsWeightList)); + resulOrderList.add(carsLoadOrderInfoVO); }); } @@ -8982,6 +9058,7 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl @@ -234,18 +235,6 @@ #{item} - - and ( - lww.departure_warehouse_id in - - #{item} - - or lww.destination_warehouse_id in - - #{item} - - ) - and Locate(#{param.waybillNo},lww.waybill_no) > 0 @@ -373,6 +362,17 @@ group by lww.id + + HAVING + + + GROUP_CONCAT(DISTINCT ltwt.warehouse_id) like CONCAT('%',#{item},'%') + + + or GROUP_CONCAT(DISTINCT ltwt.warehouse_id) like CONCAT('%',#{item},'%') + + + order by lww.create_time desc