|
|
|
@ -335,15 +335,14 @@ public class AsyncDataServiceImpl implements IAsyncDataService {
|
|
|
|
|
List<ServiceNumEntity> 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<MtFactoryOrder> 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<ReceivingOrderEntity> 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<FactoryOrderEntity> 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<FactoryOrderEntity> 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<AdvanceEntity> 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<FactoryPackageEntity> 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<FactoryPackageEntity> 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<AdvanceEntity> 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<AdvanceEntity> advanceEntitys = bladeRedis.get(key); |
|
|
|
|
if (ObjectUtils.isNull(advanceEntitys)) { |
|
|
|
|
advanceEntitys = iAdvanceClient.getEntityByMctsTruck(orderSelfNum, departCode); |
|
|
|
|
bladeRedis.setEx(key, advanceEntitys, 60 * 60L); |
|
|
|
|
} |
|
|
|
|
return advanceEntity; |
|
|
|
|
return advanceEntitys; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|