Browse Source

技术等级成本查询 添加site的作为查询条件

master
Rui_Li 1 year ago
parent
commit
898c77bde0
  1. 46
      src/main/java/com/spring/ifs/api/BaseSearchApi.java
  2. 54
      src/main/java/com/spring/ifs/api/BaseSearchApiTest.java
  3. 6
      src/main/java/com/spring/ifs/bean/BaseSearchBean.java
  4. 8
      src/main/java/com/spring/ifs/bean/BaseSearchBeanTest.java
  5. 5
      src/main/java/com/spring/ifs/controller/TestIfsController.java

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

@ -626,22 +626,26 @@ public class BaseSearchApi {
* @date 2025/5/6 11:58
* @version 1.0
*/
public static List<LaborClassCost> getLaborClassCosts(Server srv, String siteCon, int startIndex, int pageSize) throws APException {
public static List<PersonnelLevelVo> getLaborClassCosts(Server srv, String siteCon, 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");
searchSql.append("SELECT lcc.OBJID ifsRowId, lcc.OBJVERSION ifsRowVersion, lcc.CONTRACT, lcc.LABOR_CLASS_NO,");
searchSql.append(" ifsapp.LABOR_CLASS_API.Get_labor_class_Description(lcc.CONTRACT, lcc.LABOR_CLASS_NO) laborClassDesc,");
searchSql.append(" lcc.COST_SET, ifsapp.COST_SET_API.Get_Description(lcc.CONTRACT,lcc.COST_SET) costSetDesc,");
searchSql.append(" lcc.labor_class_RATE, lcc.labor_class_COST_CODE,");
searchSql.append(" to_char(lcc.START_DATE, 'yyyy-MM-dd') START_DATE, to_char(lcc.END_DATE, 'yyyy-MM-dd') END_DATE,");
searchSql.append(" (CASE WHEN lc.objstate = 'Active' THEN 'Y' ELSE 'N' END) active");
searchSql.append(" FROM ifsapp.LABOR_CLASS_COST lcc");
searchSql.append(" LEFT JOIN ifsapp.labor_class lc ON lc.CONTRACT = lcc.CONTRACT AND lc.LABOR_CLASS_NO = lcc.LABOR_CLASS_NO");
searchSql.append(" WHERE lcc.COST_SET = '1' AND lcc.END_DATE IS NULL");
//添加判断的查询条件
if(!(null == siteCon || "".equals(siteCon))) {
searchSql.append(" AND pcs.contract IN "+siteCon);
searchSql.append(" AND lcc.contract IN "+siteCon);
}
//设置查询的入参
Map<String, String> inParam = new HashMap<>();
//添加排序语句
searchSql.append(" ORDER BY CONTRACT, LABOR_CLASS_NO");
searchSql.append(" ORDER BY lcc.CONTRACT, lcc.LABOR_CLASS_NO");
//添加分页的查询语句
searchSql.append(" OFFSET "+startIndex+" ROWS FETCH NEXT "+pageSize+" ROWS ONLY");
logger.info("人员等级成本查询语句sql"+searchSql.toString());
@ -651,25 +655,25 @@ public class BaseSearchApi {
if (recordCollection == null) {
return new ArrayList<>();
} else {
List<LaborClassCost> returnlList = new ArrayList<>();
List<PersonnelLevelVo> returnlList = 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);
LaborClassCost tempItem = new LaborClassCost();
PersonnelLevelVo tempItem = new PersonnelLevelVo();
//设置参数
tempItem.setIfsRowId(tempMap.get("IFSROWID"));
//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"));
tempItem.setSite(tempMap.get("CONTRACT"));
tempItem.setLevelId(tempMap.get("LABOR_CLASS_NO"));
tempItem.setLevelDesc(tempMap.get("LABORCLASSDESC"));
tempItem.setActive(tempMap.get("ACTIVE"));
tempItem.setCreateDate(DateUtils.getStringToDate(tempMap.get("START_DATE"), "yyyy-MM-dd"));
tempItem.setCreateBy(tempMap.get("Admin"));
tempItem.setUpdateDate(null); // 从tempMap获取值
tempItem.setUpdateBy(tempMap.get("UPDATE_BY")); // 从tempMap获取值
tempItem.setLevelCost(new BigDecimal(tempMap.get("LABOR_CLASS_RATE")));
//添加对象
returnlList.add(tempItem);
}

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

@ -6,6 +6,7 @@ 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.entity.APIEntity.PartIfsInventory;
import com.spring.modules.part.vo.InventoryPartUnitCostSumVo;
import ifs.fnd.ap.APException;
@ -14,6 +15,7 @@ import ifs.fnd.ap.Server;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@ -582,46 +584,54 @@ public class BaseSearchApiTest {
* @date 2025/5/6 11:58
* @version 1.0
*/
public static List<LaborClassCost> getLaborClassCosts(Server srv, int startIndex, int pageSize) throws APException {
public static List<PersonnelLevelVo> getLaborClassCosts(Server srv, String siteCon, 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");
searchSql.append("SELECT lcc.OBJID ifsRowId, lcc.OBJVERSION ifsRowVersion, lcc.CONTRACT, lcc.LABOR_CLASS_NO,");
searchSql.append(" ifsapp.LABOR_CLASS_API.Get_labor_class_Description(lcc.CONTRACT, lcc.LABOR_CLASS_NO) laborClassDesc,");
searchSql.append(" lcc.COST_SET, ifsapp.COST_SET_API.Get_Description(lcc.CONTRACT,lcc.COST_SET) costSetDesc,");
searchSql.append(" lcc.labor_class_RATE, lcc.labor_class_COST_CODE,");
searchSql.append(" to_char(lcc.START_DATE, 'yyyy-MM-dd') START_DATE, to_char(lcc.END_DATE, 'yyyy-MM-dd') END_DATE,");
searchSql.append(" (CASE WHEN lc.objstate = 'Active' THEN 'Y' ELSE 'N' END) active");
searchSql.append(" FROM ifsapp.LABOR_CLASS_COST lcc");
searchSql.append(" LEFT JOIN ifsapp.labor_class lc ON lc.CONTRACT = lcc.CONTRACT AND lc.LABOR_CLASS_NO = lcc.LABOR_CLASS_NO");
searchSql.append(" WHERE lcc.COST_SET = '1' AND lcc.END_DATE IS NULL");
//添加判断的查询条件
if (!(null == siteCon || "".equals(siteCon))) {
searchSql.append(" AND lcc.contract IN " + siteCon);
}
//设置查询的入参
Map<String, String> inParam = new HashMap<>();
//添加排序语句
searchSql.append(" ORDER BY CONTRACT, LABOR_CLASS_NO");
searchSql.append(" ORDER BY lcc.CONTRACT, lcc.LABOR_CLASS_NO");
//添加分页的查询语句
searchSql.append(" OFFSET "+startIndex+" ROWS FETCH NEXT "+pageSize+" ROWS ONLY");
logger.info("人员等级成本查询语句sql"+searchSql.toString());
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<LaborClassCost> returnlList = new ArrayList<>();
List<PersonnelLevelVo> returnlList = 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);
LaborClassCost tempItem = new LaborClassCost();
PersonnelLevelVo tempItem = new PersonnelLevelVo();
//设置参数
tempItem.setIfsRowId(tempMap.get("IFSROWID"));
//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"));
tempItem.setSite(tempMap.get("CONTRACT"));
tempItem.setLevelId(tempMap.get("LABOR_CLASS_NO"));
tempItem.setLevelDesc(tempMap.get("LABORCLASSDESC"));
tempItem.setActive(tempMap.get("ACTIVE"));
tempItem.setCreateDate(DateUtils.getStringToDate(tempMap.get("START_DATE"), "yyyy-MM-dd"));
tempItem.setCreateBy(tempMap.get("Admin"));
tempItem.setUpdateDate(null); // 从tempMap获取值
tempItem.setUpdateBy(tempMap.get("UPDATE_BY")); // 从tempMap获取值
tempItem.setLevelCost(new BigDecimal(tempMap.get("LABOR_CLASS_RATE")));
//添加对象
returnlList.add(tempItem);
}

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

@ -277,16 +277,16 @@ public class BaseSearchBean {
* @date 2025/5/6 11:55
* @version 1.0
*/
public List<LaborClassCost> getLaborClassCosts(Server srv, BaseSearchData inData) throws APException {
public List<PersonnelLevelVo> getLaborClassCosts(Server srv, BaseSearchData inData) throws APException {
//查询的参数
logger.info("人员等级成本开始查询!");
String siteCon = inData.getSiteCon();
List<LaborClassCost> resultList = new ArrayList<>();
List<PersonnelLevelVo> resultList = new ArrayList<>();
int pageSize = 200;
//迭代查询
for(int i = 0; i < 100; i++){
int startIndex = i * pageSize;
List<LaborClassCost> tempList = BaseSearchApi.getLaborClassCosts(srv, siteCon, startIndex, pageSize);
List<PersonnelLevelVo> tempList = BaseSearchApi.getLaborClassCosts(srv, siteCon, startIndex, pageSize);
//判断查询是否结束
if(tempList.size() > 0) {
resultList.addAll(tempList);

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

@ -9,6 +9,7 @@ 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.entity.APIEntity.PartIfsInventory;
import com.spring.modules.part.entity.PartInformationEntity;
import com.spring.modules.part.vo.InventoryPartUnitCostSumVo;
@ -286,19 +287,20 @@ public class BaseSearchBeanTest {
* @date 2025/5/6 11:55
* @version 1.0
*/
public List<LaborClassCost> getLaborClassCosts(BaseSearchData inData) throws APException {
public List<PersonnelLevelVo> getLaborClassCosts(BaseSearchData inData) throws APException {
//查询的参数
logger.info("人员等级成本开始查询!");
String username = inData.getIfsUsername();
String password = inData.getIfsPassword();
List<LaborClassCost> resultList = new ArrayList<>();
String siteCon = inData.getSiteCon();
List<PersonnelLevelVo> 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<LaborClassCost> tempList = BaseSearchApi.getLaborClassCosts(srv, startIndex, pageSize);
List<PersonnelLevelVo> tempList = BaseSearchApi.getLaborClassCosts(srv, siteCon, startIndex, pageSize);
//判断查询是否结束
if(tempList.size() > 0) {
resultList.addAll(tempList);

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

@ -3,6 +3,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.base.vo.PersonnelLevelVo;
import com.spring.modules.part.entity.APIEntity.PartIfsInventory;
import com.spring.modules.part.entity.APIEntity.RecipeIfsAlternative;
import com.spring.modules.part.entity.APIEntity.RecipeIfsHeader;
@ -2095,6 +2096,7 @@ public class TestIfsController {
try {
List<WorkCenterCost> returnList = baseSearchBeanTest.getWorkCenterCosts(inData);
resultMap.put("returnMap", returnList);
resultMap.put("total", returnList.size());
resultMap.put("code", 200);
resultMap.put("msg", "操作成功!");
} catch (Exception e) {
@ -2135,8 +2137,9 @@ public class TestIfsController {
public Object getLaborClassCosts(@RequestBody BaseSearchData inData) throws APException {
Map<String, Object> resultMap = new HashMap<String, Object>();
try {
List<LaborClassCost> returnList = baseSearchBeanTest.getLaborClassCosts(inData);
List<PersonnelLevelVo> returnList = baseSearchBeanTest.getLaborClassCosts(inData);
resultMap.put("returnMap", returnList);
resultMap.put("total", returnList.size());
resultMap.put("code", 200);
resultMap.put("msg", "操作成功!");
} catch (Exception e) {

Loading…
Cancel
Save