统计
This commit is contained in:
parent
8f04396e6f
commit
81098344bb
@ -21,6 +21,10 @@ public class SysLoginParam {
|
|||||||
* 登录的医疗机构
|
* 登录的医疗机构
|
||||||
*/
|
*/
|
||||||
private String loginYLJG;
|
private String loginYLJG;
|
||||||
|
/**
|
||||||
|
* 默认仪器
|
||||||
|
*/
|
||||||
|
private String defaultInstr;
|
||||||
/**
|
/**
|
||||||
* 客户端唯一标识
|
* 客户端唯一标识
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -5,6 +5,7 @@ import com.czlis.common.utils.DateUtils;
|
|||||||
import com.lowagie.text.Document;
|
import com.lowagie.text.Document;
|
||||||
import com.lowagie.text.pdf.PdfCopy;
|
import com.lowagie.text.pdf.PdfCopy;
|
||||||
import com.lowagie.text.pdf.PdfReader;
|
import com.lowagie.text.pdf.PdfReader;
|
||||||
|
import org.apache.commons.lang3.time.DateFormatUtils;
|
||||||
|
|
||||||
import java.io.*;
|
import java.io.*;
|
||||||
import java.lang.reflect.Field;
|
import java.lang.reflect.Field;
|
||||||
@ -30,7 +31,45 @@ public class LisUtil {
|
|||||||
public static Map<String, String> getAgeFromBirthDay(String birthday) {
|
public static Map<String, String> getAgeFromBirthDay(String birthday) {
|
||||||
return AgeUtils.getAgeFromBirthDay(birthday);
|
return AgeUtils.getAgeFromBirthDay(birthday);
|
||||||
}
|
}
|
||||||
|
//日期转字符串
|
||||||
|
public static String getDateString(Date rq) {
|
||||||
|
return DateFormatUtils.format(rq, "yyyy-MM-dd");
|
||||||
|
}
|
||||||
|
public static String getDateTimeString(Date rq) {
|
||||||
|
return DateFormatUtils.format(rq, "yyyy-MM-dd HH:mm:ss");
|
||||||
|
}
|
||||||
|
public static String getTimeString(Date rq) {
|
||||||
|
return DateFormatUtils.format(rq, "HH:mm:ss");
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 提取包含指定子串后的所有内容
|
||||||
|
* @param original 原字符串(可能为null)
|
||||||
|
* @param keyword 要匹配的子串(可能为null)
|
||||||
|
* @return 子串后的内容:子串不存在/空值返回空字符串,子串在末尾也返回空字符串
|
||||||
|
*/
|
||||||
|
public static String getSubstringAfterKeyword(String original, String keyword) {
|
||||||
|
// 1. 空值安全校验(核心:避免NullPointerException)
|
||||||
|
if (original == null || keyword == null || keyword.isEmpty()) {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
|
// 2. 判断是否包含子串
|
||||||
|
if (!original.contains(keyword)) {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
|
// 3. 获取子串的结束位置(起始位置 + 子串长度)
|
||||||
|
int keywordStartIndex = original.indexOf(keyword);
|
||||||
|
int keywordEndIndex = keywordStartIndex + keyword.length();
|
||||||
|
|
||||||
|
// 4. 边界校验:避免子串在末尾导致截取越界
|
||||||
|
if (keywordEndIndex >= original.length()) {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
|
// 5. 截取子串后的所有内容
|
||||||
|
return original.substring(keywordEndIndex);
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
* 根据年龄获取出生日期
|
* 根据年龄获取出生日期
|
||||||
*
|
*
|
||||||
|
|||||||
@ -36,6 +36,10 @@ public class LisWorkBase {
|
|||||||
public String getYLJG(){
|
public String getYLJG(){
|
||||||
return loginConfigParamUtil.getLoginConfigParam().getLoginYLJG();
|
return loginConfigParamUtil.getLoginConfigParam().getLoginYLJG();
|
||||||
}
|
}
|
||||||
|
/**获取当前客户端默认仪器**/
|
||||||
|
public String getDefaultInstr(){
|
||||||
|
return loginConfigParamUtil.getLoginConfigParam().getDefaultInstr();
|
||||||
|
}
|
||||||
/**获取当前会话循环次数**/
|
/**获取当前会话循环次数**/
|
||||||
int getProblemId() {
|
int getProblemId() {
|
||||||
return ServletUtils.getParameterToInt("problemId", 0);
|
return ServletUtils.getParameterToInt("problemId", 0);
|
||||||
|
|||||||
@ -153,6 +153,14 @@ public class SysLoginService {
|
|||||||
SysLoginParam sysLoginParam = new SysLoginParam();
|
SysLoginParam sysLoginParam = new SysLoginParam();
|
||||||
sysLoginParam.setLoginYLJG(loginYLJG);
|
sysLoginParam.setLoginYLJG(loginYLJG);
|
||||||
sysLoginParam.setLocalid(localid);
|
sysLoginParam.setLocalid(localid);
|
||||||
|
Map<String, Object> map=getLocalconfig(localid,IpUtils.getIpAddr());
|
||||||
|
if(map!=null) {
|
||||||
|
Object value =map.get("defaultinstr");
|
||||||
|
if(value!=null) {
|
||||||
|
String defaultinstr = value.toString();
|
||||||
|
sysLoginParam.setDefaultInstr(defaultinstr);
|
||||||
|
}
|
||||||
|
}
|
||||||
loginUser.setSysLoginParam(sysLoginParam);
|
loginUser.setSysLoginParam(sysLoginParam);
|
||||||
// 生成token
|
// 生成token
|
||||||
return tokenService.createToken(loginUser);
|
return tokenService.createToken(loginUser);
|
||||||
|
|||||||
@ -0,0 +1,34 @@
|
|||||||
|
package com.czlis.liswork.controller.stats;
|
||||||
|
|
||||||
|
import com.czlis.common.core.controller.BaseController;
|
||||||
|
import com.czlis.common.core.domain.Result;
|
||||||
|
import com.czlis.common.core.domain.entity.lis.ComStatsParameter;
|
||||||
|
import com.czlis.liswork.service.StatsService;
|
||||||
|
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 java.util.List;
|
||||||
|
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/stats")
|
||||||
|
@Api(tags = "统计")
|
||||||
|
@Slf4j
|
||||||
|
public class StatsController extends BaseController{
|
||||||
|
@Autowired
|
||||||
|
private StatsService statsService;
|
||||||
|
@ApiOperation("获取模板详细信息")
|
||||||
|
@GetMapping(value = "/gettemplate")
|
||||||
|
public Result getTemplate(String StatsCode) {
|
||||||
|
return statsService.getTemplate(StatsCode);
|
||||||
|
}
|
||||||
|
@ApiOperation("获取模板详细信息")
|
||||||
|
@GetMapping(value = "/query")
|
||||||
|
public Result query(List<ComStatsParameter> list) {
|
||||||
|
return statsService.query(list);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,4 @@
|
|||||||
|
package com.czlis.liswork.mapper.stats;
|
||||||
|
|
||||||
|
public interface StatsMapper {
|
||||||
|
}
|
||||||
@ -0,0 +1,11 @@
|
|||||||
|
package com.czlis.liswork.service;
|
||||||
|
|
||||||
|
import com.czlis.common.core.domain.Result;
|
||||||
|
import com.czlis.common.core.domain.entity.lis.ComStatsParameter;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public interface StatsService {
|
||||||
|
Result getTemplate(String StatsCode);
|
||||||
|
Result query(List<ComStatsParameter> list);
|
||||||
|
}
|
||||||
@ -0,0 +1,92 @@
|
|||||||
|
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.LisUtil;
|
||||||
|
import com.czlis.interfaceCommon.utils.LisWorkUtils;
|
||||||
|
import com.czlis.liswork.mapper.xtwh.ComStatsParameterMapper;
|
||||||
|
import com.czlis.liswork.mapper.xtwh.ComStatsTemplateMapper;
|
||||||
|
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.Date;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
@Service
|
||||||
|
@Slf4j
|
||||||
|
public class StatsServiceImpl implements StatsService {
|
||||||
|
@Autowired
|
||||||
|
ComStatsParameterMapper comStatsParameterMapper;
|
||||||
|
@Autowired
|
||||||
|
ComStatsTemplateMapper comStatsTemplateMapper;
|
||||||
|
@Autowired
|
||||||
|
LisWorkUtils lisWorkUtils;
|
||||||
|
@Override
|
||||||
|
public Result getTemplate(String statsCode){
|
||||||
|
ComStatsTemplate Stats=new ComStatsTemplate();
|
||||||
|
Stats.setStatsCode(statsCode);
|
||||||
|
List<ComStatsTemplate> Statslist= comStatsTemplateMapper.selectComStatsTemplateList(Stats);
|
||||||
|
if(Statslist==null||Statslist.size()==0){
|
||||||
|
return new Result("-1","未找到该模板");
|
||||||
|
}
|
||||||
|
ComStatsParameter param = new ComStatsParameter();
|
||||||
|
param.setStatsCode(statsCode);
|
||||||
|
param.setStatus("0");
|
||||||
|
List<ComStatsParameter> list=comStatsParameterMapper.selectComStatsParameterList(param);
|
||||||
|
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> subquery=list.stream().filter(ss->"4".equals(ss.getParamType())).collect(Collectors.toList());
|
||||||
|
if(parameter!=null&¶meter.size()>0){
|
||||||
|
for(ComStatsParameter p:parameter){
|
||||||
|
String defvalue=p.getParamDefvalue();
|
||||||
|
if(StringUtils.isEmpty(defvalue))continue;
|
||||||
|
switch (defvalue){
|
||||||
|
case "[LoginYLJG]":
|
||||||
|
p.setParamDefvalue(lisWorkUtils.getYLJG());
|
||||||
|
break;
|
||||||
|
case "[DefaultInstr]":
|
||||||
|
p.setParamDefvalue(lisWorkUtils.getDefaultInstr());
|
||||||
|
break;
|
||||||
|
case "[today]":
|
||||||
|
p.setParamDefvalue(LisUtil.getDateString(new Date()));
|
||||||
|
case "[now]":
|
||||||
|
p.setParamDefvalue(LisUtil.getTimeString(new Date()));
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
if("[today]".contains(defvalue)){
|
||||||
|
String defvalue1=LisUtil.getSubstringAfterKeyword(defvalue,"[today]");
|
||||||
|
if(defvalue1!=null)defvalue1=defvalue1.trim();
|
||||||
|
if("".equals(defvalue1)&&defvalue1!=null){
|
||||||
|
if(LisUtil.isNumber(defvalue1)){
|
||||||
|
p.setParamDefvalue(LisUtil.getDateString(LisUtil.relativeDateTime(Integer.parseInt(defvalue1))));
|
||||||
|
}else{
|
||||||
|
p.setParamDefvalue(LisUtil.getDateString(new Date())+LisUtil.getSubstringAfterKeyword(defvalue,"[today]"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Map<String,Object> map=new HashMap<>();
|
||||||
|
map.put("Template",Statslist.get(0));
|
||||||
|
map.put("Column",columnlist);
|
||||||
|
map.put("Summary",summarylist);
|
||||||
|
map.put("Parameter",parameter);
|
||||||
|
map.put("Subquery",subquery);
|
||||||
|
return new Result("0","成功",map);
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public Result query(List<ComStatsParameter> list){
|
||||||
|
if(list==null||list.size()==0)return new Result("-1","入参为空");
|
||||||
|
Map<String,Object> map=new HashMap<>();
|
||||||
|
return new Result("0","成功",map);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -5,13 +5,13 @@ 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.exception.ServiceException;
|
import com.czlis.common.exception.ServiceException;
|
||||||
import com.czlis.common.utils.StringUtils;
|
import com.czlis.common.utils.StringUtils;
|
||||||
|
import com.czlis.interfaceCommon.utils.LisWorkUtils;
|
||||||
import com.czlis.liswork.mapper.xtwh.ComStatsParameterMapper;
|
import com.czlis.liswork.mapper.xtwh.ComStatsParameterMapper;
|
||||||
import com.czlis.liswork.mapper.xtwh.ComStatsTemplateMapper;
|
import com.czlis.liswork.mapper.xtwh.ComStatsTemplateMapper;
|
||||||
import com.czlis.liswork.service.ComStatsTemplateService;
|
import com.czlis.liswork.service.ComStatsTemplateService;
|
||||||
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.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
@ -21,6 +21,8 @@ public class ComStatsTemplateServiceImpl implements ComStatsTemplateService {
|
|||||||
ComStatsParameterMapper comStatsParameterMapper;
|
ComStatsParameterMapper comStatsParameterMapper;
|
||||||
@Autowired
|
@Autowired
|
||||||
ComStatsTemplateMapper comStatsTemplateMapper;
|
ComStatsTemplateMapper comStatsTemplateMapper;
|
||||||
|
@Autowired
|
||||||
|
LisWorkUtils lisWorkUtils;
|
||||||
/**
|
/**
|
||||||
* 查询统计模板信息集合
|
* 查询统计模板信息集合
|
||||||
*
|
*
|
||||||
@ -98,7 +100,7 @@ public class ComStatsTemplateServiceImpl implements ComStatsTemplateService {
|
|||||||
if(temp==null)return 0;
|
if(temp==null)return 0;
|
||||||
String statsCode=temp.getStatsCode();
|
String statsCode=temp.getStatsCode();
|
||||||
ComStatsParameter param = new ComStatsParameter();
|
ComStatsParameter param = new ComStatsParameter();
|
||||||
temp.setStatsCode(statsCode);
|
param.setStatsCode(statsCode);
|
||||||
List<ComStatsParameter> list=comStatsParameterMapper.selectComStatsParameterList(param);
|
List<ComStatsParameter> list=comStatsParameterMapper.selectComStatsParameterList(param);
|
||||||
if(list==null||list.size()==0)return 0;
|
if(list==null||list.size()==0)return 0;
|
||||||
return list.size();
|
return list.size();
|
||||||
|
|||||||
6
liswork/src/main/resources/mapper/StatsMapper.xml
Normal file
6
liswork/src/main/resources/mapper/StatsMapper.xml
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
|
||||||
|
<mapper namespace="com.czlis.liswork.mapper.stats.StatsMapper">
|
||||||
|
|
||||||
|
</mapper>
|
||||||
Loading…
x
Reference in New Issue
Block a user