You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

1016 lines
43 KiB

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<String, String> getRoutingHeader(RoutingHeader inData) {
logger.info("Routing Header查询参数:"+JSON.toJSONString(inData));
//查询的参数
Map<String, String> 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<String, String> 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<String, String> syncRoutingHeader(RoutingHeader inData) {
logger.info("Routing新增开始:"+JSON.toJSONString(inData));
//查询的参数
Map<String, String> 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<String, String> routingMap = RoutingApiTest.getRoutingHeader(srv, contract, partNo, routingRevision, routingType);
//判断是否需要插入到ifs
if(routingMap != null && routingMap.size() > 0) {
throw new APException("Routing已存在!");
}
//调用api
Map<String, String> 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<String, String> modifyRoutingHeader(RoutingHeader inData) {
logger.info("Routing修改开始:"+JSON.toJSONString(inData));
//查询的参数
Map<String, String> 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<String, String> 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<String, String> 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<String, String> removeRoutingHeader(RoutingHeader inData) {
logger.info("Routing Header删除开始:"+JSON.toJSONString(inData));
//查询的参数
Map<String, String> 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<String, String> 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<String, String> getRoutingAlternative(RoutingAlternative inData) {
logger.info("Routing Alternative 查询开始:"+JSON.toJSONString(inData));
//公共参数
Map<String, String> 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<String, String> 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<String, String> syncRoutingAlternative(RoutingAlternative inData) {
logger.info("Routing Alternative 新增开始:"+JSON.toJSONString(inData));
//公共参数
Map<String, String> 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<String, String> alternativeMap = RoutingApiTest.getRoutingAlternative(srv, contract, partNo, routingRevision, routingType, alternativeNo);
//判断是否需要插入到ifs
if(alternativeMap != null && alternativeMap.size() > 0) {
throw new APException("Routing Alternative 已存在!");
}
//调用新增api
Map<String, String> 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<String, String> modifyRoutingAlternative(RoutingAlternative inData) {
logger.info("Routing Alternative 修改开始:"+JSON.toJSONString(inData));
//公共参数
Map<String, String> 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<String, String> 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<String, String> 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<String, String> removeRoutingAlternative(RoutingAlternative inData) {
logger.info("Routing Alternative 删除开始:"+JSON.toJSONString(inData));
//公共参数
Map<String, String> 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<String, String> 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<String, String> buildRoutingAlternative(RoutingAlternative inData) {
logger.info("Routing替代Build开始:"+JSON.toJSONString(inData));
Map<String, String> 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<String, String> 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<String, String> 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<String, String> retireRoutingAlternative(RoutingAlternative inData) {
logger.info("Routing替代Build开始:"+JSON.toJSONString(inData));
//公共参数
Map<String, String> 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<String, String> 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<String, String> 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<String, String> getRoutingItems(RoutingItem inData) {
//公共参数
Map<String, String> 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<String, String> alternativeMap = RoutingApiTest.getRoutingAlternative(srv, contract, partNo, routingRevision, routingType, alternativeNo);
//判断是否需要插入到ifs
if(alternativeMap == null || alternativeMap.size() == 0) {
throw new APException("Routing Alternative不存在!");
}
//查询结果集
List<RoutingItem> 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<String, String> syncRoutingItems(List<RoutingItem> inDatas) {
logger.info("Routing替代明细集合新增开始:"+JSON.toJSONString(inDatas));
Map<String, String> returnMap = new HashMap<>();
RoutingItem inData = inDatas.get(0);
//公共参数Map<String, String> 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<String, String> alternativeMap = RoutingApiTest.getRoutingAlternative(srv, contract, partNo, routingRevision, routingType, alternativeNo);
//判断是否需要插入到ifs
if(alternativeMap == null || alternativeMap.size() == 0) {
throw new APException("Routing Alternative不存在!");
}
//查询结果集
List<RoutingItem> itemList = RoutingApiTest.getRoutingItems(srv, contract, partNo, routingRevision, routingType, alternativeNo, null);
//转Map
Map<String, String> 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<String, String> 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<String, String> modifyRoutingItem(RoutingItem inData) {
logger.info("Routing替代明细新增开始:"+JSON.toJSONString(inData));
//公共参数
Map<String, String> 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<String, String> alternativeMap = RoutingApiTest.getRoutingAlternative(srv, contract, partNo, routingRevision, routingType, alternativeNo);
//判断是否需要插入到ifs
if(alternativeMap == null || alternativeMap.size() == 0) {
throw new APException("Routing Alternative不存在!");
}
//查询结果集
List<RoutingItem> 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<String, String> 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<String, String> removeRoutingItems(List<RoutingItem> inDatas) {
logger.info("Routing 明细集合删除开始:"+JSON.toJSONString(inDatas));
RoutingItem inData = inDatas.get(0);
//公共参数
Map<String, String> 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<RoutingItem> itemList = RoutingApiTest.getRoutingItems(srv, contract, partNo, routingRevision, routingType, alternativeNo, null);
//转Map
Map<String, RoutingItem> 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<String, String> syncRoutingTools(List<RoutingTool> inDatas) {
logger.info("Routing Tool批量修改开始:"+JSON.toJSONString(inDatas));
RoutingTool inData = inDatas.get(0);
//公共参数
Map<String, String> 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<String, String> itemMap = RoutingApiTest.getRoutingItem(srv, itemIfsRowId, itemIfsRowVersion);
//获取operationId =
String operationId = itemMap.get("OPERATION_ID");
routingTool.setOperationId(operationId);
//调用新增的方法 新增数据
Map<String, String> 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<String, String> modifyRoutingTool(RoutingTool inData) {
logger.info("Routing Tool 修改:"+JSON.toJSONString(inData));
//公共参数
Map<String, String> returnMap = new HashMap<>();
String username = inData.getIfsUsername();
String password = inData.getIfsPassword();
//获取连接
try{
Server srv = ifsServer.getIfsServer(username, password);
//调用修改的方法 新增数据
Map<String, String> 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<String, String> removeRoutingTools(List<RoutingTool> inDatas) {
logger.info("Routing Tool批量修改开始:"+JSON.toJSONString(inDatas));
RoutingTool inData = inDatas.get(0);
//公共参数
Map<String, String> 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<String, String> syncRoutingGuideLines(List<RoutingGuideLine> inDatas) {
logger.info("Routing GuideLine批量新增开始:"+JSON.toJSONString(inDatas));
RoutingGuideLine inData = inDatas.get(0);
//公共参数
Map<String, String> 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<String, String> itemMap = RoutingApiTest.getRoutingItem(srv, itemIfsRowId, itemIfsRowVersion);
//获取operationId =
String operationId = itemMap.get("OPERATION_ID");
guideLine.setOperationId(operationId);
//调用新增的方法 新增数据
Map<String, String> 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<String, String> modifyRoutingGuideLine(RoutingGuideLine inData) {
logger.info("Routing GuideLine 修改:"+JSON.toJSONString(inData));
//公共参数
Map<String, String> returnMap = new HashMap<>();
String username = inData.getIfsUsername();
String password = inData.getIfsPassword();
//获取连接
try{
Server srv = ifsServer.getIfsServer(username, password);
//调用新增的方法 新增数据
Map<String, String> 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<String, String> removeRoutingGuideLines(List<RoutingGuideLine> inDatas) {
logger.info("Routing GuideLine批量修改开始:"+JSON.toJSONString(inDatas));
RoutingGuideLine inData = inDatas.get(0);
//公共参数
Map<String, String> 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<String, String> getRoutingItemsWithCopyPart(RoutingIfsHeader inData) {
//公共参数
Map<String, String> 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<RoutingIfsItem> 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<String, String> getRoutingToolsWithCopyPart(RoutingIfsHeader inData) {
logger.info("Routing Tools查询开始:"+JSON.toJSONString(inData));
//公共参数
Map<String, String> 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<RoutingIfsTool> 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<String, String> getRoutingGuideLinesWithCopyPart(RoutingIfsHeader inData) {
logger.info("Routing GuideLines查询开始:"+JSON.toJSONString(inData));
//公共参数
Map<String, String> 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<RoutingIfsGuideLine> 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;
}
}