erp定时任务去除try/catch
This commit is contained in:
@@ -110,7 +110,6 @@ public class ErpAssetServiceImpl implements ErpAssetService {
|
||||
@Transactional
|
||||
@XxlJob("getErpAssetTask")
|
||||
public void callErpRfcInterface() {
|
||||
try {
|
||||
OftenEnum.FuncnrEnum funcnrEnum = OftenEnum.FuncnrEnum.资产卡片;
|
||||
String funcnr = funcnrEnum.getFuncnr();
|
||||
String key = "erpMap" + funcnr;
|
||||
@@ -120,8 +119,8 @@ public class ErpAssetServiceImpl implements ErpAssetService {
|
||||
// 构建req参数
|
||||
Map<String, Object> req = new HashMap<>();
|
||||
JSONArray dataArrayALL = new JSONArray();
|
||||
String companyKey ="erpMap"+ OftenEnum.FuncnrEnum.公司代码.getFuncnr();
|
||||
Map<String,Long> redisCache = myRedisConfig.getRedisCacheMap(companyKey);
|
||||
String companyKey = "erpMap" + OftenEnum.FuncnrEnum.公司代码.getFuncnr();
|
||||
Map<String, Long> redisCache = myRedisConfig.getRedisCacheMap(companyKey);
|
||||
if (CollUtil.isEmpty(redisCache)) {
|
||||
throw exception(ERP_COMPANY_REDIS_NOT_EXISTS);
|
||||
}
|
||||
@@ -130,7 +129,7 @@ public class ErpAssetServiceImpl implements ErpAssetService {
|
||||
// 1. 调用ERP接口获取数据
|
||||
HashMap<String, Object> dataFromERP = erpConfig.fetchDataFromERP(funcnr, req);
|
||||
JSONArray dataArray = (JSONArray) dataFromERP.get("E_RESP");
|
||||
if (dataArray==null) {
|
||||
if (dataArray == null) {
|
||||
continue;
|
||||
}
|
||||
dataArrayALL.addAll(dataArray);
|
||||
@@ -144,11 +143,6 @@ public class ErpAssetServiceImpl implements ErpAssetService {
|
||||
|
||||
// 3. 批量保存数据
|
||||
saveData(result);
|
||||
|
||||
} catch (Exception e) {
|
||||
log.error("调用ERP RFC接口失败: {}", e);
|
||||
throw new RuntimeException("调用ERP RFC接口失败: " + e.getMessage(), e);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -202,7 +196,7 @@ public class ErpAssetServiceImpl implements ErpAssetService {
|
||||
Map<String, Long> deleteNumbers = new HashMap<>();
|
||||
for (String number : numbers.keySet()) {
|
||||
if (!dataArrayNumbers.contains(number)) {
|
||||
deleteNumbers.put(number,numbers.get(number));
|
||||
deleteNumbers.put(number, numbers.get(number));
|
||||
}
|
||||
}
|
||||
return new ProcessingResult(toUpdate, toInsert, deleteNumbers, key);
|
||||
@@ -222,8 +216,8 @@ public class ErpAssetServiceImpl implements ErpAssetService {
|
||||
.in(ErpAssetDO::getMainAssetNumber, result.toInsert.stream().map(ErpAssetDO::getMainAssetNumber).collect(Collectors.toList()))
|
||||
);
|
||||
Map<String, Long> numberIdMap = insertedRecords.stream()
|
||||
.collect(Collectors.toMap(asset -> asset.getCompanyNumber() + "-" + asset.getMainAssetNumber(), ErpAssetDO::getId));
|
||||
myRedisConfig.addRedisCacheMap(result.key,numberIdMap);
|
||||
.collect(Collectors.toMap(asset -> asset.getCompanyNumber() + "-" + asset.getMainAssetNumber(), ErpAssetDO::getId,(existing, replacement) -> replacement));
|
||||
myRedisConfig.addRedisCacheMap(result.key, numberIdMap);
|
||||
}
|
||||
if (!result.toUpdate.isEmpty()) {
|
||||
erpAssetMapper.updateBatch(result.toUpdate);
|
||||
@@ -242,10 +236,10 @@ public class ErpAssetServiceImpl implements ErpAssetService {
|
||||
private static class ProcessingResult {
|
||||
private final List<ErpAssetDO> toUpdate;
|
||||
private final List<ErpAssetDO> toInsert;
|
||||
private final Map<String,Long> deleteNumbers;
|
||||
private final Map<String, Long> deleteNumbers;
|
||||
private final String key;
|
||||
|
||||
public ProcessingResult(List<ErpAssetDO> toUpdate, List<ErpAssetDO> toInsert, Map<String,Long> deleteNumbers, String key) {
|
||||
public ProcessingResult(List<ErpAssetDO> toUpdate, List<ErpAssetDO> toInsert, Map<String, Long> deleteNumbers, String key) {
|
||||
this.toUpdate = toUpdate;
|
||||
this.toInsert = toInsert;
|
||||
this.deleteNumbers = deleteNumbers;
|
||||
|
||||
@@ -117,7 +117,6 @@ public class ErpBomServiceImpl implements ErpBomService {
|
||||
@Transactional
|
||||
@XxlJob("getErpBomTask")
|
||||
public void callErpRfcInterface() {
|
||||
try {
|
||||
OftenEnum.FuncnrEnum funcnrEnum = OftenEnum.FuncnrEnum.BOM清单;
|
||||
String funcnr = funcnrEnum.getFuncnr();
|
||||
String key = "erpMap" + funcnr;
|
||||
@@ -150,11 +149,6 @@ public class ErpBomServiceImpl implements ErpBomService {
|
||||
|
||||
// 3. 批量保存数据
|
||||
saveData(result);
|
||||
|
||||
} catch (Exception e) {
|
||||
log.error("调用ERP RFC接口失败: {}", e);
|
||||
throw new RuntimeException("调用ERP RFC接口失败: " + e.getMessage(), e);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -121,7 +121,6 @@ public class ErpCompanyServiceImpl implements ErpCompanyService {
|
||||
@Transactional
|
||||
@XxlJob("getCompanyTask")
|
||||
public void callErpRfcInterface() {
|
||||
try {
|
||||
OftenEnum.FuncnrEnum funcnrEnum = OftenEnum.FuncnrEnum.公司代码;
|
||||
String funcnr = funcnrEnum.getFuncnr();
|
||||
//防止缓存数据丢失
|
||||
@@ -141,12 +140,6 @@ public class ErpCompanyServiceImpl implements ErpCompanyService {
|
||||
|
||||
// 3. 批量保存数据
|
||||
saveData(result);
|
||||
|
||||
} catch (Exception e) {
|
||||
// log.error("调用ERP RFC接口失败: {}", e);
|
||||
throw e;
|
||||
// throw new RuntimeException("调用ERP RFC接口失败: " + e.getMessage(), e);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -284,10 +277,10 @@ public class ErpCompanyServiceImpl implements ErpCompanyService {
|
||||
HttpEntity<String> requestEntity = new HttpEntity<>(requestBody.toJSONString(), headers);
|
||||
// 发送POST请求
|
||||
RestTemplate restTemplate = new RestTemplate();
|
||||
try{
|
||||
try {
|
||||
ResponseEntity<String> response = restTemplate.postForEntity(url, requestEntity, String.class);
|
||||
return url + requestEntity + response;
|
||||
}catch (Exception e){
|
||||
} catch (Exception e) {
|
||||
return url + requestEntity;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -183,7 +183,6 @@ public class ErpContractServiceImpl implements ErpContractService {
|
||||
@Transactional
|
||||
@XxlJob("getErpContractTask")
|
||||
public void callErpRfcInterface() {
|
||||
try {
|
||||
OftenEnum.FuncnrEnum funcnrEnum = OftenEnum.FuncnrEnum.合同信息;
|
||||
String funcnr = funcnrEnum.getFuncnr();
|
||||
|
||||
@@ -210,7 +209,7 @@ public class ErpContractServiceImpl implements ErpContractService {
|
||||
// 1. 调用ERP接口获取数据
|
||||
HashMap<String, Object> dataFromERP = erpConfig.fetchDataFromERP(funcnr, null);
|
||||
JSONArray dataArray = (JSONArray) dataFromERP.get("E_RESP");
|
||||
if (dataArray!= null) {
|
||||
if (dataArray != null) {
|
||||
dataArrayALL.addAll(dataArray);
|
||||
}
|
||||
}
|
||||
@@ -225,11 +224,6 @@ public class ErpContractServiceImpl implements ErpContractService {
|
||||
|
||||
// 3. 批量保存数据
|
||||
saveData(result);
|
||||
|
||||
} catch (Exception e) {
|
||||
log.error("调用ERP RFC接口失败: {}", e);
|
||||
throw new RuntimeException("调用ERP RFC接口失败: " + e.getMessage(), e);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -110,18 +110,17 @@ public class ErpCostcenterServiceImpl implements ErpCostcenterService {
|
||||
@Transactional
|
||||
@XxlJob("getErpCostcenterTask")
|
||||
public void callErpRfcInterface() {
|
||||
try {
|
||||
OftenEnum.FuncnrEnum funcnrEnum =OftenEnum.FuncnrEnum.成本中心;
|
||||
OftenEnum.FuncnrEnum funcnrEnum = OftenEnum.FuncnrEnum.成本中心;
|
||||
String funcnr = funcnrEnum.getFuncnr();
|
||||
//防止缓存数据丢失
|
||||
String key = "erpMap" + funcnr;
|
||||
if (myRedisConfig.getRedisCacheMap( key).isEmpty()){
|
||||
if (myRedisConfig.getRedisCacheMap(key).isEmpty()) {
|
||||
initializeMap(key);
|
||||
}
|
||||
Map<String, Object> req = new HashMap<>();
|
||||
JSONArray dataArrayALL = new JSONArray();
|
||||
String commanyKey ="erpMap"+ OftenEnum.FuncnrEnum.公司代码.getFuncnr();
|
||||
Map<String,Long> redisCache = myRedisConfig.getRedisCacheMap(commanyKey);
|
||||
String commanyKey = "erpMap" + OftenEnum.FuncnrEnum.公司代码.getFuncnr();
|
||||
Map<String, Long> redisCache = myRedisConfig.getRedisCacheMap(commanyKey);
|
||||
if (CollUtil.isEmpty(redisCache)) {
|
||||
return;
|
||||
}
|
||||
@@ -141,15 +140,10 @@ public class ErpCostcenterServiceImpl implements ErpCostcenterService {
|
||||
}
|
||||
|
||||
// 2. 处理公司数据,区分新增和更新
|
||||
ProcessingResult result = processData(dataArrayALL,funcnrEnum);
|
||||
ProcessingResult result = processData(dataArrayALL, funcnrEnum);
|
||||
|
||||
// 3. 批量保存数据
|
||||
saveData(result);
|
||||
|
||||
} catch (Exception e) {
|
||||
log.error("调用ERP RFC接口失败: {}", e);
|
||||
throw new RuntimeException("调用ERP RFC接口失败: " + e.getMessage(), e);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -178,7 +172,7 @@ public class ErpCostcenterServiceImpl implements ErpCostcenterService {
|
||||
DO.setEndDate(LocalDateTime.parse(dataJson.getString("DATBI") + "T00:00:00"));
|
||||
}
|
||||
DO.setScopeName(dataJson.getString("FKBTX"));
|
||||
if (numbers.get(number)!=null) {
|
||||
if (numbers.get(number) != null) {
|
||||
// 更新
|
||||
DO.setId(numbers.get(number));
|
||||
toUpdate.add(DO);
|
||||
@@ -196,7 +190,7 @@ public class ErpCostcenterServiceImpl implements ErpCostcenterService {
|
||||
deleteNumbers.add(number);
|
||||
}
|
||||
}
|
||||
return new ProcessingResult(toUpdate, toInsert,deleteNumbers,key);
|
||||
return new ProcessingResult(toUpdate, toInsert, deleteNumbers, key);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -216,7 +210,7 @@ public class ErpCostcenterServiceImpl implements ErpCostcenterService {
|
||||
);
|
||||
Map<String, Long> numberIdMap = insertedRecords.stream()
|
||||
.collect(Collectors.toMap(ErpCostcenterDO::getNumber, ErpCostcenterDO::getId));
|
||||
myRedisConfig.addRedisCacheMap(result.key,numberIdMap);
|
||||
myRedisConfig.addRedisCacheMap(result.key, numberIdMap);
|
||||
}
|
||||
if (!result.toUpdate.isEmpty()) {
|
||||
erpCostcenterMapper.updateBatch(result.toUpdate);
|
||||
@@ -224,7 +218,7 @@ public class ErpCostcenterServiceImpl implements ErpCostcenterService {
|
||||
if (!result.deleteNumbers.isEmpty()) {
|
||||
// 使用 in 条件批量删除,提高删除效率
|
||||
erpCostcenterMapper.delete(new LambdaQueryWrapperX<ErpCostcenterDO>().in(ErpCostcenterDO::getNumber, result.deleteNumbers));
|
||||
myRedisConfig.deleteRedisCacheMap(result.key,result.deleteNumbers);
|
||||
myRedisConfig.deleteRedisCacheMap(result.key, result.deleteNumbers);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -237,13 +231,14 @@ public class ErpCostcenterServiceImpl implements ErpCostcenterService {
|
||||
private final List<String> deleteNumbers;
|
||||
private final String key;
|
||||
|
||||
public ProcessingResult(List<ErpCostcenterDO> toUpdate, List<ErpCostcenterDO> toInsert,List<String> deleteNumbers,String key) {
|
||||
public ProcessingResult(List<ErpCostcenterDO> toUpdate, List<ErpCostcenterDO> toInsert, List<String> deleteNumbers, String key) {
|
||||
this.toUpdate = toUpdate;
|
||||
this.toInsert = toInsert;
|
||||
this.deleteNumbers = deleteNumbers;
|
||||
this.key = key;
|
||||
}
|
||||
}
|
||||
|
||||
private void initializeMap(String key) {
|
||||
Map<String, Long> existingNumbers = erpCostcenterMapper.selectList(new LambdaQueryWrapperX<ErpCostcenterDO>())
|
||||
.stream()
|
||||
|
||||
@@ -110,7 +110,6 @@ public class ErpCustomerServiceImpl implements ErpCustomerService {
|
||||
@Transactional
|
||||
@XxlJob("getErpCustomerTask")
|
||||
public void callErpRfcInterface() {
|
||||
try {
|
||||
OftenEnum.FuncnrEnum funcnrEnum = OftenEnum.FuncnrEnum.客商信息;
|
||||
String funcnr = funcnrEnum.getFuncnr();
|
||||
|
||||
@@ -140,7 +139,7 @@ public class ErpCustomerServiceImpl implements ErpCustomerService {
|
||||
}
|
||||
dataArrayALL.addAll(dataArray);
|
||||
}
|
||||
if (dataArrayALL.isEmpty()){
|
||||
if (dataArrayALL.isEmpty()) {
|
||||
throw exception(ERP_CUSTOMER_NOT_EXISTS);
|
||||
}
|
||||
|
||||
@@ -149,11 +148,6 @@ public class ErpCustomerServiceImpl implements ErpCustomerService {
|
||||
|
||||
// 3. 批量保存数据
|
||||
saveData(result);
|
||||
|
||||
} catch (Exception e) {
|
||||
log.error("调用ERP RFC接口失败: {}", e);
|
||||
throw new RuntimeException("调用ERP RFC接口失败: " + e.getMessage(), e);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -169,25 +163,30 @@ public class ErpCustomerServiceImpl implements ErpCustomerService {
|
||||
for (int i = 0; i < dataArray.size(); i++) {
|
||||
JSONObject dataJson = dataArray.getJSONObject(i);
|
||||
if (dataJson != null) {
|
||||
String number = dataJson.getString(funcnrEnum.getDatakey()).trim();
|
||||
String number = dataJson.getString(funcnrEnum.getDatakey());
|
||||
if (number != null) {
|
||||
number = number.trim();
|
||||
}
|
||||
ErpCustomerDO DO = new ErpCustomerDO();
|
||||
DO.setName(dataJson.getString("NAME_ORG1"));
|
||||
DO.setNumber(number);
|
||||
DO.setAccountGroup(dataJson.getString("BU_GROUP"));
|
||||
DO.setDescription(dataJson.getString("BU_SORT1"));
|
||||
DO.setCenterNumber(dataJson.getString("BU_SORT2"));
|
||||
if (!dataJson.getString("CRDAT").equals("0000-00-00")) {
|
||||
DO.setCreateDate(LocalDateTime.parse(dataJson.getString("CRDAT") + "T00:00:00"));
|
||||
String crdat = dataJson.getString("CRDAT");
|
||||
if (crdat != null && !crdat.equals("0000-00-00")) {
|
||||
DO.setCreateDate(LocalDateTime.parse(crdat + "T00:00:00"));
|
||||
}
|
||||
if (!dataJson.getString("CHDAT").equals("0000-00-00")) {
|
||||
DO.setRepairDate(LocalDateTime.parse(dataJson.getString("CHDAT") + "T00:00:00"));
|
||||
String chdat = dataJson.getString("CHDAT");
|
||||
if (chdat != null && !chdat.equals("0000-00-00")) {
|
||||
DO.setRepairDate(LocalDateTime.parse(chdat + "T00:00:00"));
|
||||
}
|
||||
DO.setIsGiveback(dataJson.getString("XDELE"));
|
||||
DO.setIsProvisional(dataJson.getString("XBLCK"));
|
||||
// DO.setType(type.modetype);
|
||||
|
||||
// 使用 Map 优化查找效率,避免每次遍历 comnumbers 列表
|
||||
if (numbers.get(number)!=null) {
|
||||
if (number != null && numbers.get(number) != null) {
|
||||
// 更新
|
||||
DO.setId(numbers.get(number));
|
||||
toUpdate.add(DO);
|
||||
@@ -218,7 +217,7 @@ public class ErpCustomerServiceImpl implements ErpCustomerService {
|
||||
);
|
||||
Map<String, Long> numberIdMap = insertedRecords.stream()
|
||||
.collect(Collectors.toMap(ErpCustomerDO::getNumber, ErpCustomerDO::getId));
|
||||
myRedisConfig.addRedisCacheMap(result.key,numberIdMap);
|
||||
myRedisConfig.addRedisCacheMap(result.key, numberIdMap);
|
||||
}
|
||||
if (!result.toUpdate.isEmpty()) {
|
||||
erpCustomerMapper.updateBatch(result.toUpdate);
|
||||
|
||||
@@ -55,7 +55,7 @@ public class ErpFactoryServiceImpl implements ErpFactoryService {
|
||||
// 插入
|
||||
ErpFactoryDO erpFactory = BeanUtils.toBean(createReqVO, ErpFactoryDO.class);
|
||||
// 工厂编码自动生成,格式 GC-0001,依次新增
|
||||
if (erpFactory.getNumber() == null){
|
||||
if (erpFactory.getNumber() == null) {
|
||||
String maxCode = erpFactoryMapper.selectMaxCode();
|
||||
if (maxCode == null) {
|
||||
erpFactory.setNumber("GC-0001");
|
||||
@@ -80,7 +80,7 @@ public class ErpFactoryServiceImpl implements ErpFactoryService {
|
||||
validateErpFactoryExists(updateReqVO.getId());
|
||||
// 更新
|
||||
ErpFactoryDO updateObj = BeanUtils.toBean(updateReqVO, ErpFactoryDO.class);
|
||||
if (updateObj.getType().equals("ERP")||updateObj.getIsEnable().equals("1")){
|
||||
if (updateObj.getType().equals("ERP") || updateObj.getIsEnable().equals("1")) {
|
||||
throw exception(ERP_FACTORY_NOT_ALLOW_UPDATE);
|
||||
}
|
||||
erpFactoryMapper.updateById(updateObj);
|
||||
@@ -164,8 +164,7 @@ public class ErpFactoryServiceImpl implements ErpFactoryService {
|
||||
@Transactional
|
||||
@XxlJob("getErpFactoryTask")
|
||||
public void callErpRfcInterface() {
|
||||
try {
|
||||
OftenEnum.FuncnrEnum funcnrEnum =OftenEnum.FuncnrEnum.工厂信息;
|
||||
OftenEnum.FuncnrEnum funcnrEnum = OftenEnum.FuncnrEnum.工厂信息;
|
||||
String funcnr = funcnrEnum.getFuncnr();
|
||||
//防止缓存数据丢失
|
||||
String key = "erpMap" + funcnrEnum.getFuncnr();
|
||||
@@ -176,7 +175,7 @@ public class ErpFactoryServiceImpl implements ErpFactoryService {
|
||||
Map<String, Object> req = new HashMap<>();
|
||||
JSONArray dataArrayALL = new JSONArray();
|
||||
String companykey = "erpMap" + OftenEnum.FuncnrEnum.公司代码.getFuncnr();
|
||||
Map<String,Long> redisCache = myRedisConfig.getRedisCacheMap(companykey);
|
||||
Map<String, Long> redisCache = myRedisConfig.getRedisCacheMap(companykey);
|
||||
if (CollUtil.isEmpty(redisCache)) {
|
||||
throw exception(ERP_COMPANY_REDIS_NOT_EXISTS);
|
||||
}
|
||||
@@ -202,15 +201,10 @@ public class ErpFactoryServiceImpl implements ErpFactoryService {
|
||||
}
|
||||
|
||||
// 2. 处理公司数据,区分新增和更新
|
||||
ProcessingResult result = processData(dataArrayALL,funcnrEnum);
|
||||
ProcessingResult result = processData(dataArrayALL, funcnrEnum);
|
||||
|
||||
// 3. 批量保存数据
|
||||
saveData(result);
|
||||
|
||||
} catch (Exception e) {
|
||||
log.error("调用ERP RFC接口失败: {}", e);
|
||||
throw new RuntimeException("调用ERP RFC接口失败: " + e.getMessage(), e);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -232,7 +226,7 @@ public class ErpFactoryServiceImpl implements ErpFactoryService {
|
||||
DO.setNumber(number);
|
||||
DO.setErpCompanyNumber(dataJson.getString("BUKRS"));
|
||||
DO.setType("ERP");
|
||||
if (numbers.get(number)!=null) {
|
||||
if (numbers.get(number) != null) {
|
||||
// 更新
|
||||
DO.setId(numbers.get(number));
|
||||
toUpdate.add(DO);
|
||||
@@ -251,7 +245,7 @@ public class ErpFactoryServiceImpl implements ErpFactoryService {
|
||||
deleteNumbers.add(number);
|
||||
}
|
||||
}
|
||||
return new ProcessingResult(toUpdate, toInsert,key,deleteNumbers);
|
||||
return new ProcessingResult(toUpdate, toInsert, key, deleteNumbers);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -271,7 +265,7 @@ public class ErpFactoryServiceImpl implements ErpFactoryService {
|
||||
);
|
||||
Map<String, Long> numberIdMap = insertedRecords.stream()
|
||||
.collect(Collectors.toMap(ErpFactoryDO::getNumber, ErpFactoryDO::getId));
|
||||
myRedisConfig.addRedisCacheMap(result.key,numberIdMap);
|
||||
myRedisConfig.addRedisCacheMap(result.key, numberIdMap);
|
||||
}
|
||||
if (!result.toUpdate.isEmpty()) {
|
||||
erpFactoryMapper.updateBatch(result.toUpdate);
|
||||
@@ -292,7 +286,7 @@ public class ErpFactoryServiceImpl implements ErpFactoryService {
|
||||
private final String key;
|
||||
private final List<String> deleteNumbers;
|
||||
|
||||
public ProcessingResult(List<ErpFactoryDO> toUpdate, List<ErpFactoryDO> toInsert,String key,List<String> deleteNumbers) {
|
||||
public ProcessingResult(List<ErpFactoryDO> toUpdate, List<ErpFactoryDO> toInsert, String key, List<String> deleteNumbers) {
|
||||
this.toUpdate = toUpdate;
|
||||
this.toInsert = toInsert;
|
||||
this.key = key;
|
||||
|
||||
@@ -108,7 +108,6 @@ public class ErpInternalOrderServiceImpl implements ErpInternalOrderService {
|
||||
@Transactional
|
||||
@XxlJob("getErpInternalOrderTask")
|
||||
public void callErpRfcInterface() {
|
||||
try {
|
||||
OftenEnum.FuncnrEnum funcnrEnum = OftenEnum.FuncnrEnum.内部订单;
|
||||
String funcnr = funcnrEnum.getFuncnr();
|
||||
//防止缓存数据丢失
|
||||
@@ -120,7 +119,7 @@ public class ErpInternalOrderServiceImpl implements ErpInternalOrderService {
|
||||
Map<String, Object> req = new HashMap<>();
|
||||
JSONArray dataArrayALL = new JSONArray();
|
||||
String companyCode = "erpMap" + OftenEnum.FuncnrEnum.公司代码.getFuncnr();
|
||||
Map<String,Long> redisCache = myRedisConfig.getRedisCacheMap(companyCode);
|
||||
Map<String, Long> redisCache = myRedisConfig.getRedisCacheMap(companyCode);
|
||||
if (CollUtil.isEmpty(redisCache)) {
|
||||
throw exception(ERP_COMPANY_REDIS_NOT_EXISTS);
|
||||
}
|
||||
@@ -144,11 +143,6 @@ public class ErpInternalOrderServiceImpl implements ErpInternalOrderService {
|
||||
|
||||
// 3. 批量保存数据
|
||||
saveData(result);
|
||||
|
||||
} catch (Exception e) {
|
||||
log.error("调用ERP RFC接口失败: {}", e);
|
||||
throw new RuntimeException("调用ERP RFC接口失败: " + e.getMessage(), e);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -171,7 +165,7 @@ public class ErpInternalOrderServiceImpl implements ErpInternalOrderService {
|
||||
DO.setType(dataJson.getString("AUART"));
|
||||
DO.setIsOff(dataJson.getString("PHAS3"));
|
||||
DO.setIsFinish(dataJson.getString("PHAS2"));
|
||||
if (numbers.get(number)!=null) {
|
||||
if (numbers.get(number) != null) {
|
||||
// 更新
|
||||
DO.setId(numbers.get(number));
|
||||
toUpdate.add(DO);
|
||||
@@ -210,7 +204,7 @@ public class ErpInternalOrderServiceImpl implements ErpInternalOrderService {
|
||||
);
|
||||
Map<String, Long> numberIdMap = insertedRecords.stream()
|
||||
.collect(Collectors.toMap(ErpInternalOrderDO::getNumber, ErpInternalOrderDO::getId));
|
||||
myRedisConfig.addRedisCacheMap(result.key,numberIdMap);
|
||||
myRedisConfig.addRedisCacheMap(result.key, numberIdMap);
|
||||
}
|
||||
if (!result.toUpdate.isEmpty()) {
|
||||
erpInternalOrderMapper.updateBatch(result.toUpdate);
|
||||
|
||||
@@ -164,7 +164,7 @@ public class ErpMaterialServiceImpl implements ErpMaterialService {
|
||||
MaterialOtherDTO dto = new MaterialOtherDTO();
|
||||
dto.setMaterialNumber(respVO.getDownCenterNumber());
|
||||
List<MaterialOtherDTO> dtos = baseApi.getMaterialOtherNoPage(dto);
|
||||
if (dtos != null){
|
||||
if (dtos != null) {
|
||||
respVO.setMaterialOtherDTOS(dtos);
|
||||
}
|
||||
}
|
||||
@@ -178,7 +178,6 @@ public class ErpMaterialServiceImpl implements ErpMaterialService {
|
||||
@Transactional
|
||||
@XxlJob("getErpMaterialTask")
|
||||
public void callErpRfcInterface() {
|
||||
try {
|
||||
OftenEnum.FuncnrEnum funcnrEnum = OftenEnum.FuncnrEnum.物料数据;
|
||||
String funcnr = funcnrEnum.getFuncnr();
|
||||
//防止缓存数据丢失
|
||||
@@ -210,11 +209,6 @@ public class ErpMaterialServiceImpl implements ErpMaterialService {
|
||||
|
||||
// 3. 批量保存数据
|
||||
saveData(result);
|
||||
|
||||
} catch (Exception e) {
|
||||
log.error("调用ERP RFC接口失败: {}", e);
|
||||
throw new RuntimeException("调用ERP RFC接口失败: " + e.getMessage(), e);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -115,10 +115,10 @@ public class ErpProcessDetailServiceImpl implements ErpProcessDetailService {
|
||||
List<String> dataArrayNumbers = new ArrayList<>();
|
||||
Map<String, Long> existingNumbers = myRedisConfig.getRedisCacheMap(key);
|
||||
for (ErpProcessDetailDO updateReqVO : updateReqVOS) {
|
||||
if (updateReqVO.getProcessingName() == null|| updateReqVO.getProcessingName().isEmpty()){
|
||||
if (updateReqVO.getProcessingName() == null || updateReqVO.getProcessingName().isEmpty()) {
|
||||
continue;
|
||||
}
|
||||
String mapKey = updateReqVO.getProcessId() + "-" + updateReqVO.getProcessingNumber();
|
||||
String mapKey = updateReqVO.getProcessId() + "-" + updateReqVO.getProcessingNumber()+"-" + updateReqVO.getWorkCenterNumber();
|
||||
if (existingNumbers.containsKey(mapKey)) {
|
||||
updateReqVO.setId(existingNumbers.get(mapKey));
|
||||
}
|
||||
@@ -149,10 +149,12 @@ public class ErpProcessDetailServiceImpl implements ErpProcessDetailService {
|
||||
new LambdaQueryWrapperX<ErpProcessDetailDO>()
|
||||
.in(ErpProcessDetailDO::getProcessId, result.toInsert.stream().map(ErpProcessDetailDO::getProcessId).distinct().collect(Collectors.toList()))
|
||||
.in(ErpProcessDetailDO::getProcessingNumber, result.toInsert.stream().map(ErpProcessDetailDO::getProcessingNumber).distinct().collect(Collectors.toList()))
|
||||
// .in(ErpProcessDetailDO::getProcessingName, result.toInsert.stream().map(ErpProcessDetailDO::getProcessingName).distinct().collect(Collectors.toList()))
|
||||
.in(ErpProcessDetailDO::getWorkCenterNumber, result.toInsert.stream().map(ErpProcessDetailDO::getWorkCenterNumber).distinct().collect(Collectors.toList()))
|
||||
);
|
||||
Map<String, Long> numberIdMap = insertedRecords.stream()
|
||||
.collect(Collectors.toMap(asset -> asset.getProcessId() + "-" + asset.getProcessingNumber(), ErpProcessDetailDO::getId));
|
||||
.collect(Collectors.toMap(
|
||||
asset -> asset.getProcessId() + "-" + asset.getProcessingNumber() + "-" + asset.getWorkCenterNumber(),
|
||||
ErpProcessDetailDO::getId, (existing, replacement) -> replacement));
|
||||
myRedisConfig.addRedisCacheMap(result.key, numberIdMap);
|
||||
}
|
||||
if (!result.toUpdate.isEmpty()) {
|
||||
@@ -186,7 +188,7 @@ public class ErpProcessDetailServiceImpl implements ErpProcessDetailService {
|
||||
List<ErpProcessDetailDO> assets = erpProcessDetailMapper.selectList(new LambdaQueryWrapperX<ErpProcessDetailDO>());
|
||||
Map<String, Long> existingNumbers = new HashMap<>();
|
||||
for (ErpProcessDetailDO asset : assets) {
|
||||
String mapKey = asset.getProcessId() + "-" + asset.getProcessingNumber();
|
||||
String mapKey = asset.getProcessId() + "-" + asset.getProcessingNumber()+ "-" + asset.getWorkCenterNumber();
|
||||
existingNumbers.put(mapKey, asset.getId());
|
||||
}
|
||||
myRedisConfig.addRedisCacheMap(key, existingNumbers);
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user