From afbbbed0aeb0435cb41e0915068197f4476f49fe Mon Sep 17 00:00:00 2001 From: jiangs <373297395@qq.com> Date: Fri, 6 Feb 2026 14:09:31 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=B9=E9=87=8F=E5=AE=A1=E6=A0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../utils/CheckResultUtils.java | 4 +- .../interfaceCommon/utils/LisWorkUtils.java | 118 ++++++++++++++++-- .../interfaceCommon/utils/LisWorkcom.java | 1 + .../impl/work/BatchCheckServiceImpl.java | 8 +- 4 files changed, 113 insertions(+), 18 deletions(-) diff --git a/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/utils/CheckResultUtils.java b/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/utils/CheckResultUtils.java index 8502cc5..3d8a8e0 100644 --- a/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/utils/CheckResultUtils.java +++ b/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/utils/CheckResultUtils.java @@ -219,7 +219,7 @@ public class CheckResultUtils { * @param ruledisplay * @return */ - private String checkcondition(LabPat labPat, List labResultList, String checkrules, String ruledisplay) { + public String checkcondition(LabPat labPat, List labResultList, String checkrules, String ruledisplay) { String errmsg = ""; boolean flag = false; checkrules = checkrules.replace("\"", "'"); @@ -352,7 +352,7 @@ public class CheckResultUtils { * @param logcontent * @return */ - private String replacebz(LabPat labPat, List labResultList, String logcontent) { + public String replacebz(LabPat labPat, List labResultList, String logcontent) { String errmsg = logcontent; String[] parameters = CalcUtils.getParameters(logcontent); for (int i = 0; i < parameters.length; i++) { diff --git a/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/utils/LisWorkUtils.java b/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/utils/LisWorkUtils.java index 886b411..bd4e04d 100644 --- a/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/utils/LisWorkUtils.java +++ b/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/utils/LisWorkUtils.java @@ -1,28 +1,32 @@ package com.czlis.interfaceCommon.utils; import com.czlis.common.core.domain.Result; +import com.czlis.common.core.domain.entity.lis.LabCheckrules; import com.czlis.common.core.domain.entity.lis.LabPat; import com.czlis.common.core.domain.entity.lis.LabResult; -import com.czlis.common.utils.SecurityUtils; -import com.czlis.common.utils.ip.IpUtils; import com.czlis.interfaceCommon.constants.ComLogConstants; import com.czlis.interfaceCommon.constants.LabReqmainConstants; import com.czlis.interfaceCommon.constants.LisinterfaceNameConstants; +import com.czlis.interfaceCommon.mapper.LabCheckrulesMapper; import com.czlis.interfaceCommon.pojo.entity.LastLabPatParam; import com.czlis.interfaceCommon.pojo.inter.DayMessage; import com.czlis.interfaceCommon.pojo.inter.SetReport; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.time.DateFormatUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; +import java.util.*; @Component @Slf4j public class LisWorkUtils extends LisWorkconfirm { + @Autowired + LabCheckrulesMapper labCheckrulesMapper; + @Autowired + CheckResultUtils checkResultUtils; + /** * 通用调用医院定制接口 * @@ -247,9 +251,6 @@ public class LisWorkUtils extends LisWorkconfirm { setReport.setYq(yq.trim()); setReport.setStatus(LisinterfaceNameConstants.REPORTSTART); Result result = lisInterfaceUtil.invokeLisInterface(LisinterfaceNameConstants.SETREPORT, setReport); - if (result.getCode().equals("5")) { - return new Result("0", "保存成功!"); - } if (!result.getCode().equals("0")) return result; checkxpywrgjz(labPat); return new Result("0", "保存成功!"); @@ -295,12 +296,12 @@ public class LisWorkUtils extends LisWorkconfirm { //医学审核条件判断 - Result result = chksample(labPat, labResultList, 0); + Result result = Batchchksample(labPat, labResultList); if (!"0".equals(result.getCode())) return result; //高级医学审核条件判断 - Result result1 = chksamplenew(labPat, labResultList, 0); + Result result1 = BatchchkSampleNew(labPat, labResultList); if (!"0".equals(result1.getCode())) return result1; //4:CA请求业务的处理 @@ -316,4 +317,101 @@ public class LisWorkUtils extends LisWorkconfirm { } return new Result("0", "审核成功!"); } + + /** + * 批量审核医学审核条件判断 + * + * @param labPat + * @return + */ + public Result Batchchksample(LabPat labPat, List labResultList) { + String checkvalue = checkResultUtils.chksample(labPat, labResultList); + if (checkvalue != null && !checkvalue.isEmpty()) { + return new Result("-1", checkvalue); + } + return new Result("0", "保存成功!"); + } + + /** + * 批量审核高级医学审核条件判断 + * + * @param labPat + * @return + */ + public Result BatchchkSampleNew(LabPat labPat, List labResultList) { + //医学审核条件判断 + Boolean setbz = false; + String bz = labPat.getBz(); + //医学审核条件判断(新规则) + Map chksamplenewvalue = BatchchkSampleNew(labPat, labResultList, 0); + String chkCode = (String) chksamplenewvalue.get("code"); + String chkMsg = (String) chksamplenewvalue.get("msg"); + bz = (String) chksamplenewvalue.get("bz"); + labPat.setBz(bz); + setbz = (Boolean) chksamplenewvalue.get("setbz"); + if ("3".equals(chkCode)) { + if (setbz) { + commonUtil.updateLabPat(labPat); + } + return new Result("-1", chkMsg); + } + if (!"0".equals(chkCode)) return new Result(chkCode, chkMsg); + if (setbz) { + commonUtil.updateLabPat(labPat); + return new Result("99", bz); + } + return new Result("0", "保存成功!"); + } + + /** + * 高级审核,对于重复询问通过xh递归询问 + * + * @param labPat + * @param labResultList + * @param xh + * @return + */ + public Map BatchchkSampleNew(LabPat labPat, List labResultList, int xh) { + String yq = labPat.getYq(); + String bz = labPat.getBz(); + Map params = new HashMap<>(); + params.put("code", "0"); + params.put("msg", ""); + params.put("bz", bz); + params.put("setbz", false); + List labCheckruleslist = labCheckrulesMapper.getLabCheckrules(yq); + for (int i = xh; i < labCheckruleslist.size(); i++) { + LabCheckrules labCheckrules = labCheckruleslist.get(i); + String checkrules = labCheckrules.getCheckrules(); + String checktype = labCheckrules.getChecktype(); + String logcontent = labCheckrules.getLogcontent(); + String ruledisplay = labCheckrules.getRuledisplay(); + String errmsg = checkResultUtils.checkcondition(labPat, labResultList, checkrules, ruledisplay); + if (!"".equals(errmsg)) { + if ("0".equals(checktype)) { + errmsg = errmsg+ LisUtil.LINE_SEPARATOR + "你是否要强行通过?" ; + params.put("code", "5"); + params.put("msg", errmsg); + int ruleid0 = labCheckrules.getRuleid(); + return params; + } else if ("3".equals(checktype)) { + errmsg = errmsg + LisUtil.LINE_SEPARATOR + "不允许审核!"; + params.put("code", "1"); + params.put("msg", errmsg); + return params; + } else if ("4".equals(checktype)) { + bz = checkResultUtils.replacebz(labPat, labResultList, logcontent); + labPat.setBz(bz); + params.put("setbz", true); + errmsg = "此次审核将产生一个备注信息" + LisUtil.LINE_SEPARATOR + bz; + params.put("code", "3"); + params.put("msg", errmsg); + params.put("bz", bz); + } + } + } + return params; + } + + } diff --git a/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/utils/LisWorkcom.java b/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/utils/LisWorkcom.java index 73a4bdc..0f57419 100644 --- a/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/utils/LisWorkcom.java +++ b/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/utils/LisWorkcom.java @@ -175,6 +175,7 @@ public class LisWorkcom extends LisWorkBase{ LabResult labResult = collect0.get(); if (LisUtil.isNumber(result)) { Integer xsws = labResult.getXsws(); + if(xsws == null ) xsws = 0; if (xsws >= 0) result = LisUtil.round(result, xsws); } // log.info("result:{},getCsjg:{}",result,labResult.getCsjg()); diff --git a/liswork/src/main/java/com/czlis/liswork/service/impl/work/BatchCheckServiceImpl.java b/liswork/src/main/java/com/czlis/liswork/service/impl/work/BatchCheckServiceImpl.java index 5eca585..516e9e6 100644 --- a/liswork/src/main/java/com/czlis/liswork/service/impl/work/BatchCheckServiceImpl.java +++ b/liswork/src/main/java/com/czlis/liswork/service/impl/work/BatchCheckServiceImpl.java @@ -1,6 +1,6 @@ package com.czlis.liswork.service.impl.work; -import com.czlis.common.annotation.RepeatSubmit; + import com.czlis.common.core.domain.Result; import com.czlis.common.core.domain.entity.lis.LabPat; import com.czlis.common.core.domain.entity.lis.LabResult; @@ -60,11 +60,7 @@ public class BatchCheckServiceImpl implements BatchCheckService { errText += "没有找到上机信息jyrq:" + LisUtil.isBank(jyrq) + " yq:" + LisUtil.isBank(yq) + " ybh:" + LisUtil.isBank(ybh) + "\r\n"; continue; } - LabResult labResult = new LabResult(); - labResult.setJyrq(jyrq); - labResult.setYq(yq); - labResult.setYbh(ybh); - List labResultList = commonUtil.getLabResultListAll(labResult); + List labResultList = commonUtil.getLabResultList(jyrq,yq,ybh); if (labResultList.size() <= 0) { errText += "没有找到结果信息:" + LisUtil.isBank(jyrq) + " yq:" + LisUtil.isBank(yq) + " ybh:" + LisUtil.isBank(ybh) + "\r\n"; continue;