diff --git a/blade-service-api/logpm-statisticsdata-api/src/main/java/com/logpm/statistics/entity/ExpenseDispatchTrainDetailEntity.java b/blade-service-api/logpm-statisticsdata-api/src/main/java/com/logpm/statistics/entity/ExpenseDispatchTrainDetailEntity.java index 568619b5b..cf0f01f8d 100644 --- a/blade-service-api/logpm-statisticsdata-api/src/main/java/com/logpm/statistics/entity/ExpenseDispatchTrainDetailEntity.java +++ b/blade-service-api/logpm-statisticsdata-api/src/main/java/com/logpm/statistics/entity/ExpenseDispatchTrainDetailEntity.java @@ -73,7 +73,7 @@ public class ExpenseDispatchTrainDetailEntity extends TenantEntity { * 配送日期 */ @ApiModelProperty(value = "配送日期") - @ExcelProperty("车次号") + @ExcelProperty("配送日期") private String deliveryDate; /** * 车次完成时间 diff --git a/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/feign/ITrunklineCarsLoadLineClient.java b/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/feign/ITrunklineCarsLoadLineClient.java new file mode 100644 index 000000000..643dc5612 --- /dev/null +++ b/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/feign/ITrunklineCarsLoadLineClient.java @@ -0,0 +1,23 @@ +package com.logpm.trunkline.feign; + +import com.logpm.trunkline.entity.TrunklineCarsLoadLineEntity; +import org.springblade.common.constant.ModuleNameConstant; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestParam; + +import java.util.List; + +@FeignClient( + value = ModuleNameConstant.APPLICATION_TRUNKLINE_NAME +) +public interface ITrunklineCarsLoadLineClient { + + + String API_PREFIX = "trunklineCarsLoadLine/client"; + + @GetMapping(API_PREFIX+"/findListByLoadId") + List findListByLoadId(@RequestParam Long loadId); + + +} diff --git a/blade-service/logpm-basic/src/main/java/com/logpm/basic/controller/BasicNoticeController.java b/blade-service/logpm-basic/src/main/java/com/logpm/basic/controller/BasicNoticeController.java index c91042af4..b6c0a72d9 100644 --- a/blade-service/logpm-basic/src/main/java/com/logpm/basic/controller/BasicNoticeController.java +++ b/blade-service/logpm-basic/src/main/java/com/logpm/basic/controller/BasicNoticeController.java @@ -16,6 +16,7 @@ */ package com.logpm.basic.controller; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import com.logpm.basic.entity.BasicNotice; @@ -95,7 +96,9 @@ public class BasicNoticeController extends BladeController { @ApiOperationSupport(order = 2) @ApiOperation(value = "分页", notes = "传入notice") public R> list() { - List list = noticeService.list(); + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.orderByDesc(BasicNotice::getReleaseTime); + List list = noticeService.list(lambdaQueryWrapper); List data = new ArrayList<>(); for (BasicNotice notice : list) { BasicNoticeVO vo = BasicNoticeWrapper.build().entityVO(notice); diff --git a/blade-service/logpm-data-sharing/src/main/java/com/logpm/datasharing/service/impl/LogpmDataSearchServiceImpl.java b/blade-service/logpm-data-sharing/src/main/java/com/logpm/datasharing/service/impl/LogpmDataSearchServiceImpl.java index 13859a0d5..6de6a265c 100644 --- a/blade-service/logpm-data-sharing/src/main/java/com/logpm/datasharing/service/impl/LogpmDataSearchServiceImpl.java +++ b/blade-service/logpm-data-sharing/src/main/java/com/logpm/datasharing/service/impl/LogpmDataSearchServiceImpl.java @@ -10,8 +10,10 @@ import com.logpm.distribution.entity.DistributionParcelListEntity; import com.logpm.distribution.entity.QualityDeliverEntity; import com.logpm.distribution.feign.IDistributionParcelListClient; import com.logpm.distribution.feign.IQualityDeliverClient; +import com.logpm.trunkline.entity.TrunklineCarsLoadLineEntity; import com.logpm.trunkline.entity.TrunklineCarsLoadScanEntity; import com.logpm.trunkline.entity.TrunklineWaybillOrderEntity; +import com.logpm.trunkline.feign.ITrunklineCarsLoadLineClient; import com.logpm.trunkline.feign.ITrunklineCarsLoadScanClient; import com.logpm.trunkline.feign.ITrunklineWaybillOrderClient; import com.logpm.warehouse.entity.WarehouseWaybillEntity; @@ -41,6 +43,7 @@ public class LogpmDataSearchServiceImpl implements ILogpmDataSearchService { private final IBasicdataWarehouseClient basicdataWarehouseClient; private final ISysClient systemClient; private final ITrunklineWaybillOrderClient trunklineWaybillOrderClient; + private final ITrunklineCarsLoadLineClient traceCarsLoadLineClient; @Override public R data(String type, String order) { @@ -140,18 +143,23 @@ public class LogpmDataSearchServiceImpl implements ILogpmDataSearchService { if (allListByWaybillNo != null && !allListByWaybillNo.isEmpty()) { // 按照 车次号进行分组 - Map> groupedByLoadId = allListByWaybillNo.stream().collect(Collectors.groupingBy(TrunklineCarsLoadScanEntity::getLoadCode)); - Set strings = groupedByLoadId.keySet(); - for (String key : strings) { + Map> groupedByLoadId = allListByWaybillNo.stream().collect(Collectors.groupingBy(TrunklineCarsLoadScanEntity::getLoadId)); + Set strings = groupedByLoadId.keySet(); + for (Long key : strings) { + + + // 查询改车次所有卸车作业数据集合 + List listByLoadId = traceCarsLoadLineClient.findListByLoadId(key); + List trunklineCarsLoadScanEntities = groupedByLoadId.get(key); //干线发车 - nodeInfoVO = buildTrunklineByLoadCar(trunklineCarsLoadScanEntities, key); + nodeInfoVO = buildTrunklineByLoadCar(trunklineCarsLoadScanEntities, listByLoadId ); if (nodeInfoVO != null) { nodeInfoVOList.add(nodeInfoVO); } // 干线到达 - nodeInfoVO = buildTrunklineByUnLoadCar(trunklineCarsLoadScanEntities, key); + nodeInfoVO = buildTrunklineByUnLoadCar(trunklineCarsLoadScanEntities, listByLoadId); if (nodeInfoVO != null) { nodeInfoVOList.add(nodeInfoVO); } @@ -165,47 +173,58 @@ public class LogpmDataSearchServiceImpl implements ILogpmDataSearchService { if (signListByWaybillNumber != null && !signListByWaybillNumber.isEmpty()) { //统计装车数量load_num - int loadNum = signListByWaybillNumber.stream().mapToInt(QualityDeliverEntity::getLoadNum).sum(); + int loadNum = signListByWaybillNumber.stream().filter(e -> e.getLoadNum() !=null).mapToInt(QualityDeliverEntity::getLoadNum).sum(); // 计划配送数 plan_num - int planNum = signListByWaybillNumber.stream().mapToInt(QualityDeliverEntity::getPlanNum).sum(); + int planNum = signListByWaybillNumber.stream().filter(e-> e.getPlanNum()!=null).mapToInt(QualityDeliverEntity::getPlanNum).sum(); // 计算签收数量sign_num - int signNum = signListByWaybillNumber.stream().mapToInt(QualityDeliverEntity::getSignNum).sum(); + int signNum = signListByWaybillNumber.stream().filter(e-> e.getSignNum()!=null).mapToInt(QualityDeliverEntity::getSignNum).sum(); // 配送装车 - QualityDeliverEntity qualityDeliverEntity = signListByWaybillNumber.get(0); if (loadNum != 0) { - nodeInfoVO = new NodeInfoVO(); - nodeInfoVO.setOperateName("配送装车"); - nodeInfoVO.setOperateNumber(loadNum + ""); - nodeInfoVO.setOperateWarehouseName(qualityDeliverEntity.getWarehouseName()); - nodeInfoVO.setOperateTime(qualityDeliverEntity.getCreateTime()); - // 增加网点电话 - BasicdataWarehouseEntity entityWarehouseId = basicdataWarehouseClient.getEntityWarehouseId(qualityDeliverEntity.getWarehouseId()); - if (entityWarehouseId != null) { - nodeInfoVO.setOperateWarehousePhone(entityWarehouseId.getContactNumber()); + QualityDeliverEntity qualityDeliverEntity = signListByWaybillNumber.stream().filter(e -> e.getLoadTime() != null).findFirst().orElse(null); + if(qualityDeliverEntity != null){ + nodeInfoVO = new NodeInfoVO(); + nodeInfoVO.setOperateName("配送装车"); + nodeInfoVO.setOperateNumber(loadNum + ""); + nodeInfoVO.setOperateWarehouseName(qualityDeliverEntity.getWarehouseName()); + nodeInfoVO.setOperateTime(qualityDeliverEntity.getLoadTime()); + // 增加网点电话 + BasicdataWarehouseEntity entityWarehouseId = basicdataWarehouseClient.getEntityWarehouseId(qualityDeliverEntity.getWarehouseId()); + if (entityWarehouseId != null) { + nodeInfoVO.setOperateWarehousePhone(entityWarehouseId.getContactNumber()); + } + + nodeInfoVOList.add(nodeInfoVO); } - nodeInfoVOList.add(nodeInfoVO); } - if (planNum != 0) { - nodeInfoVO = new NodeInfoVO(); - nodeInfoVO.setOperateName("配送签收"); - nodeInfoVO.setOperateNumber(signNum + "/" + loadNum); - nodeInfoVO.setOperateWarehouseName(qualityDeliverEntity.getWarehouseName()); - nodeInfoVO.setOperateTime(qualityDeliverEntity.getCreateTime()); - // 增加网点电话 - BasicdataWarehouseEntity entityWarehouseId = basicdataWarehouseClient.getEntityWarehouseId(qualityDeliverEntity.getWarehouseId()); - if (entityWarehouseId != null) { - nodeInfoVO.setOperateWarehousePhone(entityWarehouseId.getContactNumber()); + if (signNum != 0) { + + QualityDeliverEntity qualityDeliverEntity = signListByWaybillNumber.stream().filter(e -> e.getSignTime() != null).findFirst().orElse(null); + + if(qualityDeliverEntity != null){ + nodeInfoVO = new NodeInfoVO(); + nodeInfoVO.setOperateName("配送签收"); + nodeInfoVO.setOperateNumber(signNum + "/" + loadNum); + nodeInfoVO.setOperateWarehouseName(qualityDeliverEntity.getWarehouseName()); + nodeInfoVO.setOperateTime(qualityDeliverEntity.getSignTime()); + // 增加网点电话 + BasicdataWarehouseEntity entityWarehouseId = basicdataWarehouseClient.getEntityWarehouseId(qualityDeliverEntity.getWarehouseId()); + if (entityWarehouseId != null) { + nodeInfoVO.setOperateWarehousePhone(entityWarehouseId.getContactNumber()); + } + nodeInfoVOList.add(nodeInfoVO); } - nodeInfoVOList.add(nodeInfoVO); + } } + //对nodeInfoVOList集合中的作业时间 按照 时间倒序排序 + nodeInfoVOList.sort(Comparator.comparing(NodeInfoVO::getOperateTime).reversed()); result.setNodeInfoVOList(nodeInfoVOList); // 配送签收 @@ -296,18 +315,20 @@ public class LogpmDataSearchServiceImpl implements ILogpmDataSearchService { log.info( ">> allListByWaybillNo ={}",allListByWaybillNo); if (allListByWaybillNo != null && !allListByWaybillNo.isEmpty()) { // 按照 车次号进行分组 - Map> groupedByLoadId = allListByWaybillNo.stream().collect(Collectors.groupingBy(TrunklineCarsLoadScanEntity::getLoadCode)); - Set strings = groupedByLoadId.keySet(); - for (String key : strings) { + Map> groupedByLoadId = allListByWaybillNo.stream().collect(Collectors.groupingBy(TrunklineCarsLoadScanEntity::getLoadId)); + Set strings = groupedByLoadId.keySet(); + for (Long key : strings) { + // + List listByLoadId = traceCarsLoadLineClient.findListByLoadId(key); List trunklineCarsLoadScanEntities = groupedByLoadId.get(key); //干线发车 - nodeInfoVO = buildTrunklineByLoadCar(trunklineCarsLoadScanEntities, key); + nodeInfoVO = buildTrunklineByLoadCar(trunklineCarsLoadScanEntities, listByLoadId); if (nodeInfoVO != null) { nodeInfoVOList.add(nodeInfoVO); } // 干线到达 - nodeInfoVO = buildTrunklineByUnLoadCar(trunklineCarsLoadScanEntities, key); + nodeInfoVO = buildTrunklineByUnLoadCar(trunklineCarsLoadScanEntities, listByLoadId); if (nodeInfoVO != null) { nodeInfoVOList.add(nodeInfoVO); } @@ -330,45 +351,60 @@ public class LogpmDataSearchServiceImpl implements ILogpmDataSearchService { int signNum = signListByWaybillNumber.stream().filter(t-> t.getSignNum()!=null).mapToInt(QualityDeliverEntity::getSignNum).sum(); // 配送装车 - QualityDeliverEntity qualityDeliverEntity = signListByWaybillNumber.get(0); +// QualityDeliverEntity qualityDeliverEntity = signListByWaybillNumber.get(0); if (loadNum != 0) { - nodeInfoVO = new NodeInfoVO(); - nodeInfoVO.setOperateName("配送装车"); - nodeInfoVO.setOperateNumber(loadNum + ""); - nodeInfoVO.setOperateWarehouseName(qualityDeliverEntity.getWarehouseName()); - nodeInfoVO.setOperateTime(qualityDeliverEntity.getCreateTime()); - // 增加网点电话 - BasicdataWarehouseEntity entityWarehouseId = basicdataWarehouseClient.getEntityWarehouseId(qualityDeliverEntity.getWarehouseId()); - if (entityWarehouseId != null) { - nodeInfoVO.setOperateWarehousePhone(entityWarehouseId.getContactNumber()); + QualityDeliverEntity qualityDeliverEntity = signListByWaybillNumber.stream().filter(e -> e.getLoadTime() != null).findFirst().orElse(null); + + if(qualityDeliverEntity != null){ + nodeInfoVO = new NodeInfoVO(); + nodeInfoVO.setOperateName("配送装车"); + nodeInfoVO.setOperateNumber(loadNum + ""); + nodeInfoVO.setOperateWarehouseName(qualityDeliverEntity.getWarehouseName()); + nodeInfoVO.setOperateTime(qualityDeliverEntity.getLoadTime()); + // 增加网点电话 + BasicdataWarehouseEntity entityWarehouseId = basicdataWarehouseClient.getEntityWarehouseId(qualityDeliverEntity.getWarehouseId()); + if (entityWarehouseId != null) { + nodeInfoVO.setOperateWarehousePhone(entityWarehouseId.getContactNumber()); + } + + nodeInfoVOList.add(nodeInfoVO); } - nodeInfoVOList.add(nodeInfoVO); + } - if (planNum != 0) { - nodeInfoVO = new NodeInfoVO(); - nodeInfoVO.setOperateName("配送签收"); - nodeInfoVO.setOperateNumber(signNum + "/" + loadNum); - nodeInfoVO.setOperateWarehouseName(qualityDeliverEntity.getWarehouseName()); - nodeInfoVO.setOperateTime(qualityDeliverEntity.getCreateTime()); - // 增加网点电话 - BasicdataWarehouseEntity entityWarehouseId = basicdataWarehouseClient.getEntityWarehouseId(qualityDeliverEntity.getWarehouseId()); - if (entityWarehouseId != null) { - nodeInfoVO.setOperateWarehousePhone(entityWarehouseId.getContactNumber()); + if (signNum != 0) { + + QualityDeliverEntity qualityDeliverEntity = signListByWaybillNumber.stream().filter(e -> e.getSignTime() != null).findFirst().orElse(null); + + if(qualityDeliverEntity != null){ + nodeInfoVO = new NodeInfoVO(); + nodeInfoVO.setOperateName("配送签收"); + nodeInfoVO.setOperateNumber(signNum + "/" + loadNum); + nodeInfoVO.setOperateWarehouseName(qualityDeliverEntity.getWarehouseName()); + nodeInfoVO.setOperateTime(qualityDeliverEntity.getSignTime()); + // 增加网点电话 + BasicdataWarehouseEntity entityWarehouseId = basicdataWarehouseClient.getEntityWarehouseId(qualityDeliverEntity.getWarehouseId()); + if (entityWarehouseId != null) { + nodeInfoVO.setOperateWarehousePhone(entityWarehouseId.getContactNumber()); + } + nodeInfoVOList.add(nodeInfoVO); } - nodeInfoVOList.add(nodeInfoVO); + } } + //对nodeInfoVOList集合中的作业时间 按照 时间倒序排序 + nodeInfoVOList.sort(Comparator.comparing(NodeInfoVO::getOperateTime).reversed()); + result.setNodeInfoVOList(nodeInfoVOList); // 配送签收 return result; } - private NodeInfoVO buildTrunklineByUnLoadCar(List trunklineCarsLoadScanEntities, String key) { + private NodeInfoVO buildTrunklineByUnLoadCar(List trunklineCarsLoadScanEntities, List listByLoadId ) { // 获取卸车集合 List collect = trunklineCarsLoadScanEntities.stream().filter(t -> t.getScanStatus().equals("2")).collect(Collectors.toList()); @@ -376,17 +412,29 @@ public class LogpmDataSearchServiceImpl implements ILogpmDataSearchService { if (collect.isEmpty()) { return null; } + + if(listByLoadId.isEmpty()){ + return null; + } + + // 判断该卸车作业节点 TrunklineCarsLoadScanEntity trunklineCarsLoadScanEntity = collect.get(0); + TrunklineCarsLoadLineEntity trunklineCarsLoadLineEntity = listByLoadId.stream().filter(t -> t.getNodeName().equals(trunklineCarsLoadScanEntity.getUnloadNodeName())).findFirst().orElse(null); + + if(trunklineCarsLoadLineEntity == null){ + return null; + } + NodeInfoVO nodeInfoVO = new NodeInfoVO(); nodeInfoVO.setOperateName("干线到达"); nodeInfoVO.setOperateNumber(collect.size() + ""); nodeInfoVO.setOperateWarehouseName(trunklineCarsLoadScanEntity.getUnloadNodeName()); - nodeInfoVO.setOperateTime(trunklineCarsLoadScanEntity.getCreateTime()); + nodeInfoVO.setOperateTime(trunklineCarsLoadLineEntity.getArriveDate()); return nodeInfoVO; } - private NodeInfoVO buildTrunklineByLoadCar(List trunklineCarsLoadScanEntities, String key) { + private NodeInfoVO buildTrunklineByLoadCar(List trunklineCarsLoadScanEntities, List listByLoadId ) { // 判断trunklineCarsLoadScanEntities 中 warehouseId 不是null的集合 log.info(">>> trunklineCarsLoadScanEntities ={}",trunklineCarsLoadScanEntities); @@ -396,11 +444,18 @@ public class LogpmDataSearchServiceImpl implements ILogpmDataSearchService { return null; } TrunklineCarsLoadScanEntity trunklineCarsLoadScanEntity = collect.get(0); + + TrunklineCarsLoadLineEntity trunklineCarsLoadLineEntity = listByLoadId.stream().filter(t -> t.getNodeName().equals(trunklineCarsLoadScanEntity.getWarehouseName())).findFirst().orElse(null); + + if(trunklineCarsLoadLineEntity == null){ + return null; + } + NodeInfoVO nodeInfoVO = new NodeInfoVO(); nodeInfoVO.setOperateName("干线发车"); nodeInfoVO.setOperateNumber(collect.size() + ""); nodeInfoVO.setOperateWarehouseName(trunklineCarsLoadScanEntity.getWarehouseName()); - nodeInfoVO.setOperateTime(trunklineCarsLoadScanEntity.getUnloadTime()); + nodeInfoVO.setOperateTime(trunklineCarsLoadLineEntity.getStartDate()); return nodeInfoVO; } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionSignforMapper.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionSignforMapper.java index 9d8cc30d7..424d97e50 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionSignforMapper.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionSignforMapper.java @@ -495,4 +495,6 @@ public interface DistributionSignforMapper extends BaseMapper + + + UPDATE logpm_distribution_signfor SET + signee_name = #{user.nickName}, + signee_id = #{user.userId}, + received_quantity = ( received_quantity + #{nub} ) + WHERE + is_deleted =0 and delivery_id = #{deliveryId} and reservation_id = #{reservationId} + + DELETE FROM logpm_distribution_signfor diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java index 32706b204..b11d4c9db 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java @@ -10641,7 +10641,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl distributionParcelListEntities = distributionReservationMapper.selectPackageListByReservationId(reservationId); @@ -3894,16 +3896,16 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl 0) { - reservationEntity.setLoadingStatus(ReservationLoadingStatusConstant.bufenzhuangche.getValue()); + updateEntity.setLoadingStatus(ReservationLoadingStatusConstant.bufenzhuangche.getValue()); } if (loadingNum == 0) { - reservationEntity.setLoadingStatus(ReservationLoadingStatusConstant.daizhuangche.getValue()); + updateEntity.setLoadingStatus(ReservationLoadingStatusConstant.daizhuangche.getValue()); } } } @@ -3912,28 +3914,28 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl 0) { - reservationEntity.setSigningStatus(ReservationSigningStatusConstant.bufenqianshou.getValue()); + updateEntity.setSigningStatus(ReservationSigningStatusConstant.bufenqianshou.getValue()); } if (signingNum == 0) { - reservationEntity.setSigningStatus(ReservationSigningStatusConstant.daiqianshou.getValue()); + updateEntity.setSigningStatus(ReservationSigningStatusConstant.daiqianshou.getValue()); } if (stockUpStatus) { - reservationEntity.setStockStatus(ReservationStockupStatusConstant.yibeihuo.getValue()); + updateEntity.setStockStatus(ReservationStockupStatusConstant.yibeihuo.getValue()); } else { //判断是否都为完成签收 Integer stockNum = distributionStockMapper.selectStockNumByReservationId(reservationId); //判断当前客户是否签收完成了 if (stockNum > 0) { - reservationEntity.setStockStatus(ReservationStockupStatusConstant.daibeihuo.getValue()); + updateEntity.setStockStatus(ReservationStockupStatusConstant.daibeihuo.getValue()); } else { - reservationEntity.setStockStatus(ReservationStockupStatusConstant.weibeihuo.getValue()); + updateEntity.setStockStatus(ReservationStockupStatusConstant.weibeihuo.getValue()); } } if ((reservationEntity.getReservationNum() + reservationEntity.getReservationStockListNum()) == 0) { - reservationEntity.setReservationStatus(ReservationStatusConstant.yiquexiao.getValue()); + updateEntity.setReservationStatus(ReservationStatusConstant.yiquexiao.getValue()); } - this.updateById(reservationEntity); + this.updateById(updateEntity); } } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java index fd5b1563c..97a14bcea 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java @@ -4377,10 +4377,12 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl rePush(String param) throws Exception { + // 查出数据,回推工厂 + List list = factoryNodePushService.list(Wrappers.lambdaQuery() + .eq(FactoryNodePushEntity::getReserve1, "0").last(" limit 1")); + if (CollUtil.isNotEmpty(list)) { + FactoryNodePushEntity factoryNodePushEntity = list.get(0); + String content = factoryNodePushEntity.getContent(); + JSONObject entries = JSONUtil.parseObj(content); + entries.set("passSite", entries.getStr("endSite")); + entries.set("sendSite", entries.getStr("endSite")); + String url = jinPaiProperties.getOldSystemHost() + jinPaiProperties.getOldSystemArrivedUrl(); + log.info("字段缺失重新推送:{}", JSONUtil.toJsonStr(entries)); + String result = HttpUtil.post(url, JSONUtil.toJsonStr(entries)); + FactoryNodePushEntity factoryNodePushEntity1 = new FactoryNodePushEntity(); + factoryNodePushEntity1.setContent(JSONUtil.toJsonStr(entries)); + factoryNodePushEntity1.setId(factoryNodePushEntity.getId()); + factoryNodePushEntity1.setReserve1("1"); + factoryNodePushEntity1.setResultContent(result); + factoryNodePushService.updateById(factoryNodePushEntity1); + List list1 = factoryNodePushService.list(Wrappers.lambdaQuery() + .eq(FactoryNodePushEntity::getTransportNo, factoryNodePushEntity.getTransportNo()) + .eq(FactoryNodePushEntity::getOrderCode, factoryNodePushEntity.getOrderCode())); + if(CollUtil.isNotEmpty(list1)){ + for (FactoryNodePushEntity nodePushEntity : list1) { + String content1 = nodePushEntity.getContent(); + String url1 = jinPaiProperties.getOldSystemHost() + jinPaiProperties.getOldSystemAlreadyStockedUrl(); + log.info("字段缺失重新推送:{}", JSONUtil.toJsonStr(entries)); + String result1 = HttpUtil.post(url1, content1); + FactoryNodePushEntity factoryNodePushEntity2 = new FactoryNodePushEntity(); + factoryNodePushEntity2.setResultContent(result1); + factoryNodePushEntity2.setId(nodePushEntity.getId()); + factoryNodePushService.updateById(factoryNodePushEntity2); + } + } + } + return ReturnT.SUCCESS; + } + } diff --git a/blade-service/logpm-factory-data/logpm-factory-data-jinpai/src/main/java/com/logpm/factorydata/jinpai/mq/NodeDataPushListener.java b/blade-service/logpm-factory-data/logpm-factory-data-jinpai/src/main/java/com/logpm/factorydata/jinpai/mq/NodeDataPushListener.java index 4369248d9..443ff971e 100644 --- a/blade-service/logpm-factory-data/logpm-factory-data-jinpai/src/main/java/com/logpm/factorydata/jinpai/mq/NodeDataPushListener.java +++ b/blade-service/logpm-factory-data/logpm-factory-data-jinpai/src/main/java/com/logpm/factorydata/jinpai/mq/NodeDataPushListener.java @@ -250,9 +250,17 @@ public class NodeDataPushListener { js.set("doType", 32); js.set("doLocation", ""); js.set("doTime", entries.getStr("operatorTime")); - js.set("sendSite", filterDatum.getWaybillStartWarehouse()); + if (StrUtil.isNotEmpty(filterDatum.getWaybillStartWarehouse())) { + js.set("sendSite", filterDatum.getWaybillStartWarehouse()); + } else { + js.set("sendSite", filterDatum.getWarehouseName()); + } js.set("endSite", filterDatum.getWarehouseName()); - js.set("passSite", filterDatum.getDestinationWarehouse()); + if (StrUtil.isNotEmpty(filterDatum.getDestinationWarehouse())) { + js.set("passSite", filterDatum.getDestinationWarehouse()); + } else { + js.set("passSite", filterDatum.getWarehouseName()); + } js.set("doRemark", ""); js.set("reqSn", (RandomUtil.randomLong(100000000000000000L, 999999999999999999L)) + ""); js.set("syscode", "huitong"); @@ -297,9 +305,9 @@ public class NodeDataPushListener { .content(objects) .build(); factoryDataClient.sendMessage(SendMsg.builder() - .exchange(FactoryDataConstants.Mq.Exchanges.NODE_DATA_PUSH_DELAYED) - .routingKey(FactoryDataConstants.Mq.RoutingKeys.JP_NODE_DATA_PUSH) - .message(JSONUtil.toJsonStr(nodePushMsg, HutoolConfigUtil.jsonConfigByDataTimeFormat())) + .exchange(FactoryDataConstants.Mq.Exchanges.NODE_DATA_PUSH_DELAYED) + .routingKey(FactoryDataConstants.Mq.RoutingKeys.JP_NODE_DATA_PUSH) + .message(JSONUtil.toJsonStr(nodePushMsg, HutoolConfigUtil.jsonConfigByDataTimeFormat())) // 30-109秒随机 .delay(1000 * RandomUtil.randomInt(30, 110)) .build()); diff --git a/blade-service/logpm-factory-data/logpm-factory-data-suofeiya/src/main/java/com/logpm/factorydata/suofeiya/entity/FactoryNodePushEntity.java b/blade-service/logpm-factory-data/logpm-factory-data-suofeiya/src/main/java/com/logpm/factorydata/suofeiya/entity/FactoryNodePushEntity.java new file mode 100644 index 000000000..b5227b823 --- /dev/null +++ b/blade-service/logpm-factory-data/logpm-factory-data-suofeiya/src/main/java/com/logpm/factorydata/suofeiya/entity/FactoryNodePushEntity.java @@ -0,0 +1,124 @@ +package com.logpm.factorydata.suofeiya.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import org.springblade.core.mp.base.BaseEntity; + +/** + * 索菲亚工厂节点数据推送记录表 + * + * @Author zqb + * @Date 2024/3/26 + **/ +@Builder +@Data +@TableName("sfy_factory_node_push") +@ApiModel(value = "索菲亚工厂节点数据推送记录表", description = "索菲亚工厂节点数据推送记录表") +@EqualsAndHashCode(callSuper = true) +@NoArgsConstructor +@AllArgsConstructor +public class FactoryNodePushEntity extends BaseEntity { + + /** + * 预留1 + */ + @ApiModelProperty(value = "预留1") + private String reserve1; + /** + * 预留2 + */ + @ApiModelProperty(value = "预留2") + private String reserve2; + /** + * 预留3 + */ + @ApiModelProperty(value = "预留3") + private String reserve3; + /** + * 预留4 + */ + @ApiModelProperty(value = "预留4") + private String reserve4; + /** + * 预留5 + */ + @ApiModelProperty(value = "预留5") + private String reserve5; + /** + * 订单类型 + */ + @ApiModelProperty(value = "订单类型") + private String orderType; + /** + * 操作节点 + */ + @ApiModelProperty(value = "操作节点") + private String logisticsStatus; + /** + * 包条码 + */ + @ApiModelProperty(value = "包条码") + private String packageCode; + /** + * 发货单号 + */ + @ApiModelProperty(value = "发货单号") + private String shipPlanNo; + /** + * 公司 + */ + @ApiModelProperty(value = "公司") + private String companyCode; + /** + * 时间戳 + */ + @ApiModelProperty(value = "时间戳") + private Long timestamp; + /** + * 加密字符 + */ + @ApiModelProperty(value = "加密字符") + private String digest; + /** + * 发送状态 + */ + @ApiModelProperty(value = "发送状态(0:成功,-1:失败,1:取消)") + private String sendStatus; + /** + * 加密秘钥 + */ + @ApiModelProperty(value = "加密秘钥") + private String appKey; + /** + * url + */ + @ApiModelProperty(value = "url") + private String sendUrl; + /** + * 内容 + */ + @ApiModelProperty(value = "内容") + private String content; + /** + * 返回值 + */ + @ApiModelProperty(value = "返回值") + private String resultContent; + /** + * 租户 + */ + @ApiModelProperty(value = "租户") + private String tenantCode; + /** + * 作业仓库 + */ + @ApiModelProperty(value = "作业仓库") + private String warehouse; + +} diff --git a/blade-service/logpm-factory-data/logpm-factory-data-suofeiya/src/main/java/com/logpm/factorydata/suofeiya/mapper/FactoryNodePushMapper.java b/blade-service/logpm-factory-data/logpm-factory-data-suofeiya/src/main/java/com/logpm/factorydata/suofeiya/mapper/FactoryNodePushMapper.java new file mode 100644 index 000000000..cb2764a83 --- /dev/null +++ b/blade-service/logpm-factory-data/logpm-factory-data-suofeiya/src/main/java/com/logpm/factorydata/suofeiya/mapper/FactoryNodePushMapper.java @@ -0,0 +1,16 @@ +package com.logpm.factorydata.suofeiya.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.logpm.factorydata.suofeiya.entity.FactoryNodePushEntity; +import org.apache.ibatis.annotations.Mapper; + +/** + * 索菲亚工厂节点数据推送记录表 mapper + * + * @author zqb + * @since 2024-03-26 + */ +@Mapper +public interface FactoryNodePushMapper extends BaseMapper { + +} diff --git a/blade-service/logpm-factory-data/logpm-factory-data-suofeiya/src/main/java/com/logpm/factorydata/suofeiya/mapper/FactoryNodePushMapper.xml b/blade-service/logpm-factory-data/logpm-factory-data-suofeiya/src/main/java/com/logpm/factorydata/suofeiya/mapper/FactoryNodePushMapper.xml new file mode 100644 index 000000000..54c5c4e9c --- /dev/null +++ b/blade-service/logpm-factory-data/logpm-factory-data-suofeiya/src/main/java/com/logpm/factorydata/suofeiya/mapper/FactoryNodePushMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/blade-service/logpm-factory-data/logpm-factory-data-suofeiya/src/main/java/com/logpm/factorydata/suofeiya/service/FactoryNodePushService.java b/blade-service/logpm-factory-data/logpm-factory-data-suofeiya/src/main/java/com/logpm/factorydata/suofeiya/service/FactoryNodePushService.java new file mode 100644 index 000000000..c9ecaf7b0 --- /dev/null +++ b/blade-service/logpm-factory-data/logpm-factory-data-suofeiya/src/main/java/com/logpm/factorydata/suofeiya/service/FactoryNodePushService.java @@ -0,0 +1,14 @@ +package com.logpm.factorydata.suofeiya.service; + +import com.logpm.factorydata.suofeiya.entity.FactoryNodePushEntity; +import org.springblade.core.mp.base.BaseService; + +/** + * 索菲亚工厂节点数据推送记录表 服务类 + * + * @Author zqb + * @Date 2024/4/26 + **/ +public interface FactoryNodePushService extends BaseService { + +} diff --git a/blade-service/logpm-factory-data/logpm-factory-data-suofeiya/src/main/java/com/logpm/factorydata/suofeiya/service/impl/FactoryDataServiceImpl.java b/blade-service/logpm-factory-data/logpm-factory-data-suofeiya/src/main/java/com/logpm/factorydata/suofeiya/service/impl/FactoryDataServiceImpl.java index 78a6ee866..aaf0c3da6 100644 --- a/blade-service/logpm-factory-data/logpm-factory-data-suofeiya/src/main/java/com/logpm/factorydata/suofeiya/service/impl/FactoryDataServiceImpl.java +++ b/blade-service/logpm-factory-data/logpm-factory-data-suofeiya/src/main/java/com/logpm/factorydata/suofeiya/service/impl/FactoryDataServiceImpl.java @@ -18,6 +18,7 @@ import cn.hutool.json.JSONUtil; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.logpm.factorydata.enums.SaxStatusEnums; import com.logpm.factorydata.suofeiya.entity.DeliveryNoteEntity; +import com.logpm.factorydata.suofeiya.entity.FactoryNodePushEntity; import com.logpm.factorydata.suofeiya.entity.FactoryOrderLogEntity; import com.logpm.factorydata.suofeiya.entity.OrderInfoEntity; import com.logpm.factorydata.suofeiya.entity.PackageInfoEntity; @@ -28,6 +29,7 @@ import com.logpm.factorydata.suofeiya.pros.FactoryDataSuoFeiYaProperties; import com.logpm.factorydata.suofeiya.pros.OldProperties; import com.logpm.factorydata.suofeiya.service.DeliveryNoteService; import com.logpm.factorydata.suofeiya.service.FactoryDataService; +import com.logpm.factorydata.suofeiya.service.FactoryNodePushService; import com.logpm.factorydata.suofeiya.service.FactoryOrderLogService; import com.logpm.factorydata.suofeiya.service.OrderInfoService; import com.logpm.factorydata.suofeiya.service.PackageInfoService; @@ -68,6 +70,7 @@ public class FactoryDataServiceImpl implements FactoryDataService { private final FactoryOrderLogService logService; private final OldProperties oldProperties; private final FactoryDataSuoFeiYaProperties dataSuoFeiYaProperties; + private final FactoryNodePushService factoryNodePushService; @Override @Transactional(rollbackFor = Exception.class) @@ -198,6 +201,7 @@ public class FactoryDataServiceImpl implements FactoryDataService { // 按订单号和运单号进行分组 if (CollUtil.isNotEmpty(content)) { for (Map.Entry> entry : packageCodeMap.entrySet()) { + FactoryNodePushEntity nodePushEntity = new FactoryNodePushEntity(); String key = entry.getKey(); Set value = entry.getValue(); JSONObject jsons = new JSONObject(); @@ -221,11 +225,23 @@ public class FactoryDataServiceImpl implements FactoryDataService { packages.add(js); } } + if (CollUtil.isNotEmpty(packages)) { + String paNo = packages.stream().map(i -> i.getStr("paNo")).collect(Collectors.joining(",")); + nodePushEntity.setPackageCode(paNo); + } jsons.set("packageInfo", new JSONArray(packages)); - if(StrUtil.equals(key, "Z")){ + if (StrUtil.equals(key, "Z")) { jsons.set("orderType", key); + nodePushEntity.setOrderType(key); } + nodePushEntity.setLogisticsStatus(factoryNode.getText()); String jsonStr = JSONUtil.toJsonStr(jsons); + nodePushEntity.setContent(jsonStr); + nodePushEntity.setTenantCode(AuthUtil.getTenantId()); + nodePushEntity.setAppKey(appKey); + nodePushEntity.setCompanyCode(companyCode); + nodePushEntity.setTimestamp(time); + nodePushEntity.setWarehouse(entries.getStr("warehouse")); if (oldProperties.getEnable()) { try { log.info("推送节点数据:{}", jsonStr); @@ -238,7 +254,7 @@ public class FactoryDataServiceImpl implements FactoryDataService { } if (dataSuoFeiYaProperties.getPush().getPushEnable()) { String paStatusUrl = dataSuoFeiYaProperties.getPush().getPaStatusUrl(); - sendFactory(companyCode, jsonStr, time, appKey, paStatusUrl); + sendFactory(companyCode, jsonStr, time, appKey, paStatusUrl, nodePushEntity); } } } @@ -246,6 +262,7 @@ public class FactoryDataServiceImpl implements FactoryDataService { // 推送配送单计划 if (CollUtil.isNotEmpty(content)) { for (Map.Entry> entry : packageCodeMap.entrySet()) { + FactoryNodePushEntity nodePushEntity = new FactoryNodePushEntity(); String key = entry.getKey(); Set value = entry.getValue(); JSONObject jsons = new JSONObject(); @@ -262,9 +279,14 @@ public class FactoryDataServiceImpl implements FactoryDataService { packages.add(pushData.getPackageCode()); } } + if (CollUtil.isNotEmpty(packages)) { + String paNo = packages.stream().collect(Collectors.joining(",")); + nodePushEntity.setPackageCode(paNo); + } if (StrUtil.isNotEmpty(main)) { JSONObject jsonObject = JSONUtil.parseObj(main); jsons.set("shipPlanNo", jsonObject.getStr("trainNumber")); + nodePushEntity.setShipPlanNo(jsonObject.getStr("trainNumber")); jsons.set("receiver", jsonObject.getStr("receiver")); jsons.set("receiveAddr", jsonObject.getStr("receiveAddr")); jsons.set("receiveTel", jsonObject.getStr("receiveTel")); @@ -273,10 +295,18 @@ public class FactoryDataServiceImpl implements FactoryDataService { jsons.set("paNo", JSONUtil.toJsonStr(packages)); jsons.set("remark", ""); jsons.set("orderExtendFields", new JSONArray()); - if(StrUtil.equals(key, "Z")){ + if (StrUtil.equals(key, "Z")) { jsons.set("orderType", key); + nodePushEntity.setOrderType(key); } + nodePushEntity.setLogisticsStatus(factoryNode.getText()); String jsonStr = JSONUtil.toJsonStr(jsons); + nodePushEntity.setContent(jsonStr); + nodePushEntity.setTenantCode(AuthUtil.getTenantId()); + nodePushEntity.setAppKey(appKey); + nodePushEntity.setCompanyCode(companyCode); + nodePushEntity.setTimestamp(time); + nodePushEntity.setWarehouse(entries.getStr("warehouse")); if (oldProperties.getEnable()) { try { log.info("推送节点数据:{}", jsonStr); @@ -289,14 +319,14 @@ public class FactoryDataServiceImpl implements FactoryDataService { } if (dataSuoFeiYaProperties.getPush().getPushEnable()) { String paStatusUrl = dataSuoFeiYaProperties.getPush().getShipPlanUrl(); - sendFactory(companyCode, jsonStr, time, appKey, paStatusUrl); + sendFactory(companyCode, jsonStr, time, appKey, paStatusUrl, nodePushEntity); } } } } } - private void sendFactory(String companyCode, String jsonStr, Long time, String appKey, String paStatusUrl) { + private void sendFactory(String companyCode, String jsonStr, Long time, String appKey, String paStatusUrl, FactoryNodePushEntity nodePushEntity) { try { Map param = new HashMap<>(); param.put("companyCode", companyCode); @@ -306,8 +336,18 @@ public class FactoryDataServiceImpl implements FactoryDataService { String digest = MD5.create().digestHex(jsonStr + appKey + time); String encode = Base64.encode(digest); param.put("digest", encode); + nodePushEntity.setDigest(digest); + nodePushEntity.setSendUrl(dataSuoFeiYaProperties.getPush().getPushHost() + paStatusUrl); log.info("推送节点数据:{}", JSONUtil.toJsonStr(param)); String post = HttpUtil.post(dataSuoFeiYaProperties.getPush().getPushHost() + paStatusUrl, param); + nodePushEntity.setResultContent(post); + JSONObject entries = JSONUtil.parseObj(post); + if (StrUtil.equals(entries.getStr("result_code"), "0000")) { + nodePushEntity.setSendStatus("0"); + } else { + nodePushEntity.setSendStatus("-1"); + } + factoryNodePushService.save(nodePushEntity); log.info("推送结果:{}", post); } catch (Exception e) { e.printStackTrace(); diff --git a/blade-service/logpm-factory-data/logpm-factory-data-suofeiya/src/main/java/com/logpm/factorydata/suofeiya/service/impl/FactoryNodePushServiceImpl.java b/blade-service/logpm-factory-data/logpm-factory-data-suofeiya/src/main/java/com/logpm/factorydata/suofeiya/service/impl/FactoryNodePushServiceImpl.java new file mode 100644 index 000000000..db6b3bbb2 --- /dev/null +++ b/blade-service/logpm-factory-data/logpm-factory-data-suofeiya/src/main/java/com/logpm/factorydata/suofeiya/service/impl/FactoryNodePushServiceImpl.java @@ -0,0 +1,22 @@ +package com.logpm.factorydata.suofeiya.service.impl; + +import com.logpm.factorydata.suofeiya.entity.FactoryNodePushEntity; +import com.logpm.factorydata.suofeiya.mapper.FactoryNodePushMapper; +import com.logpm.factorydata.suofeiya.service.FactoryNodePushService; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springblade.core.mp.base.BaseServiceImpl; +import org.springframework.stereotype.Service; + +/** + * 索菲亚工厂节点数据推送记录表 业务实现类 + * + * @Author zqb + * @Date 2024/4/26 + **/ +@Slf4j +@Service +@AllArgsConstructor +public class FactoryNodePushServiceImpl extends BaseServiceImpl implements FactoryNodePushService { + +} diff --git a/blade-service/logpm-report/src/main/java/com/logpm/report/vo/ReportPackgeStartTimeVO.java b/blade-service/logpm-report/src/main/java/com/logpm/report/vo/ReportPackgeStartTimeVO.java index 78f4824f2..ca616d7f9 100644 --- a/blade-service/logpm-report/src/main/java/com/logpm/report/vo/ReportPackgeStartTimeVO.java +++ b/blade-service/logpm-report/src/main/java/com/logpm/report/vo/ReportPackgeStartTimeVO.java @@ -28,7 +28,7 @@ public class ReportPackgeStartTimeVO implements Serializable { @ExcelProperty(value = "未发运件数") private Integer noOutNum; - @ExcelProperty(value = "为发运超时件数") + @ExcelProperty(value = "未发运超时件数") private Integer noOutOverNum; @ExcelProperty(value = "准时发运件数") diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/feign/TrunklineCarsLoadLineClient.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/feign/TrunklineCarsLoadLineClient.java new file mode 100644 index 000000000..3419e9ce3 --- /dev/null +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/feign/TrunklineCarsLoadLineClient.java @@ -0,0 +1,20 @@ +package com.logpm.trunkline.feign; + +import com.logpm.trunkline.entity.TrunklineCarsLoadLineEntity; +import com.logpm.trunkline.service.ITrunklineCarsLoadLineService; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; +@Slf4j +@RestController +@AllArgsConstructor +public class TrunklineCarsLoadLineClient implements ITrunklineCarsLoadLineClient { + + private final ITrunklineCarsLoadLineService trunklineCarsLoadLineService; + @Override + public List findListByLoadId(Long loadId) { + return trunklineCarsLoadLineService.findListByLoadId(loadId); + } +} diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/AdvanceOrderMqServiceImpl.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/AdvanceOrderMqServiceImpl.java index cbd594d5d..dc3f75a02 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/AdvanceOrderMqServiceImpl.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/AdvanceOrderMqServiceImpl.java @@ -108,6 +108,8 @@ public class AdvanceOrderMqServiceImpl implements IAdvanceOrderMqService { advanceEntity.setCreateUserName(AuthUtil.getNickName()); advanceService.save(advanceEntity); } else { + advanceEntity.setWaybillStatus(null); + advanceEntity.setWaybillNo(null); advanceService.updateById(advanceEntity); } } diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderServiceImpl.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderServiceImpl.java index 777075b10..deb195aea 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderServiceImpl.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderServiceImpl.java @@ -636,7 +636,7 @@ public class OpenOrderServiceImpl implements IOpenOrderService { //如果发货单位没有id值,则把发货单位信息自动添加到client中 BasicdataClientEntity clientEntity = basicdataClientClient.findByName(shipper); if(Objects.isNull(clientEntity)){ - shipperId = saveNewClient(openOrderDTO.getShipper(), openOrderDTO.getShipperName(), openOrderDTO.getShipperMobile(), openOrderDTO.getShipperAddress(), "6"); + shipperId = saveNewClient(openOrderDTO.getShipper(), openOrderDTO.getShipperName(), openOrderDTO.getShipperMobile(), openOrderDTO.getShipperAddress(), "7"); }else{ shipperId = clientEntity.getId(); } @@ -654,7 +654,7 @@ public class OpenOrderServiceImpl implements IOpenOrderService { //如果收货单位没有id值,则把收货单位信息自动添加到client中 BasicdataClientEntity clientEntity = basicdataClientClient.findByName(consignee); if(Objects.isNull(clientEntity)){ - consigneeId = saveNewClient(openOrderDTO.getConsignee(), openOrderDTO.getConsigneeName(), openOrderDTO.getConsigneeMobile(), openOrderDTO.getConsigneeAddress(), "2"); + consigneeId = saveNewClient(openOrderDTO.getConsignee(), openOrderDTO.getConsigneeName(), openOrderDTO.getConsigneeMobile(), openOrderDTO.getConsigneeAddress(), "7"); }else{ consigneeId = clientEntity.getId(); } @@ -802,6 +802,7 @@ public class OpenOrderServiceImpl implements IOpenOrderService { //绑定订单和运单的关系 List advanceEntityList = advanceService.findListByIds(advanceIds); List waybillOrderEntities = new ArrayList<>(); + List updateAdvanceEntityList = new ArrayList<>(); Set orderCodeSet = new HashSet<>(); for (TrunklineAdvanceEntity advanceEntity : advanceEntityList) { orderCodeSet.add(advanceEntity.getOrderCode()); @@ -824,13 +825,16 @@ public class OpenOrderServiceImpl implements IOpenOrderService { waybillOrderEntities.add(waybillOrderEntity); // orderCodes.add(advanceEntity.getOrderCode()); - advanceEntity.setWaybillStatus("1"); - advanceEntity.setWaybillNo(waybillNo); + TrunklineAdvanceEntity updateAdvanceEntity = new TrunklineAdvanceEntity(); + updateAdvanceEntity.setId(advanceId); + updateAdvanceEntity.setWaybillStatus("1"); + updateAdvanceEntity.setWaybillNo(waybillNo); + updateAdvanceEntityList.add(updateAdvanceEntity); } trunklineWaybillOrderService.saveBatch(waybillOrderEntities); //修改暂存单的状态为已开单 - advanceService.updateBatchById(advanceEntityList); + advanceService.updateBatchById(updateAdvanceEntityList); //更新暂存单包件的运单信息 @@ -1010,7 +1014,7 @@ public class OpenOrderServiceImpl implements IOpenOrderService { //如果发货单位没有id值,则把发货单位信息自动添加到client中 BasicdataClientEntity clientEntity = basicdataClientClient.findByName(shipper); if(Objects.isNull(clientEntity)){ - shipperId = saveNewClient(openOrderDTO.getShipper(), openOrderDTO.getShipperName(), openOrderDTO.getShipperMobile(), openOrderDTO.getShipperAddress(), "6"); + shipperId = saveNewClient(openOrderDTO.getShipper(), openOrderDTO.getShipperName(), openOrderDTO.getShipperMobile(), openOrderDTO.getShipperAddress(), "7"); }else{ shipperId = clientEntity.getId(); } @@ -1028,7 +1032,7 @@ public class OpenOrderServiceImpl implements IOpenOrderService { //如果收货单位没有id值,则把收货单位信息自动添加到client中 BasicdataClientEntity clientEntity = basicdataClientClient.findByName(consignee); if(Objects.isNull(clientEntity)){ - consigneeId = saveNewClient(openOrderDTO.getConsignee(), openOrderDTO.getConsigneeName(), openOrderDTO.getConsigneeMobile(), openOrderDTO.getConsigneeAddress(), "2"); + consigneeId = saveNewClient(openOrderDTO.getConsignee(), openOrderDTO.getConsigneeName(), openOrderDTO.getConsigneeMobile(), openOrderDTO.getConsigneeAddress(), "7"); }else{ consigneeId = clientEntity.getId(); } @@ -4037,7 +4041,7 @@ public class OpenOrderServiceImpl implements IOpenOrderService { Long shipperId = openOrderDTO.getShipperId(); if (Objects.isNull(shipperId)) { //如果发货单位没有id值,则把发货单位信息自动添加到client中 - shipperId = saveNewClient(openOrderDTO.getShipper(), openOrderDTO.getShipperName(), openOrderDTO.getShipperMobile(), openOrderDTO.getShipperAddress(), "6"); + shipperId = saveNewClient(openOrderDTO.getShipper(), openOrderDTO.getShipperName(), openOrderDTO.getShipperMobile(), openOrderDTO.getShipperAddress(), "7"); } waybillEntity.setShipperId(shipperId); waybillEntity.setShipper(openOrderDTO.getShipper()); @@ -4048,7 +4052,7 @@ public class OpenOrderServiceImpl implements IOpenOrderService { Long consigneeId = openOrderDTO.getConsigneeId();//收货单位id if (Objects.isNull(consigneeId)) { //如果收货单位没有id值,则把收货单位信息自动添加到client中 - consigneeId = saveNewClient(openOrderDTO.getConsignee(), openOrderDTO.getConsigneeName(), openOrderDTO.getConsigneeMobile(), openOrderDTO.getConsigneeAddress(), "2"); + consigneeId = saveNewClient(openOrderDTO.getConsignee(), openOrderDTO.getConsigneeName(), openOrderDTO.getConsigneeMobile(), openOrderDTO.getConsigneeAddress(), "7"); } waybillEntity.setConsigneeId(consigneeId); waybillEntity.setConsignee(openOrderDTO.getConsignee()); @@ -5491,7 +5495,7 @@ public class OpenOrderServiceImpl implements IOpenOrderService { if(Objects.isNull(newShipperId)){ BasicdataClientEntity clientEntity = basicdataClientClient.findByName(newShipper); if(Objects.isNull(clientEntity)){ - newShipperId = saveNewClient(openOrderDTO.getShipper(), openOrderDTO.getShipperName(), openOrderDTO.getShipperMobile(), openOrderDTO.getShipperAddress(), "6"); + newShipperId = saveNewClient(openOrderDTO.getShipper(), openOrderDTO.getShipperName(), openOrderDTO.getShipperMobile(), openOrderDTO.getShipperAddress(), "7"); }else{ newShipperId = clientEntity.getId(); } @@ -5531,7 +5535,7 @@ public class OpenOrderServiceImpl implements IOpenOrderService { waybillEntity.setServiceType(1); BasicdataClientEntity clientEntity = basicdataClientClient.findByName(newConsignee); if(Objects.isNull(clientEntity)){ - newConsigneeId = saveNewClient(openOrderDTO.getConsignee(), openOrderDTO.getConsigneeName(), openOrderDTO.getConsigneeMobile(), openOrderDTO.getConsigneeAddress(), "2"); + newConsigneeId = saveNewClient(openOrderDTO.getConsignee(), openOrderDTO.getConsigneeName(), openOrderDTO.getConsigneeMobile(), openOrderDTO.getConsigneeAddress(), "7"); }else{ newConsigneeId = clientEntity.getId(); waybillEntity.setServiceType(clientEntity.getTypeService()); diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadServiceImpl.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadServiceImpl.java index d95e375b8..95e615eb5 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadServiceImpl.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadServiceImpl.java @@ -1598,11 +1598,14 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl lineCarsOrderList = carsLoadLineDTO.getAddList(); //把lineCarsOrderList中的所有运单号合并成一个集合 List waybillNos = lineCarsOrderList.stream().map(TrunklineCarsOrderDTO::getWaybillNo).collect(Collectors.toList()); - List freezeOrAbolishWaybillList = warehouseWaybillClient.findFreezeOrAbolishByWaybillNos(waybillNos); - if (!CollUtil.isEmpty(freezeOrAbolishWaybillList)) { - log.warn("##########saveNew: 运单有变动,请重新做计划"); - throw new CustomerException(400, "运单有变动,请重新做计划"); + if(!waybillNos.isEmpty()){ + List freezeOrAbolishWaybillList = warehouseWaybillClient.findFreezeOrAbolishByWaybillNos(waybillNos); + if (!CollUtil.isEmpty(freezeOrAbolishWaybillList)) { + log.warn("##########saveNew: 运单有变动,请重新做计划"); + throw new CustomerException(400, "运单有变动,请重新做计划"); + } } + for (TrunklineCarsOrderDTO carsOrderDTO : lineCarsOrderList) { Integer planNum = carsOrderDTO.getPlanNum(); String orderCode = carsOrderDTO.getOrderCode(); @@ -11645,11 +11648,13 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl