统计
This commit is contained in:
parent
c608000793
commit
03fbbea28a
@ -8,11 +8,10 @@ import io.swagger.annotations.Api;
|
|||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/stats")
|
@RequestMapping("/stats")
|
||||||
@ -27,8 +26,8 @@ public class StatsController extends BaseController{
|
|||||||
return statsService.getTemplate(StatsCode);
|
return statsService.getTemplate(StatsCode);
|
||||||
}
|
}
|
||||||
@ApiOperation("查询")
|
@ApiOperation("查询")
|
||||||
@GetMapping(value = "/query")
|
@PostMapping(value = "/query")
|
||||||
public Result query(List<ComStatsParameter> list) {
|
public Result query(@RequestBody Map<String,Object> list) {
|
||||||
return statsService.query(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 com.czlis.common.core.domain.entity.lis.ComLocalconfig;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
public interface LocalconfigMapper {
|
public interface LocalconfigMapper {
|
||||||
|
|
||||||
@ -16,4 +17,5 @@ public interface LocalconfigMapper {
|
|||||||
int delComLocalconfigBymac(String smac);
|
int delComLocalconfigBymac(String smac);
|
||||||
int delComLocalconfigByIds(Long[] sids);
|
int delComLocalconfigByIds(Long[] sids);
|
||||||
int updateComLocalconfig(ComLocalconfig comLocalconfig);
|
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 com.czlis.common.core.domain.entity.lis.ComStatsParameter;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
public interface StatsService {
|
public interface StatsService {
|
||||||
Result getTemplate(String StatsCode);
|
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.ComStatsParameter;
|
||||||
import com.czlis.common.core.domain.entity.lis.ComStatsTemplate;
|
import com.czlis.common.core.domain.entity.lis.ComStatsTemplate;
|
||||||
import com.czlis.common.utils.StringUtils;
|
import com.czlis.common.utils.StringUtils;
|
||||||
|
import com.czlis.interfaceCommon.utils.CalcUtils;
|
||||||
import com.czlis.interfaceCommon.utils.LisUtil;
|
import com.czlis.interfaceCommon.utils.LisUtil;
|
||||||
import com.czlis.interfaceCommon.utils.LisWorkUtils;
|
import com.czlis.interfaceCommon.utils.LisWorkUtils;
|
||||||
import com.czlis.liswork.mapper.xtwh.ComStatsParameterMapper;
|
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.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.Date;
|
import java.util.*;
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
@Service
|
@Service
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@ -29,6 +27,9 @@ public class StatsServiceImpl implements StatsService {
|
|||||||
LisWorkUtils lisWorkUtils;
|
LisWorkUtils lisWorkUtils;
|
||||||
@Override
|
@Override
|
||||||
public Result getTemplate(String statsCode){
|
public Result getTemplate(String statsCode){
|
||||||
|
if(statsCode==null||"".equals(statsCode)){
|
||||||
|
return new Result("-1","模板代码未传");
|
||||||
|
}
|
||||||
ComStatsTemplate Stats=new ComStatsTemplate();
|
ComStatsTemplate Stats=new ComStatsTemplate();
|
||||||
Stats.setStatsCode(statsCode);
|
Stats.setStatsCode(statsCode);
|
||||||
List<ComStatsTemplate> Statslist= comStatsTemplateMapper.selectComStatsTemplateList(Stats);
|
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","未找到该模板参数");
|
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> 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> 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());
|
List<ComStatsParameter> subquery=list.stream().filter(ss->"4".equals(ss.getParamType())).collect(Collectors.toList());
|
||||||
if(parameter!=null&¶meter.size()>0){
|
if(parameter!=null&¶meter.size()>0){
|
||||||
for(ComStatsParameter p:parameter){
|
for(ComStatsParameter p:parameter){
|
||||||
@ -57,6 +58,7 @@ public class StatsServiceImpl implements StatsService {
|
|||||||
break;
|
break;
|
||||||
case "[today]":
|
case "[today]":
|
||||||
p.setParamDefvalue(LisUtil.getDateString(new Date()));
|
p.setParamDefvalue(LisUtil.getDateString(new Date()));
|
||||||
|
break;
|
||||||
case "[now]":
|
case "[now]":
|
||||||
p.setParamDefvalue(LisUtil.getTimeString(new Date()));
|
p.setParamDefvalue(LisUtil.getTimeString(new Date()));
|
||||||
break;
|
break;
|
||||||
@ -84,9 +86,46 @@ public class StatsServiceImpl implements StatsService {
|
|||||||
return new Result("0","成功",map);
|
return new Result("0","成功",map);
|
||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
public Result query(List<ComStatsParameter> list){
|
public Result query(Map<String,Object> list){
|
||||||
if(list==null||list.size()==0)return new Result("-1","入参为空");
|
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<>();
|
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
|
@Override
|
||||||
public Object getComDicts(String zdlb) {
|
public Object getComDicts(String zdlb) {
|
||||||
if ("INSTR".equals(zdlb)||"instr".equals(zdlb)||"yq".equals(zdlb)) {
|
switch (zdlb){
|
||||||
return getInstr();
|
case "INSTR":
|
||||||
}else if (zdlb.contains("item:")) {
|
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);
|
String yq=zdlb.trim().substring(5);
|
||||||
return getitem(yq);
|
return getitem(yq);
|
||||||
}else if ("barcode".equals(zdlb)) {
|
}
|
||||||
return getreportdict("1");
|
if (zdlb.contains("INSTR:")) {
|
||||||
} else if ("reback".equals(zdlb)) {
|
String lisgroup=zdlb.trim().substring(6);
|
||||||
return getreportdict("2");
|
return getInstr(lisgroup);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return commonUtil.getComDictList(zdlb);
|
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) {
|
public List<Map<String, String>> getreportdict(String type) {
|
||||||
List<Map<String, String>> list = new ArrayList<>();
|
List<Map<String, String>> list = new ArrayList<>();
|
||||||
List<ComReportDict> xmInfolist = comReportDictMapper.selectComReportDictByType(type);
|
List<ComReportDict> xmInfolist = comReportDictMapper.selectComReportDictByType(type);
|
||||||
@ -214,7 +249,7 @@ public class ComLocalconfigServiceImpl implements ComLocalconfigService {
|
|||||||
}
|
}
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
public List<Map<String, String>> getInstr() {
|
public List<Map<String, String>> getInstr(String lisgroup) {
|
||||||
List<Map<String, String>> list = new ArrayList<>();
|
List<Map<String, String>> list = new ArrayList<>();
|
||||||
String yljg = getYLJG();
|
String yljg = getYLJG();
|
||||||
if (yljg == null) {
|
if (yljg == null) {
|
||||||
@ -222,7 +257,7 @@ public class ComLocalconfigServiceImpl implements ComLocalconfigService {
|
|||||||
List<ComUsr> ComUsrlist = commonUtil.getComUsrList(yhdh);
|
List<ComUsr> ComUsrlist = commonUtil.getComUsrList(yhdh);
|
||||||
yljg = ComUsrlist.get(0).getYljg();
|
yljg = ComUsrlist.get(0).getYljg();
|
||||||
}
|
}
|
||||||
List<LabInstr> labInstrlist = commonUtil.querybylisgroup("", yljg, "0");
|
List<LabInstr> labInstrlist = commonUtil.querybylisgroup(lisgroup, yljg, "0");
|
||||||
for (LabInstr labInstr : labInstrlist) {
|
for (LabInstr labInstr : labInstrlist) {
|
||||||
Map<String, String> map = new HashMap<>();
|
Map<String, String> map = new HashMap<>();
|
||||||
map.put("zddh", labInstr.getYq().trim());
|
map.put("zddh", labInstr.getYq().trim());
|
||||||
|
|||||||
@ -33,7 +33,9 @@
|
|||||||
select * from com_localconfig
|
select * from com_localconfig
|
||||||
order by sid
|
order by sid
|
||||||
</select>
|
</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 id="insertComLocalconfig" parameterType="com.czlis.common.core.domain.entity.lis.ComLocalconfig" useGeneratedKeys="true" keyProperty="sid">
|
||||||
insert into com_localconfig(
|
insert into com_localconfig(
|
||||||
<if test="sid != null and sid != 0">sid,</if>
|
<if test="sid != null and sid != 0">sid,</if>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user