主业务添加代码
This commit is contained in:
parent
14f6825bc2
commit
baf49b9843
@ -42,4 +42,5 @@ public class LabResult extends BaseEntity {
|
|||||||
private String xmmc;
|
private String xmmc;
|
||||||
private String ygzd;
|
private String ygzd;
|
||||||
private String ygzq;
|
private String ygzq;
|
||||||
|
private Integer xsws;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,19 @@
|
|||||||
|
package com.czlis.common.core.domain.entity.lis;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
public class XmCalc {
|
||||||
|
|
||||||
|
private String yq;
|
||||||
|
private String jsxm;
|
||||||
|
private String xmdh;
|
||||||
|
private String jsgs;
|
||||||
|
private String bz;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,12 @@
|
|||||||
|
package com.czlis.interfaceCommon.mapper;
|
||||||
|
|
||||||
|
import com.czlis.common.core.domain.entity.lis.XmCalc;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public interface XmCalcMapper {
|
||||||
|
List<XmCalc> getXmCalcList(String yq);
|
||||||
|
List<XmCalc> getXmCalc(@Param("yq") String yq,@Param("jsxm") String jsxm);
|
||||||
|
List<XmCalc> getXmCalcbyxmdh(@Param("yq")String yq,@Param("xmdh") String xmdh);
|
||||||
|
}
|
||||||
@ -55,6 +55,8 @@ public class CommonUtil {
|
|||||||
ComLogMapper comLogMapper;
|
ComLogMapper comLogMapper;
|
||||||
@Autowired
|
@Autowired
|
||||||
LabRefusedMapper labRefusedMapper;
|
LabRefusedMapper labRefusedMapper;
|
||||||
|
@Autowired
|
||||||
|
XmCalcMapper xmCalcMapper;
|
||||||
|
|
||||||
//====检验主表操作方法集合===
|
//====检验主表操作方法集合===
|
||||||
public LabPat getLabPatOne(Date jyrq, String yq, String ybh) {
|
public LabPat getLabPatOne(Date jyrq, String yq, String ybh) {
|
||||||
@ -169,6 +171,7 @@ public class CommonUtil {
|
|||||||
return xmInfoMapper.getXmInfo(yq, xmdh);
|
return xmInfoMapper.getXmInfo(yq, xmdh);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public List<XmRef> getXmRefList(String yq) {
|
public List<XmRef> getXmRefList(String yq) {
|
||||||
return xmRefMapper.getXmRefList(yq);
|
return xmRefMapper.getXmRefList(yq);
|
||||||
}
|
}
|
||||||
@ -193,6 +196,13 @@ public class CommonUtil {
|
|||||||
return xmAlarmdetailMapper.getXmAlarmdetail(yq, xmdh);
|
return xmAlarmdetailMapper.getXmAlarmdetail(yq, xmdh);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<XmAlarmdetail> getXmAlarmdetailList(String yq) {
|
||||||
|
return xmAlarmdetailMapper.getXmAlarmdetailList(yq);
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<XmCalc> getXmCalcList(String yq) {
|
||||||
|
return xmCalcMapper.getXmCalcList(yq);
|
||||||
|
}
|
||||||
public Integer insertComLog(ComLog comLog) {
|
public Integer insertComLog(ComLog comLog) {
|
||||||
return comLogMapper.insertComLog(comLog);
|
return comLogMapper.insertComLog(comLog);
|
||||||
}
|
}
|
||||||
@ -322,6 +332,14 @@ public class CommonUtil {
|
|||||||
if (comOpt1 != null) {
|
if (comOpt1 != null) {
|
||||||
ComOptionUtils.setOptCache(yq, xxdh, comOpt1);
|
ComOptionUtils.setOptCache(yq, xxdh, comOpt1);
|
||||||
return comOpt1.getXxqz();
|
return comOpt1.getXxqz();
|
||||||
|
}else{
|
||||||
|
ComOpt comOpt2=new ComOpt();
|
||||||
|
comOpt2.setBz("");
|
||||||
|
comOpt2.setXxdh(xxdh);
|
||||||
|
comOpt2.setYq(yq);
|
||||||
|
comOpt2.setXxqz("");
|
||||||
|
comOpt2.setXxlb("");
|
||||||
|
ComOptionUtils.setOptCache(yq, xxdh, comOpt2);
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -23,7 +23,7 @@
|
|||||||
select
|
select
|
||||||
lab_result.jyrq, lab_result.yq, lab_result.ybh, lab_result.xmdh, wyh, csjg, od, cutoff, lab_result.jgbz, bz1, bz2, yhdh, instrid, operdt,
|
lab_result.jyrq, lab_result.yq, lab_result.ybh, lab_result.xmdh, wyh, csjg, od, cutoff, lab_result.jgbz, bz1, bz2, yhdh, instrid, operdt,
|
||||||
operna, refs, flag, lab_result.dw, result_flag, alarm_flag, redo_flag, sqxmdh, redo_text,xm_info.xmmc,xm_info.ygzq,xm_info.ygzd
|
operna, refs, flag, lab_result.dw, result_flag, alarm_flag, redo_flag, sqxmdh, redo_text,xm_info.xmmc,xm_info.ygzq,xm_info.ygzd
|
||||||
,textresult
|
,textresult,xm_info.xsws
|
||||||
from lab_result join xm_info on xm_info.yq=lab_result.yq and xm_info.xmdh=lab_result.xmdh
|
from lab_result join xm_info on xm_info.yq=lab_result.yq and xm_info.xmdh=lab_result.xmdh
|
||||||
<where>
|
<where>
|
||||||
<if test="jyrq != null ">
|
<if test="jyrq != null ">
|
||||||
@ -41,7 +41,7 @@
|
|||||||
select
|
select
|
||||||
lab_result.jyrq, lab_result.yq, lab_result.ybh, lab_result.xmdh, wyh, csjg, od, cutoff, lab_result.jgbz, bz1, bz2, yhdh, instrid, operdt,
|
lab_result.jyrq, lab_result.yq, lab_result.ybh, lab_result.xmdh, wyh, csjg, od, cutoff, lab_result.jgbz, bz1, bz2, yhdh, instrid, operdt,
|
||||||
operna, refs, flag, lab_result.dw, result_flag, alarm_flag, redo_flag, sqxmdh, redo_text,xm_info.xmmc,xm_info.ygzq,xm_info.ygzd
|
operna, refs, flag, lab_result.dw, result_flag, alarm_flag, redo_flag, sqxmdh, redo_text,xm_info.xmmc,xm_info.ygzq,xm_info.ygzd
|
||||||
,textresult
|
,textresult,xm_info.xsws
|
||||||
from lab_result join xm_info on xm_info.yq=lab_result.yq and xm_info.xmdh=lab_result.xmdh
|
from lab_result join xm_info on xm_info.yq=lab_result.yq and xm_info.xmdh=lab_result.xmdh
|
||||||
<where>
|
<where>
|
||||||
<if test="jyrq != null ">
|
<if test="jyrq != null ">
|
||||||
|
|||||||
@ -0,0 +1,16 @@
|
|||||||
|
<?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.XmCalcMapper">
|
||||||
|
|
||||||
|
<select id="getXmCalcList" resultType="com.czlis.common.core.domain.entity.lis.XmCalc">
|
||||||
|
SELECT * FROM xm_calc WHERE yq=#{yq}
|
||||||
|
</select>
|
||||||
|
<select id="getXmCalc" resultType="com.czlis.common.core.domain.entity.lis.XmCalc">
|
||||||
|
SELECT * FROM xm_calc WHERE yq=#{yq} and jsxm=#{jsxm}
|
||||||
|
</select>
|
||||||
|
<select id="getXmCalcbyxmdh" resultType="com.czlis.common.core.domain.entity.lis.XmCalc">
|
||||||
|
SELECT * FROM xm_calc WHERE yq=#{yq}
|
||||||
|
and jsxm=(select jsxm from xm_calc a where a.yq=#{yq} and a.xmdh=#{xmdh})
|
||||||
|
</select>
|
||||||
|
</mapper>
|
||||||
@ -23,6 +23,7 @@ import com.czlis.liswork.mapper.dict.LabInstrvsreqclassMapper;
|
|||||||
import com.czlis.liswork.pojo.DTO.ResultCalcDTO;
|
import com.czlis.liswork.pojo.DTO.ResultCalcDTO;
|
||||||
import com.czlis.liswork.service.LisWorkOperService;
|
import com.czlis.liswork.service.LisWorkOperService;
|
||||||
|
|
||||||
|
import com.czlis.liswork.utils.LisWorkUtil;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import lombok.val;
|
import lombok.val;
|
||||||
import org.apache.commons.lang3.time.DateFormatUtils;
|
import org.apache.commons.lang3.time.DateFormatUtils;
|
||||||
@ -51,6 +52,8 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
|
|||||||
LabReqdetailMapper labReqdetailMapper;
|
LabReqdetailMapper labReqdetailMapper;
|
||||||
@Autowired
|
@Autowired
|
||||||
CheckResultUtils checkResultUtils;
|
CheckResultUtils checkResultUtils;
|
||||||
|
@Autowired
|
||||||
|
private LisWorkUtil lisWorkUtil;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Result newPatInfo(Date jyrq, String ybh, String sqh, String yq, Long userId) {
|
public Result newPatInfo(Date jyrq, String ybh, String sqh, String yq, Long userId) {
|
||||||
@ -215,33 +218,47 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
|
|||||||
//入参通过GET推送时使用ServletUtils.getParameterToInt获取
|
//入参通过GET推送时使用ServletUtils.getParameterToInt获取
|
||||||
//入参通过POSTJSON时使用JsonParamUtils.getParameterToInt获取
|
//入参通过POSTJSON时使用JsonParamUtils.getParameterToInt获取
|
||||||
int problemId = ServletUtils.getParameterToInt("problemId", 0);
|
int problemId = ServletUtils.getParameterToInt("problemId", 0);
|
||||||
|
LabPat labPat = commonUtil.getLabPatOne(jyrq, yq, ybh);
|
||||||
//1,审核权限校验
|
|
||||||
if (!commonUtil.getUserPower(yq, hdys, 20)) return new Result("-1", "当前核对者无权对本仪器报告审核!");
|
|
||||||
//2:数据合法性校验
|
|
||||||
LabPat labPat = commonUtil.getLabPatOne(jyrq, yq, ybh);
|
|
||||||
labPat.setHdys(hdys);
|
labPat.setHdys(hdys);
|
||||||
Result result = beforeconfirm(labPat, 2, problemId);
|
List<LabResult> labResultList = commonUtil.getLabResultList(jyrq, yq, ybh);
|
||||||
if (!"0".equals(result.getCode())) return result;
|
if(problemId<3) {
|
||||||
//3:数据完整保存
|
//1,审核权限校验
|
||||||
int wjz = saveallresult(labPat);
|
if (!commonUtil.getUserPower(yq, hdys, 20)) return new Result("-1", "当前核对者无权对本仪器报告审核!");
|
||||||
//同步主表危急值标识
|
//2:数据合法性校验
|
||||||
String alarmflag = labPat.getAlarmflag();
|
Result result0 = beforeconfirm(labPat, labResultList, 2, problemId);
|
||||||
if (("1".equals(alarmflag) && wjz != 1)) {
|
if (!"0".equals(result0.getCode())) return result0;
|
||||||
labPat.setAlarmflag("1");
|
|
||||||
commonUtil.updateLabPat(labPat);
|
|
||||||
} else if (("".equals(alarmflag) || alarmflag == null) && wjz == 1) {
|
|
||||||
labPat.setAlarmflag("");
|
|
||||||
commonUtil.updateLabPat(labPat);
|
|
||||||
}
|
}
|
||||||
//医学审核条件判断
|
if(problemId<3) problemId = 3;
|
||||||
if (problemId < 3) problemId = 3;
|
if(problemId<4) {
|
||||||
result = chksample(labPat, problemId);
|
//3:数据完整保存
|
||||||
if ("99".equals(result.getCode())) {
|
labResultList = saveallresult(labPat, labResultList);
|
||||||
labPat.setBz(result.getMsg());
|
boolean wjz = getAlarmFlag(labResultList);
|
||||||
result.setCode("0");
|
//同步主表危急值标识
|
||||||
|
String alarmflag = labPat.getAlarmflag();
|
||||||
|
if (("1".equals(alarmflag) && !wjz)) {
|
||||||
|
labPat.setAlarmflag("1");
|
||||||
|
commonUtil.updateLabPat(labPat);
|
||||||
|
} else if (("".equals(alarmflag) || alarmflag == null) && wjz) {
|
||||||
|
labPat.setAlarmflag("");
|
||||||
|
commonUtil.updateLabPat(labPat);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(problemId<4) problemId = 4;
|
||||||
|
if(problemId<5) {
|
||||||
|
//医学审核条件判断
|
||||||
|
Result result = chksample(labPat, labResultList, problemId);
|
||||||
|
if (!"0".equals(result.getCode())) return result;
|
||||||
|
}
|
||||||
|
if(problemId<5) problemId = 5;
|
||||||
|
if(problemId<99) {
|
||||||
|
//高级医学审核条件判断
|
||||||
|
Result result = chksamplenew(labPat, labResultList, problemId);
|
||||||
|
if ("99".equals(result.getCode())) {
|
||||||
|
labPat.setBz(result.getMsg());
|
||||||
|
result.setCode("0");
|
||||||
|
}
|
||||||
|
if (!"0".equals(result.getCode())) return result;
|
||||||
}
|
}
|
||||||
if (!"0".equals(result.getCode())) return result;
|
|
||||||
if (problemId < 99) problemId = 99;
|
if (problemId < 99) problemId = 99;
|
||||||
//4:CA请求业务的处理
|
//4:CA请求业务的处理
|
||||||
//Result result=addCA(jyrq, yq, ybh, hdys);
|
//Result result=addCA(jyrq, yq, ybh, hdys);
|
||||||
@ -263,11 +280,12 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
|
|||||||
public Result beforeconfirm(Date jyrq, String yq, String ybh) {
|
public Result beforeconfirm(Date jyrq, String yq, String ybh) {
|
||||||
int problemId = ServletUtils.getParameterToInt("problemId", 0);
|
int problemId = ServletUtils.getParameterToInt("problemId", 0);
|
||||||
LabPat labPat = commonUtil.getLabPatOne(jyrq, yq, ybh);
|
LabPat labPat = commonUtil.getLabPatOne(jyrq, yq, ybh);
|
||||||
return beforeconfirm(labPat, 2, problemId);
|
List<LabResult> labResultList = commonUtil.getLabResultList(jyrq, yq, ybh);
|
||||||
|
return beforeconfirm(labPat, labResultList,2, problemId);
|
||||||
}
|
}
|
||||||
|
|
||||||
//内部使用
|
//内部使用
|
||||||
private Result beforeconfirm(LabPat labPat, Integer checktype, Integer problemId) {
|
private Result beforeconfirm(LabPat labPat,List<LabResult> labResultList, Integer checktype, 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();
|
||||||
@ -310,7 +328,6 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
|
|||||||
if ("1".equals(brly) || "3".equals(brly)) return new Result("-1", "门诊住院的病历号不能为空,禁止审核!");
|
if ("1".equals(brly) || "3".equals(brly)) return new Result("-1", "门诊住院的病历号不能为空,禁止审核!");
|
||||||
}
|
}
|
||||||
String yqdl = commonUtil.getYqdl(yq);
|
String yqdl = commonUtil.getYqdl(yq);
|
||||||
List<LabResult> labResultList = commonUtil.getLabResultList(jyrq, yq, ybh);
|
|
||||||
if (labResultList == null || labResultList.size() == 0) 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();
|
||||||
@ -412,27 +429,34 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 医学审核条件判断
|
* 医学审核条件判断
|
||||||
*
|
|
||||||
* @param labPat
|
* @param labPat
|
||||||
* @param problemId
|
* @param problemId
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
private Result chksample(LabPat labPat, Integer problemId) {
|
private Result chksample(LabPat labPat, List<LabResult> labResultList,Integer problemId) {
|
||||||
List<LabResult> labResultList = commonUtil.getLabResultList(labPat.getJyrq(), labPat.getYq(), labPat.getYbh());
|
|
||||||
//医学审核条件判断
|
//医学审核条件判断
|
||||||
if (problemId < 4) {
|
if (problemId < 5) {
|
||||||
String checkvalue = checkResultUtils.chksample(labPat, labResultList);
|
String checkvalue = checkResultUtils.chksample(labPat, labResultList);
|
||||||
if (checkvalue != null && !"".equals(checkvalue)) {
|
if (checkvalue != null && !"".equals(checkvalue)) {
|
||||||
return new Result("5", checkvalue, 4);
|
return new Result("5", checkvalue, 5);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return new Result("0", "保存成功!");
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 高级医学审核条件判断
|
||||||
|
* @param labPat
|
||||||
|
* @param problemId
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
private Result chksamplenew(LabPat labPat, List<LabResult> labResultList,Integer problemId) {
|
||||||
|
//医学审核条件判断
|
||||||
Boolean setbz = false;
|
Boolean setbz = false;
|
||||||
String bz = labPat.getBz();
|
String bz = labPat.getBz();
|
||||||
//医学审核条件判断(新规则),预留99个递归ID
|
//医学审核条件判断(新规则),预留99个递归ID
|
||||||
if (problemId < 4) problemId = 4;
|
if (problemId < 5) problemId = 5;
|
||||||
if (problemId < 99) {
|
if (problemId < 99) {
|
||||||
int xh = problemId - 4;
|
int xh = problemId - 5;
|
||||||
Map<String, Object> chksamplenewvalue = checkResultUtils.chksamplenew(labPat, labResultList, xh);
|
Map<String, Object> chksamplenewvalue = checkResultUtils.chksamplenew(labPat, labResultList, xh);
|
||||||
String chkCode = (String) chksamplenewvalue.get("code");
|
String chkCode = (String) chksamplenewvalue.get("code");
|
||||||
String chkMsg = (String) chksamplenewvalue.get("msg");
|
String chkMsg = (String) chksamplenewvalue.get("msg");
|
||||||
@ -440,7 +464,7 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
|
|||||||
labPat.setBz(bz);
|
labPat.setBz(bz);
|
||||||
xh = (Integer) chksamplenewvalue.get("xh");
|
xh = (Integer) chksamplenewvalue.get("xh");
|
||||||
setbz = (Boolean) chksamplenewvalue.get("setbz");
|
setbz = (Boolean) chksamplenewvalue.get("setbz");
|
||||||
problemId = 4 + xh;
|
problemId = 5 + xh;
|
||||||
if ("5".equals(chkCode)) {
|
if ("5".equals(chkCode)) {
|
||||||
if (setbz) {
|
if (setbz) {
|
||||||
commonUtil.updateLabPat(labPat);
|
commonUtil.updateLabPat(labPat);
|
||||||
@ -455,7 +479,6 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
|
|||||||
}
|
}
|
||||||
return new Result("0", "保存成功!");
|
return new Result("0", "保存成功!");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 审核后步骤,在审核过程中,必须完成审核前校验通过,结果计算值填充,参考值结果标志危急值标志填写完成,最后使用此方法修改状态
|
* 审核后步骤,在审核过程中,必须完成审核前校验通过,结果计算值填充,参考值结果标志危急值标志填写完成,最后使用此方法修改状态
|
||||||
*
|
*
|
||||||
@ -478,11 +501,12 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
|
|||||||
String hdys = labPat.getHdys();
|
String hdys = labPat.getHdys();
|
||||||
String yqdl = commonUtil.getYqdl(yq);
|
String yqdl = commonUtil.getYqdl(yq);
|
||||||
String itemvs = commonUtil.getHISOPT("itemvs");
|
String itemvs = commonUtil.getHISOPT("itemvs");
|
||||||
|
Result ret=new Result("0", "保存成功!");
|
||||||
if ("1".equals(itemvs)) {
|
if ("1".equals(itemvs)) {
|
||||||
if (!"细菌仪".equals(yqdl)) {
|
if (!"细菌仪".equals(yqdl)) {
|
||||||
String nullcount = lisWorkOperMapper.checkresultnosqxmdh(jyrq, yq, ybh);
|
String nullcount = lisWorkOperMapper.checkresultnosqxmdh(jyrq, yq, ybh);
|
||||||
if (!"".equals(nullcount) && nullcount != null)
|
if (!"".equals(nullcount) && nullcount != null)
|
||||||
return new Result("-1", "报告项目未对应申请项目,请进(收费项目报告项目对照)菜单维护对照:\r\n" + nullcount);
|
ret=new Result("3", "警告!"+LisUtil.LINE_SEPARATOR +" 报告项目未对应申请项目,请进(收费项目报告项目对照)菜单维护对照:"+LisUtil.LINE_SEPARATOR + nullcount);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -526,7 +550,7 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
|
|||||||
if (problemId < 100) {
|
if (problemId < 100) {
|
||||||
return new Result(result.getCode(), result.getMsg(), 100);
|
return new Result(result.getCode(), result.getMsg(), 100);
|
||||||
}
|
}
|
||||||
return new Result("0", "保存成功!");
|
return ret;
|
||||||
}
|
}
|
||||||
if (!result.getCode().equals("0")) return result;
|
if (!result.getCode().equals("0")) return result;
|
||||||
//最后完成
|
//最后完成
|
||||||
@ -538,7 +562,7 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
|
|||||||
shcs = shcs + 1;
|
shcs = shcs + 1;
|
||||||
labPat.setShcs(shcs);
|
labPat.setShcs(shcs);
|
||||||
commonUtil.updateLabPat(labPat);
|
commonUtil.updateLabPat(labPat);
|
||||||
return new Result("0", "保存成功!");
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -659,13 +683,14 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
|
|||||||
LabPat labPat = commonUtil.getLabPatOne(jyrq, yq, ybh);
|
LabPat labPat = commonUtil.getLabPatOne(jyrq, yq, ybh);
|
||||||
String finish = labPat.getFinish();
|
String finish = labPat.getFinish();
|
||||||
if (!"细菌仪".equals(yqdl) && finish != null && finsh == 1) labPat.setFinish("1");
|
if (!"细菌仪".equals(yqdl) && finish != null && finsh == 1) labPat.setFinish("1");
|
||||||
int wjz = saveallresult(labPat);
|
labResultList = saveallresult(labPat,labResultList);
|
||||||
|
boolean wjz=getAlarmFlag(labResultList);
|
||||||
//同步主表危急值标识
|
//同步主表危急值标识
|
||||||
String alarmflag = labPat.getAlarmflag();
|
String alarmflag = labPat.getAlarmflag();
|
||||||
if (("1".equals(alarmflag) && wjz != 1)) {
|
if (("1".equals(alarmflag) && !wjz )) {
|
||||||
labPat.setAlarmflag("1");
|
labPat.setAlarmflag("1");
|
||||||
commonUtil.updateLabPat(labPat);
|
commonUtil.updateLabPat(labPat);
|
||||||
} else if (("".equals(alarmflag) || alarmflag == null) && wjz == 1) {
|
} else if (("".equals(alarmflag) || alarmflag == null) && wjz) {
|
||||||
labPat.setAlarmflag("");
|
labPat.setAlarmflag("");
|
||||||
commonUtil.updateLabPat(labPat);
|
commonUtil.updateLabPat(labPat);
|
||||||
}
|
}
|
||||||
@ -673,7 +698,7 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//内部使用
|
//内部使用
|
||||||
private int saveallresult(LabPat labPat) {
|
private List<LabResult> saveallresult(LabPat labPat,List<LabResult> labResultList) {
|
||||||
Date jyrq = labPat.getJyrq();
|
Date jyrq = labPat.getJyrq();
|
||||||
String yq = labPat.getYq();
|
String yq = labPat.getYq();
|
||||||
String ybh = labPat.getYbh();
|
String ybh = labPat.getYbh();
|
||||||
@ -683,19 +708,13 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
|
|||||||
commonUtil.delNullLabResult(jyrq, yq, ybh);
|
commonUtil.delNullLabResult(jyrq, yq, ybh);
|
||||||
}
|
}
|
||||||
//计算项目更新
|
//计算项目更新
|
||||||
calcsample(labPat);
|
labResultList=calcsample(labPat,labResultList);
|
||||||
//保存最新参考值结果标志
|
|
||||||
int wjz = saverefs(labPat);
|
|
||||||
String alarmflag = labPat.getAlarmflag();
|
|
||||||
if (("1".equals(alarmflag) && wjz != 1)) {
|
|
||||||
labPat.setAlarmflag("1");
|
|
||||||
} else if (("".equals(alarmflag) || alarmflag == null) && wjz == 1) {
|
|
||||||
labPat.setAlarmflag("");
|
|
||||||
}
|
|
||||||
//补写结果表申请单项目编号
|
//补写结果表申请单项目编号
|
||||||
String sqh = labPat.getSqh();
|
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;
|
//保存最新参考值结果标志
|
||||||
|
labResultList = saverefs(labPat);
|
||||||
|
return labResultList;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -737,71 +756,92 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
|
|||||||
@Override
|
@Override
|
||||||
public Result calcsample(Date jyrq, String yq, String ybh) {
|
public Result calcsample(Date jyrq, String yq, String ybh) {
|
||||||
LabPat labPat = commonUtil.getLabPatOne(jyrq, yq, ybh);
|
LabPat labPat = commonUtil.getLabPatOne(jyrq, yq, ybh);
|
||||||
calcsample(labPat);
|
List<LabResult> labResultList = commonUtil.getLabResultList(jyrq, yq, ybh);
|
||||||
|
calcsample(labPat,labResultList);
|
||||||
return new Result("0", "保存成功!");
|
return new Result("0", "保存成功!");
|
||||||
}
|
}
|
||||||
|
private List<LabResult> calcsample(LabPat labPat,List<LabResult> labResultList) {
|
||||||
//内部使用
|
|
||||||
private void calcsample(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();
|
||||||
List<ResultCalcDTO> resultCalcDTO = lisWorkOperMapper.getResultCalc(jyrq, yq, ybh);
|
String jsxmold = "";
|
||||||
String xmdhold = "";
|
List<XmCalc> xmCalcList =commonUtil.getXmCalcList(yq);
|
||||||
for (ResultCalcDTO resultCalc : resultCalcDTO) {
|
for (XmCalc xmCalc : xmCalcList) {
|
||||||
String jsgs = resultCalc.getJsgs();
|
String jsxm = xmCalc.getJsxm();
|
||||||
String xmdh = resultCalc.getJsxm();
|
if (!jsxmold.equals(jsxm)) {
|
||||||
if (!xmdhold.equals(xmdh)) {
|
jsxmold = jsxm;
|
||||||
xmdhold = xmdh;
|
String jsgs = xmCalc.getJsgs();
|
||||||
|
String xmdh= xmCalc.getXmdh();
|
||||||
boolean setjgsg = true;
|
boolean setjgsg = true;
|
||||||
|
boolean lb_jsx= false;
|
||||||
Map<String, String> variables = new HashMap<>();
|
Map<String, String> variables = new HashMap<>();
|
||||||
String[] parameters = CalcUtils.getParameters(jsgs);
|
String[] parameters = CalcUtils.getParameters(jsgs);
|
||||||
for (int i = 0; i < parameters.length; i++) {
|
for (int i = 0; i < parameters.length; i++) {
|
||||||
String itemcode = parameters[i];
|
String itemcode = parameters[i];
|
||||||
if ("SEX".equals(itemcode)) {
|
if ("SEX".equals(itemcode)) {
|
||||||
String sex = labPat.getBrxb().trim();
|
String sex = labPat.getBrxb().trim();
|
||||||
// if ("1".equals(sex)) sex = "男";
|
if ("男".equals(sex)) sex = "1";
|
||||||
// if ("2".equals(sex)) sex = "女";
|
if ("女".equals(sex)) sex = "2";
|
||||||
variables.put("SEX", sex);
|
variables.put("SEX", sex);
|
||||||
|
lb_jsx=true;
|
||||||
} else if ("AGE".equals(itemcode)) {
|
} else if ("AGE".equals(itemcode)) {
|
||||||
double age = AgeUtils.getDecimalAge(AgeUtils.getBirthDateByAge(labPat.getNl(), labPat.getNldw()));
|
double age = AgeUtils.getDecimalAge(AgeUtils.getBirthDateByAge(labPat.getNl(), labPat.getNldw()));
|
||||||
variables.put("AGE", String.valueOf(age));
|
variables.put("AGE", String.valueOf(age));
|
||||||
|
lb_jsx=true;
|
||||||
} else {
|
} else {
|
||||||
List<ResultCalcDTO> collect = resultCalcDTO.stream().filter(result -> result.getXmdh().equals(itemcode)).collect(Collectors.toList());
|
List<LabResult> collect = labResultList.stream().filter(result -> result.getXmdh().equals(itemcode)).collect(Collectors.toList());
|
||||||
if (collect.size() > 0) {
|
if (collect.size() > 0) {
|
||||||
variables.put(itemcode, collect.get(0).getCsjg());
|
variables.put(itemcode, collect.get(0).getCsjg());
|
||||||
} else {
|
} else {
|
||||||
setjgsg = false;
|
setjgsg = false;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (setjgsg) {
|
if (setjgsg) {
|
||||||
String result = CalcUtils.getValueFromCalc(jsgs, variables);
|
String result = CalcUtils.getValueFromCalc(jsgs, variables);
|
||||||
|
if("0".equals(result) && lb_jsx)result=null;
|
||||||
if (result != null && !result.trim().isEmpty()) {
|
if (result != null && !result.trim().isEmpty()) {
|
||||||
if(LisUtil.isNumber(result)) {
|
|
||||||
Integer xsws =lisWorkOperMapper.getxsws(yq,xmdh);
|
|
||||||
if (xsws >= 0) result = LisUtil.round(result, xsws);
|
|
||||||
}
|
|
||||||
//插入结果值
|
//插入结果值
|
||||||
LabResult labResult = commonUtil.getLabResult(jyrq, yq, ybh, xmdh);
|
Optional<LabResult> collect0 = labResultList.stream().filter(labR -> labR.getXmdh().equals(jsxm)).findFirst();
|
||||||
if (labResult == null) {
|
if (collect0.isPresent()) {
|
||||||
labResult = new LabResult();
|
LabResult labResult =collect0.get();
|
||||||
|
if(LisUtil.isNumber(result)) {
|
||||||
|
Integer xsws =labResult.getXsws();
|
||||||
|
if (xsws >= 0) result = LisUtil.round(result, xsws);
|
||||||
|
}
|
||||||
|
// log.info("result:{},getCsjg:{}",result,labResult.getCsjg());
|
||||||
|
if(!result.equals(labResult.getCsjg())) {
|
||||||
|
labResult.setCsjg(result);
|
||||||
|
String finalResult = result;
|
||||||
|
collect0.ifPresent(labR -> labR.setCsjg(finalResult));
|
||||||
|
commonUtil.updateLabResult(labResult);
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
XmInfo xmInfo=commonUtil.getXmInfo(yq,xmdh);
|
||||||
|
if(LisUtil.isNumber(result)) {
|
||||||
|
Integer xsws =xmInfo.getXsws();
|
||||||
|
if (xsws >= 0) result = LisUtil.round(result, xsws);
|
||||||
|
}
|
||||||
|
LabResult labResult = new LabResult();
|
||||||
labResult.setJyrq(jyrq);
|
labResult.setJyrq(jyrq);
|
||||||
labResult.setYq(yq);
|
labResult.setYq(yq);
|
||||||
labResult.setYbh(ybh);
|
labResult.setYbh(ybh);
|
||||||
labResult.setXmdh(xmdh);
|
labResult.setXmdh(jsxm);
|
||||||
labResult.setCsjg(result);
|
labResult.setCsjg(result);
|
||||||
commonUtil.insertLabResult(labResult);
|
commonUtil.insertLabResult(labResult);
|
||||||
} else {
|
labResult.setXsws(xmInfo.getXsws());
|
||||||
labResult.setCsjg(result);
|
labResult.setYgzd(xmInfo.getYgzd());
|
||||||
commonUtil.updateLabResult(labResult);
|
labResult.setYgzq(xmInfo.getYgzq());
|
||||||
|
labResult.setXmmc(xmInfo.getXmmc());
|
||||||
|
labResultList.set(labResultList.size(), labResult);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return labResultList;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 计算项目参考值结果异常标志
|
* 计算项目参考值结果异常标志
|
||||||
*
|
*
|
||||||
@ -812,13 +852,14 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
|
|||||||
@Override
|
@Override
|
||||||
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);
|
||||||
int wjz = saverefs(labPat);
|
List<LabResult> labResultList = saverefs(labPat);
|
||||||
|
boolean wjz=getAlarmFlag(labResultList);
|
||||||
//同步主表危急值标识
|
//同步主表危急值标识
|
||||||
String alarmflag = labPat.getAlarmflag();
|
String alarmflag = labPat.getAlarmflag();
|
||||||
if (("1".equals(alarmflag) && wjz != 1)) {
|
if (("1".equals(alarmflag) && !wjz )) {
|
||||||
labPat.setAlarmflag("1");
|
labPat.setAlarmflag("1");
|
||||||
commonUtil.updateLabPat(labPat);
|
commonUtil.updateLabPat(labPat);
|
||||||
} else if (("".equals(alarmflag) || alarmflag == null) && wjz == 1) {
|
} else if (("".equals(alarmflag) || alarmflag == null) && wjz) {
|
||||||
labPat.setAlarmflag("");
|
labPat.setAlarmflag("");
|
||||||
commonUtil.updateLabPat(labPat);
|
commonUtil.updateLabPat(labPat);
|
||||||
}
|
}
|
||||||
@ -832,12 +873,26 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
|
|||||||
* @param labPat
|
* @param labPat
|
||||||
* @return 返回值0正常, 1有危急值明细存在
|
* @return 返回值0正常, 1有危急值明细存在
|
||||||
*/
|
*/
|
||||||
private int saverefs(LabPat labPat) {
|
private List<LabResult> saverefs(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();
|
||||||
String yqdl = commonUtil.getYqdl(yq);
|
String yqdl = commonUtil.getYqdl(yq);
|
||||||
boolean lb_setbj = true, lb_wjz = false;
|
boolean lb_setbj = true, lb_wjz = false,nowjz=false;
|
||||||
|
//危急值标识去除原则 nowjz = true 不能算做危急值
|
||||||
|
String brxm = labPat.getBrxm();
|
||||||
|
if (brxm != null) {
|
||||||
|
if (brxm.contains("质控") || brxm.contains("复查") || brxm.contains("QC") || brxm.contains("qc") || brxm.contains("软化水") || brxm.contains("锅炉水")) {
|
||||||
|
nowjz = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
String brly = labPat.getBrly();
|
||||||
|
if (brly != null) brly = commonUtil.getComDictNameById("PT", brly);
|
||||||
|
if (brly != null) if (brly.contains("质控")) nowjz = true;
|
||||||
|
String ksdh = labPat.getKsdh();
|
||||||
|
if (ksdh != null) ksdh = commonUtil.getComDictNameById("DP", ksdh);
|
||||||
|
if (ksdh != null) if (ksdh.contains("检验科")) nowjz = true;
|
||||||
|
List<LabResult> labResultList = null;
|
||||||
if (!"细菌仪".equals(yqdl)) {
|
if (!"细菌仪".equals(yqdl)) {
|
||||||
Map<String, Object> map = new HashMap<>();
|
Map<String, Object> map = new HashMap<>();
|
||||||
map.put("jyrq", jyrq);
|
map.put("jyrq", jyrq);
|
||||||
@ -851,7 +906,10 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
|
|||||||
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);
|
||||||
if (retCode == null || "".equals(retCode) || "-1".equals(retCode)) lb_setbj = false;
|
if (retCode == null || "".equals(retCode) || "-1".equals(retCode)) lb_setbj = false;
|
||||||
List<LabResult> labResultList = commonUtil.getLabResultList(jyrq, yq, ybh);
|
labResultList = commonUtil.getLabResultList(jyrq, yq, ybh);
|
||||||
|
List<XmInfo> xmInfoList= commonUtil.getXmInfoList(yq);
|
||||||
|
List<XmAlarmdetail> xmAlarmdetailList=null;
|
||||||
|
if(!nowjz){xmAlarmdetailList =commonUtil.getXmAlarmdetailList(yq);}
|
||||||
for (LabResult labResult : labResultList) {
|
for (LabResult labResult : labResultList) {
|
||||||
String csjg = labResult.getCsjg();
|
String csjg = labResult.getCsjg();
|
||||||
boolean lb_nummode = LisUtil.isTureNumber(csjg);
|
boolean lb_nummode = LisUtil.isTureNumber(csjg);
|
||||||
@ -859,43 +917,50 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
|
|||||||
String ygzd = labResult.getYgzd();
|
String ygzd = labResult.getYgzd();
|
||||||
//当结果为数值并且与周期诊断无关,计算存储过程保存成功后,只进行危急值判断
|
//当结果为数值并且与周期诊断无关,计算存储过程保存成功后,只进行危急值判断
|
||||||
if (lb_nummode && lb_setbj && !"Y".equals(ygzd) && !"Y".equals(ygzq)) {
|
if (lb_nummode && lb_setbj && !"Y".equals(ygzd) && !"Y".equals(ygzq)) {
|
||||||
int wjz = alarmcondition(labPat, labResult);
|
if(nowjz){
|
||||||
if (wjz != -1) {//危急值标识特殊判断存在时优先使用特殊结果
|
String resultalarmflag1 = labResult.getAlarmFlag();
|
||||||
String resultalarmflag = labResult.getAlarmFlag();
|
if (!"".equals(resultalarmflag1) && resultalarmflag1 != null){
|
||||||
if (("".equals(resultalarmflag) && lb_wjz)) {
|
|
||||||
String jgbz = labResult.getJgbz();
|
|
||||||
if (jgbz == null || !"L".equals(jgbz)) jgbz = "H";
|
|
||||||
labResult.setAlarmFlag(jgbz);
|
|
||||||
commonUtil.updateLabResult(labResult);
|
|
||||||
} else if (!"".equals(resultalarmflag) && !lb_wjz) {
|
|
||||||
labResult.setAlarmFlag("");
|
labResult.setAlarmFlag("");
|
||||||
commonUtil.updateLabResult(labResult);
|
commonUtil.updateLabResult(labResult);
|
||||||
}
|
}
|
||||||
|
}else {
|
||||||
|
String xmdh=labResult.getXmdh();
|
||||||
|
List<XmAlarmdetail> getXmAlarmdetail = xmAlarmdetailList.stream().filter(detail-> detail.getXmdh().equals(xmdh)).collect(Collectors.toList());
|
||||||
|
int wjz = alarmcondition(labPat, labResult, getXmAlarmdetail);
|
||||||
|
if (wjz != -1) {//危急值标识特殊判断存在时优先使用特殊结果
|
||||||
|
String resultalarmflag = labResult.getAlarmFlag();
|
||||||
|
if (("".equals(resultalarmflag) && lb_wjz)) {
|
||||||
|
String jgbz = labResult.getJgbz();
|
||||||
|
if (jgbz == null || !"L".equals(jgbz)) jgbz = "H";
|
||||||
|
labResult.setAlarmFlag(jgbz);
|
||||||
|
commonUtil.updateLabResult(labResult);
|
||||||
|
} else if (!"".equals(resultalarmflag) && !lb_wjz) {
|
||||||
|
labResult.setAlarmFlag("");
|
||||||
|
commonUtil.updateLabResult(labResult);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
String resultalarmflag1 = labResult.getAlarmFlag();
|
||||||
|
if (!"".equals(resultalarmflag1) && resultalarmflag1 != null) lb_wjz = true;
|
||||||
}
|
}
|
||||||
String resultalarmflag1 = labResult.getAlarmFlag();
|
|
||||||
if (!"".equals(resultalarmflag1) && resultalarmflag1 != null) lb_wjz = true;
|
|
||||||
} else {
|
} else {
|
||||||
int wjz = setrefs(labPat, labResult);
|
String xmdh=labResult.getXmdh();
|
||||||
if (wjz == 1) lb_wjz = true;
|
List<XmInfo> xmInfo0=xmInfoList.stream().filter(xm->xm.getXmdh().equals(xmdh)).collect(Collectors.toList());
|
||||||
|
if(xmInfo0.size()>0){
|
||||||
|
XmInfo xmInfo=xmInfo0.get(0);
|
||||||
|
List<XmAlarmdetail> getXmAlarmdetail = xmAlarmdetailList.stream().filter(detail-> detail.getXmdh().equals(xmdh)).collect(Collectors.toList());
|
||||||
|
LabResult labResult0 = setxmdhrefs(labPat, labResult,xmInfo,getXmAlarmdetail,nowjz);
|
||||||
|
labResult.setCsjg(csjg);
|
||||||
|
labResult.setDw(labResult0.getDw());
|
||||||
|
labResult.setRefs(labResult0.getRefs());
|
||||||
|
labResult.setResultFlag(labResult0.getResultFlag());
|
||||||
|
labResult.setJgbz(labResult0.getJgbz());
|
||||||
|
labResult.setAlarmFlag(labResult0.getAlarmFlag());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//危急值标识去除原则
|
|
||||||
String brxm = labPat.getBrxm();
|
|
||||||
if (brxm != null)
|
|
||||||
if (brxm.contains("质控") || brxm.contains("复查") || brxm.contains("QC") || brxm.contains("qc") || brxm.contains("软化水") || brxm.contains("锅炉水")) {
|
|
||||||
lb_wjz = false;
|
|
||||||
}
|
|
||||||
;
|
|
||||||
String brly = labPat.getBrly();
|
|
||||||
if (brly != null) brly = commonUtil.getComDictNameById("PT", brly);
|
|
||||||
if (brly != null) if (brly.contains("质控")) lb_wjz = false;
|
|
||||||
String ksdh = labPat.getKsdh();
|
|
||||||
if (ksdh != null) ksdh = commonUtil.getComDictNameById("DP", ksdh);
|
|
||||||
if (ksdh != null) if (ksdh.contains("检验科")) lb_wjz = false;
|
|
||||||
//同步主表危急值标识
|
|
||||||
if (lb_wjz) return 1;
|
|
||||||
}
|
}
|
||||||
return 0;
|
return labResultList;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -905,18 +970,16 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
|
|||||||
* @param labResult
|
* @param labResult
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
private int setrefs(LabPat labPat, LabResult labResult) {
|
private LabResult setxmdhrefs(LabPat labPat, LabResult labResult,XmInfo xmInfo,List<XmAlarmdetail> getXmAlarmdetail,boolean nowjz) {
|
||||||
String yq = labPat.getYq();
|
String yq = labPat.getYq();
|
||||||
String resultflag = "M", wjzflag = "";
|
String resultflag = "M", wjzflag = "";
|
||||||
int wjz = 0;
|
|
||||||
String xmdh = labResult.getXmdh();
|
String xmdh = labResult.getXmdh();
|
||||||
String csjg = labResult.getCsjg();
|
String csjg = labResult.getCsjg();
|
||||||
if (csjg == null || csjg.trim().isEmpty()) return 0;
|
if (csjg == null || csjg.trim().isEmpty()) return labResult;
|
||||||
String csjgnew = LisUtil.getOverNumber(csjg.trim());
|
String csjgnew = LisUtil.getOverNumber(csjg.trim());
|
||||||
boolean lb_nummode = LisUtil.isNumber(csjgnew);
|
boolean lb_nummode = LisUtil.isNumber(csjgnew);
|
||||||
//当结果为数值时计算上下限
|
//当结果为数值时计算上下限
|
||||||
if (lb_nummode) {
|
if (lb_nummode) {
|
||||||
XmInfo xmInfo = commonUtil.getXmInfo(yq, xmdh);
|
|
||||||
String dw = xmInfo.getDw();
|
String dw = xmInfo.getDw();
|
||||||
String refs = xmInfo.getDyckz();
|
String refs = xmInfo.getDyckz();
|
||||||
Double ckxx = xmInfo.getCkxx();
|
Double ckxx = xmInfo.getCkxx();
|
||||||
@ -980,14 +1043,15 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
|
|||||||
Double csjgnum = Double.valueOf(csjgnew);
|
Double csjgnum = Double.valueOf(csjgnew);
|
||||||
if (ckxx != null) if (csjgnum < ckxx) resultflag = "L";
|
if (ckxx != null) if (csjgnum < ckxx) resultflag = "L";
|
||||||
if (cksx != null) if (csjgnum > cksx) resultflag = "H";
|
if (cksx != null) if (csjgnum > cksx) resultflag = "H";
|
||||||
int wjzf = alarmcondition(labPat, labResult);
|
if(!nowjz) {
|
||||||
if (wjzf == -1) {
|
int wjzf = alarmcondition(labPat, labResult, getXmAlarmdetail);
|
||||||
if (llimit != null) if (csjgnum < llimit) wjzflag = "L";
|
if (wjzf == -1) {
|
||||||
if (hlimit != null) if (csjgnum > hlimit) wjzflag = "H";
|
if (llimit != null) if (csjgnum < llimit) wjzflag = "L";
|
||||||
} else if (wjzf == 1) {
|
if (hlimit != null) if (csjgnum > hlimit) wjzflag = "H";
|
||||||
wjzflag = resultflag;
|
} else if (wjzf == 1) {
|
||||||
|
wjzflag = resultflag;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (!"".equals(wjzflag)) wjz = 1;
|
|
||||||
} else {
|
} else {
|
||||||
//文字型结果判断
|
//文字型结果判断
|
||||||
String jgbzold = labResult.getJgbz();
|
String jgbzold = labResult.getJgbz();
|
||||||
@ -995,10 +1059,12 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
|
|||||||
if ("P".equals(jgbzold) && (csjg.indexOf("阳") >= 0 || csjg.indexOf("+") >= 0 || csjg.indexOf(":") >= 0) && (lmtflag == null || lmtflag.trim().isEmpty()))
|
if ("P".equals(jgbzold) && (csjg.indexOf("阳") >= 0 || csjg.indexOf("+") >= 0 || csjg.indexOf(":") >= 0) && (lmtflag == null || lmtflag.trim().isEmpty()))
|
||||||
lmtflag = "P";
|
lmtflag = "P";
|
||||||
resultflag = lmtflag;
|
resultflag = lmtflag;
|
||||||
if ("J".equals(lmtflag)) wjzflag = "H";
|
if(!nowjz) {
|
||||||
int wjzf = alarmcondition(labPat, labResult);
|
if ("J".equals(lmtflag)) wjzflag = "H";
|
||||||
if (wjzf == 1) wjzflag = "H";//满足特定危机值条件
|
int wjzf = alarmcondition(labPat, labResult, getXmAlarmdetail);
|
||||||
if (wjzf == 0) wjzflag = "";//存在特定危机值条件,但不满足不提示
|
if (wjzf == 1) wjzflag = "H";//满足特定危机值条件
|
||||||
|
if (wjzf == 0) wjzflag = "";//存在特定危机值条件,但不满足不提示
|
||||||
|
}
|
||||||
}
|
}
|
||||||
//小数保留位数计算
|
//小数保留位数计算
|
||||||
Integer xsws = xmInfo.getXsws();
|
Integer xsws = xmInfo.getXsws();
|
||||||
@ -1012,8 +1078,7 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
|
|||||||
|
|
||||||
commonUtil.updateLabResult(labResult);
|
commonUtil.updateLabResult(labResult);
|
||||||
}
|
}
|
||||||
if (!"".equals(wjzflag)) wjz = 1;
|
return labResult;
|
||||||
return wjz;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -1023,14 +1088,13 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
|
|||||||
* @param labResult
|
* @param labResult
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
private int alarmcondition(LabPat labPat, LabResult labResult) {
|
private int alarmcondition(LabPat labPat, LabResult labResult,List<XmAlarmdetail> getXmAlarmdetail) {
|
||||||
|
if (getXmAlarmdetail == null) return -1;
|
||||||
boolean lb_fcb = false, lb_hasval = false;
|
boolean lb_fcb = false, lb_hasval = false;
|
||||||
String csjg = labResult.getCsjg();
|
String csjg = labResult.getCsjg();
|
||||||
if (csjg == null || csjg.trim().isEmpty()) return -1;
|
if (csjg == null || csjg.trim().isEmpty()) return -1;
|
||||||
String yq = labPat.getYq();
|
String yq = labPat.getYq();
|
||||||
String xmdh = labResult.getXmdh();
|
String xmdh = labResult.getXmdh();
|
||||||
List<XmAlarmdetail> getXmAlarmdetail = commonUtil.getXmAlarmdetail(yq, xmdh);
|
|
||||||
if (getXmAlarmdetail == null) return -1;
|
|
||||||
String brxm = "";
|
String brxm = "";
|
||||||
String brdh = "";
|
String brdh = "";
|
||||||
String ksdh = labPat.getKsdh();
|
String ksdh = labPat.getKsdh();
|
||||||
@ -1200,4 +1264,17 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询明细是否有危急值标识
|
||||||
|
* @param labResultList
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
private boolean getAlarmFlag(List<LabResult> labResultList){
|
||||||
|
boolean wjz=false;
|
||||||
|
List<LabResult> labResultList0=labResultList.stream().filter(xm->!"".equals(xm.getAlarmFlag())&&xm.getAlarmFlag()!=null).collect(Collectors.toList());
|
||||||
|
if(labResultList0.size()>0){
|
||||||
|
wjz=true;
|
||||||
|
}
|
||||||
|
return wjz;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user