统计
This commit is contained in:
parent
8f04396e6f
commit
81098344bb
@ -21,6 +21,10 @@ public class SysLoginParam {
|
||||
* 登录的医疗机构
|
||||
*/
|
||||
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.pdf.PdfCopy;
|
||||
import com.lowagie.text.pdf.PdfReader;
|
||||
import org.apache.commons.lang3.time.DateFormatUtils;
|
||||
|
||||
import java.io.*;
|
||||
import java.lang.reflect.Field;
|
||||
@ -30,7 +31,45 @@ public class LisUtil {
|
||||
public static Map<String, String> getAgeFromBirthDay(String 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(){
|
||||
return loginConfigParamUtil.getLoginConfigParam().getLoginYLJG();
|
||||
}
|
||||
/**获取当前客户端默认仪器**/
|
||||
public String getDefaultInstr(){
|
||||
return loginConfigParamUtil.getLoginConfigParam().getDefaultInstr();
|
||||
}
|
||||
/**获取当前会话循环次数**/
|
||||
int getProblemId() {
|
||||
return ServletUtils.getParameterToInt("problemId", 0);
|
||||
|
||||
@ -153,6 +153,14 @@ public class SysLoginService {
|
||||
SysLoginParam sysLoginParam = new SysLoginParam();
|
||||
sysLoginParam.setLoginYLJG(loginYLJG);
|
||||
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);
|
||||
// 生成token
|
||||
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.exception.ServiceException;
|
||||
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.ComStatsTemplateMapper;
|
||||
import com.czlis.liswork.service.ComStatsTemplateService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
@ -21,6 +21,8 @@ public class ComStatsTemplateServiceImpl implements ComStatsTemplateService {
|
||||
ComStatsParameterMapper comStatsParameterMapper;
|
||||
@Autowired
|
||||
ComStatsTemplateMapper comStatsTemplateMapper;
|
||||
@Autowired
|
||||
LisWorkUtils lisWorkUtils;
|
||||
/**
|
||||
* 查询统计模板信息集合
|
||||
*
|
||||
@ -98,7 +100,7 @@ public class ComStatsTemplateServiceImpl implements ComStatsTemplateService {
|
||||
if(temp==null)return 0;
|
||||
String statsCode=temp.getStatsCode();
|
||||
ComStatsParameter param = new ComStatsParameter();
|
||||
temp.setStatsCode(statsCode);
|
||||
param.setStatsCode(statsCode);
|
||||
List<ComStatsParameter> list=comStatsParameterMapper.selectComStatsParameterList(param);
|
||||
if(list==null||list.size()==0)return 0;
|
||||
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