diff --git a/blade-service-api/logpm-old-project-api/src/main/java/com/logpm/oldproject/feign/IAdvanceClient.java b/blade-service-api/logpm-old-project-api/src/main/java/com/logpm/oldproject/feign/IAdvanceClient.java index 10af419cb..b3810e619 100644 --- a/blade-service-api/logpm-old-project-api/src/main/java/com/logpm/oldproject/feign/IAdvanceClient.java +++ b/blade-service-api/logpm-old-project-api/src/main/java/com/logpm/oldproject/feign/IAdvanceClient.java @@ -79,7 +79,7 @@ public interface IAdvanceClient { @GetMapping(API_PREFIX + "/queryDataOne") AdvanceEntity getQueryDataOne(@RequestParam String orderSelfNum); @GetMapping(API_PREFIX + "/getEntityByMctsTruck") - AdvanceEntity getEntityByMctsTruck(@RequestParam String orderSelfNum,@RequestParam String mctsTruck); + List getEntityByMctsTruck(@RequestParam String orderSelfNum,@RequestParam String mctsTruck); @GetMapping(API_PREFIX + "/fingById") AdvanceEntity fingById(@RequestParam Integer advanceId); diff --git a/blade-service-api/logpm-old-project-api/src/main/java/com/logpm/oldproject/feign/IAdvanceDetailClient.java b/blade-service-api/logpm-old-project-api/src/main/java/com/logpm/oldproject/feign/IAdvanceDetailClient.java index 1f8e574d0..a82354cea 100644 --- a/blade-service-api/logpm-old-project-api/src/main/java/com/logpm/oldproject/feign/IAdvanceDetailClient.java +++ b/blade-service-api/logpm-old-project-api/src/main/java/com/logpm/oldproject/feign/IAdvanceDetailClient.java @@ -93,7 +93,7 @@ public interface IAdvanceDetailClient { List getByCarNum(@RequestParam String unloadCarNum); @PostMapping(API_PREFIX + "/updateAdvanceDetail") - void updateAdvanceDetail(AdvanceDetailEntity advanceDetailEntity); + void updateAdvanceDetail(@RequestBody AdvanceDetailEntity advanceDetailEntity); /** * 根基包条码查询包件信息 diff --git a/blade-service/logpm-factory/src/main/java/com/logpm/factory/comfac/service/impl/AsyncDataServiceImpl.java b/blade-service/logpm-factory/src/main/java/com/logpm/factory/comfac/service/impl/AsyncDataServiceImpl.java index 75807e128..0fc956189 100644 --- a/blade-service/logpm-factory/src/main/java/com/logpm/factory/comfac/service/impl/AsyncDataServiceImpl.java +++ b/blade-service/logpm-factory/src/main/java/com/logpm/factory/comfac/service/impl/AsyncDataServiceImpl.java @@ -335,15 +335,14 @@ public class AsyncDataServiceImpl implements IAsyncDataService { List serviceNumEntityList = new ArrayList<>(); MtFactoryOrderMain mtFactoryOrderMain = mtFactoryOrderMainService.getById(mainId); - if(StringUtil.isBlank(mtFactoryOrderMain.getCenterWarehouseName())||!(mtFactoryOrderMain.getCenterWarehouseName().contains("汇通")) ){ - log.info("################handlerMtDataToHt: 这个派车单不推送到老系统 派车单号 {}",mtFactoryOrderMain.getInvoiceOrderCode()); - return ; + if (StringUtil.isBlank(mtFactoryOrderMain.getCenterWarehouseName()) || !(mtFactoryOrderMain.getCenterWarehouseName().contains("汇通"))) { + log.info("################handlerMtDataToHt: 这个派车单不推送到老系统 派车单号 {}", mtFactoryOrderMain.getInvoiceOrderCode()); + return; } List mtFactoryOrders = mtFactoryOrderService.list(orderQueryWrapper); log.info("#########handlerMtDataToHt: 待处理的订单数量为{}", mtFactoryOrders.size()); - for (MtFactoryOrder mtFactoryOrder : mtFactoryOrders) { Long orderId = mtFactoryOrder.getId(); Integer advanceId = null; @@ -405,15 +404,23 @@ public class AsyncDataServiceImpl implements IAsyncDataService { // 查询需要处理的派车单 查询没有转发的shuju List list = receivingOrderService.lambdaQuery().eq(ReceivingOrderEntity::getCode, code).eq(ReceivingOrderEntity::getTurnStatus, 0).list(); + log.info(">>>>>>>>>>>>>>>>>>>>>handlerOuPaiDataToHt 派车单集合长度 {}",list.size()); + for (ReceivingOrderEntity receivingOrderEntity : list) { if (!ArrayUtil.contains(ouPaiProperties.getJidiCanshu(), receivingOrderEntity.getFromWarehouseName())) { - log.info(FactoryConstant.OUPAI,"推送老系统失败,当前仓库不是双流仓,推送失败 {}", receivingOrderEntity.getCurrentWarehouseName()); + log.info(FactoryConstant.OUPAI, "推送老系统失败,当前仓库不是双流仓,推送失败 {}", receivingOrderEntity.getCurrentWarehouseName()); continue; } // 查询这个派车单下面的订单 List factoryOrderEntities = factoryOrderService.lambdaQuery().eq(FactoryOrderEntity::getReceivingId, receivingOrderEntity.getId()).eq(FactoryOrderEntity::getTurnStatus, 0).list(); + log.info(">>>>>>>>>>>>>>>>>>>>>handlerOuPaiDataToHt 派车单 {} 派车单下面订单集合长度 {}",receivingOrderEntity.getCode(),factoryOrderEntities.size()); + addAdvanceEntityBtOuPai(receivingOrderEntity, factoryOrderEntities); + receivingOrderEntity.setTurnStatus(1); + log.info(">>>>>>>>>>>>>>>>>>>>>handlerOuPaiDataToHt 更新收货单状态 收货单号 {}",receivingOrderEntity.getCode()); + receivingOrderService.updateById(receivingOrderEntity); + } } @@ -425,23 +432,26 @@ public class AsyncDataServiceImpl implements IAsyncDataService { * @param factoryOrderEntities */ private void addAdvanceEntityBtOuPai(ReceivingOrderEntity receivingOrderEntity, List factoryOrderEntities) { - + log.info(">>>>>>>>>>>>>>>>>>>>>>>>>>> addAdvanceEntityBtOuPai 派车单数据推送到老系统 单号{}",receivingOrderEntity.getCode()); String carNumber = receivingOrderEntity.getCarNumber(); - if(Objects.isNull(ouPaiProperties.getJidiWarehouseMapper())){ - return ; + if (Objects.isNull(ouPaiProperties.getJidiWarehouseMapper())) { + return; } // 通过发货基地得到仓库ID String warehourseIdString = ouPaiProperties.getJidiWarehouseMapper().get(receivingOrderEntity.getFromWarehouseName()); Integer warehourseId = Integer.parseInt(warehourseIdString); + log.info(">>>>>>>>>>>>>>>>>>>>>>>>>>> addAdvanceEntityBtOuPai 得到基地对应的仓库ID {}",warehourseId); for (FactoryOrderEntity factoryOrderEntity : factoryOrderEntities) { // 需要从老系统进行订单数据查询 - AdvanceEntity advanceEntity = findAdvanceEntityUseCacheByOrderSelfNum(factoryOrderEntity.getSelfCode(), carNumber); - if (ObjectUtils.isNull(advanceEntity)) { + List advanceEntitys = findAdvanceEntityUseCacheByOrderSelfNum(factoryOrderEntity.getSelfCode(), carNumber); + log.info(">>>>>>>>>>>>>>>>>>>>>>>>>>> addAdvanceEntityBtOuPai 得到基地advanceEntity {}",advanceEntitys); + + if (ObjectUtils.isNull(advanceEntitys)) { - advanceEntity = new AdvanceEntity(); + AdvanceEntity advanceEntity = new AdvanceEntity(); advanceEntity.setOrderSelfNum(StringUtil.isBlank(factoryOrderEntity.getSelfCode()) ? "" : factoryOrderEntity.getSelfCode()); //订单自编号 advanceEntity.setSiteName(receivingOrderEntity.getFromWarehouseName()); // 基地 TODO 需要映射 advanceEntity.setArea(""); // 区域 @@ -464,8 +474,8 @@ public class AsyncDataServiceImpl implements IAsyncDataService { advanceEntity.setCustomerPhone(StringUtil.isBlank(factoryOrderEntity.getCustomerPhone()) ? "" : factoryOrderEntity.getCustomerPhone()); // 顾客电话 advanceEntity.setCustomerRoad(StringUtil.isBlank(factoryOrderEntity.getCustomerAddress()) ? "" : factoryOrderEntity.getCustomerAddress());//顾客地址 advanceEntity.setSystemType("线上"); //订单类型 - advanceEntity.setStoreNo(StringUtil.isBlank(factoryOrderEntity.getStoreCode()) ? "" : factoryOrderEntity.getStoreCode()); //门店编码 - advanceEntity.setStoreName(StringUtil.isBlank(factoryOrderEntity.getStoreName()) ? "" : factoryOrderEntity.getStoreName()); //门店名称 + advanceEntity.setStoreNo(StringUtil.isBlank(factoryOrderEntity.getShopCode()) ? "" : factoryOrderEntity.getShopCode()); //门店编码 + advanceEntity.setStoreName(StringUtil.isBlank(factoryOrderEntity.getShopName()) ? "" : factoryOrderEntity.getShopName()); //门店名称 advanceEntity.setSerialKey(""); //序列号 advanceEntity.setServiceNum(StringUtil.isBlank(factoryOrderEntity.getServiceNumber()) ? "" : factoryOrderEntity.getServiceNumber()); //服务号 advanceEntity.setMatingCode("");//齐套模式 可以为空 @@ -494,17 +504,20 @@ public class AsyncDataServiceImpl implements IAsyncDataService { continue; } advanceEntity.setId(advanceId); + + factoryOrderEntity.setTurnStatus(1); + + // 处理订单下面的包件数据 + List list = factoryPackageService.lambdaQuery().eq(FactoryPackageEntity::getOrderId, factoryOrderEntity.getId()).eq(FactoryPackageEntity::getTurnStatus, 0).list(); + for (FactoryPackageEntity factoryPackageEntity : list) { + addAdvanceDetailEntityByOuPai(factoryPackageEntity, factoryOrderEntity, advanceEntity); + } } else { //todo 更新数据 对这个 advanceEntity 这个进行属性设置 调用对象的更新方法 + log.info(">>>>>>>>>>>更新订单信息已在老系统存在"); } - factoryOrderEntity.setTurnStatus(1); - // 处理订单下面的包件数据 - List list = factoryPackageService.lambdaQuery().eq(FactoryPackageEntity::getOrderId, factoryOrderEntity.getId()).eq(FactoryPackageEntity::getTurnStatus, 0).list(); - for (FactoryPackageEntity factoryPackageEntity : list) { - addAdvanceDetailEntityByOuPai(factoryPackageEntity, factoryOrderEntity, advanceEntity); - } } factoryOrderService.updateBatchById(factoryOrderEntities); @@ -522,20 +535,38 @@ public class AsyncDataServiceImpl implements IAsyncDataService { AdvanceDetailEntity advanceDetailEntity = advanceDetailClient.getOneByUnitNo(factoryPackageEntity.getCode()); if (ObjectUtil.isNotEmpty(advanceDetailEntity)) { - // 一 er san 级包件信息 - advanceDetailEntity.setFirstPackName(factoryPackageEntity.getFirstClassName());//一级品类 - advanceDetailEntity.setFirstPackCode(factoryPackageEntity.getFirstClassCode());//二级品类 - advanceDetailEntity.setFirstPackCode(factoryPackageEntity.getFirstClassCode());//二级品类 - advanceDetailEntity.setSecondPackName(factoryPackageEntity.getSecondClassName());//二级品类名称 - advanceDetailEntity.setSecondPackCode(factoryPackageEntity.getSecondClassCode());//二级品类 - advanceDetailEntity.setThirdPackName(factoryPackageEntity.getThirdClassName());//三级品类名称 - advanceDetailEntity.setThirdPackCode(factoryPackageEntity.getThirdClassCode());//三级品类 - // 更新物料 - // 当这个包条存在老系统的时候 - advanceDetailEntity.setMctsTruckNo(factoryPackageEntity.getCarNumber()); + boolean update = false; + if (StringUtil.isBlank(advanceDetailEntity.getFirstPackName())) { + advanceDetailEntity.setFirstPackName(factoryPackageEntity.getFirstClassName());//一级品类 + advanceDetailEntity.setFirstPackCode(factoryPackageEntity.getFirstClassCode());//二级品类 + update = true; + } + + if (StringUtil.isBlank(advanceDetailEntity.getSecondPackName())) { + advanceDetailEntity.setSecondPackName(factoryPackageEntity.getSecondClassName());//二级品类名称 + advanceDetailEntity.setSecondPackCode(factoryPackageEntity.getSecondClassCode());//二级品类 + update = true; + + } + + if (StringUtil.isBlank(advanceDetailEntity.getThirdPackName())) { + advanceDetailEntity.setThirdPackName(factoryPackageEntity.getThirdClassName());//三级品类名称 + advanceDetailEntity.setThirdPackCode(factoryPackageEntity.getThirdClassCode());//三级品类 + update = true; + + } + + if (StringUtil.isBlank(advanceDetailEntity.getMctsTruck())) { + advanceDetailEntity.setMctsTruck(factoryPackageEntity.getCarNumber()); + update = true; + } + //更新包件 - advanceDetailClient.updateAdvanceDetail(advanceDetailEntity); + if (update) { + advanceDetailClient.updateAdvanceDetail(advanceDetailEntity); + // todo 需要更新包件的物料信息 + } } else { @@ -919,14 +950,14 @@ public class AsyncDataServiceImpl implements IAsyncDataService { * @param orderSelfNum * @return */ - private AdvanceEntity findAdvanceEntityUseCacheByOrderSelfNum(String orderSelfNum, String departCode) { + private List findAdvanceEntityUseCacheByOrderSelfNum(String orderSelfNum, String departCode) { String key = AdvanceEntity.class.getName() + ":" + orderSelfNum + ":" + departCode; - AdvanceEntity advanceEntity = bladeRedis.get(key); - if (ObjectUtils.isNull(advanceEntity)) { - advanceEntity = iAdvanceClient.getEntityByMctsTruck(orderSelfNum, departCode); - bladeRedis.setEx(key, advanceEntity, 12 * 60 * 60L); + List advanceEntitys = bladeRedis.get(key); + if (ObjectUtils.isNull(advanceEntitys)) { + advanceEntitys = iAdvanceClient.getEntityByMctsTruck(orderSelfNum, departCode); + bladeRedis.setEx(key, advanceEntitys, 60 * 60L); } - return advanceEntity; + return advanceEntitys; } /** diff --git a/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/service/impl/OuPaiFactoryServiceImpl.java b/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/service/impl/OuPaiFactoryServiceImpl.java index a6aae0d71..ca667bf22 100644 --- a/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/service/impl/OuPaiFactoryServiceImpl.java +++ b/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/service/impl/OuPaiFactoryServiceImpl.java @@ -92,9 +92,9 @@ public class OuPaiFactoryServiceImpl implements IOuPaiFactoryService { // 对返回i的数据进行处理 按照 发车单-->订单-->包件 完成保存 handleData(code); - if (ObjectUtils.isNotNull(code)) { - asyncDataService.handlerOuPaiDataToHt(code); - } +// if (ObjectUtils.isNotNull(code)) { +// asyncDataService.handlerOuPaiDataToHt(code); +// } return code; } diff --git a/blade-service/logpm-factory/src/test/java/com/logpm/factory/TestService.java b/blade-service/logpm-factory/src/test/java/com/logpm/factory/TestService.java index 8528d5231..8058868bb 100644 --- a/blade-service/logpm-factory/src/test/java/com/logpm/factory/TestService.java +++ b/blade-service/logpm-factory/src/test/java/com/logpm/factory/TestService.java @@ -11,6 +11,7 @@ import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.alibaba.nacos.common.utils.MD5Utils; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.logpm.factory.excel.ExcelMode14; import com.logpm.factory.excel.JpDataMode; import com.logpm.factory.listener.ExcelListener; @@ -27,6 +28,7 @@ import com.logpm.factory.zb.mapper.ZbCategoryContrastMapper; import com.logpm.factory.zb.service.IZbFactoryDataService; import com.logpm.factory.zb.service.IZbFactoryLogService; import com.logpm.factory.zb.untils.QmSignUntil; +import com.logpm.oldproject.entity.AdvanceEntity; import org.apache.commons.fileupload.FileItem; import org.apache.commons.fileupload.disk.DiskFileItemFactory; import org.apache.commons.io.IOUtils; @@ -723,6 +725,14 @@ public class TestService { } + @Test + public void test16(){ + + } + + + + public static Boolean readExcel(InputStream is, Class clazz){ BufferedInputStream bis = null; try { diff --git a/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/feign/AdvanceClient.java b/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/feign/AdvanceClient.java index 3ae99f8da..994cf3caf 100644 --- a/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/feign/AdvanceClient.java +++ b/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/feign/AdvanceClient.java @@ -76,7 +76,7 @@ public class AdvanceClient implements IAdvanceClient { } @Override - public AdvanceEntity getEntityByMctsTruck(String orderSelfNum, String mctsTruck) { + public List getEntityByMctsTruck(String orderSelfNum, String mctsTruck) { return service.getEntityByMctsTruck(orderSelfNum,mctsTruck); } diff --git a/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/feign/AdvanceDetailClient.java b/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/feign/AdvanceDetailClient.java index 388c9eee8..f0ced41fe 100644 --- a/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/feign/AdvanceDetailClient.java +++ b/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/feign/AdvanceDetailClient.java @@ -96,6 +96,7 @@ public class AdvanceDetailClient implements IAdvanceDetailClient { } @Override + @PostMapping(API_PREFIX + "/updateAdvanceDetail") public void updateAdvanceDetail(AdvanceDetailEntity advanceDetailEntity) { advanceDetailService.updateAdvanceDetail(advanceDetailEntity); } diff --git a/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/mapper/AdvanceMapper.java b/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/mapper/AdvanceMapper.java index f3a695316..890abb543 100644 --- a/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/mapper/AdvanceMapper.java +++ b/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/mapper/AdvanceMapper.java @@ -47,6 +47,6 @@ public interface AdvanceMapper { AdvanceEntity fingById(@Param("advanceId") Integer advanceId); - AdvanceEntity getEntityByMctsTruck(@Param("orderSelfNum") String orderSelfNum, @Param("mctsTruck") String mctsTruck); + List getEntityByMctsTruck(@Param("orderSelfNum") String orderSelfNum, @Param("mctsTruck") String mctsTruck); } diff --git a/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/service/IAdvanceService.java b/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/service/IAdvanceService.java index b13055ada..da72ac72e 100644 --- a/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/service/IAdvanceService.java +++ b/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/service/IAdvanceService.java @@ -41,6 +41,6 @@ public interface IAdvanceService { AdvanceEntity fingById(Integer advanceId); - AdvanceEntity getEntityByMctsTruck(String orderSelfNum, String mctsTruck); + List getEntityByMctsTruck(String orderSelfNum, String mctsTruck); } diff --git a/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/service/impl/AdvanceServiceImpl.java b/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/service/impl/AdvanceServiceImpl.java index c690028c3..e7a4f153a 100644 --- a/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/service/impl/AdvanceServiceImpl.java +++ b/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/service/impl/AdvanceServiceImpl.java @@ -66,7 +66,7 @@ public class AdvanceServiceImpl implements IAdvanceService { } @Override - public AdvanceEntity getEntityByMctsTruck(String orderSelfNum, String mctsTruck) { + public List getEntityByMctsTruck(String orderSelfNum, String mctsTruck) { return advanceMapper.getEntityByMctsTruck(orderSelfNum,mctsTruck); } }