Browse Source

新增api查询接口

master
Rui_Li 1 year ago
parent
commit
b6dcff1369
  1. 69
      src/main/java/com/spring/ifs/api/BaseSearchApi.java
  2. 71
      src/main/java/com/spring/ifs/api/BaseSearchApiTest.java
  3. 29
      src/main/java/com/spring/ifs/bean/BaseSearchBean.java
  4. 39
      src/main/java/com/spring/ifs/bean/BaseSearchBeanTest.java
  5. 16
      src/main/java/com/spring/ifs/controller/TestIfsController.java
  6. 11
      src/main/java/com/spring/modules/base/entity/WorkCenterCost.java

69
src/main/java/com/spring/ifs/api/BaseSearchApi.java

@ -4,6 +4,7 @@ import com.spring.common.utils.DateUtils;
import com.spring.ifs.data.*;
import com.spring.ifs.utils.IfsConverterToMap;
import com.spring.ifs.utils.IfsPlsqlUtils;
import com.spring.modules.base.entity.WorkCenterCost;
import com.spring.modules.base.vo.PersonnelLevelVo;
import com.spring.modules.part.vo.InventoryPartUnitCostSumVo;
import com.spring.modules.part.vo.LocationInformationVo;
@ -418,4 +419,72 @@ public class BaseSearchApi {
return technicalAttributes;
}
}
/**
* @description: 加工中心成本
* @author LR
* @date 2025/2/10 15:17
* @version 1.0
*/
public static List<WorkCenterCost> getWorkCenterCosts(Server srv, String siteCon, String ifsRowVersion, int startIndex, int pageSize) throws APException {
StringBuilder searchSql = new StringBuilder();
searchSql.append("SELECT OBJID ifsRowId, OBJVERSION ifsRowVersion, CONTRACT, WORK_CENTER_NO,");
searchSql.append(" ifsapp.WORK_CENTER_API.Get_Description(CONTRACT, WORK_CENTER_NO) workCenterDesc,");
searchSql.append(" COST_SET, ifsapp.COST_SET_API.Get_Description(CONTRACT,COST_SET) costSetDesc, WC_RATE, WC_COST_CODE,");
searchSql.append(" OVERHEAD1_FAC, OVERHEAD1_APPL, OVERHEAD2_FAC, OVERHEAD2_APPL,");
searchSql.append(" to_char(START_DATE, 'yyyy-MM-dd') START_DATE, to_char(END_DATE, 'yyyy-MM-dd') END_DATE");
searchSql.append(" FROM ifsapp.WORK_CENTER_COST");
searchSql.append(" WHERE ifsapp.Work_Center_API.Get_Work_Center_Code_Db(contract, work_center_no) = 'I'");
//设置查询的入参
Map<String, String> inParam = new HashMap<>();
//判断是否存在入参
if ((ifsRowVersion == null || "".equals(ifsRowVersion))){
searchSql.append(" AND OBJVERSION >= :ifsRowVersion");
inParam.put("ifsRowVersion", ifsRowVersion);
}
//添加排序语句
searchSql.append(" ORDER BY OBJVERSION, CONTRACT, WORK_CENTER_NO");
//添加分页的查询语句
searchSql.append(" OFFSET "+startIndex+" ROWS FETCH NEXT "+pageSize+" ROWS ONLY");
//调用查询的通用方法
RecordCollection recordCollection = IfsPlsqlUtils.execSqlSearchGetRecordCollection(srv, searchSql, inParam);
//判断能否返回
if (recordCollection == null) {
return new ArrayList<>();
} else {
List<WorkCenterCost> technicalAttributes = new ArrayList<>();
//处理结果集
List<Map<String, String>> resultList = IfsConverterToMap.ConverterIfsToList(recordCollection);
//获取数据转bean
for (int i = 0; i < resultList.size(); i++) {
Map<String, String> tempMap = resultList.get(i);
WorkCenterCost tempItem = new WorkCenterCost();
//设置参数
tempItem.setIfsRowId(tempMap.get("IFSROWID"));
tempItem.setIfsRowVersion(tempMap.get("IFSROWVERSION"));
tempItem.setSite(tempMap.get("CONTRACT"));
tempItem.setWorkCenterNo(tempMap.get("WORK_CENTER_NO"));
tempItem.setWorkCenterDesc(tempMap.get("WORKCENTERDESC"));
tempItem.setCostSet(tempMap.get("COST_SET"));
tempItem.setCostSetDesc(tempMap.get("COSTSETDESC"));
tempItem.setWcCostCode(tempMap.get("WC_COST_CODE"));
tempItem.setOverhead1Fac(tempMap.get("OVERHEAD1_FAC"));
tempItem.setOverhead2Fac(tempMap.get("OVERHEAD2_FAC"));
tempItem.setOverhead1Appl(tempMap.get("OVERHEAD1_APPL"));
tempItem.setOverhead2Appl(tempMap.get("OVERHEAD2_APPL"));
String startDate = tempMap.get("START_DATE");
if (!(null == startDate || "".equals(startDate))){
tempItem.setBeginDate(DateUtils.getStringToDate(startDate, "yyyy-MM-dd"));
}
String endDate = tempMap.get("END_DATE");
if (!(null == endDate || "".equals(endDate))) {
tempItem.setEndDate(DateUtils.getStringToDate(endDate, "yyyy-MM-dd"));
}
//添加对象
technicalAttributes.add(tempItem);
}
return technicalAttributes;
}
}
}

71
src/main/java/com/spring/ifs/api/BaseSearchApiTest.java

@ -1,8 +1,10 @@
package com.spring.ifs.api;
import com.spring.common.utils.DateUtils;
import com.spring.ifs.data.*;
import com.spring.ifs.utils.IfsConverterToMap;
import com.spring.ifs.utils.IfsPlsqlUtils;
import com.spring.modules.base.entity.WorkCenterCost;
import com.spring.modules.part.vo.InventoryPartUnitCostSumVo;
import ifs.fnd.ap.APException;
import ifs.fnd.ap.RecordCollection;
@ -414,4 +416,73 @@ public class BaseSearchApiTest {
}
}
/**
* @description: 加工中心成本
* @author LR
* @date 2025/2/10 15:17
* @version 1.0
*/
public static List<WorkCenterCost> getWorkCenterCosts(Server srv, String siteCon, String ifsRowVersion, int startIndex, int pageSize) throws APException {
StringBuilder searchSql = new StringBuilder();
searchSql.append("SELECT OBJID ifsRowId, OBJVERSION ifsRowVersion, CONTRACT, WORK_CENTER_NO,");
searchSql.append(" ifsapp.WORK_CENTER_API.Get_Description(CONTRACT, WORK_CENTER_NO) workCenterDesc,");
searchSql.append(" COST_SET, ifsapp.COST_SET_API.Get_Description(CONTRACT,COST_SET) costSetDesc, WC_RATE, WC_COST_CODE,");
searchSql.append(" OVERHEAD1_FAC, OVERHEAD1_APPL, OVERHEAD2_FAC, OVERHEAD2_APPL,");
searchSql.append(" to_char(START_DATE, 'yyyy-MM-dd') START_DATE, to_char(END_DATE, 'yyyy-MM-dd') END_DATE");
searchSql.append(" FROM ifsapp.WORK_CENTER_COST");
searchSql.append(" WHERE ifsapp.Work_Center_API.Get_Work_Center_Code_Db(contract, work_center_no) = 'I'");
//设置查询的入参
Map<String, String> inParam = new HashMap<>();
//判断是否存在入参
if ((ifsRowVersion == null || "".equals(ifsRowVersion))){
searchSql.append(" AND OBJVERSION >= :ifsRowVersion");
inParam.put("ifsRowVersion", ifsRowVersion);
}
//添加排序语句
searchSql.append(" ORDER BY OBJVERSION, CONTRACT, WORK_CENTER_NO");
//添加分页的查询语句
searchSql.append(" OFFSET "+startIndex+" ROWS FETCH NEXT "+pageSize+" ROWS ONLY");
//调用查询的通用方法
RecordCollection recordCollection = IfsPlsqlUtils.execSqlSearchGetRecordCollection(srv, searchSql, inParam);
//判断能否返回
if (recordCollection == null) {
return new ArrayList<>();
} else {
List<WorkCenterCost> technicalAttributes = new ArrayList<>();
//处理结果集
List<Map<String, String>> resultList = IfsConverterToMap.ConverterIfsToList(recordCollection);
//获取数据转bean
for (int i = 0; i < resultList.size(); i++) {
Map<String, String> tempMap = resultList.get(i);
WorkCenterCost tempItem = new WorkCenterCost();
//设置参数
tempItem.setIfsRowId(tempMap.get("IFSROWID"));
tempItem.setIfsRowVersion(tempMap.get("IFSROWVERSION"));
tempItem.setSite(tempMap.get("CONTRACT"));
tempItem.setWorkCenterNo(tempMap.get("WORK_CENTER_NO"));
tempItem.setWorkCenterDesc(tempMap.get("WORKCENTERDESC"));
tempItem.setCostSet(tempMap.get("COST_SET"));
tempItem.setCostSetDesc(tempMap.get("COSTSETDESC"));
tempItem.setWcCostCode(tempMap.get("WC_COST_CODE"));
tempItem.setOverhead1Fac(tempMap.get("OVERHEAD1_FAC"));
tempItem.setOverhead2Fac(tempMap.get("OVERHEAD2_FAC"));
tempItem.setOverhead1Appl(tempMap.get("OVERHEAD1_APPL"));
tempItem.setOverhead2Appl(tempMap.get("OVERHEAD2_APPL"));
String startDate = tempMap.get("START_DATE");
if (!(null == startDate || "".equals(startDate))){
tempItem.setBeginDate(DateUtils.getStringToDate(startDate, "yyyy-MM-dd"));
}
String endDate = tempMap.get("END_DATE");
if (!(null == endDate || "".equals(endDate))) {
tempItem.setEndDate(DateUtils.getStringToDate(endDate, "yyyy-MM-dd"));
}
//添加对象
technicalAttributes.add(tempItem);
}
return technicalAttributes;
}
}
}

29
src/main/java/com/spring/ifs/bean/BaseSearchBean.java

@ -5,6 +5,7 @@ import com.spring.ifs.api.BaseSearchApi;
import com.spring.ifs.api.IfsServer;
import com.spring.ifs.api.TechnicalClassApi;
import com.spring.ifs.data.*;
import com.spring.modules.base.entity.WorkCenterCost;
import com.spring.modules.base.vo.PersonnelLevelVo;
import com.spring.modules.part.entity.PartInformationEntity;
import com.spring.modules.part.vo.InventoryPartUnitCostSumVo;
@ -214,4 +215,32 @@ public class BaseSearchBean {
return returnMap;
}
/**
* @description: 查询加工中心成本
* @author LR
* @date 2025/1/17 13:20
* @version 1.0
*/
public List<WorkCenterCost> getWorkCenterCosts(Server srv, BaseSearchData inData) throws APException {
//查询的参数
String siteCon = inData.getSiteCon();
String ifsRowVersion = inData.getIfsRowVersion();
logger.info("加工中心成本的请求参数:"+siteCon);
List<WorkCenterCost> resultList = new ArrayList<>();
int pageSize = 200;
//迭代查询
for(int i = 0; i < 10; i++){
int startIndex = i * pageSize;
List<WorkCenterCost> tempList = BaseSearchApi.getWorkCenterCosts(srv, siteCon, ifsRowVersion, startIndex, pageSize);
//判断查询是否结束
if(tempList.size() > 0) {
resultList.addAll(tempList);
}else {
break;
}
}
logger.info("返回集合大小:"+resultList.size());
return resultList;
}
}

39
src/main/java/com/spring/ifs/bean/BaseSearchBeanTest.java

@ -1,13 +1,18 @@
package com.spring.ifs.bean;
import com.spring.common.utils.DateUtils;
import com.spring.ifs.api.BaseSearchApi;
import com.spring.ifs.api.BaseSearchApiTest;
import com.spring.ifs.api.IfsServer;
import com.spring.ifs.api.TechnicalClassApi;
import com.spring.ifs.data.*;
import com.spring.ifs.utils.IfsConverterToMap;
import com.spring.ifs.utils.IfsPlsqlUtils;
import com.spring.modules.base.entity.WorkCenterCost;
import com.spring.modules.part.entity.PartInformationEntity;
import com.spring.modules.part.vo.InventoryPartUnitCostSumVo;
import ifs.fnd.ap.APException;
import ifs.fnd.ap.RecordCollection;
import ifs.fnd.ap.Server;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -15,6 +20,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@ -209,4 +215,37 @@ public class BaseSearchBeanTest {
List<TechnicalAttribute> resultList = BaseSearchApi.getTechnicalAttributesByCon(srv, technicalSpecNo);
return resultList;
}
/**
* @description: 查询加工中心成本
* @author LR
* @date 2025/1/17 13:20
* @version 1.0
*/
public List<WorkCenterCost> getWorkCenterCosts(BaseSearchData inData) throws APException {
//查询的参数
String username = inData.getIfsUsername();
String password = inData.getIfsPassword();
String siteCon = inData.getSiteCon();
String ifsRowVersion = inData.getIfsRowVersion();
logger.info("加工中心成本的请求参数:"+siteCon);
List<WorkCenterCost> resultList = new ArrayList<>();
int pageSize = 200;
//获取连接
Server srv = ifsServer.getIfsServer(username, password);
//迭代查询
for(int i = 0; i < 10; i++){
int startIndex = i * pageSize;
List<WorkCenterCost> tempList = BaseSearchApi.getWorkCenterCosts(srv, siteCon, ifsRowVersion, startIndex, pageSize);
//判断查询是否结束
if(tempList.size() > 0) {
resultList.addAll(tempList);
}else {
break;
}
}
logger.info("返回集合大小:"+resultList.size());
return resultList;
}
}

16
src/main/java/com/spring/ifs/controller/TestIfsController.java

@ -2,6 +2,7 @@ package com.spring.ifs.controller;
import com.spring.ifs.bean.*;
import com.spring.ifs.data.*;
import com.spring.modules.base.entity.WorkCenterCost;
import com.spring.modules.part.entity.APIEntity.RecipeIfsAlternative;
import com.spring.modules.part.entity.APIEntity.RecipeIfsHeader;
import com.spring.modules.part.entity.APIEntity.RecipeIfsItem;
@ -2082,4 +2083,19 @@ public class TestIfsController {
return resultMap;
}
@PostMapping("/getWorkCenterCosts")
public Object getWorkCenterCosts(@RequestBody BaseSearchData inData) throws APException {
Map<String, Object> resultMap = new HashMap<String, Object>();
try {
List<WorkCenterCost> returnList = baseSearchBeanTest.getWorkCenterCosts(inData);
resultMap.put("returnMap", returnList);
resultMap.put("code", 200);
resultMap.put("msg", "操作成功!");
} catch (Exception e) {
resultMap.put("code", 400);
resultMap.put("msg", e.getMessage());
}
return resultMap;
}
}

11
src/main/java/com/spring/modules/base/entity/WorkCenterCost.java

@ -49,4 +49,15 @@ public class WorkCenterCost implements Serializable {
@TableField(exist = false)
private String active;
private String ifsRowId;
private String ifsRowVersion;
private String costSet;
private String costSetDesc;
private String wcRate;
private String wcCostCode;
private String overhead1Fac;
private String overhead2Fac;
private String overhead1Appl;
private String overhead2Appl;
}
Loading…
Cancel
Save