diff --git a/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/mapper/LabInputmdlDetailMapper.java b/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/mapper/LabInputmdlDetailMapper.java new file mode 100644 index 0000000..9d80f47 --- /dev/null +++ b/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/mapper/LabInputmdlDetailMapper.java @@ -0,0 +1,10 @@ +package com.czlis.interfaceCommon.mapper; + +import com.czlis.common.core.domain.entity.lis.LabInputmdlDetail; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +public interface LabInputmdlDetailMapper { + List getLabInputmdlDetail(@Param("yq") String yq, @Param("mbmc") String mbmc); +} diff --git a/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/mapper/LabInputmdlMapper.java b/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/mapper/LabInputmdlMapper.java new file mode 100644 index 0000000..6455596 --- /dev/null +++ b/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/mapper/LabInputmdlMapper.java @@ -0,0 +1,13 @@ +package com.czlis.interfaceCommon.mapper; + +import com.czlis.common.core.domain.entity.lis.LabInputmdl; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +public interface LabInputmdlMapper { + List getLabInputmdl(String yq); + LabInputmdl getLabInputmdlmbmc(@Param("yq") String yq,@Param("mbmc") String mbmc); + List getLabInputmdlzdsr(String yq); + List getLabInputmdlzdsrybh(@Param("yq") String yq,@Param("ybh") String ybh); +} diff --git a/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/mapper/LabResultMapper.java b/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/mapper/LabResultMapper.java index 82e3337..4542f56 100644 --- a/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/mapper/LabResultMapper.java +++ b/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/mapper/LabResultMapper.java @@ -15,4 +15,5 @@ public interface LabResultMapper { int updateLabResult(LabResult labResult); int delNullLabResult(@Param("jyrq") Date jyrq, @Param("yq") String yq, @Param("ybh") String ybh); List getLabResultWithSql(@Param("jyrq") Date jyrq, @Param("yq") String yq, @Param("ybh") String ybh,@Param("wheresql") String wheresql); + int insertLabResultByBarcode(@Param("jyrq") Date jyrq, @Param("yq") String yq,@Param("ybh") String ybh,@Param("sqh") String sqh); } diff --git a/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/utils/CommonUtil.java b/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/utils/CommonUtil.java index ec34acc..312cbc0 100644 --- a/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/utils/CommonUtil.java +++ b/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/utils/CommonUtil.java @@ -83,6 +83,10 @@ public class CommonUtil { ComSeqMapper comSeqMapper; @Autowired LabReqpackMapper labReqpackMapper; + @Autowired + LabInputmdlMapper labInputmdlMapper; + @Autowired + LabInputmdlDetailMapper labInputmdlDetailMapper; //====检验主表操作方法集合=== public LabPat getLabPatOne(Date jyrq, String yq, String ybh) { return labPatMapper.getLabPatOne(jyrq, yq, ybh); @@ -253,10 +257,10 @@ public class CommonUtil { labResultMapper.insertLabResult(labResult); } - public List getresultinfo(Date jyrq, String yq, String ybh) { - return labResultMapper.getLabResultList(jyrq, yq, ybh); + @Transactional(rollbackFor = Exception.class) + public void insertLabResultByBarcode(Date jyrq, String yq, String ybh, String sqh){ + labResultMapper.insertLabResultByBarcode(jyrq,yq,ybh,sqh); } - @Transactional(rollbackFor = Exception.class) public int delLabResult(LabResult labResult) { return labResultMapper.delLabResult(labResult); @@ -377,6 +381,21 @@ public class CommonUtil { public List getXmVal(String yq,String xmdh) { return xmValMapper.getXmVal(yq,xmdh); } + public List getLabInputmdl(String yq) { + return labInputmdlMapper.getLabInputmdl(yq); + } + public LabInputmdl getLabInputmdlmbmc(String yq,String mbmc) { + return labInputmdlMapper.getLabInputmdlmbmc(yq,mbmc); + } + public List getLabInputmdlzdsr(String yq) { + return labInputmdlMapper.getLabInputmdlzdsr(yq); + } + public List getLabInputmdlzdsrybh(String yq,String ybh) { + return labInputmdlMapper.getLabInputmdlzdsrybh(yq,ybh); + } + public List getLabInputmdlDetail(String yq,String mbmc) { + return labInputmdlDetailMapper.getLabInputmdlDetail(yq,mbmc); + } public List getXmAlarmdetail(String yq, String xmdh) { return xmAlarmdetailMapper.getXmAlarmdetail(yq, xmdh); } diff --git a/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/utils/LisWorkUtils.java b/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/utils/LisWorkUtils.java index fee9970..cb25ac8 100644 --- a/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/utils/LisWorkUtils.java +++ b/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/utils/LisWorkUtils.java @@ -1835,6 +1835,7 @@ public class LisWorkUtils { String yq = labPat.getYq(); String ybh = labPat.getYbh(); String userId = labPat.getYhdh(); + Date jyrq=labPat.getJyrq(); Date sjsj = commonUtil.getCurrentTime(); //修改状态和时间 commonUtil.zxLabReqmain(sqh, userId); @@ -1881,6 +1882,27 @@ public class LisWorkUtils { } if (newpatinfo) commonUtil.insertLabPat(labPat); else commonUtil.updateLabPat(labPat); + commonUtil.insertLabResultByBarcode(jyrq, ybh, yq, sqh); + List labResultList=commonUtil.getLabResultList(jyrq, ybh, yq); + List labInputmdlList=chkautoinput(yq,ybh); + boolean setyblx=false; + if(!labInputmdlList.isEmpty()) { + for (LabInputmdl labInputmdl : labInputmdlList) { + labResultList = batchinput(jyrq, yq, ybh, labResultList, labInputmdl.getMbmc(), true); + String yblx = labInputmdl.getYblx(); + if (yblx != null && !yblx.isEmpty()) { + labPat.setYblx(yblx); + setyblx=true; + } + } + if(!labResultList.stream().filter(s->s.getChangeflag()==1).collect(Collectors.toList()).isEmpty()){ + if(setyblx) commonUtil.updateLabPat(labPat); + } + } + labResultList=saveallresult(labPat,labResultList); + // Map map=new HashMap<>(); + // map.put("labpat",labPat); + // map.put("labresult",labResultList); return new Result("0", "保存成功!", labPat); } @@ -1966,6 +1988,18 @@ public class LisWorkUtils { } } labPat = loaddefault(labPat); + List labInputmdlList=chkautoinput(yq,ybh); + if(!labInputmdlList.isEmpty()) { + List labResultList=commonUtil.getLabResultList(jyrq, ybh, yq); + for (LabInputmdl labInputmdl : labInputmdlList) { + labResultList = batchinput(jyrq, yq, ybh, labResultList, labInputmdl.getMbmc(), true); + String yblx = labInputmdl.getYblx(); + if (yblx != null && !yblx.isEmpty()) { + labPat.setYblx(yblx); + } + } + labResultList=saveallresult(labPat,labResultList); + } String brxm0 = labPat.getBrxm(); if (!"".equals(brxm0) && brxm0 != null) { String pinyin = PinyinUtil.getFirstLetter(brxm0, ""); //拼音首字母 @@ -2052,6 +2086,54 @@ public class LisWorkUtils { return new Result("0", "", labPat); } + /** + * 自动输入模板输入结果 + * @param yq 仪器 + * @param ybh 样本号 + * @return 返回 + */ + public List chkautoinput(String yq, String ybh){ + + List labInputmdlList; + if("1".equals(commonUtil.getHISOPT("zdsr"))){ + labInputmdlList=commonUtil.getLabInputmdlzdsr(yq); + }else{ + labInputmdlList=commonUtil.getLabInputmdlzdsrybh(yq,ybh); + } + return labInputmdlList; + } + /** + * 自动输入模板输入结果 + * @param jyrq 检验日期 + * @param yq 仪器 + * @param ybh 样本号 + * @param labResultList 结果集合 + * @Param mbmc 模板名称 + * @param savefalg 是否保存到数据库,空样本不存数据库,有样本存数据库 + * @return 返回 + */ + public List batchinput(Date jyrq, String yq, String ybh,List labResultList,String mbmc,boolean savefalg){ + List labInputmdlDetailList=commonUtil.getLabInputmdlDetail(yq,mbmc); + if(labInputmdlDetailList.isEmpty()) return labResultList; + for(LabInputmdlDetail labInputmdlDetail:labInputmdlDetailList){ + List findone=labResultList.stream().filter(s->s.getXmdh().equals(labInputmdlDetail.getXmdh())).collect(Collectors.toList()); + if(findone.isEmpty()){ + LabResult labResult=new LabResult(); + labResult.setJyrq(jyrq); + labResult.setYq(yq); + labResult.setYbh(ybh); + labResult.setXmdh(labInputmdlDetail.getXmdh()); + labResult.setCsjg(labInputmdlDetail.getMrz()); + if(!savefalg)labResult.setChangeflag(2); + else { + labResult.setChangeflag(1); + commonUtil.updateLabResult(labResult); + } + labResultList.add(labResult); + } + } + return labResultList; + } public LabPat loaddefault(LabPat labPat) { Date jyrq = labPat.getJyrq(); String yq = labPat.getYq(); @@ -2134,4 +2216,5 @@ public class LisWorkUtils { if (labPat.getJgbz() == null) labPat.setJgbz(LabPatConstants.DEFAULT); return labPat; } + } diff --git a/lis-interfaceCommon/src/main/resources/mapper/LabInputmdlDetailMapper.xml b/lis-interfaceCommon/src/main/resources/mapper/LabInputmdlDetailMapper.xml new file mode 100644 index 0000000..f0f57a9 --- /dev/null +++ b/lis-interfaceCommon/src/main/resources/mapper/LabInputmdlDetailMapper.xml @@ -0,0 +1,10 @@ + + + + + + + diff --git a/lis-interfaceCommon/src/main/resources/mapper/LabInputmdlMapper.xml b/lis-interfaceCommon/src/main/resources/mapper/LabInputmdlMapper.xml new file mode 100644 index 0000000..a42e69f --- /dev/null +++ b/lis-interfaceCommon/src/main/resources/mapper/LabInputmdlMapper.xml @@ -0,0 +1,20 @@ + + + + + + + + + + diff --git a/lis-interfaceCommon/src/main/resources/mapper/LabResultMapper.xml b/lis-interfaceCommon/src/main/resources/mapper/LabResultMapper.xml index ab77734..0749858 100644 --- a/lis-interfaceCommon/src/main/resources/mapper/LabResultMapper.xml +++ b/lis-interfaceCommon/src/main/resources/mapper/LabResultMapper.xml @@ -94,6 +94,16 @@ #{redo_flag,jdbcType=CHAR}, #{sqxmdh,jdbcType=VARCHAR}, #{redo_text,jdbcType=VARCHAR}, #{bz3,jdbcType=VARCHAR}, #{textresult,jdbcType=LONGVARCHAR}) + + insert into lab_result (jyrq, yq, ybh,xmdh,csjg,refs,dw,sqxmdh) + select distinct #{jyrq},#{yq},#{ybh},a.xmdh,(case ISNULL(a.mrz,'') when '' then '未做' else a.mrz end), + b.dyckz,b.dw ,r.sqh from lab_reqdetail r + join xm_reqitem_vs_reportitem a on r.sqxmdh=a.sqxmdh and isnull(def,'') !='1' + join xm_info b on a.yq=b.yq and a.xmdh=b.xmdh + where r.sqh=#{sqh} and a.yq=#{yq} + and (select count(1) from lab_result x where x.xmdh=a.xmdh and x.jyrq=#{jyrq} and x.yq=#{yq} and x.ybh=#{ybh})=0 + + insert into lab_result diff --git a/liswork/src/main/java/com/czlis/liswork/service/impl/LisWorkOperServiceImpl.java b/liswork/src/main/java/com/czlis/liswork/service/impl/LisWorkOperServiceImpl.java index bc081b6..55daacb 100644 --- a/liswork/src/main/java/com/czlis/liswork/service/impl/LisWorkOperServiceImpl.java +++ b/liswork/src/main/java/com/czlis/liswork/service/impl/LisWorkOperServiceImpl.java @@ -131,7 +131,8 @@ public class LisWorkOperServiceImpl implements LisWorkOperService { labPat.setJyrq(jyrq); labPat.setYq(yq); labPat.setYbh(ybh); - return new Result("0", "完成",lisWorkUtils.loaddefault(labPat)); + labPat=lisWorkUtils.loaddefault(labPat); + return new Result("0", "完成",labPat); } /** * 审核报告单全流程 diff --git a/liswork/src/main/java/com/czlis/liswork/service/impl/LisWorkServiceImpl.java b/liswork/src/main/java/com/czlis/liswork/service/impl/LisWorkServiceImpl.java index 5277054..2ceb952 100644 --- a/liswork/src/main/java/com/czlis/liswork/service/impl/LisWorkServiceImpl.java +++ b/liswork/src/main/java/com/czlis/liswork/service/impl/LisWorkServiceImpl.java @@ -289,29 +289,42 @@ public class LisWorkServiceImpl implements LisWorkService { labInputcol.setZdts("参考值"); labInputcol.setMrz("120"); ResultConfig.add(8,labInputcol); +// labInputcol=new LabInputcol(); +// labInputcol.setXh(9); +// labInputcol.setYq(yq); +// labInputcol.setZdmc("dw"); +// labInputcol.setKj(showrefsflag); +// labInputcol.setKybj("0"); +// labInputcol.setZdts("单位"); +// labInputcol.setMrz("80"); +// ResultConfig.add(9,labInputcol); labInputcol=new LabInputcol(); labInputcol.setXh(9); labInputcol.setYq(yq); - labInputcol.setZdmc("dw"); - labInputcol.setKj(showrefsflag); - labInputcol.setKybj("0"); - labInputcol.setZdts("单位"); - labInputcol.setMrz("80"); - ResultConfig.add(9,labInputcol); - labInputcol=new LabInputcol(); - labInputcol.setXh(10); - labInputcol.setYq(yq); labInputcol.setZdmc("bz1"); labInputcol.setKj("1"); labInputcol.setKybj("0"); labInputcol.setZdts("子模块"); labInputcol.setMrz("80"); - ResultConfig.add(10,labInputcol); + ResultConfig.add(9,labInputcol); return ResultConfig; } @Override public Result getresultinfo(Date jyrq, String yq, String ybh){ - List labResultList=commonUtil.getresultinfo(jyrq,yq,ybh); + List labResultList=commonUtil.getLabResultList(jyrq,yq,ybh); + if(!labResultList.isEmpty()){ + List labInputmdlList=lisWorkUtils.chkautoinput(yq,ybh); + if(labInputmdlList.isEmpty()) { + for (LabInputmdl labInputmdl : labInputmdlList) { + labResultList = lisWorkUtils.batchinput(jyrq, yq, ybh, labResultList, labInputmdl.getMbmc(), false); + String yblx = labInputmdl.getYblx(); + if (yblx != null && !yblx.isEmpty()) { + // labPat.setYblx(yblx); + } + } + } + return new Result("0","成功!",labResultList); + } List labResultlog=commonUtil.getLabResultlog(jyrq,yq,ybh); if(!labResultList.isEmpty() && !labResultlog.isEmpty()) { for (LabResult labResult : labResultList) {