Browse Source

2025-01-14

master
fengyuan_yang 1 year ago
parent
commit
0b6721a2b4
  1. 117
      src/main/java/com/spring/modules/part/service/impl/BomManagementServiceImpl.java
  2. 96
      src/main/java/com/spring/modules/part/service/impl/RoutingManagementServiceImpl.java

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

@ -475,70 +475,69 @@ public class BomManagementServiceImpl extends ServiceImpl<BomManagementMapper, B
HashMap<String, Object> map = new HashMap<>();
// 查出Bom替代的当前状态
List<BomDetailEntity> checkList = bomManagementMapper.checkBomDetailOnlyOne(data);
if (!checkList.isEmpty()) { // 判断替代是否存在
if (StringUtils.isNotBlank(data.getStatus()) && StringUtils.isNotBlank(checkList.get(0).getStatus())) { // 判断状态是否为null
if (data.getStatus().equals(checkList.get(0).getStatus())) { // 判断状态是否已改变
if ("Tentative".equals(checkList.get(0).getStatus()) || "Obsolete".equals(checkList.get(0).getStatus())) {
data.setStatus("Buildable");
} else if ("Buildable".equals(checkList.get(0).getStatus())) {
data.setStatus("Obsolete");
}
if (dataUrl) {
// 判断是否为正式替代
if ("Y".equals(checkList.get(0).getOfficialFlag())) {
Server srv = getIfsServer(data.getUpdateBy());
BomIfsAlternative bomIfsDetail = new BomIfsAlternative();
bomIfsDetail.setContract(checkList.get(0).getSite());
bomIfsDetail.setPartNo(checkList.get(0).getPartNo());
bomIfsDetail.setEngChgLevel(checkList.get(0).getEngChgLevel().toString());
bomIfsDetail.setBomType(checkList.get(0).getBomType());
bomIfsDetail.setAlternativeNo(checkList.get(0).getAlternativeNo());
bomIfsDetail.setAlternativeDesc(checkList.get(0).getAlternativeDescription());
if ("Buildable".equals(data.getStatus())) { // 状态修改为buildable
Map<String, String> buildBomDetailResponse = bomServiceBean.buildBomAlternative(srv, bomIfsDetail);
if (!"200".equals(buildBomDetailResponse.get("resultCode"))) {
throw new RuntimeException("ifs BomAlternative Build异常:" + buildBomDetailResponse.get("resultMsg"));
}
} else if ("Obsolete".equals(data.getStatus())) { // 状态修改为Obsolete
Map<String, String> retireBomDetailResponse = bomServiceBean.retireBomAlternative(srv, bomIfsDetail);
if (!"200".equals(retireBomDetailResponse.get("resultCode"))) {
throw new RuntimeException("ifs BomAlternative Retire异常:" + retireBomDetailResponse.get("resultMsg"));
}
}
}
if (checkList.isEmpty()) { // 判断替代是否存在
throw new RuntimeException("当前替代不存在,请刷新数据!");
}
// 判断状态是否为null
if (StringUtils.isBlank(data.getStatus()) || StringUtils.isBlank(checkList.get(0).getStatus())) {
throw new RuntimeException("当前替代状态为空!");
}
// 判断状态是否已改变
if (!data.getStatus().equals(checkList.get(0).getStatus())) {
throw new RuntimeException("当前替代状态已改变,请刷新数据!");
}
if ("Tentative".equals(checkList.get(0).getStatus()) || "Obsolete".equals(checkList.get(0).getStatus())) {
data.setStatus("Buildable");
} else if ("Buildable".equals(checkList.get(0).getStatus())) {
data.setStatus("Obsolete");
}
if (dataUrl) {
// 判断是否为正式替代
if ("Y".equals(checkList.get(0).getOfficialFlag())) {
Server srv = getIfsServer(data.getUpdateBy());
BomIfsAlternative bomIfsDetail = new BomIfsAlternative();
bomIfsDetail.setContract(checkList.get(0).getSite());
bomIfsDetail.setPartNo(checkList.get(0).getPartNo());
bomIfsDetail.setEngChgLevel(checkList.get(0).getEngChgLevel().toString());
bomIfsDetail.setBomType(checkList.get(0).getBomType());
bomIfsDetail.setAlternativeNo(checkList.get(0).getAlternativeNo());
bomIfsDetail.setAlternativeDesc(checkList.get(0).getAlternativeDescription());
if ("Buildable".equals(data.getStatus())) { // 状态修改为buildable
Map<String, String> buildBomDetailResponse = bomServiceBean.buildBomAlternative(srv, bomIfsDetail);
if (!"200".equals(buildBomDetailResponse.get("resultCode"))) {
throw new RuntimeException("ifs BomAlternative Build异常:" + buildBomDetailResponse.get("resultMsg"));
}
// 修改替代状态
bomManagementMapper.updateAlternativeStatus(data);
// 修改inventoryPart revision的状态
if ("Buildable".equals(data.getStatus())) {
PartRevisionVo revision = bomManagementMapper.selectPartRevision(data);
revision.setBomType(data.getBomType());
revision.setProductStatus("In Effect");
bomManagementMapper.updatePartRevisionProductStatus(revision);
} else if ("Obsolete".equals(data.getStatus())) { // 状态修改为Obsolete
Map<String, String> retireBomDetailResponse = bomServiceBean.retireBomAlternative(srv, bomIfsDetail);
if (!"200".equals(retireBomDetailResponse.get("resultCode"))) {
throw new RuntimeException("ifs BomAlternative Retire异常:" + retireBomDetailResponse.get("resultMsg"));
}
// 查询替代列表
BomHeaderEntity header = new BomHeaderEntity();
BeanUtils.copyProperties(data,header);
List<BomDetailEntity> detailDataList = bomManagementMapper.queryBomDetail(header);
// 被修改的替代
BomDetailEntity detailData = bomManagementMapper.checkBomDetailOnlyOne(data).get(0);
// 该替代的子明细列表
List<BomComponentVo> subDetailList = bomManagementMapper.queryBomComponent(detailData);
// 返回值
map.put("detailData",detailDataList.get(0));
map.put("detailDataList",detailDataList);
map.put("subDetailList",subDetailList);
return map;
} else {
throw new RuntimeException("当前替代状态已改变,请刷新数据!");
}
} else {
throw new RuntimeException("当前替代状态为空!");
}
} else {
throw new RuntimeException("当前替代不存在,请刷新数据!");
}
// 修改替代状态
bomManagementMapper.updateAlternativeStatus(data);
// 修改inventoryPart revision的状态
if ("Buildable".equals(data.getStatus())) {
PartRevisionVo revision = bomManagementMapper.selectPartRevision(data);
revision.setBomType(data.getBomType());
revision.setProductStatus("In Effect");
bomManagementMapper.updatePartRevisionProductStatus(revision);
}
// 查询替代列表
BomHeaderEntity header = new BomHeaderEntity();
BeanUtils.copyProperties(data,header);
List<BomDetailEntity> detailDataList = bomManagementMapper.queryBomDetail(header);
// 被修改的替代
BomDetailEntity detailData = bomManagementMapper.checkBomDetailOnlyOne(data).get(0);
// 该替代的子明细列表
List<BomComponentVo> subDetailList = bomManagementMapper.queryBomComponent(detailData);
// 返回值
map.put("detailData",detailDataList.get(0));
map.put("detailDataList",detailDataList);
map.put("subDetailList",subDetailList);
return map;
}
/**

96
src/main/java/com/spring/modules/part/service/impl/RoutingManagementServiceImpl.java

@ -443,46 +443,55 @@ public class RoutingManagementServiceImpl extends ServiceImpl<RoutingManagementM
HashMap<String, Object> map = new HashMap<>();
// 查出Bom替代的当前状态
List<RoutingDetailEntity> checkList = routingManagementMapper.checkRoutingDetailOnlyOne(data);
if (!checkList.isEmpty()) { // 判断替代是否存在
if (StringUtils.isNotBlank(data.getStatus()) && StringUtils.isNotBlank(checkList.get(0).getStatus())) { // 判断状态是否为null
if (data.getStatus().equals(checkList.get(0).getStatus())) { // 判断状态是否已改变
if ("Tentative".equals(checkList.get(0).getStatus()) || "Obsolete".equals(checkList.get(0).getStatus())) {
data.setStatus("Buildable");
} else if ("Buildable".equals(checkList.get(0).getStatus())) {
data.setStatus("Obsolete");
// 判断替代是否存在
if (checkList.isEmpty()) {
throw new RuntimeException("当前替代不存在!");
}
// 判断状态是否为null
if (StringUtils.isBlank(data.getStatus()) || StringUtils.isBlank(checkList.get(0).getStatus())) {
throw new RuntimeException("当前替代状态为空!");
}
// 判断状态是否已改变
if (!data.getStatus().equals(checkList.get(0).getStatus())) {
throw new RuntimeException("当前替代状态已改变!");
}
if ("Tentative".equals(checkList.get(0).getStatus()) || "Obsolete".equals(checkList.get(0).getStatus())) {
data.setStatus("Buildable");
} else if ("Buildable".equals(checkList.get(0).getStatus())) {
data.setStatus("Obsolete");
}
if (dataUrl) {
// 判断是否为正式替代
if ("Y".equals(checkList.get(0).getOfficialFlag())) {
Server srv = getIfsServer(data.getUpdateBy());
RoutingIfsAlternative routingIfsDetail = getIfsRoutingDetail(checkList.get(0));
if ("Buildable".equals(data.getStatus())) { // 状态修改为buildable
Map<String, String> buildRoutingDetailResponse = routingServiceBean.buildRoutingAlternative(srv, routingIfsDetail);
if (!"200".equals(buildRoutingDetailResponse.get("resultCode"))) {
throw new RuntimeException("IFS RoutingAlternative Build异常:" + buildRoutingDetailResponse.get("resultMsg"));
}
if (dataUrl) {
// 判断是否为正式替代
if ("Y".equals(checkList.get(0).getOfficialFlag())) {
Server srv = getIfsServer(data.getUpdateBy());
RoutingIfsAlternative routingIfsDetail = getIfsRoutingDetail(checkList.get(0));
if ("Buildable".equals(data.getStatus())) { // 状态修改为buildable
Map<String, String> buildRoutingDetailResponse = routingServiceBean.buildRoutingAlternative(srv, routingIfsDetail);
if (!"200".equals(buildRoutingDetailResponse.get("resultCode"))) {
throw new RuntimeException("IFS RoutingAlternative Build异常:" + buildRoutingDetailResponse.get("resultMsg"));
}
} else if ("Obsolete".equals(data.getStatus())) { // 状态修改为Obsolete
Map<String, String> retireRoutingDetailResponse = routingServiceBean.retireRoutingAlternative(srv, routingIfsDetail);
if (!"200".equals(retireRoutingDetailResponse.get("resultCode"))) {
throw new RuntimeException("IFS RoutingAlternative Retire异常:" + retireRoutingDetailResponse.get("resultMsg"));
}
}
}
} else if ("Obsolete".equals(data.getStatus())) { // 状态修改为Obsolete
Map<String, String> retireRoutingDetailResponse = routingServiceBean.retireRoutingAlternative(srv, routingIfsDetail);
if (!"200".equals(retireRoutingDetailResponse.get("resultCode"))) {
throw new RuntimeException("IFS RoutingAlternative Retire异常:" + retireRoutingDetailResponse.get("resultMsg"));
}
// 修改替代状态
routingManagementMapper.updateAlternativeStatus(data);
// 查询替代列表
RoutingHeaderEntity routingHeader = new RoutingHeaderEntity();
BeanUtils.copyProperties(data,routingHeader);
List<RoutingDetailEntity> detailDataList = routingManagementMapper.queryRoutingDetail(routingHeader);
// 被修改的替代
RoutingDetailEntity detailData = routingManagementMapper.checkRoutingDetailOnlyOne(data).get(0);
// 该替代的子明细列表
List<RoutingComponentVo> subDetailList = routingManagementMapper.queryRoutingComponent(detailData);
// 返回值
map.put("detailData",detailDataList.get(0));
map.put("detailDataList",detailDataList);
map.put("subDetailList",subDetailList);
}
}
}
// 修改替代状态
routingManagementMapper.updateAlternativeStatus(data);
// 查询替代列表
RoutingHeaderEntity routingHeader = new RoutingHeaderEntity();
BeanUtils.copyProperties(data,routingHeader);
List<RoutingDetailEntity> detailDataList = routingManagementMapper.queryRoutingDetail(routingHeader);
// 被修改的替代
RoutingDetailEntity detailData = routingManagementMapper.checkRoutingDetailOnlyOne(data).get(0);
// 该替代的子明细列表
List<RoutingComponentVo> subDetailList = routingManagementMapper.queryRoutingComponent(detailData);
// 返回值
map.put("detailData",detailDataList.get(0));
map.put("detailDataList",detailDataList);
map.put("subDetailList",subDetailList);
// // 同步ifs
// // 1 获得 header 对象
@ -503,16 +512,7 @@ public class RoutingManagementServiceImpl extends ServiceImpl<RoutingManagementM
// if (!"200".equals(responseData1.getCode())) {
// throw new RuntimeException("ifs Routing异常信息:" + responseData1.getMsg());
// }
return map;
} else {
throw new RuntimeException("当前替代状态已改变!");
}
} else {
throw new RuntimeException("当前替代状态为空!");
}
} else {
throw new RuntimeException("当前替代不存在!");
}
return map;
}
/**

Loading…
Cancel
Save