diff --git a/blade-biz-common/src/main/java/org/springblade/common/constant/ModuleNameConstant.java b/blade-biz-common/src/main/java/org/springblade/common/constant/ModuleNameConstant.java index 153720380..1baf7825b 100644 --- a/blade-biz-common/src/main/java/org/springblade/common/constant/ModuleNameConstant.java +++ b/blade-biz-common/src/main/java/org/springblade/common/constant/ModuleNameConstant.java @@ -8,7 +8,7 @@ public interface ModuleNameConstant { /** * 如果不需要 "" */ - public static final String DEVAUTH =""; + public static final String DEVAUTH ="-tjj"; /** * 工厂对接服务名称 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 49f60b42e..8d1d5bd94 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 @@ -1,13 +1,20 @@ package com.logpm.patch.jobhandle; +import com.logpm.distribution.entity.DistributionParcelListEntity; import com.logpm.patch.service.ISyncDistributionParcelListService; +import com.logpm.warehouse.feign.IWarehouseUpdownTypeClient; import com.xxl.job.core.biz.model.ReturnT; import com.xxl.job.core.handler.annotation.XxlJob; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.springblade.core.tool.utils.Func; import org.springframework.stereotype.Component; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + /** * 配送数据修复 */ @@ -17,21 +24,81 @@ import org.springframework.stereotype.Component; public class DistributionDatarepair { -// private final ISyncDistributionParcelListService distributionParcelListService; + private final ISyncDistributionParcelListService iSyncDistributionParcelListService; + + private final IWarehouseUpdownTypeClient warehouseUpdownTypeClient; + + /** * 预约状态修复 + * * @param param * @return */ @XxlJob("reservationDatarepair") public ReturnT reservationDatarepair(String param) { + return null; + } + /** + * 对已出库包件进行下架解托 + * + * @return + */ + @XxlJob("downOldPackage") + public ReturnT downOldPackage(String params) { + //查询已装车且还在库内的包件 + List deliveryParcelListEntities = iSyncDistributionParcelListService.selectDeliveryOnWarehouse(); + //将装车为下架的包件进行下架 + StringBuffer stringBuffer = new StringBuffer(); + + if (Func.isNotEmpty(deliveryParcelListEntities)) { + Map> packageMap = deliveryParcelListEntities.stream().collect(Collectors.groupingBy(DistributionParcelListEntity::getWarehouseId)); + packageMap.forEach((k, v) -> { + String orderPackageCodes = v.stream().map(DistributionParcelListEntity::getOrderPackageCode).collect(Collectors.joining(",")); + stringBuffer.append("仓库:"+k).append("包件下架"+orderPackageCodes);; + warehouseUpdownTypeClient.downDeliveryPackage(orderPackageCodes, k); + }); + } + log.info("执行包件下架操作>>>>>>>>>>>>>"+stringBuffer.toString()); + return ReturnT.SUCCESS; + } - return null; + /** + * 对已签收包件进行解托 + * @return + */ + @XxlJob("downTrayOldPackage") + public ReturnT downTrayOldPackage(String params) { + //查询已装车且还在库内的包件 + List deliveryParcelListEntities = iSyncDistributionParcelListService.selectSigningOnTray(); + //将装车为下架的包件进行下架 + StringBuffer stringBuffer = new StringBuffer(); + if (Func.isNotEmpty(deliveryParcelListEntities)) { + Map> packageMap = deliveryParcelListEntities.stream().collect(Collectors.groupingBy(DistributionParcelListEntity::getWarehouseId)); + packageMap.forEach((k, v) -> { + String orderPackageCodes = v.stream().map(DistributionParcelListEntity::getOrderPackageCode).collect(Collectors.joining(",")); + stringBuffer.append("仓库:"+k).append("包件解托"+orderPackageCodes);; + warehouseUpdownTypeClient.downPackageOrDelTray(orderPackageCodes, k); + }); + } + log.info("执行包件下架操作>>>>>>>>>>>>>"+stringBuffer.toString()); + return ReturnT.SUCCESS; + } + /** + * 维护 + * @return + */ + @XxlJob("maintenanceDeliveryStatus") + public ReturnT maintenanceDeliveryStatus(String params) { + //维护配送的状态 + Integer row = iSyncDistributionParcelListService.updateCompleteDeliveryStatus(); + + return ReturnT.SUCCESS; } diff --git a/blade-service/logpm-patch/src/main/java/com/logpm/patch/mapper/ISyncDistributionParceListMapper.xml b/blade-service/logpm-patch/src/main/java/com/logpm/patch/mapper/ISyncDistributionParceListMapper.xml new file mode 100644 index 000000000..6cc67a9df --- /dev/null +++ b/blade-service/logpm-patch/src/main/java/com/logpm/patch/mapper/ISyncDistributionParceListMapper.xml @@ -0,0 +1,26 @@ + + + + + UPDATE logpm_distribution_delivery_list + SET delivery_status = 3 + WHERE + id IN ( + SELECT + a.id + FROM + ( SELECT customers_number, id FROM logpm_distribution_delivery_list WHERE delivery_status != 3 AND warehouse_id = '1713372842906734594' ) AS a + INNER JOIN ( SELECT count(*) AS signNum, delivery_id FROM logpm_distribution_signfor WHERE signing_status = 2 GROUP BY delivery_id ) AS b ON a.id = b.delivery_id + WHERE + a.customers_number = b.signNum) + + + + + + diff --git a/blade-service/logpm-patch/src/main/java/com/logpm/patch/mapper/ISyncDistributionParcelListMapper.java b/blade-service/logpm-patch/src/main/java/com/logpm/patch/mapper/ISyncDistributionParcelListMapper.java index 53931cffa..48f437545 100644 --- a/blade-service/logpm-patch/src/main/java/com/logpm/patch/mapper/ISyncDistributionParcelListMapper.java +++ b/blade-service/logpm-patch/src/main/java/com/logpm/patch/mapper/ISyncDistributionParcelListMapper.java @@ -1,5 +1,6 @@ package com.logpm.patch.mapper; +import com.logpm.distribution.entity.DistributionParcelListEntity; import org.apache.ibatis.annotations.Mapper; import java.util.List; @@ -9,6 +10,19 @@ import java.util.Map; public interface ISyncDistributionParcelListMapper { - List> selectAllErrorReservationOrder(); + List> selectAllErrorReservationOrder(); + /** + * 查询在配送中且还在仓库内的包件 + * @return + */ + List selectDeliveryOnWarehousePackage(); + + /** + * 查询在配送中且在托盘内的包件 + * @return + */ + List selectSigningOnTray(); + + Integer updateCompleteDeliveryStatus(); } diff --git a/blade-service/logpm-patch/src/main/java/com/logpm/patch/service/ISyncDistributionParcelListService.java b/blade-service/logpm-patch/src/main/java/com/logpm/patch/service/ISyncDistributionParcelListService.java index 324f508f8..bca4676f0 100644 --- a/blade-service/logpm-patch/src/main/java/com/logpm/patch/service/ISyncDistributionParcelListService.java +++ b/blade-service/logpm-patch/src/main/java/com/logpm/patch/service/ISyncDistributionParcelListService.java @@ -1,5 +1,7 @@ package com.logpm.patch.service; +import com.logpm.distribution.entity.DistributionParcelListEntity; + import java.util.List; import java.util.Map; @@ -11,4 +13,19 @@ public interface ISyncDistributionParcelListService { */ List> selectAllErrorReservationOrder(); + + /** + * 查询未进行下架的包件信息 + * @return + */ + List selectDeliveryOnWarehouse(); + + /** + * 查询签收还和托盘存在绑定关系的包件 + * @return + */ + List selectSigningOnTray(); + + Integer updateCompleteDeliveryStatus(); + } diff --git a/blade-service/logpm-patch/src/main/java/com/logpm/patch/service/impl/SyncDistributionParcelListServiceImpl.java b/blade-service/logpm-patch/src/main/java/com/logpm/patch/service/impl/SyncDistributionParcelListServiceImpl.java index a6d3631ca..d6b1879c2 100644 --- a/blade-service/logpm-patch/src/main/java/com/logpm/patch/service/impl/SyncDistributionParcelListServiceImpl.java +++ b/blade-service/logpm-patch/src/main/java/com/logpm/patch/service/impl/SyncDistributionParcelListServiceImpl.java @@ -1,15 +1,42 @@ package com.logpm.patch.service.impl; +import com.logpm.distribution.entity.DistributionParcelListEntity; +import com.logpm.patch.mapper.ISyncDistributionParcelListMapper; import com.logpm.patch.service.ISyncDistributionParcelListService; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Service; import java.util.List; import java.util.Map; +@AllArgsConstructor +@Service public class SyncDistributionParcelListServiceImpl implements ISyncDistributionParcelListService { + + + private ISyncDistributionParcelListMapper distributionParcelListMapper; + @Override public List> selectAllErrorReservationOrder() { return null; } + + @Override + public List selectDeliveryOnWarehouse() { + return distributionParcelListMapper.selectDeliveryOnWarehousePackage(); + } + + @Override + public List selectSigningOnTray() { + return distributionParcelListMapper.selectSigningOnTray(); + } + + @Override + public Integer updateCompleteDeliveryStatus() { + + return distributionParcelListMapper.updateCompleteDeliveryStatus(); + } + } 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 5432f3fc4..943807e80 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 @@ -49,6 +49,7 @@ import org.springblade.core.mp.base.BaseServiceImpl; import org.springblade.core.redis.cache.BladeRedis; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.BeanUtil; +import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.ObjectUtil; import org.springblade.core.tool.utils.StringUtil; import org.springblade.system.cache.DictBizCache; @@ -2130,24 +2131,32 @@ public class WarehouseTrayTypeServiceImpl extends BaseServiceImpl taryAllocationEntityQueryWrapper = new QueryWrapper<>(); - taryAllocationEntityQueryWrapper.eq("allocation_id",allocationId) - .eq("is_deleted",0); - WarehouseTaryAllocationEntity taryAllocationEntity = warehouseTaryAllocationService.getOne(taryAllocationEntityQueryWrapper); + if (Func.isNotEmpty(updownTypeEntity)){ + QueryWrapper taryAllocationEntityQueryWrapper = new QueryWrapper<>(); + taryAllocationEntityQueryWrapper.eq("allocation_id",allocationId) + .eq("is_deleted",0); + WarehouseTaryAllocationEntity taryAllocationEntity = warehouseTaryAllocationService.getOne(taryAllocationEntityQueryWrapper); // BasicdataTrayEntity trayEntity = warehouseTaryAllocationService.getTrayByAllocationId(allocationId); - if(!Objects.isNull(taryAllocationEntity)){ - //有托盘,托盘下托 - warehouseTrayTypeService.downPackageByOrderPackageCode(orderPackageCode,"包件下架:同步下托",warehouseId); - } - Integer residue = warehouseUpdownGoodsService.deleteByUpdownGoodsId(updownGoodsId); - if(residue == 0){ - //删除上架方式 - removeById(updownTypeId); - //修改库位状态为空闲 - basicdataGoodsAllocationClient.updateAllocationStatus(allocationId,"1"); - //如果有托盘还要删除托盘与库位的绑定 if(!Objects.isNull(taryAllocationEntity)){ - warehouseTaryAllocationService.deleteById(taryAllocationEntity); + //有托盘,托盘下托 + warehouseTrayTypeService.downPackageByOrderPackageCode(orderPackageCode,"包件下架:同步下托",warehouseId); } - } - warehouseUpdownGoodsLogService.saveAllocationAndPackage(updownTypeEntity,parcelListEntity,"2",0,"包件下架:包件下架"); - updateUpdownTypeNum(updownTypeEntity); + Integer residue = warehouseUpdownGoodsService.deleteByUpdownGoodsId(updownGoodsId); + if(residue == 0){ + //删除上架方式 + removeById(updownTypeId); + //修改库位状态为空闲 + basicdataGoodsAllocationClient.updateAllocationStatus(allocationId,"1"); + //如果有托盘还要删除托盘与库位的绑定 + if(!Objects.isNull(taryAllocationEntity)){ + warehouseTaryAllocationService.deleteById(taryAllocationEntity); + } + } + warehouseUpdownGoodsLogService.saveAllocationAndPackage(updownTypeEntity,parcelListEntity,"2",0,"包件下架:包件下架"); + updateUpdownTypeNum(updownTypeEntity); - num = num + quantity; - warehouseGoodsAllocationClient.updateAllocationCache(allocationId.toString()); + num = num + quantity; + warehouseGoodsAllocationClient.updateAllocationCache(allocationId.toString()); + }else { + log.error("包件下架失败,找不到上架方式,updownTypeId:{}",updownTypeId); + } } return Resp.scanSuccess("下架成功","成功下架"+num+"件"); }