From 51a00a09219765f045c638c326d0b45e0a5435a9 Mon Sep 17 00:00:00 2001 From: PigBaoBei <2739175034@qq.com> Date: Wed, 20 Mar 2024 15:14:44 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=B4=E6=8A=A4=E4=BB=93=E5=BA=93=E9=A2=84?= =?UTF-8?q?=E7=BA=A6=E5=8D=95=E7=8A=B6=E6=80=81=E8=A1=A5=E4=B8=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../feign/IDistributionReservationClient.java | 10 ++ .../feign/DistributionReservationClient.java | 10 ++ .../mapper/DistributionStockMapper.java | 7 + .../mapper/DistributionStockMapper.xml | 3 + .../IDistributionReservationService.java | 7 + .../DistributionReservationServiceImpl.java | 122 ++++++++++++------ .../jobhandle/DistributionDatarepair.java | 17 +++ 7 files changed, 139 insertions(+), 37 deletions(-) diff --git a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionReservationClient.java b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionReservationClient.java index 569dcf677..6148b01fb 100644 --- a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionReservationClient.java +++ b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionReservationClient.java @@ -21,6 +21,7 @@ import com.logpm.distribution.vo.DistributionRetentionScanVo; import org.apache.ibatis.annotations.Param; import org.springblade.common.constant.ModuleNameConstant; import org.springblade.core.mp.support.BladePage; +import org.springblade.core.tool.api.R; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -60,4 +61,13 @@ public interface IDistributionReservationClient { */ @GetMapping(TOP+"/getReservationList") List getReservationList(@RequestParam("reservationIds") String reservationIds); + + + /** + * 维护仓库预约信息 + * @param warehouseId + * @return + */ + @GetMapping(TOP+"/maintenanceReservationInfo") + R maintenanceReservationInfo(@RequestParam("warehouseId") String warehouseId); } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionReservationClient.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionReservationClient.java index 4bdf44549..9439a4ec1 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionReservationClient.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionReservationClient.java @@ -24,6 +24,7 @@ import lombok.AllArgsConstructor; import org.springblade.core.mp.support.BladePage; import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; +import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.Func; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @@ -59,5 +60,14 @@ public class DistributionReservationClient implements IDistributionReservationCl return reservationService.getRetentionReservationList(reservationIds); } + /** + * @param warehouseId + * @return + */ + @Override + public R maintenanceReservationInfo(String warehouseId) { + return reservationService.maintenanceReservationInfoByWarehouseId(warehouseId); + } + } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockMapper.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockMapper.java index be5176a44..19246bd0e 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockMapper.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockMapper.java @@ -92,4 +92,11 @@ public interface DistributionStockMapper extends BaseMapper SELECT IF(sum(stock_quantity) is null,0,sum(stock_quantity)) FROM logpm_distribution_stock WHERE stockup_id =#{stockUpId} AND is_deleted = 0 + diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionReservationService.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionReservationService.java index 00288840a..a5205bb8a 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionReservationService.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionReservationService.java @@ -275,4 +275,11 @@ public interface IDistributionReservationService extends BaseService distributionParcelListEntities = distributionReservationMapper.selectPackageListByReservationId(reservationId); - List disStockListDetailEntities = distributionReservationMapper.selectInventoryListByReservation(reservationId); - boolean loadStatus = false; - boolean signStatus = false; - if (Func.isNotEmpty(distributionParcelListEntities)){ - loadStatus = distributionParcelListEntities.stream().allMatch(p -> p.getOrderPackageLoadingStatus().equals(OrderPackageLoadingStatusConstant.yizhuangche.getValue())); - signStatus = distributionParcelListEntities.stream().allMatch(p->p.getOrderPackageStatus().equals(OrderPackageStatusConstant.yiqianshou.getValue())); - } - - if (Func.isNotEmpty(disStockListDetailEntities)){ - loadStatus = disStockListDetailEntities.stream().allMatch(p -> p.getStockLockingStatus().equals(OrderPackageLoadingStatusConstant.yizhuangche.getValue())); - signStatus = disStockListDetailEntities.stream().anyMatch(p->p.getStockSignfoStatus().equals(OrderPackageStatusConstant.yiqianshou.getValue())); - } + //已签收预约单不需要进行预约状态维护 预约单状态达到最终 + if (!ReservationSigningStatusConstant.yiqianshou.getValue().equals(reservationEntity.getSigningStatus())){ + List distributionParcelListEntities = distributionReservationMapper.selectPackageListByReservationId(reservationId); + List disStockListDetailEntities = distributionReservationMapper.selectInventoryListByReservation(reservationId); + boolean loadStatus = false; + boolean signStatus = false; + boolean stockUpStatus = false; + if (Func.isNotEmpty(distributionParcelListEntities)){ + loadStatus = distributionParcelListEntities.stream().allMatch(p -> p.getOrderPackageLoadingStatus().equals(OrderPackageLoadingStatusConstant.yizhuangche.getValue())); + signStatus = distributionParcelListEntities.stream().allMatch(p->p.getOrderPackageStatus().equals(OrderPackageStatusConstant.yiqianshou.getValue())); + stockUpStatus = distributionParcelListEntities.stream().allMatch(p->p.getOrderPackageStockupStatus().equals(OrderPackageStockupStatusConstant.yibeihu.getValue())); + } - if (loadStatus){ - reservationEntity.setLoadingStatus(ReservationLoadingStatusConstant.yizhuangche.getValue()); - }else { - //判断是否都为完成装车 - Integer loadingNum = distributionLoadscanMapper.selectLoadingNumByReservationId(reservationId); - if (Func.isEmpty(loadingNum)){ - if (loadingNum > 0){ - reservationEntity.setLoadingStatus(ReservationLoadingStatusConstant.bufenzhuangche.getValue()); - }else { + if (Func.isNotEmpty(disStockListDetailEntities)){ + loadStatus = disStockListDetailEntities.stream().allMatch(p -> p.getStockLockingStatus().equals(OrderPackageLoadingStatusConstant.yizhuangche.getValue())); + signStatus = disStockListDetailEntities.stream().anyMatch(p->p.getStockSignfoStatus().equals(OrderPackageStatusConstant.yiqianshou.getValue())); + stockUpStatus = disStockListDetailEntities.stream().allMatch(p->p.getStockStatus().equals(OrderPackageStockupStatusConstant.yibeihu.getValue())); + } - reservationEntity.setLoadingStatus(ReservationLoadingStatusConstant.daizhuangche.getValue()); + if (loadStatus){ + reservationEntity.setLoadingStatus(ReservationLoadingStatusConstant.yizhuangche.getValue()); + }else { + //判断是否都为完成装车 + Integer loadingNum = distributionLoadscanMapper.selectLoadingNumByReservationId(reservationId); + if (Func.isEmpty(loadingNum)){ + if (loadingNum > 0){ + reservationEntity.setLoadingStatus(ReservationLoadingStatusConstant.bufenzhuangche.getValue()); + } + if (loadingNum ==0){ + reservationEntity.setLoadingStatus(ReservationLoadingStatusConstant.daizhuangche.getValue()); + } } } - } - if (signStatus){ - reservationEntity.setSigningStatus(ReservationSigningStatusConstant.yiqianshou.getValue()); - }else { - //判断是否都为完成签收 - Integer signingNum = distributionLoadscanMapper.selectSigningNumByReservationId(reservationId); - //判断当前客户是否签收完成了 - if (signingNum > 0){ - reservationEntity.setSigningStatus(ReservationSigningStatusConstant.bufenqianshou.getValue()); + if (signStatus){ + reservationEntity.setSigningStatus(ReservationSigningStatusConstant.yiqianshou.getValue()); + }else { + //判断是否都为完成签收 + Integer signingNum = distributionLoadscanMapper.selectSigningNumByReservationId(reservationId); + //判断当前客户是否签收完成了 + if (signingNum > 0){ + reservationEntity.setSigningStatus(ReservationSigningStatusConstant.bufenqianshou.getValue()); + } + if (signingNum == 0){ + reservationEntity.setSigningStatus(ReservationSigningStatusConstant.daiqianshou.getValue()); + } + } + if (stockUpStatus){ + reservationEntity.setStockStatus(ReservationStockupStatusConstant.yibeihuo.getValue()); + }else { + //判断是否都为完成签收 + Integer stockNum = distributionStockMapper.selectStockNumByReservationId(reservationId); + //判断当前客户是否签收完成了 + if (stockNum > 0){ + reservationEntity.setStockStatus(ReservationStockupStatusConstant.daibeihuo.getValue()); + }else { + reservationEntity.setStockStatus(ReservationStockupStatusConstant.weibeihuo.getValue()); + } } - if (signingNum == 0){ - reservationEntity.setSigningStatus(ReservationSigningStatusConstant.daiqianshou.getValue()); + if ((reservationEntity.getReservationNum()+reservationEntity.getReservationStockListNum())==0){ + reservationEntity.setReservationStatus(ReservationStatusConstant.yiquexiao.getValue()); } + this.updateById(reservationEntity); } - this.updateById(reservationEntity); - - } @Override @@ -3692,4 +3714,30 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl reservationEntityList = this.list(Wrappers.query().lambda().eq(DistributionReservationEntity::getWarehouseId, l)); + if (Func.isNotEmpty(reservationEntityList)){ + for (DistributionReservationEntity reservationEntity : reservationEntityList) { + this.maintenanceReservationInfo(reservationEntity.getId()); + } + }else { + log.info("##################"+l+"没有预约单信息"); + } + } + + }else { + log.error("#####################维护预约单信息缺少仓库信息"); + return R.fail("操作失败"); + } + return R.success("操作成功"); + } } diff --git a/blade-service/logpm-patch/src/main/java/com/logpm/patch/jobhandle/DistributionDatarepair.java b/blade-service/logpm-patch/src/main/java/com/logpm/patch/jobhandle/DistributionDatarepair.java index ccef6a32d..8e65ae0bc 100644 --- a/blade-service/logpm-patch/src/main/java/com/logpm/patch/jobhandle/DistributionDatarepair.java +++ b/blade-service/logpm-patch/src/main/java/com/logpm/patch/jobhandle/DistributionDatarepair.java @@ -3,6 +3,7 @@ package com.logpm.patch.jobhandle; import com.logpm.distribution.entity.DistributionParcelListEntity; import com.logpm.distribution.feign.IDistributionDeliveryListClient; +import com.logpm.distribution.feign.IDistributionReservationClient; import com.logpm.patch.service.ISyncDistributionParcelListService; import com.logpm.warehouse.feign.IWarehouseUpdownTypeClient; import com.xxl.job.core.biz.model.ReturnT; @@ -31,6 +32,8 @@ public class DistributionDatarepair { private final IDistributionDeliveryListClient deliveryListClient; + private final IDistributionReservationClient distributionReservationClient; + /** * 预约状态修复 @@ -106,6 +109,20 @@ public class DistributionDatarepair { return ReturnT.SUCCESS; } + /** + * 维护预约单信息 + * @return + */ + @XxlJob("maintenanceReservationInfo") + public ReturnT maintenanceReservationInfo(String params) { + //维护配送的状态 + String method = "######################DistributionDatarepair.maintenanceDeliveryStatus"; + log.info(method+"维护配送订单id:{}",params); + distributionReservationClient.maintenanceReservationInfo(params); + log.info(method+"维护配送订单结束"); + return ReturnT.SUCCESS; + } +