统计
This commit is contained in:
parent
c608000793
commit
03fbbea28a
@ -8,11 +8,10 @@ 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.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/stats")
|
||||
@ -27,8 +26,8 @@ public class StatsController extends BaseController{
|
||||
return statsService.getTemplate(StatsCode);
|
||||
}
|
||||
@ApiOperation("查询")
|
||||
@GetMapping(value = "/query")
|
||||
public Result query(List<ComStatsParameter> list) {
|
||||
@PostMapping(value = "/query")
|
||||
public Result query(@RequestBody Map<String,Object> list) {
|
||||
return statsService.query(list);
|
||||
}
|
||||
}
|
||||
|
||||
@ -3,6 +3,7 @@ package com.czlis.liswork.mapper.xtwh;
|
||||
import com.czlis.common.core.domain.entity.lis.ComLocalconfig;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public interface LocalconfigMapper {
|
||||
|
||||
@ -16,4 +17,5 @@ public interface LocalconfigMapper {
|
||||
int delComLocalconfigBymac(String smac);
|
||||
int delComLocalconfigByIds(Long[] sids);
|
||||
int updateComLocalconfig(ComLocalconfig comLocalconfig);
|
||||
List<Map<String,Object>> selectinstrgroupmain();
|
||||
}
|
||||
|
||||
@ -4,8 +4,9 @@ import com.czlis.common.core.domain.Result;
|
||||
import com.czlis.common.core.domain.entity.lis.ComStatsParameter;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public interface StatsService {
|
||||
Result getTemplate(String StatsCode);
|
||||
Result query(List<ComStatsParameter> list);
|
||||
Result query(Map<String,Object> list);
|
||||
}
|
||||
|
||||
@ -4,6 +4,7 @@ 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.xtwh.ComStatsParameterMapper;
|
||||
@ -13,10 +14,7 @@ import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
@Service
|
||||
@Slf4j
|
||||
@ -29,6 +27,9 @@ public class StatsServiceImpl implements StatsService {
|
||||
LisWorkUtils lisWorkUtils;
|
||||
@Override
|
||||
public Result getTemplate(String statsCode){
|
||||
if(statsCode==null||"".equals(statsCode)){
|
||||
return new Result("-1","模板代码未传");
|
||||
}
|
||||
ComStatsTemplate Stats=new ComStatsTemplate();
|
||||
Stats.setStatsCode(statsCode);
|
||||
List<ComStatsTemplate> Statslist= comStatsTemplateMapper.selectComStatsTemplateList(Stats);
|
||||
@ -42,7 +43,7 @@ public class StatsServiceImpl implements StatsService {
|
||||
if(list==null||list.size()==0)return new Result("-1","未找到该模板参数");
|
||||
List<ComStatsParameter> columnlist=list.stream().filter(ss->"1".equals(ss.getParamType())||"2".equals(ss.getParamType())||"6".equals(ss.getParamType())).collect(Collectors.toList());
|
||||
List<ComStatsParameter> summarylist=list.stream().filter(ss->"3".equals(ss.getParamType())).collect(Collectors.toList());
|
||||
List<ComStatsParameter> parameter=list.stream().filter(ss->"0".equals(ss.getParamType())).collect(Collectors.toList());
|
||||
List<ComStatsParameter> parameter=list.stream().filter(ss->"0".equals(ss.getParamType())||"2".equals(ss.getParamType())).collect(Collectors.toList());
|
||||
List<ComStatsParameter> subquery=list.stream().filter(ss->"4".equals(ss.getParamType())).collect(Collectors.toList());
|
||||
if(parameter!=null&¶meter.size()>0){
|
||||
for(ComStatsParameter p:parameter){
|
||||
@ -57,6 +58,7 @@ public class StatsServiceImpl implements StatsService {
|
||||
break;
|
||||
case "[today]":
|
||||
p.setParamDefvalue(LisUtil.getDateString(new Date()));
|
||||
break;
|
||||
case "[now]":
|
||||
p.setParamDefvalue(LisUtil.getTimeString(new Date()));
|
||||
break;
|
||||
@ -84,9 +86,46 @@ public class StatsServiceImpl implements StatsService {
|
||||
return new Result("0","成功",map);
|
||||
}
|
||||
@Override
|
||||
public Result query(List<ComStatsParameter> list){
|
||||
if(list==null||list.size()==0)return new Result("-1","入参为空");
|
||||
public Result query(Map<String,Object> list){
|
||||
if(list==null||list.isEmpty())return new Result("-1","入参为空");
|
||||
Object t=list.get("Template");
|
||||
if(t==null )return new Result("-1","模板为空");
|
||||
Object c=list.get("Column");
|
||||
if(c==null )return new Result("-1","字段为空");
|
||||
Object p=list.get("Parameter");
|
||||
if(p==null )return new Result("-1","筛选条件为空");
|
||||
ComStatsTemplate template=(ComStatsTemplate)t;
|
||||
List<ComStatsParameter> column=(List<ComStatsParameter>)c;
|
||||
List<ComStatsParameter> parameterlist=(List<ComStatsParameter>)p;
|
||||
String statsSql=template.getStatsSql();
|
||||
if(statsSql==null)return new Result("-1","sql语句为空");
|
||||
String where="";
|
||||
for(ComStatsParameter parameter :parameterlist){
|
||||
String precondition=parameter.getPrecondition();
|
||||
Result result=checkprecondition(precondition,parameterlist);
|
||||
if(!"0".equals(result.getCode()))return result;
|
||||
boolean flag=(boolean)result.getData();
|
||||
if(flag){
|
||||
where=where+" "+parameter.getParamSql();
|
||||
}
|
||||
}
|
||||
Map<String,Object> map=new HashMap<>();
|
||||
return new Result("0","成功",map);
|
||||
return new Result("0","成功",statsSql+where);
|
||||
}
|
||||
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);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -180,18 +180,53 @@ public class ComLocalconfigServiceImpl implements ComLocalconfigService {
|
||||
|
||||
@Override
|
||||
public Object getComDicts(String zdlb) {
|
||||
if ("INSTR".equals(zdlb)||"instr".equals(zdlb)||"yq".equals(zdlb)) {
|
||||
return getInstr();
|
||||
}else if (zdlb.contains("item:")) {
|
||||
String yq=zdlb.trim().substring(5);
|
||||
return getitem(yq);
|
||||
}else if ("barcode".equals(zdlb)) {
|
||||
return getreportdict("1");
|
||||
} else if ("reback".equals(zdlb)) {
|
||||
return getreportdict("2");
|
||||
switch (zdlb){
|
||||
case "INSTR":
|
||||
case "instr":
|
||||
case "yq":
|
||||
return getInstr("");
|
||||
case "barcode":
|
||||
return getreportdict("1");
|
||||
case "reback":
|
||||
return getreportdict("2");
|
||||
case "fzdh":
|
||||
return getfzdh();
|
||||
case "USR":
|
||||
return getusr();
|
||||
default:
|
||||
if (zdlb.contains("item:")) {
|
||||
String yq=zdlb.trim().substring(5);
|
||||
return getitem(yq);
|
||||
}
|
||||
if (zdlb.contains("INSTR:")) {
|
||||
String lisgroup=zdlb.trim().substring(6);
|
||||
return getInstr(lisgroup);
|
||||
}
|
||||
}
|
||||
return commonUtil.getComDictList(zdlb);
|
||||
}
|
||||
public List<Map<String, String>> getusr() {
|
||||
List<Map<String, String>> list = new ArrayList<>();
|
||||
List<ComUsr> usrlist = commonUtil.getComUsrList("");
|
||||
for (ComUsr xmInfo : usrlist) {
|
||||
Map<String, String> map = new HashMap<>();
|
||||
map.put("zddh", xmInfo.getYhdh());
|
||||
map.put("zdmc", xmInfo.getYhxm());
|
||||
list.add(map);
|
||||
}
|
||||
return list;
|
||||
}
|
||||
public List<Map<String, String>> getfzdh() {
|
||||
List<Map<String, String>> list = new ArrayList<>();
|
||||
List<Map<String, Object>> xmInfolist = localconfigMapper.selectinstrgroupmain();
|
||||
for (Map<String, Object> xmInfo : xmInfolist) {
|
||||
Map<String, String> map = new HashMap<>();
|
||||
map.put("zddh", xmInfo.get("fzdh").toString());
|
||||
map.put("zdmc", xmInfo.get("fzmc").toString());
|
||||
list.add(map);
|
||||
}
|
||||
return list;
|
||||
}
|
||||
public List<Map<String, String>> getreportdict(String type) {
|
||||
List<Map<String, String>> list = new ArrayList<>();
|
||||
List<ComReportDict> xmInfolist = comReportDictMapper.selectComReportDictByType(type);
|
||||
@ -214,7 +249,7 @@ public class ComLocalconfigServiceImpl implements ComLocalconfigService {
|
||||
}
|
||||
return list;
|
||||
}
|
||||
public List<Map<String, String>> getInstr() {
|
||||
public List<Map<String, String>> getInstr(String lisgroup) {
|
||||
List<Map<String, String>> list = new ArrayList<>();
|
||||
String yljg = getYLJG();
|
||||
if (yljg == null) {
|
||||
@ -222,7 +257,7 @@ public class ComLocalconfigServiceImpl implements ComLocalconfigService {
|
||||
List<ComUsr> ComUsrlist = commonUtil.getComUsrList(yhdh);
|
||||
yljg = ComUsrlist.get(0).getYljg();
|
||||
}
|
||||
List<LabInstr> labInstrlist = commonUtil.querybylisgroup("", yljg, "0");
|
||||
List<LabInstr> labInstrlist = commonUtil.querybylisgroup(lisgroup, yljg, "0");
|
||||
for (LabInstr labInstr : labInstrlist) {
|
||||
Map<String, String> map = new HashMap<>();
|
||||
map.put("zddh", labInstr.getYq().trim());
|
||||
|
||||
@ -33,7 +33,9 @@
|
||||
select * from com_localconfig
|
||||
order by sid
|
||||
</select>
|
||||
|
||||
<select id="selectinstrgroupmain" resultType="map">
|
||||
select fzdh,fzmc from lab_instrgroupmain
|
||||
</select>
|
||||
<insert id="insertComLocalconfig" parameterType="com.czlis.common.core.domain.entity.lis.ComLocalconfig" useGeneratedKeys="true" keyProperty="sid">
|
||||
insert into com_localconfig(
|
||||
<if test="sid != null and sid != 0">sid,</if>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user