453 lines
16 KiB
Java
Raw Normal View History

2025-06-24 18:01:25 +08:00
package com.czlis.interfaceCommon.utils;
import com.czlis.common.core.domain.Result;
import com.czlis.common.core.domain.entity.lis.*;
import com.czlis.common.utils.ComDictUtils;
import com.czlis.common.utils.ComOptionUtils;
2025-07-01 11:52:54 +08:00
import com.czlis.interfaceCommon.mapper.*;
2025-08-28 09:35:29 +08:00
import com.sun.org.apache.bcel.internal.generic.RETURN;
2025-07-04 00:22:41 +08:00
import org.apache.commons.lang3.time.DateFormatUtils;
2025-08-18 17:48:46 +08:00
import org.apache.ibatis.annotations.Param;
2025-06-24 18:01:25 +08:00
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
2025-07-01 11:52:54 +08:00
import org.springframework.transaction.annotation.Transactional;
2025-06-24 18:01:25 +08:00
2025-07-12 12:58:41 +08:00
2025-07-01 11:52:54 +08:00
import java.util.*;
2025-08-19 17:39:39 +08:00
import java.util.stream.Collectors;
2025-06-24 18:01:25 +08:00
@Component
public class CommonUtil {
@Autowired
LabPatMapper labPatMapper;
@Autowired
ComOptMapper comOptMapper;
2025-06-27 13:05:23 +08:00
@Autowired
LabReqmainMapper labReqmainMapper;
2025-07-01 11:52:54 +08:00
@Autowired
CommonMapper commonMapper;
@Autowired
ComDictMapper comDictMapper;
2025-07-04 00:22:41 +08:00
@Autowired
2025-09-02 17:47:53 +08:00
LabResultMapper labResultMapper;
2025-07-23 14:19:57 +08:00
@Autowired
2025-09-09 19:51:56 +08:00
LabResultwarningMapper labResultwarningMapper;
@Autowired
LabPatwarningMapper labPatwarningMapper;
@Autowired
2025-07-23 14:19:57 +08:00
LabReqdetailMapper labReqdetailMapper;
2025-08-14 16:40:19 +08:00
@Autowired
ComUsrMapper comUsrMapper;
@Autowired
ComUsrpowerMapper comUsrpowerMapper;
2025-08-15 19:57:36 +08:00
@Autowired
XmInfoMapper xmInfoMapper;
@Autowired
XmRefMapper xmRefMapper;
2025-08-18 17:48:46 +08:00
@Autowired
XmValMapper xmValMapper;
@Autowired
2025-08-20 18:41:36 +08:00
LabInstrMapper labInstrMapper;
@Autowired
2025-08-18 17:48:46 +08:00
XmAlarmdetailMapper xmAlarmdetailMapper;
2025-08-21 18:15:49 +08:00
@Autowired
LabReqreportPdffileMapper labReqreportPdffileMapper;
2025-08-21 20:49:24 +08:00
@Autowired
LabReqsteplogMapper labReqsteplogMapper;
2025-08-27 17:44:35 +08:00
@Autowired
ComLogMapper comLogMapper;
2025-08-28 09:35:29 +08:00
@Autowired
LabRefusedMapper labRefusedMapper;
2025-09-05 19:39:38 +08:00
@Autowired
XmCalcMapper xmCalcMapper;
2025-09-09 19:51:56 +08:00
@Autowired
LisPatlogMapper lisPatlogMapper;
2025-09-15 19:24:16 +08:00
@Autowired
LabResultlogMapper labResultlogMapper;
@Autowired
LabPatlogMapper labPatlogMapper;
2025-08-19 17:39:39 +08:00
//====检验主表操作方法集合===
public LabPat getLabPatOne(Date jyrq, String yq, String ybh) {
2025-06-24 18:01:25 +08:00
return labPatMapper.getLabPatOne(jyrq, yq, ybh);
}
2025-08-19 17:39:39 +08:00
public List<LabPat> getLabPatListBySqh(String sqh) {
return labPatMapper.getLabPatListBySqh(sqh);
}
public List<LabPat> getLabPatList(LabPat labPat) {
return labPatMapper.getLabPat(labPat);
}
2025-07-04 00:22:41 +08:00
@Transactional(rollbackFor = Exception.class)
2025-08-19 17:39:39 +08:00
public int insertLabPat(LabPat labPat) {
return labPatMapper.updateLabPat(labPat);
}
2025-07-04 00:22:41 +08:00
@Transactional(rollbackFor = Exception.class)
2025-08-19 17:39:39 +08:00
public int delLabPat(LabPat labPat) {
return labPatMapper.updateLabPat(labPat);
}
2025-07-04 00:22:41 +08:00
@Transactional(rollbackFor = Exception.class)
2025-08-19 17:39:39 +08:00
public int updateLabPat(LabPat labPat) {
return labPatMapper.updateLabPat(labPat);
}
2025-09-15 19:24:16 +08:00
@Transactional(rollbackFor = Exception.class)
public int updateLabPatJgbz(Date jyrq, String yq, String ybh,String jgbz){return updateLabPatByColumn(jyrq,yq,ybh,"jgbz",jgbz);}
public int updateLabPatByColumn(Date jyrq, String yq, String ybh,String column,String jgbz){return labPatMapper.updateLabPatByColumn(jyrq,yq,ybh,column,jgbz);}
2025-08-19 17:39:39 +08:00
public int getCountByKey(Date jyrq, String yq, String ybh) {
return labPatMapper.getCountByKey(jyrq, yq, ybh);
}
2025-09-15 19:24:16 +08:00
public String getLabPatJgbz(Date jyrq, String yq, String ybh){
return labPatMapper.getLabPatJgbz(jyrq, yq, ybh);
}
2025-08-19 17:39:39 +08:00
public String getSqhByKey(Date jyrq, String yq, String ybh) {
return labPatMapper.getSqhByKey(jyrq, yq, ybh);
}
2025-07-04 00:22:41 +08:00
//申请单主表方法集合
2025-08-19 17:39:39 +08:00
public LabReqmain getLabReqmainOne(String sqh) {
2025-06-27 13:05:23 +08:00
return labReqmainMapper.getLabReqmainOne(sqh);
}
2025-08-22 19:59:30 +08:00
public int updateLabReqmain(LabReqmain labReqmain) {
return labReqmainMapper.updateLabReqmain(labReqmain);
}
public int deleteLabReqmain(String sqh) {
return labReqmainMapper.deleteLabReqmain(sqh);
}
public void insertLabReqmain(LabReqmain labReqmain) {
labReqmainMapper.insertLabReqmain(labReqmain);
}
2025-08-21 20:49:24 +08:00
public List<LabReqsteplog> getLabReqsteplog(String sqh) {
return labReqsteplogMapper.getLabReqsteplog(sqh);
}
2025-09-15 19:24:16 +08:00
@Transactional(rollbackFor = Exception.class)
public int insertLabReqsteplog(LabReqsteplog labReqsteplog) {
return labReqsteplogMapper.insertLabReqsteplog(labReqsteplog);
}
public int getLabReqsteplogMax(String sqh) {
return labReqsteplogMapper.getLabReqsteplogMax(sqh);
}
2025-09-04 18:35:55 +08:00
public List<LabRefused> getLabRefusedList(LabRefused labRefused) {
2025-08-28 09:35:29 +08:00
return labRefusedMapper.getLabRefusedList(labRefused);
}
2025-09-04 18:35:55 +08:00
public int insertLabRefused(LabRefused labRefused) {
2025-08-28 09:35:29 +08:00
return labRefusedMapper.insertLabRefused(labRefused);
}
2025-07-04 00:22:41 +08:00
//申请单明细表集合
2025-07-01 11:52:54 +08:00
2025-07-04 00:22:41 +08:00
//====检验结果表操作方法集合===
2025-08-19 17:39:39 +08:00
public LabResult getLabResult(Date jyrq, String yq, String ybh, String xmdh) {
return labResultMapper.getLabResult(jyrq, yq, ybh, xmdh);
}
public List<LabResult> getLabResultList(Date jyrq, String yq, String ybh) {
return labResultMapper.getLabResultList(jyrq, yq, ybh);
}
2025-07-04 00:22:41 +08:00
@Transactional(rollbackFor = Exception.class)
2025-08-22 19:59:30 +08:00
public void insertLabResult(LabResult labResult) {
labResultMapper.insertLabResult(labResult);
2025-08-19 17:39:39 +08:00
}
public List<LabResult> getresultinfo(Date jyrq, String yq, String ybh) {
return labResultMapper.getLabResultList(jyrq, yq, ybh);
}
2025-07-04 00:22:41 +08:00
@Transactional(rollbackFor = Exception.class)
2025-08-19 17:39:39 +08:00
public int delLabResult(LabResult labResult) {
return labResultMapper.delLabResult(labResult);
}
2025-07-04 00:22:41 +08:00
@Transactional(rollbackFor = Exception.class)
2025-08-19 17:39:39 +08:00
public int delNullLabResult(Date jyrq, String yq, String ybh) {
return labResultMapper.delNullLabResult(jyrq, yq, ybh);
}
2025-09-04 18:35:55 +08:00
public List<LabResult> getLabResultWithSql(Date jyrq, String yq, String ybh, String errmsg) {
return labResultMapper.getLabResultWithSql(jyrq, yq, ybh, errmsg);
}
2025-08-18 19:12:19 +08:00
@Transactional(rollbackFor = Exception.class)
2025-08-19 17:39:39 +08:00
public int updateLabResult(LabResult labResult) {
return labResultMapper.updateLabResult(labResult);
}
2025-09-09 19:51:56 +08:00
//======危急值操作集合=======
public List<LabResultwarning> getLabResultwarning(Date jyrq, String yq, String ybh) {
return labResultwarningMapper.getLabResultwarning(jyrq, yq, ybh);
}
public LabPatwarning getLabPatwarning(Date jyrq, String yq, String ybh) {
return labPatwarningMapper.getLabPatwarning(jyrq, yq, ybh);
}
@Transactional(rollbackFor = Exception.class)
public void insertLabResultwarning(LabResultwarning labResultwarning) {
labResultwarningMapper.insertLabResultwarning(labResultwarning);
}
@Transactional(rollbackFor = Exception.class)
public void insertLabPatwarning(LabPatwarning labPatwarning) {
labPatwarningMapper.insertLabPatwarning(labPatwarning);
}
@Transactional(rollbackFor = Exception.class)
public void deleteLabPatwarning(Date jyrq, String yq, String ybh) {
labPatwarningMapper.deleteLabPatwarning(jyrq, yq, ybh);
}
@Transactional(rollbackFor = Exception.class)
public void deleteLabResultwarning(Date jyrq, String yq, String ybh) {
labResultwarningMapper.deleteLabResultwarning(jyrq, yq, ybh);
}
2025-09-15 19:24:16 +08:00
@Transactional(rollbackFor = Exception.class)
public void insertLabResultlog(Date jyrq, String yq, String ybh,Date xgrq,String xgyhdh,String ip) {
labResultlogMapper.insertLabResultlog(jyrq, yq, ybh,xgrq,xgyhdh,ip);
}
@Transactional(rollbackFor = Exception.class)
public void insertLabPatlog(Date jyrq, String yq, String ybh,Date xgrq,String xgyhdh,String ip) {
labPatlogMapper.insertLabPatlog(jyrq, yq, ybh,xgrq,xgyhdh,ip);
}
2025-08-19 17:39:39 +08:00
2025-08-15 19:57:36 +08:00
//=====项目字典查询=========
2025-08-20 19:03:01 +08:00
public List<XmInfo> getXmInfoList(String yq) {
return xmInfoMapper.getXmInfoList(yq);
}
public XmInfo getXmInfo(String yq, String xmdh) {
return xmInfoMapper.getXmInfo(yq, xmdh);
}
2025-09-05 19:39:38 +08:00
2025-08-20 19:03:01 +08:00
public List<XmRef> getXmRefList(String yq) {
return xmRefMapper.getXmRefList(yq);
}
public XmRef getXmRef(String yq, String xmdh) {
return xmRefMapper.getXmRef(yq, xmdh);
}
public XmRef getXmRefValue(Map<String, Object> map) {
return xmRefMapper.getXmRefValue(map);
}
2025-09-04 18:35:55 +08:00
public XmRef getXmRefValue(String yq, String xmdh, String bbtype, String sex, Double age, String zd, String slzq) {
2025-08-25 17:43:50 +08:00
return xmRefMapper.getXmRefValue(yq, xmdh, bbtype, sex, age, zd, slzq);
}
2025-08-20 19:03:01 +08:00
public String getXmRefJgbz(String yq, String xmdh, String csjg, String csjg1, String csjg2) {
return xmValMapper.getXmValJgbz(yq, xmdh, csjg, csjg1, csjg2);
}
public List<XmAlarmdetail> getXmAlarmdetail(String yq, String xmdh) {
return xmAlarmdetailMapper.getXmAlarmdetail(yq, xmdh);
}
2025-09-04 18:35:55 +08:00
2025-09-05 19:39:38 +08:00
public List<XmAlarmdetail> getXmAlarmdetailList(String yq) {
return xmAlarmdetailMapper.getXmAlarmdetailList(yq);
}
public List<XmCalc> getXmCalcList(String yq) {
return xmCalcMapper.getXmCalcList(yq);
}
2025-09-15 19:24:16 +08:00
public List<XmCalc> getXmCalcbyxmdh(String yq,String xmdh) {
return xmCalcMapper.getXmCalcbyxmdh(yq,xmdh);
}
2025-09-09 19:51:56 +08:00
@Transactional(rollbackFor = Exception.class)
2025-09-04 18:35:55 +08:00
public Integer insertComLog(ComLog comLog) {
return comLogMapper.insertComLog(comLog);
}
2025-08-20 19:03:01 +08:00
2025-09-09 19:51:56 +08:00
@Transactional(rollbackFor = Exception.class)
public Integer insertLisPatlog(LisPatlog lisPatlog) {
return lisPatlogMapper.insertLisPatlog(lisPatlog);
}
2025-09-10 18:43:11 +08:00
public String getLisPatlogbz(Date jyrq, String yq, String ybh) {
return lisPatlogMapper.getLisPatlogbz(jyrq, yq, ybh);
}
2025-08-20 19:03:01 +08:00
public String getYqmc(String yq) {
return labInstrMapper.getYqmc(yq);
}
public String getYqdl(String yq) {
return labInstrMapper.getYqdl(yq);
}
public LabInstr getLabInstr(String yq) {
return labInstrMapper.getLabInstr(yq);
}
public List<LabInstr> getLabInstrList(LabInstr labInstr) {
return labInstrMapper.getLabInstrList(labInstr);
}
2025-07-04 00:22:41 +08:00
//服务器时间方法
2025-08-20 19:03:01 +08:00
public Date getCurrentTime() {
return commonMapper.getCurrentTime();
}
public String getCurrentDate() {
return getDateString(getCurrentTime());
}
public String getCurrentDateTime() {
return getDateTimeString(getCurrentTime());
}
public String getDateString(Date rq) {
return DateFormatUtils.format(rq, "yyyy-MM-dd");
}
public String getDateTimeString(Date rq) {
return DateFormatUtils.format(rq, "yyyy-MM-dd HH:mm:ss");
}
2025-08-20 18:41:36 +08:00
2025-08-01 17:34:03 +08:00
//字典查询单位名称
2025-08-19 17:39:39 +08:00
public String getCompany(String yljg) {
if (yljg == null || yljg.equals("")) return getCompany();
String zdmc = getComDictNameById("HOS", yljg);
if (zdmc == null || zdmc.equals("")) {
2025-08-01 17:34:03 +08:00
return yljg;
2025-08-19 17:39:39 +08:00
} else {
2025-08-01 17:34:03 +08:00
return zdmc;
}
}
2025-08-19 17:39:39 +08:00
public String getCompany() {
String zdmc = getComDictNameById("99", "COMPANY");
if (zdmc == null || zdmc.equals("")) {
2025-08-01 17:34:03 +08:00
return "";
2025-08-19 17:39:39 +08:00
} else {
2025-08-01 17:34:03 +08:00
return zdmc;
}
}
2025-07-01 11:52:54 +08:00
2025-07-04 00:22:41 +08:00
//字典查询方法集合
public String getComDictNameById(String zdlb, String zddh) {
2025-08-19 17:39:39 +08:00
List<ComDict> comDictList = getDictCache(zdlb);
if (comDictList != null) {
List<ComDict> collect = comDictList.stream().filter(comDict -> comDict.getZddh().equals(zddh)).collect(Collectors.toList());
2025-08-20 19:03:01 +08:00
if (collect.size() > 0) {
2025-08-19 17:39:39 +08:00
return collect.get(0).getZdmc();
2025-09-04 18:35:55 +08:00
}else{
List<ComDict> collect0 = comDictList.stream().filter(comDict -> comDict.getZdmc().equals(zddh)).collect(Collectors.toList());
if (collect0.size() > 0) {
return collect0.get(0).getZdmc();
}
}
2025-08-19 17:39:39 +08:00
}
//如果redis当中没有查到数据,则先在设置redis值,
2025-08-20 19:03:01 +08:00
ComDictUtils.setDictCache(zdlb, comDictMapper.getComDictListByZdlb(zdlb));
2025-08-19 17:39:39 +08:00
return comDictMapper.getComDictNameById(zdlb, zddh);
2025-07-01 11:52:54 +08:00
}
2025-08-19 17:39:39 +08:00
public String getComDictIdByName(String zdlb, String zdmc) {
List<ComDict> comDictList = getDictCache(zdlb);
if (comDictList != null) {
List<ComDict> collect = comDictList.stream().filter(comDict -> comDict.getZdmc().equals(zdmc)).collect(Collectors.toList());
2025-08-20 19:03:01 +08:00
if (collect.size() > 0) {
2025-09-04 18:35:55 +08:00
return collect.get(0).getZddh();
}else{
List<ComDict> collect0 = comDictList.stream().filter(comDict -> comDict.getZddh().equals(zdmc)).collect(Collectors.toList());
if (collect0.size() > 0) {
return collect0.get(0).getZddh();
}
}
2025-08-19 17:39:39 +08:00
}
//如果redis当中没有查到数据,则先在设置redis值,
2025-08-20 19:03:01 +08:00
ComDictUtils.setDictCache(zdlb, comDictMapper.getComDictListByZdlb(zdlb));
2025-08-19 17:39:39 +08:00
return comDictMapper.getComDictIdByName(zdlb, zdmc);
2025-07-01 11:52:54 +08:00
}
2025-08-20 18:41:36 +08:00
2025-08-20 19:03:01 +08:00
public List<ComDict> getComDictList(String zdlb) {
2025-08-20 14:22:17 +08:00
List<ComDict> dictCacheList = getDictCache(zdlb);
2025-08-20 19:03:01 +08:00
if (dictCacheList != null) {
2025-08-20 14:22:17 +08:00
return dictCacheList;
2025-08-20 19:03:01 +08:00
} else {
2025-08-20 14:22:17 +08:00
return comDictMapper.getComDictListByZdlb(zdlb);
}
}
2025-08-20 19:03:01 +08:00
2025-08-20 18:41:36 +08:00
/**
* 获取本院设置全局参数yq=HISOPT
2025-08-20 19:03:01 +08:00
*
2025-08-20 18:41:36 +08:00
* @param xxdh
* @return
*/
2025-08-20 19:03:01 +08:00
public String getHISOPT(String xxdh) {
return getComOptValue("HISOPT", xxdh);
}
2025-08-20 14:22:17 +08:00
2025-08-19 17:39:39 +08:00
public String getComOptValue(String yq, String xxdh) {
ComOpt comOpt = getOptCache(yq, xxdh);
if (comOpt != null) {
2025-08-18 18:20:58 +08:00
//获取到缓存,直接返回缓存中的数据
return comOpt.getXxqz();
2025-08-19 17:39:39 +08:00
} else {
2025-08-18 18:20:58 +08:00
//没有获取到缓存,则先从数据库中查询数据,然后再进行缓存
ComOpt comOpt1 = comOptMapper.getComOptOne(yq, xxdh);
2025-08-22 19:59:30 +08:00
if (comOpt1 != null) {
ComOptionUtils.setOptCache(yq, xxdh, comOpt1);
return comOpt1.getXxqz();
2025-09-05 19:39:38 +08:00
}else{
ComOpt comOpt2=new ComOpt();
comOpt2.setBz("");
comOpt2.setXxdh(xxdh);
comOpt2.setYq(yq);
comOpt2.setXxqz("");
comOpt2.setXxlb("");
ComOptionUtils.setOptCache(yq, xxdh, comOpt2);
2025-08-22 19:59:30 +08:00
}
return null;
2025-08-18 18:20:58 +08:00
}
2025-07-04 00:22:41 +08:00
}
2025-08-20 19:03:01 +08:00
public void setDictCache(String zdlb, List<ComDict> dictDatas) {
ComDictUtils.setDictCache(zdlb, dictDatas);
2025-08-20 14:22:17 +08:00
}
2025-08-19 17:39:39 +08:00
public List<LabReqdetail> getLabReqdetailList(String sqh) {
2025-07-23 14:19:57 +08:00
return labReqdetailMapper.getLabReqdetailList(sqh);
}
2025-08-19 17:39:39 +08:00
private List<ComDict> getDictCache(String zdlb) {
return ComDictUtils.getDictCache(zdlb);
}
2025-08-18 18:20:58 +08:00
2025-08-19 17:39:39 +08:00
private ComOpt getOptCache(String yq, String xxdh) {
return ComOptionUtils.getOptCache(yq, xxdh);
}
2025-07-12 12:58:41 +08:00
2025-08-19 17:39:39 +08:00
public Boolean getUserPower(String yq, String yhdh, int powerIdx) {
2025-09-10 18:43:11 +08:00
if ("admin".equals(yhdh)) return true;
if ("LIS".equals(yhdh)) return true;
if ("lis".equals(yhdh)) return true;
2025-08-14 16:40:19 +08:00
//String yhjs= commonMapper.getyhjs(yhdh);
List<ComUsr> comUsrList = comUsrMapper.getComUsrList(yhdh);
String yhjs = comUsrList.get(0).getYhjs();
if ("S".equals(yhjs)) return true;
2025-08-19 17:39:39 +08:00
String userPower = comUsrpowerMapper.getUserPower(yq, yhdh);
if (userPower == null) return false;
if ("Y".equals(userPower.substring(powerIdx - 1, 1))) return true;
return false;
}
2025-08-21 18:15:49 +08:00
public List<LabReqreportPdffile> getLabReqreportPdffileList(String sqh) {
return labReqreportPdffileMapper.getLabReqreportPdffileList(sqh);
}
2025-08-22 19:59:30 +08:00
public LabReqreportPdffile getLabReqreportPdffileOne(Date jyrq, String yq, String ybh) {
return labReqreportPdffileMapper.getLabReqreportPdffileOne(jyrq, yq, ybh);
2025-08-21 18:15:49 +08:00
}
2025-09-09 19:51:56 +08:00
@Transactional(rollbackFor = Exception.class)
public int deleteLabReqreportPdffile(Date jyrq, String yq, String ybh) {
return labReqreportPdffileMapper.deleteLabReqreportPdffile(jyrq, yq, ybh);
}
2025-06-24 18:01:25 +08:00
}