主业务添加代码
This commit is contained in:
parent
7aa126dbe5
commit
47c6f998af
@ -12,4 +12,5 @@ public interface LabResultMapper {
|
|||||||
int insertLabResult(LabResult labResult);
|
int insertLabResult(LabResult labResult);
|
||||||
int delLabResult(LabResult labResult);
|
int delLabResult(LabResult labResult);
|
||||||
int updateLabResult(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)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public int delLabResult(LabResult labResult) {return labResultMapper.delLabResult(labResult);}
|
public int delLabResult(LabResult labResult) {return labResultMapper.delLabResult(labResult);}
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@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 int updateLabResult(LabResult labResult) {return labResultMapper.updateLabResult(labResult);}
|
||||||
//=====项目字典查询=========
|
//=====项目字典查询=========
|
||||||
public List<XmInfo> getXmInfoList(String yq) {return xmInfoMapper.getXmInfoList(yq);}
|
public List<XmInfo> getXmInfoList(String yq) {return xmInfoMapper.getXmInfoList(yq);}
|
||||||
|
|||||||
@ -44,6 +44,13 @@
|
|||||||
and ybh = #{ybh,jdbcType=VARCHAR}
|
and ybh = #{ybh,jdbcType=VARCHAR}
|
||||||
and xmdh = #{xmdh,jdbcType=VARCHAR}
|
and xmdh = #{xmdh,jdbcType=VARCHAR}
|
||||||
</delete>
|
</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 id="insertLabResult" parameterType="com.czlis.common.core.domain.entity.lis.LabResult">
|
||||||
insert into lab_result (jyrq, yq, ybh,
|
insert into lab_result (jyrq, yq, ybh,
|
||||||
xmdh, wyh, csjg, od,
|
xmdh, wyh, csjg, od,
|
||||||
|
|||||||
@ -205,7 +205,7 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
|
|||||||
Result result=beforecheck2(jyrq, yq, ybh, hdys);
|
Result result=beforecheck2(jyrq, yq, ybh, hdys);
|
||||||
if("0".equals(result.getCode()))return result;
|
if("0".equals(result.getCode()))return result;
|
||||||
//3:数据完整性校验
|
//3:数据完整性校验
|
||||||
result= saveallresult(jyrq, yq, ybh, hdys);
|
result= saveallresult(jyrq, yq, ybh);
|
||||||
if("0".equals(result.getCode()))return result;
|
if("0".equals(result.getCode()))return result;
|
||||||
//4:CA请求业务的处理
|
//4:CA请求业务的处理
|
||||||
//Result result=addCA(jyrq, yq, ybh, hdys);
|
//Result result=addCA(jyrq, yq, ybh, hdys);
|
||||||
@ -228,15 +228,6 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
|
|||||||
}
|
}
|
||||||
String brxm=labPat.getBrxm();
|
String brxm=labPat.getBrxm();
|
||||||
if(brxm==null || "".equals(brxm) ) new Result("-1","姓名为空禁止审核!");
|
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);
|
List<LabResult> labResultList =commonUtil.getLabResultList(jyrq, yq, ybh);
|
||||||
if(labResultList==null)return new Result("-1","结果为空禁止审核!");
|
if(labResultList==null)return new Result("-1","结果为空禁止审核!");
|
||||||
for (LabResult labResult : labResultList) {
|
for (LabResult labResult : labResultList) {
|
||||||
@ -251,40 +242,28 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
|
|||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
String keepnodataitem=commonUtil.getComOptValue(yq,"keepnodataitem");
|
return new Result("0","保存成功!");
|
||||||
if("1".equals(keepnodataitem)){}else{
|
}
|
||||||
for (LabResult labResult : labResultList) {
|
|
||||||
String csjg=labResult.getCsjg();
|
|
||||||
if (csjg==null || "".equals(csjg)) {
|
|
||||||
commonUtil.delLabResult(labResult);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
/**
|
||||||
|
* 保存所有结果的修正值,涉及:空结果清除,计算项目添加,添加单位,添加申请项目编码,参考值重新计算更新,结果标志重新计算更新,危急值标志计算更新
|
||||||
|
* @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);
|
LabPat labPat=commonUtil.getLabPatOne(jyrq, yq, ybh);
|
||||||
//计算项目更新
|
//计算项目更新
|
||||||
calcsample(labPat);
|
calcsample(labPat);
|
||||||
String yqdl=lisWorkOperMapper.selectYqdl(yq);
|
//保存最新参考值结果标志
|
||||||
if(!"细菌仪".equals(yqdl)) {
|
saverefs(labPat);
|
||||||
Map<String, Object> map = new HashMap<>();
|
//补写结果表申请单项目编号
|
||||||
map.put("jyrq", jyrq);
|
setItemSqxmdh(jyrq, yq, ybh,labPat.getSqh());
|
||||||
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);
|
|
||||||
return new Result("0","保存成功!");
|
return new Result("0","保存成功!");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -407,16 +386,46 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
|
|||||||
//当结果为数值并且与周期诊断无关,计算存储过程保存成功后,只进行危急值判断
|
//当结果为数值并且与周期诊断无关,计算存储过程保存成功后,只进行危急值判断
|
||||||
if(lb_nummode && lb_setbj && !"Y".equals(ygzd) && !"Y".equals(ygzq)){
|
if(lb_nummode && lb_setbj && !"Y".equals(ygzd) && !"Y".equals(ygzq)){
|
||||||
int wjz=alarmcondition(labPat,labResult);
|
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 {
|
}else {
|
||||||
int wjz = setrefs( labPat, labResult);
|
int wjz = setrefs( labPat, labResult);
|
||||||
if (wjz == 1) lb_wjz = true;
|
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;
|
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";
|
if("P".equals(jgbzold) && (csjg.indexOf("阳")>=0 || csjg.indexOf("+")>=0 || csjg.indexOf(":")>=0 ) && (lmtflag == null || lmtflag.trim().isEmpty())) lmtflag="P";
|
||||||
resultflag=lmtflag;
|
resultflag=lmtflag;
|
||||||
if("J".equals(lmtflag))wjzflag = "H";
|
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();
|
Integer xsws= xmInfo.getXsws();
|
||||||
if(xsws>=0) csjg=LisUtil.round(csjg,xsws);
|
if(xsws>=0) csjg=LisUtil.round(csjg,xsws);
|
||||||
@ -546,9 +555,11 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
|
|||||||
private int alarmcondition(LabPat labPat,LabResult labResult){
|
private int alarmcondition(LabPat labPat,LabResult labResult){
|
||||||
boolean lb_fcb=false,lb_hasval=false;
|
boolean lb_fcb=false,lb_hasval=false;
|
||||||
String csjg=labResult.getCsjg();
|
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 yq=labPat.getYq();
|
||||||
String xmdh=labResult.getXmdh();
|
String xmdh=labResult.getXmdh();
|
||||||
|
List<XmAlarmdetail> getXmAlarmdetail=commonUtil.getXmAlarmdetail(yq,xmdh);
|
||||||
|
if(getXmAlarmdetail==null)return -1;
|
||||||
String brxm="";
|
String brxm="";
|
||||||
String brdh="";
|
String brdh="";
|
||||||
String ksdh=labPat.getKsdh();
|
String ksdh=labPat.getKsdh();
|
||||||
@ -558,9 +569,6 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
|
|||||||
String ybzt1=commonUtil.getComDictIdByName("ST",ybzt);
|
String ybzt1=commonUtil.getComDictIdByName("ST",ybzt);
|
||||||
if (ybzt1 != null && !ybzt1.trim().isEmpty()) ybzt=ybzt1;
|
if (ybzt1 != null && !ybzt1.trim().isEmpty()) ybzt=ybzt1;
|
||||||
String zd=labPat.getZd();
|
String zd=labPat.getZd();
|
||||||
|
|
||||||
List<XmAlarmdetail> getXmAlarmdetail=commonUtil.getXmAlarmdetail(yq,xmdh);
|
|
||||||
if(getXmAlarmdetail==null)return 0;
|
|
||||||
for(XmAlarmdetail xmAlarmdetail :getXmAlarmdetail){
|
for(XmAlarmdetail xmAlarmdetail :getXmAlarmdetail){
|
||||||
String samplecondition=xmAlarmdetail.getSamplecondition();
|
String samplecondition=xmAlarmdetail.getSamplecondition();
|
||||||
lb_fcb=false;
|
lb_fcb=false;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user