Index: ssts-web/src/main/java/com/forgon/disinfectsystem/systemwarning/service/SystemWarningManagerImpl.java =================================================================== diff -u -r26952 -r27419 --- ssts-web/src/main/java/com/forgon/disinfectsystem/systemwarning/service/SystemWarningManagerImpl.java (.../SystemWarningManagerImpl.java) (revision 26952) +++ ssts-web/src/main/java/com/forgon/disinfectsystem/systemwarning/service/SystemWarningManagerImpl.java (.../SystemWarningManagerImpl.java) (revision 27419) @@ -31,6 +31,7 @@ import com.forgon.disinfectsystem.entity.basedatamanager.supplier.RegistrationCertification; import com.forgon.disinfectsystem.entity.basedatamanager.supplier.Supplier; import com.forgon.disinfectsystem.entity.basedatamanager.supplyroomconfig.SupplyRoomConfig; +import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseDefinition; import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseInstance; import com.forgon.disinfectsystem.entity.basedatamanager.warehouse.WareHouse; import com.forgon.disinfectsystem.entity.customform.formdefinition.FormDefinition; @@ -187,31 +188,18 @@ } String sql = null; - //供应室 - if(supplyRoomType == SupplyRoomConfig.SUPPLYROOM_TYPE_FIRST_SUPPLYROOM){ - sql = "select count(*) A from TousseInstance po where po.validUntil > " + sql = "select count(*) A from " + TousseInstance.class.getSimpleName() + " po join " + TousseDefinition.class.getSimpleName() + " td on po.tousseDefinition_id = td.id " + + " where po.validUntil > " + dateQueryAdapter.dateAdapter(nowDateForValidUtil) + " and po.warningUntil < " + dateQueryAdapter.dateAdapter(nowDateForWarningUtil) - + " and po.orgUnitCoding = '" + orgUnitCoding + "'" - + " and po.status='" + TousseInstance.STATUS_STERILED + "'"; - - }else {//二级供应室或临床科室 - sql = "select count(*) A from TousseInstance po where po.validUntil > " - + dateQueryAdapter.dateAdapter(nowDateForValidUtil) - + " and po.warningUntil < " - + dateQueryAdapter.dateAdapter(nowDateForWarningUtil) - + " and ((po.location = '" + orgUnitCoding + "' " - + " and " + SqlBuilder.build_IN_Statement("po.status", SqlBuilder.IN, - TousseInstance.STATUS_SHIPPED, TousseInstance.STATUS_SIGNED) + ")"; - if(supplyRoomType == SupplyRoomConfig.SUPPLYROOM_TYPE_SECOND_SUPPLYROOM){ - sql += " or (po.orgUnitCoding = '" + orgUnitCoding + "'" - + " and po.status='" + TousseInstance.STATUS_STERILED + "')"; - } - sql += ")"; - } -// int goodsAmount = objectDao.countObjectBySql( -// TousseInstance.class.getSimpleName(), sql); + + " and ((po.location = '" + orgUnitCoding + "' " + + " and " + SqlBuilder.build_IN_Statement("po.status", SqlBuilder.IN, + TousseInstance.STATUS_SHIPPED, TousseInstance.STATUS_SIGNED) + ")" + +" or (po.orgUnitCoding = '" + orgUnitCoding + "'" + + " and po.status='" + TousseInstance.STATUS_STERILED + "'))" + + " and td.ancestorID not in (select ancestorID from " + TousseDefinition.class.getSimpleName() + + " where (warningType in ('" + TousseDefinition.WARNING_TYPE_NEVERWARN + "','" + TousseDefinition.WARNING_TYPE_DISABLED_TOUSSE + "'))) "; return sql; } @@ -225,23 +213,16 @@ String orgUnitCoding) { String date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); String sql = ""; - //供应室 - if(roomType == SupplyRoomConfig.SUPPLYROOM_TYPE_FIRST_SUPPLYROOM){ - sql = "select count(*) B from TousseInstance po where po.orgUnitCoding = '" + orgUnitCoding - + "' and po.validUntil < " - + dateQueryAdapter.dateAdapter(date); - sql += " and " + SqlBuilder.build_IN_Statement("po.status", SqlBuilder.IN, - TousseInstance.STATUS_STERILED, TousseInstance.STATUS_RETURNED); - }else {//二级供应室或临床科室 - sql = "select count(*) B from TousseInstance po where po.location = '" + orgUnitCoding + "'" - + " and po.validUntil < " - + dateQueryAdapter.dateAdapter(date); -// + " and po.departmentStock_id is not null "; - sql += " and " + SqlBuilder.build_IN_Statement("po.status", SqlBuilder.IN, - TousseInstance.STATUS_SHIPPED, TousseInstance.STATUS_SIGNED); - } -// int goodsAmount = objectDao.countObjectBySql( -// TousseInstance.class.getSimpleName(), sql); + sql = "select count(*) B from " + TousseInstance.class.getSimpleName() + " po join " + TousseDefinition.class.getSimpleName() + " td on po.tousseDefinition_id = td.id " + + " where po.validUntil < " + + dateQueryAdapter.dateAdapter(date) + + " and ((po.location = '" + orgUnitCoding + "' " + + " and " + SqlBuilder.build_IN_Statement("po.status", SqlBuilder.IN, + TousseInstance.STATUS_SHIPPED, TousseInstance.STATUS_SIGNED) + ")" + +" or (po.orgUnitCoding = '" + orgUnitCoding + "'" + + " and po.status='" + TousseInstance.STATUS_STERILED + "'))" + + " and td.ancestorID not in (select ancestorID from " + TousseDefinition.class.getSimpleName() + + " where (warningType in ('" + TousseDefinition.WARNING_TYPE_NEVERWARN + "','" + TousseDefinition.WARNING_TYPE_TOUSSE + "'))) "; return sql; } Index: ssts-web/src/main/webapp/disinfectsystem/basedatamanager/tousse/tousseView.jsp =================================================================== diff -u -r27099 -r27419 --- ssts-web/src/main/webapp/disinfectsystem/basedatamanager/tousse/tousseView.jsp (.../tousseView.jsp) (revision 27099) +++ ssts-web/src/main/webapp/disinfectsystem/basedatamanager/tousse/tousseView.jsp (.../tousseView.jsp) (revision 27419) @@ -70,6 +70,12 @@ var PACKAGE_SIZE_BIG = '<%=TousseDefinition.PACKAGE_SIZE_BIG%>'; var PACKAGE_SIZE_CENTER = '<%=TousseDefinition.PACKAGE_SIZE_CENTER%>'; var PACKAGE_SIZE_SMALL = '<%=TousseDefinition.PACKAGE_SIZE_SMALL%>'; + +//过期告警提示类型 +var WARNING_TYPE_TOUSSE = '<%=TousseDefinition.WARNING_TYPE_TOUSSE%>'; +var WARNING_TYPE_DISABLED_TOUSSE = '<%=TousseDefinition.WARNING_TYPE_DISABLED_TOUSSE%>'; +var WARNING_TYPE_NEVERWARN = '<%=TousseDefinition.WARNING_TYPE_NEVERWARN%>'; +var WARNING_TYPE_ALLWARN = '<%=TousseDefinition.WARNING_TYPE_ALLWARN%>'; var fontSize = '${fontSize}'; @@ -171,4 +177,4 @@ - \ No newline at end of file + Index: ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/dwr/table/TousseInstanceTableManager.java =================================================================== diff -u -r27315 -r27419 --- ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/dwr/table/TousseInstanceTableManager.java (.../TousseInstanceTableManager.java) (revision 27315) +++ ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/dwr/table/TousseInstanceTableManager.java (.../TousseInstanceTableManager.java) (revision 27419) @@ -999,11 +999,13 @@ switch (type) { case SystemWarningItemVO.WARNING_TYPE_DISABLED_TOUSSE: sqlBuilder.append(" AND po.validUntil < " + dateQueryAdapter.dateAdapter(nowDateForValidUtil)); + sqlBuilder.append(" AND po.tousseDefinition.ancestorID not in (select ancestorID from TousseDefinition where ( warningType in ('" + TousseDefinition.WARNING_TYPE_NEVERWARN + "', '" + TousseDefinition.WARNING_TYPE_TOUSSE + "'))) "); setQueryTime(sqlBuilder, "po.validUntil", startTime, endTime); break; case SystemWarningItemVO.WARNING_TYPE_TOUSSE: sqlBuilder.append(" AND po.warningUntil < " + dateQueryAdapter.dateAdapter(nowDateForWarningUtil)); sqlBuilder.append(" AND po.validUntil > " + dateQueryAdapter.dateAdapter(nowDateForValidUtil)); + sqlBuilder.append(" AND po.tousseDefinition.ancestorID not in (select ancestorID from TousseDefinition where ( warningType in ('" + TousseDefinition.WARNING_TYPE_NEVERWARN + "', '" + TousseDefinition.WARNING_TYPE_DISABLED_TOUSSE + "'))) "); setQueryTime(sqlBuilder, "po.warningUntil", startTime, endTime); break; default: //默认显示已过期和即将过期的所有器械包 Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/toussedefinition/TousseDefinition.java =================================================================== diff -u -r27414 -r27419 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/toussedefinition/TousseDefinition.java (.../TousseDefinition.java) (revision 27414) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/toussedefinition/TousseDefinition.java (.../TousseDefinition.java) (revision 27419) @@ -589,6 +589,26 @@ * 器械包定义修改时间 */ private Date modifyTime; + /** + * 预警期提示 + */ + public static final String WARNING_TYPE_TOUSSE = "预警期提示"; + /** + * 已过期提示 + */ + public static final String WARNING_TYPE_DISABLED_TOUSSE = "已过期提示"; + /** + * 全部不提示 + */ + public static final String WARNING_TYPE_NEVERWARN = "全部不提示"; + /** + * 全部提示 + */ + public static final String WARNING_TYPE_ALLWARN = "全部提示"; + /** + * 过期告警提示类型 + */ + private String warningType; /** * 可存放的库位 @@ -1924,6 +1944,15 @@ public void setModifyTime(Date modifyTime) { this.modifyTime = modifyTime; } + + public String getWarningType() { + return warningType; + } + + public void setWarningType(String warningType) { + this.warningType = warningType; + } + /** * 实时计算材料数量 * @return Index: ssts-web/src/main/webapp/disinfectsystem/basedatamanager/tousse/tousseForm.js =================================================================== diff -u -r27414 -r27419 --- ssts-web/src/main/webapp/disinfectsystem/basedatamanager/tousse/tousseForm.js (.../tousseForm.js) (revision 27414) +++ ssts-web/src/main/webapp/disinfectsystem/basedatamanager/tousse/tousseForm.js (.../tousseForm.js) (revision 27419) @@ -27,6 +27,8 @@ if(sstsConfig.pageSizeArrayConfig && sstsConfig.pageSizeArrayConfig.length > 0){ packageSizeArray = sstsConfig.pageSizeArrayConfig; } +//过期告警提示类型的下拉选项 +var warningTypeArray = [[WARNING_TYPE_ALLWARN],[WARNING_TYPE_TOUSSE],[WARNING_TYPE_DISABLED_TOUSSE],[WARNING_TYPE_NEVERWARN]]; //默认的大小选项 var defaultPackageSize = PACKAGE_SIZE_BIG; if(sstsConfig.defaultPackageSize){ @@ -2533,6 +2535,30 @@ anchor : '100%' }] },{ + columnWidth : colWidth, + layout : 'form', + labelAlign:"right", + labelWidth : fontSize == 12 ? 90 : 100, + items:[{ + xtype : 'combo', + fieldLabel : '过期告警提示', + id : 'warningType', + name : 'warningType', + valueField : 'value', + displayField : 'value', + store : new Ext.data.SimpleStore({ + fields : ['value'], + data : warningTypeArray + }), + value : WARNING_TYPE_ALLWARN, + forceSelection : true, + mode : 'local', + editable : false, + triggerAction : 'all', + anchor : '100%', + allowBlank : true + }] + },{ columnWidth : colWidth, layout : 'form', labelWidth : fontSize == 12 ? 90 : 100, Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseDefinitionManagerImpl.java =================================================================== diff -u -r27414 -r27419 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseDefinitionManagerImpl.java (.../TousseDefinitionManagerImpl.java) (revision 27414) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseDefinitionManagerImpl.java (.../TousseDefinitionManagerImpl.java) (revision 27419) @@ -3274,6 +3274,9 @@ if(!StringUtils.equals(origineTd.getNote(), tousseDefinition.getNote())){ modifyContent.append("字段:注意事项,原值:").append(origineTd.getNote()).append(",新值:").append(tousseDefinition.getNote()).append("。"); } + if(!StringUtils.equals(origineTd.getWarningType(), tousseDefinition.getWarningType())){ + modifyContent.append("字段:过期告警提示,原值:").append(origineTd.getWarningType()).append(",新值:").append(tousseDefinition.getWarningType()).append("。"); + } Integer origineTdIsCom = origineTd.getIsCommonTousse() == null?0:origineTd.getIsCommonTousse(); Integer tousseDefinitionIsCom = tousseDefinition.getIsCommonTousse() == null?0:tousseDefinition.getIsCommonTousse(); if((origineTdIsCom == 0 && tousseDefinitionIsCom == 1) @@ -3502,9 +3505,11 @@ logger.info("同步修改或者新增的器械包定义到消息队列:"); logger.info(message); webSphereMQDao.sendMessage(message); + logger.info("器械包定义消息推送成功"); } } } catch (Exception e) { + logger.info("器械包定义消息推送失败:" + e.getMessage()); e.printStackTrace(); } }