| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- package com.uas.eis.service.Impl;
- import com.uas.eis.core.config.SpObserver;
- import com.uas.eis.dao.*;
- import com.uas.eis.sdk.dto.*;
- import com.uas.eis.beans.result.Result;
- import com.uas.eis.service.ERPService;
- import com.uas.eis.utils.BaseUtil;
- import com.uas.eis.utils.CollectionUtil;
- import com.uas.eis.utils.StringUtil;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.jdbc.core.BeanPropertyRowMapper;
- import org.springframework.stereotype.Service;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- /**
- * @author wuyx
- * @email wuyx@usoftchina.com
- * @date 2025-04-25
- */
- @Service
- public class ERPServiceImpl implements ERPService {
- private final Logger logger = LoggerFactory.getLogger(this.getClass());
- @Autowired
- private BaseDao baseDao;
- @Override
- public Map<String,Object> getList(QueryReq queryReq,String ev) {
- Map<String,Object> resMap = new HashMap<>();
- if(!"prod".equals(ev)){
- SpObserver.putSp("N_DGMT_TEST");
- }
- String formId = queryReq.getFormId(); //表单名称
- String fieldKeys = queryReq.getFieldKeys(); //字段名
- String filterString = queryReq.getFilterString(); //字段名
- String orderString = queryReq.getOrderString(); //排序条件
- Integer topRowCount = queryReq.getTopRowCount(); //返回记录行数,0 不限制
- Integer page = queryReq.getStartRow(); //起始行数(分页显示用) 0 默认从第一行记录
- Integer pageSize = queryReq.getLimit(); //最多行数 默认2000
- page = (page == 0) ? 1 : page;
- pageSize = (pageSize == 0) ? 2000 : pageSize;
- int start = ((page - 1) * pageSize + 1);
- int end = page * pageSize;
- List<Map<String, Object>> dataList = new ArrayList<>();
- resMap.put("Data",dataList);
- if(!StringUtil.hasText(formId)){
- resMap.put("Code","1001");
- resMap.put("Msg","请传入FormId");
- return resMap;
- }
- String sql_ = baseDao.queryForObject("select max(sql_) from MES_QUERYSQL_CONFIG WHERE FORMID ='"+formId+"'",String.class);
- if(!StringUtil.hasText(sql_)){
- resMap.put("Code","1002");
- resMap.put("Msg","请传入正确FormId。");
- return resMap;
- }
- sql_= "SELECT "+(StringUtil.hasText(fieldKeys) ? fieldKeys:"*")+" from "+sql_ ;
- if(StringUtil.hasText(filterString)){
- sql_ = sql_+" where "+ filterString;
- }
- if(StringUtil.hasText(orderString)){
- sql_ = sql_+" order by "+ orderString;
- }
- StringBuffer querySql = new StringBuffer("select * from (select TT.*, ROWNUM rn from ( ");
- querySql.append(sql_);
- querySql.append(" )TT where ROWNUM <= ");
- querySql.append(end);
- querySql.append(") where rn >= ");
- querySql.append(start);
- try{
- dataList = baseDao.queryForList(querySql.toString());
- } catch (Exception exception){
- logger.info("querySql:查询有误!请检查传入筛选字段或条件是否有误. {}",querySql.toString());
- // exception.printStackTrace();
- resMap.put("Code","1003");
- resMap.put("Msg","查询有误!请检查传入筛选字段或条件是否有误.");
- return resMap;
- }
- if(dataList.size() == 0){
- resMap.put("Code","1004");
- resMap.put("Msg","查询数据不存在.");
- return resMap;
- }
- resMap.put("Data",dataList);
- resMap.put("Code","200");
- resMap.put("Msg","OK");
- return resMap;
- }
- }
|