diff --git a/src/main/java/com/spring/ifs/api/BaseSearchApi.java b/src/main/java/com/spring/ifs/api/BaseSearchApi.java index 528253c4..0ddae255 100644 --- a/src/main/java/com/spring/ifs/api/BaseSearchApi.java +++ b/src/main/java/com/spring/ifs/api/BaseSearchApi.java @@ -619,4 +619,57 @@ public class BaseSearchApi { return returnlList; } } + + /** + * @description: 查询人员等级成本 + * @author LR + * @date 2025/5/6 11:58 + * @version 1.0 + */ + public static List getLaborClassCosts(Server srv, int startIndex, int pageSize) throws APException { + StringBuilder searchSql = new StringBuilder(); + searchSql.append("SELECT OBJID ifsRowId, OBJVERSION ifsRowVersion, CONTRACT, LABOR_CLASS_NO,"); + searchSql.append(" ifsapp.LABOR_CLASS_API.Get_labor_class_Description(CONTRACT, LABOR_CLASS_NO) laborClassDesc,"); + searchSql.append(" COST_SET, ifsapp.COST_SET_API.Get_Description(CONTRACT,COST_SET) costSetDesc, labor_class_RATE, labor_class_COST_CODE,"); + searchSql.append(" to_char(START_DATE, 'yyyy-MM-dd') START_DATE, to_char(END_DATE, 'yyyy-MM-dd') END_DATE"); + searchSql.append(" FROM ifsapp.LABOR_CLASS_COST"); + searchSql.append(" WHERE COST_SET = '1' AND END_DATE IS NULL"); + //设置查询的入参 + Map inParam = new HashMap<>(); + //添加排序语句 + searchSql.append(" ORDER BY CONTRACT, LABOR_CLASS_NO"); + //添加分页的查询语句 + searchSql.append(" OFFSET "+startIndex+" ROWS FETCH NEXT "+pageSize+" ROWS ONLY"); + logger.info("人员等级成本查询语句sql"+searchSql.toString()); + //调用查询的通用方法 + RecordCollection recordCollection = IfsPlsqlUtils.execSqlSearchGetRecordCollection(srv, searchSql, inParam); + //判断能否返回 + if (recordCollection == null) { + return new ArrayList<>(); + } else { + List returnlList = new ArrayList<>(); + //处理结果集 + List> resultList = IfsConverterToMap.ConverterIfsToList(recordCollection); + //获取数据转bean + for (int i = 0; i < resultList.size(); i++) { + Map tempMap = resultList.get(i); + LaborClassCost tempItem = new LaborClassCost(); + //设置参数 + tempItem.setIfsRowId(tempMap.get("IFSROWID")); + tempItem.setIfsRowVersion(tempMap.get("IFSROWVERSION")); + tempItem.setContract(tempMap.get("CONTRACT")); + tempItem.setLaborClassNo(tempMap.get("LABOR_CLASS_NO")); + tempItem.setLaborClassDesc(tempMap.get("LABORCLASSDESC")); + tempItem.setCostSet(tempMap.get("COST_SET")); + tempItem.setCostSetDesc(tempMap.get("COSTSETDESC")); + tempItem.setLaborClassRate(tempMap.get("LABOR_CLASS_RATE")); + tempItem.setLaborClassCostCode(tempMap.get("LABOR_CLASS_COST_CODE")); + tempItem.setStartDate(tempMap.get("START_DATE")); + tempItem.setEndDate(tempMap.get("END_DATE")); + //添加对象 + returnlList.add(tempItem); + } + return returnlList; + } + } } diff --git a/src/main/java/com/spring/ifs/api/BaseSearchApiTest.java b/src/main/java/com/spring/ifs/api/BaseSearchApiTest.java index 5cb5e92f..81ea04b0 100644 --- a/src/main/java/com/spring/ifs/api/BaseSearchApiTest.java +++ b/src/main/java/com/spring/ifs/api/BaseSearchApiTest.java @@ -1,6 +1,7 @@ package com.spring.ifs.api; import com.spring.common.utils.DateUtils; +import com.spring.ifs.bean.BaseSearchBean; import com.spring.ifs.data.*; import com.spring.ifs.utils.IfsConverterToMap; import com.spring.ifs.utils.IfsPlsqlUtils; @@ -10,6 +11,8 @@ 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; import java.util.ArrayList; import java.util.HashMap; @@ -24,6 +27,9 @@ import java.util.Map; */ public class BaseSearchApiTest { + private static final Logger logger = LoggerFactory.getLogger(BaseSearchApiTest.class); + + /** * @description: 查询IFS的加工中心 * @author LR @@ -570,4 +576,57 @@ public class BaseSearchApiTest { } } + /** + * @description: 查询人员等级成本 + * @author LR + * @date 2025/5/6 11:58 + * @version 1.0 + */ + public static List getLaborClassCosts(Server srv, int startIndex, int pageSize) throws APException { + StringBuilder searchSql = new StringBuilder(); + searchSql.append("SELECT OBJID ifsRowId, OBJVERSION ifsRowVersion, CONTRACT, LABOR_CLASS_NO,"); + searchSql.append(" ifsapp.LABOR_CLASS_API.Get_labor_class_Description(CONTRACT, LABOR_CLASS_NO) laborClassDesc,"); + searchSql.append(" COST_SET, ifsapp.COST_SET_API.Get_Description(CONTRACT,COST_SET) costSetDesc, labor_class_RATE, labor_class_COST_CODE,"); + searchSql.append(" to_char(START_DATE, 'yyyy-MM-dd') START_DATE, to_char(END_DATE, 'yyyy-MM-dd') END_DATE"); + searchSql.append(" FROM ifsapp.LABOR_CLASS_COST"); + searchSql.append(" WHERE COST_SET = '1' AND END_DATE IS NULL"); + //设置查询的入参 + Map inParam = new HashMap<>(); + //添加排序语句 + searchSql.append(" ORDER BY CONTRACT, LABOR_CLASS_NO"); + //添加分页的查询语句 + searchSql.append(" OFFSET "+startIndex+" ROWS FETCH NEXT "+pageSize+" ROWS ONLY"); + logger.info("人员等级成本查询语句sql"+searchSql.toString()); + //调用查询的通用方法 + RecordCollection recordCollection = IfsPlsqlUtils.execSqlSearchGetRecordCollection(srv, searchSql, inParam); + //判断能否返回 + if (recordCollection == null) { + return new ArrayList<>(); + } else { + List returnlList = new ArrayList<>(); + //处理结果集 + List> resultList = IfsConverterToMap.ConverterIfsToList(recordCollection); + //获取数据转bean + for (int i = 0; i < resultList.size(); i++) { + Map tempMap = resultList.get(i); + LaborClassCost tempItem = new LaborClassCost(); + //设置参数 + tempItem.setIfsRowId(tempMap.get("IFSROWID")); + tempItem.setIfsRowVersion(tempMap.get("IFSROWVERSION")); + tempItem.setContract(tempMap.get("CONTRACT")); + tempItem.setLaborClassNo(tempMap.get("LABOR_CLASS_NO")); + tempItem.setLaborClassDesc(tempMap.get("LABORCLASSDESC")); + tempItem.setCostSet(tempMap.get("COST_SET")); + tempItem.setCostSetDesc(tempMap.get("COSTSETDESC")); + tempItem.setLaborClassRate(tempMap.get("LABOR_CLASS_RATE")); + tempItem.setLaborClassCostCode(tempMap.get("LABOR_CLASS_COST_CODE")); + tempItem.setStartDate(tempMap.get("START_DATE")); + tempItem.setEndDate(tempMap.get("END_DATE")); + //添加对象 + returnlList.add(tempItem); + } + return returnlList; + } + } + } \ No newline at end of file diff --git a/src/main/java/com/spring/ifs/bean/BaseSearchBean.java b/src/main/java/com/spring/ifs/bean/BaseSearchBean.java index c19ef6f3..9ca691a5 100644 --- a/src/main/java/com/spring/ifs/bean/BaseSearchBean.java +++ b/src/main/java/com/spring/ifs/bean/BaseSearchBean.java @@ -271,4 +271,30 @@ public class BaseSearchBean { return resultList; } + /** + * @description: 查询人员等级成本 + * @author LR + * @date 2025/5/6 11:55 + * @version 1.0 + */ + public List getLaborClassCosts(Server srv, BaseSearchData inData) throws APException { + //查询的参数 + logger.info("人员等级成本开始查询!"); + List resultList = new ArrayList<>(); + int pageSize = 200; + //迭代查询 + for(int i = 0; i < 100; i++){ + int startIndex = i * pageSize; + List tempList = BaseSearchApi.getLaborClassCosts(srv, startIndex, pageSize); + //判断查询是否结束 + if(tempList.size() > 0) { + resultList.addAll(tempList); + }else { + break; + } + } + logger.info("人员等级成本结束查询,返回集合大小:"+resultList.size()); + return resultList; + } + } diff --git a/src/main/java/com/spring/ifs/bean/BaseSearchBeanTest.java b/src/main/java/com/spring/ifs/bean/BaseSearchBeanTest.java index b99955b6..2db15bb1 100644 --- a/src/main/java/com/spring/ifs/bean/BaseSearchBeanTest.java +++ b/src/main/java/com/spring/ifs/bean/BaseSearchBeanTest.java @@ -280,4 +280,37 @@ public class BaseSearchBeanTest { return resultList; } + /** + * @description: 查询人员等级成本 + * @author LR + * @date 2025/5/6 11:55 + * @version 1.0 + */ + public List getLaborClassCosts(BaseSearchData inData) throws APException { + //查询的参数 + logger.info("人员等级成本开始查询!"); + String username = inData.getIfsUsername(); + String password = inData.getIfsPassword(); + List resultList = new ArrayList<>(); + int pageSize = 200; + try { + Server srv = ifsServer.getIfsServer(username, password); + //迭代查询 + for(int i = 0; i < 100; i++){ + int startIndex = i * pageSize; + List tempList = BaseSearchApi.getLaborClassCosts(srv, startIndex, pageSize); + //判断查询是否结束 + if(tempList.size() > 0) { + resultList.addAll(tempList); + }else { + break; + } + } + } catch (APException e){ + throw new APException("异常信息:"+e.getMessage()); + } + logger.info("人员等级成本结束查询,返回集合大小:"+resultList.size()); + return resultList; + } + } \ No newline at end of file diff --git a/src/main/java/com/spring/ifs/data/LaborClassCost.java b/src/main/java/com/spring/ifs/data/LaborClassCost.java new file mode 100644 index 00000000..3922b95f --- /dev/null +++ b/src/main/java/com/spring/ifs/data/LaborClassCost.java @@ -0,0 +1,113 @@ +package com.spring.ifs.data; + +/** + * @author LR + * @version 1.0 + * @description: 人员等级成本 + * @date 2025/5/6 11:44 + */ +public class LaborClassCost { + private String contract; + private String laborClassNo; + private String laborClassDesc; + private String costSet; + private String costSetDesc; + private String laborClassRate; + private String laborClassCostCode; + private String startDate; + private String endDate; + private String ifsRowId; + private String ifsRowVersion; + + public LaborClassCost() { + super(); + } + + public String getContract() { + return contract; + } + + public void setContract(String contract) { + this.contract = contract; + } + + public String getLaborClassNo() { + return laborClassNo; + } + + public void setLaborClassNo(String laborClassNo) { + this.laborClassNo = laborClassNo; + } + + public String getLaborClassDesc() { + return laborClassDesc; + } + + public void setLaborClassDesc(String laborClassDesc) { + this.laborClassDesc = laborClassDesc; + } + + public String getCostSet() { + return costSet; + } + + public void setCostSet(String costSet) { + this.costSet = costSet; + } + + public String getCostSetDesc() { + return costSetDesc; + } + + public void setCostSetDesc(String costSetDesc) { + this.costSetDesc = costSetDesc; + } + + public String getLaborClassRate() { + return laborClassRate; + } + + public void setLaborClassRate(String laborClassRate) { + this.laborClassRate = laborClassRate; + } + + public String getLaborClassCostCode() { + return laborClassCostCode; + } + + public void setLaborClassCostCode(String laborClassCostCode) { + this.laborClassCostCode = laborClassCostCode; + } + + public String getStartDate() { + return startDate; + } + + public void setStartDate(String startDate) { + this.startDate = startDate; + } + + public String getEndDate() { + return endDate; + } + + public void setEndDate(String endDate) { + this.endDate = endDate; + } + + public String getIfsRowId() { + return ifsRowId; + } + + public void setIfsRowId(String ifsRowId) { + this.ifsRowId = ifsRowId; + } + + public String getIfsRowVersion() { + return ifsRowVersion; + } + + public void setIfsRowVersion(String ifsRowVersion) { + this.ifsRowVersion = ifsRowVersion; + } +}