From d91f20ffe01c9853304098fde22b9f95f15e1929 Mon Sep 17 00:00:00 2001 From: PigBaoBei <2739175034@qq.com> Date: Mon, 10 Feb 2025 15:31:55 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=95=86=E9=85=8D?= =?UTF-8?q?=E7=BC=96=E8=BE=91=E6=8F=90=E7=A4=BA=E8=AF=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/DistributionDeliveryListServiceImpl.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) 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 844da09ee..ea7b62fe5 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 @@ -3168,11 +3168,11 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl { orderPackageNum.getAndAdd(p.getQuantity()); @@ -3197,11 +3197,11 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl Date: Mon, 10 Feb 2025 15:40:03 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E5=9B=9E=E5=BA=93=E7=BB=B4=E6=8A=A4?= =?UTF-8?q?=E9=A2=84=E7=BA=A6=E8=AE=A1=E5=88=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/DistributionAsyncServiceImpl.java | 26 ++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAsyncServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAsyncServiceImpl.java index ef7e9d2c7..62078a990 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAsyncServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAsyncServiceImpl.java @@ -893,8 +893,9 @@ public class DistributionAsyncServiceImpl implements IDistributionAsyncService { } //维护预约的预约数量 + maintenanceReservationStatus(reservationId); // maintenanceReservationPackageNum(reservationId); -// maintenanceDeliveryPackageNum(deliveryId); + maintenanceDeliveryPackageNum(deliveryId); } } @@ -1837,6 +1838,29 @@ public class DistributionAsyncServiceImpl implements IDistributionAsyncService { } } + private void maintenanceReservationStatus(Long reservationId) { + DistributionReservationEntity distributionReservationEntity = distributionReservationMapper.selectById(reservationId); + if (Func.isNotEmpty(distributionReservationEntity)) { + List distributionReservationStockarticleEntities = distributionReservationMapper.selectStockArticleByReservationId(distributionReservationEntity.getId()); + Integer planNum = 0; + if (Func.isNotEmpty(distributionReservationStockarticleEntities)) { + planNum += distributionReservationStockarticleEntities.stream().mapToInt(DistributionReservationStockarticleEntity::getReservationNum).sum(); + } + List distributionReservationStocklistEntities = distributionReservationMapper.selectStockListByReservationId(distributionReservationEntity.getId()); + if (Func.isNotEmpty(distributionReservationStocklistEntities)) { + //统计库存品数 + planNum += distributionReservationStocklistEntities.stream().mapToInt(DistributionReservationStocklistEntity::getReservationNum).sum(); + } + distributionReservationMapper.updateById(distributionReservationEntity); + if (planNum == 0 ) { + distributionReservationEntity.setIsDeleted(1); + distributionReservationEntity.setCancelReason("无计划数据,系统取消"); + distributionReservationEntity.setReservationStatus(ReservationStatusConstant.yiquexiao.getValue()); + distributionReservationMapper.updateById(distributionReservationEntity); + } + } + } + // @Transactional private void checkReservationAndDeliverySigningStatus(Long reservationId, Long deliveryId) { //维护客户签收状态 From e8e260ce12cabba05f6676232034a3dc7b56d38c Mon Sep 17 00:00:00 2001 From: PigBaoBei <2739175034@qq.com> Date: Mon, 10 Feb 2025 15:45:06 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E5=9B=9E=E5=BA=93=E7=BB=B4=E6=8A=A4?= =?UTF-8?q?=E9=A2=84=E7=BA=A6=E8=AE=A1=E5=88=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/DistributionAsyncServiceImpl.java | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAsyncServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAsyncServiceImpl.java index 62078a990..1a0c596ca 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAsyncServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAsyncServiceImpl.java @@ -893,7 +893,7 @@ public class DistributionAsyncServiceImpl implements IDistributionAsyncService { } //维护预约的预约数量 - maintenanceReservationStatus(reservationId); + maintenanceReservationStatus(reservationId,deliveryId); // maintenanceReservationPackageNum(reservationId); maintenanceDeliveryPackageNum(deliveryId); } @@ -1805,6 +1805,19 @@ public class DistributionAsyncServiceImpl implements IDistributionAsyncService { } } } + private void maintenanceDeliveryStatus(Long deliveryId) { + DistributionDeliveryListEntity distributionDeliveryListEntity = distributionDeliveryListMapper.selectById(deliveryId); + if (Func.isNotEmpty(distributionDeliveryListEntity)) { + List distributionReservationEntities = distributionDeliveryListMapper.selectReservationByDeliveryListId(distributionDeliveryListEntity.getId()); + Integer planNum = 0 ; + if (Func.isNotEmpty(distributionReservationEntities)) { + planNum += distributionReservationEntities.stream().mapToInt(DistributionReservationEntity::getReservationNum).sum() + distributionReservationEntities.stream().mapToInt(DistributionReservationEntity::getReservationStockListNum).sum(); + } + if (planNum == 0) { + distributionDeliveryListMapper.deleteById(distributionDeliveryListEntity); + } + } + } /** * 维护预约数量和状态 @@ -1838,7 +1851,7 @@ public class DistributionAsyncServiceImpl implements IDistributionAsyncService { } } - private void maintenanceReservationStatus(Long reservationId) { + private void maintenanceReservationStatus(Long reservationId,Long deliveryId) { DistributionReservationEntity distributionReservationEntity = distributionReservationMapper.selectById(reservationId); if (Func.isNotEmpty(distributionReservationEntity)) { List distributionReservationStockarticleEntities = distributionReservationMapper.selectStockArticleByReservationId(distributionReservationEntity.getId()); @@ -1857,6 +1870,8 @@ public class DistributionAsyncServiceImpl implements IDistributionAsyncService { distributionReservationEntity.setCancelReason("无计划数据,系统取消"); distributionReservationEntity.setReservationStatus(ReservationStatusConstant.yiquexiao.getValue()); distributionReservationMapper.updateById(distributionReservationEntity); + //删除签收表数据 + distributionSignforMapper.deleteByReservationAndDeliveryId(reservationId,deliveryId); } } } From d282a553bcf77e6ca3b532a748388777c6388974 Mon Sep 17 00:00:00 2001 From: PigBaoBei <2739175034@qq.com> Date: Mon, 10 Feb 2025 17:00:07 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E5=9B=9E=E5=BA=93=E5=8F=96=E6=B6=88?= =?UTF-8?q?=E9=A2=84=E7=BA=A6BUG=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/DistributionAsyncServiceImpl.java | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAsyncServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAsyncServiceImpl.java index 1a0c596ca..28cc50658 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAsyncServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAsyncServiceImpl.java @@ -63,6 +63,9 @@ import org.springblade.common.constant.orderpackage.OrderPackageStockupStatusCon import org.springblade.common.constant.reservation.*; import org.springblade.common.constant.stockup.StockupStatusConstant; import org.springblade.common.constant.stockup.StockupTypeConstant; +import org.springblade.common.enums.BizOperationEnums; +import org.springblade.common.model.NodeFanoutMsg; +import org.springblade.common.model.ReservationVO; import org.springblade.core.log.exception.ServiceException; import org.springblade.core.secure.BladeUser; import org.springblade.core.secure.utils.AuthUtil; @@ -127,6 +130,7 @@ public class DistributionAsyncServiceImpl implements IDistributionAsyncService { private final ITrunklinePackageTrackLogClient trunklinePackageTrackLogClient; private final IDistributionPrintService distributionPrintService; private final IBasicdataClientClient basicdataClientClient; + private final IDistributionNodeWorkService nodeWorkService; @@ -1864,6 +1868,22 @@ public class DistributionAsyncServiceImpl implements IDistributionAsyncService { //统计库存品数 planNum += distributionReservationStocklistEntities.stream().mapToInt(DistributionReservationStocklistEntity::getReservationNum).sum(); } + List loadscanEntityList = distributionLoadscanMapper.selectList(Wrappers.query().lambda() + .eq(DistributionLoadscanEntity::getReservationId, reservationId) + .eq(DistributionLoadscanEntity::getDeliveryId, deliveryId) + .ne(DistributionLoadscanEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue()) + ); + if (!loadscanEntityList.isEmpty()) { + planNum += loadscanEntityList.stream().mapToInt(DistributionLoadscanEntity::getLoadedNub).sum(); + } + List loadscaninvnEntityList = distributionLoadscaninvnMapper.selectList(Wrappers.query().lambda() + .eq(DistributionLoadscaninvnEntity::getReservationId, reservationId) + .eq(DistributionLoadscaninvnEntity::getDeliveryId, deliveryId) + .ne(DistributionLoadscaninvnEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue()) + ); + if (!loadscaninvnEntityList.isEmpty()) { + planNum += loadscaninvnEntityList.stream().mapToInt(DistributionLoadscaninvnEntity::getLoadedNub).sum(); + } distributionReservationMapper.updateById(distributionReservationEntity); if (planNum == 0 ) { distributionReservationEntity.setIsDeleted(1); @@ -1872,10 +1892,33 @@ public class DistributionAsyncServiceImpl implements IDistributionAsyncService { distributionReservationMapper.updateById(distributionReservationEntity); //删除签收表数据 distributionSignforMapper.deleteByReservationAndDeliveryId(reservationId,deliveryId); + NodeFanoutMsg nodeFanoutMsg =buildNodeFanoutMsgByReservationByCancel(distributionReservationEntity); + nodeWorkService.cancelReservation(nodeFanoutMsg,AuthUtil.getUser()); + } } } + + + private NodeFanoutMsg buildNodeFanoutMsgByReservationByCancel(DistributionReservationEntity reservationEntity) { + NodeFanoutMsg nodeFanoutMsg = new NodeFanoutMsg<>(); + + nodeFanoutMsg.setNode(WorkNodeEnums.PLANNED_RESERVATION); + nodeFanoutMsg.setBizOperation(BizOperationEnums.DELETE); + nodeFanoutMsg.setOperator(AuthUtil.getNickName()); + nodeFanoutMsg.setOperatorTime(new Date()); + nodeFanoutMsg.setWarehouse(reservationEntity.getWarehouseName()); + nodeFanoutMsg.setWarehouseId(reservationEntity.getWarehouseId()); + nodeFanoutMsg.setTenantId(AuthUtil.getTenantId()); + + ReservationVO reservationVO = getReservationVO(reservationEntity); + nodeFanoutMsg.setMain(reservationVO); + + + return nodeFanoutMsg; + } + // @Transactional private void checkReservationAndDeliverySigningStatus(Long reservationId, Long deliveryId) { //维护客户签收状态 From 9d7138d73a79fbdd8766dab1f5d9e01fa70f950e Mon Sep 17 00:00:00 2001 From: PigBaoBei <2739175034@qq.com> Date: Mon, 10 Feb 2025 17:03:56 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E5=9B=9E=E5=BA=93=E5=8F=96=E6=B6=88?= =?UTF-8?q?=E9=A2=84=E7=BA=A6BUG=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/DistributionAsyncServiceImpl.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAsyncServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAsyncServiceImpl.java index 28cc50658..31ae0c063 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAsyncServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAsyncServiceImpl.java @@ -1919,6 +1919,24 @@ public class DistributionAsyncServiceImpl implements IDistributionAsyncService { return nodeFanoutMsg; } + public ReservationVO getReservationVO(DistributionReservationEntity reservationEntity) { + ReservationVO reservationVO = new ReservationVO(); + reservationVO.setReservationCode(reservationEntity.getReservationCode()); + reservationVO.setReservationDate(reservationEntity.getReservationDate()); + reservationVO.setConsignee(reservationEntity.getConsignee()); + reservationVO.setDeliveryAddress(reservationEntity.getDeliveryAddress()); + reservationVO.setDeliveryPhone(reservationEntity.getDeliveryPhone()); + reservationVO.setMallName(reservationEntity.getMallName()); + reservationVO.setStoreName(reservationEntity.getStoreName()); + reservationVO.setWarehouseName(reservationEntity.getWarehouseName()); + reservationVO.setDeliveryType(reservationEntity.getDeliveryType()); + reservationVO.setReservationNum(reservationEntity.getReservationNum()); + reservationVO.setReceivingUnit(reservationEntity.getReceivingUnit()); + reservationVO.setId(reservationEntity.getId()); + reservationVO.setReservationStockListNum(reservationEntity.getReservationStockListNum()); + return reservationVO; + } + // @Transactional private void checkReservationAndDeliverySigningStatus(Long reservationId, Long deliveryId) { //维护客户签收状态