主业务添加代码

This commit is contained in:
tangw 2025-08-28 10:05:41 +08:00
parent ed9b3f8eb1
commit b1fdb0f795

View File

@ -266,7 +266,7 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
String f_check1 = commonUtil.getComOptValue(yq, "f_check1"); String f_check1 = commonUtil.getComOptValue(yq, "f_check1");
if ("1".equals(f_check1)) return new Result("-1", "审核前必须先初审!"); if ("1".equals(f_check1)) return new Result("-1", "审核前必须先初审!");
} }
if(checkWorkTime(labPat)==1)return new Result("-1", "核对医生不允许与检验医生相同!"); if (checkWorkTime(labPat) == 1) return new Result("-1", "核对医生不允许与检验医生相同!");
String limit_brly = commonUtil.getHISOPT("limit_brly"); String limit_brly = commonUtil.getHISOPT("limit_brly");
String brly = labPat.getBrly(); String brly = labPat.getBrly();
if ("1".equals(limit_brly) && (brly == null || "".equals(brly))) if ("1".equals(limit_brly) && (brly == null || "".equals(brly)))
@ -294,7 +294,7 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
if ("1".equals(limit_brpatno) && (brdh == null || "".equals(brdh))) { if ("1".equals(limit_brpatno) && (brdh == null || "".equals(brdh))) {
if ("1".equals(brly) || "3".equals(brly)) return new Result("-1", "门诊住院的病历号不能为空,禁止审核!"); if ("1".equals(brly) || "3".equals(brly)) return new Result("-1", "门诊住院的病历号不能为空,禁止审核!");
} }
String yqdl = commonUtil.getYqdl(yq);
List<LabResult> labResultList = commonUtil.getLabResultList(jyrq, yq, ybh); List<LabResult> labResultList = commonUtil.getLabResultList(jyrq, yq, ybh);
if (labResultList == null || labResultList.size() == 0) return new Result("-1", "结果为空禁止审核!"); if (labResultList == null || labResultList.size() == 0) return new Result("-1", "结果为空禁止审核!");
for (LabResult labResult : labResultList) { for (LabResult labResult : labResultList) {
@ -313,7 +313,6 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
//多做结果判断 //多做结果判断
String otherresultmsg = commonUtil.getComOptValue(yq, "otherresultmsg"); String otherresultmsg = commonUtil.getComOptValue(yq, "otherresultmsg");
if ("1".equals(otherresultmsg)) { if ("1".equals(otherresultmsg)) {
String yqdl = commonUtil.getYqdl(yq);
if (!"细菌仪".equals(yqdl)) { if (!"细菌仪".equals(yqdl)) {
int nullcount = lisWorkOperMapper.checkresultsqxmdh(jyrq, yq, ybh, labPat.getSqh()); int nullcount = lisWorkOperMapper.checkresultsqxmdh(jyrq, yq, ybh, labPat.getSqh());
if (nullcount > 0) return new Result("5", "结果有多做的项目,是否审核?", 2); if (nullcount > 0) return new Result("5", "结果有多做的项目,是否审核?", 2);
@ -355,9 +354,32 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
SetReport setReport = new SetReport(); SetReport setReport = new SetReport();
setReport.setIp(IpUtils.getIpAddr()); setReport.setIp(IpUtils.getIpAddr());
setReport.setJyrq(DateFormatUtils.format(jyrq, "yyyy-MM-dd")); setReport.setJyrq(DateFormatUtils.format(jyrq, "yyyy-MM-dd"));
setReport.setYq(yq.trim());
setReport.setYbh(ybh); setReport.setYbh(ybh);
setReport.setUserid(Userid); setReport.setUserid(Userid);
setReport.setYq(yq.trim());
setReport.setStatus(LisinterfaceNameConstants.REPORTSTART);
if (!"细菌仪".equals(yqdl)) {
if (!"1".equals(commonUtil.getHISOPT("wswcbbgbl"))) {
String ls_cbbgyq = commonUtil.getComOptValue(yq, "cbbgyq");
if (ls_cbbgyq != null && !"".equals(ls_cbbgyq)) {
String ls_ejbgyq = "EJBG" + ls_cbbgyq;
ls_cbbgyq = "CBBG" + ls_cbbgyq;
int count = commonUtil.getCountByKey(jyrq, ls_cbbgyq, ybh);
if (count > 0) {
setReport.setYq(ls_cbbgyq);
setReport.setStatus(LisinterfaceNameConstants.REPORTCANCAL);
Result result = lisInterfaceUtil.invokeLisInterface(LisinterfaceNameConstants.SETREPORT, setReport);
}
count = commonUtil.getCountByKey(jyrq, ls_ejbgyq, ybh);
if (count > 0) {
setReport.setYq(ls_ejbgyq);
setReport.setStatus(LisinterfaceNameConstants.REPORTCANCAL);
Result result = lisInterfaceUtil.invokeLisInterface(LisinterfaceNameConstants.SETREPORT, setReport);
}
}
}
}
setReport.setYq(yq.trim());
setReport.setStatus(LisinterfaceNameConstants.REPORTSTART); setReport.setStatus(LisinterfaceNameConstants.REPORTSTART);
Result result = lisInterfaceUtil.invokeLisInterface(LisinterfaceNameConstants.SETREPORT, setReport); Result result = lisInterfaceUtil.invokeLisInterface(LisinterfaceNameConstants.SETREPORT, setReport);
if (result.getCode().equals("5")) { if (result.getCode().equals("5")) {
@ -367,6 +389,7 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
return new Result("0", "保存成功!"); return new Result("0", "保存成功!");
} }
if (!result.getCode().equals("0")) return result; if (!result.getCode().equals("0")) return result;
checkxpywrgjz(labPat);
return new Result("0", "保存成功!"); return new Result("0", "保存成功!");
} }
@ -444,12 +467,12 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
} }
if (!result.getCode().equals("0")) return result; if (!result.getCode().equals("0")) return result;
//最后完成 //最后完成
String finish=labPat.getFinish(); String finish = labPat.getFinish();
if (!"细菌仪".equals(yqdl) && finish !=null) labPat.setFinish("1"); if (!"细菌仪".equals(yqdl) && finish != null) labPat.setFinish("1");
labPat.setJgbz(ReportStatusConstants.CONFIRM); labPat.setJgbz(ReportStatusConstants.CONFIRM);
Integer shcs=labPat.getShcs(); Integer shcs = labPat.getShcs();
if(shcs==null)shcs=0; if (shcs == null) shcs = 0;
shcs=shcs+1; shcs = shcs + 1;
labPat.setShcs(shcs); labPat.setShcs(shcs);
commonUtil.updateLabPat(labPat); commonUtil.updateLabPat(labPat);
return new Result("0", "保存成功!"); return new Result("0", "保存成功!");
@ -553,26 +576,26 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
*/ */
@Override @Override
public Result saveallresult(Date jyrq, String yq, String ybh) { public Result saveallresult(Date jyrq, String yq, String ybh) {
int finsh=1; int finsh = 1;
List<LabResult> labResultList = commonUtil.getLabResultList(jyrq, yq, ybh); List<LabResult> labResultList = commonUtil.getLabResultList(jyrq, yq, ybh);
if (labResultList == null || labResultList.size() == 0) return new Result("-1", "结果为空!"); if (labResultList == null || labResultList.size() == 0) return new Result("-1", "结果为空!");
for (LabResult labResult : labResultList) { for (LabResult labResult : labResultList) {
String csjg = labResult.getCsjg(); String csjg = labResult.getCsjg();
if ("未做".equals(csjg)) { if ("未做".equals(csjg)) {
finsh=0; finsh = 0;
} }
if (csjg != null) { if (csjg != null) {
if (csjg.contains("ERR")) finsh=0; if (csjg.contains("ERR")) finsh = 0;
if (csjg.contains("需稀释")) finsh=0; if (csjg.contains("需稀释")) finsh = 0;
if (csjg.contains("需复做")) finsh=0; if (csjg.contains("需复做")) finsh = 0;
} }
} }
String yqdl = commonUtil.getYqdl(yq); String yqdl = commonUtil.getYqdl(yq);
//查询病人信息 //查询病人信息
LabPat labPat = commonUtil.getLabPatOne(jyrq, yq, ybh); LabPat labPat = commonUtil.getLabPatOne(jyrq, yq, ybh);
String finish=labPat.getFinish(); String finish = labPat.getFinish();
if (!"细菌仪".equals(yqdl) && finish !=null && finsh==1) labPat.setFinish("1"); if (!"细菌仪".equals(yqdl) && finish != null && finsh == 1) labPat.setFinish("1");
int wjz = saveallresult(labPat); int wjz = saveallresult(labPat);
//同步主表危急值标识 //同步主表危急值标识
String alarmflag = labPat.getAlarmflag(); String alarmflag = labPat.getAlarmflag();
@ -585,6 +608,7 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
} }
return new Result("0", "保存成功!"); return new Result("0", "保存成功!");
} }
//内部使用 //内部使用
private int saveallresult(LabPat labPat) { private int saveallresult(LabPat labPat) {
Date jyrq = labPat.getJyrq(); Date jyrq = labPat.getJyrq();
@ -610,6 +634,7 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
if (sqh != null && !"".equals(sqh)) setItemSqxmdh(jyrq, yq, ybh, sqh); if (sqh != null && !"".equals(sqh)) setItemSqxmdh(jyrq, yq, ybh, sqh);
return wjz; return wjz;
} }
/** /**
* 结果表补充申请单项目代码 * 结果表补充申请单项目代码
* *
@ -625,6 +650,7 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
setItemSqxmdh(jyrq, yq, ybh, sqh); setItemSqxmdh(jyrq, yq, ybh, sqh);
} }
} }
//内部使用 //内部使用
private void setItemSqxmdh(Date jyrq, String yq, String ybh, String sqh) { private void setItemSqxmdh(Date jyrq, String yq, String ybh, String sqh) {
if (sqh != null && !"".equals(sqh)) { if (sqh != null && !"".equals(sqh)) {
@ -637,6 +663,7 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
} }
} }
} }
/** /**
* 计算项目增加及重新计算 * 计算项目增加及重新计算
* *
@ -650,6 +677,7 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
calcsample(labPat); calcsample(labPat);
return new Result("0", "保存成功!"); return new Result("0", "保存成功!");
} }
//内部使用 //内部使用
private void calcsample(LabPat labPat) { private void calcsample(LabPat labPat) {
Date jyrq = labPat.getJyrq(); Date jyrq = labPat.getJyrq();
@ -706,6 +734,7 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
} }
} }
} }
/** /**
* 计算项目参考值结果异常标志 * 计算项目参考值结果异常标志
* *
@ -729,6 +758,7 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
return new Result("0", "保存成功!"); return new Result("0", "保存成功!");
} }
//内部使用 //内部使用
/** /**
* 计算项目参考值结果异常标志(内部使用) * 计算项目参考值结果异常标志(内部使用)
* *
@ -784,21 +814,23 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
} }
//危急值标识去除原则 //危急值标识去除原则
String brxm = labPat.getBrxm(); String brxm = labPat.getBrxm();
if(brxm !=null)if (brxm.contains("质控") || brxm.contains("复查") || brxm.contains("QC") || brxm.contains("qc") || brxm.contains("软化水") || brxm.contains("锅炉水")) { if (brxm != null)
if (brxm.contains("质控") || brxm.contains("复查") || brxm.contains("QC") || brxm.contains("qc") || brxm.contains("软化水") || brxm.contains("锅炉水")) {
lb_wjz = false; lb_wjz = false;
} }
; ;
String brly = labPat.getBrly(); String brly = labPat.getBrly();
if(brly !=null)brly = commonUtil.getComDictNameById("PT", brly); if (brly != null) brly = commonUtil.getComDictNameById("PT", brly);
if(brly !=null)if (brly.contains("质控")) lb_wjz = false; if (brly != null) if (brly.contains("质控")) lb_wjz = false;
String ksdh = labPat.getKsdh(); String ksdh = labPat.getKsdh();
if(ksdh !=null)ksdh = commonUtil.getComDictNameById("DP", ksdh); if (ksdh != null) ksdh = commonUtil.getComDictNameById("DP", ksdh);
if(ksdh !=null)if (ksdh.contains("检验科")) lb_wjz = false; if (ksdh != null) if (ksdh.contains("检验科")) lb_wjz = false;
//同步主表危急值标识 //同步主表危急值标识
if (lb_wjz) return 1; if (lb_wjz) return 1;
} }
return 0; return 0;
} }
/** /**
* 明细结果计算参考值异常标志危急值标志并更新 * 明细结果计算参考值异常标志危急值标志并更新
* *
@ -843,7 +875,9 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
String zd = null; String zd = null;
if ("Y".equals(ygzd)) { if ("Y".equals(ygzd)) {
zd = labPat.getZd(); zd = labPat.getZd();
if (zd == null) {zd="";} if (zd == null) {
zd = "";
}
} }
String slzq = null; String slzq = null;
if ("Y".equals(ygzq)) { if ("Y".equals(ygzq)) {
@ -914,6 +948,7 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
if (!"".equals(wjzflag)) wjz = 1; if (!"".equals(wjzflag)) wjz = 1;
return wjz; return wjz;
} }
/** /**
* 特定条件危急值判断 * 特定条件危急值判断
* *
@ -987,6 +1022,7 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
if (lb_hasval) return 0; if (lb_hasval) return 0;
else return -1; else return -1;
} }
/** /**
* 获取常用取值结果标志 * 获取常用取值结果标志
* *
@ -1018,26 +1054,28 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
/** /**
* 工作时间校验检验者审核者不允许相同 上班时间上午8点-12点下午2点到5点,周末不算 * 工作时间校验检验者审核者不允许相同 上班时间上午8点-12点下午2点到5点,周末不算
*
* @param labPat * @param labPat
* @return 返回0通过,返回1不允许相同 * @return 返回0通过, 返回1不允许相同
*/ */
private int checkWorkTime(LabPat labPat){ private int checkWorkTime(LabPat labPat) {
String yhdh = labPat.getYhdh(); String yhdh = labPat.getYhdh();
String hdys = labPat.getHdys(); String hdys = labPat.getHdys();
if(yhdh==null || yhdh.isEmpty()) return 0; if (yhdh == null || yhdh.isEmpty()) return 0;
if(hdys==null || hdys.isEmpty()) return 0; if (hdys == null || hdys.isEmpty()) return 0;
if(!yhdh.equals(hdys)) return 0; if (!yhdh.equals(hdys)) return 0;
String sb1=commonUtil.getHISOPT("SHTIME1"); String sb1 = commonUtil.getHISOPT("SHTIME1");
String sb2=commonUtil.getHISOPT("SHTIME2"); String sb2 = commonUtil.getHISOPT("SHTIME2");
String sb3=commonUtil.getHISOPT("SHTIME3"); String sb3 = commonUtil.getHISOPT("SHTIME3");
String sb4=commonUtil.getHISOPT("SHTIME4"); String sb4 = commonUtil.getHISOPT("SHTIME4");
if((sb1==null || sb1.isEmpty()) && (sb2==null || sb2.isEmpty()) && (sb3==null || sb3.isEmpty()) && (sb4==null || sb4.isEmpty())) return 0; if ((sb1 == null || sb1.isEmpty()) && (sb2 == null || sb2.isEmpty()) && (sb3 == null || sb3.isEmpty()) && (sb4 == null || sb4.isEmpty()))
Date currenttime=DateUtils.getNowDate(); return 0;
Date currenttime = DateUtils.getNowDate();
int weekDay = DateUtils.getWeekDay(currenttime); int weekDay = DateUtils.getWeekDay(currenttime);
//周末不算 //周末不算
if(weekDay==6 && weekDay==7) return 0; if (weekDay == 6 && weekDay == 7) return 0;
int lt_now= Integer.parseInt(DateUtils.time(currenttime,"HH:mm").replace(":", "")); int lt_now = Integer.parseInt(DateUtils.time(currenttime, "HH:mm").replace(":", ""));
if((sb1==null || sb1.isEmpty()) && (sb2==null || sb2.isEmpty())) { if ((sb1 == null || sb1.isEmpty()) && (sb2 == null || sb2.isEmpty())) {
sb1 = sb1.replace(":", ""); sb1 = sb1.replace(":", "");
sb2 = sb2.replace(":", ""); sb2 = sb2.replace(":", "");
@ -1054,25 +1092,42 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
} }
return 0; return 0;
} }
private int checkxpywrgjz(LabPat labPat){
String ls_bz=labPat.getBz();
String ls_sqh=labPat.getSqh();
String yq=labPat.getYq();
if(ls_sqh==null || ls_sqh.isEmpty()) return 0;
if(ls_bz==null || ls_bz.isEmpty()) return 0;
String ls_xpywr=commonUtil.getComOptValue(yq,"xpywrgjz");
if(ls_xpywr==null || ls_xpywr.isEmpty()) return 0;
if(ls_bz.contains(ls_xpywr)){
String ls_yblx=labPat.getYblx();
if(ls_yblx==null || ls_yblx.isEmpty()) return 0;
String ls_yblxmc=commonUtil.getComDictNameById("BT",ls_yblx);
if(ls_yblxmc==null || ls_yblxmc.isEmpty()) return 0;
if(ls_yblxmc.contains("血")||ls_yblx.contains("血")){
String ls_xpywrdh=commonUtil.getComOptValue(yq,"xpywrdh");
if(ls_xpywrdh==null || ls_xpywrdh.isEmpty()) return 0;
String ls_hdys=labPat.getHdys();
if(ls_hdys==null || ls_hdys.isEmpty())ls_hdys=labPat.getYhdh();
/**
* 备注自动登记血培养污染记录
*
* @param labPat
* @return
*/
private int checkxpywrgjz(LabPat labPat) {
String ls_bz = labPat.getBz();
String ls_sqh = labPat.getSqh();
String yq = labPat.getYq();
if (ls_sqh == null || ls_sqh.isEmpty()) return 0;
if (ls_bz == null || ls_bz.isEmpty()) return 0;
String ls_xpywr = commonUtil.getComOptValue(yq, "xpywrgjz");
if (ls_xpywr == null || ls_xpywr.isEmpty()) return 0;
if (ls_bz.contains(ls_xpywr)) {
String ls_yblx = labPat.getYblx();
if (ls_yblx == null || ls_yblx.isEmpty()) return 0;
String ls_yblxmc = commonUtil.getComDictNameById("BT", ls_yblx);
if (ls_yblxmc == null || ls_yblxmc.isEmpty()) return 0;
if (ls_yblxmc.contains("血") || ls_yblx.contains("血")) {
String ls_xpywrdh = commonUtil.getComOptValue(yq, "xpywrdh");
if (ls_xpywrdh == null || ls_xpywrdh.isEmpty()) return 0;
String ls_hdys = labPat.getHdys();
if (ls_hdys == null || ls_hdys.isEmpty()) ls_hdys = labPat.getYhdh();
LabRefused labRefused = new LabRefused();
labRefused.setSqh(ls_sqh);
labRefused.setRefusetext(ls_xpywrdh);
List<LabRefused> labRefusedList = commonUtil.getLabRefusedList(labRefused);
if (labRefusedList.size() == 0) {
labRefused.setRefusedtime(new Date());
labRefused.setKsdh(labPat.getKsdh());
labRefused.setBz("0");
labRefused.setRefuseder(ls_hdys);
commonUtil.insertLabRefused(labRefused);
}
} }
} }
return 0; return 0;