diff --git a/liswork/src/main/java/com/czlis/liswork/controller/stats/NcisController.java b/liswork/src/main/java/com/czlis/liswork/controller/stats/NcisController.java new file mode 100644 index 0000000..487ca32 --- /dev/null +++ b/liswork/src/main/java/com/czlis/liswork/controller/stats/NcisController.java @@ -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); + } +} diff --git a/liswork/src/main/java/com/czlis/liswork/mapper/stats/StatsMapper.java b/liswork/src/main/java/com/czlis/liswork/mapper/stats/StatsMapper.java index 66cc159..9818d12 100644 --- a/liswork/src/main/java/com/czlis/liswork/mapper/stats/StatsMapper.java +++ b/liswork/src/main/java/com/czlis/liswork/mapper/stats/StatsMapper.java @@ -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> getsqldata(String wheresql); + List> queryncis(@Param("tablename") String tablename,@Param("years") String years,@Param("yljg") String yljg); } diff --git a/liswork/src/main/java/com/czlis/liswork/service/NcisService.java b/liswork/src/main/java/com/czlis/liswork/service/NcisService.java new file mode 100644 index 0000000..b301c38 --- /dev/null +++ b/liswork/src/main/java/com/czlis/liswork/service/NcisService.java @@ -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); +} diff --git a/liswork/src/main/java/com/czlis/liswork/service/impl/stats/NcisServiceImpl.java b/liswork/src/main/java/com/czlis/liswork/service/impl/stats/NcisServiceImpl.java new file mode 100644 index 0000000..374f9d4 --- /dev/null +++ b/liswork/src/main/java/com/czlis/liswork/service/impl/stats/NcisServiceImpl.java @@ -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 ref=new HashMap<>(); + for (int i = 0; i < 6; i++) { + String tn=tablename+String.valueOf(i+1); + List> datalist=statsMapper.queryncis(tn,querydate,yljg); + ref.put("table"+i,datalist); + } + + return new Result("0","成功",ref); + } + private String inputParameter(String sql,List parameterlist) { + String[] parameters = CalcUtils.getParameters(sql); + for (String itemcode : parameters){ + Optional 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 parameterlist) { + Map variables = new HashMap<>(); + String[] parameters = CalcUtils.getParameters(precondition); + for (String itemcode : parameters) { + Optional 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); + } + + +} diff --git a/liswork/src/main/resources/mapper/StatsMapper.xml b/liswork/src/main/resources/mapper/StatsMapper.xml index 986f2ae..23afe24 100644 --- a/liswork/src/main/resources/mapper/StatsMapper.xml +++ b/liswork/src/main/resources/mapper/StatsMapper.xml @@ -5,4 +5,7 @@ + \ No newline at end of file