From ea1cf83fa061e62bec606d8f65264e98073c9c97 Mon Sep 17 00:00:00 2001 From: "pref_mail@163.com" Date: Sat, 16 Mar 2024 12:08:00 +0800 Subject: [PATCH 1/7] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=9B=B6=E6=8B=85?= =?UTF-8?q?=E7=9A=84=E5=8C=85=E4=BB=B6=E7=B1=BB=E5=9E=8B=E7=8A=B6=E6=80=81?= =?UTF-8?q?=E5=80=BC=20=E9=BB=98=E8=AE=A4=E4=B8=BA3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../factory/pan/service/impl/PanFactoryDataServiceImpl.java | 6 +++++- .../warehouse/service/impl/WarehouseWaybillServiceImpl.java | 3 ++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/blade-service/logpm-factory/src/main/java/com/logpm/factory/pan/service/impl/PanFactoryDataServiceImpl.java b/blade-service/logpm-factory/src/main/java/com/logpm/factory/pan/service/impl/PanFactoryDataServiceImpl.java index 9a5ab7980..a3b139a5d 100644 --- a/blade-service/logpm-factory/src/main/java/com/logpm/factory/pan/service/impl/PanFactoryDataServiceImpl.java +++ b/blade-service/logpm-factory/src/main/java/com/logpm/factory/pan/service/impl/PanFactoryDataServiceImpl.java @@ -351,7 +351,7 @@ public class PanFactoryDataServiceImpl implements IPanFactoryDataService { } - @Transactional + @Transactional(rollbackFor = Exception.class) @Override public void handleDataToPlatform(String unitNo, String operationTime) { log.info("############handleDataToPlatform: 处理数据到platform unitNo={}", unitNo); @@ -490,6 +490,10 @@ public class PanFactoryDataServiceImpl implements IPanFactoryDataService { } } + + + + String customerName = wayBillEntity.getTakeCompany();//客户名称 //通过客户名称去查询客户的服务类型、 diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseWaybillServiceImpl.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseWaybillServiceImpl.java index 8fa92aedf..7dd00bc15 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseWaybillServiceImpl.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseWaybillServiceImpl.java @@ -276,7 +276,8 @@ public class WarehouseWaybillServiceImpl extends BaseServiceImpl Date: Sat, 16 Mar 2024 21:13:11 +0800 Subject: [PATCH 2/7] =?UTF-8?q?1.=E6=8E=A8=E9=80=81=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=EF=BC=8C=E8=BF=90=E5=8D=95=E6=98=8E=E7=BB=86=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=202.=E5=90=84=E4=BB=93=E5=90=8C=E6=AD=A5=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E4=BC=98=E5=8C=96=203.=E5=90=8C=E6=AD=A5?= =?UTF-8?q?=E8=80=81=E7=B3=BB=E7=BB=9F=E6=89=93=E6=89=98=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=EF=BC=8C=E4=B8=8D=E8=83=BD=E5=90=8C=E6=AD=A5=E6=9C=AA=E5=BC=80?= =?UTF-8?q?=E5=8D=95=E7=9A=84=E8=AE=A2=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../feign/IDistributionParcelListClient.java | 3 + .../IDistributionStockArticleClient.java | 4 + .../feign/DistributionParcelListClient.java | 8 + .../feign/DistributionStockArticleClient.java | 8 + .../impl/PanFactoryDataServiceImpl.java | 47 +++++- .../jobhandle/SyncOrderInfoToPlatform.java | 40 ++++- .../patch/service/ISyncOrderInfoService.java | 3 + .../impl/SyncOrderInfoServiceImpl.java | 143 +++++++++++++++++- .../impl/WarehouseTrayTypeServiceImpl.java | 26 +++- 9 files changed, 274 insertions(+), 8 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 5fe692394..c9c399584 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 @@ -143,4 +143,7 @@ public interface IDistributionParcelListClient { @GetMapping(API_PREFIX+"/findEntityListByOrderCodeAndStatus") List findEntityListByOrderCodeAndStatus(@RequestParam String orderCode, @RequestParam Long warehouseId, @RequestParam String packageStatus); + + @GetMapping(API_PREFIX+"/getListByOrderPackageCode") + List getListByOrderPackageCode(@RequestParam String orderPackageCode); } diff --git a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionStockArticleClient.java b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionStockArticleClient.java index 3624383b6..25aa39a00 100644 --- a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionStockArticleClient.java +++ b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionStockArticleClient.java @@ -139,4 +139,8 @@ public interface IDistributionStockArticleClient { @GetMapping(API_PREFIX + "/submitHandleNumAndTotalNumberByOrderId") void submitHandleNumAndTotalNumberByOrderId(@RequestParam Integer subNum, @RequestParam Long articleId); + + @GetMapping(API_PREFIX + "/findListByOrderCode") + List findListByOrderCode(@RequestParam String orderCode); + } 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 674d6d19b..e6dd586fd 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 @@ -299,4 +299,12 @@ public class DistributionParcelListClient implements IDistributionParcelListClie public List findEntityListByOrderCodeAndStatus(String orderCode, Long warehouseId, String packageStatus) { return distributionParcelListService.findEntityListByOrderCodeAndStatus(orderCode,warehouseId,packageStatus); } + + @Override + public List getListByOrderPackageCode(String orderPackageCode) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_package_code",orderPackageCode); + + return distributionParcelListService.list(queryWrapper); + } } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionStockArticleClient.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionStockArticleClient.java index fa491b5d9..07592179e 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionStockArticleClient.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionStockArticleClient.java @@ -283,4 +283,12 @@ public class DistributionStockArticleClient implements IDistributionStockArticle distributionStockArticleService.submitHandleNumAndTotalNumberByOrderId(subNum,articleId); } + @Override + public List findListByOrderCode(String orderCode) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_code",orderCode); + + return distributionStockArticleService.list(queryWrapper); + } + } diff --git a/blade-service/logpm-factory/src/main/java/com/logpm/factory/pan/service/impl/PanFactoryDataServiceImpl.java b/blade-service/logpm-factory/src/main/java/com/logpm/factory/pan/service/impl/PanFactoryDataServiceImpl.java index a3b139a5d..61669f5ad 100644 --- a/blade-service/logpm-factory/src/main/java/com/logpm/factory/pan/service/impl/PanFactoryDataServiceImpl.java +++ b/blade-service/logpm-factory/src/main/java/com/logpm/factory/pan/service/impl/PanFactoryDataServiceImpl.java @@ -9,9 +9,11 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.logpm.basic.entity.BasicMaterialEntity; import com.logpm.basic.feign.IBasicMaterialClient; +import com.logpm.basicdata.entity.BasicdataCategoryEntity; import com.logpm.basicdata.entity.BasicdataClientEntity; import com.logpm.basicdata.entity.BasicdataStoreBusinessEntity; import com.logpm.basicdata.entity.BasicdataWarehouseEntity; +import com.logpm.basicdata.feign.IBasicdataCategoryClient; import com.logpm.basicdata.feign.IBasicdataClientClient; import com.logpm.basicdata.feign.IBasicdataStoreBusinessClient; import com.logpm.basicdata.feign.IBasicdataWarehouseClient; @@ -45,9 +47,11 @@ import com.logpm.trunkline.feign.ITrunklineAdvanceClient; import com.logpm.trunkline.feign.ITrunklineAdvanceDetailClient; import com.logpm.trunkline.feign.ITrunklineDetailProductClient; import com.logpm.trunkline.feign.ITrunklineWaybillOrderClient; +import com.logpm.warehouse.entity.WarehouseWayBillDetail; import com.logpm.warehouse.entity.WarehouseWaybillEntity; import com.logpm.warehouse.feign.IWarehouseTrayTypeClient; import com.logpm.warehouse.feign.IWarehouseWaybillClient; +import com.logpm.warehouse.feign.IWarehouseWaybillDetailClient; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -85,6 +89,7 @@ public class PanFactoryDataServiceImpl implements IPanFactoryDataService { private final IOrderDetailClient orderDetailClient; private final IAdvanceClient advanceClient; private final IWayBillClient wayBillClient; + private final IWaybillDesClient waybillDesClient; private final IDistributionParcelListClient distributionParcelListClient; private final IDistributionStockArticleClient distributionStockArticleClient; @@ -94,6 +99,7 @@ public class PanFactoryDataServiceImpl implements IPanFactoryDataService { private final IBasicdataWarehouseClient basicdataWarehouseClient; private final IWarehouseWaybillClient warehouseWaybillClient; + private final IWarehouseWaybillDetailClient warehouseWaybillDetailClient; private final IBasicMaterialClient basicMaterialClient; @@ -108,6 +114,7 @@ public class PanFactoryDataServiceImpl implements IPanFactoryDataService { private final IDetailProductClient detailProductClient; private final ITrunklineDetailProductClient trunklineDetailProductClient; private final ITrunklineAdvanceDetailClient trunklineAdvanceDetailClient; + private final IBasicdataCategoryClient categoryClient; private final IOrderCountClient orderCountClient; private final BladeRedis redis; @@ -890,7 +897,45 @@ public class PanFactoryDataServiceImpl implements IPanFactoryDataService { warehouseWaybill.setIsDeleted(0); warehouseWaybill.setCreateTime(date); warehouseWaybill.setUpdateTime(date); - warehouseWaybillClient.addEnntity(warehouseWaybill); + Long aLong = warehouseWaybillClient.addEnntity(warehouseWaybill); + if(aLong != 0){ + + List desList = waybillDesClient.getDesList(waybillNo); + List warehouseWayBillDetails = new ArrayList<>(); + for (WaybillDesEntity waybillDesEntity : desList) { + WarehouseWayBillDetail warehouseWayBillDetail = new WarehouseWayBillDetail(); + warehouseWayBillDetail.setCreateUser(1714696768639311873L); + warehouseWayBillDetail.setUpdateUser(1714696768639311873L); + warehouseWayBillDetail.setCreateDept(1649331096241836033L); + warehouseWayBillDetail.setWaybillId(aLong); + warehouseWayBillDetail.setWaybillNo(waybillNo); + String goodsName = waybillDesEntity.getName(); + BasicdataCategoryEntity categoryEntity = categoryClient.findByName(goodsName); + if(Objects.isNull(categoryEntity)){ + categoryEntity = new BasicdataCategoryEntity(); + categoryEntity.setName(goodsName); + categoryEntity.setType(1); + categoryEntity.setTenantId(TenantNum.HUITONGCODE); + categoryEntity.setCreateUser(1714696768639311873L); + categoryEntity.setUpdateUser(1714696768639311873L); + categoryEntity.setCreateDept(1649331096241836033L); + Long categoryId = categoryClient.addReturnId(categoryEntity); + warehouseWayBillDetail.setProductId(categoryId); + }else{ + warehouseWayBillDetail.setProductId(categoryEntity.getId()); + } + warehouseWayBillDetail.setProductName(goodsName); + warehouseWayBillDetail.setNum(waybillDesEntity.getNum()); + warehouseWayBillDetail.setPrice(waybillDesEntity.getPrice()); + warehouseWayBillDetail.setVolume(waybillDesEntity.getVolume()); + warehouseWayBillDetail.setWeight(waybillDesEntity.getWeight()); + warehouseWayBillDetail.setSubtotalFreight(waybillDesEntity.getTotalDesPrice()); + warehouseWayBillDetail.setChargeType(waybillDesEntity.getPic()); + warehouseWayBillDetails.add(warehouseWayBillDetail); + } + warehouseWaybillDetailClient.addList(warehouseWayBillDetails); + } + } else { warehouseWaybill.setStockCount(warehouseWaybill.getStockCount() + 1); warehouseWaybill.setUpdateTime(new Date()); 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 64d95b19d..956c875b3 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 @@ -35,10 +35,7 @@ import org.springblade.common.utils.CommonUtil; import org.springblade.core.tool.utils.StringUtil; import org.springframework.stereotype.Component; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; +import java.util.*; /** * 同步老系统订单信息到新系统 @@ -639,5 +636,40 @@ public class SyncOrderInfoToPlatform { return ReturnT.SUCCESS; } + @XxlJob("repairNoOpenOrderOrderInfo") + public ReturnT repairNoOpenOrderOrderInfo(String param) { + log.info("############repairNoOpenOrderOrderInfo: 修复未开单订单信息 开始"); + + if(StringUtil.isBlank(param)){ + log.warn("##############repairNoOpenOrderOrderInfo: 请输入需要修复的订单 "); + return ReturnT.FAIL; + } + + List orderCodes = new ArrayList<>(); + if(param.contains(",")){ + String[] split = param.split(","); + orderCodes = Arrays.asList(split); + }else{ + orderCodes.add(param); + } + + for (String orderCode : orderCodes) { + + //查询新系统是否存在该订单 + List stockArticleEntityList = distributionStockArticleClient.findListByOrderCode(orderCode); + if(stockArticleEntityList == null || stockArticleEntityList.size() == 0){ + log.warn("#############repairNoOpenOrderOrderInfo: 未查询到新系统有订单信息"); + continue; + } + + syncOrderInfoService.repairNoOpenOrderOrderInfo(orderCode); + + } + + log.info("############repairNoOpenOrderOrderInfo: 修复未开单订单信息 完成"); + + return ReturnT.SUCCESS; + } + } diff --git a/blade-service/logpm-patch/src/main/java/com/logpm/patch/service/ISyncOrderInfoService.java b/blade-service/logpm-patch/src/main/java/com/logpm/patch/service/ISyncOrderInfoService.java index 4d33d05c3..713d44d12 100644 --- a/blade-service/logpm-patch/src/main/java/com/logpm/patch/service/ISyncOrderInfoService.java +++ b/blade-service/logpm-patch/src/main/java/com/logpm/patch/service/ISyncOrderInfoService.java @@ -16,4 +16,7 @@ public interface ISyncOrderInfoService { void handleDataAndInventoryId(List orderCodeList, Integer oldWarehouseId, Long newWarehouseId, Integer inventoryId); void syncUpdownData(Integer oldWarehouseId, Long newWarehouseId); + + void repairNoOpenOrderOrderInfo(String orderCode); + } diff --git a/blade-service/logpm-patch/src/main/java/com/logpm/patch/service/impl/SyncOrderInfoServiceImpl.java b/blade-service/logpm-patch/src/main/java/com/logpm/patch/service/impl/SyncOrderInfoServiceImpl.java index 3c168a816..6c0d890fa 100644 --- a/blade-service/logpm-patch/src/main/java/com/logpm/patch/service/impl/SyncOrderInfoServiceImpl.java +++ b/blade-service/logpm-patch/src/main/java/com/logpm/patch/service/impl/SyncOrderInfoServiceImpl.java @@ -87,6 +87,7 @@ public class SyncOrderInfoServiceImpl implements ISyncOrderInfoService { private final BladeRedis redis; private final IWarehouseMappingDataService warehouseMappingDataService; + private final IBasicdataCategoryClient categoryClient; @Transactional(rollbackFor = Exception.class) @Override @@ -199,6 +200,105 @@ public class SyncOrderInfoServiceImpl implements ISyncOrderInfoService { } + } + + @Override + public void repairNoOpenOrderOrderInfo(String orderCode) { + List advanceList = advanceClient.getAdvanceList(orderCode); + + Set waybillNos = new HashSet<>(); + for (AdvanceEntity advanceEntity : advanceList) { + Integer advanceId = advanceEntity.getId(); + String waybillNo = advanceEntity.getWaybillNo(); + String dealerCode = advanceEntity.getDealerCode(); + String dealerName = advanceEntity.getDealerName(); + + saveWaybillEntity(waybillNo); + + WarehouseWaybillEntity warehouseWaybillEntity = warehouseWaybillClient.findByWaybillNo(waybillNo); + + if(!Objects.isNull(warehouseWaybillEntity)){ + Long departureWarehouseId = warehouseWaybillEntity.getDepartureWarehouseId(); + String departureWarehouseName = warehouseWaybillEntity.getDepartureWarehouseName(); + Long destinationWarehouseId = warehouseWaybillEntity.getDestinationWarehouseId(); + String destinationWarehouseName = warehouseWaybillEntity.getDestinationWarehouseName(); + Long waybillId = warehouseWaybillEntity.getId(); + + List detailEntityList = advanceDetailClient.findListByAdvanceId(advanceId); + for (AdvanceDetailEntity advanceDetailEntity : detailEntityList) { + String orderPackageCode = advanceDetailEntity.getUnitNo(); + List parcelListEntityList = distributionParcelListClient.getListByOrderPackageCode(orderPackageCode); + for (DistributionParcelListEntity parcelListEntity : parcelListEntityList) { + Long warehouseId = parcelListEntity.getWarehouseId(); + parcelListEntity.setWaybillId(waybillId+""); + parcelListEntity.setWaybillNumber(waybillNo); + parcelListEntity.setSendWarehouseId(departureWarehouseId); + parcelListEntity.setSendWarehouseName(departureWarehouseName); + parcelListEntity.setAcceptWarehouseId(destinationWarehouseId); + parcelListEntity.setAcceptWarehouseName(destinationWarehouseName); + parcelListEntity.setDealerCode(dealerCode); + parcelListEntity.setDealerName(dealerName); + if(warehouseId.equals(destinationWarehouseId)){ + parcelListEntity.setIsTransfer(0); + }else{ + parcelListEntity.setIsTransfer(1); + } + distributionParcelListClient.update(parcelListEntity); + } + } + } + + waybillNos.add(waybillNo); + + } + + String waybillNumber = null; + String waybillNumberStr = null; + for (String waybillNo : waybillNos) { + if(StringUtil.isBlank(waybillNumber)){ + waybillNumber = waybillNo; + } + if(StringUtil.isBlank(waybillNumberStr)){ + waybillNumberStr = waybillNo; + }else{ + waybillNumberStr = waybillNumberStr + "," + waybillNo; + } + } + + if(StringUtil.isNotBlank(waybillNumber)){ + WarehouseWaybillEntity newWaybill = warehouseWaybillClient.findByWaybillNo(waybillNumber); + String consignee = newWaybill.getConsignee(); + String consigneeName = newWaybill.getConsigneeName(); + String consigneeMobile = newWaybill.getConsigneeMobile(); + String consigneeAddress = newWaybill.getConsigneeAddress(); + BasicdataClientEntity clientEntity = basicdataClientClient.findByName(consignee); + String consigneeCode = null; + Long consigneeId = null; + String peisongType = "1";//默认商配 + if(!Objects.isNull(clientEntity)){ + consigneeId = clientEntity.getId(); + consigneeCode = clientEntity.getClientCode(); + consignee = clientEntity.getClientName(); + peisongType = getPeisongTypeByClientId(consigneeId); + } + + List stockArticleEntityList = distributionStockArticleClient.findListByOrderCode(orderCode); + for (DistributionStockArticleEntity stockArticleEntity : stockArticleEntityList) { + stockArticleEntity.setWaybillNumber(waybillNumberStr); + stockArticleEntity.setConsigneeUnit(consignee); + stockArticleEntity.setTypeService(peisongType); + stockArticleEntity.setConsigneePerson(consigneeName); + stockArticleEntity.setConsigneeMobile(consigneeMobile); + stockArticleEntity.setConsigneeAddress(consigneeAddress); + stockArticleEntity.setMallId(consigneeId); + stockArticleEntity.setMallCode(consigneeCode); + stockArticleEntity.setMallName(consignee); + distributionStockArticleClient.saveOrUpdate(stockArticleEntity); + } + } + + + } @@ -1677,6 +1777,10 @@ public class SyncOrderInfoServiceImpl implements ISyncOrderInfoService { String agent = wayBillEntity.getAgent(); warehouseWaybill = new WarehouseWaybillEntity(); + warehouseWaybill.setTenantId(TenantNum.HUITONGCODE); + warehouseWaybill.setCreateUser(1714696768639311873L); + warehouseWaybill.setUpdateUser(1714696768639311873L); + warehouseWaybill.setCreateDept(1649331096241836033L); warehouseWaybill.setWaybillNo(waybillNo); warehouseWaybill.setOrderNo(wayBillEntity.getOrderNo()); warehouseWaybill.setDestinationWarehouseName(warehouseName); @@ -1766,7 +1870,44 @@ public class SyncOrderInfoServiceImpl implements ISyncOrderInfoService { warehouseWaybill.setIsDeleted(0); warehouseWaybill.setCreateTime(date); warehouseWaybill.setUpdateTime(date); - warehouseWaybillClient.addEnntity(warehouseWaybill); + Long aLong = warehouseWaybillClient.addEnntity(warehouseWaybill); + if(aLong != 0){ + + List desList = waybillDesClient.getDesList(waybillNo); + List warehouseWayBillDetails = new ArrayList<>(); + for (WaybillDesEntity waybillDesEntity : desList) { + WarehouseWayBillDetail warehouseWayBillDetail = new WarehouseWayBillDetail(); + warehouseWayBillDetail.setCreateUser(1714696768639311873L); + warehouseWayBillDetail.setUpdateUser(1714696768639311873L); + warehouseWayBillDetail.setCreateDept(1649331096241836033L); + warehouseWayBillDetail.setWaybillId(aLong); + warehouseWayBillDetail.setWaybillNo(waybillNo); + String goodsName = waybillDesEntity.getName(); + BasicdataCategoryEntity categoryEntity = categoryClient.findByName(goodsName); + if(Objects.isNull(categoryEntity)){ + categoryEntity = new BasicdataCategoryEntity(); + categoryEntity.setName(goodsName); + categoryEntity.setType(1); + categoryEntity.setTenantId(TenantNum.HUITONGCODE); + categoryEntity.setCreateUser(1714696768639311873L); + categoryEntity.setUpdateUser(1714696768639311873L); + categoryEntity.setCreateDept(1649331096241836033L); + Long categoryId = categoryClient.addReturnId(categoryEntity); + warehouseWayBillDetail.setProductId(categoryId); + }else{ + warehouseWayBillDetail.setProductId(categoryEntity.getId()); + } + warehouseWayBillDetail.setProductName(goodsName); + warehouseWayBillDetail.setNum(waybillDesEntity.getNum()); + warehouseWayBillDetail.setPrice(waybillDesEntity.getPrice()); + warehouseWayBillDetail.setVolume(waybillDesEntity.getVolume()); + warehouseWayBillDetail.setWeight(waybillDesEntity.getWeight()); + warehouseWayBillDetail.setSubtotalFreight(waybillDesEntity.getTotalDesPrice()); + warehouseWayBillDetail.setChargeType(waybillDesEntity.getPic()); + warehouseWayBillDetails.add(warehouseWayBillDetail); + } + warehouseWaybillDetailClient.addList(warehouseWayBillDetails); + } } else { // warehouseWaybill.setStockCount(warehouseWaybill.getStockCount() + 1); warehouseWaybill.setUpdateTime(new Date()); diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseTrayTypeServiceImpl.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseTrayTypeServiceImpl.java index 585e01b91..e219c9c03 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseTrayTypeServiceImpl.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseTrayTypeServiceImpl.java @@ -3021,6 +3021,8 @@ public class WarehouseTrayTypeServiceImpl extends BaseServiceImpl Date: Sat, 16 Mar 2024 22:17:12 +0800 Subject: [PATCH 3/7] =?UTF-8?q?=E5=A4=8D=E6=A0=B8=E6=A3=80=E6=B5=8B?= =?UTF-8?q?=E9=9B=B6=E6=8B=85=E5=8C=85=E4=BB=B6=E6=98=AF=E5=90=A6=E5=AE=8C?= =?UTF-8?q?=E6=88=90=E7=AD=BE=E6=94=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../distribution/dto/DistributionParcelNumberDTO.java | 5 +++++ .../mapper/DistributionLoadscanMapper.java | 9 +++++++++ .../distribution/mapper/DistributionLoadscanMapper.xml | 10 ++++++++++ .../mapper/DistributionReservationMapper.xml | 3 ++- .../service/impl/DistributionSignforServiceImpl.java | 7 +++++++ 5 files changed, 33 insertions(+), 1 deletion(-) diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/DistributionParcelNumberDTO.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/DistributionParcelNumberDTO.java index 8ea48328d..b309221c6 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/DistributionParcelNumberDTO.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/DistributionParcelNumberDTO.java @@ -36,6 +36,11 @@ public class DistributionParcelNumberDTO extends DistributionParcelNumberEntity */ private Integer number; + /** + * 在库数量 + */ + private Long reservationId; + /** * 装车数量 */ diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionLoadscanMapper.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionLoadscanMapper.java index 64e9fd1de..2a8c3f6fe 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionLoadscanMapper.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionLoadscanMapper.java @@ -177,4 +177,13 @@ public interface DistributionLoadscanMapper extends BaseMapper + diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.xml b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.xml index b5a1269a5..7c5a67938 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.xml +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.xml @@ -862,7 +862,7 @@ logpm_distribution_reservation_package AS ldrs INNER JOIN logpm_distribution_parcel_list AS ldpl ON ldrs.parce_list_id = ldpl.id WHERE - ldrs.packet_bar_status IN ('1','3') and reservation_id = #{reservationId} + ldrs.packet_bar_status IN ('1','3') and reservation_id = #{reservationId} AND ldpl.conditions = 1 diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionReservationZeroPackageService.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionReservationZeroPackageService.java index 4e8d0e1db..6f76a885f 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionReservationZeroPackageService.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionReservationZeroPackageService.java @@ -17,6 +17,7 @@ package com.logpm.distribution.service; import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.logpm.distribution.entity.DistributionLoadscanEntity; import com.logpm.distribution.entity.DistributionReservationZeroPackageEntity; import com.logpm.distribution.vo.DistributionReservationZeroPackageVO; import com.logpm.distribution.excel.DistributionReservationZeroPackageExcel; @@ -64,5 +65,10 @@ public interface IDistributionReservationZeroPackageService extends BaseService< */ List getZeroList(Long reservationId); - + /** + * 零担订单进行全部数量回退 + * @param reservationId + * @param collect + */ + void recoverZeroPackage(Long reservationId, List collect); } 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 879382d5c..1f67a8b19 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 @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.logpm.basicdata.entity.BasicdataWarehouseEntity; import com.logpm.basicdata.feign.IBasicdataWarehouseClient; import com.logpm.distribution.dto.DistributionLoadingNumDTO; +import com.logpm.distribution.dto.DistributionParcelNumberDTO; import com.logpm.distribution.dto.DistributionStockArticleDTO; import com.logpm.distribution.dto.app.DistrilbutionloadingscanDTO; import com.logpm.distribution.dto.app.StockupDTO; @@ -1588,8 +1589,9 @@ public class DistributionAsyncServiceImpl implements IDistributionAsyncService { @Transactional @Async public void releaseSource(Long reservationId, Long warehouseId) { + String method = "##########################DistributionAsyncServiceImpl.releaseSource"; DistributionReservationEntity reservationEntity = distributionReservationMapper.selectById(reservationId); - + StringBuilder builder = new StringBuilder(); if (reservationEntity.getReservationNum() > 0) { //存在订单 List distributionParcelListEntities = distributionReservationMapper.selectPackageListByReservationId(reservationId); @@ -1598,7 +1600,6 @@ public class DistributionAsyncServiceImpl implements IDistributionAsyncService { .filter(p -> p.getOrderPackageLoadingStatus().equals(OrderPackageLoadingStatusConstant.weizhuancghe.getValue()) && !p.getOrderPackageStatus().equals(OrderPackageStatusConstant.yiqianshou.getValue())) .map(DistributionParcelListEntity::getId) .collect(Collectors.toList()); - if (Func.isNotEmpty(packageIds)) { //对包件进行批量的修改 //将这些包件恢复到初始状态 @@ -1609,45 +1610,69 @@ public class DistributionAsyncServiceImpl implements IDistributionAsyncService { .filter(p -> p.getOrderPackageLoadingStatus().equals(OrderPackageLoadingStatusConstant.weizhuancghe.getValue()) && !p.getOrderPackageStatus().equals(OrderPackageStatusConstant.yiqianshou.getValue())) .map(DistributionParcelListEntity::getOrderCode) .distinct().collect(Collectors.joining(",")); - distributionStockArticleService.maintenanceOrderInfo(orderCodes, warehouseId); + log.info(method+"维护订制品订单:{}",orderCodes); + builder.append(orderCodes); log.info(">>>>>> updatePackageDeliveryStatus,{}, {}", reservationId, packageIds); //完成对该客户下此包件任务的取消 int row = distributionReservationMapper.updatePackageDeliveryStatus(reservationId, packageIds); - //TODO 欠缺零担的资源释放 - - //维护预约订单状态 - distributionReservationStockarticleService.maintenanceReservationStockArticle(reservationId, warehouseId); - } - - //存在库存品信息 - if (reservationEntity.getReservationStockListNum() > 0) { - //进行库存品的资源释放 - List disStockListDetailEntities = distributionReservationMapper.selectInventoryListByReservation(reservationId); - if (Func.isNotEmpty(disStockListDetailEntities)) { - //未签收并且未装车 - List inventoryList = disStockListDetailEntities.stream().filter(inven -> inven.getStockLockingStatus().equals(InventoryLoadingStatusConstant.weizhuangche.getValue()) && inven.getStockLockingStatus().equals(InventorySigningStatusConstant.weiqianshou.getValue())).collect(Collectors.toList()); - if (Func.isNotEmpty(inventoryList)) { - Map> stockListMap = inventoryList.stream().collect(Collectors.groupingBy(DisStockListDetailEntity::getStockListId)); - stockListMap.forEach((k, v) -> { - //扣减对应批次库存品的冻结数量 - distributionStockListMapper.decreaseStockListQuantityOccupied(k, v.size()); - //维护对应的客户库存品的 - for (DisStockListDetailEntity disStockListDetailEntity : v) { - //取消对应的库存品包件信息 - disStockListDetailEntity.setStockPackageStatus(ReservationPackageStatusConstant.quxiao.getValue()); - disStockListDetailService.updateById(disStockListDetailEntity); - } - }); + } + List distributionParcelNumberDTOS = distributionReservationMapper.selectZeroPackageListByReservationId(reservationId); + if (Func.isNotEmpty(distributionParcelNumberDTOS)){ + //查询此预约单下未进行装车且签收的零担包件 + List packageIds = distributionParcelNumberDTOS.stream().map(DistributionParcelNumberDTO::getParcelListId).collect(Collectors.toList()); + List loadscanEntityList = distributionLoadscanMapper.selectList(Wrappers.query().lambda() + .eq(DistributionLoadscanEntity::getReservationId, reservationId) + .in(DistributionLoadscanEntity::getPackageId, packageIds) + .ne(DistributionLoadscanEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue()) + ); + if (Func.isNotEmpty(loadscanEntityList)){ + //查看是否存在需要进行回库的零担 + List collect = loadscanEntityList.stream().filter(f -> !packageIds.contains(f.getPackageId())).map(DistributionLoadscanEntity::getPackageId).collect(Collectors.toList()); + if (Func.isNotEmpty(collect)){ + String orderCode = distributionParcelNumberDTOS.stream().filter(f -> collect.contains(f.getParcelListId())).map(DistributionParcelNumberDTO::getOrderCode).collect(Collectors.joining(",")); + log.info(method+"维护零担订单:{}",orderCode); + builder.append(orderCode); + //这些单子就是需要进行状态回退的零担包件 + reservationZeroPackageService.recoverZeroPackage(reservationId,collect); } + }else { + //计划数量全部回退 + String orderCode = distributionParcelNumberDTOS.stream().map(DistributionParcelNumberDTO::getOrderCode).distinct().collect(Collectors.joining(",")); + log.info(method+"维护零担订单:{}",orderCode); + builder.append(orderCode); + reservationZeroPackageService.recoverZeroPackage(reservationId,packageIds); + } + } + distributionStockArticleService.maintenanceOrderInfo(builder.toString(), warehouseId); + distributionReservationStockarticleService.maintenanceReservationStockArticle(reservationId, warehouseId); + + } + //存在库存品信息 + if (reservationEntity.getReservationStockListNum() > 0) { + //进行库存品的资源释放 + List disStockListDetailEntities = distributionReservationMapper.selectInventoryListByReservation(reservationId); + if (Func.isNotEmpty(disStockListDetailEntities)) { + //未签收并且未装车 + List inventoryList = disStockListDetailEntities.stream().filter(inven -> inven.getStockLockingStatus().equals(InventoryLoadingStatusConstant.weizhuangche.getValue()) && inven.getStockLockingStatus().equals(InventorySigningStatusConstant.weiqianshou.getValue())).collect(Collectors.toList()); + if (Func.isNotEmpty(inventoryList)) { + Map> stockListMap = inventoryList.stream().collect(Collectors.groupingBy(DisStockListDetailEntity::getStockListId)); + stockListMap.forEach((k, v) -> { + //扣减对应批次库存品的冻结数量 + distributionStockListMapper.decreaseStockListQuantityOccupied(k, v.size()); + //维护对应的客户库存品的 + for (DisStockListDetailEntity disStockListDetailEntity : v) { + //取消对应的库存品包件信息 + disStockListDetailEntity.setStockPackageStatus(ReservationPackageStatusConstant.quxiao.getValue()); + disStockListDetailService.updateById(disStockListDetailEntity); + } + }); } - - //维护对应的库存品计划状态 - distributionReservationStocklistService.maintenanceReservationStockList(reservationId); - } + //维护对应的库存品计划状态 + distributionReservationStocklistService.maintenanceReservationStockList(reservationId); } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationStockarticleServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationStockarticleServiceImpl.java index 221165526..9641ba8f0 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationStockarticleServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationStockarticleServiceImpl.java @@ -28,6 +28,7 @@ import com.logpm.distribution.excel.DistributionReservationStockarticleExcel; import com.logpm.distribution.mapper.DistributionReservationMapper; import com.logpm.distribution.mapper.DistributionReservationStockarticleMapper; import com.logpm.distribution.service.IDistributionReservationStockarticleService; +import com.logpm.distribution.vo.DistributionParcelNumberVO; import com.logpm.distribution.vo.DistributionReservationStockarticleVO; import lombok.AllArgsConstructor; import org.springblade.common.constant.DictBizConstant; @@ -96,14 +97,26 @@ public class DistributionReservationStockarticleServiceImpl extends BaseServiceI List reservationOrderList = reservationStockarticleEntities.stream().filter(order -> order.getIsZero().equals(IsOrNoConstant.no.getValue())).collect(Collectors.toList()); if (Func.isNotEmpty(reservationOrderList)){ for (DistributionReservationStockarticleEntity reservationStockarticleEntity : reservationOrderList) { - List distributionParcelListEntities = distributionReservationMapper.selectPackageByReservationAndStockArticle(reservationId, reservationStockarticleEntity.getStockArticleId(),warehouseId); - if (Func.isNotEmpty(distributionParcelListEntities)){ - int sum = distributionParcelListEntities.stream().mapToInt(DistributionParcelListEntity::getQuantity).sum(); - if (sum == 0){ - reservationStockarticleEntity.setStockArticleStatus(ReservationOrderStatusConstant.quxiao.getValue()); - //标识任务取消 - reservationStockarticleEntity.setCancelStatus(1); - this.updateById(reservationStockarticleEntity); + if (IsOrNoConstant.yes.getValue().equals(reservationStockarticleEntity.getIsZero())){ + List distributionParcelListEntities = distributionReservationMapper.selectPackageByReservationAndStockArticle(reservationId, reservationStockarticleEntity.getStockArticleId(),warehouseId); + if (Func.isNotEmpty(distributionParcelListEntities)){ + int sum = distributionParcelListEntities.stream().mapToInt(DistributionParcelListEntity::getQuantity).sum(); + if (sum == 0){ + reservationStockarticleEntity.setStockArticleStatus(ReservationOrderStatusConstant.quxiao.getValue()); + //标识任务取消 + reservationStockarticleEntity.setCancelStatus(1); + this.updateById(reservationStockarticleEntity); + } + } + }else { + List distributionParcelNumberVOS = distributionReservationMapper.selectReservationZeroOrderDetail(reservationStockarticleEntity.getStockArticleId(), reservationId); + if (Func.isNotEmpty(distributionParcelNumberVOS)){ + int sum = distributionParcelNumberVOS.stream().mapToInt(DistributionParcelNumberVO::getReservationNum).sum(); + if (0 == sum){ + reservationStockarticleEntity.setStockArticleStatus(ReservationOrderStatusConstant.quxiao.getValue()); + reservationStockarticleEntity.setCancelStatus(1); + this.updateById(reservationStockarticleEntity); + } } } } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationZeroPackageServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationZeroPackageServiceImpl.java index 669b28800..4916b7d3d 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationZeroPackageServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationZeroPackageServiceImpl.java @@ -18,11 +18,18 @@ package com.logpm.distribution.service.impl; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.logpm.distribution.entity.DistributionLoadscanEntity; +import com.logpm.distribution.entity.DistributionParcelListEntity; +import com.logpm.distribution.entity.DistributionParcelNumberEntity; import com.logpm.distribution.entity.DistributionReservationZeroPackageEntity; +import com.logpm.distribution.service.IDistributionParcelListService; +import com.logpm.distribution.service.IDistributionParcelNumberService; import com.logpm.distribution.vo.DistributionReservationZeroPackageVO; import com.logpm.distribution.excel.DistributionReservationZeroPackageExcel; import com.logpm.distribution.mapper.DistributionReservationZeroPackageMapper; import com.logpm.distribution.service.IDistributionReservationZeroPackageService; +import lombok.AllArgsConstructor; +import org.springblade.common.constant.reservation.ReservationPackageStatusConstant; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -36,8 +43,14 @@ import java.util.List; * @since 2023-10-08 */ @Service +@AllArgsConstructor public class DistributionReservationZeroPackageServiceImpl extends BaseServiceImpl implements IDistributionReservationZeroPackageService { + + private final IDistributionParcelListService distributionParcelListService; + private final IDistributionParcelNumberService distributionParcelNumberService; + + @Override public IPage selectDistributionReservationZeroPackagePage(IPage page, DistributionReservationZeroPackageVO distributionReservationZeroPackage) { return page.setRecords(baseMapper.selectDistributionReservationZeroPackagePage(page, distributionReservationZeroPackage)); @@ -81,4 +94,34 @@ public class DistributionReservationZeroPackageServiceImpl extends BaseServiceIm .in(DistributionReservationZeroPackageEntity::getZeroPackageStatus, "1", "3")); } + /** + * @param reservationId + * @param collect + */ + @Override + public void recoverZeroPackage(Long reservationId, List collect) { + String method = "###################DistributionReservationZeroPackageServiceImpl.recoverZeroPackage"; + List reservationZeroPackageEntities = this.list(Wrappers.query().lambda() + .eq(DistributionReservationZeroPackageEntity::getReservationId, reservationId) + .in(DistributionReservationZeroPackageEntity::getReservationId, collect) + .ne(DistributionReservationZeroPackageEntity::getZeroPackageStatus, ReservationPackageStatusConstant.quxiao.getValue()) + ); + for (DistributionReservationZeroPackageEntity reservationZeroPackageEntity : reservationZeroPackageEntities) { + //查询包件信息以及详情信息 + DistributionParcelListEntity parcelListEntity = distributionParcelListService.getById(reservationZeroPackageEntity.getParcelListId()); + DistributionParcelNumberEntity distributionParcelNumberEntity = distributionParcelNumberService.getOne(Wrappers.query().lambda().eq(DistributionParcelNumberEntity::getParcelListId, parcelListEntity.getId())); + //进行预约数量的扣减 + int i = distributionParcelNumberEntity.getDeliveryQuantity() + distributionParcelNumberEntity.getQuantity(); + distributionParcelNumberEntity.setDeliveryQuantity(i); + distributionParcelNumberService.updateById(distributionParcelNumberEntity); + reservationZeroPackageEntity.setQuantity(0); + reservationZeroPackageEntity.setZeroPackageStatus(ReservationPackageStatusConstant.quxiao.getValue()); + this.updateById(reservationZeroPackageEntity); + + } + + + + } + } 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 63f04a677..454e0e37a 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 @@ -1492,7 +1492,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl p.getOrderPackageStatus().equals(OrderPackageStatusConstant.yiqianshou.getValue())); } - + //查询库存品是否都已完成签收 List disStockListDetailEntities = distributionReservationMapper.selectInventoryListByReservation(reservationId); if (Func.isNotEmpty(disStockListDetailEntities)) { flag = disStockListDetailEntities.stream().allMatch(p -> p.getStockSignfoStatus().equals(InventorySigningStatusConstant.yiqianshou.getValue())); From 7cb1566c103ef0fadba5bde96ea642ca5c497c72 Mon Sep 17 00:00:00 2001 From: "pref_mail@163.com" Date: Sun, 17 Mar 2024 01:03:46 +0800 Subject: [PATCH 5/7] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=BE=AA=E7=8E=AF?= =?UTF-8?q?=E4=BE=9D=E8=B5=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DistributionParcelListServiceImpl.java | 272 +++++++++--------- ...tionReservationZeroPackageServiceImpl.java | 26 +- 2 files changed, 154 insertions(+), 144 deletions(-) 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 ef1cf9b91..db92038b7 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 @@ -42,7 +42,6 @@ import com.logpm.warehouse.entity.WarehouseWaybillEntity; import com.logpm.warehouse.feign.IWarehouseTrayGoodsClient; import com.logpm.warehouse.feign.IWarehouseUpdownGoodsClient; import com.logpm.warehouse.feign.IWarehouseWaybillClient; -import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springblade.common.constant.DictBizConstant; import org.springblade.common.constant.order.OrderStockupStatusConstant; @@ -63,6 +62,7 @@ import org.springblade.system.cache.DictBizCache; import org.springblade.system.feign.IUserClient; import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -76,36 +76,45 @@ import java.util.stream.Collectors; * @since 2023-06-13 */ @Service -@AllArgsConstructor @Slf4j public class DistributionParcelListServiceImpl extends BaseServiceImpl implements IDistributionParcelListService { - private final IBasicdataWarehouseClient basicdataWarehouseClient; - - private final IWarehouseUpdownGoodsClient warehouseUpdownGoodsClient; - private final IWarehouseTrayGoodsClient warehouseTrayGoodsClient; - - private final IDistributionParcelNumberService distributionParcelNumberService; - - private final DistributionStockArticleMapper distributionStockArticleMapper; - - private final IDistributionParcelDetailsService distributionParcelDetailsService; - - private final IBasicMaterialClient basicMaterialClient; - - private final IDistributionStockListInfoService distributionStockListInfoService; - private final IDistributionStockListService distributionStockListService; - - private final IDistributionReservationZeroPackageService reservationZeroPackageService; - - private final IDistrilbutionBillPackageService distrilbutionBillPackageService; - private final IBasicdataWarehouseClient warehouseClient; - - private final RabbitTemplate rabbitTemplate; - - private final IWarehouseWaybillClient warehouseWaybillClient; - private final IBasicdataClientClient basicdataClientClient; - private final IUserClient userClient; + @Autowired + private IBasicdataWarehouseClient basicdataWarehouseClient; + @Autowired + private IWarehouseUpdownGoodsClient warehouseUpdownGoodsClient; + @Autowired + private IWarehouseTrayGoodsClient warehouseTrayGoodsClient; + @Autowired + private IDistributionParcelNumberService distributionParcelNumberService; + + @Autowired + private DistributionStockArticleMapper distributionStockArticleMapper; + @Autowired + private IDistributionParcelDetailsService distributionParcelDetailsService; + @Autowired + private IBasicMaterialClient basicMaterialClient; + @Autowired + private IDistributionStockListInfoService distributionStockListInfoService; + @Autowired + private IDistributionStockListService distributionStockListService; + + @Autowired + private IDistributionReservationZeroPackageService reservationZeroPackageService; + + + @Autowired + private IDistrilbutionBillPackageService distrilbutionBillPackageService; + @Autowired + private IBasicdataWarehouseClient warehouseClient; + @Autowired + private RabbitTemplate rabbitTemplate; + @Autowired + private IWarehouseWaybillClient warehouseWaybillClient; + @Autowired + private IBasicdataClientClient basicdataClientClient; + @Autowired + private IUserClient userClient; // private final IDistributionStockArticleService distributionStockArticleService; @Override @@ -213,8 +222,7 @@ public class DistributionParcelListServiceImpl extends BaseServiceImpl queryWrapper = new QueryWrapper<>(); // queryWrapper.eq("order_package_code",orderPackageCode) // .eq("warehouse_id",warehouseId) @@ -224,10 +232,10 @@ public class DistributionParcelListServiceImpl extends BaseServiceImpl>>>>> updateGroundingStatus 异常信息",e); + log.error(">>>>>> updateGroundingStatus 异常信息", e); } @@ -455,58 +463,58 @@ public class DistributionParcelListServiceImpl extends BaseServiceImpl listString = new HashSet<>(); - log.info("###############包件信息>>>>>>>>>>>>,{}",list1); + log.info("###############包件信息>>>>>>>>>>>>,{}", list1); Map> listMap = list1.stream().collect(Collectors.groupingBy(DistributionParcelListEntity::getMaterialId)); - log.info("###############包件信息listMap>>>>>>>>>>>>,{}",listMap); + log.info("###############包件信息listMap>>>>>>>>>>>>,{}", listMap); listMap.forEach((k, v) -> { - int sum = v.stream().mapToInt(DistributionParcelListEntity::getQuantity).sum(); - List packageIds = new ArrayList<>(); - v.stream().forEach(i -> { - //查询有没有打托数据 - - //查询包件有没有物料 - List list = distributionParcelDetailsService.list(Wrappers.query().lambda() - .eq(DistributionParcelDetailsEntity::getParcelListId, i.getId()) - ); - if (!list.isEmpty()) { - //有 - list.stream().collect(Collectors.groupingBy(DistributionParcelDetailsEntity::getEncoded)) - .forEach((kk, vv) -> { - DistributionParcelListEntity parcelListEntity = new DistributionParcelListEntity(); - BeanUtil.copyProperties(vv.get(0), parcelListEntity); - parcelListEntity.setQuantity(sum); - parcelListEntity.setMaterialName(vv.get(0).getName()); - parcelListEntity.setMaterialCode(vv.get(0).getEncoded()); - parcelListEntity.setMaterialUnit(vv.get(0).getUnit()); - // 添加库存品信息 - //查询在库订单信息 - DistributionStockArticleEntity distributionStockArticleEntity = distributionStockArticleMapper.selectById(parcelListEntity.getStockArticleId()); - if (ObjectUtil.isEmpty(distributionStockArticleEntity.getMallId())) { - throw new ServiceException("订单的客户数据异常,无法转换!!"); - } - addStockList(distributionStockArticleEntity, parcelListEntity, 1); - }); - } - //修改状态 - DistributionParcelListEntity parcelList = new DistributionParcelListEntity(); - parcelList.setId(i.getId()); - parcelList.setConditions(2); - baseMapper.updateById(parcelList); - listString.add(i.getStockArticleId()); - //生成包件转库存品记录 - packageIds.add(parcelList.getId()); - }); - DistributionParcelListEntity parcelListEntity = new DistributionParcelListEntity(); - BeanUtil.copyProperties(v.get(0), parcelListEntity); - parcelListEntity.setQuantity(sum); - // 添加库存品信息 - DistributionStockArticleEntity distributionStockArticleEntity = distributionStockArticleMapper.selectById(parcelListEntity.getStockArticleId()); - if (ObjectUtil.isEmpty(distributionStockArticleEntity.getMallId())) { - throw new ServiceException("订单的客户数据异常,无法转换!!"); + int sum = v.stream().mapToInt(DistributionParcelListEntity::getQuantity).sum(); + List packageIds = new ArrayList<>(); + v.stream().forEach(i -> { + //查询有没有打托数据 + + //查询包件有没有物料 + List list = distributionParcelDetailsService.list(Wrappers.query().lambda() + .eq(DistributionParcelDetailsEntity::getParcelListId, i.getId()) + ); + if (!list.isEmpty()) { + //有 + list.stream().collect(Collectors.groupingBy(DistributionParcelDetailsEntity::getEncoded)) + .forEach((kk, vv) -> { + DistributionParcelListEntity parcelListEntity = new DistributionParcelListEntity(); + BeanUtil.copyProperties(vv.get(0), parcelListEntity); + parcelListEntity.setQuantity(sum); + parcelListEntity.setMaterialName(vv.get(0).getName()); + parcelListEntity.setMaterialCode(vv.get(0).getEncoded()); + parcelListEntity.setMaterialUnit(vv.get(0).getUnit()); + // 添加库存品信息 + //查询在库订单信息 + DistributionStockArticleEntity distributionStockArticleEntity = distributionStockArticleMapper.selectById(parcelListEntity.getStockArticleId()); + if (ObjectUtil.isEmpty(distributionStockArticleEntity.getMallId())) { + throw new ServiceException("订单的客户数据异常,无法转换!!"); + } + addStockList(distributionStockArticleEntity, parcelListEntity, 1); + }); } - addStockListByPackage(distributionStockArticleEntity, packageIds, 1); + //修改状态 + DistributionParcelListEntity parcelList = new DistributionParcelListEntity(); + parcelList.setId(i.getId()); + parcelList.setConditions(2); + baseMapper.updateById(parcelList); + listString.add(i.getStockArticleId()); + //生成包件转库存品记录 + packageIds.add(parcelList.getId()); }); + DistributionParcelListEntity parcelListEntity = new DistributionParcelListEntity(); + BeanUtil.copyProperties(v.get(0), parcelListEntity); + parcelListEntity.setQuantity(sum); + // 添加库存品信息 + DistributionStockArticleEntity distributionStockArticleEntity = distributionStockArticleMapper.selectById(parcelListEntity.getStockArticleId()); + if (ObjectUtil.isEmpty(distributionStockArticleEntity.getMallId())) { + throw new ServiceException("订单的客户数据异常,无法转换!!"); + } + addStockListByPackage(distributionStockArticleEntity, packageIds, 1); + }); listString.forEach(oo -> { DistributionStockArticleEntity stockArticleEntity1 = distributionStockArticleMapper.selectById(oo); if (ObjectUtils.isNull(stockArticleEntity1)) { @@ -661,16 +669,16 @@ public class DistributionParcelListServiceImpl extends BaseServiceImpl updateEntityByOpenOrder(Long advanceId, Long warehouseId, Long waybillId) { WarehouseWaybillEntity waybillEntity = warehouseWaybillClient.findByWaybillId(waybillId); - if(Objects.isNull(waybillEntity)){ - log.warn("############updateEntityByOpenOrder: 运单信息不存在 waybillId={}",waybillId); - throw new CustomerException(405,"运单信息不存在"); + if (Objects.isNull(waybillEntity)) { + log.warn("############updateEntityByOpenOrder: 运单信息不存在 waybillId={}", waybillId); + throw new CustomerException(405, "运单信息不存在"); } Long departureWarehouseId = waybillEntity.getDepartureWarehouseId(); String departureWarehouseName = waybillEntity.getDepartureWarehouseName(); @@ -679,21 +687,21 @@ public class DistributionParcelListServiceImpl extends BaseServiceImpl queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("advance_id",advanceId) - .eq("warehouse_id",warehouseId) - .eq("is_deleted",0); + queryWrapper.eq("advance_id", advanceId) + .eq("warehouse_id", warehouseId) + .eq("is_deleted", 0); List listEntityList = baseMapper.selectList(queryWrapper); Set orderCodes = new TreeSet<>(); for (DistributionParcelListEntity parcelListEntity : listEntityList) { - parcelListEntity.setWaybillId(waybillId+""); + parcelListEntity.setWaybillId(waybillId + ""); parcelListEntity.setWaybillNumber(waybillNo); parcelListEntity.setSendWarehouseId(departureWarehouseId); parcelListEntity.setSendWarehouseName(departureWarehouseName); parcelListEntity.setAcceptWarehouseId(destinationWarehouseId); parcelListEntity.setAcceptWarehouseName(destinationWarehouseName); - if(departureWarehouseId.equals(destinationWarehouseId)){ + if (departureWarehouseId.equals(destinationWarehouseId)) { parcelListEntity.setIsTransfer(0); - }else{ + } else { parcelListEntity.setIsTransfer(1); } orderCodes.add(parcelListEntity.getOrderCode()); @@ -703,12 +711,12 @@ public class DistributionParcelListServiceImpl extends BaseServiceImpl stockArticleEntityQueryWrapper = new QueryWrapper<>(); - stockArticleEntityQueryWrapper.eq("order_code",orderCode) - .eq("warehouse_id",warehouseId) - .eq("is_deleted",0); + stockArticleEntityQueryWrapper.eq("order_code", orderCode) + .eq("warehouse_id", warehouseId) + .eq("is_deleted", 0); DistributionStockArticleEntity stockArticleEntity = distributionStockArticleMapper.selectOne(stockArticleEntityQueryWrapper); - if(Objects.isNull(stockArticleEntity)){ - log.error("############updateEntityByOpenOrder: 未找到订单信息 orderCode={}",orderCode); + if (Objects.isNull(stockArticleEntity)) { + log.error("############updateEntityByOpenOrder: 未找到订单信息 orderCode={}", orderCode); continue; } Long consigneeId = waybillEntity.getConsigneeId(); @@ -726,7 +734,6 @@ public class DistributionParcelListServiceImpl extends BaseServiceImpl>>>>>>>,{}",distributionStockListEntity); + log.info("###########distributionStockListEntity>>>>>>>>,{}", distributionStockListEntity); distributionStockListService.save(distributionStockListEntity); } // distributionStockListEntity.setTrayName(Optional.ofNullable(distributionParcelList.getPallet()).orElse(null)); //托盘 @@ -939,6 +946,7 @@ public class DistributionParcelListServiceImpl extends BaseServiceImpl findByWaybillNumber(String waybillNumber) { return baseMapper.findByWaybillNumber(waybillNumber); @@ -957,13 +965,13 @@ public class DistributionParcelListServiceImpl extends BaseServiceImpl parcelListNodeVOS = new ArrayList<>(); @@ -984,50 +992,50 @@ public class DistributionParcelListServiceImpl extends BaseServiceImpl allocationAndTrayPackage = baseMapper.selectPackageAllocationAndTray(parcelListEntity.getOrderPackageCode(),myCurrentWarehouse.getId()); - if (Func.isNotEmpty(allocationAndTrayPackage)){ + List allocationAndTrayPackage = baseMapper.selectPackageAllocationAndTray(parcelListEntity.getOrderPackageCode(), myCurrentWarehouse.getId()); + if (Func.isNotEmpty(allocationAndTrayPackage)) { parcelListNodeVOS.addAll(allocationAndTrayPackage); } //3、计划配送 //查询计划配送件数 - List planDeliveryPackage =baseMapper.selectPackagePlanDelivery(parcelListEntity.getOrderPackageCode(),myCurrentWarehouse.getId()); - if (Func.isNotEmpty(planDeliveryPackage)){ + List planDeliveryPackage = baseMapper.selectPackagePlanDelivery(parcelListEntity.getOrderPackageCode(), myCurrentWarehouse.getId()); + if (Func.isNotEmpty(planDeliveryPackage)) { parcelListNodeVOS.addAll(planDeliveryPackage); } //查询计划取消的包件 - List cancelPlanDeliveryPackage = baseMapper.selectPackageCancelPlanDelivery(parcelListEntity.getOrderPackageCode(),myCurrentWarehouse.getId()); - if (Func.isNotEmpty(cancelPlanDeliveryPackage)){ + List cancelPlanDeliveryPackage = baseMapper.selectPackageCancelPlanDelivery(parcelListEntity.getOrderPackageCode(), myCurrentWarehouse.getId()); + if (Func.isNotEmpty(cancelPlanDeliveryPackage)) { parcelListNodeVOS.addAll(cancelPlanDeliveryPackage); } //查询备货 - List StockUpPackage = baseMapper.selectPackageStockUp(parcelListEntity.getOrderPackageCode(),myCurrentWarehouse.getId()); - if (Func.isNotEmpty(StockUpPackage)){ + List StockUpPackage = baseMapper.selectPackageStockUp(parcelListEntity.getOrderPackageCode(), myCurrentWarehouse.getId()); + if (Func.isNotEmpty(StockUpPackage)) { parcelListNodeVOS.addAll(StockUpPackage); } //4、装车扫描 - List loadingPackage =baseMapper.selectPackageLoading(parcelListEntity.getOrderPackageCode(),myCurrentWarehouse.getId()); - if (Func.isNotEmpty(loadingPackage)){ + List loadingPackage = baseMapper.selectPackageLoading(parcelListEntity.getOrderPackageCode(), myCurrentWarehouse.getId()); + if (Func.isNotEmpty(loadingPackage)) { parcelListNodeVOS.addAll(loadingPackage); } //查询取消装车 - List cancelLoadingPackage =baseMapper.selectPackageCancelLoading(parcelListEntity.getOrderPackageCode(),myCurrentWarehouse.getId()); - if (Func.isNotEmpty(cancelLoadingPackage)){ + List cancelLoadingPackage = baseMapper.selectPackageCancelLoading(parcelListEntity.getOrderPackageCode(), myCurrentWarehouse.getId()); + if (Func.isNotEmpty(cancelLoadingPackage)) { parcelListNodeVOS.addAll(cancelLoadingPackage); } //5、签收扫描 - DistributionParcelListNodeVO signingPackage =baseMapper.selectPackageCancelSigning(parcelListEntity.getOrderPackageCode(),myCurrentWarehouse.getId()); - if (Func.isNotEmpty(signingPackage)){ + DistributionParcelListNodeVO signingPackage = baseMapper.selectPackageCancelSigning(parcelListEntity.getOrderPackageCode(), myCurrentWarehouse.getId()); + if (Func.isNotEmpty(signingPackage)) { parcelListNodeVOS.add(signingPackage); } //查询异常审核记录 - DistributionParcelListNodeVO examineAbnormalPackage =baseMapper.selectPackageExamineAbnormal(parcelListEntity.getOrderPackageCode(),myCurrentWarehouse.getId()); - if (Func.isNotEmpty(examineAbnormalPackage)){ + DistributionParcelListNodeVO examineAbnormalPackage = baseMapper.selectPackageExamineAbnormal(parcelListEntity.getOrderPackageCode(), myCurrentWarehouse.getId()); + if (Func.isNotEmpty(examineAbnormalPackage)) { parcelListNodeVOS.add(examineAbnormalPackage); } List listNodeVOS = null; - if (Func.isNotEmpty(parcelListNodeVOS)){ - parcelListNodeVOS.forEach(p->{ - if (Func.isNotEmpty(p.getNodeControlsUserId()) && Func.isEmpty(p.getNodeControlsUserName())){ + if (Func.isNotEmpty(parcelListNodeVOS)) { + parcelListNodeVOS.forEach(p -> { + if (Func.isNotEmpty(p.getNodeControlsUserId()) && Func.isEmpty(p.getNodeControlsUserName())) { p.setNodeControlsUserName(userClient.userInfoById(p.getNodeControlsUserId()).getData().getName()); } }); @@ -1041,11 +1049,11 @@ public class DistributionParcelListServiceImpl extends BaseServiceImpl findEntityListByOrderCodeAndStatus(String orderCode, Long warehouseId, String packageStatus) { QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("order_code",orderCode) - .eq("warehouse_id",warehouseId) - .eq("order_package_status",packageStatus) - .eq("is_transfer",1) - .eq("is_deleted",0); + queryWrapper.eq("order_code", orderCode) + .eq("warehouse_id", warehouseId) + .eq("order_package_status", packageStatus) + .eq("is_transfer", 1) + .eq("is_deleted", 0); return baseMapper.selectList(queryWrapper); } @@ -1057,20 +1065,20 @@ public class DistributionParcelListServiceImpl extends BaseServiceImplquery().lambda() .eq(DistributionParcelNumberEntity::getParcelListId, parcelListEntity.getId()) ); - if ((distributionParcelNumberEntity.getDeliveryQuantity() + distributionParcelNumberEntity.getOutboundQuantity())== parcelListEntity.getQuantity()){ + if ((distributionParcelNumberEntity.getDeliveryQuantity() + distributionParcelNumberEntity.getOutboundQuantity()) == parcelListEntity.getQuantity()) { parcelListEntity.setOrderPackageReservationStatus(OrderPackageReservationStatusConstant.yiyueyue.getValue()); } - if (distributionParcelNumberEntity.getOutboundQuantity() == parcelListEntity.getQuantity()){ + if (distributionParcelNumberEntity.getOutboundQuantity() == parcelListEntity.getQuantity()) { parcelListEntity.setOrderPackageLoadingStatus(OrderPackageLoadingStatusConstant.yizhuangche.getValue()); parcelListEntity.setOrderPackageStatus(OrderPackageStatusConstant.yichuku.getValue()); } - if (distributionParcelNumberEntity.getSigninQuantity() == parcelListEntity.getQuantity()){ + if (distributionParcelNumberEntity.getSigninQuantity() == parcelListEntity.getQuantity()) { parcelListEntity.setOrderPackageStatus(OrderPackageStatusConstant.yiqianshou.getValue()); - }else if (distributionParcelNumberEntity.getSigninQuantity() > 0){ + } else if (distributionParcelNumberEntity.getSigninQuantity() > 0) { parcelListEntity.setOrderPackageStatus(OrderPackageStatusConstant.bufenqianshou.getValue()); } this.updateById(parcelListEntity); diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationZeroPackageServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationZeroPackageServiceImpl.java index 4916b7d3d..0cd250b7c 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationZeroPackageServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationZeroPackageServiceImpl.java @@ -16,24 +16,25 @@ */ package com.logpm.distribution.service.impl; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.logpm.distribution.entity.DistributionLoadscanEntity; import com.logpm.distribution.entity.DistributionParcelListEntity; import com.logpm.distribution.entity.DistributionParcelNumberEntity; import com.logpm.distribution.entity.DistributionReservationZeroPackageEntity; -import com.logpm.distribution.service.IDistributionParcelListService; -import com.logpm.distribution.service.IDistributionParcelNumberService; -import com.logpm.distribution.vo.DistributionReservationZeroPackageVO; import com.logpm.distribution.excel.DistributionReservationZeroPackageExcel; +import com.logpm.distribution.mapper.DistributionParcelListMapper; import com.logpm.distribution.mapper.DistributionReservationZeroPackageMapper; +import com.logpm.distribution.service.IDistributionParcelListService; +import com.logpm.distribution.service.IDistributionParcelNumberService; import com.logpm.distribution.service.IDistributionReservationZeroPackageService; -import lombok.AllArgsConstructor; +import com.logpm.distribution.vo.DistributionReservationZeroPackageVO; import org.springblade.common.constant.reservation.ReservationPackageStatusConstant; -import org.springframework.stereotype.Service; -import com.baomidou.mybatisplus.core.conditions.Wrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; import org.springblade.core.mp.base.BaseServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + import java.util.List; /** @@ -43,12 +44,13 @@ import java.util.List; * @since 2023-10-08 */ @Service -@AllArgsConstructor public class DistributionReservationZeroPackageServiceImpl extends BaseServiceImpl implements IDistributionReservationZeroPackageService { - private final IDistributionParcelListService distributionParcelListService; - private final IDistributionParcelNumberService distributionParcelNumberService; + @Autowired + private DistributionParcelListMapper distributionParcelListMapper; + @Autowired + private IDistributionParcelNumberService distributionParcelNumberService; @Override @@ -108,7 +110,7 @@ public class DistributionReservationZeroPackageServiceImpl extends BaseServiceIm ); for (DistributionReservationZeroPackageEntity reservationZeroPackageEntity : reservationZeroPackageEntities) { //查询包件信息以及详情信息 - DistributionParcelListEntity parcelListEntity = distributionParcelListService.getById(reservationZeroPackageEntity.getParcelListId()); + DistributionParcelListEntity parcelListEntity = distributionParcelListMapper.selectById(reservationZeroPackageEntity.getParcelListId()); DistributionParcelNumberEntity distributionParcelNumberEntity = distributionParcelNumberService.getOne(Wrappers.query().lambda().eq(DistributionParcelNumberEntity::getParcelListId, parcelListEntity.getId())); //进行预约数量的扣减 int i = distributionParcelNumberEntity.getDeliveryQuantity() + distributionParcelNumberEntity.getQuantity(); From a38e0693fb925a1ee396af91b6845f160eef3532 Mon Sep 17 00:00:00 2001 From: zhenghaoyu Date: Sun, 17 Mar 2024 01:18:24 +0800 Subject: [PATCH 6/7] =?UTF-8?q?1.=E5=A4=87=E8=B4=A7=E8=AF=A6=E6=83=85?= =?UTF-8?q?=E5=BA=93=E5=AD=98=E5=93=81=E8=AF=A6=E6=83=85=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../feign/IDistributionStockListClient.java | 3 ++ .../IDistributionStockListInfoClient.java | 4 ++ .../vo/DistributionStockupVO.java | 1 + .../feign/IWarehouseUpdownTypeClient.java | 3 ++ .../feign/DistributionStockListClient.java | 5 ++ .../DistributionStockListInfoClient.java | 8 +++ .../DistributionStockListInfoMapper.java | 2 +- .../DistributionStockListInfoMapper.xml | 10 ++++ .../mapper/DistributionStockListMapper.java | 2 + .../mapper/DistributionStockListMapper.xml | 10 ++++ .../mapper/DistributionStockupMapper.xml | 53 +++++++++---------- .../IDistributionStockListInfoService.java | 4 +- .../IDistributionStockListService.java | 2 + .../DistributionStockListInfoServiceImpl.java | 5 ++ .../DistributionStockListServiceImpl.java | 5 ++ .../impl/DistributionStockupServiceImpl.java | 14 ++++- .../feign/WarehouseUpdownTypeClient.java | 5 ++ .../mapper/WarehouseUpdownGoodsMapper.java | 4 ++ .../mapper/WarehouseUpdownGoodsMapper.xml | 21 ++++++++ .../service/IWarehouseUpdownGoodsService.java | 4 ++ .../service/IWarehouseUpdownTypeService.java | 2 + .../impl/WarehouseUpdownGoodsServiceImpl.java | 10 ++++ .../impl/WarehouseUpdownTypeServiceImpl.java | 17 ++++++ 23 files changed, 164 insertions(+), 30 deletions(-) diff --git a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionStockListClient.java b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionStockListClient.java index c5846b971..1998a5498 100644 --- a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionStockListClient.java +++ b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionStockListClient.java @@ -130,4 +130,7 @@ public interface IDistributionStockListClient { @GetMapping(API_PREFIX+"/updeteSourceTypeById") void updeteSourceTypeById(@RequestParam String sourceType, @RequestParam Long stockListId); + + @GetMapping(API_PREFIX+"/getListByMarketIdAndSku") + List getListByMarketIdAndSku(@RequestParam Long mallId, @RequestParam String sku, @RequestParam Long warehouseId); } diff --git a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionStockListInfoClient.java b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionStockListInfoClient.java index 883a71487..9c76902b6 100644 --- a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionStockListInfoClient.java +++ b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionStockListInfoClient.java @@ -25,6 +25,8 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; +import java.util.List; + /** * 库存品明细 Feign接口类 * @@ -57,4 +59,6 @@ public interface IDistributionStockListInfoClient { @PostMapping(ADDSTOCKLISTINFOENTITY) boolean addStockListInfoEntity(@RequestBody DistributionStockListInfoEntity distributionStockListInfo); + @GetMapping(API_PREFIX + "/getAllOrderPackageCodes") + List getAllOrderPackageCodes(@RequestParam String incomingBatch, @RequestParam String sku, @RequestParam Long mallId, @RequestParam Long warehouseId); } diff --git a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionStockupVO.java b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionStockupVO.java index aa4bd36b0..2cdecbcf4 100644 --- a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionStockupVO.java +++ b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionStockupVO.java @@ -66,6 +66,7 @@ public class DistributionStockupVO extends DistributionStockupEntity { private String deliveryAddress; private String deliveryPhone; private String mallName; + private Long mallId; private String stockArticleId; private String orderCode; //订单自编号 private String descriptionGoods; diff --git a/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/feign/IWarehouseUpdownTypeClient.java b/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/feign/IWarehouseUpdownTypeClient.java index 545dea1b9..5761d863b 100644 --- a/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/feign/IWarehouseUpdownTypeClient.java +++ b/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/feign/IWarehouseUpdownTypeClient.java @@ -75,4 +75,7 @@ public interface IWarehouseUpdownTypeClient { R findAllGoodsByAllocationId(@RequestParam Long allocationId, @RequestParam Long warehouseId); @GetMapping(TOP + "/findZeroAllocation") List findZeroAllocation(@RequestParam String orderCode, @RequestParam Long warehouseId); + + @GetMapping(API_PREFIX+"/findStockListAllocations") + String findStockListAllocations(@RequestParam Long warehouseId, @RequestParam Long mallId, @RequestParam String sku); } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionStockListClient.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionStockListClient.java index 06b7328c6..b93cf236d 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionStockListClient.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionStockListClient.java @@ -199,4 +199,9 @@ public class DistributionStockListClient implements IDistributionStockListClient public void updeteSourceTypeById(String sourceType, Long stockListId) { distributionStockListService.updeteSourceTypeById(sourceType,stockListId); } + + @Override + public List getListByMarketIdAndSku(Long mallId, String sku, Long warehouseId) { + return distributionStockListService.getListByMarketIdAndSku(mallId,sku,warehouseId); + } } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionStockListInfoClient.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionStockListInfoClient.java index e0f811056..cb93656d4 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionStockListInfoClient.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionStockListInfoClient.java @@ -16,6 +16,7 @@ */ package com.logpm.distribution.feign; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.logpm.distribution.entity.DistributionStockListInfoEntity; import com.logpm.distribution.service.IDistributionStockListInfoService; @@ -28,6 +29,8 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RestController; import springfox.documentation.annotations.ApiIgnore; +import java.util.List; + /** * 库存品明细 Feign实现类 * @@ -57,4 +60,9 @@ public class DistributionStockListInfoClient implements IDistributionStockListIn return distributionStockListInfoService.save(distributionStockListInfo); } + @Override + public List getAllOrderPackageCodes(String incomingBatch, String sku, Long mallId, Long warehouseId) { + return distributionStockListInfoService.getAllOrderPackageCodes(incomingBatch,sku,mallId,warehouseId); + } + } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockListInfoMapper.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockListInfoMapper.java index fb53eb126..c13502730 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockListInfoMapper.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockListInfoMapper.java @@ -20,7 +20,6 @@ import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.logpm.distribution.entity.DistributionStockListInfoEntity; -import com.logpm.distribution.excel.DistributionStockListInfoExcel; import com.logpm.distribution.vo.DistributionStockListInfoVO; import org.apache.ibatis.annotations.Param; @@ -57,4 +56,5 @@ public interface DistributionStockListInfoMapper extends BaseMapper getStockListInfo(IPage page,@Param("par") Map distributionStockListInfo); + List getAllOrderPackageCodes(@Param("incomingBatch") String incomingBatch, @Param("sku") String sku, @Param("mallId") Long mallId, @Param("warehouseId") Long warehouseId); } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockListInfoMapper.xml b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockListInfoMapper.xml index ce9678bca..6b47f77ee 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockListInfoMapper.xml +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockListInfoMapper.xml @@ -105,4 +105,14 @@ warehouse_id=#{par.warehouseId} AND is_deleted = 0 ) OR (stock_list_id =#{par.stockListId} AND is_deleted = 0) + + + diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockListMapper.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockListMapper.java index 41fcf1452..514488ca4 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockListMapper.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockListMapper.java @@ -154,4 +154,6 @@ public interface DistributionStockListMapper extends BaseMapper selectMerchantNotHaveDataStockListInfo(@Param("stockListId")Long id); IPage listAllocationOrder(IPage page, @Param("param") DistributionStockListEntity distributionStockListEntity); + + List getListByMarketIdAndSku(@Param("mallId")Long mallId, @Param("sku")String sku, @Param("warehouseId")Long warehouseId); } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockListMapper.xml b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockListMapper.xml index 04dfc1663..a1697f7f5 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockListMapper.xml +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockListMapper.xml @@ -592,4 +592,14 @@ UPDATE logpm_distribution_stock_list SET quantity_occupied = (quantity_occupied - #{num}) WHERE id = #{stockListId} + + diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockupMapper.xml b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockupMapper.xml index bca20f3a3..4ffedc255 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockupMapper.xml +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockupMapper.xml @@ -866,7 +866,8 @@ from logpm_distribution_reservation_package ldrp LEFT JOIN logpm_warehouse_updown_goods lwug on lwug.association_id = ldrp.parce_list_id where ldrp.reservation_id = ldsi.reservation_id - ) goodsAllocation,ldr.stockup_status stockStatus, + ) goodsAllocation, + ldr.stockup_status stockStatus, ldr.reservation_num reservationNum, ldr.reservation_stock_list_num reservationStockListNum from logpm_distribution_reservation ldr @@ -910,33 +911,31 @@ + + + diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseUpdownGoodsService.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseUpdownGoodsService.java index cbf908562..88af6a62d 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseUpdownGoodsService.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseUpdownGoodsService.java @@ -150,4 +150,8 @@ public interface IWarehouseUpdownGoodsService extends BaseService findStockOrderDetailList(Long allocationId, Long warehouseId); List orderUpshelfDetailByAllocationId(String orderCode, Long allocationId, Long warehouseId); + + List getAllocationsByOrderPackages(List orderPackageOrders, Long warehouseId); + + List getAllocationsByWarehouseIdAndMarketIdAndSku(Long mallId, String sku, Long warehouseId); } diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseUpdownTypeService.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseUpdownTypeService.java index 213e9934c..e23a2031b 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseUpdownTypeService.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseUpdownTypeService.java @@ -88,4 +88,6 @@ public interface IWarehouseUpdownTypeService extends BaseService orderUpshelfDetailByAllocationId(String orderCode, Long allocationId, Long warehouseId); + + String findStockListAllocations(Long warehouseId, Long mallId, String sku); } diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownGoodsServiceImpl.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownGoodsServiceImpl.java index af9d5a2d7..58b020cbf 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownGoodsServiceImpl.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownGoodsServiceImpl.java @@ -263,4 +263,14 @@ public class WarehouseUpdownGoodsServiceImpl extends BaseServiceImpl getAllocationsByOrderPackages(List orderPackageOrders, Long warehouseId) { + return baseMapper.getAllocationsByOrderPackages(orderPackageOrders,warehouseId); + } + + @Override + public List getAllocationsByWarehouseIdAndMarketIdAndSku(Long mallId, String sku, Long warehouseId) { + return baseMapper.getAllocationsByWarehouseIdAndMarketIdAndSku(mallId,sku,warehouseId); + } + } diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownTypeServiceImpl.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownTypeServiceImpl.java index a9b29c915..f9c9b77b6 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownTypeServiceImpl.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownTypeServiceImpl.java @@ -10,6 +10,7 @@ import com.logpm.distribution.entity.DistributionStockListEntity; import com.logpm.distribution.feign.IDistributionParcelListClient; import com.logpm.distribution.feign.IDistributionStockArticleClient; import com.logpm.distribution.feign.IDistributionStockListClient; +import com.logpm.distribution.feign.IDistributionStockListInfoClient; import com.logpm.warehouse.bean.Resp; import com.logpm.warehouse.dto.*; import com.logpm.warehouse.entity.*; @@ -51,6 +52,7 @@ public class WarehouseUpdownTypeServiceImpl extends BaseServiceImpl orderPackageCodes) { @@ -157,6 +159,21 @@ public class WarehouseUpdownTypeServiceImpl extends BaseServiceImpl stockListEntityList = distributionStockListClient.getListByMarketIdAndSku(mallId, sku, warehouseId); + Set allocations = new HashSet<>(); + for (DistributionStockListEntity stockListEntity : stockListEntityList) { + String incomingBatch = stockListEntity.getIncomingBatch(); + List orderPackageOrders = distributionStockListInfoClient.getAllOrderPackageCodes(incomingBatch,sku,mallId,warehouseId); + allocations.addAll(warehouseUpdownGoodsService.getAllocationsByOrderPackages(orderPackageOrders,warehouseId)); + } + + allocations.addAll(warehouseUpdownGoodsService.getAllocationsByWarehouseIdAndMarketIdAndSku(mallId,sku,warehouseId)); + + return String.join(",",allocations); + } + private void packageChangeStockByAllocaton(WarehouseUpdownGoodsEntity one) { //当前登录人选择的仓库 From 424be41f7b1c0a828b93c5a6e2e01ea08f35c571 Mon Sep 17 00:00:00 2001 From: PigBaoBei <2739175034@qq.com> Date: Sun, 17 Mar 2024 01:28:33 +0800 Subject: [PATCH 7/7] =?UTF-8?q?=E9=9B=B6=E6=8B=85=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E6=89=B9=E9=87=8F=E7=AD=BE=E6=94=B6=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../distribution/mapper/DistributionReservationMapper.xml | 2 +- .../service/impl/DistributionSignforServiceImpl.java | 4 +--- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.xml b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.xml index 02e7d13cd..fbb6afa6a 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.xml +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.xml @@ -1715,7 +1715,7 @@ ldpl.id AS id, ldrzp.quantity AS reservationNum, IF(ldl.loaded_nub is null,0,ldl.loaded_nub) AS loadingNum, - IF(ldl.loaded_nub is null,0,ldl.loaded_nub) AS signingNum , + IF(ldl.received_quantity is null,0,ldl.loaded_nub) AS signingNum , CASE IF(ldl.loaded_nub is null,0,ldl.loaded_nub) WHEN 0 THEN '待装车' ELSE IF(ldl.loaded_nub = ldrzp.quantity,'已装车','部分装车') 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 454e0e37a..692d09cec 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 @@ -900,8 +900,6 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl deliverySelfInfo = distributionDeliverySelfMapper.getDeliverySelfInfo(deliveryListEntity.getId()); //查询该车次负责司机 - - for (DistributionReservationZeroPackageEntity reservationZeroPackageEntity : reservationZeroPackageEntities) { //查询订单 DistributionStockArticleEntity stockArticleEntity = distributionStockArticleService.getById(reservationZeroPackageEntity.getStockArticleId()); @@ -919,7 +917,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImplquery().lambda() .eq(DistributionLoadscanEntity::getReservationId, reservationId) - .in(DistributionLoadscanEntity::getPackageId, list) + .in(DistributionLoadscanEntity::getPackageId, reservationZeroPackageEntity.getParcelListId()) .ne(DistributionLoadscanEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue()) ); if (Func.isEmpty(loadscanEntity)) {