Merge remote-tracking branch 'lis8.0/master'
This commit is contained in:
commit
f0c204eef2
@ -55,8 +55,6 @@ public class LabPat extends BaseEntity {
|
|||||||
private String instrid;
|
private String instrid;
|
||||||
private String jzbz;
|
private String jzbz;
|
||||||
private String sbbr;
|
private String sbbr;
|
||||||
// private String qrr;
|
|
||||||
// private Date qrsj;
|
|
||||||
private String alarmflag;
|
private String alarmflag;
|
||||||
private String alarmconfirm;
|
private String alarmconfirm;
|
||||||
private Date alarmconfirmdt;
|
private Date alarmconfirmdt;
|
||||||
@ -80,4 +78,6 @@ public class LabPat extends BaseEntity {
|
|||||||
private String fault;
|
private String fault;
|
||||||
private String faults;
|
private String faults;
|
||||||
private Date faultdt;
|
private Date faultdt;
|
||||||
|
private String sn_tss;
|
||||||
|
private String sn_result;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -42,6 +42,29 @@ public class LabReqmain extends BaseEntity {
|
|||||||
private String zd;
|
private String zd;
|
||||||
private Date cysj;
|
private Date cysj;
|
||||||
private Date cksj;
|
private Date cksj;
|
||||||
|
private String ckzj;
|
||||||
|
private String ckyh;
|
||||||
|
private String djry;
|
||||||
|
private String inputman;
|
||||||
|
private String powerman;
|
||||||
|
private String contactman;
|
||||||
|
private String refsqh;
|
||||||
|
private String cyr;
|
||||||
|
private String bbsjr;
|
||||||
|
private Date bbsjsj;
|
||||||
|
private String performby;
|
||||||
|
private String sbbr;
|
||||||
|
private String inzt;
|
||||||
|
private String libpos;
|
||||||
|
private Date inlibtime;
|
||||||
|
private String inlibman;
|
||||||
|
private Date outlibtime;
|
||||||
|
private String outlibman;
|
||||||
|
private String refused;
|
||||||
|
private Date confirmtime;
|
||||||
|
private String confirmer;
|
||||||
|
private String cybl;
|
||||||
|
private String bbsjbl;
|
||||||
private String yljg;
|
private String yljg;
|
||||||
private String kh;
|
private String kh;
|
||||||
private String klx;
|
private String klx;
|
||||||
@ -50,21 +73,15 @@ public class LabReqmain extends BaseEntity {
|
|||||||
private String sfzh;
|
private String sfzh;
|
||||||
private String phone;
|
private String phone;
|
||||||
private String phone1;
|
private String phone1;
|
||||||
private Date confirmtime;
|
private String yqdh;
|
||||||
private String confirmer;
|
|
||||||
private String cyr;
|
|
||||||
private String addr;
|
|
||||||
private String fb;
|
|
||||||
private String bbsjr;
|
|
||||||
private Date bbsjsj;
|
|
||||||
private String czid;
|
|
||||||
private String czmc;
|
|
||||||
private String jzjlid;
|
|
||||||
private String hzdh;
|
|
||||||
private String zxks;
|
|
||||||
private String hosid;
|
|
||||||
private String lstd;
|
|
||||||
private String jcptbz;
|
|
||||||
private String slzq;
|
|
||||||
private Date sjsj;
|
private Date sjsj;
|
||||||
|
private String addr;
|
||||||
|
private String lstd;
|
||||||
|
private String ssrq;
|
||||||
|
private String slzq;
|
||||||
|
private Date cyblsj;
|
||||||
|
private Date bbsjblsj;
|
||||||
|
private String ybrl;
|
||||||
|
private String qsyljg;
|
||||||
|
private String cjbw;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,25 @@
|
|||||||
|
package com.czlis.common.core.domain.entity.lis;
|
||||||
|
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
@Data
|
||||||
|
public class LabReqsteplog {
|
||||||
|
|
||||||
|
private String sqh;
|
||||||
|
private Integer xh;
|
||||||
|
private String zt;
|
||||||
|
private String userid;
|
||||||
|
private Date changedate;
|
||||||
|
private Date logdate;
|
||||||
|
private String comname;
|
||||||
|
private String comip;
|
||||||
|
private String bz;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@ -18,6 +18,7 @@ public class LabResult extends BaseEntity {
|
|||||||
private String yq;
|
private String yq;
|
||||||
private String ybh;
|
private String ybh;
|
||||||
private String xmdh;
|
private String xmdh;
|
||||||
|
private String wyh;
|
||||||
private String csjg;
|
private String csjg;
|
||||||
private String od;
|
private String od;
|
||||||
private String cutoff;
|
private String cutoff;
|
||||||
@ -25,8 +26,7 @@ public class LabResult extends BaseEntity {
|
|||||||
private String bz1;
|
private String bz1;
|
||||||
private String bz2;
|
private String bz2;
|
||||||
private String yhdh;
|
private String yhdh;
|
||||||
private String textresult;
|
private Integer instrid;
|
||||||
private String instrid;
|
|
||||||
private Date operdt;
|
private Date operdt;
|
||||||
private String operna;
|
private String operna;
|
||||||
private String refs;
|
private String refs;
|
||||||
@ -36,6 +36,9 @@ public class LabResult extends BaseEntity {
|
|||||||
private String alarmFlag;
|
private String alarmFlag;
|
||||||
private String redoFlag;
|
private String redoFlag;
|
||||||
private String sqxmdh;
|
private String sqxmdh;
|
||||||
|
private String redoText;
|
||||||
|
private String bz3;
|
||||||
|
private String textresult;
|
||||||
private String xmmc;
|
private String xmmc;
|
||||||
private String ygzd;
|
private String ygzd;
|
||||||
private String ygzq;
|
private String ygzq;
|
||||||
|
|||||||
@ -6,6 +6,9 @@ import java.util.Map;
|
|||||||
|
|
||||||
public interface LabReqmainMapper {
|
public interface LabReqmainMapper {
|
||||||
LabReqmain getLabReqmainOne(String sqh);
|
LabReqmain getLabReqmainOne(String sqh);
|
||||||
void updateLabReqmain(LabReqmain labReqmain);
|
int updateLabReqmain(LabReqmain labReqmain);
|
||||||
void updateLabReqmainZT(Map<String,Object> map);
|
int updateLabReqmainAll(LabReqmain labReqmain);
|
||||||
|
int deleteLabReqmain(String sqh);
|
||||||
|
void insertLabReqmain(LabReqmain labReqmain);
|
||||||
|
int updateLabReqmainZT(Map<String,Object> map);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,12 @@
|
|||||||
|
package com.czlis.interfaceCommon.mapper;
|
||||||
|
|
||||||
|
import com.czlis.common.core.domain.entity.lis.LabReqmain;
|
||||||
|
import com.czlis.common.core.domain.entity.lis.LabReqsteplog;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public interface LabReqsteplogMapper {
|
||||||
|
LabReqsteplog getLabReqsteplogOne(@Param("sqh") String sqh,@Param("xh") Integer xh);
|
||||||
|
List<LabReqsteplog> getLabReqsteplog(String sqh);
|
||||||
|
}
|
||||||
@ -10,4 +10,5 @@ public interface XmRefMapper {
|
|||||||
List<XmRef> getXmRefList(String yq);
|
List<XmRef> getXmRefList(String yq);
|
||||||
XmRef getXmRef(@Param("yq")String yq, @Param("xmdh")String xmdh);
|
XmRef getXmRef(@Param("yq")String yq, @Param("xmdh")String xmdh);
|
||||||
XmRef getXmRefValue(Map<String,Object> map);
|
XmRef getXmRefValue(Map<String,Object> map);
|
||||||
|
XmRef getXmRefValue(@Param("yq")String yq, @Param("xmdh")String xmdh,@Param("bbtype")String bbtype, @Param("sex")String sex,@Param("age")Double age, @Param("zd")String zd, @Param("slzq")String slzq);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -17,45 +17,65 @@ public class CalcUtils {
|
|||||||
* @param variableMap 入参MAP
|
* @param variableMap 入参MAP
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public static String getValueFromCalc(String CalcExpression,Map<String,String> variableMap){
|
public static String getValueFromCalc(String CalcExpression, Map<String, String> variableMap) {
|
||||||
// 创建SpEL解析器
|
|
||||||
ExpressionParser parser = new SpelExpressionParser();
|
ExpressionParser parser = new SpelExpressionParser();
|
||||||
// 创建评估上下文
|
|
||||||
StandardEvaluationContext context = new StandardEvaluationContext();
|
StandardEvaluationContext context = new StandardEvaluationContext();
|
||||||
// 循环遍历Map,将键值对添加到上下文
|
|
||||||
for (Map.Entry<String, String> entry : variableMap.entrySet()) {
|
for (Map.Entry<String, String> entry : variableMap.entrySet()) {
|
||||||
// 键作为变量名,值作为变量值
|
|
||||||
String str = entry.getValue();
|
String str = entry.getValue();
|
||||||
if(isNumber(str)){
|
if (isNumber(str)) {
|
||||||
context.setVariable(entry.getKey(), Double.parseDouble(str));
|
context.setVariable(entry.getKey(), Double.parseDouble(str));
|
||||||
}else {
|
} else {
|
||||||
context.setVariable(entry.getKey(), entry.getValue());
|
context.setVariable(entry.getKey(), entry.getValue());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 测试表达式:使用多个变量进行判断"#score >= 60 ? #name + '的' + #subject + '成绩及格' : #name + '的' + #subject + '成绩不及格'"
|
|
||||||
String expression = getCalc(CalcExpression);
|
String expression = getCalc(CalcExpression);
|
||||||
Expression exp = parser.parseExpression(expression);
|
Expression exp = parser.parseExpression(expression);
|
||||||
// 执行表达式(传入上下文)
|
|
||||||
try {
|
try {
|
||||||
String result = exp.getValue(context, String.class);
|
// 先获取原始结果(可能是Number、Boolean、String等)
|
||||||
//System.out.println(result); // 输出:张三的数学成绩及格
|
Object result = exp.getValue(context);
|
||||||
return result;
|
|
||||||
} catch (Exception e) {
|
|
||||||
// 意外错误时返回null
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
// 安全转换为String
|
||||||
|
if (result == null) {
|
||||||
|
return ""; // 空值返回空字符串(或根据业务返回null)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 特殊处理数字类型,避免科学计数法(如1000000.0 → "1000000")
|
||||||
|
if (result instanceof Number) {
|
||||||
|
Number num = (Number) result;
|
||||||
|
// 判断是否为整数(无小数部分)
|
||||||
|
if (num.doubleValue() == Math.floor(num.doubleValue())) {
|
||||||
|
return String.valueOf(num.longValue());
|
||||||
|
} else {
|
||||||
|
return String.valueOf(num.doubleValue());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 其他类型直接调用toString()
|
||||||
|
return result.toString();
|
||||||
|
|
||||||
|
} catch (Exception e) {
|
||||||
|
throw new RuntimeException("表达式计算失败: " + expression, e);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
public static boolean getBooleanFromCalc(String CalcExpression,Map<String,String> variableMap){
|
public static boolean getBooleanFromCalc(String CalcExpression, Map<String, String> variableMap) {
|
||||||
ExpressionParser parser = new SpelExpressionParser();
|
ExpressionParser parser = new SpelExpressionParser();
|
||||||
StandardEvaluationContext context = new StandardEvaluationContext();
|
StandardEvaluationContext context = new StandardEvaluationContext();
|
||||||
|
// 统一变量处理:数字转Double,否则保留String
|
||||||
for (Map.Entry<String, String> entry : variableMap.entrySet()) {
|
for (Map.Entry<String, String> entry : variableMap.entrySet()) {
|
||||||
context.setVariable(entry.getKey(), entry.getValue());
|
String str = entry.getValue();
|
||||||
|
if (isNumber(str)) {
|
||||||
|
context.setVariable(entry.getKey(), Double.parseDouble(str));
|
||||||
|
} else {
|
||||||
|
context.setVariable(entry.getKey(), entry.getValue());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
String expression = getCalc(CalcExpression);
|
String expression = getCalc(CalcExpression);
|
||||||
Expression exp = parser.parseExpression(expression);
|
Expression exp = parser.parseExpression(expression);
|
||||||
boolean result = exp.getValue(context, Boolean.class);
|
try {
|
||||||
return result;
|
return exp.getValue(context, Boolean.class);
|
||||||
|
} catch (Exception e) {
|
||||||
|
throw new RuntimeException("布尔表达式计算失败: " + expression, e); // 增强异常信息
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -64,6 +84,7 @@ public class CalcUtils {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public static String getCalc(String CalcExpression){
|
public static String getCalc(String CalcExpression){
|
||||||
|
|
||||||
// 1. 替换逻辑运算符:and→&&,or→||
|
// 1. 替换逻辑运算符:and→&&,or→||
|
||||||
String processed = CalcExpression.replaceAll("\\band|AND\\b", "&&").replaceAll("\\bor|OR\\b", "||");
|
String processed = CalcExpression.replaceAll("\\band|AND\\b", "&&").replaceAll("\\bor|OR\\b", "||");
|
||||||
// 2. 替换变量格式:[a] → #a
|
// 2. 替换变量格式:[a] → #a
|
||||||
@ -72,9 +93,47 @@ public class CalcUtils {
|
|||||||
processed = replaceLenFunction(processed);
|
processed = replaceLenFunction(processed);
|
||||||
//4.like '%aa'或者 like 'aa%'或者 like '%aa%'
|
//4.like '%aa'或者 like 'aa%'或者 like '%aa%'
|
||||||
processed = replaceLikeExpressions(processed);
|
processed = replaceLikeExpressions(processed);
|
||||||
|
// 1. 先将所有比较用的=替换为==(关键修复)
|
||||||
|
processed = processed.replaceAll("(\\w+)\\s*=\\s*('.*?'|\\w+)", "$1 == $2");
|
||||||
//5. 递归处理if结构:if(cond, trueExpr, falseExpr) → cond?trueExpr:falseExpr
|
//5. 递归处理if结构:if(cond, trueExpr, falseExpr) → cond?trueExpr:falseExpr
|
||||||
return processIf(processed);
|
return processIf(processed);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 取出公式中所有[参数]返回数组,供调用传值引用
|
||||||
|
* @param input
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public static String[] getParameters(String input) {
|
||||||
|
// 正则表达式匹配 [] 中的内容
|
||||||
|
Pattern pattern = Pattern.compile("\\[(.*?)\\]");
|
||||||
|
Matcher matcher = pattern.matcher(input);
|
||||||
|
|
||||||
|
// 第一步:统计匹配数量,确定数组长度
|
||||||
|
int count = 0;
|
||||||
|
// 临时存储匹配结果的数组(初始长度设为10,可根据实际场景调整)
|
||||||
|
String[] tempArray = new String[10];
|
||||||
|
|
||||||
|
// 循环查找所有匹配项
|
||||||
|
while (matcher.find()) {
|
||||||
|
// 存储当前匹配的内容([]中的字符串)
|
||||||
|
tempArray[count] = matcher.group(1);
|
||||||
|
count++;
|
||||||
|
|
||||||
|
// 若临时数组容量不足,扩容(每次翻倍)
|
||||||
|
if (count == tempArray.length) {
|
||||||
|
String[] newArray = new String[tempArray.length * 2];
|
||||||
|
System.arraycopy(tempArray, 0, newArray, 0, tempArray.length);
|
||||||
|
tempArray = newArray;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 第二步:创建与实际数量匹配的结果数组
|
||||||
|
String[] result = new String[count];
|
||||||
|
System.arraycopy(tempArray, 0, result, 0, count);
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
* 递归解析并替换if表达式
|
* 递归解析并替换if表达式
|
||||||
*/
|
*/
|
||||||
@ -162,29 +221,29 @@ public class CalcUtils {
|
|||||||
for (int i = 0; i < 3; i++) {
|
for (int i = 0; i < 3; i++) {
|
||||||
parts[i] = new StringBuilder();
|
parts[i] = new StringBuilder();
|
||||||
}
|
}
|
||||||
|
boolean inQuotes = false; // 标记是否在字符串中(单引号内)
|
||||||
|
|
||||||
for (char c : inner.toCharArray()) {
|
for (char c : inner.toCharArray()) {
|
||||||
if (c == ',' && stack.isEmpty()) {
|
// 处理单引号包裹的字符串(忽略内部逗号)
|
||||||
|
if (c == '\'') {
|
||||||
|
inQuotes = !inQuotes;
|
||||||
|
parts[partIndex].append(c);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
// 仅当不在字符串中且栈为空时,才用逗号分割参数
|
||||||
|
if (c == ',' && !inQuotes && stack.isEmpty()) {
|
||||||
partIndex++;
|
partIndex++;
|
||||||
if (partIndex >= 3) {
|
if (partIndex >= 3) break;
|
||||||
break;
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
if (c == '(') {
|
if (c == '(') stack.push('(');
|
||||||
stack.push('(');
|
else if (c == ')') if (!stack.isEmpty()) stack.pop();
|
||||||
} else if (c == ')') {
|
|
||||||
if (!stack.isEmpty()) {
|
|
||||||
stack.pop();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
parts[partIndex].append(c);
|
parts[partIndex].append(c);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return new String[]{
|
return new String[]{
|
||||||
parts[0].toString(),
|
parts[0].toString().trim(),
|
||||||
parts[1].toString(),
|
parts[1].toString().trim(),
|
||||||
parts[2].toString()
|
parts[2].toString().trim()
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
@ -215,24 +274,18 @@ public class CalcUtils {
|
|||||||
* 支持:like '%xxx'、like 'xxx%'、like '%xxx%'、like 'xxx'(精确匹配)
|
* 支持:like '%xxx'、like 'xxx%'、like '%xxx%'、like 'xxx'(精确匹配)
|
||||||
*/
|
*/
|
||||||
private static String replaceLikeExpressions(String expression) {
|
private static String replaceLikeExpressions(String expression) {
|
||||||
// 正则匹配 like 表达式(支持空格变化和引号)
|
// 修正正则:左侧表达式允许包含#、字母、数字、下划线(#[a-zA-Z0-9_]+)
|
||||||
// 分组说明:
|
Pattern pattern = Pattern.compile("([#\\w]+)\\s+like\\s+'([^']+)'", Pattern.CASE_INSENSITIVE);
|
||||||
// group1: 左侧表达式(如字段或变量)
|
|
||||||
// group2: 匹配模式(如'%aa%'、'aa%'等)
|
|
||||||
Pattern pattern = Pattern.compile("(\\w+)\\s+like\\s+'([^']+)'", Pattern.CASE_INSENSITIVE);
|
|
||||||
Matcher matcher = pattern.matcher(expression);
|
Matcher matcher = pattern.matcher(expression);
|
||||||
|
|
||||||
StringBuffer result = new StringBuffer();
|
StringBuffer result = new StringBuffer();
|
||||||
while (matcher.find()) {
|
while (matcher.find()) {
|
||||||
String leftExpr = matcher.group(1); // 左侧表达式(如 field1)
|
String leftExpr = matcher.group(1); // 支持#变量(如#RESULT)
|
||||||
String patternStr = matcher.group(2); // 匹配模式(如 %aa%)
|
String patternStr = matcher.group(2);
|
||||||
|
|
||||||
// 根据模式生成对应的SpEL方法调用
|
|
||||||
String replacement = generateLikeReplacement(leftExpr, patternStr);
|
String replacement = generateLikeReplacement(leftExpr, patternStr);
|
||||||
matcher.appendReplacement(result, replacement);
|
matcher.appendReplacement(result, replacement);
|
||||||
}
|
}
|
||||||
matcher.appendTail(result);
|
matcher.appendTail(result);
|
||||||
|
|
||||||
return result.toString();
|
return result.toString();
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
@ -270,9 +323,8 @@ public class CalcUtils {
|
|||||||
*/
|
*/
|
||||||
public static boolean isNumber(String str) {
|
public static boolean isNumber(String str) {
|
||||||
if (str == null || str.trim().isEmpty()) {
|
if (str == null || str.trim().isEmpty()) {
|
||||||
return false;
|
return false; // 空值不视为数字
|
||||||
}
|
}
|
||||||
// 正则表达式:匹配正负整数、正负小数
|
|
||||||
String regex = "^[+-]?([0-9]+(\\.[0-9]*)?|\\.[0-9]+)$";
|
String regex = "^[+-]?([0-9]+(\\.[0-9]*)?|\\.[0-9]+)$";
|
||||||
return str.matches(regex);
|
return str.matches(regex);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -48,6 +48,8 @@ public class CommonUtil {
|
|||||||
XmAlarmdetailMapper xmAlarmdetailMapper;
|
XmAlarmdetailMapper xmAlarmdetailMapper;
|
||||||
@Autowired
|
@Autowired
|
||||||
LabReqreportPdffileMapper labReqreportPdffileMapper;
|
LabReqreportPdffileMapper labReqreportPdffileMapper;
|
||||||
|
@Autowired
|
||||||
|
LabReqsteplogMapper labReqsteplogMapper;
|
||||||
|
|
||||||
//====检验主表操作方法集合===
|
//====检验主表操作方法集合===
|
||||||
public LabPat getLabPatOne(Date jyrq, String yq, String ybh) {
|
public LabPat getLabPatOne(Date jyrq, String yq, String ybh) {
|
||||||
@ -89,6 +91,22 @@ public class CommonUtil {
|
|||||||
public LabReqmain getLabReqmainOne(String sqh) {
|
public LabReqmain getLabReqmainOne(String sqh) {
|
||||||
return labReqmainMapper.getLabReqmainOne(sqh);
|
return labReqmainMapper.getLabReqmainOne(sqh);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int updateLabReqmain(LabReqmain labReqmain) {
|
||||||
|
return labReqmainMapper.updateLabReqmain(labReqmain);
|
||||||
|
}
|
||||||
|
|
||||||
|
public int deleteLabReqmain(String sqh) {
|
||||||
|
return labReqmainMapper.deleteLabReqmain(sqh);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void insertLabReqmain(LabReqmain labReqmain) {
|
||||||
|
labReqmainMapper.insertLabReqmain(labReqmain);
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<LabReqsteplog> getLabReqsteplog(String sqh) {
|
||||||
|
return labReqsteplogMapper.getLabReqsteplog(sqh);
|
||||||
|
}
|
||||||
//申请单明细表集合
|
//申请单明细表集合
|
||||||
|
|
||||||
//====检验结果表操作方法集合===
|
//====检验结果表操作方法集合===
|
||||||
@ -101,8 +119,8 @@ public class CommonUtil {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public int insertLabResult(LabResult labResult) {
|
public void insertLabResult(LabResult labResult) {
|
||||||
return labResultMapper.insertLabResult(labResult);
|
labResultMapper.insertLabResult(labResult);
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<LabResult> getresultinfo(Date jyrq, String yq, String ybh) {
|
public List<LabResult> getresultinfo(Date jyrq, String yq, String ybh) {
|
||||||
@ -144,6 +162,9 @@ public class CommonUtil {
|
|||||||
public XmRef getXmRefValue(Map<String, Object> map) {
|
public XmRef getXmRefValue(Map<String, Object> map) {
|
||||||
return xmRefMapper.getXmRefValue(map);
|
return xmRefMapper.getXmRefValue(map);
|
||||||
}
|
}
|
||||||
|
public XmRef getXmRefValue(String yq,String xmdh,String bbtype,String sex,Double age,String zd,String slzq) {
|
||||||
|
return xmRefMapper.getXmRefValue(yq, xmdh, bbtype, sex, age, zd, slzq);
|
||||||
|
}
|
||||||
|
|
||||||
public String getXmRefJgbz(String yq, String xmdh, String csjg, String csjg1, String csjg2) {
|
public String getXmRefJgbz(String yq, String xmdh, String csjg, String csjg1, String csjg2) {
|
||||||
return xmValMapper.getXmValJgbz(yq, xmdh, csjg, csjg1, csjg2);
|
return xmValMapper.getXmValJgbz(yq, xmdh, csjg, csjg1, csjg2);
|
||||||
@ -266,8 +287,11 @@ public class CommonUtil {
|
|||||||
} else {
|
} else {
|
||||||
//没有获取到缓存,则先从数据库中查询数据,然后再进行缓存
|
//没有获取到缓存,则先从数据库中查询数据,然后再进行缓存
|
||||||
ComOpt comOpt1 = comOptMapper.getComOptOne(yq, xxdh);
|
ComOpt comOpt1 = comOptMapper.getComOptOne(yq, xxdh);
|
||||||
ComOptionUtils.setOptCache(yq, xxdh, comOpt1);
|
if (comOpt1 != null) {
|
||||||
return comOpt1.getXxqz();
|
ComOptionUtils.setOptCache(yq, xxdh, comOpt1);
|
||||||
|
return comOpt1.getXxqz();
|
||||||
|
}
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -306,7 +330,7 @@ public class CommonUtil {
|
|||||||
return labReqreportPdffileMapper.getLabReqreportPdffileList(sqh);
|
return labReqreportPdffileMapper.getLabReqreportPdffileList(sqh);
|
||||||
}
|
}
|
||||||
|
|
||||||
public LabReqreportPdffile getLabReqreportPdffileOne(Date jyrq,String yq,String ybh) {
|
public LabReqreportPdffile getLabReqreportPdffileOne(Date jyrq, String yq, String ybh) {
|
||||||
return labReqreportPdffileMapper.getLabReqreportPdffileOne(jyrq,yq,ybh);
|
return labReqreportPdffileMapper.getLabReqreportPdffileOne(jyrq, yq, ybh);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -76,8 +76,6 @@
|
|||||||
<if test="instrid != null and instrid != ''">instrid,</if>
|
<if test="instrid != null and instrid != ''">instrid,</if>
|
||||||
<if test="jzbz != null and jzbz != ''">jzbz,</if>
|
<if test="jzbz != null and jzbz != ''">jzbz,</if>
|
||||||
<if test="sbbr != null and sbbr != ''">sbbr,</if>
|
<if test="sbbr != null and sbbr != ''">sbbr,</if>
|
||||||
<if test="qrr != null and qrr != ''">qrr,</if>
|
|
||||||
<if test="qrsj != null ">qrsj,</if>
|
|
||||||
<if test="alarmflag != null and alarmflag != ''">alarmflag,</if>
|
<if test="alarmflag != null and alarmflag != ''">alarmflag,</if>
|
||||||
<if test="alarmconfirm != null and alarmconfirm != ''">alarmconfirm,</if>
|
<if test="alarmconfirm != null and alarmconfirm != ''">alarmconfirm,</if>
|
||||||
<if test="alarmconfirmdt != null ">alarmconfirmdt,</if>
|
<if test="alarmconfirmdt != null ">alarmconfirmdt,</if>
|
||||||
@ -99,15 +97,8 @@
|
|||||||
<if test="lstd != null and lstd !=''">lstd,</if>
|
<if test="lstd != null and lstd !=''">lstd,</if>
|
||||||
<if test="zjlx != null and zjlx != ''">zjlx,</if>
|
<if test="zjlx != null and zjlx != ''">zjlx,</if>
|
||||||
<if test="slzq != null and slzq != ''">slzq,</if>
|
<if test="slzq != null and slzq != ''">slzq,</if>
|
||||||
<if test="uploaddate != null">uploaddate,</if>
|
|
||||||
<if test="lastupdatetime != null">lastupdatetime,</if>
|
|
||||||
<if test="ylfw != null and ylfw != ''">ylfw,</if>
|
|
||||||
<if test="upload != null and upload != ''">upload,</if>
|
|
||||||
<if test="checker != null and checker != ''">checker,</if>
|
<if test="checker != null and checker != ''">checker,</if>
|
||||||
<if test="lisptsc != null and lisptsc != ''">lisptsc,</if>
|
|
||||||
<if test="autojgbz != null and autojgbz != ''">autojgbz,</if>
|
<if test="autojgbz != null and autojgbz != ''">autojgbz,</if>
|
||||||
<if test="crbsj != null and crbsj != ''">crbsj,</if>
|
|
||||||
<if test="testName != null and testName != ''">testName,</if>
|
|
||||||
jyrq,yq,ybh
|
jyrq,yq,ybh
|
||||||
)
|
)
|
||||||
values(
|
values(
|
||||||
@ -151,8 +142,6 @@
|
|||||||
<if test="instrid != null and instrid != ''">#{instrid},</if>
|
<if test="instrid != null and instrid != ''">#{instrid},</if>
|
||||||
<if test="jzbz != null and jzbz != ''">#{jzbz},</if>
|
<if test="jzbz != null and jzbz != ''">#{jzbz},</if>
|
||||||
<if test="sbbr != null and sbbr != ''">#{sbbr},</if>
|
<if test="sbbr != null and sbbr != ''">#{sbbr},</if>
|
||||||
<if test="qrr != null and qrr != ''">#{qrr},</if>
|
|
||||||
<if test="qrsj != null ">#{qrsj},</if>
|
|
||||||
<if test="alarmflag != null and alarmflag != ''">#{alarmflag},</if>
|
<if test="alarmflag != null and alarmflag != ''">#{alarmflag},</if>
|
||||||
<if test="alarmconfirm != null and alarmconfirm != ''">#{alarmconfirm},</if>
|
<if test="alarmconfirm != null and alarmconfirm != ''">#{alarmconfirm},</if>
|
||||||
<if test="alarmconfirmdt != null ">#{alarmconfirmdt},</if>
|
<if test="alarmconfirmdt != null ">#{alarmconfirmdt},</if>
|
||||||
@ -174,15 +163,8 @@
|
|||||||
<if test="lstd != null and lstd !=''">#{lstd},</if>
|
<if test="lstd != null and lstd !=''">#{lstd},</if>
|
||||||
<if test="zjlx != null and zjlx != ''">#{zjlx},</if>
|
<if test="zjlx != null and zjlx != ''">#{zjlx},</if>
|
||||||
<if test="slzq != null and slzq != ''">#{slzq},</if>
|
<if test="slzq != null and slzq != ''">#{slzq},</if>
|
||||||
<if test="uploaddate != null">#{uploaddate},</if>
|
|
||||||
<if test="lastupdatetime != null">#{lastupdatetime},</if>
|
|
||||||
<if test="ylfw != null and ylfw != ''">#{ylfw},</if>
|
|
||||||
<if test="upload != null and upload != ''">#{upload},</if>
|
|
||||||
<if test="checker != null and checker != ''">#{checker},</if>
|
<if test="checker != null and checker != ''">#{checker},</if>
|
||||||
<if test="lisptsc != null and lisptsc != ''">#{lisptsc},</if>
|
|
||||||
<if test="autojgbz != null and autojgbz != ''">#{autojgbz},</if>
|
<if test="autojgbz != null and autojgbz != ''">#{autojgbz},</if>
|
||||||
<if test="crbsj != null and crbsj != ''">#{crbsj},</if>
|
|
||||||
<if test="testName != null and testName != ''">#{testName},</if>
|
|
||||||
#{jyrq},#{yq},#{ybh}
|
#{jyrq},#{yq},#{ybh}
|
||||||
)
|
)
|
||||||
</insert>
|
</insert>
|
||||||
@ -309,12 +291,6 @@
|
|||||||
<if test="sbbr != null">
|
<if test="sbbr != null">
|
||||||
sbbr = #{sbbr,jdbcType=VARCHAR},
|
sbbr = #{sbbr,jdbcType=VARCHAR},
|
||||||
</if>
|
</if>
|
||||||
<if test="qrr != null">
|
|
||||||
qrr = #{qrr,jdbcType=VARCHAR},
|
|
||||||
</if>
|
|
||||||
<if test="qrsj != null">
|
|
||||||
qrsj = #{qrsj,jdbcType=TIMESTAMP},
|
|
||||||
</if>
|
|
||||||
<if test="alarmflag != null">
|
<if test="alarmflag != null">
|
||||||
alarmflag = #{alarmflag,jdbcType=CHAR},
|
alarmflag = #{alarmflag,jdbcType=CHAR},
|
||||||
</if>
|
</if>
|
||||||
@ -375,12 +351,6 @@
|
|||||||
<if test="slzq != null">
|
<if test="slzq != null">
|
||||||
slzq = #{slzq,jdbcType=VARCHAR},
|
slzq = #{slzq,jdbcType=VARCHAR},
|
||||||
</if>
|
</if>
|
||||||
<if test="uploaddate != null">
|
|
||||||
uploaddate = #{uploaddate,jdbcType=TIMESTAMP},
|
|
||||||
</if>
|
|
||||||
<if test="whonetupdate != null">
|
|
||||||
whonetupdate = #{whonetupdate,jdbcType=TIMESTAMP},
|
|
||||||
</if>
|
|
||||||
<if test="checker != null">
|
<if test="checker != null">
|
||||||
checker = #{checker,jdbcType=VARCHAR},
|
checker = #{checker,jdbcType=VARCHAR},
|
||||||
</if>
|
</if>
|
||||||
|
|||||||
@ -11,8 +11,201 @@
|
|||||||
UPDATE lab_reqmain SET zt = '2', jsys = #{userId}, jssj =getdate() WHERE sqh = #{sqh} AND (zt < '2' or zt='8' or jssj<zxsj)
|
UPDATE lab_reqmain SET zt = '2', jsys = #{userId}, jssj =getdate() WHERE sqh = #{sqh} AND (zt < '2' or zt='8' or jssj<zxsj)
|
||||||
]]>
|
]]>
|
||||||
</update>
|
</update>
|
||||||
|
<delete id="deleteLabReqmain" parameterType="String">
|
||||||
|
delete from lab_reqmain
|
||||||
|
where sqh = #{sqh}
|
||||||
|
</delete>
|
||||||
|
<insert id="insertLabReqmain" parameterType="com.czlis.common.core.domain.entity.lis.LabReqmain">
|
||||||
|
insert into lab_reqmain (sqh, ksdh, sqys,
|
||||||
|
sqsj, jsys, jssj,
|
||||||
|
zt, jjzt, brly, brdh,
|
||||||
|
brxm, brxb, brsr, bz1,
|
||||||
|
bz2, bz3, jzbz, txm,
|
||||||
|
ch, yblx, zxys, zxsj,
|
||||||
|
bgddh, costs, nl, nldw,
|
||||||
|
zd, cysj, cksj,
|
||||||
|
ckzj, ckyh, djry, inputman,
|
||||||
|
powerman, contactman, refsqh,
|
||||||
|
cyr, bbsjr, bbsjsj,
|
||||||
|
performby, sbbr, inzt,
|
||||||
|
libpos, inlibtime, inlibman,
|
||||||
|
outlibtime, outlibman, refused,
|
||||||
|
confirmtime, confirmer, cybl,
|
||||||
|
bbsjbl, yljg, kh, klx,
|
||||||
|
jzsj, jymd, sfzh,
|
||||||
|
phone, phone1, yqdh, sjsj,
|
||||||
|
addr, lstd, ssrq,
|
||||||
|
slzq, cyblsj, bbsjblsj,
|
||||||
|
ybrl,qsyljg,cjbw)
|
||||||
|
values (#{sqh}, #{ksdh}, #{sqys},
|
||||||
|
#{sqsj}, #{jsys}, #{jssj},
|
||||||
|
#{zt}, #{jjzt}, #{brly}, #{brdh},
|
||||||
|
#{brxm}, #{brxb}, #{brsr}, #{bz1},
|
||||||
|
#{bz2}, #{bz3}, #{jzbz}, #{txm},
|
||||||
|
#{ch}, #{yblx}, #{zxys}, #{zxsj},
|
||||||
|
#{bgddh}, #{costs}, #{nl}, #{nldw},
|
||||||
|
#{zd}, #{cysj}, #{cksj},
|
||||||
|
#{ckzj}, #{ckyh}, #{djry}, #{inputman},
|
||||||
|
#{powerman}, #{contactman}, #{refsqh},
|
||||||
|
#{cyr}, #{bbsjr}, #{bbsjsj},
|
||||||
|
#{performby}, #{sbbr}, #{inzt},
|
||||||
|
#{libpos}, #{inlibtime}, #{inlibman},
|
||||||
|
#{outlibtime}, #{outlibman}, #{refused},
|
||||||
|
#{confirmtime}, #{confirmer}, #{cybl},
|
||||||
|
#{bbsjbl}, #{yljg}, #{kh}, #{klx},
|
||||||
|
#{jzsj}, #{jymd}, #{sfzh},
|
||||||
|
#{phone}, #{phone1}, #{yqdh}, #{sjsj},
|
||||||
|
#{addr}, #{lstd}, #{ssrq},
|
||||||
|
#{slzq}, #{cyblsj}, #{bbsjblsj},
|
||||||
|
#{ybrl},#{qsyljg},#{cjbw})
|
||||||
|
</insert>
|
||||||
|
<update id="updateLabReqmain" parameterType="com.czlis.common.core.domain.entity.lis.LabReqmain">
|
||||||
|
update lab_reqmain
|
||||||
|
<set>
|
||||||
|
<if test="ksdh != null">ksdh = #{ksdh},</if>
|
||||||
|
<if test="sqys != null">sqys = #{sqys},</if>
|
||||||
|
<if test="sqsj != null">sqsj = #{sqsj},</if>
|
||||||
|
<if test="jsys != null">jsys = #{jsys},</if>
|
||||||
|
<if test="jssj != null">jssj = #{jssj},</if>
|
||||||
|
<if test="zt != null">zt = #{zt},</if>
|
||||||
|
<if test="jjzt != null">jjzt = #{jjzt},</if>
|
||||||
|
<if test="brly != null">brly = #{brly},</if>
|
||||||
|
<if test="brdh != null">brdh = #{brdh},</if>
|
||||||
|
<if test="brxm != null">brxm = #{brxm},</if>
|
||||||
|
<if test="brxb != null">brxb = #{brxb},</if>
|
||||||
|
<if test="brsr != null">brsr = #{brsr},</if>
|
||||||
|
<if test="bz1 != null">bz1 = #{bz1},</if>
|
||||||
|
<if test="bz2 != null">bz2 = #{bz2},</if>
|
||||||
|
<if test="bz3 != null">bz3 = #{bz3},</if>
|
||||||
|
<if test="jzbz != null">jzbz = #{jzbz},</if>
|
||||||
|
<if test="txm != null">txm = #{txm},</if>
|
||||||
|
<if test="ch != null">ch = #{ch},</if>
|
||||||
|
<if test="yblx != null">yblx = #{yblx},</if>
|
||||||
|
<if test="zxys != null">zxys = #{zxys},</if>
|
||||||
|
<if test="zxsj != null">zxsj = #{zxsj},</if>
|
||||||
|
<if test="bgddh != null">bgddh = #{bgddh},</if>
|
||||||
|
<if test="costs != null">costs = #{costs},</if>
|
||||||
|
<if test="nl != null">nl = #{nl},</if>
|
||||||
|
<if test="nldw != null">nldw = #{nldw},</if>
|
||||||
|
<if test="zd != null">zd = #{zd},</if>
|
||||||
|
<if test="cysj != null">cysj = #{cysj},</if>
|
||||||
|
<if test="cksj != null">cksj = #{cksj},</if>
|
||||||
|
<if test="ckzj != null">ckzj = #{ckzj},</if>
|
||||||
|
<if test="ckyh != null">ckyh = #{ckyh},</if>
|
||||||
|
<if test="djry != null">djry = #{djry},</if>
|
||||||
|
<if test="inputman != null">inputman = #{inputman},</if>
|
||||||
|
<if test="powerman != null">powerman = #{powerman},</if>
|
||||||
|
<if test="contactman != null">contactman = #{contactman},</if>
|
||||||
|
<if test="refsqh != null">refsqh = #{refsqh},</if>
|
||||||
|
<if test="cyr != null">cyr = #{cyr},</if>
|
||||||
|
<if test="bbsjr != null">bbsjr = #{bbsjr},</if>
|
||||||
|
<if test="bbsjsj != null">bbsjsj = #{bbsjsj},</if>
|
||||||
|
<if test="performby != null">performby = #{performby},</if>
|
||||||
|
<if test="sbbr != null">sbbr = #{sbbr},</if>
|
||||||
|
<if test="inzt != null">inzt = #{inzt},</if>
|
||||||
|
<if test="libpos != null">libpos = #{libpos},</if>
|
||||||
|
<if test="inlibtime != null">inlibtime = #{inlibtime},</if>
|
||||||
|
<if test="inlibman != null">inlibman = #{inlibman},</if>
|
||||||
|
<if test="outlibtime != null">outlibtime = #{outlibtime},</if>
|
||||||
|
<if test="outlibman != null">outlibman = #{outlibman},</if>
|
||||||
|
<if test="refused != null">refused = #{refused},</if>
|
||||||
|
<if test="confirmtime != null">confirmtime = #{confirmtime},</if>
|
||||||
|
<if test="confirmer != null">confirmer = #{confirmer},</if>
|
||||||
|
<if test="cybl != null">cybl = #{cybl},</if>
|
||||||
|
<if test="bbsjbl != null">bbsjbl = #{bbsjbl},</if>
|
||||||
|
<if test="yljg != null">yljg = #{yljg},</if>
|
||||||
|
<if test="kh != null">kh = #{kh},</if>
|
||||||
|
<if test="klx != null">klx = #{klx},</if>
|
||||||
|
<if test="jzsj != null">jzsj = #{jzsj},</if>
|
||||||
|
<if test="jymd != null">jymd = #{jymd},</if>
|
||||||
|
<if test="sfzh != null">sfzh = #{sfzh},</if>
|
||||||
|
<if test="phone != null">phone = #{phone},</if>
|
||||||
|
<if test="phone1 != null">phone1 = #{phone1},</if>
|
||||||
|
<if test="yqdh != null">yqdh = #{yqdh},</if>
|
||||||
|
<if test="sjsj != null">sjsj = #{sjsj},</if>
|
||||||
|
<if test="addr != null">addr = #{addr},</if>
|
||||||
|
<if test="lstd != null">lstd = #{lstd},</if>
|
||||||
|
<if test="ssrq != null">ssrq = #{ssrq},</if>
|
||||||
|
<if test="slzq != null">slzq = #{slzq},</if>
|
||||||
|
<if test="cyblsj != null">cyblsj = #{cyblsj},</if>
|
||||||
|
<if test="bbsjblsj != null">bbsjblsj = #{bbsjblsj},</if>
|
||||||
|
<if test="ybrl != null">ybrl = #{ybrl},</if>
|
||||||
|
<if test="qsyljg != null">qsyljg = #{qsyljg},</if>
|
||||||
|
</set>
|
||||||
|
where sqh = #{sqh}
|
||||||
|
</update>
|
||||||
|
<update id="updateLabReqmainAll" parameterType="com.czlis.common.core.domain.entity.lis.LabReqmain">
|
||||||
|
update lab_reqmain
|
||||||
|
set ksdh = #{ksdh},
|
||||||
|
sqys = #{sqys},
|
||||||
|
sqsj = #{sqsj},
|
||||||
|
jsys = #{jsys},
|
||||||
|
jssj = #{jssj},
|
||||||
|
zt = #{zt},
|
||||||
|
jjzt = #{jjzt},
|
||||||
|
brly = #{brly},
|
||||||
|
brdh = #{brdh},
|
||||||
|
brxm = #{brxm},
|
||||||
|
brxb = #{brxb},
|
||||||
|
brsr = #{brsr},
|
||||||
|
bz1 = #{bz1},
|
||||||
|
bz2 = #{bz2},
|
||||||
|
bz3 = #{bz3},
|
||||||
|
jzbz = #{jzbz},
|
||||||
|
txm = #{txm},
|
||||||
|
ch = #{ch},
|
||||||
|
yblx = #{yblx},
|
||||||
|
zxys = #{zxys},
|
||||||
|
zxsj = #{zxsj},
|
||||||
|
bgddh = #{bgddh},
|
||||||
|
costs = #{costs},
|
||||||
|
nl = #{nl},
|
||||||
|
nldw = #{nldw},
|
||||||
|
zd = #{zd},
|
||||||
|
cysj = #{cysj},
|
||||||
|
cksj = #{cksj},
|
||||||
|
ckzj = #{ckzj},
|
||||||
|
ckyh = #{ckyh},
|
||||||
|
djry = #{djry},
|
||||||
|
inputman = #{inputman},
|
||||||
|
powerman = #{powerman},
|
||||||
|
contactman = #{contactman},
|
||||||
|
refsqh = #{refsqh},
|
||||||
|
cyr = #{cyr},
|
||||||
|
bbsjr = #{bbsjr},
|
||||||
|
bbsjsj = #{bbsjsj},
|
||||||
|
performby = #{performby},
|
||||||
|
sbbr = #{sbbr},
|
||||||
|
inzt = #{inzt},
|
||||||
|
libpos = #{libpos},
|
||||||
|
inlibtime = #{inlibtime},
|
||||||
|
inlibman = #{inlibman},
|
||||||
|
outlibtime = #{outlibtime},
|
||||||
|
outlibman = #{outlibman},
|
||||||
|
refused = #{refused},
|
||||||
|
confirmtime = #{confirmtime},
|
||||||
|
confirmer = #{confirmer},
|
||||||
|
cybl = #{cybl},
|
||||||
|
bbsjbl = #{bbsjbl},
|
||||||
|
yljg = #{yljg},
|
||||||
|
kh = #{kh},
|
||||||
|
klx = #{klx},
|
||||||
|
jzsj = #{jzsj},
|
||||||
|
jymd = #{jymd},
|
||||||
|
sfzh = #{sfzh},
|
||||||
|
phone = #{phone},
|
||||||
|
phone1 = #{phone1},
|
||||||
|
yqdh = #{yqdh},
|
||||||
|
sjsj = #{sjsj},
|
||||||
|
addr = #{addr},
|
||||||
|
lstd = #{lstd},
|
||||||
|
ssrq = #{ssrq},
|
||||||
|
slzq = #{slzq},
|
||||||
|
cyblsj = #{cyblsj},
|
||||||
|
bbsjblsj = #{bbsjblsj},
|
||||||
|
ybrl = #{ybrl},
|
||||||
|
qsyljg = #{qsyljg}
|
||||||
|
where sqh = #{sqh}
|
||||||
|
</update>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|||||||
@ -0,0 +1,15 @@
|
|||||||
|
<?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.interfaceCommon.mapper.LabReqsteplogMapper">
|
||||||
|
<select id="getLabReqsteplogOne" resultType="com.czlis.common.core.domain.entity.lis.LabReqsteplog">
|
||||||
|
select * from lab_reqsteplog where sqh = #{sqh} and xh=#{xh}
|
||||||
|
</select>
|
||||||
|
<select id="getLabReqsteplog" resultType="com.czlis.common.core.domain.entity.lis.LabReqsteplog">
|
||||||
|
select * from lab_reqsteplog where sqh = #{sqh}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</mapper>
|
||||||
@ -25,7 +25,7 @@
|
|||||||
<if test="sex != null and sex != ''">
|
<if test="sex != null and sex != ''">
|
||||||
and xb = #{sex}
|
and xb = #{sex}
|
||||||
</if>
|
</if>
|
||||||
<if test="age != null and age != 0">
|
<if test="age != null ">
|
||||||
and nl2 >= #{age} and #{age}>=nl1
|
and nl2 >= #{age} and #{age}>=nl1
|
||||||
</if>
|
</if>
|
||||||
<if test="zd != null ">
|
<if test="zd != null ">
|
||||||
|
|||||||
@ -50,10 +50,10 @@ public class LisWorkOperController extends BaseController {
|
|||||||
*/
|
*/
|
||||||
@ApiOperation("审核报告")
|
@ApiOperation("审核报告")
|
||||||
@GetMapping("/check2")
|
@GetMapping("/check2")
|
||||||
public Result check21( Date jyrq, String yq, String ybh, String hdys){
|
public Result check2( Date jyrq, String yq, String ybh, String hdys){
|
||||||
log.info("yq:{}", yq);
|
log.info("yq:{}", yq);
|
||||||
hdys="lis";
|
hdys="lis";
|
||||||
|
|
||||||
return lisWorkOperService.check2(jyrq, yq, ybh, hdys);
|
return lisWorkOperService.confirm(jyrq, yq, ybh, hdys);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -10,12 +10,13 @@ import java.util.Map;
|
|||||||
public interface LisWorkOperMapper {
|
public interface LisWorkOperMapper {
|
||||||
Long checkReqClass(@Param("sqh") String sqh,@Param("yq") String yq);
|
Long checkReqClass(@Param("sqh") String sqh,@Param("yq") String yq);
|
||||||
String selectSqxmdh(String sqh);
|
String selectSqxmdh(String sqh);
|
||||||
void sp_setrefs(Map<String,Object> map);
|
void spSetrefs(Map<String,Object> map);
|
||||||
void updatelabresultsqxmdhall(@Param("jyrq") Date jyrq,@Param("yq") String yq,@Param("ybh") String ybh,@Param("sqxmdh") String sqxmdh);
|
void updatelabresultsqxmdhall(@Param("jyrq") Date jyrq,@Param("yq") String yq,@Param("ybh") String ybh,@Param("sqxmdh") String sqxmdh);
|
||||||
void updatelabresultsqxmdh(@Param("jyrq") Date jyrq,@Param("yq") String yq,@Param("ybh") String ybh,@Param("sqh") String sqh);
|
void updatelabresultsqxmdh(@Param("jyrq") Date jyrq,@Param("yq") String yq,@Param("ybh") String ybh,@Param("sqh") String sqh);
|
||||||
List<ResultCalcDTO> getResultCalc(@Param("jyrq") Date jyrq, @Param("yq") String yq, @Param("ybh") String ybh);
|
List<ResultCalcDTO> getResultCalc(@Param("jyrq") Date jyrq, @Param("yq") String yq, @Param("ybh") String ybh);
|
||||||
Integer getLimitCount(Map<String,Object> map);
|
Integer getLimitCount(Map<String,Object> map);
|
||||||
Integer checkresultsqxmdh(@Param("jyrq") Date jyrq,@Param("yq") String yq,@Param("ybh") String ybh,@Param("sqh") String sqh);
|
Integer checkresultsqxmdh(@Param("jyrq") Date jyrq,@Param("yq") String yq,@Param("ybh") String ybh,@Param("sqh") String sqh);
|
||||||
|
String checkresultnosqxmdh(@Param("jyrq") Date jyrq,@Param("yq") String yq,@Param("ybh") String ybh);
|
||||||
Integer checkresultwxh(@Param("jyrq") Date jyrq, @Param("yq") String yq, @Param("ybh") String ybh);
|
Integer checkresultwxh(@Param("jyrq") Date jyrq, @Param("yq") String yq, @Param("ybh") String ybh);
|
||||||
LabPat checkdublereport(@Param("sqh") String sqh, @Param("ybh") String ybh);
|
LabPat checkdublereport(@Param("sqh") String sqh, @Param("ybh") String ybh);
|
||||||
LabPat checkyqdublereport(@Param("sqh") String sqh,@Param("yq") String yq, @Param("ybh") String ybh);
|
LabPat checkyqdublereport(@Param("sqh") String sqh,@Param("yq") String yq, @Param("ybh") String ybh);
|
||||||
|
|||||||
@ -9,5 +9,5 @@ public interface LisWorkOperService {
|
|||||||
Result newPatInfo(Date jyrq,String ybh, String sqh, String yq, Long userId);
|
Result newPatInfo(Date jyrq,String ybh, String sqh, String yq, Long userId);
|
||||||
Result changePat(LabPat labPat);
|
Result changePat(LabPat labPat);
|
||||||
|
|
||||||
Result check2(Date jyrq, String yq, String ybh, String hdys);
|
Result confirm(Date jyrq, String yq, String ybh, String hdys);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,6 +2,7 @@ package com.czlis.liswork.service.impl;
|
|||||||
|
|
||||||
|
|
||||||
import com.czlis.common.core.domain.entity.lis.*;
|
import com.czlis.common.core.domain.entity.lis.*;
|
||||||
|
import com.czlis.common.utils.SecurityUtils;
|
||||||
import com.czlis.common.utils.ServletUtils;
|
import com.czlis.common.utils.ServletUtils;
|
||||||
import com.czlis.common.utils.StringUtils;
|
import com.czlis.common.utils.StringUtils;
|
||||||
import com.czlis.common.utils.ip.IpUtils;
|
import com.czlis.common.utils.ip.IpUtils;
|
||||||
@ -205,7 +206,7 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
|
|||||||
* @param hdys
|
* @param hdys
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public Result check2(Date jyrq, String yq, String ybh, String hdys) {
|
public Result confirm(Date jyrq, String yq, String ybh, String hdys) {
|
||||||
if (hdys == null || "".equals(hdys)) new Result("-1", "审核者为空,无法审核!");
|
if (hdys == null || "".equals(hdys)) new Result("-1", "审核者为空,无法审核!");
|
||||||
//入参通过GET推送时使用ServletUtils.getParameterToInt获取
|
//入参通过GET推送时使用ServletUtils.getParameterToInt获取
|
||||||
//入参通过POSTJSON时使用JsonParamUtils.getParameterToInt获取
|
//入参通过POSTJSON时使用JsonParamUtils.getParameterToInt获取
|
||||||
@ -215,29 +216,43 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
|
|||||||
if (!commonUtil.getUserPower(yq, hdys, 20)) return new Result("-1", "当前核对者无权对本仪器报告审核!");
|
if (!commonUtil.getUserPower(yq, hdys, 20)) return new Result("-1", "当前核对者无权对本仪器报告审核!");
|
||||||
//2:数据合法性校验
|
//2:数据合法性校验
|
||||||
LabPat labPat = commonUtil.getLabPatOne(jyrq, yq, ybh);
|
LabPat labPat = commonUtil.getLabPatOne(jyrq, yq, ybh);
|
||||||
Result result = beforecheck2(labPat, hdys, problemId);
|
labPat.setHdys(hdys);
|
||||||
if ("0".equals(result.getCode())) return result;
|
Result result = beforeconfirm(labPat, problemId);
|
||||||
|
if (!"0".equals(result.getCode())) return result;
|
||||||
//3:数据完整保存
|
//3:数据完整保存
|
||||||
saveallresult(jyrq, yq, ybh);
|
int wjz = saveallresult(labPat);
|
||||||
|
//同步主表危急值标识
|
||||||
|
String alarmflag = labPat.getAlarmflag();
|
||||||
|
if (("1".equals(alarmflag) && wjz != 1)) {
|
||||||
|
labPat.setAlarmflag("1");
|
||||||
|
} else if (("".equals(alarmflag) || alarmflag == null) && wjz == 1) {
|
||||||
|
labPat.setAlarmflag("");
|
||||||
|
}
|
||||||
//4:CA请求业务的处理
|
//4:CA请求业务的处理
|
||||||
//Result result=addCA(jyrq, yq, ybh, hdys);
|
//Result result=addCA(jyrq, yq, ybh, hdys);
|
||||||
//if("0".equals(result.getCode()))return result;
|
//if("0".equals(result.getCode()))return result;
|
||||||
//5:数据状态修改,异步上传接口作业创建
|
//5:数据状态修改,异步上传接口作业创建
|
||||||
Result result1 = aftercheck2(jyrq, yq, ybh, hdys);
|
Result result1 = afterconfirm(labPat, problemId);
|
||||||
if ("0".equals(result1.getCode())) return result1;
|
if (!"0".equals(result1.getCode())) return result1;
|
||||||
return new Result("0", "保存成功!");
|
return new Result("0", "保存成功!");
|
||||||
}
|
}
|
||||||
|
|
||||||
public Result beforecheck2(Date jyrq, String yq, String ybh, String hdys) {
|
/**
|
||||||
|
* 审核前校验数据完整性,审核业务和初审业务都可使用
|
||||||
|
*
|
||||||
|
* @param jyrq
|
||||||
|
* @param yq
|
||||||
|
* @param ybh
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public Result beforeconfirm(Date jyrq, String yq, String ybh) {
|
||||||
int problemId = ServletUtils.getParameterToInt("problemId", 0);
|
int problemId = ServletUtils.getParameterToInt("problemId", 0);
|
||||||
if (hdys == null || "".equals(hdys)) new Result("-1", "审核者为空,无法审核!");
|
|
||||||
LabPat labPat = commonUtil.getLabPatOne(jyrq, yq, ybh);
|
LabPat labPat = commonUtil.getLabPatOne(jyrq, yq, ybh);
|
||||||
return beforecheck2(labPat, hdys, problemId);
|
return beforeconfirm(labPat, problemId);
|
||||||
}
|
}
|
||||||
|
|
||||||
private Result beforecheck2(LabPat labPat, String hdys, Integer problemId) {
|
//内部使用
|
||||||
if (hdys == null || "".equals(hdys)) new Result("-1", "审核者为空,无法审核!");
|
private Result beforeconfirm(LabPat labPat, Integer problemId) {
|
||||||
Date jyrq = labPat.getJyrq();
|
Date jyrq = labPat.getJyrq();
|
||||||
String yq = labPat.getYq();
|
String yq = labPat.getYq();
|
||||||
String ybh = labPat.getYbh();
|
String ybh = labPat.getYbh();
|
||||||
@ -278,7 +293,7 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
List<LabResult> labResultList = commonUtil.getLabResultList(jyrq, yq, ybh);
|
List<LabResult> labResultList = commonUtil.getLabResultList(jyrq, yq, ybh);
|
||||||
if (labResultList == null) return new Result("-1", "结果为空禁止审核!");
|
if (labResultList == null || labResultList.size() == 0) return new Result("-1", "结果为空禁止审核!");
|
||||||
for (LabResult labResult : labResultList) {
|
for (LabResult labResult : labResultList) {
|
||||||
String csjg = labResult.getCsjg();
|
String csjg = labResult.getCsjg();
|
||||||
if ("未做".equals(csjg)) {
|
if ("未做".equals(csjg)) {
|
||||||
@ -308,7 +323,7 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
|
|||||||
if (wxh > 0) return new Result("-1", "有结果为****禁止审核!");
|
if (wxh > 0) return new Result("-1", "有结果为****禁止审核!");
|
||||||
}
|
}
|
||||||
String sqh = labPat.getSqh();
|
String sqh = labPat.getSqh();
|
||||||
if (sqh == null || "".equals(sqh)) {
|
if (sqh != null && !"".equals(sqh)) {
|
||||||
if (!"质控".equals(brlyname)) {
|
if (!"质控".equals(brlyname)) {
|
||||||
if ("1".equals(commonUtil.getHISOPT("sp_dublereport"))) {
|
if ("1".equals(commonUtil.getHISOPT("sp_dublereport"))) {
|
||||||
LabPat labPat0 = lisWorkOperMapper.checkdublereport(sqh, ybh);
|
LabPat labPat0 = lisWorkOperMapper.checkdublereport(sqh, ybh);
|
||||||
@ -329,14 +344,17 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
String Userid = labPat.getHdys();
|
||||||
|
if (Userid == null || "".equals(Userid)) {
|
||||||
|
Userid = SecurityUtils.getLoginUser().getUsername();
|
||||||
|
}
|
||||||
//调用his报告接口,检查外部接口对审核前的定制需求
|
//调用his报告接口,检查外部接口对审核前的定制需求
|
||||||
SetReport setReport = new SetReport();
|
SetReport setReport = new SetReport();
|
||||||
setReport.setIp(IpUtils.getIpAddr());
|
setReport.setIp(IpUtils.getIpAddr());
|
||||||
setReport.setJyrq(DateFormatUtils.format(jyrq, "yyyy-MM-dd"));
|
setReport.setJyrq(DateFormatUtils.format(jyrq, "yyyy-MM-dd"));
|
||||||
setReport.setYq(yq.trim());
|
setReport.setYq(yq.trim());
|
||||||
setReport.setYbh(ybh);
|
setReport.setYbh(ybh);
|
||||||
setReport.setUserid(hdys);
|
setReport.setUserid(Userid);
|
||||||
setReport.setStatus(LisinterfaceNameConstants.REPORTSTART);
|
setReport.setStatus(LisinterfaceNameConstants.REPORTSTART);
|
||||||
Result result = lisInterfaceUtil.invokeLisInterface(LisinterfaceNameConstants.SETREPORT, setReport);
|
Result result = lisInterfaceUtil.invokeLisInterface(LisinterfaceNameConstants.SETREPORT, setReport);
|
||||||
if (result.getCode().equals("5")) {
|
if (result.getCode().equals("5")) {
|
||||||
@ -349,7 +367,63 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
|
|||||||
return new Result("0", "保存成功!");
|
return new Result("0", "保存成功!");
|
||||||
}
|
}
|
||||||
|
|
||||||
public Result aftercheck2(Date jyrq, String yq, String ybh, String hdys) {
|
/**
|
||||||
|
* 审核后步骤,在审核过程中,必须完成审核前校验通过,结果计算值填充,参考值结果标志危急值标志填写完成,最后使用此方法修改状态
|
||||||
|
*
|
||||||
|
* @param jyrq
|
||||||
|
* @param yq
|
||||||
|
* @param ybh
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public Result afterconfirm(Date jyrq, String yq, String ybh) {
|
||||||
|
int problemId = ServletUtils.getParameterToInt("problemId", 0);
|
||||||
|
LabPat labPat = commonUtil.getLabPatOne(jyrq, yq, ybh);
|
||||||
|
return afterconfirm(labPat, problemId);
|
||||||
|
}
|
||||||
|
|
||||||
|
//内部使用
|
||||||
|
private Result afterconfirm(LabPat labPat, Integer problemId) {
|
||||||
|
Date jyrq = labPat.getJyrq();
|
||||||
|
String yq = labPat.getYq();
|
||||||
|
String ybh = labPat.getYbh();
|
||||||
|
String hdys = labPat.getHdys();
|
||||||
|
String itemvs = commonUtil.getHISOPT("itemvs");
|
||||||
|
if ("1".equals(itemvs)) {
|
||||||
|
String yqdl = commonUtil.getYqdl(yq);
|
||||||
|
if (!"细菌仪".equals(yqdl)) {
|
||||||
|
String nullcount = lisWorkOperMapper.checkresultnosqxmdh(jyrq, yq, ybh);
|
||||||
|
if (!"".equals(nullcount) && nullcount != null)
|
||||||
|
return new Result("-1", "报告项目未对应申请项目,请进(收费项目报告项目对照)菜单维护对照:\r\n" + nullcount);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Date Confirmdt = new Date();
|
||||||
|
labPat.setConfirmdt(Confirmdt);
|
||||||
|
labPat.setConfirmer(hdys);
|
||||||
|
labPat.setLastdt(Confirmdt);
|
||||||
|
labPat.setLastuser(hdys);
|
||||||
|
Date dysj = labPat.getDysj();
|
||||||
|
if (dysj == null) dysj = Confirmdt;
|
||||||
|
if (commonUtil.getDateString(dysj).equals(commonUtil.getCurrentDate())) dysj = Confirmdt;
|
||||||
|
Date jysj = labPat.getSqsj();
|
||||||
|
if (jysj.after(dysj)) jysj = dysj;
|
||||||
|
labPat.setDysj(dysj);
|
||||||
|
String sqh = labPat.getSqh();
|
||||||
|
LabReqmain labReqmain = commonUtil.getLabReqmainOne(sqh);
|
||||||
|
if (labReqmain != null) {
|
||||||
|
String zt = labReqmain.getZt();
|
||||||
|
if (SampleStatusConstants.CANCAL.equals(zt)) return new Result("-1", "申请单已作废禁止审核!");
|
||||||
|
labReqmain.setYqdh(yq);
|
||||||
|
labReqmain.setSjsj(jysj);
|
||||||
|
labReqmain.setConfirmer(hdys);
|
||||||
|
labReqmain.setConfirmtime(Confirmdt);
|
||||||
|
labReqmain = checklabReqmainTAT(labReqmain);
|
||||||
|
if (!SampleStatusConstants.CANCAL.equals(zt)) labReqmain.setZt(SampleStatusConstants.CONFIRM);
|
||||||
|
commonUtil.updateLabReqmain(labReqmain);
|
||||||
|
Date cysj = labReqmain.getCysj();
|
||||||
|
if (cysj != null) labPat.setCyrq(cysj);
|
||||||
|
}
|
||||||
|
|
||||||
//调用his报告接口,完成报告同时调用外部接口任务
|
//调用his报告接口,完成报告同时调用外部接口任务
|
||||||
SetReport setReport = new SetReport();
|
SetReport setReport = new SetReport();
|
||||||
setReport.setIp(IpUtils.getIpAddr());
|
setReport.setIp(IpUtils.getIpAddr());
|
||||||
@ -359,10 +433,109 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
|
|||||||
setReport.setUserid(hdys);
|
setReport.setUserid(hdys);
|
||||||
setReport.setStatus(LisinterfaceNameConstants.REPORTEND);
|
setReport.setStatus(LisinterfaceNameConstants.REPORTEND);
|
||||||
Result result = lisInterfaceUtil.invokeLisInterface(LisinterfaceNameConstants.SETREPORT, setReport);
|
Result result = lisInterfaceUtil.invokeLisInterface(LisinterfaceNameConstants.SETREPORT, setReport);
|
||||||
|
if (result.getCode().equals("5")) {
|
||||||
|
if (problemId < 4) {
|
||||||
|
return new Result(result.getCode(), result.getMsg(), 4);
|
||||||
|
}
|
||||||
|
return new Result("0", "保存成功!");
|
||||||
|
}
|
||||||
|
if (!result.getCode().equals("0")) return result;
|
||||||
|
//最后完成
|
||||||
|
labPat.setJgbz(ReportStatusConstants.CONFIRM);
|
||||||
|
commonUtil.updateLabPat(labPat);
|
||||||
return new Result("0", "保存成功!");
|
return new Result("0", "保存成功!");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 申请单表校验TAT时间顺序,恢复时间倒置的时间轴
|
||||||
|
*
|
||||||
|
* @param labReqmain
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
private LabReqmain checklabReqmainTAT(LabReqmain labReqmain) {
|
||||||
|
if (labReqmain != null) {
|
||||||
|
Date confirmtime = labReqmain.getConfirmtime();
|
||||||
|
Date jysj = labReqmain.getSjsj();
|
||||||
|
String sqh = labReqmain.getSqh();
|
||||||
|
Date zxsj = labReqmain.getZxsj();
|
||||||
|
Date cysj = labReqmain.getCysj();
|
||||||
|
Date bbsjsj = labReqmain.getBbsjsj();
|
||||||
|
Date jssj = labReqmain.getJssj();
|
||||||
|
Date sjsj = labReqmain.getSjsj();
|
||||||
|
if (sjsj == null) sjsj = jysj;
|
||||||
|
if (sjsj.after(confirmtime)) sjsj = jysj;
|
||||||
|
if (jssj == null) jssj = sjsj;
|
||||||
|
if (jssj.after(confirmtime)) jssj = sjsj;
|
||||||
|
if (bbsjsj != null) {
|
||||||
|
if (bbsjsj.after(jssj) && jysj.after(bbsjsj)) jssj = jysj;
|
||||||
|
}
|
||||||
|
if (cysj != null) {
|
||||||
|
if (cysj.after(jssj) && jysj.after(cysj)) jssj = jysj;
|
||||||
|
}
|
||||||
|
if (jssj.after(sjsj)) sjsj = jysj;
|
||||||
|
|
||||||
|
List<LabReqsteplog> labReqsteplog = commonUtil.getLabReqsteplog(sqh);
|
||||||
|
if (bbsjsj != null && bbsjsj.after(jssj)) {
|
||||||
|
Date sj = jssj;
|
||||||
|
Date finalSj = sj;
|
||||||
|
Optional<LabReqsteplog> maxTimeEntity = labReqsteplog.stream()
|
||||||
|
.filter(entity -> "13".equals(entity.getZt()))
|
||||||
|
.filter(entity -> entity.getChangedate().before(finalSj))
|
||||||
|
.max(Comparator.comparing(LabReqsteplog::getChangedate));
|
||||||
|
if (maxTimeEntity.isPresent()) {
|
||||||
|
sj = maxTimeEntity.get().getChangedate();
|
||||||
|
}
|
||||||
|
bbsjsj = sj;
|
||||||
|
labReqmain.setBbsjsj(bbsjsj);
|
||||||
|
} else {
|
||||||
|
bbsjsj = jssj;
|
||||||
|
}
|
||||||
|
if (cysj != null && cysj.after(bbsjsj)) {
|
||||||
|
Date sj = bbsjsj;
|
||||||
|
Date finalSj = sj;
|
||||||
|
Optional<LabReqsteplog> maxTimeEntity = labReqsteplog.stream()
|
||||||
|
.filter(entity -> "12".equals(entity.getZt()))
|
||||||
|
.filter(entity -> entity.getChangedate().before(finalSj))
|
||||||
|
.max(Comparator.comparing(LabReqsteplog::getChangedate));
|
||||||
|
if (maxTimeEntity.isPresent()) {
|
||||||
|
sj = maxTimeEntity.get().getChangedate();
|
||||||
|
}
|
||||||
|
cysj = sj;
|
||||||
|
labReqmain.setCysj(cysj);
|
||||||
|
}
|
||||||
|
if (cysj != null && zxsj.after(cysj) && bbsjsj.after(zxsj)) {
|
||||||
|
Date sj = bbsjsj;
|
||||||
|
Date finalSj = sj;
|
||||||
|
Optional<LabReqsteplog> maxTimeEntity = labReqsteplog.stream()
|
||||||
|
.filter(entity -> "12".equals(entity.getZt()))
|
||||||
|
.filter(entity -> entity.getChangedate().before(finalSj))
|
||||||
|
.max(Comparator.comparing(LabReqsteplog::getChangedate));
|
||||||
|
if (maxTimeEntity.isPresent()) {
|
||||||
|
cysj = maxTimeEntity.get().getChangedate();
|
||||||
|
} else cysj = zxsj;
|
||||||
|
labReqmain.setCysj(cysj);
|
||||||
|
} else {
|
||||||
|
cysj = bbsjsj;
|
||||||
|
}
|
||||||
|
if (zxsj != null && zxsj.after(cysj)) {
|
||||||
|
Date sj = cysj;
|
||||||
|
Date finalSj = sj;
|
||||||
|
Optional<LabReqsteplog> maxTimeEntity = labReqsteplog.stream()
|
||||||
|
.filter(entity -> "11".equals(entity.getZt()))
|
||||||
|
.filter(entity -> entity.getChangedate().before(finalSj))
|
||||||
|
.max(Comparator.comparing(LabReqsteplog::getChangedate));
|
||||||
|
if (maxTimeEntity.isPresent()) {
|
||||||
|
sj = maxTimeEntity.get().getChangedate();
|
||||||
|
}
|
||||||
|
|
||||||
|
zxsj = sj;
|
||||||
|
labReqmain.setZxsj(zxsj);
|
||||||
|
}
|
||||||
|
labReqmain.setSjsj(sjsj);
|
||||||
|
}
|
||||||
|
return labReqmain;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 保存所有结果的修正值,涉及:空结果清除,计算项目添加,添加单位,添加申请项目编码,参考值重新计算更新,结果标志重新计算更新,危急值标志计算更新
|
* 保存所有结果的修正值,涉及:空结果清除,计算项目添加,添加单位,添加申请项目编码,参考值重新计算更新,结果标志重新计算更新,危急值标志计算更新
|
||||||
*
|
*
|
||||||
@ -372,12 +545,21 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
|
|||||||
public Result saveallresult(Date jyrq, String yq, String ybh) {
|
public Result saveallresult(Date jyrq, String yq, String ybh) {
|
||||||
//查询病人信息
|
//查询病人信息
|
||||||
LabPat labPat = commonUtil.getLabPatOne(jyrq, yq, ybh);
|
LabPat labPat = commonUtil.getLabPatOne(jyrq, yq, ybh);
|
||||||
saveallresult(labPat);
|
int wjz = saveallresult(labPat);
|
||||||
|
//同步主表危急值标识
|
||||||
|
String alarmflag = labPat.getAlarmflag();
|
||||||
|
if (("1".equals(alarmflag) && wjz != 1)) {
|
||||||
|
labPat.setAlarmflag("1");
|
||||||
|
commonUtil.updateLabPat(labPat);
|
||||||
|
} else if (("".equals(alarmflag) || alarmflag == null) && wjz == 1) {
|
||||||
|
labPat.setAlarmflag("");
|
||||||
|
commonUtil.updateLabPat(labPat);
|
||||||
|
}
|
||||||
return new Result("0", "保存成功!");
|
return new Result("0", "保存成功!");
|
||||||
}
|
}
|
||||||
|
|
||||||
//内部使用
|
//内部使用
|
||||||
private void saveallresult(LabPat labPat) {
|
private int saveallresult(LabPat labPat) {
|
||||||
Date jyrq = labPat.getJyrq();
|
Date jyrq = labPat.getJyrq();
|
||||||
String yq = labPat.getYq();
|
String yq = labPat.getYq();
|
||||||
String ybh = labPat.getYbh();
|
String ybh = labPat.getYbh();
|
||||||
@ -389,10 +571,11 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
|
|||||||
//计算项目更新
|
//计算项目更新
|
||||||
calcsample(labPat);
|
calcsample(labPat);
|
||||||
//保存最新参考值结果标志
|
//保存最新参考值结果标志
|
||||||
saverefs(labPat);
|
int wjz = saverefs(labPat);
|
||||||
//补写结果表申请单项目编号
|
//补写结果表申请单项目编号
|
||||||
String sqh = labPat.getYbh();
|
String sqh = labPat.getSqh();
|
||||||
if (sqh != null && !"".equals(sqh)) setItemSqxmdh(jyrq, yq, ybh, sqh);
|
if (sqh != null && !"".equals(sqh)) setItemSqxmdh(jyrq, yq, ybh, sqh);
|
||||||
|
return wjz;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -412,8 +595,7 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
|
|||||||
|
|
||||||
//内部使用
|
//内部使用
|
||||||
private void setItemSqxmdh(Date jyrq, String yq, String ybh, String sqh) {
|
private void setItemSqxmdh(Date jyrq, String yq, String ybh, String sqh) {
|
||||||
if (sqh == null || "".equals(sqh)) {
|
if (sqh != null && !"".equals(sqh)) {
|
||||||
} else {
|
|
||||||
int sl = labReqdetailMapper.getCountByKey(sqh);
|
int sl = labReqdetailMapper.getCountByKey(sqh);
|
||||||
if (sl == 1) {
|
if (sl == 1) {
|
||||||
String sqxmdh = lisWorkOperMapper.selectSqxmdh(sqh);
|
String sqxmdh = lisWorkOperMapper.selectSqxmdh(sqh);
|
||||||
@ -449,28 +631,45 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
|
|||||||
String xmdh = resultCalc.getJsxm();
|
String xmdh = resultCalc.getJsxm();
|
||||||
if (!xmdhold.equals(xmdh)) {
|
if (!xmdhold.equals(xmdh)) {
|
||||||
xmdhold = xmdh;
|
xmdhold = xmdh;
|
||||||
String sex = labPat.getBrxb().trim();
|
boolean setjgsg = true;
|
||||||
if ("1".equals(sex)) sex = "男";
|
|
||||||
if ("2".equals(sex)) sex = "女";
|
|
||||||
double age = AgeUtils.getDecimalAge(AgeUtils.getBirthDateByAge(labPat.getNl(), labPat.getNldw()));
|
|
||||||
Map<String, String> variables = new HashMap<>();
|
Map<String, String> variables = new HashMap<>();
|
||||||
variables.put("SEX", sex); // 示例值
|
String[] parameters = CalcUtils.getParameters(jsgs);
|
||||||
variables.put("AGE", String.valueOf(age));
|
for (int i = 0; i < parameters.length; i++) {
|
||||||
String result = CalcUtils.getValueFromCalc(jsgs, variables);
|
String itemcode = parameters[i];
|
||||||
if (result != null && !result.trim().isEmpty()) {
|
if ("SEX".equals(itemcode)) {
|
||||||
//插入结果值
|
String sex = labPat.getBrxb().trim();
|
||||||
LabResult labResult = commonUtil.getLabResult(jyrq, yq, ybh, xmdh);
|
if ("1".equals(sex)) sex = "男";
|
||||||
if (labResult == null) {
|
if ("2".equals(sex)) sex = "女";
|
||||||
labResult = new LabResult();
|
variables.put("SEX", sex);
|
||||||
labResult.setJyrq(jyrq);
|
} else if ("AGE".equals(itemcode)) {
|
||||||
labResult.setYq(yq);
|
double age = AgeUtils.getDecimalAge(AgeUtils.getBirthDateByAge(labPat.getNl(), labPat.getNldw()));
|
||||||
labResult.setYbh(ybh);
|
variables.put("AGE", String.valueOf(age));
|
||||||
labResult.setXmdh(xmdh);
|
|
||||||
labResult.setCsjg(result);
|
|
||||||
commonUtil.insertLabResult(labResult);
|
|
||||||
} else {
|
} else {
|
||||||
labResult.setCsjg(result);
|
List<ResultCalcDTO> collect = resultCalcDTO.stream().filter(result -> result.getXmdh().equals(itemcode)).collect(Collectors.toList());
|
||||||
commonUtil.updateLabResult(labResult);
|
if (collect.size() > 0) {
|
||||||
|
variables.put(itemcode, collect.get(0).getCsjg());
|
||||||
|
} else {
|
||||||
|
setjgsg = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (setjgsg) {
|
||||||
|
String result = CalcUtils.getValueFromCalc(jsgs, variables);
|
||||||
|
if (result != null && !result.trim().isEmpty()) {
|
||||||
|
//插入结果值
|
||||||
|
LabResult labResult = commonUtil.getLabResult(jyrq, yq, ybh, xmdh);
|
||||||
|
if (labResult == null) {
|
||||||
|
labResult = new LabResult();
|
||||||
|
labResult.setJyrq(jyrq);
|
||||||
|
labResult.setYq(yq);
|
||||||
|
labResult.setYbh(ybh);
|
||||||
|
labResult.setXmdh(xmdh);
|
||||||
|
labResult.setCsjg(result);
|
||||||
|
commonUtil.insertLabResult(labResult);
|
||||||
|
} else {
|
||||||
|
labResult.setCsjg(result);
|
||||||
|
commonUtil.updateLabResult(labResult);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -486,7 +685,16 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
|
|||||||
*/
|
*/
|
||||||
public Result saverefs(Date jyrq, String yq, String ybh) {
|
public Result saverefs(Date jyrq, String yq, String ybh) {
|
||||||
LabPat labPat = commonUtil.getLabPatOne(jyrq, yq, ybh);
|
LabPat labPat = commonUtil.getLabPatOne(jyrq, yq, ybh);
|
||||||
saverefs(labPat);
|
int wjz = saverefs(labPat);
|
||||||
|
//同步主表危急值标识
|
||||||
|
String alarmflag = labPat.getAlarmflag();
|
||||||
|
if (("1".equals(alarmflag) && wjz != 1)) {
|
||||||
|
labPat.setAlarmflag("1");
|
||||||
|
commonUtil.updateLabPat(labPat);
|
||||||
|
} else if (("".equals(alarmflag) || alarmflag == null) && wjz == 1) {
|
||||||
|
labPat.setAlarmflag("");
|
||||||
|
commonUtil.updateLabPat(labPat);
|
||||||
|
}
|
||||||
return new Result("0", "保存成功!");
|
return new Result("0", "保存成功!");
|
||||||
}
|
}
|
||||||
//内部使用
|
//内部使用
|
||||||
@ -511,7 +719,7 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
|
|||||||
map.put("settype", "1");
|
map.put("settype", "1");
|
||||||
map.put("retcode", "");
|
map.put("retcode", "");
|
||||||
map.put("retmsg", "");
|
map.put("retmsg", "");
|
||||||
lisWorkOperMapper.sp_setrefs(map);
|
lisWorkOperMapper.spSetrefs(map);
|
||||||
String retCode = String.valueOf(map.get("retcode"));
|
String retCode = String.valueOf(map.get("retcode"));
|
||||||
String retMsg = String.valueOf(map.get("retmsg"));
|
String retMsg = String.valueOf(map.get("retmsg"));
|
||||||
log.info("调用存储过程{}返回值:{},{}", "sp_setrefs", retCode, retMsg);
|
log.info("调用存储过程{}返回值:{},{}", "sp_setrefs", retCode, retMsg);
|
||||||
@ -546,26 +754,18 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
|
|||||||
}
|
}
|
||||||
//危急值标识去除原则
|
//危急值标识去除原则
|
||||||
String brxm = labPat.getBrxm();
|
String brxm = labPat.getBrxm();
|
||||||
if (brxm.contains("质控") || brxm.contains("复查") || brxm.contains("QC") || brxm.contains("qc") || brxm.contains("软化水") || brxm.contains("锅炉水")) {
|
if(brxm !=null)if (brxm.contains("质控") || brxm.contains("复查") || brxm.contains("QC") || brxm.contains("qc") || brxm.contains("软化水") || brxm.contains("锅炉水")) {
|
||||||
lb_wjz = false;
|
lb_wjz = false;
|
||||||
}
|
}
|
||||||
;
|
;
|
||||||
String brly = labPat.getBrly();
|
String brly = labPat.getBrly();
|
||||||
brly = commonUtil.getComDictNameById("PT", brly);
|
if(brly !=null)brly = commonUtil.getComDictNameById("PT", brly);
|
||||||
if (brly.contains("质控")) lb_wjz = false;
|
if(brly !=null)if (brly.contains("质控")) lb_wjz = false;
|
||||||
String ksdh = labPat.getKsdh();
|
String ksdh = labPat.getKsdh();
|
||||||
ksdh = commonUtil.getComDictNameById("DP", ksdh);
|
if(ksdh !=null)ksdh = commonUtil.getComDictNameById("DP", ksdh);
|
||||||
if (ksdh.contains("检验科")) lb_wjz = false;
|
if(ksdh !=null)if (ksdh.contains("检验科")) lb_wjz = false;
|
||||||
//同步主表危急值标识
|
//同步主表危急值标识
|
||||||
String alarmflag = labPat.getAlarmflag();
|
if (lb_wjz) return 1;
|
||||||
if (("1".equals(alarmflag) && !lb_wjz)) {
|
|
||||||
labPat.setAlarmflag("1");
|
|
||||||
commonUtil.updateLabPat(labPat);
|
|
||||||
} else if (("".equals(alarmflag) || alarmflag == null) && lb_wjz) {
|
|
||||||
labPat.setAlarmflag("");
|
|
||||||
commonUtil.updateLabPat(labPat);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -600,44 +800,41 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
|
|||||||
String ygbb = xmInfo.getYgbb();
|
String ygbb = xmInfo.getYgbb();
|
||||||
String ygzq = xmInfo.getYgzq();
|
String ygzq = xmInfo.getYgzq();
|
||||||
String ygzd = xmInfo.getYgzd();
|
String ygzd = xmInfo.getYgzd();
|
||||||
String sex = "";
|
String sex = null;
|
||||||
if ("Y".equals(ygxb)) {
|
if ("Y".equals(ygxb)) {
|
||||||
sex = labPat.getBrxb().trim();
|
sex = labPat.getBrxb().trim();
|
||||||
if (sex == null) sex = "";
|
if (sex == null) sex = "";
|
||||||
}
|
}
|
||||||
String yblx = "";
|
String yblx = null;
|
||||||
if ("Y".equals(ygbb)) {
|
if ("Y".equals(ygbb)) {
|
||||||
yblx = labPat.getYblx();
|
yblx = labPat.getYblx();
|
||||||
String bb = commonUtil.getComDictIdByName("BT", yblx);
|
String bb = commonUtil.getComDictIdByName("BT", yblx);
|
||||||
if (bb != null && !bb.trim().isEmpty()) yblx = bb;
|
if (bb != null && !bb.trim().isEmpty()) yblx = bb;
|
||||||
}
|
}
|
||||||
String zd = "";
|
String zd = null;
|
||||||
if ("Y".equals(ygzd)) {
|
if ("Y".equals(ygzd)) {
|
||||||
zd = labPat.getZd();
|
zd = labPat.getZd();
|
||||||
String icd10 = commonUtil.getComDictIdByName("ICD10", zd);
|
if (zd == null) {zd="";}
|
||||||
if (icd10 != null && !icd10.trim().isEmpty()) zd = icd10;
|
|
||||||
}
|
}
|
||||||
String slzq = "";
|
String slzq = null;
|
||||||
if ("Y".equals(ygzq)) {
|
if ("Y".equals(ygzq)) {
|
||||||
slzq = labPat.getSlzq();
|
slzq = labPat.getSlzq();
|
||||||
String zq = commonUtil.getComDictIdByName("SLZQ", slzq);
|
if (slzq != null) {
|
||||||
if (zq != null && !zq.trim().isEmpty()) slzq = zq;
|
String zq = commonUtil.getComDictIdByName("SLZQ", slzq);
|
||||||
|
if (zq != null && !zq.trim().isEmpty()) slzq = zq;
|
||||||
|
} else {
|
||||||
|
slzq = "";
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
double age = 0;
|
Double age = null;
|
||||||
if ("Y".equals(ygnl)) {
|
if ("Y".equals(ygnl)) {
|
||||||
age = AgeUtils.getDecimalAge(AgeUtils.getBirthDateByAge(labPat.getNl(), labPat.getNldw()));
|
age = AgeUtils.getDecimalAge(AgeUtils.getBirthDateByAge(labPat.getNl(), labPat.getNldw()));
|
||||||
}
|
}
|
||||||
XmRef xmRef = new XmRef();
|
XmRef xmRef = new XmRef();
|
||||||
if ("Y".equals(ygxb) || "Y".equals(ygbb) || "Y".equals(ygnl) || "Y".equals(ygzd) || "Y".equals(ygzq)) {
|
if ("Y".equals(ygxb) || "Y".equals(ygbb) || "Y".equals(ygnl) || "Y".equals(ygzd) || "Y".equals(ygzq)) {
|
||||||
Map<String, Object> map = new HashMap<>();
|
|
||||||
map.put("yq", yblx);
|
xmRef = commonUtil.getXmRefValue(yq, xmdh, yblx, sex, age, zd, slzq);
|
||||||
map.put("xmdh", sex);
|
|
||||||
map.put("bbtype", yblx);
|
|
||||||
map.put("sex", sex);
|
|
||||||
map.put("age", age);
|
|
||||||
map.put("zd", zd);
|
|
||||||
map.put("slzq", slzq);
|
|
||||||
xmRef = commonUtil.getXmRefValue(map);
|
|
||||||
}
|
}
|
||||||
if (xmRef != null) {
|
if (xmRef != null) {
|
||||||
ckxx = xmRef.getCkxx();
|
ckxx = xmRef.getCkxx();
|
||||||
@ -669,10 +866,10 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
|
|||||||
lmtflag = "P";
|
lmtflag = "P";
|
||||||
resultflag = lmtflag;
|
resultflag = lmtflag;
|
||||||
if ("J".equals(lmtflag)) wjzflag = "H";
|
if ("J".equals(lmtflag)) wjzflag = "H";
|
||||||
|
int wjzf = alarmcondition(labPat, labResult);
|
||||||
|
if (wjzf == 1) wjzflag = "H";//满足特定危机值条件
|
||||||
|
if (wjzf == 0) wjzflag = "";//存在特定危机值条件,但不满足不提示
|
||||||
}
|
}
|
||||||
int wjzf = alarmcondition(labPat, labResult);
|
|
||||||
if (wjzf == 1) wjzflag = "H";//满足特定危机值条件
|
|
||||||
if (wjzf == 0) wjzflag = "";//存在特定危机值条件,但不满足不提示
|
|
||||||
//小数保留位数计算
|
//小数保留位数计算
|
||||||
Integer xsws = xmInfo.getXsws();
|
Integer xsws = xmInfo.getXsws();
|
||||||
if (xsws >= 0) csjg = LisUtil.round(csjg, xsws);
|
if (xsws >= 0) csjg = LisUtil.round(csjg, xsws);
|
||||||
@ -707,11 +904,15 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
|
|||||||
String brxm = "";
|
String brxm = "";
|
||||||
String brdh = "";
|
String brdh = "";
|
||||||
String ksdh = labPat.getKsdh();
|
String ksdh = labPat.getKsdh();
|
||||||
String ksdh1 = commonUtil.getComDictIdByName("BT", ksdh);
|
if (ksdh != null && !ksdh.trim().isEmpty()) {
|
||||||
if (ksdh1 != null && !ksdh1.trim().isEmpty()) ksdh = ksdh1;
|
String ksdh1 = commonUtil.getComDictIdByName("DP", ksdh);
|
||||||
|
if (ksdh1 != null && !ksdh1.trim().isEmpty()) ksdh = ksdh1;
|
||||||
|
}
|
||||||
String ybzt = labPat.getYbzt();
|
String ybzt = labPat.getYbzt();
|
||||||
String ybzt1 = commonUtil.getComDictIdByName("ST", ybzt);
|
if (ybzt != null && !ybzt.trim().isEmpty()) {
|
||||||
if (ybzt1 != null && !ybzt1.trim().isEmpty()) ybzt = ybzt1;
|
String ybzt1 = commonUtil.getComDictIdByName("ST", ybzt);
|
||||||
|
if (ybzt1 != null && !ybzt1.trim().isEmpty()) ybzt = ybzt1;
|
||||||
|
}
|
||||||
String zd = labPat.getZd();
|
String zd = labPat.getZd();
|
||||||
for (XmAlarmdetail xmAlarmdetail : getXmAlarmdetail) {
|
for (XmAlarmdetail xmAlarmdetail : getXmAlarmdetail) {
|
||||||
String samplecondition = xmAlarmdetail.getSamplecondition();
|
String samplecondition = xmAlarmdetail.getSamplecondition();
|
||||||
|
|||||||
@ -16,6 +16,14 @@
|
|||||||
where a.xmdh not in (select b.xmdh from xm_reqitem_vs_reportitem b ,lab_reqdetail c where b.sqxmdh=c.sqxmdh and b.yq=a.yq and c.sqh=#{sqh})
|
where a.xmdh not in (select b.xmdh from xm_reqitem_vs_reportitem b ,lab_reqdetail c where b.sqxmdh=c.sqxmdh and b.yq=a.yq and c.sqh=#{sqh})
|
||||||
and a.yq=#{yq} and a.ybh=#{ybh} and a.jyrq=#{jyrq} AND a.xmdh NOT LIKE 'GLU%'
|
and a.yq=#{yq} and a.ybh=#{ybh} and a.jyrq=#{jyrq} AND a.xmdh NOT LIKE 'GLU%'
|
||||||
|
|
||||||
|
</select>
|
||||||
|
<select id="checkresultnosqxmdh" resultType="String">
|
||||||
|
select (select c.xmmc+ ';' from lab_result a join xm_info c on c.yq=a.yq and c.xmdh=a.xmdh and c.dylx !='3'
|
||||||
|
where a.jyrq=b.jyrq and a.yq=b.yq and a.ybh=b.ybh and isnull(a.sqxmdh,'')='' FOR XML PATH(''))
|
||||||
|
from lab_pat b join lab_instr on lab_instr.yqdl !='细菌仪' and lab_instr.yq=b.yq
|
||||||
|
where b.yq =#{yq} And b.jyrq =#{jyrq} And b.ybh =#{ybh} and b.sqh !=''
|
||||||
|
|
||||||
|
|
||||||
</select>
|
</select>
|
||||||
<select id="checkresultwxh" resultType="Integer">
|
<select id="checkresultwxh" resultType="Integer">
|
||||||
select count(1) from lab_result,xm_info
|
select count(1) from lab_result,xm_info
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user