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-factory-data/logpm-factory-data-olo/src/main/java/com/logpm/factorydata/olo/service/impl/DeliveryNoteServiceImpl.java b/blade-service/logpm-factory-data/logpm-factory-data-olo/src/main/java/com/logpm/factorydata/olo/service/impl/DeliveryNoteServiceImpl.java index 159a534a1..bffdfc225 100644 --- a/blade-service/logpm-factory-data/logpm-factory-data-olo/src/main/java/com/logpm/factorydata/olo/service/impl/DeliveryNoteServiceImpl.java +++ b/blade-service/logpm-factory-data/logpm-factory-data-olo/src/main/java/com/logpm/factorydata/olo/service/impl/DeliveryNoteServiceImpl.java @@ -52,6 +52,7 @@ import java.math.BigDecimal; import java.nio.file.Files; import java.time.LocalDateTime; import java.util.ArrayList; +import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -131,7 +132,9 @@ public class DeliveryNoteServiceImpl extends BaseServiceImpl advances = new ArrayList<>(); + int num = 0; for (Map.Entry> stringListEntry : advanceMap.entrySet()) { + num = num + 1; List value = stringListEntry.getValue(); // 计算数量 BigDecimal totalQty = value.stream().map(i -> Convert.toBigDecimal(i.getQty())).reduce(BigDecimal.ZERO, BigDecimal::add); @@ -177,6 +180,7 @@ public class DeliveryNoteServiceImpl extends BaseServiceImpl 1) { - advanceDetailEntity.setOrderPackageCode("OLO" + orderPackageDTO.getSn() + "-" + (i + 1) + "-" + StrUtil.padPre(String.valueOf(i + 1), 3, "0")); + advanceDetailEntity.setOrderPackageCode("OLO" + orderPackageDTO.getSn() + "-" + DateUtil.format(new Date(), "yyyyMMddHHmmss") + "-" + num + "-" + StrUtil.padPre(String.valueOf(i + 1), 3, "0")); } else { advanceDetailEntity.setOrderPackageCode(orderPackageDTO.getSn()); } diff --git a/blade-service/logpm-factory-data/logpm-factory-data-suofeiya/src/main/java/com/logpm/factorydata/suofeiya/service/impl/DeliveryNoteServiceImpl.java b/blade-service/logpm-factory-data/logpm-factory-data-suofeiya/src/main/java/com/logpm/factorydata/suofeiya/service/impl/DeliveryNoteServiceImpl.java index 9e2de1453..8d8e5fa12 100644 --- a/blade-service/logpm-factory-data/logpm-factory-data-suofeiya/src/main/java/com/logpm/factorydata/suofeiya/service/impl/DeliveryNoteServiceImpl.java +++ b/blade-service/logpm-factory-data/logpm-factory-data-suofeiya/src/main/java/com/logpm/factorydata/suofeiya/service/impl/DeliveryNoteServiceImpl.java @@ -164,16 +164,21 @@ public class DeliveryNoteServiceImpl extends BaseServiceImpl jisuanLoadNum(String param) { + log.info("############jisuanLoadNum: 计算车次数量 开始"); + + List ls = warehouseMappingDataService.findAllDealWithWaybillNo(); + + ls.forEach(json -> { + Integer id = json.getInt("id"); + String carsNo = json.getStr("waybillNo"); + log.info("###################jisuanLoadNum: 当前处理的车次号为 carsNo={}",carsNo); + TrunklineCarsLoadEntity entityByCarsNo = carsLoadClient.findEntityByCarsNo(carsNo); + Long loadId = entityByCarsNo.getId(); + carsLoadClient.updateCardLoadNum(loadId); + warehouseMappingDataService.updateStatusDealwithWaybillById(id); + }); + 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