主业务添加代码
This commit is contained in:
parent
7aa126dbe5
commit
47c6f998af
@ -12,4 +12,5 @@ public interface LabResultMapper {
|
||||
int insertLabResult(LabResult labResult);
|
||||
int delLabResult(LabResult labResult);
|
||||
int updateLabResult(LabResult labResult);
|
||||
int delNullLabResult(@Param("jyrq") Date jyrq, @Param("yq") String yq, @Param("ybh") String ybh);
|
||||
}
|
||||
|
||||
@ -72,6 +72,8 @@ public class CommonUtil {
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public int delLabResult(LabResult labResult) {return labResultMapper.delLabResult(labResult);}
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public int delNullLabResult(Date jyrq, String yq, String ybh) {return labResultMapper.delNullLabResult(jyrq, yq, ybh);}
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public int updateLabResult(LabResult labResult) {return labResultMapper.updateLabResult(labResult);}
|
||||
//=====项目字典查询=========
|
||||
public List<XmInfo> getXmInfoList(String yq) {return xmInfoMapper.getXmInfoList(yq);}
|
||||
|
||||
@ -44,6 +44,13 @@
|
||||
and ybh = #{ybh,jdbcType=VARCHAR}
|
||||
and xmdh = #{xmdh,jdbcType=VARCHAR}
|
||||
</delete>
|
||||
<delete id="delNullLabResult" >
|
||||
delete from lab_result
|
||||
where jyrq = #{jyrq}
|
||||
and yq = #{yq,jdbcType=CHAR}
|
||||
and ybh = #{ybh,jdbcType=VARCHAR}
|
||||
and (rtrim(csjg) ='' or csjg is null)
|
||||
</delete>
|
||||
<insert id="insertLabResult" parameterType="com.czlis.common.core.domain.entity.lis.LabResult">
|
||||
insert into lab_result (jyrq, yq, ybh,
|
||||
xmdh, wyh, csjg, od,
|
||||
|
||||
@ -205,7 +205,7 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
|
||||
Result result=beforecheck2(jyrq, yq, ybh, hdys);
|
||||
if("0".equals(result.getCode()))return result;
|
||||
//3:数据完整性校验
|
||||
result= saveallresult(jyrq, yq, ybh, hdys);
|
||||
result= saveallresult(jyrq, yq, ybh);
|
||||
if("0".equals(result.getCode()))return result;
|
||||
//4:CA请求业务的处理
|
||||
//Result result=addCA(jyrq, yq, ybh, hdys);
|
||||
@ -228,15 +228,6 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
|
||||
}
|
||||
String brxm=labPat.getBrxm();
|
||||
if(brxm==null || "".equals(brxm) ) new Result("-1","姓名为空禁止审核!");
|
||||
return new Result("0","保存成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存所有结果的修正值,涉及:空结果清除,计算项目添加,添加单位,添加申请项目编码,参考值重新计算更新,结果标志重新计算更新,危急值标志计算更新
|
||||
* @param jyrq
|
||||
* @return
|
||||
*/
|
||||
public Result saveallresult(Date jyrq, String yq, String ybh, String hdys){
|
||||
List<LabResult> labResultList =commonUtil.getLabResultList(jyrq, yq, ybh);
|
||||
if(labResultList==null)return new Result("-1","结果为空禁止审核!");
|
||||
for (LabResult labResult : labResultList) {
|
||||
@ -251,40 +242,28 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
|
||||
|
||||
}
|
||||
}
|
||||
String keepnodataitem=commonUtil.getComOptValue(yq,"keepnodataitem");
|
||||
if("1".equals(keepnodataitem)){}else{
|
||||
for (LabResult labResult : labResultList) {
|
||||
String csjg=labResult.getCsjg();
|
||||
if (csjg==null || "".equals(csjg)) {
|
||||
commonUtil.delLabResult(labResult);
|
||||
}
|
||||
return new Result("0","保存成功!");
|
||||
}
|
||||
|
||||
}
|
||||
/**
|
||||
* 保存所有结果的修正值,涉及:空结果清除,计算项目添加,添加单位,添加申请项目编码,参考值重新计算更新,结果标志重新计算更新,危急值标志计算更新
|
||||
* @param jyrq
|
||||
* @return
|
||||
*/
|
||||
public Result saveallresult(Date jyrq, String yq, String ybh){
|
||||
//清除空白结果
|
||||
String keepnodataitem=commonUtil.getComOptValue(yq,"keepnodataitem");
|
||||
if(!"1".equals(keepnodataitem)){
|
||||
commonUtil.delNullLabResult(jyrq, yq, ybh);
|
||||
}
|
||||
//查询病人信息
|
||||
LabPat labPat=commonUtil.getLabPatOne(jyrq, yq, ybh);
|
||||
//计算项目更新
|
||||
calcsample(labPat);
|
||||
String yqdl=lisWorkOperMapper.selectYqdl(yq);
|
||||
if(!"细菌仪".equals(yqdl)) {
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
map.put("jyrq", jyrq);
|
||||
map.put("yq", yq);
|
||||
map.put("ybh", ybh);
|
||||
map.put("settype", "1");
|
||||
map.put("retcode", "");
|
||||
map.put("retmsg", "");
|
||||
lisWorkOperMapper.sp_setrefs(map);
|
||||
String retCode = String.valueOf(map.get("retcode"));
|
||||
String retMsg = String.valueOf(map.get("retmsg"));
|
||||
log.info("调用存储过程{}返回值:{},{}", "sp_setrefs", retCode, retMsg);
|
||||
if (retCode == null || "".equals(retCode) || "-1".equals(retCode)) return new Result("-1", "保存常规参考值失败!");
|
||||
int wjz=saverefs(labPat);
|
||||
if(wjz==1){
|
||||
//危急值处理过程
|
||||
}
|
||||
}
|
||||
String sqh=labPat.getSqh();
|
||||
setItemSqxmdh(jyrq, yq, ybh,sqh);
|
||||
//保存最新参考值结果标志
|
||||
saverefs(labPat);
|
||||
//补写结果表申请单项目编号
|
||||
setItemSqxmdh(jyrq, yq, ybh,labPat.getSqh());
|
||||
return new Result("0","保存成功!");
|
||||
}
|
||||
|
||||
@ -407,16 +386,46 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
|
||||
//当结果为数值并且与周期诊断无关,计算存储过程保存成功后,只进行危急值判断
|
||||
if(lb_nummode && lb_setbj && !"Y".equals(ygzd) && !"Y".equals(ygzq)){
|
||||
int wjz=alarmcondition(labPat,labResult);
|
||||
if(wjz==1)lb_wjz=true;
|
||||
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;
|
||||
}else {
|
||||
int wjz = setrefs( labPat, labResult);
|
||||
if (wjz == 1) lb_wjz = true;
|
||||
}
|
||||
}
|
||||
|
||||
if(lb_wjz){
|
||||
//危急值处理过程
|
||||
//危急值标识去除原则
|
||||
String brxm=labPat.getBrxm();
|
||||
if(brxm.contains("质控")||brxm.contains("复查")||brxm.contains("QC")||brxm.contains("qc")||brxm.contains("软化水")||brxm.contains("锅炉水")){
|
||||
lb_wjz=false;
|
||||
};
|
||||
String brly=labPat.getBrly();
|
||||
brly=commonUtil.getComDictNameById("PT",brly);
|
||||
if(brly.contains("质控"))lb_wjz=false;
|
||||
String ksdh=labPat.getKsdh();
|
||||
ksdh=commonUtil.getComDictNameById("DP",ksdh);
|
||||
if(ksdh.contains("检验科"))lb_wjz=false;
|
||||
//同步主表危急值标识
|
||||
String alarmflag=labPat.getAlarmflag();
|
||||
if(("1".equals(alarmflag) && !lb_wjz)){
|
||||
labPat.setAlarmflag("1");
|
||||
commonUtil.updateLabPat(labPat);
|
||||
}else if(("".equals(alarmflag)||alarmflag==null) && lb_wjz){
|
||||
labPat.setAlarmflag("");
|
||||
commonUtil.updateLabPat(labPat);
|
||||
}
|
||||
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
@ -518,10 +527,10 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
|
||||
if("P".equals(jgbzold) && (csjg.indexOf("阳")>=0 || csjg.indexOf("+")>=0 || csjg.indexOf(":")>=0 ) && (lmtflag == null || lmtflag.trim().isEmpty())) lmtflag="P";
|
||||
resultflag=lmtflag;
|
||||
if("J".equals(lmtflag))wjzflag = "H";
|
||||
int wjzf=alarmcondition(labPat,labResult);
|
||||
if(wjzf==1) wjzflag="H";
|
||||
|
||||
}
|
||||
int wjzf=alarmcondition(labPat,labResult);
|
||||
if(wjzf==1) wjzflag="H";//满足特定危机值条件
|
||||
if(wjzf==0) wjzflag="";//存在特定危机值条件,但不满足不提示
|
||||
//小数保留位数计算
|
||||
Integer xsws= xmInfo.getXsws();
|
||||
if(xsws>=0) csjg=LisUtil.round(csjg,xsws);
|
||||
@ -546,9 +555,11 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
|
||||
private int alarmcondition(LabPat labPat,LabResult labResult){
|
||||
boolean lb_fcb=false,lb_hasval=false;
|
||||
String csjg=labResult.getCsjg();
|
||||
if (csjg == null || csjg.trim().isEmpty()) return 0;
|
||||
if (csjg == null || csjg.trim().isEmpty()) return -1;
|
||||
String yq=labPat.getYq();
|
||||
String xmdh=labResult.getXmdh();
|
||||
List<XmAlarmdetail> getXmAlarmdetail=commonUtil.getXmAlarmdetail(yq,xmdh);
|
||||
if(getXmAlarmdetail==null)return -1;
|
||||
String brxm="";
|
||||
String brdh="";
|
||||
String ksdh=labPat.getKsdh();
|
||||
@ -558,9 +569,6 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
|
||||
String ybzt1=commonUtil.getComDictIdByName("ST",ybzt);
|
||||
if (ybzt1 != null && !ybzt1.trim().isEmpty()) ybzt=ybzt1;
|
||||
String zd=labPat.getZd();
|
||||
|
||||
List<XmAlarmdetail> getXmAlarmdetail=commonUtil.getXmAlarmdetail(yq,xmdh);
|
||||
if(getXmAlarmdetail==null)return 0;
|
||||
for(XmAlarmdetail xmAlarmdetail :getXmAlarmdetail){
|
||||
String samplecondition=xmAlarmdetail.getSamplecondition();
|
||||
lb_fcb=false;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user