Browse Source

1.老系统卸分一体数据逻辑优化

training
zhenghaoyu 1 year ago
parent
commit
78aa135199
  1. 14
      blade-service/logpm-factory/src/main/java/com/logpm/factory/comfac/service/impl/FactoryCommonServiceImpl.java
  2. 7
      blade-service/logpm-factory/src/main/java/com/logpm/factory/pan/service/impl/PanFactoryDataServiceImpl.java
  3. 10
      blade-service/logpm-factory/src/main/java/com/logpm/factory/receiver/DealWithDataHandler.java

14
blade-service/logpm-factory/src/main/java/com/logpm/factory/comfac/service/impl/FactoryCommonServiceImpl.java

@ -14,6 +14,8 @@ import com.logpm.warehouse.feign.IWarehouseTrayTypeClient;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.common.exception.CustomerException;
import org.springblade.core.redis.cache.BladeRedis;
import org.springblade.core.tool.utils.StringUtil;
import org.springframework.stereotype.Service;
import java.util.HashMap;
@ -31,9 +33,21 @@ public class FactoryCommonServiceImpl implements IFactoryCommonService {
private final ITrayClient trayClient;
private final ITrayScanClient trayScanClient;
private final BladeRedis bladeRedis;
@Override
public void syncTrayTypeData(String unitNo, Integer trayId, String oldWarehouseId) {
//先判断是否两个数据已经执行完成
String ruku = bladeRedis.get("arrive-"+unitNo);
String tray = bladeRedis.get("tray-"+unitNo);
if(StringUtil.isBlank(ruku) || StringUtil.isBlank(tray)){
log.error("###############syncTrayTypeData: 数据不完整,暂不打托 ruku={} tray={}",ruku,tray);
throw new CustomerException(403,"数据不完整,暂不打托");
}
log.info("###############syncTrayTypeData: 包件打托开始 unitNo={} trayId={} oldWarehouseId={}",unitNo,trayId,oldWarehouseId);
//先判断新系统仓库信息是否存在
BasicdataWarehouseEntity warehouseEntity = basicdataWarehouseClient.getWarehouseByOldId(Integer.parseInt(oldWarehouseId));

7
blade-service/logpm-factory/src/main/java/com/logpm/factory/pan/service/impl/PanFactoryDataServiceImpl.java

@ -49,6 +49,7 @@ import org.springblade.common.constant.order.*;
import org.springblade.common.constant.orderpackage.*;
import org.springblade.common.exception.CustomerException;
import org.springblade.common.utils.CommonUtil;
import org.springblade.core.redis.cache.BladeRedis;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.ObjectUtil;
import org.springblade.core.tool.utils.StringUtil;
@ -93,6 +94,8 @@ public class PanFactoryDataServiceImpl implements IPanFactoryDataService {
private final ITrayScanClient trayScanClient;
private final IWarehouseTrayTypeClient warehouseTrayTypeClient;
private final BladeRedis bladeRedis;
// @Override
// public FactoryTokenVO getToken(String corpId, String appKey, String appSecret) throws NoSuchAlgorithmException {
//
@ -552,6 +555,10 @@ public class PanFactoryDataServiceImpl implements IPanFactoryDataService {
//已存在包件信息那就不处理
logger.info("#################handleDataToPlatform: 包件信息已存在,不用处理 unitNo={}", unitNo);
}
//存入包条缓存
bladeRedis.setEx("arrive-"+unitNo,unitNo,30L);
}
private void saveTrayTypeInfoPackage(String unitNo,Integer oldWarehouseId,Long newWarehouseId) {

10
blade-service/logpm-factory/src/main/java/com/logpm/factory/receiver/DealWithDataHandler.java

@ -8,6 +8,7 @@ import com.rabbitmq.client.Channel;
import lombok.extern.slf4j.Slf4j;
import org.springblade.common.constant.RabbitConstant;
import org.springblade.common.exception.CustomerException;
import org.springblade.core.redis.cache.BladeRedis;
import org.springblade.core.tool.utils.StringUtil;
import org.springframework.amqp.core.Message;
import org.springframework.amqp.rabbit.annotation.RabbitHandler;
@ -35,6 +36,8 @@ public class DealWithDataHandler {
private IPanFactoryDataService panFactoryDataService;
@Autowired
private IFactoryCommonService factoryCommonService;
@Autowired
private BladeRedis bladeRedis;
private Integer retryCount = 1;
@ -70,12 +73,11 @@ public class DealWithDataHandler {
if ("4".equals(status)) {
panFactoryDataService.handleDataToPlatform(unitNo, operationTime);
}else if("2".equals(status)){
// //同步打托数据
// if(!Objects.isNull(trayId)){
// factoryCommonService.syncTrayTypeData(unitNo,trayId,currentWarehouseId);
// }
bladeRedis.setEx("tray-"+unitNo,unitNo,30L);
}
//同步打托数据
factoryCommonService.syncTrayTypeData(unitNo,trayId,currentWarehouseId);
} catch (Exception e) {
e.printStackTrace();

Loading…
Cancel
Save