Browse Source

1.同步数据逻辑优化

chenglong
zhenghaoyu 8 months ago
parent
commit
e81474b040
  1. 2
      blade-service-api/logpm-basic-api/src/main/java/com/logpm/basic/feign/IBasicMaterialClient.java
  2. 8
      blade-service/logpm-basic/src/main/java/com/logpm/basic/feign/BasicMaterialClient.java
  3. 2
      blade-service/logpm-patch/src/main/java/com/logpm/patch/controller/SyncOrderInfoController.java
  4. 3
      blade-service/logpm-patch/src/main/java/com/logpm/patch/jobhandle/SyncOrderInfoToPlatform.java
  5. 2
      blade-service/logpm-patch/src/main/java/com/logpm/patch/service/ISyncOrderInfoService.java
  6. 45
      blade-service/logpm-patch/src/main/java/com/logpm/patch/service/impl/SyncOrderInfoServiceImpl.java

2
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);
}

8
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<BasicMaterialEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("name",productName);
BasicMaterialEntity one = basicMaterialService.getOne(queryWrapper);
return one;
}
}

2
blade-service/logpm-patch/src/main/java/com/logpm/patch/controller/SyncOrderInfoController.java

@ -56,7 +56,7 @@ public class SyncOrderInfoController {
List<String> 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){

3
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<String> 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);

2
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<String> orderCodeList,Integer oldWarehouseId,Long newWarehouseId,String tableName);
void handleData(List<String> orderCodeList,Integer oldWarehouseId,Long newWarehouseId,String tableName,Integer inventoryId);
void handleDataZero(List<String> orderCodeList, Integer oldWarehouseId, Long newWarehouseId);

45
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<String> orderCodeList,Integer oldWarehouseId,Long newWarehouseId,String tableName) {
public void handleData(List<String> 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());

Loading…
Cancel
Save