From 6741e1d9dbc31f96227c6ec5e5d52e7937589c76 Mon Sep 17 00:00:00 2001 From: fengyuan_yang <1976974459@qq.com> Date: Mon, 16 Jun 2025 10:48:00 +0800 Subject: [PATCH] =?UTF-8?q?2025-06-16=20=E7=89=A9=E6=96=99=E4=BB=B6?= =?UTF-8?q?=E6=AD=A3=E5=BC=8F=E7=89=A9=E6=96=99=E6=A8=A1=E6=9D=BF=E8=B0=83?= =?UTF-8?q?=E6=95=B4=20=E6=B5=81=E7=A8=8B=E5=B9=B2=E9=A2=84=E8=B0=83?= =?UTF-8?q?=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MasterPartInformationServiceImpl.java | 88 +++++++++++++------ .../impl/PartInformationServiceImpl.java | 16 ++-- .../request/mapper/RequestManageMapper.java | 6 ++ .../impl/RequestManageServiceImpl.java | 30 +++++++ .../mapper/request/RequestManageMapper.xml | 21 +++++ 5 files changed, 125 insertions(+), 36 deletions(-) diff --git a/src/main/java/com/spring/modules/part/service/impl/MasterPartInformationServiceImpl.java b/src/main/java/com/spring/modules/part/service/impl/MasterPartInformationServiceImpl.java index 3151c09d..6b03d74d 100644 --- a/src/main/java/com/spring/modules/part/service/impl/MasterPartInformationServiceImpl.java +++ b/src/main/java/com/spring/modules/part/service/impl/MasterPartInformationServiceImpl.java @@ -258,17 +258,28 @@ public class MasterPartInformationServiceImpl extends ServiceImpl().eq("part_no", data.getPartNo())); // 检查物料模板 List mpData = masterPartInformationMapper.queryCodeNo(data); - if (mpData.isEmpty() || !mpData.get(0).getCodeNo().equals(data.getCodeNo())) { - // 修改了物料模板 - PartSubPropertiesValueData valueData = new PartSubPropertiesValueData(); - BeanUtils.copyProperties(data,valueData); + PartSubPropertiesValueData valueData = new PartSubPropertiesValueData(); + BeanUtils.copyProperties(data,valueData); + // 如果前端传空值 则删除PLM数据 + // 原有,新没有:删除明细 + if (!StringUtils.isNotBlank(data.getCodeNo())) { // 删除物料的属性和属性值 partInformationMapper.deletePartSubPropertiesValueHeader(valueData); partInformationMapper.deletePartSubPropertiesValue(valueData); - // 重新加载属性和属性值 - partInformationMapper.savePartSubPropertiesValueHeader(valueData); - partInformationMapper.savePartSubPropertiesValue(valueData); + } else { + // 前端有选择模板 之前是空值 或者 有值但修改了 + // 原没有、新有:插入明细 || 原有,新有,不一样,删除明细,然后插入新模板的明细 + if (mpData.isEmpty() || !mpData.get(0).getCodeNo().equals(data.getCodeNo())) { + // 修改了物料模板 + // 删除物料的属性和属性值 + partInformationMapper.deletePartSubPropertiesValueHeader(valueData); + partInformationMapper.deletePartSubPropertiesValue(valueData); + // 重新加载属性和属性值 + partInformationMapper.savePartSubPropertiesValueHeader(valueData); + partInformationMapper.savePartSubPropertiesValue(valueData); + } } + // 修改物料 masterPartInformationMapper.masterPartInformationEdit(data); // 判断有没有 inventPart,有则修改 inventPart 净重和体积 @@ -295,31 +306,50 @@ public class MasterPartInformationServiceImpl extends ServiceImpl getMasterPartModelResponse = technicalClassBean.getTechnicalClass(srv, partIfsCatalogModel); - if (!"200".equals(getMasterPartModelResponse.get("resultCode"))) { - // 新增 - Map addMasterPartModelResponse = technicalClassBean.syncTechnicalClass(srv, partIfsCatalogModel); - if (!"200".equals(addMasterPartModelResponse.get("resultCode"))) { - throw new RuntimeException("IFS 物料件模板新增异常:" + addMasterPartModelResponse.get("resultMsg")); + PartIfsCatalogModel partIfsCatalogModel = new PartIfsCatalogModel(); // 模板对象 + partIfsCatalogModel.setLuName(luName); + partIfsCatalogModel.setKeyRef("PART_NO=" + data.getPartNo() + "^"); // 物料编码 + partIfsCatalogModel.setTechnicalSpecNo(technicalSpecNo); + partIfsCatalogModel.setTechnicalClass(data.getCodeNo()); // 模板编码 + partIfsCatalogModel.setOkYesNo(okYesNo); + partIfsCatalogModel.setOkSign(ifsUser.getIfsUsername()); + partIfsCatalogModel.setDtOk(DateUtils.getStringNow2()); + // PLM修改前无模板 PLM修改后有模板 调新增 + if (StringUtils.isNotBlank(data.getCodeNo()) && mpData.isEmpty()) { + Map addMasterPartModelResponse = technicalClassBean.syncTechnicalClass(srv, partIfsCatalogModel); + if (!"200".equals(addMasterPartModelResponse.get("resultCode"))) { + throw new RuntimeException("IFS 物料件模板新增异常:" + addMasterPartModelResponse.get("resultMsg")); + } + } else if (!mpData.isEmpty() && !StringUtils.isNotBlank(data.getCodeNo())) { + // PLM修改前有模板 PLM修改后无模板 删除属性明细 删除模板主记录 + List propertyList = partInformationMapper.getMasterPartPropertyList(data.getSite(), data.getPartNo(), data.getCodeNo(), "MP"); + if (!propertyList.isEmpty()) { + Map deleteMasterPartPropertyResponse = technicalClassBean.removeTechnicalClassAttributes(srv, propertyList); + if (!"200".equals(deleteMasterPartPropertyResponse.get("resultCode"))) { + throw new RuntimeException("IFS物料属性删除异常:" + deleteMasterPartPropertyResponse.get("resultMsg")); } - } else { - // 修改 - Map updateMasterPartModelResponse = technicalClassBean.modifyTechnicalClass(srv, partIfsCatalogModel); - if (!"200".equals(updateMasterPartModelResponse.get("resultCode"))) { - throw new RuntimeException("IFS 物料件模板修改异常:" + updateMasterPartModelResponse.get("resultMsg")); + } + Map deleteMasterPartModelResponse = technicalClassBean.removeTechnicalClass(srv, partIfsCatalogModel); + if (!"200".equals(deleteMasterPartModelResponse.get("resultCode"))) { + throw new RuntimeException("IFS 物料件模板删除异常:" + deleteMasterPartModelResponse.get("resultMsg")); + } + } else if (!mpData.isEmpty() && StringUtils.isNotBlank(data.getCodeNo()) && !mpData.get(0).getCodeNo().equals(data.getCodeNo())) { + // PLM修改前有模板 PLM修改后有模板 不一样 删除属性明细 删除模板主记录 新增主记录 + List propertyList = partInformationMapper.getMasterPartPropertyList(data.getSite(), data.getPartNo(), data.getCodeNo(), "MP"); + if (!propertyList.isEmpty()) { + Map deleteMasterPartPropertyResponse = technicalClassBean.removeTechnicalClassAttributes(srv, propertyList); + if (!"200".equals(deleteMasterPartPropertyResponse.get("resultCode"))) { + throw new RuntimeException("IFS物料属性删除异常:" + deleteMasterPartPropertyResponse.get("resultMsg")); } } + Map deleteMasterPartModelResponse = technicalClassBean.removeTechnicalClass(srv, partIfsCatalogModel); + if (!"200".equals(deleteMasterPartModelResponse.get("resultCode"))) { + throw new RuntimeException("IFS 物料件模板删除异常:" + deleteMasterPartModelResponse.get("resultMsg")); + } + Map addMasterPartModelResponse = technicalClassBean.syncTechnicalClass(srv, partIfsCatalogModel); + if (!"200".equals(addMasterPartModelResponse.get("resultCode"))) { + throw new RuntimeException("IFS 物料件模板新增异常:" + addMasterPartModelResponse.get("resultMsg")); + } } } } diff --git a/src/main/java/com/spring/modules/part/service/impl/PartInformationServiceImpl.java b/src/main/java/com/spring/modules/part/service/impl/PartInformationServiceImpl.java index 269863b1..1eda19c3 100644 --- a/src/main/java/com/spring/modules/part/service/impl/PartInformationServiceImpl.java +++ b/src/main/java/com/spring/modules/part/service/impl/PartInformationServiceImpl.java @@ -4102,7 +4102,8 @@ public class PartInformationServiceImpl extends ServiceImpl addResponse = masterServiceBean.syncPartCatalog(srv, partIfsCatalog); if (!"200".equals(addResponse.get("resultCode"))) { throw new RuntimeException("IFS物料件新增异常:" + addResponse.get("resultMsg")); @@ -4122,12 +4123,13 @@ public class PartInformationServiceImpl extends ServiceImpl propertyList = partInformationMapper.getMasterPartPropertyList(site, ifsPart.getPartNo(), ifsPart.getCodeNo(), "MP"); // 属性对象 - if (!propertyList.isEmpty()) { - Map addMasterPartPropertyResponse = technicalClassBean.modifyTechnicalClassAttributes(srv, propertyList); - if (!"200".equals(addMasterPartPropertyResponse.get("resultCode"))) { - throw new RuntimeException("IFS 物料件属性新增异常:" + addMasterPartPropertyResponse.get("resultMsg")); + // 批量编辑属性 + List propertyList = partInformationMapper.getMasterPartPropertyList(site, ifsPart.getPartNo(), ifsPart.getCodeNo(), "MP"); + if (!propertyList.isEmpty()) { + Map addMasterPartPropertyResponse = technicalClassBean.modifyTechnicalClassAttributes(srv, propertyList); + if (!"200".equals(addMasterPartPropertyResponse.get("resultCode"))) { + throw new RuntimeException("IFS 物料件属性编辑异常:" + addMasterPartPropertyResponse.get("resultMsg")); + } } } } diff --git a/src/main/java/com/spring/modules/request/mapper/RequestManageMapper.java b/src/main/java/com/spring/modules/request/mapper/RequestManageMapper.java index 94ff132c..799e6ee6 100644 --- a/src/main/java/com/spring/modules/request/mapper/RequestManageMapper.java +++ b/src/main/java/com/spring/modules/request/mapper/RequestManageMapper.java @@ -178,4 +178,10 @@ public interface RequestManageMapper extends BaseMapper @Param("documentType") String documentType, @Param("documentStatus") String documentStatus, @Param("page") int page, @Param("limit") int limit); void updateProcessInterventionFlag2(ProcessFormVo inData); + + void updateProcessNodeByIntervention1(@Param("site") String site, @Param("documentNo") String documentNo, @Param("isRemark") int isRemark, @Param("nodeConclusion1") String nodeConclusion, @Param("nodeConclusion2")Object o); + + void updateProcessNodeByIntervention2(@Param("site") String site, @Param("documentNo") String documentNo, @Param("isRemark") int isRemark, @Param("nodeConclusion1")Object o, @Param("nodeConclusion2") String nodeConclusion, @Param("userName") String userId); + + List getStepIdFromProcessForm(@Param("site") String site, @Param("documentNo") String documentNo, @Param("isRemark") int isRemark); } diff --git a/src/main/java/com/spring/modules/request/service/impl/RequestManageServiceImpl.java b/src/main/java/com/spring/modules/request/service/impl/RequestManageServiceImpl.java index 3e429dae..95aa7d01 100644 --- a/src/main/java/com/spring/modules/request/service/impl/RequestManageServiceImpl.java +++ b/src/main/java/com/spring/modules/request/service/impl/RequestManageServiceImpl.java @@ -41,6 +41,7 @@ import com.spring.modules.sampleManagement.service.Impl.TechnicalSpecificationSe import com.spring.modules.sys.dao.SysUserDao; import com.spring.modules.sys.entity.SysUserEntity; import com.spring.modules.test.service.impl.TestInformationServiceImpl; +import org.apache.ibatis.annotations.Param; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; @@ -470,6 +471,35 @@ public class RequestManageServiceImpl extends ServiceImpl processList = requestManageMapper.getStepIdFromProcessForm(inData.getSite(), inData.getDocumentNo(), 0); // plm_process_form + if (processList.isEmpty()) { + throw new RuntimeException("流程干预后,未获取到下一个节点!"); + } + ParamData paramData = new ParamData(); + paramData.setSite(inData.getSite()); + paramData.setDocNo(inData.getDocumentNo()); + paramData.setStepId(processList.get(0).getStepId()); + if (Constant.ECN.equals(inData.getDocumentType())) { + paramData.setTableName("plm_change_request"); + } else if (Constant.DY_PR.equals(inData.getDocumentType())) { + paramData.setTableName("plm_proofing_information"); + } else if (Constant.TEST.equals(inData.getDocumentType())) { + paramData.setTableName("plm_test_information"); + } else if (Constant.TOOL.equals(inData.getDocumentType())) { + paramData.setTableName("plm_project_tool_applyHeader"); + } else if (Constant.QUOTATION.equals(inData.getDocumentType())) { + paramData.setTableName("plm_quotation_information"); + } else if (Constant.BM.equals(inData.getDocumentType())) { + paramData.setTableName("plm_technical_specification_sheet"); + paramData.setRevisionNo(inData.getRevisionNo()); + } + changeManagementMapper.updateStepId2(paramData); } } } diff --git a/src/main/resources/mapper/request/RequestManageMapper.xml b/src/main/resources/mapper/request/RequestManageMapper.xml index 4d0e92a1..72596a20 100644 --- a/src/main/resources/mapper/request/RequestManageMapper.xml +++ b/src/main/resources/mapper/request/RequestManageMapper.xml @@ -504,4 +504,25 @@ + + + update plm_process_form + set node_conclusion = #{nodeConclusion2} + where site = #{site} and document_no = #{documentNo} and is_remark = #{isRemark} and node_conclusion = #{nodeConclusion1} + + + + update plm_process_form + set node_conclusion = #{nodeConclusion2}, + update_date = getDate(), + update_by = #{userName} + where site = #{site} and document_no = #{documentNo} and is_remark = #{isRemark} and (node_conclusion = #{nodeConclusion1} or node_conclusion = '') + + +