From eed868f2fe034298fbcf3fdfc19fddcbe33cf0eb Mon Sep 17 00:00:00 2001 From: tangw Date: Thu, 11 Sep 2025 18:29:26 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=BB=E4=B8=9A=E5=8A=A1=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/domain/entity/lis/LabResult.java | 8 +- .../main/resources/mapper/LabResultMapper.xml | 60 ++++----- .../src/main/resources/mapper/XmValMapper.xml | 2 +- .../work/LisWorkOperController.java | 4 + .../liswork/service/LisWorkOperService.java | 30 ++++- .../service/impl/LisWorkOperServiceImpl.java | 115 ++++++++++++------ 6 files changed, 143 insertions(+), 76 deletions(-) diff --git a/lis-common/src/main/java/com/czlis/common/core/domain/entity/lis/LabResult.java b/lis-common/src/main/java/com/czlis/common/core/domain/entity/lis/LabResult.java index 8eaf25d..7e1ce6a 100644 --- a/lis-common/src/main/java/com/czlis/common/core/domain/entity/lis/LabResult.java +++ b/lis-common/src/main/java/com/czlis/common/core/domain/entity/lis/LabResult.java @@ -32,11 +32,11 @@ public class LabResult extends BaseEntity { private String refs; private String flag; private String dw; - private String resultFlag; - private String alarmFlag; - private String redoFlag; + private String result_flag; + private String alarm_flag; + private String redo_flag; private String sqxmdh; - private String redoText; + private String redo_text; private String bz3; private String textresult; private String xmmc; diff --git a/lis-interfaceCommon/src/main/resources/mapper/LabResultMapper.xml b/lis-interfaceCommon/src/main/resources/mapper/LabResultMapper.xml index b61adae..7542799 100644 --- a/lis-interfaceCommon/src/main/resources/mapper/LabResultMapper.xml +++ b/lis-interfaceCommon/src/main/resources/mapper/LabResultMapper.xml @@ -83,8 +83,8 @@ #{cutoff,jdbcType=VARCHAR}, #{jgbz,jdbcType=CHAR}, #{bz1,jdbcType=VARCHAR}, #{bz2,jdbcType=VARCHAR}, #{yhdh,jdbcType=VARCHAR}, #{instrid,jdbcType=INTEGER}, #{operdt,jdbcType=TIMESTAMP}, #{operna,jdbcType=VARCHAR}, #{refs,jdbcType=VARCHAR}, #{flag,jdbcType=VARCHAR}, - #{dw,jdbcType=VARCHAR}, #{resultFlag,jdbcType=CHAR}, #{alarmFlag,jdbcType=CHAR}, - #{redoFlag,jdbcType=CHAR}, #{sqxmdh,jdbcType=VARCHAR}, #{redoText,jdbcType=VARCHAR}, + #{dw,jdbcType=VARCHAR}, #{result_flag,jdbcType=CHAR}, #{alarm_flag,jdbcType=CHAR}, + #{redo_flag,jdbcType=CHAR}, #{sqxmdh,jdbcType=VARCHAR}, #{redo_text,jdbcType=VARCHAR}, #{bz3,jdbcType=VARCHAR}, #{textresult,jdbcType=LONGVARCHAR}) @@ -144,19 +144,19 @@ dw, - + result_flag, - + alarm_flag, - + redo_flag, sqxmdh, - + redo_text, @@ -221,20 +221,20 @@ #{dw,jdbcType=VARCHAR}, - - #{resultFlag,jdbcType=CHAR}, + + #{result_flag,jdbcType=CHAR}, - - #{alarmFlag,jdbcType=CHAR}, + + #{alarm_flag,jdbcType=CHAR}, - - #{redoFlag,jdbcType=CHAR}, + + #{redo_flag,jdbcType=CHAR}, #{sqxmdh,jdbcType=VARCHAR}, - - #{redoText,jdbcType=VARCHAR}, + + #{redo_text,jdbcType=VARCHAR}, #{bz3,jdbcType=VARCHAR}, @@ -289,20 +289,20 @@ dw = #{dw,jdbcType=VARCHAR}, - - result_flag = #{resultFlag,jdbcType=CHAR}, + + result_flag = #{result_flag,jdbcType=CHAR}, - - alarm_flag = #{alarmFlag,jdbcType=CHAR}, + + alarm_flag = #{alarm_flag,jdbcType=CHAR}, - - redo_flag = #{redoFlag,jdbcType=CHAR}, + + redo_flag = #{redo_flag,jdbcType=CHAR}, sqxmdh = #{sqxmdh,jdbcType=VARCHAR}, - - redo_text = #{redoText,jdbcType=VARCHAR}, + + redo_text = #{redo_text,jdbcType=VARCHAR}, bz3 = #{bz3,jdbcType=VARCHAR}, @@ -332,11 +332,11 @@ refs = #{refs,jdbcType=VARCHAR}, flag = #{flag,jdbcType=VARCHAR}, dw = #{dw,jdbcType=VARCHAR}, - result_flag = #{resultFlag,jdbcType=CHAR}, - alarm_flag = #{alarmFlag,jdbcType=CHAR}, - redo_flag = #{redoFlag,jdbcType=CHAR}, + result_flag = #{result_flag,jdbcType=CHAR}, + alarm_flag = #{alarm_flag,jdbcType=CHAR}, + redo_flag = #{redo_flag,jdbcType=CHAR}, sqxmdh = #{sqxmdh,jdbcType=VARCHAR}, - redo_text = #{redoText,jdbcType=VARCHAR}, + redo_text = #{redo_text,jdbcType=VARCHAR}, bz3 = #{bz3,jdbcType=VARCHAR}, textresult = #{textresult,jdbcType=LONGVARCHAR} where jyrq = #{jyrq} @@ -360,11 +360,11 @@ refs = #{refs,jdbcType=VARCHAR}, flag = #{flag,jdbcType=VARCHAR}, dw = #{dw,jdbcType=VARCHAR}, - result_flag = #{resultFlag,jdbcType=CHAR}, - alarm_flag = #{alarmFlag,jdbcType=CHAR}, - redo_flag = #{redoFlag,jdbcType=CHAR}, + result_flag = #{result_flag,jdbcType=CHAR}, + alarm_flag = #{alarm_flag,jdbcType=CHAR}, + redo_flag = #{redo_flag,jdbcType=CHAR}, sqxmdh = #{sqxmdh,jdbcType=VARCHAR}, - redo_text = #{redoText,jdbcType=VARCHAR}, + redo_text = #{redo_text,jdbcType=VARCHAR}, bz3 = #{bz3,jdbcType=VARCHAR} where jyrq = #{jyrq} and yq = #{yq,jdbcType=CHAR} diff --git a/lis-interfaceCommon/src/main/resources/mapper/XmValMapper.xml b/lis-interfaceCommon/src/main/resources/mapper/XmValMapper.xml index 2f643fa..578887a 100644 --- a/lis-interfaceCommon/src/main/resources/mapper/XmValMapper.xml +++ b/lis-interfaceCommon/src/main/resources/mapper/XmValMapper.xml @@ -24,7 +24,7 @@ - select TOP 1 jgbz from xm_val diff --git a/liswork/src/main/java/com/czlis/liswork/controller/work/LisWorkOperController.java b/liswork/src/main/java/com/czlis/liswork/controller/work/LisWorkOperController.java index bd70750..467e790 100644 --- a/liswork/src/main/java/com/czlis/liswork/controller/work/LisWorkOperController.java +++ b/liswork/src/main/java/com/czlis/liswork/controller/work/LisWorkOperController.java @@ -62,5 +62,9 @@ public class LisWorkOperController extends BaseController { public Result unconfirmlog( Date jyrq, String yq, String ybh, String yhdh,String reason){ return lisWorkOperService.unconfirmlog(jyrq, yq, ybh, yhdh,reason); } + @GetMapping("/reglimit") + public Result reglimit( Date jyrq, String yq, String ybh, String yhdh,String btzr,String phone,String tzfs){ + return lisWorkOperService.reglimit(jyrq, yq, ybh, yhdh,btzr,phone,tzfs); + } } diff --git a/liswork/src/main/java/com/czlis/liswork/service/LisWorkOperService.java b/liswork/src/main/java/com/czlis/liswork/service/LisWorkOperService.java index fc93dcb..6ac7bba 100644 --- a/liswork/src/main/java/com/czlis/liswork/service/LisWorkOperService.java +++ b/liswork/src/main/java/com/czlis/liswork/service/LisWorkOperService.java @@ -6,8 +6,10 @@ import com.czlis.common.core.domain.entity.lis.LabPat; import java.util.Date; 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); + /** * 保存所有结果的修正值,涉及:空结果清除,计算项目添加,添加单位,添加申请项目编码,参考值重新计算更新,结果标志重新计算更新,危急值标志计算更新 * @@ -17,6 +19,7 @@ public interface LisWorkOperService { * @return */ Result saveallresult(Date jyrq, String yq, String ybh); + /** * 结果表补充申请单项目代码 * @@ -25,8 +28,10 @@ public interface LisWorkOperService { * @param ybh */ void setItemSqxmdh(Date jyrq, String yq, String ybh); + /** * 审核报告 + * * @param jyrq * @param yq * @param ybh @@ -37,6 +42,7 @@ public interface LisWorkOperService { /** * 解除审核 + * * @param jyrq * @param yq * @param ybh @@ -44,7 +50,9 @@ public interface LisWorkOperService { * @return */ Result unconfirm(Date jyrq, String yq, String ybh, String hdys); - Result unconfirmlog(Date jyrq, String yq, String ybh, String hdys,String reason); + + Result unconfirmlog(Date jyrq, String yq, String ybh, String hdys, String reason); + /** * 计算项目参考值结果异常标志 * @@ -53,6 +61,7 @@ public interface LisWorkOperService { * @param ybh */ Result saverefs(Date jyrq, String yq, String ybh); + /** * 计算项目增加及重新计算 * @@ -61,6 +70,7 @@ public interface LisWorkOperService { * @param ybh */ Result calcsample(Date jyrq, String yq, String ybh); + /** * 获取常用取值结果标志 * @@ -70,4 +80,18 @@ public interface LisWorkOperService { * @return */ String getitemlmtflag(String yq, String xmdh, String csjg); -} + + /** + * 登记危急值 + * + * @param jyrq + * @param yq + * @param ybh + * @param yhdh + * @param btzr + * @param phone + * @param tzfs + * @return + */ + Result reglimit(Date jyrq, String yq, String ybh, String yhdh, String btzr, String phone, String tzfs); +} \ No newline at end of file diff --git a/liswork/src/main/java/com/czlis/liswork/service/impl/LisWorkOperServiceImpl.java b/liswork/src/main/java/com/czlis/liswork/service/impl/LisWorkOperServiceImpl.java index e816af6..73a058e 100644 --- a/liswork/src/main/java/com/czlis/liswork/service/impl/LisWorkOperServiceImpl.java +++ b/liswork/src/main/java/com/czlis/liswork/service/impl/LisWorkOperServiceImpl.java @@ -238,13 +238,16 @@ public class LisWorkOperServiceImpl implements LisWorkOperService { labResultList = saveallresult(labPat, labResultList); boolean wjz = getAlarmFlag(labResultList); //同步主表危急值标识 - String alarmflag = labPat.getAlarmflag(); + String alarmflag = labPat.getAlarmflag().trim(); if (("1".equals(alarmflag) && !wjz)) { - labPat.setAlarmflag("1"); - commonUtil.updateLabPat(labPat); - } else if (("".equals(alarmflag) || alarmflag == null) && wjz) { labPat.setAlarmflag(""); commonUtil.updateLabPat(labPat); + } else if (("".equals(alarmflag) || alarmflag == null) && wjz) { + labPat.setAlarmflag("1"); + commonUtil.updateLabPat(labPat); + } + if(wjz){ + return new Result("4", getAlarmMsg(labResultList),4); } } if (problemId < 4) problemId = 4; @@ -682,11 +685,11 @@ public class LisWorkOperServiceImpl implements LisWorkOperService { //同步主表危急值标识 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); + } else if (("".equals(alarmflag.trim()) || alarmflag == null) && wjz) { + labPat.setAlarmflag("1"); + commonUtil.updateLabPat(labPat); } return new Result("0", "保存成功!"); } @@ -766,7 +769,6 @@ public class LisWorkOperServiceImpl implements LisWorkOperService { if (!jsxmold.equals(jsxm)) { jsxmold = jsxm; String jsgs = xmCalc.getJsgs(); - String xmdh = xmCalc.getXmdh(); boolean setjgsg = true; boolean lb_jsx = false; Map variables = new HashMap<>(); @@ -813,7 +815,7 @@ public class LisWorkOperServiceImpl implements LisWorkOperService { commonUtil.updateLabResult(labResult); } } else { - XmInfo xmInfo = commonUtil.getXmInfo(yq, xmdh); + XmInfo xmInfo = commonUtil.getXmInfo(yq, jsxm); if (LisUtil.isNumber(result)) { Integer xsws = xmInfo.getXsws(); if (xsws >= 0) result = LisUtil.round(result, xsws); @@ -829,7 +831,7 @@ public class LisWorkOperServiceImpl implements LisWorkOperService { labResult.setYgzd(xmInfo.getYgzd()); labResult.setYgzq(xmInfo.getYgzq()); labResult.setXmmc(xmInfo.getXmmc()); - labResultList.set(labResultList.size(), labResult); + labResultList.add(labResult); } } @@ -875,7 +877,7 @@ public class LisWorkOperServiceImpl implements LisWorkOperService { String yq = labPat.getYq(); String ybh = labPat.getYbh(); String yqdl = commonUtil.getYqdl(yq); - boolean lb_setbj = true, lb_wjz = false, nowjz = false; + boolean lb_setbj = true, nowjz = false; //危急值标识去除原则 nowjz = true 不能算做危急值 String brxm = labPat.getBrxm(); if (brxm != null) { @@ -918,29 +920,32 @@ public class LisWorkOperServiceImpl implements LisWorkOperService { //当结果为数值并且与周期诊断无关,计算存储过程保存成功后,只进行危急值判断 if (lb_nummode && lb_setbj && !"Y".equals(ygzd) && !"Y".equals(ygzq)) { if (nowjz) { - String resultalarmflag1 = labResult.getAlarmFlag(); + String resultalarmflag1 = labResult.getAlarm_flag().trim(); if (!"".equals(resultalarmflag1) && resultalarmflag1 != null) { - labResult.setAlarmFlag(""); + labResult.setAlarm_flag(""); commonUtil.updateLabResult(labResult); } } else { String xmdh = labResult.getXmdh(); List 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); + if (wjz == 1) {//危急值标识特殊判断存在时优先使用特殊结果 + String jgbz = labResult.getResult_flag(); + if ("".equals(jgbz)||jgbz==null)jgbz="H"; + if (!"L".equals(jgbz))jgbz="H"; + String resultalarmflag = labResult.getAlarm_flag().trim(); + if(!jgbz.equals(resultalarmflag)) { + labResult.setAlarm_flag(jgbz); commonUtil.updateLabResult(labResult); - } else if (!"".equals(resultalarmflag) && !lb_wjz) { - labResult.setAlarmFlag(""); + } + }else if (wjz == 0) { + String jgbz = ""; + String resultalarmflag = labResult.getAlarm_flag().trim(); + if(!jgbz.equals(resultalarmflag)) { + labResult.setAlarm_flag(jgbz); commonUtil.updateLabResult(labResult); } } - String resultalarmflag1 = labResult.getAlarmFlag(); - if (!"".equals(resultalarmflag1) && resultalarmflag1 != null) lb_wjz = true; } } else { String xmdh = labResult.getXmdh(); @@ -952,9 +957,9 @@ public class LisWorkOperServiceImpl implements LisWorkOperService { labResult.setCsjg(csjg); labResult.setDw(labResult0.getDw()); labResult.setRefs(labResult0.getRefs()); - labResult.setResultFlag(labResult0.getResultFlag()); + labResult.setResult_flag(labResult0.getResult_flag()); labResult.setJgbz(labResult0.getJgbz()); - labResult.setAlarmFlag(labResult0.getAlarmFlag()); + labResult.setAlarm_flag(labResult0.getAlarm_flag()); } } } @@ -978,10 +983,10 @@ public class LisWorkOperServiceImpl implements LisWorkOperService { if (csjg == null || csjg.trim().isEmpty()) return labResult; String csjgnew = LisUtil.getOverNumber(csjg.trim()); boolean lb_nummode = LisUtil.isNumber(csjgnew); + String dw = xmInfo.getDw(); + String refs = xmInfo.getDyckz(); //当结果为数值时计算上下限 if (lb_nummode) { - String dw = xmInfo.getDw(); - String refs = xmInfo.getDyckz(); Double ckxx = xmInfo.getCkxx(); Double cksx = xmInfo.getCksx(); Double llimit = xmInfo.getLlimit(); @@ -1038,7 +1043,6 @@ public class LisWorkOperServiceImpl implements LisWorkOperService { if (alterxx != null) llimit = alterxx; if (altersx != null) hlimit = altersx; } - if (lb_nummode) { //数值型结果判断 Double csjgnum = Double.valueOf(csjgnew); if (ckxx != null) if (csjgnum < ckxx) resultflag = "L"; @@ -1069,15 +1073,21 @@ public class LisWorkOperServiceImpl implements LisWorkOperService { //小数保留位数计算 Integer xsws = xmInfo.getXsws(); if (xsws >= 0) csjg = LisUtil.round(csjg, xsws); - labResult.setCsjg(csjg); - labResult.setDw(dw); - labResult.setRefs(refs); - labResult.setResultFlag(resultflag); - labResult.setJgbz(resultflag); - labResult.setAlarmFlag(wjzflag); - - commonUtil.updateLabResult(labResult); - } + if(csjg==null)csjg=""; + if(dw==null)dw=""; + if(refs==null)refs=""; + if(resultflag==null)resultflag=""; + if(wjzflag==null)wjzflag=""; + if(!csjg.equals(labResult.getCsjg())||!dw.equals(labResult.getDw())||!refs.equals(labResult.getRefs())|| + !resultflag.equals(labResult.getResult_flag().trim())||!resultflag.equals(labResult.getJgbz().trim())||!wjzflag.equals(labResult.getAlarm_flag().trim())) { + labResult.setCsjg(csjg); + labResult.setDw(dw); + labResult.setRefs(refs); + labResult.setResult_flag(resultflag); + labResult.setJgbz(resultflag); + labResult.setAlarm_flag(wjzflag); + commonUtil.updateLabResult(labResult); + } return labResult; } @@ -1272,13 +1282,36 @@ public class LisWorkOperServiceImpl implements LisWorkOperService { */ private boolean getAlarmFlag(List labResultList) { boolean wjz = false; - List labResultList0 = labResultList.stream().filter(xm -> !"".equals(xm.getAlarmFlag()) && xm.getAlarmFlag() != null).collect(Collectors.toList()); + List labResultList0 = labResultList.stream().filter(xm -> !"".equals(xm.getAlarm_flag().trim()) && xm.getAlarm_flag() != null).collect(Collectors.toList()); if (labResultList0.size() > 0) { wjz = true; } return wjz; } + /** + * 获取危急值信息集合 + * @param labResultList + * @return + */ + private String getAlarmMsg(List labResultList) { + String wjzmsg = ""; + List labResultList0 = labResultList.stream().filter(xm -> !"".equals(xm.getAlarm_flag().trim()) && xm.getAlarm_flag() != null).collect(Collectors.toList()); + if (labResultList0.size() > 0) { + for (LabResult labResult : labResultList0) { + String xmmc = labResult.getXmmc(); + String cjsg = labResult.getCsjg(); + if (!"".equals(cjsg) && cjsg != null) { + cjsg = ",结果:" + cjsg; + } else { + cjsg = ""; + } + + wjzmsg = wjzmsg + "项目:" + xmmc + cjsg + LisUtil.LINE_SEPARATOR; + } + } + return wjzmsg; + } /** * 解除审核原因登记 * @@ -1409,4 +1442,10 @@ public class LisWorkOperServiceImpl implements LisWorkOperService { comLog.setRzdt(new Date()); commonUtil.insertComLog(comLog); } + + @Override + public Result reglimit( Date jyrq, String yq, String ybh, String yhdh,String btzr,String phone,String tzfs){ + log.info("登记危急值{}",tzfs); + return new Result("0", "登记成功"); + } }