diff --git a/WEB-INF/conf/sysds_his_gzz.xml b/WEB-INF/conf/sysds_his_gzz.xml index 8b6c590..ff5bc4f 100644 --- a/WEB-INF/conf/sysds_his_gzz.xml +++ b/WEB-INF/conf/sysds_his_gzz.xml @@ -6592,7 +6592,7 @@ SELECT JGID,BM,MC,YZDL,YZZL,ISDDYZ,ISXSYZ,ISMZSY,ISJZSY,ISZYSY,DCZDJL,MTZDJL,ZDL union all - ( select distinct A.JGID,A.BM,A.MC||'['||F.WZGG||']' MC,A.YZDL,A.YZZL,A.ISDDYZ,A.ISXSYZ,A.ISMZSY,A.ISJZSY,A.ISZYSY,A.DCZDJL,A.MTZDJL,A.ZDL,A.SZSYTS,A.YF,A.LC,A.PC,A.ISMZPSYY,A.ISZYPSYY,A.ISMZSJL,A.ISZYSJL,C.JG JE,A.BZ,A.ZT,A.YZDW JBDW,A.YZDW RKDW,1 ZHXS,A.YZDW MZFYDW,A.YZDW ZYFYDW,A.JE JBJG,F.WZGG GG,A.YZDW,1 DXSL,A.YZDW DXDW,A.MC TYM,'0' ISKJY,'0' ISJK,'0' ISGJJBYW,'0' ISPS,nvl(E.SL,0) SL,nvl(E.DJSL,0) DJSL,nvl(E.KYSL,0) KYSL,'' GZFL,'' DDD,'' WHONET,'' JX,'' TYMPKEY,A.GLLX,A.LMT_USED_FLAG,A.XZSYFW,A.CHRGITM_LV,A.YBBM,A.YBMC from HIS_YZX A left join HIS_YZX_ZJM B on A.BM=B.YZX_BM and A.JGID=B.JGID LEFT JOIN HIS_SFX C ON A.JGID=C.JGID AND A.BM=C.BM LEFT JOIN HIS_KSKC E ON A.JGID=E.JGID AND A.BM=E.SFX_BM left join HIS_MMS_WZZD F on C.GLBM=F.WZBM AND C.JGID=F.JGID WHERE A.JGID=? AND A.ISDDYZ = '1' AND A.ISJZSY != '1' AND ISZYSY !='1' AND A.ZT='1' AND A.GLLX = 'W' and (A.YZDL !='01' and A.YZDL !='02' and A.YZDL !='03') AND (B.PYM LIKE ? OR A.BM LIKE ? OR A.BM LIKE ? OR A.MC LIKE ?) AND E.KYSL > 0) + ( select distinct A.JGID,A.BM,A.MC||'['||F.WZGG||']' MC,A.YZDL,A.YZZL,A.ISDDYZ,A.ISXSYZ,A.ISMZSY,A.ISJZSY,A.ISZYSY,A.DCZDJL,A.MTZDJL,A.ZDL,A.SZSYTS,A.YF,A.LC,A.PC,A.ISMZPSYY,A.ISZYPSYY,A.ISMZSJL,A.ISZYSJL,C.JG JE,A.BZ,A.ZT,F.JBDW,F.RKDW,1 ZHXS,A.YZDW MZFYDW,A.YZDW ZYFYDW,C.JBJG,F.WZGG GG,A.YZDW,1 DXSL,A.YZDW DXDW,A.MC TYM,'0' ISKJY,'0' ISJK,'0' ISGJJBYW,'0' ISPS,nvl(E.SL,0) SL,nvl(E.DJSL,0) DJSL,nvl(E.KYSL,0) KYSL,'' GZFL,'' DDD,'' WHONET,'' JX,'' TYMPKEY,A.GLLX,A.LMT_USED_FLAG,A.XZSYFW,A.CHRGITM_LV,A.YBBM,A.YBMC from HIS_YZX A left join HIS_YZX_ZJM B on A.BM=B.YZX_BM and A.JGID=B.JGID LEFT JOIN HIS_SFX C ON A.JGID=C.JGID AND A.BM=C.BM LEFT JOIN HIS_KSKC E ON A.JGID=E.JGID AND A.BM=E.SFX_BM left join HIS_MMS_WZZD F on C.GLBM=F.WZBM AND C.JGID=F.JGID WHERE A.JGID=? AND A.ISDDYZ = '1' AND A.ISJZSY != '1' AND ISZYSY !='1' AND A.ZT='1' AND A.GLLX = 'W' and (A.YZDL !='01' and A.YZDL !='02' and A.YZDL !='03') AND (B.PYM LIKE ? OR A.BM LIKE ? OR A.BM LIKE ? OR A.MC LIKE ?) AND E.KYSL > 0) ) WHERE ROWNUM <= ? ORDER BY BM diff --git a/WEB-INF/src/com/his/zy/doctorworkstation/PatientOrderInputForm.java b/WEB-INF/src/com/his/zy/doctorworkstation/PatientOrderInputForm.java index 00ea22c..45a4aa3 100644 --- a/WEB-INF/src/com/his/zy/doctorworkstation/PatientOrderInputForm.java +++ b/WEB-INF/src/com/his/zy/doctorworkstation/PatientOrderInputForm.java @@ -2040,7 +2040,13 @@ public class PatientOrderInputForm extends WatWebForm implements IYzMbContainer{ }else{ ZyYzModel zyyzModel = createZyYzModel(); ZyYzService.setZyyzYpdw(zyyzModel); - ZyYzService.calcYpyzx(zyyzModel); + //ZyYzService.calcYpyzx(zyyzModel); + String yzlb = dbgrid1.getColumnValueAsString("YZLB");//获取医嘱类别 + if(!"01".equals(yzlb) && !"02".equals(yzlb) && !"03".equals(yzlb)) {//药品医嘱之外的项目医嘱 + ZyYzService.calcYzxJeByYzfjsm(zyyzModel); + }else{ + ZyYzService.calcYpyzx(zyyzModel); + } } } diff --git a/WEB-INF/src/com/his/zy/service/ZyYzService.java b/WEB-INF/src/com/his/zy/service/ZyYzService.java index 013d846..a93fcb3 100644 --- a/WEB-INF/src/com/his/zy/service/ZyYzService.java +++ b/WEB-INF/src/com/his/zy/service/ZyYzService.java @@ -76,6 +76,7 @@ public class ZyYzService { private static Set YzxXMHiddenColumnSet = new HashSet(); private static Set YzxLCPCColumnSet = new HashSet(); private static Set YzxYFColumnSet = new HashSet(); + private static Set YzxDWColumnSet = new HashSet(); private static Set YzxLCColumnSet = new HashSet(); private static Set YzxSLDWColumnSet = new HashSet(); private static Set YzxPCColumnSet = new HashSet(); @@ -106,6 +107,7 @@ public class ZyYzService { YzxSLDWColumnSet.add("YZDW"); YzxPCColumnSet.add("YZPC"); + YzxDWColumnSet.add("YZDW"); YzxSLColumnSet.add("YZSL"); @@ -1302,8 +1304,9 @@ public class ZyYzService { // } String yzlb = zyyzNoReviewOrderDaoMapper.getYZLB(rowNum);//获取医嘱类别 + String gllx = zyyzNoReviewOrderDaoMapper.getGLLX(rowNum);//关联类型 if(!"01".equals(yzlb) && !"02".equals(yzlb) && !"03".equals(yzlb)) {//药品医嘱之外的项目医嘱 - if(YzxXMHiddenColumnSet.contains(columnName)) {/*非药品医嘱需要隐藏的选择项目*/ + if(YzxXMHiddenColumnSet.contains(columnName) && !YzxDWColumnSet.contains(columnName)) {/*非药品医嘱需要隐藏的选择项目*/ cellEnabled=false; }else if(YzHourColumnSet.contains(columnName)) {/*小时医嘱列*/ String yzcl = zyyzNoReviewOrderDaoMapper.getYZCL(rowNum); @@ -1348,6 +1351,16 @@ public class ZyYzService { } } /*非药品医嘱允许输入用法end*/ + + /*对物资耗材类医嘱的单位特殊处理begin*/ + if(YzxDWColumnSet.contains(columnName)){ + if("w".equalsIgnoreCase(gllx)){ + cellEnabled=true; + }else { + cellEnabled=false; + } + } + /*对物资耗材类医嘱的单位特殊处理end*/ } }else{ @@ -1952,6 +1965,7 @@ public class ZyYzService { String jzzhxs = zyyzOrderMapper.getYZJZZHXS(); String yzjldw = zyyzOrderMapper.getYZJLDW(); String yzjbdw = zyyzOrderMapper.getYPYZJBDW(); + String gllx = zyyzOrderMapper.getGLLX();//关联类型 //判断天数输入值是否合法 if(Delphi.isNullString(ts) || !Delphi.isInteger(ts) || Integer.parseInt(ts) <= 0 ) { return model;