Compare commits

...

2 Commits

Author SHA1 Message Date
jiangs
eecd3519a4 Merge remote-tracking branch 'lis8.0/master' 2026-02-06 14:09:39 +08:00
jiangs
afbbbed0ae 批量审核 2026-02-06 14:09:31 +08:00
4 changed files with 113 additions and 18 deletions

View File

@ -219,7 +219,7 @@ public class CheckResultUtils {
* @param ruledisplay
* @return
*/
private String checkcondition(LabPat labPat, List<LabResult> labResultList, String checkrules, String ruledisplay) {
public String checkcondition(LabPat labPat, List<LabResult> 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<LabResult> labResultList, String logcontent) {
public String replacebz(LabPat labPat, List<LabResult> labResultList, String logcontent) {
String errmsg = logcontent;
String[] parameters = CalcUtils.getParameters(logcontent);
for (int i = 0; i < parameters.length; i++) {

View File

@ -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<LabResult> 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<LabResult> labResultList) {
//医学审核条件判断
Boolean setbz = false;
String bz = labPat.getBz();
//医学审核条件判断(新规则)
Map<String, Object> 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<String, Object> BatchchkSampleNew(LabPat labPat, List<LabResult> labResultList, int xh) {
String yq = labPat.getYq();
String bz = labPat.getBz();
Map<String, Object> params = new HashMap<>();
params.put("code", "0");
params.put("msg", "");
params.put("bz", bz);
params.put("setbz", false);
List<LabCheckrules> 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;
}
}

View File

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

View File

@ -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<LabResult> labResultList = commonUtil.getLabResultListAll(labResult);
List<LabResult> 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;