Browse Source

2025-07-07

Bom Routing 数据同步-反向
master
fengyuan_yang 6 months ago
parent
commit
3b52b68ca8
  1. 8
      src/main/java/com/spring/modules/part/service/impl/BomManagementServiceImpl.java
  2. 17
      src/main/java/com/spring/modules/part/util/UtilsClass.java

8
src/main/java/com/spring/modules/part/service/impl/BomManagementServiceImpl.java

@ -1368,9 +1368,8 @@ public class BomManagementServiceImpl extends ServiceImpl<BomManagementMapper, B
String items = String.valueOf(getBomComponentResponse.get("obj"));
List<BomIfsItem> ifsItems = JSON.parseArray(items, BomIfsItem.class);
List<BomComponentVo> plmItems = new ArrayList<>();
for (BomIfsItem ifsItem : ifsItems) {
BomComponentVo plmItem = new BomComponentVo();
BomComponentEntity plmItem = new BomComponentEntity();
plmItem.setSite(ifsItem.getContract());
plmItem.setPartNo(ifsItem.getPartNo());
plmItem.setEngChgLevel(Integer.valueOf(ifsItem.getEngChgLevel()));
@ -1389,7 +1388,7 @@ public class BomManagementServiceImpl extends ServiceImpl<BomManagementMapper, B
plmItem.setLineSequence(ifsItem.getLineSequence().isEmpty() ? null : Integer.valueOf(ifsItem.getLineSequence()));
plmItem.setConsumptionItem(ifsItem.getConsumptionItem());
plmItem.setCreateBy(data.getUpdateBy());
plmItems.add(plmItem);
bomManagementMapper.saveBomComponent(plmItem);
}
String distributions = String.valueOf(getBomDistributionResponse.get("obj"));
@ -1411,9 +1410,6 @@ public class BomManagementServiceImpl extends ServiceImpl<BomManagementMapper, B
plmDistributions.add(plmDistribution);
}
// 重新写入到plm
if (!plmItems.isEmpty()) {
bomManagementMapper.saveBomComponents(plmItems);
}
if (!plmDistributions.isEmpty()) {
bomManagementMapper.saveBomManufStructCostDistrib(plmDistributions);
}

17
src/main/java/com/spring/modules/part/util/UtilsClass.java

@ -10,20 +10,15 @@ public class UtilsClass {
* @return
*/
public static BigDecimal stringToBigDecimal(String str) {
BigDecimal bd = BigDecimal.ZERO;
if (str == null) {
return bd;
if (str == null || str.trim().isEmpty()) {
return BigDecimal.ZERO; // 或者返回 BigDecimal.ZERO视业务需求而定
}
try {
// 使用字符串创建 BigDecimal 对象
bd = new BigDecimal(str);
} catch (NumberFormatException e) {
// 处理非法格式的情况
System.err.println("无效的重量值: " + str);
// 可以选择设置默认值或其他处理方式
bd = BigDecimal.ZERO;
return new BigDecimal(str.trim());
} catch (Exception ex) {
System.err.println("无法解析的数值: " + str);
return BigDecimal.ZERO; // 或抛异常或返回 null
}
return bd;
}
/**

Loading…
Cancel
Save