Browse Source

Merge remote-tracking branch 'origin/master'

master
qiezi 1 year ago
parent
commit
4fc03df31a
  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
  3. 4
      src/main/java/com/spring/modules/part/vo/PartInformationVo.java
  4. 10
      src/main/resources/mapper/part/PartInformationMapper.xml

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<>(); HashMap<String, Object> map = new HashMap<>();
// 查出Bom替代的当前状态 // 查出Bom替代的当前状态
List<BomDetailEntity> checkList = bomManagementMapper.checkBomDetailOnlyOne(data); 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<>(); HashMap<String, Object> map = new HashMap<>();
// 查出Bom替代的当前状态 // 查出Bom替代的当前状态
List<RoutingDetailEntity> checkList = routingManagementMapper.checkRoutingDetailOnlyOne(data); 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 // // 同步ifs
// // 1 获得 header 对象 // // 1 获得 header 对象
@ -503,16 +512,7 @@ public class RoutingManagementServiceImpl extends ServiceImpl<RoutingManagementM
// if (!"200".equals(responseData1.getCode())) { // if (!"200".equals(responseData1.getCode())) {
// throw new RuntimeException("ifs Routing异常信息:" + responseData1.getMsg()); // throw new RuntimeException("ifs Routing异常信息:" + responseData1.getMsg());
// } // }
return map;
} else {
throw new RuntimeException("当前替代状态已改变!");
}
} else {
throw new RuntimeException("当前替代状态为空!");
}
} else {
throw new RuntimeException("当前替代不存在!");
}
return map;
} }
/** /**

4
src/main/java/com/spring/modules/part/vo/PartInformationVo.java

@ -128,6 +128,10 @@ public class PartInformationVo extends PartInformationEntity {
* 规划方法名称 * 规划方法名称
**/ **/
private String planningMethodDesc; private String planningMethodDesc;
/**
* 最终物料编码
**/
private String finalPartNo;
/** /**
* 复制物料 * 复制物料
*/ */

10
src/main/resources/mapper/part/PartInformationMapper.xml

@ -1328,7 +1328,8 @@
c.part_no, c.part_no,
c.part_desc, c.part_desc,
a.bu_no, a.bu_no,
dbo.plm_get_bu_desc(a.site,a.bu_no) buDesc
dbo.plm_get_bu_desc(a.site,a.bu_no) buDesc,
c.ifs_part_no as finalPartNo
FROM (select FROM (select
prp1.site, prp1.site,
prp1.test_part_no, prp1.test_part_no,
@ -1377,7 +1378,8 @@
SELECT SELECT
a.site, a.site,
a.part_no, a.part_no,
a.part_desc
a.part_desc,
a.ifs_part_no as finalPartNo
FROM part as a FROM part as a
left join plm_project_part as b on a.site = b.site and a.part_no = b.test_part_no left join plm_project_part as b on a.site = b.site and a.part_no = b.test_part_no
where a.site = #{query.site} where a.site = #{query.site}
@ -1398,9 +1400,9 @@
<!-- 新增项目物料 --> <!-- 新增项目物料 -->
<insert id="addProjectPart"> <insert id="addProjectPart">
insert into plm_project_part insert into plm_project_part
(site, project_id, test_part_no, create_date, create_by, part_no_source, bu_no) VALUES
(site, project_id, test_part_no, create_date, create_by, part_no_source, bu_no, final_part_no) VALUES
<foreach collection="list" item="item" index="index" separator=","> <foreach collection="list" item="item" index="index" separator=",">
(#{item.site}, #{item.projectId}, #{item.partNo}, getDate(), #{item.createBy}, #{item.partNoSource}, #{item.buNo})
(#{item.site}, #{item.projectId}, #{item.partNo}, getDate(), #{item.createBy}, #{item.partNoSource}, #{item.buNo}, #{item.finalPartNo})
</foreach> </foreach>
</insert> </insert>

Loading…
Cancel
Save