Merge remote-tracking branch 'lis8.0/master'

This commit is contained in:
jiangs 2026-02-12 16:40:40 +08:00
commit 61c289b877
10 changed files with 206 additions and 2 deletions

View File

@ -21,6 +21,10 @@ public class SysLoginParam {
* 登录的医疗机构
*/
private String loginYLJG;
/**
* 默认仪器
*/
private String defaultInstr;
/**
* 客户端唯一标识
*/

View File

@ -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);
}
/**
* 根据年龄获取出生日期
*

View File

@ -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);

View File

@ -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);

View File

@ -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);
}
}

View File

@ -0,0 +1,4 @@
package com.czlis.liswork.mapper.stats;
public interface StatsMapper {
}

View File

@ -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);
}

View File

@ -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&&parameter.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);
}
}

View File

@ -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();

View 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>