diff --git a/blade-service/logpm-factory/src/main/java/com/logpm/factory/comfac/service/impl/FactoryCommonServiceImpl.java b/blade-service/logpm-factory/src/main/java/com/logpm/factory/comfac/service/impl/FactoryCommonServiceImpl.java index 3396e82a3..444e7d89e 100644 --- a/blade-service/logpm-factory/src/main/java/com/logpm/factory/comfac/service/impl/FactoryCommonServiceImpl.java +++ b/blade-service/logpm-factory/src/main/java/com/logpm/factory/comfac/service/impl/FactoryCommonServiceImpl.java @@ -19,14 +19,11 @@ import com.logpm.warehouse.feign.IWarehouseTrayTypeClient; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springblade.common.constant.OldSystemDataPushConfig; -import org.springblade.common.constant.RedisKeyConstant; import org.springblade.common.exception.CustomerException; import org.springblade.core.redis.cache.BladeRedis; import org.springblade.core.tool.utils.StringUtil; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.sql.Wrapper; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -168,7 +165,7 @@ public class FactoryCommonServiceImpl implements IFactoryCommonService { } //同步打托数据 - syncTrayTypeData(unitNo, trayId, currentWarehouseId); +// syncTrayTypeData(unitNo, trayId, currentWarehouseId); } catch (Exception e) { log.error(e.getMessage()); diff --git a/blade-service/logpm-patch/src/main/java/com/logpm/patch/jobhandle/SyncWarehouseData.java b/blade-service/logpm-patch/src/main/java/com/logpm/patch/jobhandle/SyncWarehouseData.java index 142828e48..490300a61 100644 --- a/blade-service/logpm-patch/src/main/java/com/logpm/patch/jobhandle/SyncWarehouseData.java +++ b/blade-service/logpm-patch/src/main/java/com/logpm/patch/jobhandle/SyncWarehouseData.java @@ -1,5 +1,6 @@ package com.logpm.patch.jobhandle; +import cn.hutool.json.JSONObject; import com.logpm.basicdata.entity.BasicdataGoodsAllocationEntity; import com.logpm.basicdata.entity.BasicdataGoodsAreaEntity; import com.logpm.basicdata.entity.BasicdataGoodsShelfEntity; @@ -9,6 +10,7 @@ import com.logpm.oldproject.entity.CargoEntity; import com.logpm.oldproject.entity.LocationEntity; import com.logpm.oldproject.entity.ShelfEntity; import com.logpm.oldproject.feign.*; +import com.logpm.patch.service.IWarehouseMappingDataService; import com.xxl.job.core.biz.model.ReturnT; import com.xxl.job.core.handler.annotation.XxlJob; import lombok.AllArgsConstructor; @@ -16,10 +18,7 @@ import lombok.extern.slf4j.Slf4j; import org.springblade.core.tool.utils.StringUtil; import org.springframework.stereotype.Component; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Objects; +import java.util.*; @Slf4j @AllArgsConstructor @@ -40,6 +39,9 @@ public class SyncWarehouseData { private final ILocationClient locationClient;//货位 private final ITrayClient trayClient;//托盘 + + private final IWarehouseMappingDataService warehouseMappingDataService; + @XxlJob("syncAllocationInfo") public ReturnT syncAllocationInfo(String param) { log.info("####################syncAllocationInfo: 同步库位信息开始"); @@ -173,6 +175,87 @@ public class SyncWarehouseData { return true; } + @XxlJob("clearTrayAndAllocationData") + public ReturnT clearTrayAndAllocationData(String param) { + log.info("####################clearTrayAndAllocationData: 清洗托盘库位信息开始"); + + //查询托盘 包条重复的信息 + List ls = new ArrayList<>(); + if(!StringUtil.isBlank(param)){ + JSONObject jsonObject = new JSONObject(); + jsonObject.set("orderPackageCode",param); + ls.add(jsonObject); + }else{ + ls = warehouseMappingDataService.findDoubleDataAll(); + } + + for (JSONObject jsonObject : ls) { + String orderPackageCode = jsonObject.getStr("orderPackageCode"); + + //查询重复的托盘数据 + JSONObject doubleData = warehouseMappingDataService.findDoubleInfoListByOrderPackageCode(orderPackageCode); + Long trayGoodsId = doubleData.getLong("trayGoodsId"); + Long trayTypeId = doubleData.getLong("trayTypeId"); + Long trayId = doubleData.getLong("trayId"); + + //删除托盘指定数据 + warehouseMappingDataService.deleteTrayGoodsById(trayGoodsId); + //更新打托数据 + warehouseMappingDataService.updateTrayTypeById(trayTypeId); + + //判断有没有上架 + Long allocationId = warehouseMappingDataService.findAllocationIdByTrayId(trayId); + + if(!Objects.isNull(allocationId)){ + //查询有几条数据 + List updownDoubleDataList = warehouseMappingDataService.findUpdownDoubleDataList(orderPackageCode,allocationId); + int size = updownDoubleDataList.size(); + if(size > 1){ + JSONObject jo = updownDoubleDataList.get(0); + Long updownGoodsId = jo.getLong("updownGoodsId"); + Long updownTypeId = jo.getLong("updownTypeId"); + //删除updownGoods + warehouseMappingDataService.deleteUpdownGoodsById(updownGoodsId); + //更新上架方式数量 + warehouseMappingDataService.updateUpdownTypeById(updownTypeId); + } + } + + } + return ReturnT.SUCCESS; + } + + + @XxlJob("clearAllocationData") + public ReturnT clearAllocationData(String param) { + log.info("####################clearAllocationData: 清洗库位信息开始"); + + //查询托盘 包条重复的信息 + List ls = new ArrayList<>(); + if(!StringUtil.isBlank(param)){ + JSONObject jsonObject = new JSONObject(); + jsonObject.set("orderPackageCode",param); + ls.add(jsonObject); + }else{ + ls = warehouseMappingDataService.findAllocationDoubleDataAll(); + } + + for (JSONObject jsonObject : ls) { + String orderPackageCode = jsonObject.getStr("orderPackageCode"); + + //查询重复的托盘数据 + JSONObject doubleData = warehouseMappingDataService.findAllocationDoubleInfoListByOrderPackageCode(orderPackageCode); + Long updownGoodsId = doubleData.getLong("updownGoodsId"); + Long updownTypeId = doubleData.getLong("updownTypeId"); + + //删除updownGoods + warehouseMappingDataService.deleteUpdownGoodsById(updownGoodsId); + //更新上架方式数量 + warehouseMappingDataService.updateUpdownTypeById(updownTypeId); + + } + return ReturnT.SUCCESS; + } } diff --git a/blade-service/logpm-patch/src/main/java/com/logpm/patch/mapper/WarehouseMappingDataMapper.java b/blade-service/logpm-patch/src/main/java/com/logpm/patch/mapper/WarehouseMappingDataMapper.java index e74b176be..1dac0d802 100644 --- a/blade-service/logpm-patch/src/main/java/com/logpm/patch/mapper/WarehouseMappingDataMapper.java +++ b/blade-service/logpm-patch/src/main/java/com/logpm/patch/mapper/WarehouseMappingDataMapper.java @@ -1,7 +1,9 @@ package com.logpm.patch.mapper; +import cn.hutool.json.JSONObject; import com.logpm.patch.entity.WarehouseMappingDataEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -11,4 +13,23 @@ public interface WarehouseMappingDataMapper { List getWarehouseMapping(); + List findDoubleDataAll(); + + JSONObject findDoubleInfoListByOrderPackageCode(@Param("orderPackageCode") String orderPackageCode); + + void deleteTrayGoodsById(@Param("trayGoodsId") Long trayGoodsId); + + void updateTrayTypeById(@Param("trayTypeId") Long trayTypeId); + + Long findAllocationIdByTrayId(@Param("trayId") Long trayId); + + List findUpdownDoubleDataList(@Param("orderPackageCode") String orderPackageCode, @Param("allocationId") Long allocationId); + + void deleteUpdownGoodsById(@Param("updownGoodsId") Long updownGoodsId); + + void updateUpdownTypeById(@Param("updownTypeId") Long updownTypeId); + + List findAllocationDoubleDataAll(); + + JSONObject findAllocationDoubleInfoListByOrderPackageCode(@Param("orderPackageCode") String orderPackageCode); } diff --git a/blade-service/logpm-patch/src/main/java/com/logpm/patch/mapper/WarehouseMappingDataMapper.xml b/blade-service/logpm-patch/src/main/java/com/logpm/patch/mapper/WarehouseMappingDataMapper.xml index 0a000b89b..34c0160af 100644 --- a/blade-service/logpm-patch/src/main/java/com/logpm/patch/mapper/WarehouseMappingDataMapper.xml +++ b/blade-service/logpm-patch/src/main/java/com/logpm/patch/mapper/WarehouseMappingDataMapper.xml @@ -8,4 +8,79 @@ from warehouse_mapping_data + + + + + + delete from logpm_warehouse_tray_goods + where id = #{trayGoodsId} + + + + update logpm_warehouse_tray_type + set total_num = total_num - 1 + where id = #{trayTypeId} + + + + + + + + delete from logpm_warehouse_updown_goods + where id = #{updownGoodsId} + + + + update logpm_warehouse_updown_type + set total_num = total_num - 1 + where id = #{updownTypeId} + + + + + + diff --git a/blade-service/logpm-patch/src/main/java/com/logpm/patch/service/IWarehouseMappingDataService.java b/blade-service/logpm-patch/src/main/java/com/logpm/patch/service/IWarehouseMappingDataService.java index 1d6f3c918..c83781ef7 100644 --- a/blade-service/logpm-patch/src/main/java/com/logpm/patch/service/IWarehouseMappingDataService.java +++ b/blade-service/logpm-patch/src/main/java/com/logpm/patch/service/IWarehouseMappingDataService.java @@ -1,5 +1,6 @@ package com.logpm.patch.service; +import cn.hutool.json.JSONObject; import com.logpm.patch.entity.WarehouseMappingDataEntity; import java.util.List; @@ -8,4 +9,23 @@ public interface IWarehouseMappingDataService { List getWarehouseMapping(); + List findDoubleDataAll(); + + JSONObject findDoubleInfoListByOrderPackageCode(String orderPackageCode); + + void deleteTrayGoodsById(Long trayGoodsId); + + void updateTrayTypeById(Long trayTypeId); + + Long findAllocationIdByTrayId(Long trayId); + + List findUpdownDoubleDataList(String orderPackageCode, Long allocationId); + + void deleteUpdownGoodsById(Long updownGoodsId); + + void updateUpdownTypeById(Long updownTypeId); + + List findAllocationDoubleDataAll(); + + JSONObject findAllocationDoubleInfoListByOrderPackageCode(String orderPackageCode); } diff --git a/blade-service/logpm-patch/src/main/java/com/logpm/patch/service/impl/WarehouseMappingDataServiceImpl.java b/blade-service/logpm-patch/src/main/java/com/logpm/patch/service/impl/WarehouseMappingDataServiceImpl.java index 2c1098130..35182c696 100644 --- a/blade-service/logpm-patch/src/main/java/com/logpm/patch/service/impl/WarehouseMappingDataServiceImpl.java +++ b/blade-service/logpm-patch/src/main/java/com/logpm/patch/service/impl/WarehouseMappingDataServiceImpl.java @@ -1,5 +1,6 @@ package com.logpm.patch.service.impl; +import cn.hutool.json.JSONObject; import com.logpm.patch.entity.WarehouseMappingDataEntity; import com.logpm.patch.mapper.WarehouseMappingDataMapper; import com.logpm.patch.service.IWarehouseMappingDataService; @@ -20,4 +21,54 @@ public class WarehouseMappingDataServiceImpl implements IWarehouseMappingDataSer public List getWarehouseMapping() { return warehouseMappingDataMapper.getWarehouseMapping(); } + + @Override + public List findDoubleDataAll() { + return warehouseMappingDataMapper.findDoubleDataAll(); + } + + @Override + public JSONObject findDoubleInfoListByOrderPackageCode(String orderPackageCode) { + return warehouseMappingDataMapper.findDoubleInfoListByOrderPackageCode(orderPackageCode); + } + + @Override + public void deleteTrayGoodsById(Long trayGoodsId) { + warehouseMappingDataMapper.deleteTrayGoodsById(trayGoodsId); + } + + @Override + public void updateTrayTypeById(Long trayTypeId) { + warehouseMappingDataMapper.updateTrayTypeById(trayTypeId); + } + + @Override + public Long findAllocationIdByTrayId(Long trayId) { + return warehouseMappingDataMapper.findAllocationIdByTrayId(trayId); + } + + @Override + public List findUpdownDoubleDataList(String orderPackageCode, Long allocationId) { + return warehouseMappingDataMapper.findUpdownDoubleDataList(orderPackageCode,allocationId); + } + + @Override + public void deleteUpdownGoodsById(Long updownGoodsId) { + warehouseMappingDataMapper.deleteUpdownGoodsById(updownGoodsId); + } + + @Override + public void updateUpdownTypeById(Long updownTypeId) { + warehouseMappingDataMapper.updateUpdownTypeById(updownTypeId); + } + + @Override + public List findAllocationDoubleDataAll() { + return warehouseMappingDataMapper.findAllocationDoubleDataAll(); + } + + @Override + public JSONObject findAllocationDoubleInfoListByOrderPackageCode(String orderPackageCode) { + return warehouseMappingDataMapper.findAllocationDoubleInfoListByOrderPackageCode(orderPackageCode); + } }