Browse Source

添加同步的查询sql

master
Rui_Li 6 months ago
parent
commit
4dda943a35
  1. 123
      src/main/java/com/spring/ifs/api/RoutingApi.java
  2. 75
      src/main/java/com/spring/ifs/bean/RoutingServiceBean.java
  3. 2
      src/main/java/com/spring/modules/part/entity/APIEntity/RoutingIfsItem.java

123
src/main/java/com/spring/ifs/api/RoutingApi.java

@ -857,6 +857,69 @@ public class RoutingApi {
} }
} }
/**
* @description: 同步数据查询routing 工具
* @author LR
* @date 2025/7/4 16:34
* @version 1.0
*/
public static List<RoutingIfsTool> getRoutingToolsForSync(Server srv, String contract, String partNo, String routingRevision,
String routingType, String alternativeNo, String operationNo) throws APException {
StringBuilder searchSql = new StringBuilder();
searchSql.append("SELECT CONTRACT, PART_NO, ROUTING_REVISION, BOM_TYPE, ALTERNATIVE_NO, OPERATION_NO,");
searchSql.append(" TOOL_ID, TOOL_QUANTITY, OBJID ifsRowId, OBJVERSION ifsRowVersion, NOTE_TEXT");
searchSql.append(" FROM IFSAPP.ROUTING_OPERATION_TOOL");
searchSql.append(" WHERE CONTRACT = :contract AND PART_NO = :partNo AND ROUTING_REVISION = :routingRevision");
searchSql.append(" AND BOM_TYPE = :routingType AND ALTERNATIVE_NO = :alternativeNo");
//设置查询的入参
Map<String, String> inParam = new HashMap<>();
inParam.put("contract", contract);
inParam.put("partNo", partNo);
inParam.put("routingRevision", routingRevision);
inParam.put("routingType", routingType);
inParam.put("alternativeNo", alternativeNo);
//添加判断的查询条件
if(!(null == operationNo || "".equals(operationNo))) {
searchSql.append(" AND OPERATION_NO = :operationNo");
inParam.put("operationNo", operationNo);
}
//调用查询的通用方法
RecordCollection recordCollection = IfsPlsqlUtils.execSqlSearchGetRecordCollection(srv, searchSql, inParam);
//判断能否返回
if (recordCollection == null) {
return new ArrayList<>();
} else {
List<RoutingIfsTool> resultItems = new ArrayList<>();
//调用通用的处理方法 返回Map
List<Map<String, String>> resultList = IfsConverterToMap.ConverterIfsToList(recordCollection);
//判断是否存在数据
if(resultList == null) {
return resultItems;
}
//获取数据转bean
for (int i = 0; i < resultList.size(); i++) {
Map<String, String> tempMap = resultList.get(i);
RoutingIfsTool tempItem = new RoutingIfsTool();
//设置参数
tempItem.setIfsRowId(tempMap.get("IFSROWID"));
tempItem.setIfsRowVersion(tempMap.get("IFSROWVERSION"));
tempItem.setContract(tempMap.get("CONTRACT"));
tempItem.setPartNo(tempMap.get("PART_NO"));
tempItem.setRoutingType(tempMap.get("BOM_TYPE"));
tempItem.setRoutingRevision(tempMap.get("ROUTING_REVISION"));
tempItem.setAlternativeNo(tempMap.get("ALTERNATIVE_NO"));
tempItem.setOperationNo(tempMap.get("OPERATION_NO")); //
tempItem.setToolId(tempMap.get("TOOL_ID")); //
tempItem.setNoteText(tempMap.get("NOTE_TEXT"));
//添加对象
resultItems.add(tempItem);
}
return resultItems;
}
}
/** /**
* @description: 查询Routing Tool的所有信息 * @description: 查询Routing Tool的所有信息
* @author LR * @author LR
@ -1114,6 +1177,66 @@ public class RoutingApi {
} }
} }
public static List<RoutingIfsGuideLine> getRoutingGuideLinesForSync(Server srv, String contract, String partNo, String routingRevision, String routingType, String alternativeNo, String operationNo) throws APException {
StringBuilder searchSql = new StringBuilder();
searchSql.append("SELECT rog.CONTRACT, rog.PART_NO, rog.ROUTING_REVISION, rog.BOM_TYPE, rog.ALTERNATIVE_NO, rot.OPERATION_NO, rog.GUIDELINE_NO,");
searchSql.append(" rog.GUIDELINE_SEQ, rog.OBJID ifsRowId, rog.OBJVERSION ifsRowVersion");
searchSql.append(" FROM IFSAPP.ROUTING_OPER_WORK_GUIDE rog");
searchSql.append(" LEFT JOIN IFSAPP.ROUTING_OPERATION rot");
searchSql.append(" ON rot.CONTRACT = rog.CONTRACT AND rot.PART_NO = rog.PART_NO AND rot.ROUTING_REVISION = rog.ROUTING_REVISION ");
searchSql.append(" AND rot.BOM_TYPE = rog.BOM_TYPE AND rot.ALTERNATIVE_NO = rog.ALTERNATIVE_NO AND rot.OPERATION_ID = rog.OPERATION_ID");
searchSql.append(" WHERE rog.CONTRACT = :contract AND rog.PART_NO = :partNo AND rog.ROUTING_REVISION = :routingRevision");
searchSql.append(" AND rog.BOM_TYPE = :routingType AND rog.ALTERNATIVE_NO = :alternativeNo");
//设置查询的入参
Map<String, String> inParam = new HashMap<>();
inParam.put("contract", contract);
inParam.put("partNo", partNo);
inParam.put("routingRevision", routingRevision);
inParam.put("routingType", routingType);
inParam.put("alternativeNo", alternativeNo);
//添加判断的查询条件
if(!(null == operationNo || "".equals(operationNo))) {
searchSql.append(" AND rog.OPERATION_NO = :operationNo");
inParam.put("operationNo", operationNo);
}
//调用查询的通用方法
RecordCollection recordCollection = IfsPlsqlUtils.execSqlSearchGetRecordCollection(srv, searchSql, inParam);
//判断能否返回
if (recordCollection == null) {
return new ArrayList<>();
} else {
List<RoutingIfsGuideLine> resultItems = new ArrayList<>();
//调用通用的处理方法 返回Map
List<Map<String, String>> resultList = IfsConverterToMap.ConverterIfsToList(recordCollection);
//判断是否存在数据
if(resultList == null) {
return resultItems;
}
//获取数据转bean
for (int i = 0; i < resultList.size(); i++) {
Map<String, String> tempMap = resultList.get(i);
RoutingIfsGuideLine tempItem = new RoutingIfsGuideLine();
//设置参数
tempItem.setIfsRowId(tempMap.get("IFSROWID"));
tempItem.setIfsRowVersion(tempMap.get("IFSROWVERSION"));
tempItem.setContract(tempMap.get("CONTRACT"));
tempItem.setPartNo(tempMap.get("PART_NO"));
tempItem.setRoutingType(tempMap.get("BOM_TYPE"));
tempItem.setRoutingRevision(tempMap.get("ROUTING_REVISION"));
tempItem.setAlternativeNo(tempMap.get("ALTERNATIVE_NO"));
tempItem.setOperationNo(tempMap.get("OPERATION_NO")); //
tempItem.setGuidelineSeq(tempMap.get("GUIDELINE_SEQ"));
tempItem.setNoteText(tempMap.get("NOTE_TEXT"));
//添加对象
resultItems.add(tempItem);
}
return resultItems;
}
}
/** /**
* @description: 新增 Routing Guide Line * @description: 新增 Routing Guide Line
* @author LR * @author LR

75
src/main/java/com/spring/ifs/bean/RoutingServiceBean.java

@ -551,6 +551,18 @@ public class RoutingServiceBean {
routingItem.setIfsRowId(tempMap.get("OBJID")); routingItem.setIfsRowId(tempMap.get("OBJID"));
routingItem.setIfsRowVersion(tempMap.get("OBJVERSION")); routingItem.setIfsRowVersion(tempMap.get("OBJVERSION"));
} }
//二次查询 赋值 operationId使用
Map<String, String> operationIdMap = new HashMap<>();
itemList = RoutingApi.getRoutingItems(srv, contract, partNo, routingRevision, routingType, alternativeNo, null);
//转Map
for (RoutingIfsItem item : itemList){
operationIdMap.put(item.getIfsRowId(), item.getOperationId());
}
//循环设置IfsoperationId
for (RoutingIfsItem item : inDatas){
item.setIfsOperationId(operationIdMap.get(item.getIfsRowId()));
}
returnMap.put("resultCode", "200"); returnMap.put("resultCode", "200");
returnMap.put("obj", JSON.toJSONString(inDatas)); returnMap.put("obj", JSON.toJSONString(inDatas));
} catch(APException e){ } catch(APException e){
@ -579,7 +591,7 @@ public class RoutingServiceBean {
String routingRevision = inData.getRoutingRevision(); String routingRevision = inData.getRoutingRevision();
String routingType = inData.getRoutingType(); String routingType = inData.getRoutingType();
String alternativeNo = inData.getAlternativeNo(); String alternativeNo = inData.getAlternativeNo();
String operationNo = inData.getOperationNo();
String operationId = inData.getOperationNo();
try{ try{
//查询制造商信息 //查询制造商信息
Map<String, String> alternativeMap = RoutingApi.getRoutingAlternative(srv, contract, partNo, routingRevision, routingType, alternativeNo); Map<String, String> alternativeMap = RoutingApi.getRoutingAlternative(srv, contract, partNo, routingRevision, routingType, alternativeNo);
@ -729,6 +741,39 @@ public class RoutingServiceBean {
return returnMap; return returnMap;
} }
/**
* @description: 同步查询guidelines
* @author LR
* @date 2025/7/4 16:40
* @version 1.0
*/
public Map<String, String> getRoutingGuideLinesForSync(Server srv, RoutingIfsItem inData) {
logger.info("Routing GuideLines查询开始:"+JSON.toJSONString(inData));
//公共参数
Map<String, String> returnMap = new HashMap<>();
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{
//循环处理
List<RoutingIfsGuideLine> resultList = RoutingApi.getRoutingGuideLinesForSync(srv, contract, partNo, routingRevision, routingType, alternativeNo, operationNo);
returnMap.put("resultCode", "200");
logger.info("Routing GuideLines查询到数据:"+JSON.toJSONString(resultList));
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;
}
/** /**
* @description: 批量新增 Routing Tool * @description: 批量新增 Routing Tool
* @author LR * @author LR
@ -934,6 +979,34 @@ public class RoutingServiceBean {
return returnMap; return returnMap;
} }
public Map<String, String> getRoutingToolsForSync(Server srv, RoutingIfsItem inData) {
logger.info("Routing Tools查询开始:"+JSON.toJSONString(inData));
//公共参数
Map<String, String> returnMap = new HashMap<>();
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{
//循环处理
List<RoutingIfsTool> resultList = RoutingApi.getRoutingToolsForSync(srv, contract, partNo, routingRevision, routingType,
alternativeNo, operationNo);
returnMap.put("resultCode", "200");
logger.info("Routing Tools查询到数据:"+JSON.toJSONString(resultList));
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;
}

2
src/main/java/com/spring/modules/part/entity/APIEntity/RoutingIfsItem.java

@ -112,6 +112,8 @@ public class RoutingIfsItem {
* ifs的对象id * ifs的对象id
*/ */
private String ifsRowVersion; private String ifsRowVersion;
//2025-07-02 后加字段
private String ifsOperationId;
public RoutingIfsItem() {} public RoutingIfsItem() {}

Loading…
Cancel
Save