批量审核

This commit is contained in:
jiangs 2026-02-10 17:36:20 +08:00
parent eecd3519a4
commit ae30c9855c
6 changed files with 145 additions and 8 deletions

View File

@ -1,10 +1,9 @@
package com.czlis.interfaceCommon.utils; package com.czlis.interfaceCommon.utils;
import com.czlis.common.core.domain.Result; import com.czlis.common.core.domain.Result;
import com.czlis.common.core.domain.entity.lis.LabCheckrules; import com.czlis.common.core.domain.entity.lis.*;
import com.czlis.common.core.domain.entity.lis.LabPat;
import com.czlis.common.core.domain.entity.lis.LabResult;
import com.czlis.interfaceCommon.constants.ComLogConstants; import com.czlis.interfaceCommon.constants.ComLogConstants;
import com.czlis.interfaceCommon.constants.LabPatConstants;
import com.czlis.interfaceCommon.constants.LabReqmainConstants; import com.czlis.interfaceCommon.constants.LabReqmainConstants;
import com.czlis.interfaceCommon.constants.LisinterfaceNameConstants; import com.czlis.interfaceCommon.constants.LisinterfaceNameConstants;
import com.czlis.interfaceCommon.mapper.LabCheckrulesMapper; import com.czlis.interfaceCommon.mapper.LabCheckrulesMapper;
@ -413,5 +412,94 @@ public class LisWorkUtils extends LisWorkconfirm {
return params; return params;
} }
/**
* 撤销审核报告单全流程
*
* @param jyrq
* @param yq
* @param ybh
* @param yhdh
* @return
*/
public Result batchUnConfirm(Date jyrq, String yq, String ybh, String yhdh) {
if (yhdh == null || yhdh.isEmpty()) return new Result("-1", "操作者为空,无法解除审核!");
LabPat labPat = commonUtil.getLabPatOne(jyrq, yq, ybh);
//1,解除审核权限校验
if (!commonUtil.getUserPower(yq, yhdh, 10)) return new Result("-1", "当前操作者无权对本仪器报告解除审核!");
//2:数据合法性校验
String jgbz = labPat.getJgbz();
if (!"2".equals(jgbz)) return new Result("-1", "报告未审核,不需解除!");
String unconfirmlog = commonUtil.getComOptValue(yq, "unconfirmlog");
if ("1".equals(unconfirmlog)) {
return new Result("-1", "请填写解除审核原因!");
}
//调用his报告接口,完成报告同时调用外部接口任务
SetReport setReport = new SetReport();
setReport.setIp(getIP());
setReport.setJyrq(DateFormatUtils.format(jyrq, "yyyy-MM-dd"));
setReport.setYq(yq.trim());
setReport.setYbh(ybh);
setReport.setUserid(yhdh);
setReport.setStatus(LisinterfaceNameConstants.REPORTCANCAL);
Result result = lisInterfaceUtil.invokeLisInterface(LisinterfaceNameConstants.SETREPORT, setReport);
if (result.getCode().equals("5")) {
return new Result(result.getCode(), result.getMsg());
}
if (!result.getCode().equals("0")) return result;
String sqh = labPat.getSqh();
LabReqmain labReqmain = commonUtil.getLabReqmainOne(sqh);
if (labReqmain != null) {
String zt = labReqmain.getZt();
if (!LabReqmainConstants.CANCAL.equals(zt)) {
labReqmain.setConfirmer("");
labReqmain.setConfirmtime(null);
if (LabReqmainConstants.CONFIRM.equals(zt)) {
labReqmain.setZt(LabReqmainConstants.SIGNFOR);
labReqmain.setConfirmer("");
labReqmain.setConfirmtime(null);
commonUtil.updateLabReqmain(labReqmain);
}
}
}
String msg = "取消成功!";
String sp_rebackreport = commonUtil.getHISOPT("sp_rebackreport");
if ("1".equals(sp_rebackreport)) {
if ("1".equals(labPat.getDybz())) {
msg = msg + LisUtil.LINE_SEPARATOR + "此报告为已打印报告,注意考虑是否追回";
}
LabPatwarning labPatwarning = commonUtil.getLabPatwarning(jyrq, yq, ybh);
if (labPatwarning != null) {
Date tzsj = labPatwarning.getTzsj();
long sjc = LisUtil.relativeMinute(tzsj);
if (sjc > 10) {
return new Result("-1", "此报告已发布危急值结果,并且时间超过10分钟了!" + LisUtil.LINE_SEPARATOR + "请输入撤回报告组长代号和密码");
}
//权限不足,撤回报告失败组长权限单独接口校验
int ll_qxz = lisWorkUtilsMapper.getQXZ(yhdh);
if (ll_qxz <= 0) {
return new Result("-1", "权限不足,撤回报告失败!");
}
commonUtil.deleteLabPatwarning(jyrq, yq, ybh);
commonUtil.deleteLabResultwarning(jyrq, yq, ybh);
}
}
commonUtil.deleteLabReqreportPdffile(jyrq, yq, ybh);
labPat.setFslx("");
labPat.setJgbz(LabPatConstants.DEFAULT);
commonUtil.updateLabPat(labPat);
String logdata = commonUtil.getLisPatlogbz(jyrq, yq, ybh);
setComLog(jyrq, yq, ybh, yhdh, ComLogConstants.LG_UCK, logdata);
setpatLog(jyrq, yq, ybh, yhdh);
if (sqh != null) {
setlabReqsteplog(sqh, LabReqmainConstants.START, yhdh);
}
if (!"取消成功!".equals(msg)) return new Result("3", msg);
return new Result("0", msg);
}
} }

View File

@ -37,4 +37,10 @@ public class BatchCheckController {
return batchCheckService.checkData(batchCheckDTOList); return batchCheckService.checkData(batchCheckDTOList);
} }
@ApiOperation("取消审核条码")
@PostMapping("/unCheckData")
public Result unCheckData(@RequestBody List<BatchCheckDataDTO> batchCheckDataDTOList){
return batchCheckService.unChekData(batchCheckDataDTOList);
}
} }

View File

@ -4,7 +4,8 @@ import com.czlis.common.core.domain.entity.lis.LabPat;
import com.czlis.liswork.pojo.DTO.BatchCheckDTO; import com.czlis.liswork.pojo.DTO.BatchCheckDTO;
import java.util.List; import java.util.List;
import java.util.Map;
public interface BatchCheckMapper { public interface BatchCheckMapper {
List<LabPat> queryData(BatchCheckDTO batchCheckDTO); List<Map<String,Object>> queryData(BatchCheckDTO batchCheckDTO);
} }

View File

@ -10,4 +10,6 @@ public interface BatchCheckService {
Result queryData(BatchCheckDTO batchCheckDTO); Result queryData(BatchCheckDTO batchCheckDTO);
Result checkData(List<BatchCheckDataDTO> batchCheckDTOList); Result checkData(List<BatchCheckDataDTO> batchCheckDTOList);
Result unChekData(List<BatchCheckDataDTO> batchCheckDataDTO);
} }

View File

@ -3,7 +3,14 @@ package com.czlis.liswork.service.impl.work;
import com.czlis.common.core.domain.Result; import com.czlis.common.core.domain.Result;
import com.czlis.common.core.domain.entity.lis.LabPat; import com.czlis.common.core.domain.entity.lis.LabPat;
import com.czlis.common.core.domain.entity.lis.LabPatwarning;
import com.czlis.common.core.domain.entity.lis.LabReqmain;
import com.czlis.common.core.domain.entity.lis.LabResult; import com.czlis.common.core.domain.entity.lis.LabResult;
import com.czlis.interfaceCommon.constants.ComLogConstants;
import com.czlis.interfaceCommon.constants.LabPatConstants;
import com.czlis.interfaceCommon.constants.LabReqmainConstants;
import com.czlis.interfaceCommon.constants.LisinterfaceNameConstants;
import com.czlis.interfaceCommon.pojo.inter.SetReport;
import com.czlis.interfaceCommon.utils.CommonUtil; import com.czlis.interfaceCommon.utils.CommonUtil;
import com.czlis.interfaceCommon.utils.LisUtil; import com.czlis.interfaceCommon.utils.LisUtil;
import com.czlis.interfaceCommon.utils.LisWorkUtils; import com.czlis.interfaceCommon.utils.LisWorkUtils;
@ -12,11 +19,13 @@ import com.czlis.liswork.pojo.DTO.BatchCheckDTO;
import com.czlis.liswork.pojo.DTO.work.BatchCheckDataDTO; import com.czlis.liswork.pojo.DTO.work.BatchCheckDataDTO;
import com.czlis.liswork.service.BatchCheckService; import com.czlis.liswork.service.BatchCheckService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.time.DateFormatUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map;
@Service @Service
@Slf4j @Slf4j
@ -37,7 +46,7 @@ public class BatchCheckServiceImpl implements BatchCheckService {
if (jyrq1 == null) return new Result("-1", "检验日期不能为空!"); if (jyrq1 == null) return new Result("-1", "检验日期不能为空!");
if (jyrq2 == null) return new Result("-1", "检验日期不能为空!"); if (jyrq2 == null) return new Result("-1", "检验日期不能为空!");
if(yq == null) return new Result("-1","仪器不能为空!"); if(yq == null) return new Result("-1","仪器不能为空!");
List<LabPat> labPatList = batchCheckMapper.queryData(batchCheckDTO); List<Map<String,Object>> labPatList = batchCheckMapper.queryData(batchCheckDTO);
return new Result("0", "获取数据成功!", labPatList); return new Result("0", "获取数据成功!", labPatList);
} }
@ -77,6 +86,32 @@ public class BatchCheckServiceImpl implements BatchCheckService {
//审核失败个数 //审核失败个数
int i1 = batchCheckDTOList.size() - i; int i1 = batchCheckDTOList.size() - i;
return new Result("1", "执行成功:" + i + "个,失败:" + i1 + "个,\r\n" + errText); return new Result("1", "批量审核执行成功:" + i + "个,失败:" + i1 + "个,\r\n" + errText);
} }
@Override
public Result unChekData(List<BatchCheckDataDTO> batchCheckDataDTOList) {
String errText = "";
int i = 0;
for (BatchCheckDataDTO batchCheckDataDTO : batchCheckDataDTOList) {
Date jyrq = batchCheckDataDTO.getJyrq();
if(jyrq == null) continue;
String yq = batchCheckDataDTO.getYq();
if(yq == null) continue;
String ybh = batchCheckDataDTO.getYbh();
if(ybh == null) continue;
String userId = batchCheckDataDTO.getUserId();
Result result = lisWorkUtils.batchUnConfirm(jyrq, yq, ybh, userId);
if(!result.getCode().equals("0")) {
errText = "取消审核失败:" + result.getMsg() + "\r\n";
continue;
}
i++;
}
//审核失败个数
int i1 = batchCheckDataDTOList.size() - i;
return new Result("1", "批量取消审核执行成功:" + i + "个,失败:" + i1 + "个,\r\n" + errText);
}
} }

View File

@ -2,9 +2,14 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd" > "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.czlis.liswork.mapper.work.BatchCheckMapper"> <mapper namespace="com.czlis.liswork.mapper.work.BatchCheckMapper">
<select id="queryData" resultType="com.czlis.common.core.domain.entity.lis.LabPat"> <select id="queryData" resultType="map">
<![CDATA[ <![CDATA[
select * from lab_pat where jyrq >= #{jyrq1} and jyrq <= #{jyrq2} and yq = #{yq} select *,
(select yqmc from lab_instr where lab_pat.yq = yq) as yqmc,
(select yhxm from com_usr where yhdh = lab_pat.yhdh) as yhdhmc,
(select yhxm from com_usr where yhdh = lab_pat.hdys) as hdysmc,
(select yhxm from com_usr where yhdh = lab_pat.confirmer) as confirmermc
from lab_pat where jyrq >= #{jyrq1} and jyrq <= #{jyrq2} and yq = #{yq}
]]> ]]>
<if test="ybh1 != null and ybh1 != ''">and ( CASE WHEN ybh NOT LIKE '%[^0-9]%' THEN CAST(ybh AS bigint) ELSE 0 END) between #{ybh1} and #{ybh2}</if> <if test="ybh1 != null and ybh1 != ''">and ( CASE WHEN ybh NOT LIKE '%[^0-9]%' THEN CAST(ybh AS bigint) ELSE 0 END) between #{ybh1} and #{ybh2}</if>
<if test="ksdh != null and ksdh != ''">and ksdh = #{ksdh}</if> <if test="ksdh != null and ksdh != ''">and ksdh = #{ksdh}</if>