From c78d34ea2d861fa72941c1e55f74ef34533693ab Mon Sep 17 00:00:00 2001 From: zhenghaoyu Date: Thu, 19 Oct 2023 11:40:49 +0800 Subject: [PATCH] =?UTF-8?q?1.=E5=90=8C=E6=AD=A5=E7=9B=98=E7=82=B9=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E4=B8=AD=E7=9A=84=E6=89=93=E6=89=98=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../feign/IInventoryDetailClient.java | 6 ++ .../oldproject/feign/ITrayScanDesClient.java | 3 + .../feign/InventoryDetailClient.java | 7 +++ .../oldproject/feign/TrayScanDesClient.java | 5 ++ .../mapper/InventoryDetailMapper.java | 3 + .../mapper/InventoryDetailMapper.xml | 13 ++++ .../service/IInventoryDetailService.java | 4 ++ .../service/ITrayScanDesService.java | 2 + .../impl/InventoryDetailServiceImpl.java | 7 +++ .../service/impl/TrayScanDesServiceImpl.java | 10 +++ .../jobhandle/SyncOrderInfoToPlatform.java | 27 ++++++++ .../patch/service/ISyncOrderInfoService.java | 3 + .../impl/SyncOrderInfoServiceImpl.java | 63 +++++++++++++++++++ 13 files changed, 153 insertions(+) diff --git a/blade-service-api/logpm-old-project-api/src/main/java/com/logpm/oldproject/feign/IInventoryDetailClient.java b/blade-service-api/logpm-old-project-api/src/main/java/com/logpm/oldproject/feign/IInventoryDetailClient.java index ca0e5f844..37df9c604 100644 --- a/blade-service-api/logpm-old-project-api/src/main/java/com/logpm/oldproject/feign/IInventoryDetailClient.java +++ b/blade-service-api/logpm-old-project-api/src/main/java/com/logpm/oldproject/feign/IInventoryDetailClient.java @@ -6,6 +6,8 @@ import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; +import java.util.List; + @FeignClient( value = ModuleNameConstant.APPLICATION_OLDPROJECT_NAME ) @@ -19,6 +21,10 @@ public interface IInventoryDetailClient { @GetMapping(API_PREFIX + "/findUnitNoIsExist") InventoryDetailEntity findUnitNoIsExist(@RequestParam String unitNo); + @GetMapping(API_PREFIX + "/findAllTrayType") + List findAllTrayType(); + + // @GetMapping(API_PREFIX + "/getEntityByOrderCode") // OrderCountEntity getEntityByOrderCode(@RequestParam String orderCode, @RequestParam Integer oldWarehouseId); } diff --git a/blade-service-api/logpm-old-project-api/src/main/java/com/logpm/oldproject/feign/ITrayScanDesClient.java b/blade-service-api/logpm-old-project-api/src/main/java/com/logpm/oldproject/feign/ITrayScanDesClient.java index c31fe7a8f..1a0fb970d 100644 --- a/blade-service-api/logpm-old-project-api/src/main/java/com/logpm/oldproject/feign/ITrayScanDesClient.java +++ b/blade-service-api/logpm-old-project-api/src/main/java/com/logpm/oldproject/feign/ITrayScanDesClient.java @@ -21,6 +21,9 @@ public interface ITrayScanDesClient { @GetMapping(API_PREFIX + "/findZeroListByOrderCodeAndWarehouseId") List findZeroListByOrderCodeAndWarehouseId(@RequestParam String orderCode, @RequestParam Integer oldWarehouseId); + @GetMapping(API_PREFIX + "/findScanTypeId") + TrayScanDesEntity findScanTypeId(@RequestParam Integer trayId, @RequestParam String unitNo, @RequestParam Integer oldWarehouseId); + // @GetMapping(API_PREFIX + "/getEntityByOrderCode") // OrderCountEntity getEntityByOrderCode(@RequestParam String orderCode, @RequestParam Integer oldWarehouseId); } diff --git a/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/feign/InventoryDetailClient.java b/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/feign/InventoryDetailClient.java index 1133c49d1..5a0c0f8b3 100644 --- a/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/feign/InventoryDetailClient.java +++ b/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/feign/InventoryDetailClient.java @@ -6,6 +6,8 @@ import lombok.AllArgsConstructor; import org.springframework.web.bind.annotation.RestController; import springfox.documentation.annotations.ApiIgnore; +import java.util.List; + @ApiIgnore() @RestController @AllArgsConstructor @@ -22,4 +24,9 @@ public class InventoryDetailClient implements IInventoryDetailClient{ public InventoryDetailEntity findUnitNoIsExist(String unitNo) { return inventoryDetailService.findUnitNoIsExist(unitNo); } + + @Override + public List findAllTrayType() { + return inventoryDetailService.findAllTrayType(); + } } diff --git a/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/feign/TrayScanDesClient.java b/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/feign/TrayScanDesClient.java index 46b4e6d74..2dbd072e2 100644 --- a/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/feign/TrayScanDesClient.java +++ b/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/feign/TrayScanDesClient.java @@ -24,4 +24,9 @@ public class TrayScanDesClient implements ITrayScanDesClient { public List findZeroListByOrderCodeAndWarehouseId(String orderCode, Integer oldWarehouseId) { return trayScanDesService.findZeroListByOrderCodeAndWarehouseId(orderCode, oldWarehouseId); } + + @Override + public TrayScanDesEntity findScanTypeId(Integer trayId, String unitNo, Integer oldWarehouseId) { + return trayScanDesService.findScanTypeId(trayId,unitNo,oldWarehouseId); + } } diff --git a/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/mapper/InventoryDetailMapper.java b/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/mapper/InventoryDetailMapper.java index fe079c59d..d4d8fb82a 100644 --- a/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/mapper/InventoryDetailMapper.java +++ b/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/mapper/InventoryDetailMapper.java @@ -5,10 +5,13 @@ import com.logpm.oldproject.entity.InventoryDetailEntity; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + @Mapper public interface InventoryDetailMapper extends BaseMapper { InventoryDetailEntity findOrderIsExist(@Param("orderCode") String orderCode); InventoryDetailEntity findUnitNoIsExist(@Param("unitNo") String unitNo); + List findAllTrayType(); } diff --git a/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/mapper/InventoryDetailMapper.xml b/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/mapper/InventoryDetailMapper.xml index 0a9324af9..a77908182 100644 --- a/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/mapper/InventoryDetailMapper.xml +++ b/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/mapper/InventoryDetailMapper.xml @@ -22,4 +22,17 @@ limit 1 + + diff --git a/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/service/IInventoryDetailService.java b/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/service/IInventoryDetailService.java index c1f283851..7868d177e 100644 --- a/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/service/IInventoryDetailService.java +++ b/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/service/IInventoryDetailService.java @@ -2,10 +2,14 @@ package com.logpm.oldproject.service; import com.logpm.oldproject.entity.InventoryDetailEntity; +import java.util.List; + public interface IInventoryDetailService { InventoryDetailEntity findOrderIsExist(String orderCode); InventoryDetailEntity findUnitNoIsExist(String unitNo); + + List findAllTrayType(); } diff --git a/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/service/ITrayScanDesService.java b/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/service/ITrayScanDesService.java index 02b0bb586..d1a838314 100644 --- a/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/service/ITrayScanDesService.java +++ b/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/service/ITrayScanDesService.java @@ -8,4 +8,6 @@ public interface ITrayScanDesService { List findListByOrderCodeAndWarehouseId(String orderCode, Integer oldWarehouseId); List findZeroListByOrderCodeAndWarehouseId(String orderCode, Integer oldWarehouseId); + + TrayScanDesEntity findScanTypeId(Integer trayId, String unitNo, Integer oldWarehouseId); } diff --git a/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/service/impl/InventoryDetailServiceImpl.java b/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/service/impl/InventoryDetailServiceImpl.java index f99700acc..93a4b3934 100644 --- a/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/service/impl/InventoryDetailServiceImpl.java +++ b/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/service/impl/InventoryDetailServiceImpl.java @@ -6,6 +6,8 @@ import com.logpm.oldproject.service.IInventoryDetailService; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; +import java.util.List; + @Service @AllArgsConstructor public class InventoryDetailServiceImpl implements IInventoryDetailService { @@ -21,4 +23,9 @@ public class InventoryDetailServiceImpl implements IInventoryDetailService { public InventoryDetailEntity findUnitNoIsExist(String unitNo) { return inventoryDetailMapper.findUnitNoIsExist(unitNo); } + + @Override + public List findAllTrayType() { + return inventoryDetailMapper.findAllTrayType(); + } } diff --git a/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/service/impl/TrayScanDesServiceImpl.java b/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/service/impl/TrayScanDesServiceImpl.java index f7b1d9dbe..9f04c9eb1 100644 --- a/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/service/impl/TrayScanDesServiceImpl.java +++ b/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/service/impl/TrayScanDesServiceImpl.java @@ -28,4 +28,14 @@ public class TrayScanDesServiceImpl implements ITrayScanDesService { public List findZeroListByOrderCodeAndWarehouseId(String orderCode, Integer oldWarehouseId) { return trayScanDesMapper.findZeroListByOrderCodeAndWarehouseId(orderCode,oldWarehouseId); } + + @Override + public TrayScanDesEntity findScanTypeId(Integer trayId, String unitNo, Integer oldWarehouseId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("now_warehouse_id",oldWarehouseId) + .eq("type",1) + .eq("tray_id",trayId) + .eq("unitNo",unitNo); + return trayScanDesMapper.selectOne(queryWrapper); + } } 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 2cc5b005f..84ce318b5 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 @@ -34,6 +34,7 @@ public class SyncOrderInfoToPlatform { private final IOrderSyncRecordService orderSyncRecordService; private final ISyncOrderInfoService syncOrderInfoService; + @XxlJob("syncOrderInfo") public ReturnT syncOrderInfo(String param) { @@ -223,4 +224,30 @@ public class SyncOrderInfoToPlatform { } + @XxlJob("syncTrayType") + public ReturnT syncTrayType(String param) { + log.info("############syncTrayType: 同步打托数据开始"); + + //查询需要同步的仓库 + List warehouseMappingDataEntityList = warehouseMappingDataService.getWarehouseMapping(); + if(warehouseMappingDataEntityList.isEmpty()){ + log.warn("###############syncZeroOrderInfo: 当前没有配置需要同步的仓库信息"); + return ReturnT.FAIL; + } + for (WarehouseMappingDataEntity entity:warehouseMappingDataEntityList){ + Integer oldWarehouseId = entity.getOldWarehouseId(); + Long newWarehouseId = entity.getNewWarehouseId(); + + syncOrderInfoService.syncTrayType(oldWarehouseId,newWarehouseId); + } + + return ReturnT.SUCCESS; + } + +// @XxlJob("syncEntryTime") +// public ReturnT syncTrayType(String param) { +// +// } + + } 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 5197ed848..fbd293edc 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 @@ -6,4 +6,7 @@ public interface ISyncOrderInfoService { void handleData(List orderCodeList,Integer oldWarehouseId,Long newWarehouseId); void handleDataZero(List orderCodeList, Integer oldWarehouseId, Long newWarehouseId); + + void syncTrayType(Integer oldWarehouseId,Long newWarehouseId); + } 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 8f51ff71d..0db411df3 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 @@ -122,6 +122,13 @@ public class SyncOrderInfoServiceImpl implements ISyncOrderInfoService { } } + @Override + public void syncTrayType(Integer oldWarehouseId,Long newWarehouseId) { + + saveTrayTypeInfoPackageNew(oldWarehouseId,newWarehouseId); + + } + private void saveTrayTypeInfoPackage(String orderCode,Integer oldWarehouseId,Long newWarehouseId) { //如果是订制品就先查询该订单有哪些包件打了托 @@ -995,4 +1002,60 @@ public class SyncOrderInfoServiceImpl implements ISyncOrderInfoService { return wayBillEntity; } + + private void saveTrayTypeInfoPackageNew(Integer oldWarehouseId, Long newWarehouseId) { + + + List ls = inventoryDetailClient.findAllTrayType(); + for (InventoryDetailEntity entity:ls){ + + Integer trayId = entity.getTrayId(); + String unitNo = entity.getUnitNo();//包条码 + + TrayScanDesEntity trayScanDesEntity = trayScanDesClient.findScanTypeId(trayId,unitNo,oldWarehouseId); + Integer trayScanId = trayScanDesEntity.getTrayScanId(); + + InventoryDetailEntity inventoryDetailEntity = inventoryDetailClient.findUnitNoIsExist(unitNo); + if(Objects.isNull(inventoryDetailEntity)){ + log.info("###########saveTrayTypeInfoPackage: 包条不在盘点任务中存在,不同步 unitNo={}",unitNo); + continue; + } + //查询打托方式信息 + TrayScanEntity trayScanEntity = trayScanClient.getEntityByTrayScanId(trayScanId); + Integer type = trayScanEntity.getType(); + + //方式:1=仓,2=商场,3=客户,4=其他,5=服务号,6=合同号 + //方式:60=仓,30=商场,50=客户,100=其他,10=服务号,20=合同号 + String newTrayType = "100"; + if(1==type){ + newTrayType = "60"; + }else if(2==type){ + newTrayType = "30"; + }else if(3==type){ + newTrayType = "50"; + }else if(4==type){ + newTrayType = "100"; + }else if(5==type){ + newTrayType = "10"; + }else if(6==type){ + newTrayType = "20"; + } + + Map map = new HashMap<>(); + map.put("trayType",newTrayType); + map.put("trayCode","T"+trayId); + map.put("warehouseId",newWarehouseId); + map.put("orderPackageCode",unitNo); + + //新系统保存打托方式 + boolean b = warehouseTrayTypeClient.orderScanOrderPackageCode(map); + + if(!b){ + log.error("################saveTrayTypeInfo: 包件打托失败 unitNo={} trayCode={}",unitNo,"T"+trayId); + throw new CustomerException(403,"包件打托失败"); + } + } + } + + }