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
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;
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|