erp定时任务去除try/catch

This commit is contained in:
liss
2025-10-17 18:00:42 +08:00
parent 7e4f7998a3
commit 5604fd596a
16 changed files with 619 additions and 691 deletions

View File

@@ -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;
@@ -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);
}
}
/**
@@ -222,7 +216,7 @@ 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));
.collect(Collectors.toMap(asset -> asset.getCompanyNumber() + "-" + asset.getMainAssetNumber(), ErpAssetDO::getId,(existing, replacement) -> replacement));
myRedisConfig.addRedisCacheMap(result.key, numberIdMap);
}
if (!result.toUpdate.isEmpty()) {

View File

@@ -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);
}
}
/**

View File

@@ -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

View File

@@ -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();
@@ -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

View File

@@ -110,7 +110,6 @@ public class ErpCostcenterServiceImpl implements ErpCostcenterService {
@Transactional
@XxlJob("getErpCostcenterTask")
public void callErpRfcInterface() {
try {
OftenEnum.FuncnrEnum funcnrEnum = OftenEnum.FuncnrEnum.成本中心;
String funcnr = funcnrEnum.getFuncnr();
//防止缓存数据丢失
@@ -145,11 +144,6 @@ public class ErpCostcenterServiceImpl implements ErpCostcenterService {
// 3. 批量保存数据
saveData(result);
} catch (Exception e) {
log.error("调用ERP RFC接口失败: {}", e);
throw new RuntimeException("调用ERP RFC接口失败: " + e.getMessage(), e);
}
}
/**
@@ -244,6 +238,7 @@ public class ErpCostcenterServiceImpl implements ErpCostcenterService {
this.key = key;
}
}
private void initializeMap(String key) {
Map<String, Long> existingNumbers = erpCostcenterMapper.selectList(new LambdaQueryWrapperX<ErpCostcenterDO>())
.stream()

View File

@@ -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();
@@ -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);

View File

@@ -164,7 +164,6 @@ public class ErpFactoryServiceImpl implements ErpFactoryService {
@Transactional
@XxlJob("getErpFactoryTask")
public void callErpRfcInterface() {
try {
OftenEnum.FuncnrEnum funcnrEnum = OftenEnum.FuncnrEnum.工厂信息;
String funcnr = funcnrEnum.getFuncnr();
//防止缓存数据丢失
@@ -206,11 +205,6 @@ public class ErpFactoryServiceImpl implements ErpFactoryService {
// 3. 批量保存数据
saveData(result);
} catch (Exception e) {
log.error("调用ERP RFC接口失败: {}", e);
throw new RuntimeException("调用ERP RFC接口失败: " + e.getMessage(), e);
}
}
/**

View File

@@ -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();
//防止缓存数据丢失
@@ -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);
}
}
/**

View File

@@ -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);
}
}
/**

View File

@@ -118,7 +118,7 @@ public class ErpProcessDetailServiceImpl implements ErpProcessDetailService {
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