package com.spring.ifs.bean; import com.alibaba.fastjson.JSON; import com.spring.ifs.api.IfsServer; import com.spring.ifs.api.RoutingApi; import com.spring.ifs.api.RoutingApiTest; import com.spring.ifs.data.*; import com.spring.modules.part.entity.APIEntity.RoutingIfsGuideLine; import com.spring.modules.part.entity.APIEntity.RoutingIfsHeader; import com.spring.modules.part.entity.APIEntity.RoutingIfsItem; import com.spring.modules.part.entity.APIEntity.RoutingIfsTool; 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; import java.util.function.Function; import java.util.stream.Collectors; /** * @description: 处理 Routing的 * @author LR * @date 2024/12/9 15:44 * @version 1.0 */ @Component public class RoutingServiceBeanTest { @Autowired private IfsServer ifsServer; private static final Logger logger = LoggerFactory.getLogger(RoutingServiceBean.class); /** * @description: 查询Routing Header * @author LR * @date 2024/12/12 15:49 * @version 1.0 */ public Map getRoutingHeader(RoutingHeader inData) { logger.info("Routing Header查询参数:"+JSON.toJSONString(inData)); //查询的参数 Map returnMap = new HashMap<>(); String username = inData.getIfsUsername(); String password = inData.getIfsPassword(); String contract = inData.getContract(); String partNo = inData.getPartNo(); String routingRevision = inData.getRoutingRevision(); String routingType = inData.getRoutingType(); //获取连接 try{ Server srv = ifsServer.getIfsServer(username, password); //查询相关 Map routingMap = RoutingApiTest.getRoutingHeader(srv, contract, partNo, routingRevision, routingType); //判断是否需要插入到ifs if(routingMap == null || routingMap.size() == 0) { throw new APException("Routing Header不存在!"); } //设置ifs 信息 inData.setIfsRowId(routingMap.get("IFSROWID")); inData.setIfsRowVersion(routingMap.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("Routing Header查询:"+JSON.toJSONString(inData)); //返回结果集 return returnMap; } /** * @description: Routing Header新增 * @author LR * @date 2024/12/12 15:52 * @version 1.0 */ public Map syncRoutingHeader(RoutingHeader inData) { logger.info("Routing新增开始:"+JSON.toJSONString(inData)); //查询的参数 Map returnMap = new HashMap<>(); String username = inData.getIfsUsername(); String password = inData.getIfsPassword(); String contract = inData.getContract(); String partNo = inData.getPartNo(); String routingRevision = inData.getRoutingRevision(); String routingType = inData.getRoutingType(); //获取连接 try{ Server srv = ifsServer.getIfsServer(username, password); //查询相关 Map routingMap = RoutingApiTest.getRoutingHeader(srv, contract, partNo, routingRevision, routingType); //判断是否需要插入到ifs if(routingMap != null && routingMap.size() > 0) { throw new APException("Routing已存在!"); } //调用api Map resultMap = RoutingApiTest.insertRoutingHeader(srv, inData); //设置ifs 信息 inData.setIfsRowId(resultMap.get("OBJID")); 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("Routing新增结束:"+JSON.toJSONString(inData)); //返回结果集 return returnMap; } /** * @description: Routing Header修改 * @author LR * @date 2024/12/12 15:55 * @version 1.0 */ public Map modifyRoutingHeader(RoutingHeader inData) { logger.info("Routing修改开始:"+JSON.toJSONString(inData)); //查询的参数 Map returnMap = new HashMap<>(); String username = inData.getIfsUsername(); String password = inData.getIfsPassword(); String contract = inData.getContract(); String partNo = inData.getPartNo(); String routingRevision = inData.getRoutingRevision(); String routingType = inData.getRoutingType(); //获取连接 try{ Server srv = ifsServer.getIfsServer(username, password); //查询相关 Map routingMap = RoutingApiTest.getRoutingHeader(srv, contract, partNo, routingRevision, routingType); //判断是否需要插入到ifs if(routingMap == null || routingMap.size() == 0) { throw new APException("Routing不存在!"); } //设置ifs 信息 inData.setIfsRowId(routingMap.get("IFSROWID")); inData.setIfsRowVersion(routingMap.get("IFSROWVERSION")); Map resultMap = RoutingApiTest.modifyRoutingHeader(srv, inData); //设置ifs 信息 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("Routing修改结束:"+JSON.toJSONString(inData)); //返回结果集 return returnMap; } /** * @description: Routing Header删除 * @author LR * @date 2024/12/12 15:58 * @version 1.0 */ public Map removeRoutingHeader(RoutingHeader inData) { logger.info("Routing Header删除开始:"+JSON.toJSONString(inData)); //查询的参数 Map returnMap = new HashMap<>(); String username = inData.getIfsUsername(); String password = inData.getIfsPassword(); String contract = inData.getContract(); String partNo = inData.getPartNo(); String routingRevision = inData.getRoutingRevision(); String routingType = inData.getRoutingType(); //获取连接 try{ Server srv = ifsServer.getIfsServer(username, password); //查询相关 Map routingMap = RoutingApiTest.getRoutingHeader(srv, contract, partNo, routingRevision, routingType); //判断是否需要插入到ifs if(routingMap == null || routingMap.size() == 0) { throw new APException("Routing不存在!"); } //设置ifs 信息 inData.setIfsRowId(routingMap.get("IFSROWID")); inData.setIfsRowVersion(routingMap.get("IFSROWVERSION")); RoutingApiTest.removeRoutingHeader(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("Routing Header 删除结束:"+JSON.toJSONString(inData)); //返回结果集 return returnMap; } /** * @description: 查询Routing Alternative * @author LR * @date 2024/12/12 16:59 * @version 1.0 */ public Map getRoutingAlternative(RoutingAlternative inData) { logger.info("Routing Alternative 查询开始:"+JSON.toJSONString(inData)); //公共参数 Map returnMap = new HashMap<>(); String username = inData.getIfsUsername(); String password = inData.getIfsPassword(); String contract = inData.getContract(); String partNo = inData.getPartNo(); String routingRevision = inData.getRoutingRevision(); String routingType = inData.getRoutingType(); String alternativeNo = inData.getAlternativeNo(); try{ Server srv = ifsServer.getIfsServer(username, password); //查询Alternative信息 Map alternativeMap = RoutingApiTest.getRoutingAlternative(srv, contract, partNo, routingRevision, routingType, alternativeNo); //判断是否需要插入到ifs if(alternativeMap == null || alternativeMap.size() == 0) { throw new APException("Routing Alternative 不存在!"); } //设置ifs 信息 inData.setIfsRowId(alternativeMap.get("IFSROWID")); inData.setIfsRowVersion(alternativeMap.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("Routing Alternative 查询结束:"+JSON.toJSONString(inData)); //返回结果集 return returnMap; } /** * @description: 插入Routing Alternative * @author LR * @date 2024/12/12 17:03 * @version 1.0 */ public Map syncRoutingAlternative(RoutingAlternative inData) { logger.info("Routing Alternative 新增开始:"+JSON.toJSONString(inData)); //公共参数 Map returnMap = new HashMap<>(); String username = inData.getIfsUsername(); String password = inData.getIfsPassword(); String contract = inData.getContract(); String partNo = inData.getPartNo(); String routingRevision = inData.getRoutingRevision(); String routingType = inData.getRoutingType(); String alternativeNo = inData.getAlternativeNo(); try{ //获取连接 Server srv = ifsServer.getIfsServer(username, password); //查询Alternative信息 Map alternativeMap = RoutingApiTest.getRoutingAlternative(srv, contract, partNo, routingRevision, routingType, alternativeNo); //判断是否需要插入到ifs if(alternativeMap != null && alternativeMap.size() > 0) { throw new APException("Routing Alternative 已存在!"); } //调用新增api Map resultMap = RoutingApiTest.insertRoutingAlternative(srv, inData); //设置ifs 信息 inData.setIfsRowId(resultMap.get("OBJID")); 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("Routing Alternative 新增结束:"+JSON.toJSONString(inData)); //返回结果集 return returnMap; } /** * @description: 修改Routing Alternative * @author LR * @date 2024/12/12 17:06 * @version 1.0 */ public Map modifyRoutingAlternative(RoutingAlternative inData) { logger.info("Routing Alternative 修改开始:"+JSON.toJSONString(inData)); //公共参数 Map returnMap = new HashMap<>(); String username = inData.getIfsUsername(); String password = inData.getIfsPassword(); String contract = inData.getContract(); String partNo = inData.getPartNo(); String routingRevision = inData.getRoutingRevision(); String routingType = inData.getRoutingType(); String alternativeNo = inData.getAlternativeNo(); //获取连接 try{ Server srv = ifsServer.getIfsServer(username, password); //查询Alternative信息 Map alternativeMap = RoutingApiTest.getRoutingAlternative(srv, contract, partNo, routingRevision, routingType, alternativeNo); //判断是否需要插入到ifs if(alternativeMap == null || alternativeMap.size() == 0) { throw new APException("Routing Alternative不存在!"); } //设置ifs 信息 inData.setIfsRowId(alternativeMap.get("IFSROWID")); inData.setIfsRowVersion(alternativeMap.get("IFSROWVERSION")); //调用api Map resultMap = RoutingApiTest.modifyRoutingAlternative(srv, inData); //设置ifs 信息 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("Routing Alternative 修改结束:"+JSON.toJSONString(inData)); //返回结果集 return returnMap; } /** * @description: 删除Routing Alternative * @author LR * @date 2024/12/12 17:07 * @version 1.0 */ public Map removeRoutingAlternative(RoutingAlternative inData) { logger.info("Routing Alternative 删除开始:"+JSON.toJSONString(inData)); //公共参数 Map returnMap = new HashMap<>(); String username = inData.getIfsUsername(); String password = inData.getIfsPassword(); String contract = inData.getContract(); String partNo = inData.getPartNo(); String routingRevision = inData.getRoutingRevision(); String routingType = inData.getRoutingType(); String alternativeNo = inData.getAlternativeNo(); //获取连接 try{ Server srv = ifsServer.getIfsServer(username, password); //查询Alternative信息 Map alternativeMap = RoutingApiTest.getRoutingAlternative(srv, contract, partNo, routingRevision, routingType, alternativeNo); //判断是否需要插入到ifs if(alternativeMap == null || alternativeMap.size() == 0) { throw new APException("Routing Alternative不存在!"); } //设置ifs 信息 inData.setIfsRowId(alternativeMap.get("IFSROWID")); inData.setIfsRowVersion(alternativeMap.get("IFSROWVERSION")); //调用api RoutingApiTest.removeRoutingAlternative(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("Routing Alternative 删除结束:"+JSON.toJSONString(inData)); //返回结果集 return returnMap; } /** * @description: Build Routing Alternative * @author LR * @date 2024/12/13 9:37 * @version 1.0 */ public Map buildRoutingAlternative(RoutingAlternative inData) { logger.info("Routing替代Build开始:"+JSON.toJSONString(inData)); Map returnMap = new HashMap<>(); String username = inData.getIfsUsername(); String password = inData.getIfsPassword(); String contract = inData.getContract(); String partNo = inData.getPartNo(); String routingRevision = inData.getRoutingRevision(); String routingType = inData.getRoutingType(); String alternativeNo = inData.getAlternativeNo(); //获取连接 try{ Server srv = ifsServer.getIfsServer(username, password); //查询Alternative信息 Map alternativeMap = RoutingApiTest.getRoutingAlternative(srv, contract, partNo, routingRevision, routingType, alternativeNo); //判断是否需要插入到ifs if(alternativeMap == null || alternativeMap.size() == 0) { throw new APException("Routing Alternative不存在!"); } //设置ifs 信息 inData.setIfsRowId(alternativeMap.get("IFSROWID")); inData.setIfsRowVersion(alternativeMap.get("IFSROWVERSION")); //调用删除方法 Map resultMap = RoutingApiTest.buildRoutingAlternative(srv, inData); //设置ifs 信息 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("Routing替代Build结束:"+JSON.toJSONString(inData)); //返回结果集 return returnMap; } /** * @description: Retire Routing Alternative * @author LR * @date 2024/12/13 9:40 * @version 1.0 */ public Map retireRoutingAlternative(RoutingAlternative inData) { logger.info("Routing替代Build开始:"+JSON.toJSONString(inData)); //公共参数 Map returnMap = new HashMap<>(); String username = inData.getIfsUsername(); String password = inData.getIfsPassword(); String contract = inData.getContract(); String partNo = inData.getPartNo(); String routingRevision = inData.getRoutingRevision(); String routingType = inData.getRoutingType(); String alternativeNo = inData.getAlternativeNo(); //获取连接 try{ Server srv = ifsServer.getIfsServer(username, password); //查询Alternative信息 Map alternativeMap = RoutingApiTest.getRoutingAlternative(srv, contract, partNo, routingRevision, routingType, alternativeNo); //判断是否需要插入到ifs if(alternativeMap == null || alternativeMap.size() == 0) { throw new APException("Routing Alternative不存在!"); } //设置ifs 信息 inData.setIfsRowId(alternativeMap.get("IFSROWID")); inData.setIfsRowVersion(alternativeMap.get("IFSROWVERSION")); //调用删除方法 Map resultMap = RoutingApiTest.retireRoutingAlternative(srv, inData); //设置ifs 信息 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("Routing替代Retire结束:"+JSON.toJSONString(inData)); //返回结果集 return returnMap; } /** * @description: 获取Routing 的明细 * @author LR * @date 2024/12/13 9:53 * @version 1.0 */ public Map getRoutingItems(RoutingItem inData) { //公共参数 Map returnMap = new HashMap<>(); String username = inData.getIfsUsername(); String password = inData.getIfsPassword(); String contract = inData.getContract(); String partNo = inData.getPartNo(); String routingRevision = inData.getRoutingRevision(); String routingType = inData.getRoutingType(); String alternativeNo = inData.getAlternativeNo(); String operationNo = inData.getOperationNo(); //获取连接 try{ Server srv = ifsServer.getIfsServer(username, password); //查询Alternative信息 Map alternativeMap = RoutingApiTest.getRoutingAlternative(srv, contract, partNo, routingRevision, routingType, alternativeNo); //判断是否需要插入到ifs if(alternativeMap == null || alternativeMap.size() == 0) { throw new APException("Routing Alternative不存在!"); } //查询结果集 List resultList = RoutingApiTest.getRoutingItems(srv, contract, partNo, routingRevision, routingType, alternativeNo, operationNo); //判断是否查询数据 if(resultList.size() == 0 || resultList.isEmpty()) { throw new APException("不存在此Routing组件信息!"); } returnMap.put("resultCode", "200"); returnMap.put("obj", JSON.toJSONString(resultList)); } catch(APException e){ returnMap.put("resultCode", "400"); returnMap.put("resultMsg", e.getMessage()); } //打印日志 logger.info("Routing替代明细集合结束:"+JSON.toJSONString(inData)); //返回结果集 return returnMap; } /** * @description: 批量新增Routing Item * @author LR * @date 2024/12/12 17:23 * @version 1.0 */ public Map syncRoutingItems(List inDatas) { logger.info("Routing替代明细集合新增开始:"+JSON.toJSONString(inDatas)); Map returnMap = new HashMap<>(); RoutingItem inData = inDatas.get(0); //公共参数Map returnMap = new HashMap<>(); String username = inData.getIfsUsername(); String password = inData.getIfsPassword(); String contract = inData.getContract(); String partNo = inData.getPartNo(); String routingRevision = inData.getRoutingRevision(); String routingType = inData.getRoutingType(); String alternativeNo = inData.getAlternativeNo(); //获取连接 try{ Server srv = ifsServer.getIfsServer(username, password); //查询制造商信息 Map alternativeMap = RoutingApiTest.getRoutingAlternative(srv, contract, partNo, routingRevision, routingType, alternativeNo); //判断是否需要插入到ifs if(alternativeMap == null || alternativeMap.size() == 0) { throw new APException("Routing Alternative不存在!"); } //查询结果集 List itemList = RoutingApiTest.getRoutingItems(srv, contract, partNo, routingRevision, routingType, alternativeNo, null); //转Map Map itemMap = itemList.stream().collect(Collectors.toMap(RoutingItem::getOperationNo, RoutingItem::getOperationNo)); //打印日志 logger.info("Routing替代明细集合 批量新增结束:"+JSON.toJSONString(inDatas)); //循环判断的方法 for(RoutingItem RoutingItem : inDatas) { //判断是否已经存在 String tempOperationNo = RoutingItem.getOperationNo(); if(itemMap.containsKey(tempOperationNo)) { throw new APException("已存在此Routing组件信息!OperationNo:"+tempOperationNo); } } // 校验通过 循环调用新增的方法 for(RoutingItem routingItem : inDatas) { //调用api Map tempMap = RoutingApiTest.insertRoutingItem(srv, routingItem); //设置ifs 信息 routingItem.setIfsRowId(tempMap.get("OBJID")); routingItem.setIfsRowVersion(tempMap.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("Routing替代明细集合新增开始:"+JSON.toJSONString(inDatas)); //返回结果集 return returnMap; } /** * @description: 修改Routing的明细 * @author LR * @date 2024/12/13 10:24 * @version 1.0 */ public Map modifyRoutingItem(RoutingItem inData) { logger.info("Routing替代明细新增开始:"+JSON.toJSONString(inData)); //公共参数 Map returnMap = new HashMap<>(); String username = inData.getIfsUsername(); String password = inData.getIfsPassword(); String contract = inData.getContract(); String partNo = inData.getPartNo(); String routingRevision = inData.getRoutingRevision(); String routingType = inData.getRoutingType(); String alternativeNo = inData.getAlternativeNo(); String operationNo = inData.getOperationNo(); //获取连接 try{ Server srv = ifsServer.getIfsServer(username, password); //查询制造商信息 Map alternativeMap = RoutingApiTest.getRoutingAlternative(srv, contract, partNo, routingRevision, routingType, alternativeNo); //判断是否需要插入到ifs if(alternativeMap == null || alternativeMap.size() == 0) { throw new APException("Routing Alternative不存在!"); } //查询结果集 List resultList = RoutingApiTest.getRoutingItems(srv, contract, partNo, routingRevision, routingType, alternativeNo, operationNo); //判断是否查询数据 if(resultList.size() == 0 || resultList.isEmpty()) { throw new APException("不存在此Routing组件信息!"); } RoutingItem RoutingItem = resultList.get(0); //设置版本信息 inData.setIfsRowId(RoutingItem.getIfsRowId()); inData.setIfsRowVersion(RoutingItem.getIfsRowVersion()); //调用修改的方法 Map resultMap = RoutingApiTest.modifyRoutingItem(srv, inData); //设置ifs 信息 RoutingItem.setIfsRowId(resultMap.get("OBJID")); RoutingItem.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("Routing替代明细新增结束:"+JSON.toJSONString(inData)); //返回结果集 return returnMap; } /** * @description: 批量删除 * @author LR * @date 2024/12/13 10:26 * @version 1.0 */ public Map removeRoutingItems(List inDatas) { logger.info("Routing 明细集合删除开始:"+JSON.toJSONString(inDatas)); RoutingItem inData = inDatas.get(0); //公共参数 Map returnMap = new HashMap<>(); String username = inData.getIfsUsername(); String password = inData.getIfsPassword(); String contract = inData.getContract(); String partNo = inData.getPartNo(); String routingRevision = inData.getRoutingRevision(); String routingType = inData.getRoutingType(); String alternativeNo = inData.getAlternativeNo(); //获取连接 try{ Server srv = ifsServer.getIfsServer(username, password); //查询结果集 List itemList = RoutingApiTest.getRoutingItems(srv, contract, partNo, routingRevision, routingType, alternativeNo, null); //转Map Map itemMap = itemList.stream().collect(Collectors.toMap(RoutingItem::getOperationNo, Function.identity())); //打印日志 logger.info("Routing替代明细集合 批量新增结束:"+JSON.toJSONString(inDatas)); //循环判断的方法 for(RoutingItem RoutingItem : inDatas) { //判断是否已经存在 String tempOperationNo = RoutingItem.getOperationNo(); if(!itemMap.containsKey(tempOperationNo)) { throw new APException("不存在此Routing组件信息!OperationNo:"+tempOperationNo); } } // 校验通过 循环调用新增的方法 for(RoutingItem routingItem : inDatas) { //设置版本的信息 String key = routingItem.getOperationNo(); RoutingItem oriItem = itemMap.get(key); routingItem.setIfsRowId(oriItem.getIfsRowId()); routingItem.setIfsRowVersion(oriItem.getIfsRowVersion()); //调用api RoutingApiTest.removeRoutingItem(srv, routingItem); } returnMap.put("resultCode", "200"); returnMap.put("obj", JSON.toJSONString(inData)); } catch(APException e){ returnMap.put("resultCode", "400"); returnMap.put("resultMsg", e.getMessage()); } //打印日志 logger.info("Routing 明细集合删除开始:"+JSON.toJSONString(inDatas)); //返回结果集 return returnMap; } /** * @description: 批量新增 Routing Tool * @author LR * @date 2024/12/13 10:57 * @version 1.0 */ public Map syncRoutingTools(List inDatas) { logger.info("Routing Tool批量修改开始:"+JSON.toJSONString(inDatas)); RoutingTool inData = inDatas.get(0); //公共参数 Map returnMap = new HashMap<>(); String username = inData.getIfsUsername(); String password = inData.getIfsPassword(); //获取连接 try{ Server srv = ifsServer.getIfsServer(username, password); //循环处理 for(RoutingTool routingTool : inDatas) { String itemIfsRowId = routingTool.getIfsRowId(); String itemIfsRowVersion = routingTool.getIfsRowVersion(); //查询工序的相关信息 Map itemMap = RoutingApiTest.getRoutingItem(srv, itemIfsRowId, itemIfsRowVersion); //获取operationId = String operationId = itemMap.get("OPERATION_ID"); routingTool.setOperationId(operationId); //调用新增的方法 新增数据 Map resultMap = RoutingApiTest.insertRoutingTool(srv, routingTool); //设置参数 routingTool.setIfsRowId(resultMap.get("OBJID")); routingTool.setIfsRowVersion(resultMap.get("OBJVERSION")); //打印日志 logger.info("RoutingIfsTool_add:"+JSON.toJSONString(routingTool)); } returnMap.put("resultCode", "200"); returnMap.put("obj", JSON.toJSONString(inDatas)); } catch(APException e){ returnMap.put("resultCode", "400"); returnMap.put("resultMsg", e.getMessage()); } //打印日志 logger.info("Routing Tool批量修改结束:"+JSON.toJSONString(inDatas)); //返回结果集 return returnMap; } /** * @description: 修改 Routing Tool * @author LR * @date 2024/12/13 10:57 * @version 1.0 */ public Map modifyRoutingTool(RoutingTool inData) { logger.info("Routing Tool 修改:"+JSON.toJSONString(inData)); //公共参数 Map returnMap = new HashMap<>(); String username = inData.getIfsUsername(); String password = inData.getIfsPassword(); //获取连接 try{ Server srv = ifsServer.getIfsServer(username, password); //调用修改的方法 新增数据 Map resultMap = RoutingApiTest.modifyRoutingTool(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("Routing Tool修改结束:"+JSON.toJSONString(inData)); //返回结果集 return returnMap; } /** * @description: 批量删除 Routing Tool * @author LR * @date 2024/12/13 10:57 * @version 1.0 */ public Map removeRoutingTools(List inDatas) { logger.info("Routing Tool批量修改开始:"+JSON.toJSONString(inDatas)); RoutingTool inData = inDatas.get(0); //公共参数 Map returnMap = new HashMap<>(); String username = inData.getIfsUsername(); String password = inData.getIfsPassword(); //获取连接 try{ Server srv = ifsServer.getIfsServer(username, password); //循环删除 for(RoutingTool routingTool : inDatas) { //调用新增的方法 新增数据 RoutingApiTest.removeRoutingTool(srv, routingTool); //打印日志 logger.info("RoutingIfsTool_remove:"+JSON.toJSONString(routingTool)); } returnMap.put("resultCode", "200"); returnMap.put("obj", JSON.toJSONString(inDatas)); } catch(APException e){ returnMap.put("resultCode", "400"); returnMap.put("resultMsg", e.getMessage()); } //打印日志 logger.info("Routing Tool批量删除结束:"+JSON.toJSONString(inDatas)); //返回结果集 return returnMap; } /** * @description: 批量新增 Routing Guide Line * @author LR * @date 2024/12/13 14:16 * @version 1.0 */ public Map syncRoutingGuideLines(List inDatas) { logger.info("Routing GuideLine批量新增开始:"+JSON.toJSONString(inDatas)); RoutingGuideLine inData = inDatas.get(0); //公共参数 Map returnMap = new HashMap<>(); String username = inData.getIfsUsername(); String password = inData.getIfsPassword(); try{ //获取连接 Server srv = ifsServer.getIfsServer(username, password); //循环调用 for(RoutingGuideLine guideLine : inDatas) { String itemIfsRowId = guideLine.getIfsRowId(); String itemIfsRowVersion = guideLine.getIfsRowVersion(); //查询工序的相关信息 Map itemMap = RoutingApiTest.getRoutingItem(srv, itemIfsRowId, itemIfsRowVersion); //获取operationId = String operationId = itemMap.get("OPERATION_ID"); guideLine.setOperationId(operationId); //调用新增的方法 新增数据 Map resultMap = RoutingApiTest.insertRoutingGuideLine(srv, guideLine); //设置参数 guideLine.setIfsRowId(resultMap.get("OBJID")); guideLine.setIfsRowVersion(resultMap.get("OBJVERSION")); //打印日志 logger.info("RoutingIfsTool_add:"+JSON.toJSONString(guideLine)); } returnMap.put("resultCode", "200"); returnMap.put("obj", JSON.toJSONString(inData)); } catch(APException e){ returnMap.put("resultCode", "400"); returnMap.put("resultMsg", e.getMessage()); } //打印日志 logger.info("Routing Tool批量修改结束:"+JSON.toJSONString(inDatas)); //返回结果集 return returnMap; } /** * @description: 修改Routing Guide Line * @author LR * @date 2024/12/13 14:22 * @version 1.0 */ public Map modifyRoutingGuideLine(RoutingGuideLine inData) { logger.info("Routing GuideLine 修改:"+JSON.toJSONString(inData)); //公共参数 Map returnMap = new HashMap<>(); String username = inData.getIfsUsername(); String password = inData.getIfsPassword(); //获取连接 try{ Server srv = ifsServer.getIfsServer(username, password); //调用新增的方法 新增数据 Map resultMap = RoutingApiTest.modifyRoutingGuideLine(srv, inData); //设置参数 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("Routing GuideLine修改结束:"+JSON.toJSONString(inData)); //返回结果集 return returnMap; } /** * @description: 批量删除 Routing Guide Line * @author LR * @date 2024/12/13 14:24 * @version 1.0 */ public Map removeRoutingGuideLines(List inDatas) { logger.info("Routing GuideLine批量修改开始:"+JSON.toJSONString(inDatas)); RoutingGuideLine inData = inDatas.get(0); //公共参数 Map returnMap = new HashMap<>(); String username = inData.getIfsUsername(); String password = inData.getIfsPassword(); //获取连接 try{ Server srv = ifsServer.getIfsServer(username, password); //循环删除 for(RoutingGuideLine guideLine : inDatas) { //调用新增的方法 新增数据 RoutingApiTest.removeRoutingGuideLine(srv, guideLine); //打印日志 logger.info("RoutingGuideLine remove:"+JSON.toJSONString(guideLine)); } returnMap.put("resultCode", "200"); returnMap.put("obj", JSON.toJSONString(inData)); } catch(APException e){ returnMap.put("resultCode", "400"); returnMap.put("resultMsg", e.getMessage()); } //打印日志 logger.info("Routing GuideLine批量删除结束:"+JSON.toJSONString(inDatas)); //返回结果集 return returnMap; } /** * @description: 查询工艺路线的组件信息 * @author LR * @date 2025/5/21 15:59 * @version 1.0 */ public Map getRoutingItemsWithCopyPart(RoutingIfsHeader inData) { //公共参数 Map returnMap = new HashMap<>(); String username = inData.getIfsUsername(); String password = inData.getIfsPassword(); String contract = inData.getContract(); String partNo = inData.getPartNo(); try{ //获取连接 Server srv = ifsServer.getIfsServer(username, password); //查询结果集 List resultList = RoutingApi.getRoutingItemsWithCopyPart(srv, contract, partNo); //判断是否查询数据 if(resultList.isEmpty()) { throw new APException("不存在此Routing组件信息!"); } returnMap.put("resultCode", "200"); //打印日志 logger.info("Routing 明细查询数据:"+JSON.toJSONString(inData)); returnMap.put("obj", JSON.toJSONString(resultList)); } catch(APException e){ returnMap.put("resultCode", "400"); returnMap.put("resultMsg", e.getMessage()); logger.info("异常信息:"+e.getMessage()); } //打印日志 logger.info("Routing替代明细集合结束:"+JSON.toJSONString(inData)); //返回结果集 return returnMap; } /** * @description: copy part 使用的方法 * @author LR * @date 2025/5/21 16:01 * @version 1.0 */ public Map getRoutingToolsWithCopyPart(RoutingIfsHeader inData) { logger.info("Routing Tools查询开始:"+JSON.toJSONString(inData)); //公共参数 Map returnMap = new HashMap<>(); String username = inData.getIfsUsername(); String password = inData.getIfsPassword(); String contract = inData.getContract(); String partNo = inData.getPartNo(); try{ //获取连接 Server srv = ifsServer.getIfsServer(username, password); //循环处理 List resultList = RoutingApi.getRoutingToolsWithCopyPart(srv, contract, partNo); returnMap.put("resultCode", "200"); logger.info("Routing Tools查询到数据:"+JSON.toJSONString(inData)); returnMap.put("obj", JSON.toJSONString(resultList)); } catch(APException e){ returnMap.put("resultCode", "400"); returnMap.put("resultMsg", e.getMessage()); logger.info("异常信息:"+e.getMessage()); } //打印日志 logger.info("Routing Tools查询结束:"+JSON.toJSONString(inData)); //返回结果集 return returnMap; } /** * @description: copy part 使用的方法 * @author LR * @date 2025/5/21 16:05 * @version 1.0 */ public Map getRoutingGuideLinesWithCopyPart(RoutingIfsHeader inData) { logger.info("Routing GuideLines查询开始:"+JSON.toJSONString(inData)); //公共参数 Map returnMap = new HashMap<>(); String username = inData.getIfsUsername(); String password = inData.getIfsPassword(); String contract = inData.getContract(); String partNo = inData.getPartNo(); try{ //获取连接 Server srv = ifsServer.getIfsServer(username, password); //循环处理 List resultList = RoutingApi.getRoutingGuideLinesWithCopyPart(srv, contract, partNo); returnMap.put("resultCode", "200"); logger.info("Routing GuideLines查询到数据:"+JSON.toJSONString(inData)); returnMap.put("obj", JSON.toJSONString(resultList)); } catch(APException e){ returnMap.put("resultCode", "400"); returnMap.put("resultMsg", e.getMessage()); logger.info("异常信息:"+e.getMessage()); } //打印日志 logger.info("Routing GuideLines查询结束:"+JSON.toJSONString(inData)); //返回结果集 return returnMap; } }