This commit is contained in:
tangw 2026-06-02 16:49:22 +08:00
parent 3d59678db6
commit 4c2b72619f
5 changed files with 119 additions and 0 deletions

View File

@ -0,0 +1,25 @@
package com.czlis.liswork.controller.stats;
import com.czlis.common.core.controller.BaseController;
import com.czlis.common.core.domain.Result;
import com.czlis.liswork.service.NcisService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/ncis")
@Api(tags = "质量统计")
@Slf4j
public class NcisController extends BaseController{
@Autowired
private NcisService ncisService;
@ApiOperation("质量汇总查询")
@GetMapping(value = "/query")
public Result getTemplate(String querytype,String querydate,String yljg) {
return ncisService.query(querytype,querydate,yljg);
}
}

View File

@ -1,8 +1,11 @@
package com.czlis.liswork.mapper.stats;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
public interface StatsMapper {
List<Map<String,Object>> getsqldata(String wheresql);
List<Map<String,Object>> queryncis(@Param("tablename") String tablename,@Param("years") String years,@Param("yljg") String yljg);
}

View File

@ -0,0 +1,8 @@
package com.czlis.liswork.service;
import com.czlis.common.core.domain.Result;
public interface NcisService {
Result query(String querytype,String querydate,String yljg);
}

View File

@ -0,0 +1,80 @@
package com.czlis.liswork.service.impl.stats;
import com.czlis.common.core.domain.Result;
import com.czlis.common.core.domain.entity.lis.ComStatsParameter;
import com.czlis.common.core.domain.entity.lis.ComStatsTemplate;
import com.czlis.common.utils.StringUtils;
import com.czlis.interfaceCommon.utils.CalcUtils;
import com.czlis.interfaceCommon.utils.LisUtil;
import com.czlis.interfaceCommon.utils.LisWorkUtils;
import com.czlis.liswork.mapper.stats.StatsMapper;
import com.czlis.liswork.mapper.xtwh.ComStatsParameterMapper;
import com.czlis.liswork.mapper.xtwh.ComStatsTemplateMapper;
import com.czlis.liswork.service.NcisService;
import com.czlis.liswork.service.StatsService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.*;
import java.util.stream.Collectors;
@Service
@Slf4j
public class NcisServiceImpl implements NcisService {
@Autowired
StatsMapper statsMapper;
@Override
public Result query(String querytype,String querydate,String yljg){
if(querytype==null||"".equals(querytype))return new Result("-1","入参为空");
if(querydate==null||"".equals(querydate))return new Result("-1","入参为空");
if(yljg==null||"".equals(yljg))return new Result("-1","入参为空");
String tablename="v_zkhz_year";
switch (querytype){
case "1":
tablename="v_zkhz_year";
break;
case "2":
tablename="v_zkhz_jd";
break;
case "3":
tablename="v_zkhz_month";
break;
}
Map<String,Object> ref=new HashMap<>();
for (int i = 0; i < 6; i++) {
String tn=tablename+String.valueOf(i+1);
List<Map<String,Object>> datalist=statsMapper.queryncis(tn,querydate,yljg);
ref.put("table"+i,datalist);
}
return new Result("0","成功",ref);
}
private String inputParameter(String sql,List<ComStatsParameter> parameterlist) {
String[] parameters = CalcUtils.getParameters(sql);
for (String itemcode : parameters){
Optional<ComStatsParameter> temp=parameterlist.stream().filter(ss->itemcode.equals(ss.getParamCode())).findAny();
if(temp.isPresent()) {
sql=sql.replace("["+itemcode+"]","'"+temp.get().getParamDefvalue()+"'");
}
}
return sql;
}
private Result checkprecondition(String precondition,List<ComStatsParameter> parameterlist) {
Map<String, String> variables = new HashMap<>();
String[] parameters = CalcUtils.getParameters(precondition);
for (String itemcode : parameters) {
Optional<ComStatsParameter> temp=parameterlist.stream().filter(ss->itemcode.equals(ss.getParamCode())).findAny();
if(temp.isPresent()) {
variables.put(itemcode, temp.get().getParamDefvalue());
}else{
return new Result("-1","有参数未定义"+itemcode);
}
}
boolean flag = CalcUtils.getBooleanFromCalc(precondition, variables);
return new Result("0","成功",flag);
}
}

View File

@ -5,4 +5,7 @@
<select id="getsqldata" resultType="map">
${wheresql}
</select>
<select id="queryncis" resultType="map">
SELECT * FROM ${tablename} WHERE years = #{years} and yljg = #{yljg} order by xh ASC
</select>
</mapper>