From e81474b0404350696d660fb4fdf852245a444854 Mon Sep 17 00:00:00 2001 From: zhenghaoyu Date: Mon, 4 Mar 2024 18:51:57 +0800 Subject: [PATCH] =?UTF-8?q?1.=E5=90=8C=E6=AD=A5=E6=95=B0=E6=8D=AE=E9=80=BB?= =?UTF-8?q?=E8=BE=91=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../basic/feign/IBasicMaterialClient.java | 2 + .../basic/feign/BasicMaterialClient.java | 8 ++++ .../controller/SyncOrderInfoController.java | 2 +- .../jobhandle/SyncOrderInfoToPlatform.java | 3 +- .../patch/service/ISyncOrderInfoService.java | 2 +- .../impl/SyncOrderInfoServiceImpl.java | 45 ++++++++++++------- 6 files changed, 43 insertions(+), 19 deletions(-) diff --git a/blade-service-api/logpm-basic-api/src/main/java/com/logpm/basic/feign/IBasicMaterialClient.java b/blade-service-api/logpm-basic-api/src/main/java/com/logpm/basic/feign/IBasicMaterialClient.java index e72f70a2b..2bdbac92e 100644 --- a/blade-service-api/logpm-basic-api/src/main/java/com/logpm/basic/feign/IBasicMaterialClient.java +++ b/blade-service-api/logpm-basic-api/src/main/java/com/logpm/basic/feign/IBasicMaterialClient.java @@ -82,4 +82,6 @@ public interface IBasicMaterialClient { @GetMapping(API_PREFIX+"/findEntityByCodeAndName") BasicMaterialEntity findEntityByCodeAndName(@RequestParam String materialCode, @RequestParam String materialName); + @GetMapping(API_PREFIX+"/findEntityByName") + BasicMaterialEntity findEntityByName(@RequestParam String productName); } diff --git a/blade-service/logpm-basic/src/main/java/com/logpm/basic/feign/BasicMaterialClient.java b/blade-service/logpm-basic/src/main/java/com/logpm/basic/feign/BasicMaterialClient.java index bdbfd8611..897466b9c 100644 --- a/blade-service/logpm-basic/src/main/java/com/logpm/basic/feign/BasicMaterialClient.java +++ b/blade-service/logpm-basic/src/main/java/com/logpm/basic/feign/BasicMaterialClient.java @@ -111,4 +111,12 @@ public class BasicMaterialClient implements IBasicMaterialClient { return basicMaterialService.findEntityByCodeAndName(materialCode,materialName); } + @Override + public BasicMaterialEntity findEntityByName(String productName) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("name",productName); + BasicMaterialEntity one = basicMaterialService.getOne(queryWrapper); + return one; + } + } diff --git a/blade-service/logpm-patch/src/main/java/com/logpm/patch/controller/SyncOrderInfoController.java b/blade-service/logpm-patch/src/main/java/com/logpm/patch/controller/SyncOrderInfoController.java index 5aa1efbea..fe38487d3 100644 --- a/blade-service/logpm-patch/src/main/java/com/logpm/patch/controller/SyncOrderInfoController.java +++ b/blade-service/logpm-patch/src/main/java/com/logpm/patch/controller/SyncOrderInfoController.java @@ -56,7 +56,7 @@ public class SyncOrderInfoController { List orderCodeList = new ArrayList<>(Arrays.asList(split)); - syncOrderInfoService.handleData(orderCodeList,myCurrentWarehouse.getOldId(),myCurrentWarehouse.getId(),null); + syncOrderInfoService.handleData(orderCodeList,myCurrentWarehouse.getOldId(),myCurrentWarehouse.getId(),null,null); return R.success("拉取成功"); }catch (CustomerException e){ 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 3ea38c0e0..1bc348a49 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 @@ -83,6 +83,7 @@ public class SyncOrderInfoToPlatform { Integer oldWarehouseId = mappingDataEntity.getOldWarehouseId();//老系统仓库id Long newWarehouseId = mappingDataEntity.getNewWarehouseId();//新系统仓库id String tableName = mappingDataEntity.getTableName(); + Integer inventoryId = mappingDataEntity.getInventoryId(); //查询新系统是否已有仓库信息 BasicdataWarehouseEntity basicdataWarehouseEntity = basicdataWarehouseClient.getEntityWarehouseId(newWarehouseId); @@ -137,7 +138,7 @@ public class SyncOrderInfoToPlatform { try{ List orderCodeList = orderClient.findOrderCodeListByPage(param,oldWarehouseId,j,pageSize,tableName); - syncOrderInfoService.handleData(orderCodeList,oldWarehouseId,newWarehouseId,tableName); + syncOrderInfoService.handleData(orderCodeList,oldWarehouseId,newWarehouseId,tableName,inventoryId); log.info("################syncOrderInfo: 同步成功{}个订单",orderCodeList.size()); one.setCurrentPage(j+1); 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 3ec9b173a..4d33d05c3 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 @@ -3,7 +3,7 @@ package com.logpm.patch.service; import java.util.List; public interface ISyncOrderInfoService { - void handleData(List orderCodeList,Integer oldWarehouseId,Long newWarehouseId,String tableName); + void handleData(List orderCodeList,Integer oldWarehouseId,Long newWarehouseId,String tableName,Integer inventoryId); void handleDataZero(List orderCodeList, 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 83a196e4a..915324f7f 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 @@ -90,7 +90,7 @@ public class SyncOrderInfoServiceImpl implements ISyncOrderInfoService { @Transactional(rollbackFor = Exception.class) @Override - public void handleData(List orderCodeList,Integer oldWarehouseId,Long newWarehouseId,String tableName) { + public void handleData(List orderCodeList,Integer oldWarehouseId,Long newWarehouseId,String tableName,Integer inventoryId) { log.info("#############handleData: 处理订单开始"); for (String orderCode:orderCodeList){ log.info("#############handleData: 当前处理orderCode={}的订单 ",orderCode); @@ -104,7 +104,7 @@ public class SyncOrderInfoServiceImpl implements ISyncOrderInfoService { // if(!Objects.isNull(inventoryDetailEntity)){ try{ //定单 - saveOrderInfo(orderCode,oldWarehouseId,newWarehouseId); + saveOrderInfo(orderCode,oldWarehouseId,newWarehouseId,inventoryId); //存入打托信息 // saveTrayTypeInfoPackage(orderCode,oldWarehouseId,newWarehouseId); @@ -1249,7 +1249,7 @@ public class SyncOrderInfoServiceImpl implements ISyncOrderInfoService { - private void saveOrderInfo(String orderCode, Integer oldWarehouseId, Long newWarehouseId) { + private void saveOrderInfo(String orderCode, Integer oldWarehouseId, Long newWarehouseId,Integer inventoryId) { //通过订单号查询暂存单 AdvanceEntity advanceEntity = advanceClient.getQueryDataOne(orderCode); @@ -1388,11 +1388,11 @@ public class SyncOrderInfoServiceImpl implements ISyncOrderInfoService { } //保存包件信息 - saveOrderPackage(distributionStockArticleEntity,basicdataWarehouseEntity,wayBillNo,CommonUtil.dateToString(new Date()),oldWarehouseId); + saveOrderPackage(distributionStockArticleEntity,basicdataWarehouseEntity,wayBillNo,CommonUtil.dateToString(new Date()),oldWarehouseId,inventoryId); } - private void saveOrderPackage(DistributionStockArticleEntity distributionStockArticleEntity, BasicdataWarehouseEntity basicdataWarehouseEntity, String waybillNo,String operationTime,Integer oldWarehouseId) { + private void saveOrderPackage(DistributionStockArticleEntity distributionStockArticleEntity, BasicdataWarehouseEntity basicdataWarehouseEntity, String waybillNo,String operationTime,Integer oldWarehouseId,Integer inventoryId) { String orderCode = distributionStockArticleEntity.getOrderCode(); Long warehouseId = basicdataWarehouseEntity.getId(); @@ -1405,12 +1405,13 @@ public class SyncOrderInfoServiceImpl implements ISyncOrderInfoService { log.info("###########saveOrderPackage: 包条已存在,不同步 unitNo={}",unitNo); continue; } - -// InventoryDetailEntity inventoryDetailEntity = inventoryDetailClient.findUnitNoIsExist(unitNo,inventoryId); -// if(Objects.isNull(inventoryDetailEntity)){ -// log.info("###########saveOrderPackage: 包条不在盘点任务中存在,不同步 unitNo={}",unitNo); -// continue; -// } + String productName = null; + if(!Objects.isNull(inventoryId)){ + InventoryDetailEntity inventoryDetailEntity = inventoryDetailClient.findUnitNoIsExist(unitNo,inventoryId); + if(!Objects.isNull(inventoryDetailEntity)){ + productName = inventoryDetailEntity.getProductname(); + } + } Integer status = orderDetailEntity.getStatus(); Integer carsType = orderDetailEntity.getCarsType(); @@ -1497,16 +1498,28 @@ public class SyncOrderInfoServiceImpl implements ISyncOrderInfoService { entity.setUpdateUser(1714696768639311873L); entity.setCreateDept(1649331096241836033L); entity.setTenantId(TenantNum.HUITONGCODE); - if (StringUtil.isNotBlank(entity.getMaterialName()) && StringUtil.isNotBlank(entity.getMaterialCode())) { - // 查询物料信息 - String sku = ""; - BasicMaterialEntity basicMaterialEntity = basicMaterialClient.getMaterialOwn(entity.getMaterialCode(), entity.getMaterialName(), sku); - if (ObjectUtils.isNotNull(basicMaterialEntity)) { + if(!StringUtil.isBlank(productName)){ + BasicMaterialEntity basicMaterialEntity = basicMaterialClient.findEntityByName(productName); + if(Objects.isNull(basicMaterialEntity)){ + entity.setMaterialName(productName); + }else{ entity.setMaterialId(basicMaterialEntity.getId()); entity.setMaterialCode(basicMaterialEntity.getProductCode()); entity.setMaterialUnit(basicMaterialEntity.getLogpmUnit()); } + }else{ + if (StringUtil.isNotBlank(entity.getMaterialName()) && StringUtil.isNotBlank(entity.getMaterialCode())) { + // 查询物料信息 + String sku = ""; + BasicMaterialEntity basicMaterialEntity = basicMaterialClient.getMaterialOwn(entity.getMaterialCode(), entity.getMaterialName(), sku); + if (ObjectUtils.isNotNull(basicMaterialEntity)) { + entity.setMaterialId(basicMaterialEntity.getId()); + entity.setMaterialCode(basicMaterialEntity.getProductCode()); + entity.setMaterialUnit(basicMaterialEntity.getLogpmUnit()); + } + } } + boolean b = distributionParcelListClient.add(entity); if (!b) { log.warn("#################handleDataToPlatform: 保存包件信息失败 orderCode={}", entity.getOrderCode());