From f34d879c563d154de466c76905d9dfb45ae6fb2b Mon Sep 17 00:00:00 2001 From: zhenghaoyu Date: Wed, 23 Oct 2024 12:26:19 +0800 Subject: [PATCH] =?UTF-8?q?1.=E5=B9=B2=E7=BA=BF=E5=85=88=E5=85=A5=E5=BA=93?= =?UTF-8?q?=E5=86=8D=E5=BC=80=E5=8D=95=E6=95=B0=E6=8D=AE=E9=80=BB=E8=BE=91?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../feign/IDistributionParcelListClient.java | 2 + .../feign/DistributionParcelListClient.java | 5 ++ .../mapper/DistributionParcelListMapper.java | 2 + .../mapper/DistributionParcelListMapper.xml | 17 ++++++ .../DistributionStockArticleMapper.java | 3 ++ .../mapper/DistributionStockArticleMapper.xml | 8 +++ .../IDistributionParcelListService.java | 2 + .../DistributionParcelListServiceImpl.java | 35 +++++++----- .../controller/OpenOrderController.java | 14 ++--- .../service/impl/OpenOrderServiceImpl.java | 54 +++++++++++++++++++ .../mapper/WarehouseWaybillMapper.xml | 7 ++- 11 files changed, 124 insertions(+), 25 deletions(-) diff --git a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionParcelListClient.java b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionParcelListClient.java index f6163bc71..b7549d730 100644 --- a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionParcelListClient.java +++ b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionParcelListClient.java @@ -295,5 +295,7 @@ public interface IDistributionParcelListClient { @PostMapping(API_PREFIX + "/updateZeroList") void updateZeroList(@RequestBody List updateParceListEntityList); + @PostMapping(API_PREFIX + "/findIdAndWarehouseIdListByAdvanceIds") + List findIdAndWarehouseIdListByAdvanceIds(@RequestBody List advanceIds); } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionParcelListClient.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionParcelListClient.java index 8813a6255..5a6260650 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionParcelListClient.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionParcelListClient.java @@ -626,4 +626,9 @@ public class DistributionParcelListClient implements IDistributionParcelListClie } + @Override + public List findIdAndWarehouseIdListByAdvanceIds(List advanceIds) { + return distributionParcelListService.findIdAndWarehouseIdListByAdvanceIds(advanceIds); + } + } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionParcelListMapper.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionParcelListMapper.java index a6712c292..f0f7433f4 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionParcelListMapper.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionParcelListMapper.java @@ -329,4 +329,6 @@ public interface DistributionParcelListMapper extends BaseMapper pageOweListTransfer(IPage page, @Param("param") DistributionParcelListDTO distributionParcelListDTO); List pageOweZeroListTransfer(@Param("orderCode") String orderCode, @Param("waybillNumber") String waybillNumber); + + List selectParcelListListByAdvanceIds(@Param("advanceIds") List advanceIds); } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionParcelListMapper.xml b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionParcelListMapper.xml index 07ee36790..0f681ff49 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionParcelListMapper.xml +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionParcelListMapper.xml @@ -2210,5 +2210,22 @@ ) AS t + diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockArticleMapper.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockArticleMapper.java index d3dccd6c0..d404a3d51 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockArticleMapper.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockArticleMapper.java @@ -28,6 +28,7 @@ import org.apache.ibatis.annotations.Param; import java.util.List; import java.util.Map; +import java.util.Set; /** * 配送在库订单 Mapper 接口 @@ -235,4 +236,6 @@ public interface DistributionStockArticleMapper extends BaseMapper pageListOweTransfer(IPage page,@Param("param")DistributionStockArticleOweDTO stockArticleEntity,@Param("warehouseIds")List warehouseIds); + + List findStockArticleIds(@Param("orderCodes") Set orderCodes); } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockArticleMapper.xml b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockArticleMapper.xml index 8796c30f7..941f51f08 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockArticleMapper.xml +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockArticleMapper.xml @@ -2242,5 +2242,13 @@ order by ldsa.warehouse_entry_time desc + diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionParcelListService.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionParcelListService.java index c13637ef4..96141a70d 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionParcelListService.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionParcelListService.java @@ -302,4 +302,6 @@ public interface IDistributionParcelListService extends BaseService pageOweZeroListTransfer(String orderCode, String waybillNumber); + List findIdAndWarehouseIdListByAdvanceIds(List advanceIds); + } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionParcelListServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionParcelListServiceImpl.java index 776d3fb4f..5009e7165 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionParcelListServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionParcelListServiceImpl.java @@ -1454,10 +1454,7 @@ public class DistributionParcelListServiceImpl extends BaseServiceImpl queryWrapper = new QueryWrapper<>(); - queryWrapper.in("advance_id", advanceIds) - .eq("is_deleted", 0); - List listEntityList = baseMapper.selectList(queryWrapper); + List listEntityList = baseMapper.selectParcelListListByAdvanceIds(advanceIds); Set orderCodes = new TreeSet<>(); for (DistributionParcelListEntity parcelListEntity : listEntityList) { Long packageWarehouseId = parcelListEntity.getWarehouseId(); @@ -1483,15 +1480,15 @@ public class DistributionParcelListServiceImpl extends BaseServiceImpl stockArticleEntityQueryWrapper = new QueryWrapper<>(); - stockArticleEntityQueryWrapper.eq("order_code", orderCode) - .eq("is_deleted", 0); - List stockArticleEntities = distributionStockArticleMapper.selectList(stockArticleEntityQueryWrapper); - for (DistributionStockArticleEntity stockArticleEntity : stockArticleEntities) { - Long orderId = stockArticleEntity.getId(); - String waybillNumber = baseMapper.findOrderWaybillNo(orderId); - stockArticleEntity.setWaybillNumber(waybillNumber); + + if(CollUtil.isNotEmpty(orderCodes)){ + List stockArticleIds = distributionStockArticleMapper.findStockArticleIds(orderCodes); + + List updateList = new ArrayList<>(); + stockArticleIds.forEach(stockArticleId -> { + DistributionStockArticleEntity stockArticleEntity = new DistributionStockArticleEntity(); + stockArticleEntity.setId(stockArticleId); + stockArticleEntity.setWaybillNumber(waybillNo); stockArticleEntity.setMallId(consigneeId); stockArticleEntity.setMallCode(basicdataClientEntity.getClientCode()); stockArticleEntity.setMallName(basicdataClientEntity.getClientName()); @@ -1499,9 +1496,14 @@ public class DistributionParcelListServiceImpl extends BaseServiceImpl pageOweZeroListTransfer(String orderCode, String waybillNumber) { return baseMapper.pageOweZeroListTransfer(orderCode,waybillNumber); } + + @Override + public List findIdAndWarehouseIdListByAdvanceIds(List advanceIds) { + return baseMapper.selectParcelListListByAdvanceIds(advanceIds); + } } diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/controller/OpenOrderController.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/controller/OpenOrderController.java index 5cc9cade3..2f356fb94 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/controller/OpenOrderController.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/controller/OpenOrderController.java @@ -1318,13 +1318,13 @@ public class OpenOrderController { try{ //当前登录人选择的仓库 - BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse(); - if(Objects.isNull(myCurrentWarehouse)){ - log.warn(method+"仓库信息为空 myCurrentWarehouse={}",myCurrentWarehouse); - return R.fail(403,"多仓权限无法操作,请选择仓库"); - } - openOrderDTO.setWarehouseId(myCurrentWarehouse.getId()); - openOrderDTO.setWarehouseName(myCurrentWarehouse.getName()); +// BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse(); +// if(Objects.isNull(myCurrentWarehouse)){ +// log.warn(method+"仓库信息为空 myCurrentWarehouse={}",myCurrentWarehouse); +// return R.fail(403,"多仓权限无法操作,请选择仓库"); +// } +// openOrderDTO.setWarehouseId(myCurrentWarehouse.getId()); +// openOrderDTO.setWarehouseName(myCurrentWarehouse.getName()); if (Objects.isNull(waybillId)){ log.warn(method+"运单号id为空 waybillId={}",waybillId); 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 19b05640d..9804eff6d 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 @@ -690,6 +690,57 @@ public class OpenOrderServiceImpl implements IOpenOrderService { updateOrderDTO.setAdvanceIds(advanceIds); updateOrderDTO.setWaybillId(waybillId); distributionParcelListClient.updateEntityByOpenOrderByAdvanceIds(updateOrderDTO); + + String departureWarehouseName = waybillEntity.getDepartureWarehouseName(); + String destinationWarehouseName = waybillEntity.getDestinationWarehouseName(); + Long consigneeId1 = waybillEntity.getConsigneeId(); + BasicdataClientEntity basicdataClientEntity = basicdataClientClient.findEntityById(consigneeId1); + + List parcelListEntities = distributionParcelListClient.findIdAndWarehouseIdListByAdvanceIds(advanceIds); + Set stockArticleIds = new TreeSet<>(); + String finalWaybillNo = waybillNo; + parcelListEntities.forEach(parcelListEntity -> { + Long packageWarehouseId = parcelListEntity.getWarehouseId(); + parcelListEntity.setWaybillId(waybillId); + parcelListEntity.setWaybillNumber(finalWaybillNo); + parcelListEntity.setSendWarehouseId(departureWarehouseId); + parcelListEntity.setSendWarehouseName(departureWarehouseName); + parcelListEntity.setAcceptWarehouseId(destinationWarehouseId); + parcelListEntity.setAcceptWarehouseName(destinationWarehouseName); + if (departureWarehouseId.equals(destinationWarehouseId)) { + parcelListEntity.setIsTransfer(0); + } else { + if (destinationWarehouseId.equals(packageWarehouseId)) { + parcelListEntity.setIsTransfer(0); + } else { + parcelListEntity.setIsTransfer(1); + } + } + stockArticleIds.add(parcelListEntity.getStockArticleId()); + }); + + distributionParcelListClient.updateList(parcelListEntities); + + List updateList = new ArrayList<>(); + stockArticleIds.forEach(stockArticleId -> { + DistributionStockArticleEntity stockArticleEntity = new DistributionStockArticleEntity(); + stockArticleEntity.setId(stockArticleId); + stockArticleEntity.setWaybillNumber(finalWaybillNo); + stockArticleEntity.setMallId(consigneeId1); + stockArticleEntity.setMallCode(basicdataClientEntity.getClientCode()); + stockArticleEntity.setMallName(basicdataClientEntity.getClientName()); + stockArticleEntity.setConsigneePerson(waybillEntity.getConsigneeName()); + stockArticleEntity.setConsigneeMobile(waybillEntity.getConsigneeMobile()); + stockArticleEntity.setConsigneeAddress(waybillEntity.getConsigneeAddress()); + stockArticleEntity.setConsigneeUnit(basicdataClientEntity.getClientName()); + updateList.add(stockArticleEntity); + }); + + if(CollUtil.isNotEmpty(updateList)){ + distributionStockArticleClient.updateByBatchId(updateList); + } + + } trunklineWaybillPackageService.updateWaybillStatus(waybillEntity); @@ -3330,6 +3381,9 @@ public class OpenOrderServiceImpl implements IOpenOrderService { } Integer checkStatus = warehouseWaybillEntity.getCheckStatus(); + if(Objects.isNull(checkStatus)){ + checkStatus = 0; + } if(checkStatus.equals(1)){ log.warn("##############checkWaybill: 运单已经审核 waybillId={}",waybillId); return R.fail(405, "运单已经审核"); diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseWaybillMapper.xml b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseWaybillMapper.xml index cb36e61fd..368ba7d86 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseWaybillMapper.xml +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseWaybillMapper.xml @@ -840,7 +840,6 @@