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 d16bfa3c..ddbc1623 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 @@ -132,6 +132,12 @@ public class PartInformationServiceImpl extends ServiceImpl().eq("part_no", inData.getPartNo())); + if (masterPart == null) { + MasterPartInformationEntity plmMasterPart = masterPartInformationMapper.selectOne(new QueryWrapper().eq("part_no", inData.getPlmPartNo())); + + // 创建IFS物料 + MasterPartInformationEntity ifsPart = new MasterPartInformationEntity(); + BeanUtils.copyProperties(plmMasterPart, ifsPart); + ifsPart.setPartNo(inData.getPartNo()); + ifsPart.setPlmPartNo(inData.getPlmPartNo()); + ifsPart.setCreateBy(inData.getUpdateBy()); + ifsPart.setOfficialFlag("Y"); + masterPartInformationMapper.insert(ifsPart); + + if (dataUrl) { // 正式库 + SysUserEntity ifsUser = sysUserDao.selectOne(new QueryWrapper().eq("username", inData.getUpdateBy())); + if (ifsUser == null || !org.apache.commons.lang3.StringUtils.isNotBlank(ifsUser.getIfsUsername()) || !org.apache.commons.lang3.StringUtils.isNotBlank(ifsUser.getIfsPassword())) { + throw new RuntimeException("请维护IFS账号和密码!"); + } + Server srv = ifsServer.getIfsServer(ifsUser.getIfsUsername(), ifsUser.getIfsPassword()); + // 获取ifs PartCatalog 对象 + PartIfsCatalog partIfsCatalog = getPartIfsCatalog(ifsPart); + // 判断ifs是否已存在物料件 + Map queryResponse = masterServiceBean.getMasterPart(srv, partIfsCatalog); + if ("200".equals(queryResponse.get("resultCode"))) { // 物料件已存在,调用修改接口 + Map updateResponse = masterServiceBean.modifyPartCatalog(srv, partIfsCatalog); + if (!"200".equals(updateResponse.get("resultCode"))) { + throw new RuntimeException("IFS物料件修改异常:" + updateResponse.get("resultMsg")); + } + } else { // 调用新增接口 + Map addResponse = masterServiceBean.syncPartCatalog(srv, partIfsCatalog); + if (!"200".equals(addResponse.get("resultCode"))) { + throw new RuntimeException("IFS物料件新增异常:" + addResponse.get("resultMsg")); + } + } + + // 同步物料件属性 + if (org.apache.commons.lang3.StringUtils.isNotBlank(ifsPart.getCodeNo())) { + PartIfsCatalogModel partIfsCatalogModel = new PartIfsCatalogModel(); // 模板对象 + partIfsCatalogModel.setLuName(luName); + partIfsCatalogModel.setKeyRef("PART_NO=" + ifsPart.getPartNo() + "^"); // 物料编码 + partIfsCatalogModel.setTechnicalSpecNo(technicalSpecNo); + partIfsCatalogModel.setTechnicalClass(ifsPart.getCodeNo()); // 模板编码 + partIfsCatalogModel.setOkYesNo(okYesNo); + partIfsCatalogModel.setOkSign(ifsUser.getIfsUsername()); + partIfsCatalogModel.setDtOk(DateUtils.getStringNow2()); + List propertyList = partInformationMapper.getMasterPartPropertyList("*", ifsPart.getPartNo(), ifsPart.getCodeNo(), "MP"); // 属性对象 + Map addMasterPartModelResponse = technicalClassBean.syncTechnicalClass(srv, partIfsCatalogModel); + if (!"200".equals(addMasterPartModelResponse.get("resultCode"))) { + throw new RuntimeException("IFS 物料件模板新增异常:" + addMasterPartModelResponse.get("resultMsg")); + } + if (!propertyList.isEmpty()) { + Map addMasterPartPropertyResponse = technicalClassBean.modifyTechnicalClassAttributes(srv, propertyList); + if (!"200".equals(addMasterPartPropertyResponse.get("resultCode"))) { + throw new RuntimeException("IFS 物料件属性新增异常:" + addMasterPartPropertyResponse.get("resultMsg")); + } + } + } + } + } + } + }