diff --git a/src/main/java/com/spring/ifs/api/TechnicalClassApi.java b/src/main/java/com/spring/ifs/api/TechnicalClassApi.java index 2f07dc7d..6599bba7 100644 --- a/src/main/java/com/spring/ifs/api/TechnicalClassApi.java +++ b/src/main/java/com/spring/ifs/api/TechnicalClassApi.java @@ -1,9 +1,9 @@ package com.spring.ifs.api; -import com.spring.ifs.data.TechnicalAttribute; -import com.spring.ifs.data.TechnicalClass; import com.spring.ifs.utils.IfsConverterToMap; import com.spring.ifs.utils.IfsPlsqlUtils; +import com.spring.modules.part.entity.APIEntity.PartIfsCatalogModel; +import com.spring.modules.part.entity.APIEntity.PartIfsCatalogProperty; import ifs.fnd.ap.*; import java.util.HashMap; @@ -52,7 +52,7 @@ public class TechnicalClassApi { * @date 2024/12/11 11:38 * @version 1.0 */ - public static Map insertTechnicalClass(Server srv, TechnicalClass inData) throws APException { + public static Map insertTechnicalClass(Server srv, PartIfsCatalogModel inData) throws APException { //公共参数 String keyRef = inData.getKeyRef(); String luName = inData.getLuName(); @@ -96,22 +96,24 @@ public class TechnicalClassApi { * @date 2024/12/11 11:42 * @version 1.0 */ - public static Map modifyTechnicalClass(Server srv, TechnicalClass inData) throws APException { + public static Map modifyTechnicalClass(Server srv, PartIfsCatalogModel inData) throws APException { //公共参数 String ifsRowId = inData.getIfsRowId(); String ifsRowVersion = inData.getIfsRowVersion(); + String technicalClass = inData.getTechnicalClass(); //入参 Map inParam = new HashMap<>(); //填充参数 inParam.put("OBJID", ifsRowId); inParam.put("OBJVERSION", ifsRowVersion); + inParam.put("TECHNICAL_CLASS", technicalClass); //执行存储过程 获取结果集 //执行check的操作 - Map checkMap = IfsPlsqlUtils.execProcedureGetRecord(srv, "INVENTORY_PART_API", - "REMOVE__", PlsqlBaseMethodType.REMOVE, PlsqlBaseMethodAction.CHECK, inParam); + Map checkMap = IfsPlsqlUtils.execProcedureGetRecord(srv, "TECHNICAL_OBJECT_REFERENCE_API", + "MODIFY__", PlsqlBaseMethodType.MODIFY, PlsqlBaseMethodAction.CHECK, inParam); //执行do的操作 - Map resultMap = IfsPlsqlUtils.execProcedureGetRecord(srv, "INVENTORY_PART_API", - "REMOVE__", PlsqlBaseMethodType.REMOVE, PlsqlBaseMethodAction.DO, inParam); + Map resultMap = IfsPlsqlUtils.execProcedureGetRecord(srv, "TECHNICAL_OBJECT_REFERENCE_API", + "MODIFY__", PlsqlBaseMethodType.MODIFY, PlsqlBaseMethodAction.DO, inParam); //返回结果集 return resultMap; } @@ -122,7 +124,7 @@ public class TechnicalClassApi { * @date 2024/12/11 11:45 * @version 1.0 */ - public static void removeTechnicalClass(Server srv, TechnicalClass inData) throws APException { + public static void removeTechnicalClass(Server srv, PartIfsCatalogModel inData) throws APException { //公共参数 String ifsRowId = inData.getIfsRowId(); String ifsRowVersion = inData.getIfsRowVersion(); @@ -209,7 +211,7 @@ public class TechnicalClassApi { * @date 2024/12/11 13:55 * @version 1.0 */ - public static Map modifyTechnicalAttribute(Server srv, TechnicalAttribute inData) throws APException { + public static Map modifyTechnicalAttribute(Server srv, PartIfsCatalogProperty inData) throws APException { //公共参数 String ifsRowId = inData.getIfsRowId(); String ifsRowVersion = inData.getIfsRowVersion(); @@ -260,7 +262,7 @@ public class TechnicalClassApi { * @date 2024/12/11 14:04 * @version 1.0 */ - public static void removeTechnicalAttribute(Server srv, TechnicalAttribute inData) throws APException { + public static void removeTechnicalAttribute(Server srv, PartIfsCatalogProperty inData) throws APException { //公共参数 String ifsRowId = inData.getIfsRowId(); String ifsRowVersion = inData.getIfsRowVersion(); diff --git a/src/main/java/com/spring/ifs/api/TechnicalClassApiTest.java b/src/main/java/com/spring/ifs/api/TechnicalClassApiTest.java index 63c5d249..1afe09d3 100644 --- a/src/main/java/com/spring/ifs/api/TechnicalClassApiTest.java +++ b/src/main/java/com/spring/ifs/api/TechnicalClassApiTest.java @@ -100,18 +100,20 @@ public class TechnicalClassApiTest { //公共参数 String ifsRowId = inData.getIfsRowId(); String ifsRowVersion = inData.getIfsRowVersion(); + String technicalClass = inData.getTechnicalClass(); //入参 Map inParam = new HashMap<>(); //填充参数 inParam.put("OBJID", ifsRowId); inParam.put("OBJVERSION", ifsRowVersion); + inParam.put("TECHNICAL_CLASS", technicalClass); //执行存储过程 获取结果集 //执行check的操作 - Map checkMap = IfsPlsqlUtils.execProcedureGetRecord(srv, "INVENTORY_PART_API", - "REMOVE__", PlsqlBaseMethodType.REMOVE, PlsqlBaseMethodAction.CHECK, inParam); + Map checkMap = IfsPlsqlUtils.execProcedureGetRecord(srv, "TECHNICAL_OBJECT_REFERENCE_API", + "MODIFY__", PlsqlBaseMethodType.MODIFY, PlsqlBaseMethodAction.CHECK, inParam); //执行do的操作 - Map resultMap = IfsPlsqlUtils.execProcedureGetRecord(srv, "INVENTORY_PART_API", - "REMOVE__", PlsqlBaseMethodType.REMOVE, PlsqlBaseMethodAction.DO, inParam); + Map resultMap = IfsPlsqlUtils.execProcedureGetRecord(srv, "TECHNICAL_OBJECT_REFERENCE_API", + "MODIFY__", PlsqlBaseMethodType.MODIFY, PlsqlBaseMethodAction.DO, inParam); //返回结果集 return resultMap; } diff --git a/src/main/java/com/spring/ifs/bean/TechnicalClassBean.java b/src/main/java/com/spring/ifs/bean/TechnicalClassBean.java index 9bc1c3d5..822da15b 100644 --- a/src/main/java/com/spring/ifs/bean/TechnicalClassBean.java +++ b/src/main/java/com/spring/ifs/bean/TechnicalClassBean.java @@ -5,7 +5,8 @@ import com.spring.ifs.api.IfsServer; import com.spring.ifs.api.TechnicalClassApi; import com.spring.ifs.data.TechnicalAttribute; import com.spring.ifs.data.TechnicalClass; -import com.spring.modules.Tooling.data.TechnicalClassAttribute; +import com.spring.modules.part.entity.APIEntity.PartIfsCatalogModel; +import com.spring.modules.part.entity.APIEntity.PartIfsCatalogProperty; import ifs.fnd.ap.APException; import ifs.fnd.ap.Server; import org.slf4j.Logger; @@ -14,6 +15,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.Map; @@ -37,27 +39,32 @@ public class TechnicalClassBean { * @date 2024/12/16 13:15 * @version 1.0 */ - public TechnicalClass getTechnicalClass(TechnicalClass inData) throws APException { + public Map getTechnicalClass(Server srv, PartIfsCatalogModel inData) throws APException { logger.info("Technical Class 查询开始:"+ JSON.toJSONString(inData)); //公共参数 - String username = inData.getIfsUsername(); - String password = inData.getIfsPassword(); + Map returnMap = new HashMap<>(); String luName = inData.getLuName(); // String keyRef = inData.getKeyRef(); // - //获取连接 - Server srv = ifsServer.getIfsServer(username, password); - //查询对象 - Map resultMap = TechnicalClassApi.getTechnicalClass(srv, luName, keyRef); - //判断查询导数据 - if(resultMap == null) { - throw new RuntimeException("查无此技术等级的信息!"); + try{ + //查询对象 + Map resultMap = TechnicalClassApi.getTechnicalClass(srv, luName, keyRef); + //判断查询导数据 + if(resultMap == null) { + throw new RuntimeException("查无此技术等级的信息!"); + } + //设置ifs 信息 + inData.setIfsRowId(resultMap.get("IFSROWID")); + inData.setIfsRowVersion(resultMap.get("IFSROWVERSION")); + returnMap.put("resultCode", "200"); + returnMap.put("obj", JSON.toJSONString(inData)); + } catch(APException e){ + returnMap.put("resultCode", "400"); + returnMap.put("resultMsg", e.getMessage()); } - //设置ifs 信息 - inData.setIfsRowId(resultMap.get("IFSROWID")); - inData.setIfsRowVersion(resultMap.get("IFSROWVERSION")); + //打印日志 logger.info("Technical Class 查询结束:"+JSON.toJSONString(inData)); //返回结果集 - return inData; + return returnMap; } /** @@ -66,32 +73,34 @@ public class TechnicalClassBean { * @date 2024/12/16 13:37 * @version 1.0 */ - public TechnicalClass syncTechnicalClass(TechnicalClass inData) throws APException { + public Map syncTechnicalClass(Server srv, PartIfsCatalogModel inData) throws APException { logger.info("Technical Class 新增开始:"+JSON.toJSONString(inData)); //公共参数 - String username = inData.getIfsUsername(); - String password = inData.getIfsPassword(); + Map returnMap = new HashMap<>(); String luName = inData.getLuName(); // String keyRef = inData.getKeyRef(); // - //获取连接 - Server srv = ifsServer.getIfsServer(username, password); - //查询对象 - Map technicalMap = TechnicalClassApi.getTechnicalClass(srv, luName, keyRef); - //判断查询导数据 - if(technicalMap != null && technicalMap.size() > 0) { - throw new RuntimeException("已存在此技术等级的信息!"); + try{ + //查询对象 + Map technicalMap = TechnicalClassApi.getTechnicalClass(srv, luName, keyRef); + //判断查询导数据 + if(technicalMap != null && technicalMap.size() > 0) { + throw new RuntimeException("已存在此技术等级的信息!"); + } + + //调用api同步信息 + Map resultMap = TechnicalClassApi.insertTechnicalClass(srv, inData); + //设置唯一键和版本 + inData.setIfsRowVersion(resultMap.get("OBJVERSION")); + returnMap.put("resultCode", "200"); + returnMap.put("obj", JSON.toJSONString(inData)); + } catch(APException e){ + returnMap.put("resultCode", "400"); + returnMap.put("resultMsg", e.getMessage()); } - //设置IFS的信息 - inData.setIfsRowId(technicalMap.get("IFSROWID")); - inData.setIfsRowVersion(technicalMap.get("IFSROWVERSION")); - - //调用api同步信息 - Map resultMap = TechnicalClassApi.insertTechnicalClass(srv, inData); - //设置唯一键和版本 - inData.setIfsRowVersion(resultMap.get("OBJVERSION")); //插入查询的记录数据 logger.info("Technical Class 新增结束:"+JSON.toJSONString(inData)); - return inData; + //返回结果集 + return returnMap; } /** @@ -100,32 +109,37 @@ public class TechnicalClassBean { * @date 2024/12/16 13:45 * @version 1.0 */ - public TechnicalClass modifyTechnicalClass(TechnicalClass inData) throws APException { + public Map modifyTechnicalClass(Server srv, PartIfsCatalogModel inData) throws APException { logger.info("Technical Class 修改开始:"+JSON.toJSONString(inData)); //公共参数 - String username = inData.getIfsUsername(); - String password = inData.getIfsPassword(); + Map returnMap = new HashMap<>(); String luName = inData.getLuName(); // - String keyRef = inData.getKeyRef(); // - //获取连接 - Server srv = ifsServer.getIfsServer(username, password); - //查询对象 - Map technicalMap = TechnicalClassApi.getTechnicalClass(srv, luName, keyRef); - //判断查询导数据 - if(technicalMap == null || technicalMap.size() == 0) { - throw new RuntimeException("不存在此技术等级的信息!"); + String keyRef = inData.getKeyRef(); + try{ + //查询对象 + Map technicalMap = TechnicalClassApi.getTechnicalClass(srv, luName, keyRef); + //判断查询导数据 + if(technicalMap == null || technicalMap.size() == 0) { + throw new RuntimeException("不存在此技术等级的信息!"); + } + //设置IFS的信息 + inData.setIfsRowId(technicalMap.get("IFSROWID")); + inData.setIfsRowVersion(technicalMap.get("IFSROWVERSION")); + + //调用api同步信息 + Map resultMap = TechnicalClassApi.modifyTechnicalClass(srv, inData); + //设置唯一键和版本 + inData.setIfsRowVersion(resultMap.get("OBJVERSION")); + returnMap.put("resultCode", "200"); + returnMap.put("obj", JSON.toJSONString(inData)); + } catch(APException e){ + returnMap.put("resultCode", "400"); + returnMap.put("resultMsg", e.getMessage()); } - //设置IFS的信息 - inData.setIfsRowId(technicalMap.get("IFSROWID")); - inData.setIfsRowVersion(technicalMap.get("IFSROWVERSION")); - - //调用api同步信息 - Map resultMap = TechnicalClassApi.modifyTechnicalClass(srv, inData); - //设置唯一键和版本 - inData.setIfsRowVersion(resultMap.get("OBJVERSION")); //插入查询的记录数据 logger.info("Technical Class 修改结束:"+JSON.toJSONString(inData)); - return inData; + //返回结果集 + return returnMap; } /** @@ -134,71 +148,88 @@ public class TechnicalClassBean { * @date 2024/12/16 13:46 * @version 1.0 */ - public void removeTechnicalClass(TechnicalClass inData) throws APException { + public Map removeTechnicalClass(Server srv, PartIfsCatalogModel inData) throws APException { logger.info("Technical Class 删除开始:"+JSON.toJSONString(inData)); //公共参数 - String username = inData.getIfsUsername(); - String password = inData.getIfsPassword(); + Map returnMap = new HashMap<>(); String luName = inData.getLuName(); // String keyRef = inData.getKeyRef(); // - //获取连接 - Server srv = ifsServer.getIfsServer(username, password); - //查询对象 - Map technicalMap = TechnicalClassApi.getTechnicalClass(srv, luName, keyRef); - //判断查询导数据 - if(technicalMap == null || technicalMap.size() == 0) { - throw new RuntimeException("不存在此技术等级的信息!"); + try{ + //查询对象 + Map technicalMap = TechnicalClassApi.getTechnicalClass(srv, luName, keyRef); + //判断查询导数据 + if(technicalMap == null || technicalMap.size() == 0) { + throw new RuntimeException("不存在此技术等级的信息!"); + } + //设置IFS的信息 + inData.setIfsRowId(technicalMap.get("IFSROWID")); + inData.setIfsRowVersion(technicalMap.get("IFSROWVERSION")); + //调用api同步信息 + TechnicalClassApi.removeTechnicalClass(srv, inData); + returnMap.put("resultCode", "200"); + returnMap.put("obj", JSON.toJSONString(inData)); + } catch(APException e){ + returnMap.put("resultCode", "400"); + returnMap.put("resultMsg", e.getMessage()); } - //设置IFS的信息 - inData.setIfsRowId(technicalMap.get("IFSROWID")); - inData.setIfsRowVersion(technicalMap.get("IFSROWVERSION")); - //调用api同步信息 - TechnicalClassApi.removeTechnicalClass(srv, inData); //插入查询的记录数据 logger.info("Technical Class 删除结束:"+JSON.toJSONString(inData)); + //返回结果集 + return returnMap; } - - public List syncTechnicalClassAttributes(List inDatas) throws APException { - logger.info("Technical Class Attributes 批量新增开始:"+JSON.toJSONString(inDatas)); - TechnicalAttribute inData = inDatas.get(0); + /** + * @description: 批量同步技术等级属性数据 + * @author LR + * @date 2024/12/19 15:02 + * @version 1.0 + */ + public Map modifyTechnicalClassAttributes(Server srv, List inDatas) throws APException { + logger.info("Technical Class Attributes 批量修改开始:"+JSON.toJSONString(inDatas)); + Map returnMap = new HashMap<>(); + PartIfsCatalogProperty inData = inDatas.get(0); // 公共参数 - String username = inData.getIfsUsername(); - String password = inData.getIfsPassword(); String luName = inData.getLuName(); // String keyRef = inData.getKeyRef(); // - //获取连接 - Server srv = ifsServer.getIfsServer(username, password); - //查询技术等级 - Map technicalMap = TechnicalClassApi.getTechnicalClass(srv, luName, keyRef); - //判断查询导数据 - //判断查询导数据 - if(technicalMap == null || technicalMap.size() == 0) { - throw new RuntimeException("不存在此技术等级的信息!"); - } - //设置唯一键和版本 - String technicalSpecNo = technicalMap.get("TECHNICAL_SPEC_NO"); - String technicalClass = inData.getTechnicalClass(); - //循环设置参数 - for(TechnicalAttribute tempData : inDatas) { - String attribute = tempData.getAttribute(); - //查询属性信息 - Map attributeMap = TechnicalClassApi.getTechnicalAttribute(srv, technicalSpecNo, technicalClass, attribute); - if(attributeMap != null && attributeMap.size() > 0) { - throw new RuntimeException("查已存在此技术等级的属性信息!"); + try{ + //查询技术等级 + Map technicalMap = TechnicalClassApi.getTechnicalClass(srv, luName, keyRef); + //判断查询导数据 + //判断查询导数据 + if(technicalMap == null || technicalMap.size() == 0) { + throw new RuntimeException("不存在此技术等级的信息!"); } - //设置替代的ifs的key - inData.setIfsRowId(attributeMap.get("IFSROWID")); - inData.setIfsRowVersion(attributeMap.get("IFSROWVERSION")); - inData.setTechnicalSpecNo(technicalSpecNo); - //api修改参数 - Map resultMap = TechnicalClassApi.modifyTechnicalAttribute(srv, tempData); - //设置记录的版本 - inData.setIfsRowVersion(resultMap.get("OBJVERSION")); + //设置唯一键和版本 + String technicalSpecNo = technicalMap.get("TECHNICAL_SPEC_NO"); + String technicalClass = inData.getTechnicalClass(); + //循环设置参数 + for(PartIfsCatalogProperty tempData : inDatas) { + String attribute = tempData.getAttribute(); + //查询属性信息 + Map attributeMap = TechnicalClassApi.getTechnicalAttribute(srv, technicalSpecNo, technicalClass, attribute); + if(attributeMap == null || attributeMap.size() == 0) { + throw new RuntimeException("不存在此技术等级的属性信息!"); + } + //设置替代的ifs的key + tempData.setIfsRowId(attributeMap.get("IFSROWID")); + tempData.setIfsRowVersion(attributeMap.get("IFSROWVERSION")); + tempData.setTechnicalSpecNo(technicalSpecNo); + //api修改参数 + Map resultMap = TechnicalClassApi.modifyTechnicalAttribute(srv, tempData); + //设置记录的版本 + tempData.setIfsRowVersion(resultMap.get("OBJVERSION")); + } + returnMap.put("resultCode", "200"); + returnMap.put("obj", JSON.toJSONString(inDatas)); + } catch(APException e){ + returnMap.put("resultCode", "400"); + returnMap.put("resultMsg", e.getMessage()); } //插入查询的记录数据 - logger.info("Technical Class Attributes 批量新增结束:"+JSON.toJSONString(inDatas)); - return inDatas; + logger.info("Technical Class Attributes 批量修改结束:"+JSON.toJSONString(inDatas)); + //返回结果集 + return returnMap; + } diff --git a/src/main/java/com/spring/ifs/bean/TechnicalClassBeanTest.java b/src/main/java/com/spring/ifs/bean/TechnicalClassBeanTest.java new file mode 100644 index 00000000..e038ef91 --- /dev/null +++ b/src/main/java/com/spring/ifs/bean/TechnicalClassBeanTest.java @@ -0,0 +1,259 @@ +package com.spring.ifs.bean; + +import com.alibaba.fastjson.JSON; +import com.spring.ifs.api.IfsServer; +import com.spring.ifs.api.TechnicalClassApi; +import com.spring.ifs.api.TechnicalClassApiTest; +import com.spring.ifs.data.TechnicalAttribute; +import com.spring.ifs.data.TechnicalClass; +import ifs.fnd.ap.APException; +import ifs.fnd.ap.Server; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** +* @description: 技术等级实现类 +* @author LR +* @date 2024/12/9 11:49 +* @version 1.0 +*/ +@Component +public class TechnicalClassBeanTest { + + @Autowired + private IfsServer ifsServer; + + private static final Logger logger = LoggerFactory.getLogger(TechnicalClassBeanTest.class); + + /** + * @description: 查询技术等级 + * @author LR + * @date 2024/12/16 13:15 + * @version 1.0 + */ + public Map getTechnicalClass(TechnicalClass inData) throws APException { + logger.info("Technical Class 查询开始:"+ JSON.toJSONString(inData)); + //公共参数 + Map returnMap = new HashMap<>(); + String username = inData.getIfsUsername(); + String password = inData.getIfsPassword(); + String luName = inData.getLuName(); // + String keyRef = inData.getKeyRef(); // + try{ + //获取连接 + Server srv = ifsServer.getIfsServer(username, password); + //查询对象 + Map resultMap = TechnicalClassApi.getTechnicalClass(srv, luName, keyRef); + //判断查询导数据 + if(resultMap == null) { + throw new RuntimeException("查无此技术等级的信息!"); + } + //设置ifs 信息 + inData.setIfsRowId(resultMap.get("IFSROWID")); + inData.setIfsRowVersion(resultMap.get("IFSROWVERSION")); + returnMap.put("resultCode", "200"); + returnMap.put("obj", JSON.toJSONString(inData)); + } catch(APException e){ + returnMap.put("resultCode", "400"); + returnMap.put("resultMsg", e.getMessage()); + } + //打印日志 + logger.info("Technical Class 查询结束:"+JSON.toJSONString(inData)); + //返回结果集 + return returnMap; + } + + /** + * @description: 新增 + * @author LR + * @date 2024/12/16 13:37 + * @version 1.0 + */ + public Map syncTechnicalClass(TechnicalClass inData) throws APException { + logger.info("Technical Class 新增开始:"+JSON.toJSONString(inData)); + //公共参数 + Map returnMap = new HashMap<>(); + String username = inData.getIfsUsername(); + String password = inData.getIfsPassword(); + String luName = inData.getLuName(); // + String keyRef = inData.getKeyRef(); // + try{ + //获取连接 + Server srv = ifsServer.getIfsServer(username, password); + //查询对象 + Map technicalMap = TechnicalClassApi.getTechnicalClass(srv, luName, keyRef); + //判断查询导数据 + if(technicalMap != null && technicalMap.size() > 0) { + throw new RuntimeException("已存在此技术等级的信息!"); + } + + //调用api同步信息 + Map resultMap = TechnicalClassApiTest.insertTechnicalClass(srv, inData); + //设置唯一键和版本 + inData.setIfsRowVersion(resultMap.get("OBJVERSION")); + returnMap.put("resultCode", "200"); + returnMap.put("obj", JSON.toJSONString(inData)); + } catch(APException e){ + returnMap.put("resultCode", "400"); + returnMap.put("resultMsg", e.getMessage()); + } + //插入查询的记录数据 + logger.info("Technical Class 新增结束:"+JSON.toJSONString(inData)); + //返回结果集 + return returnMap; + } + + /** + * @description: 修改技术等级的数据 + * @author LR + * @date 2024/12/16 13:45 + * @version 1.0 + */ + public Map modifyTechnicalClass(TechnicalClass inData) throws APException { + logger.info("Technical Class 修改开始:"+JSON.toJSONString(inData)); + //公共参数 + Map returnMap = new HashMap<>(); + String username = inData.getIfsUsername(); + String password = inData.getIfsPassword(); + String luName = inData.getLuName(); // + String keyRef = inData.getKeyRef(); + try{ + //获取连接 + Server srv = ifsServer.getIfsServer(username, password); + //查询对象 + Map technicalMap = TechnicalClassApiTest.getTechnicalClass(srv, luName, keyRef); + //判断查询导数据 + if(technicalMap == null || technicalMap.size() == 0) { + throw new RuntimeException("不存在此技术等级的信息!"); + } + //设置IFS的信息 + inData.setIfsRowId(technicalMap.get("IFSROWID")); + inData.setIfsRowVersion(technicalMap.get("IFSROWVERSION")); + + //调用api同步信息 + Map resultMap = TechnicalClassApiTest.modifyTechnicalClass(srv, inData); + //设置唯一键和版本 + inData.setIfsRowVersion(resultMap.get("OBJVERSION")); + returnMap.put("resultCode", "200"); + returnMap.put("obj", JSON.toJSONString(inData)); + } catch(APException e){ + returnMap.put("resultCode", "400"); + returnMap.put("resultMsg", e.getMessage()); + } + //插入查询的记录数据 + logger.info("Technical Class 修改结束:"+JSON.toJSONString(inData)); + //返回结果集 + return returnMap; + } + + /** + * @description: 刪除技术等级的信息 + * @author LR + * @date 2024/12/16 13:46 + * @version 1.0 + */ + public Map removeTechnicalClass(TechnicalClass inData) throws APException { + logger.info("Technical Class 删除开始:"+JSON.toJSONString(inData)); + //公共参数 + Map returnMap = new HashMap<>(); + String username = inData.getIfsUsername(); + String password = inData.getIfsPassword(); + String luName = inData.getLuName(); // + String keyRef = inData.getKeyRef(); // + try{ + //获取连接 + Server srv = ifsServer.getIfsServer(username, password); + //查询对象 + Map technicalMap = TechnicalClassApiTest.getTechnicalClass(srv, luName, keyRef); + //判断查询导数据 + if(technicalMap == null || technicalMap.size() == 0) { + throw new RuntimeException("不存在此技术等级的信息!"); + } + //设置IFS的信息 + inData.setIfsRowId(technicalMap.get("IFSROWID")); + inData.setIfsRowVersion(technicalMap.get("IFSROWVERSION")); + //调用api同步信息 + TechnicalClassApiTest.removeTechnicalClass(srv, inData); + returnMap.put("resultCode", "200"); + returnMap.put("obj", JSON.toJSONString(inData)); + } catch(APException e){ + returnMap.put("resultCode", "400"); + returnMap.put("resultMsg", e.getMessage()); + } + //插入查询的记录数据 + logger.info("Technical Class 删除结束:"+JSON.toJSONString(inData)); + //返回结果集 + return returnMap; + } + + /** + * @description: 批量同步技术等级属性数据 + * @author LR + * @date 2024/12/19 15:02 + * @version 1.0 + */ + public Map modifyTechnicalClassAttributes(List inDatas) throws APException { + logger.info("Technical Class Attributes 批量修改开始:"+JSON.toJSONString(inDatas)); + Map returnMap = new HashMap<>(); + TechnicalAttribute inData = inDatas.get(0); + // 公共参数 + String username = inData.getIfsUsername(); + String password = inData.getIfsPassword(); + String luName = inData.getLuName(); // + String keyRef = inData.getKeyRef(); // + try{ + //获取连接 + Server srv = ifsServer.getIfsServer(username, password); + //查询技术等级 + Map technicalMap = TechnicalClassApiTest.getTechnicalClass(srv, luName, keyRef); + //判断查询导数据 + //判断查询导数据 + if(technicalMap == null || technicalMap.size() == 0) { + throw new RuntimeException("不存在此技术等级的信息!"); + } + //设置唯一键和版本 + String technicalSpecNo = technicalMap.get("TECHNICAL_SPEC_NO"); + String technicalClass = inData.getTechnicalClass(); + //循环设置参数 + for(TechnicalAttribute tempData : inDatas) { + String attribute = tempData.getAttribute(); + //查询属性信息 + Map attributeMap = TechnicalClassApiTest.getTechnicalAttribute(srv, technicalSpecNo, technicalClass, attribute); + if(attributeMap == null || attributeMap.size() == 0) { + throw new RuntimeException("不存在此技术等级的属性信息!"); + } + //设置替代的ifs的key + inData.setIfsRowId(attributeMap.get("IFSROWID")); + inData.setIfsRowVersion(attributeMap.get("IFSROWVERSION")); + inData.setTechnicalSpecNo(technicalSpecNo); + //api修改参数 + Map resultMap = TechnicalClassApiTest.modifyTechnicalAttribute(srv, tempData); + //设置记录的版本 + inData.setIfsRowVersion(resultMap.get("OBJVERSION")); + } + returnMap.put("resultCode", "200"); + returnMap.put("obj", JSON.toJSONString(inDatas)); + } catch(APException e){ + returnMap.put("resultCode", "400"); + returnMap.put("resultMsg", e.getMessage()); + } + //插入查询的记录数据 + logger.info("Technical Class Attributes 批量修改结束:"+JSON.toJSONString(inDatas)); + //返回结果集 + return returnMap; + + } + + + + + + + +} diff --git a/src/main/java/com/spring/ifs/controller/TestIfsController.java b/src/main/java/com/spring/ifs/controller/TestIfsController.java index 6d26be4a..b06f4a52 100644 --- a/src/main/java/com/spring/ifs/controller/TestIfsController.java +++ b/src/main/java/com/spring/ifs/controller/TestIfsController.java @@ -28,6 +28,8 @@ public class TestIfsController { private BomServiceBeanTest bomServiceBean; @Autowired private RoutingServiceBeanTest routingServiceBean; + @Autowired + private TechnicalClassBeanTest technicalClassBean; /** @@ -1361,6 +1363,110 @@ public class TestIfsController { return resultMap; } + /** + * @description: 获取技术等级 + * @author LR + * @date 2024/12/19 15:21 + * @version 1.0 + */ + @PostMapping("/getTechnicalClass") + public Object getTechnicalClass(@RequestBody TechnicalClass inData) throws APException { + Map resultMap = new HashMap(); + try { + Map returnMap = technicalClassBean.getTechnicalClass(inData); + resultMap.put("returnMap", returnMap); + resultMap.put("code", 200); + resultMap.put("msg", "操作成功!"); + } catch (Exception e) { + resultMap.put("code", 400); + resultMap.put("msg", e.getMessage()); + } + return resultMap; + } + + /** + * @description: 技术等级同步 + * @author LR + * @date 2024/12/19 15:21 + * @version 1.0 + */ + @PostMapping("/syncTechnicalClass") + public Object syncTechnicalClass(@RequestBody TechnicalClass inData) throws APException { + Map resultMap = new HashMap(); + try { + Map returnMap = technicalClassBean.syncTechnicalClass(inData); + resultMap.put("returnMap", returnMap); + resultMap.put("code", 200); + resultMap.put("msg", "操作成功!"); + } catch (Exception e) { + resultMap.put("code", 400); + resultMap.put("msg", e.getMessage()); + } + return resultMap; + } + + /** + * @description: 技术等级修改 + * @author LR + * @date 2024/12/19 15:22 + * @version 1.0 + */ + @PostMapping("/modifyTechnicalClass") + public Object modifyTechnicalClass(@RequestBody TechnicalClass inData) throws APException { + Map resultMap = new HashMap(); + try { + Map returnMap = technicalClassBean.modifyTechnicalClass(inData); + resultMap.put("returnMap", returnMap); + resultMap.put("code", 200); + resultMap.put("msg", "操作成功!"); + } catch (Exception e) { + resultMap.put("code", 400); + resultMap.put("msg", e.getMessage()); + } + return resultMap; + } + + /** + * @description: 删除技术等级 + * @author LR + * @date 2024/12/19 15:22 + * @version 1.0 + */ + @PostMapping("/removeTechnicalClass") + public Object removeTechnicalClass(@RequestBody TechnicalClass inData) throws APException { + Map resultMap = new HashMap(); + try { + Map returnMap = technicalClassBean.removeTechnicalClass(inData); + resultMap.put("returnMap", returnMap); + resultMap.put("code", 200); + resultMap.put("msg", "操作成功!"); + } catch (Exception e) { + resultMap.put("code", 400); + resultMap.put("msg", e.getMessage()); + } + return resultMap; + } + + /** + * @description: 批量更新等级属性数据 + * @author LR + * @date 2024/12/19 15:23 + * @version 1.0 + */ + @PostMapping("/modifyTechnicalClassAttributes") + public Object modifyTechnicalClassAttributes(@RequestBody List inDatas) throws APException { + Map resultMap = new HashMap(); + try { + Map returnMap = technicalClassBean.modifyTechnicalClassAttributes(inDatas); + resultMap.put("returnMap", returnMap); + resultMap.put("code", 200); + resultMap.put("msg", "操作成功!"); + } catch (Exception e) { + resultMap.put("code", 400); + resultMap.put("msg", e.getMessage()); + } + return resultMap; + } diff --git a/src/main/java/com/spring/modules/part/entity/APIEntity/PartIfsCatalogModel.java b/src/main/java/com/spring/modules/part/entity/APIEntity/PartIfsCatalogModel.java index e267b84f..10b7b7cf 100644 --- a/src/main/java/com/spring/modules/part/entity/APIEntity/PartIfsCatalogModel.java +++ b/src/main/java/com/spring/modules/part/entity/APIEntity/PartIfsCatalogModel.java @@ -11,4 +11,7 @@ public class PartIfsCatalogModel { private String okYesNo; // "Not Approved" 固定值 private String okSign; // "JEFF_LIAO" tbl_base_data 表中维护 private String dtOk; // "2024-10-25" 日期 + //添加字段 2024-12-20 + private String ifsRowId;// ifs的对象id + private String ifsRowVersion;// ifs的对象id } diff --git a/src/main/java/com/spring/modules/part/entity/APIEntity/PartIfsCatalogProperty.java b/src/main/java/com/spring/modules/part/entity/APIEntity/PartIfsCatalogProperty.java index 77f2f923..c735cffe 100644 --- a/src/main/java/com/spring/modules/part/entity/APIEntity/PartIfsCatalogProperty.java +++ b/src/main/java/com/spring/modules/part/entity/APIEntity/PartIfsCatalogProperty.java @@ -14,4 +14,8 @@ public class PartIfsCatalogProperty { private String lowerLimit; // 下限 private String upperLimit; // 上限 private String info; // 备注 + //添加字段 2024-12-20 LR + private String ifsRowId;// ifs的对象id + private String ifsRowVersion;// ifs的对象id + private String technicalSpecNo; //ifs的技术等级编码 }