Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManagerImpl.java =================================================================== diff -u -r34495 -r34515 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManagerImpl.java (.../TousseInstanceManagerImpl.java) (revision 34495) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManagerImpl.java (.../TousseInstanceManagerImpl.java) (revision 34515) @@ -1691,7 +1691,8 @@ } @Override public Map> getTousseInstanceVOsInReviewedBaskets( - List reviewedBaskets, String taskGroup, String extraOrder, String sterilingMode) { + List reviewedBaskets, String taskGroup, String extraOrder, String sterilingMode + , String sterilizerName, String sterileFrequency) { Map> map = new HashMap>(); if(CollectionUtils.isEmpty(reviewedBaskets)){ return map; @@ -1723,6 +1724,13 @@ sterilingModeSql = " and t.sterilingMode = '" + sterilingMode + "' "; sterilingModeAncestorSql = " and (case when tdAncestor.isTraceable = '"+ Constants.STR_NO +"' then s.sterilizationMode else t.sterilingMode end)='" + sterilingMode + "' "; } + String sterilizerNameAndSterileFrequencySql = ""; + if(StringUtils.isNotBlank(sterilizerName)){ + sterilizerNameAndSterileFrequencySql += " and t.sterilizerName='"+ sterilizerName +"' "; + } + if(StringUtils.isNotBlank(sterileFrequency)){ + sterilizerNameAndSterileFrequencySql += " and t.sterileFrequency='"+ sterileFrequency +"' "; + } //科室供应室配置 SupplyRoomConfig supplyRoomConfig = supplyRoomConfigManager.getSystemParamsObj(); //关联加急对象的sql语句 @@ -1746,7 +1754,8 @@ + ")" + " and t.status <> '" + TousseInstance.STATUS_DISCARD + "' " + (StringUtils.isNotBlank(taskGroup) ? String.format(" and tt.taskGroup = '%s' ", taskGroup) : "") - + sterilingModeAncestorSql; + + sterilingModeAncestorSql + + sterilizerNameAndSterileFrequencySql; if(StringUtils.isNotBlank(taskGroup)){ //外来器械包默认处理科室及任务组 JSONObject foreignTousseHandleDepartAndTaskGroupJsonobject = supplyRoomConfig.getOneForeignTousseHandleDepartAndTaskGroupByDepartCode(AcegiHelper.getCurrentOrgUnitCode()); @@ -1761,7 +1770,8 @@ + reviewedBasketSql + " and t.orgUnitCoding='"+currentOrgUnitCode+"' " + " and t.status <> '" + TousseInstance.STATUS_DISCARD + "'" - + sterilingModeSql; + + sterilingModeSql + + sterilizerNameAndSterileFrequencySql; } //3、自定义器械包 if(taskGroup.equals(supplyRoomConfig.getCustomTousseDefaultTaskGroup())){ @@ -1774,7 +1784,8 @@ + reviewedBasketSql + " and t.orgUnitCoding='"+currentOrgUnitCode+"' " + " and t.status <> '" + TousseInstance.STATUS_DISCARD + "'" - + sterilingModeSql; + + sterilingModeSql + + sterilizerNameAndSterileFrequencySql; } //4、外部代理灭菌 sql += " union all select t.reviewBasket_id,t.id id, t.depart depart,t.tousseName name, td.includeImplant, b.barcode, t.sterilingType, (case when tdAncestor.isTraceable = '"+ Constants.STR_NO +"' then s.sterilizationMode else t.sterilingMode end) sterilingMode," @@ -1786,7 +1797,8 @@ + reviewedBasketSql + " and t.orgUnitCoding='"+currentOrgUnitCode+"' " + " and t.status <> '" + TousseInstance.STATUS_DISCARD + "'" - + sterilingModeAncestorSql; + + sterilingModeAncestorSql + + sterilizerNameAndSterileFrequencySql; }else{ //2、外来器械包、外来器械拆分小包 sql += " union all select t.reviewBasket_id,t.id id, t.depart depart, t.tousseName name, td.includeImplant, b.barcode, t.sterilingType, t.sterilingMode," @@ -1798,7 +1810,8 @@ + reviewedBasketSql + " and t.orgUnitCoding='"+currentOrgUnitCode+"' " + " and t.status <> '" + TousseInstance.STATUS_DISCARD + "'" - + sterilingModeSql; + + sterilingModeSql + + sterilizerNameAndSterileFrequencySql; //3、自定义器械包 sql += " union all select t.reviewBasket_id,t.id id, t.depart depart, t.tousseName name, td.includeImplant, b.barcode, t.sterilingType, t.sterilingMode," + "t.reviewTime,t.isUrgentTousse , '"+ Constants.STR_YES +"' isTraceable, null tdAncestorId " @@ -1809,7 +1822,8 @@ + reviewedBasketSql + " and t.orgUnitCoding='"+currentOrgUnitCode+"' " + " and t.status <> '" + TousseInstance.STATUS_DISCARD + "'" - + sterilingModeSql; + + sterilingModeSql + + sterilizerNameAndSterileFrequencySql; //4、外部代理灭菌 sql += " union all select t.reviewBasket_id,t.id id, t.depart depart,t.tousseName name, td.includeImplant, b.barcode, t.sterilingType, (case when tdAncestor.isTraceable = '"+ Constants.STR_NO +"' then s.sterilizationMode else t.sterilingMode end) sterilingMode," + "t.reviewTime,t.isUrgentTousse,tdAncestor.isTraceable, tdAncestor.id tdAncestorId " @@ -1820,7 +1834,8 @@ + reviewedBasketSql + " and t.orgUnitCoding='"+currentOrgUnitCode+"' " + " and t.status <> '" + TousseInstance.STATUS_DISCARD + "'" - + sterilingModeAncestorSql; + + sterilingModeAncestorSql + + sterilizerNameAndSterileFrequencySql; } sql += ")tempTable " + orderBySql; buildTousseSimpleVOs(map, sql); @@ -5977,7 +5992,8 @@ @SuppressWarnings("unchecked") @Override - public JSONArray getTodayPendingSterilizationTousseAndBasket(String status,String sterilizerNameTemp,String ownGroupTemp,String taskGroup,String sterilingMode){ + public JSONArray getTodayPendingSterilizationTousseAndBasket(String status,String sterilizerNameTemp,String ownGroupTemp,String taskGroup,String sterilingMode + , String sterileFrequency){ try { // 状态如果是已灭菌或者灭菌失败,就不用加载 if (StringUtils.equals(status,SterilizationRecord.STERILIZATION_STATUS_END)|| StringUtils.equals(status,SterilizationRecord.STERILIZATION_STATUS_FAILURE)) { @@ -6017,7 +6033,7 @@ String extraOrder = getExtraOrderSqlBySystemSetConfig(waitSterilizedTousseInstanceDefaultSortOrder); // 遍历加载放入灭菌篮筐的器械包 boolean enableUrgentFunction = CssdUtils.getSystemSetConfigByNameBool("enableUrgentFunction",false); - Map> tousseSimpleVOMap = getTousseInstanceVOsInReviewedBaskets(reviewedBaskets, taskGroup, extraOrder, sterilingMode); + Map> tousseSimpleVOMap = getTousseInstanceVOsInReviewedBaskets(reviewedBaskets, taskGroup, extraOrder, sterilingMode, sterilizerNameTemp, sterileFrequency); for (ReviewedBasket basket : reviewedBaskets) { List vos = tousseSimpleVOMap.get(basket.getId()); if(CollectionUtils.isEmpty(vos)){ @@ -6171,7 +6187,7 @@ //2、 当天审核的,未入筐的器械包 //List toussesOutsideBasketOfToday = getTodayReviewedTousseInstanceWithOutBasket(orgUnitCoding); //当天审核的,未入筐的器械包(新) :包括固定条码汇总 - List toussesOutsideBasketOfToday = getTodayReviewedTousseInsWithOutBasketBySterilization(orgUnitCoding, enableUrgentFunction, extraOrder, sterilingMode); + List toussesOutsideBasketOfToday = getTodayReviewedTousseInsWithOutBasketBySterilization(orgUnitCoding, enableUrgentFunction, extraOrder, sterilingMode, sterilizerNameTemp, sterileFrequency); for (TousseSimpleVO tousseOutsideBasket : toussesOutsideBasketOfToday) { //器械包的灭菌程序,属于此灭菌分组或者此灭菌炉(或者器械包的灭菌程序为“无”)才会显示(没选灭菌炉就按灭菌分组过滤) if (sterilingTypeMap != null && !Constants.HAS_TYPE_NO.equals(tousseOutsideBasket.getSterilingType())) { @@ -7012,8 +7028,9 @@ @Override public List getTodayReviewedTousseInsWithOutBasketBySterilization( - String orgUnitCode, boolean enableUrgentFunction ,String extraOrder, String sterilingMode) { - ResultSet rs = objectDao.executeSql(getToDayReviewedTousseInsSql(orgUnitCode, enableUrgentFunction, extraOrder, sterilingMode)); + String orgUnitCode, boolean enableUrgentFunction ,String extraOrder, String sterilingMode + ,String sterilizerName, String sterileFrequency) { + ResultSet rs = objectDao.executeSql(getToDayReviewedTousseInsSql(orgUnitCode, enableUrgentFunction, extraOrder, sterilingMode, sterilizerName, sterileFrequency)); List tousseList = new ArrayList(); try { if(enableUrgentFunction){ @@ -7108,7 +7125,8 @@ * @param extraOrder 排序语句 * @return */ - private String getToDayReviewedTousseInsSql(String orgUnitCode, boolean enableUrgentFunction, String extraOrder, String sterilingMode){ + private String getToDayReviewedTousseInsSql(String orgUnitCode, boolean enableUrgentFunction, String extraOrder, String sterilingMode + ,String sterilizerName, String sterileFrequency){ //待灭菌物品列表中显示按照科室供应室设置里面的每天开始时间作为时间节点(ZYYFS-118) Date out_beginTime = new Date(); Date out_endTime = new Date(); @@ -7136,6 +7154,13 @@ + " and " + dateQueryAdapter.dateAdapter(out_endTime); } + String sterilizerNameAndSterileFrequencySql = ""; + if(StringUtils.isNotBlank(sterilizerName)){ + sterilizerNameAndSterileFrequencySql += " and ti.sterilizerName='"+ sterilizerName +"' "; + } + if(StringUtils.isNotBlank(sterileFrequency)){ + sterilizerNameAndSterileFrequencySql += " and ti.sterileFrequency='"+ sterileFrequency +"' "; + } //根据灭菌方式过滤(不追溯的包取包定义的默认灭菌程序关联的灭菌方式;追溯的包直接取包实例上的灭菌方式 String sterilingModeSql = ""; if(StringUtils.equals(sterilingMode, "无")){ @@ -7160,6 +7185,7 @@ + "td.ancestorID=tdancestor.id left join "+ InvoicePlan.class.getSimpleName() +" pd on pd.id=ti.proxyDisinfection_id where tdancestor.isTraceable='"+ Constants.STR_YES +"' and ti.status='"+ TousseInstance.STATUS_REVIEWED +"' and ti.comboTousseInstanceId is null " + "and ti.reviewBasket_id is null "+dateSql+" " + sterilingModeSql + + sterilizerNameAndSterileFrequencySql + "and (pd.id is null and ti.orgunitcoding='"+orgUnitCode+"' or pd.id is not null and pd.handleDepartCoding='"+orgUnitCode+"') "+ " and (ti.hasReceived is null or ti.hasReceived='"+ Constants.STR_YES +"') ) )t"; Index: ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/action/TousseInstanceAction.java =================================================================== diff -u -r34496 -r34515 --- ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/action/TousseInstanceAction.java (.../TousseInstanceAction.java) (revision 34496) +++ ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/action/TousseInstanceAction.java (.../TousseInstanceAction.java) (revision 34515) @@ -993,9 +993,10 @@ String ownGroupTemp = StrutsParamUtils.getPraramValue("ownGroupTemp", ""); String taskGroup = StrutsParamUtils.getPraramValue("taskGroup", ""); String sterilingMode = StrutsParamUtils.getPraramValue("sterilingMode", ""); + String sterileFrequency = StrutsParamUtils.getPraramValue("sterileFrequency", ""); String startTime = Constants.SIMPLEDATEFORMAT_YYYYMMDDHHMMSS_SSS.format(new Date()); appLogManager.saveLog(AcegiHelper.getLoginUser(), Log.MODEL_STERILIZATION, Log.TYPE_QUERY, String.format("%s开始查询今天审核的待灭菌列表数据", startTime)); - JSONArray arr = tousseInstanceManager.getTodayPendingSterilizationTousseAndBasket(status,sterilizerNameTemp,ownGroupTemp,taskGroup,sterilingMode); + JSONArray arr = tousseInstanceManager.getTodayPendingSterilizationTousseAndBasket(status,sterilizerNameTemp,ownGroupTemp,taskGroup,sterilingMode, sterileFrequency); String msg = null; if(arr == null){ msg = "null"; Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManager.java =================================================================== diff -u -r33768 -r34515 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManager.java (.../TousseInstanceManager.java) (revision 33768) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManager.java (.../TousseInstanceManager.java) (revision 34515) @@ -97,9 +97,11 @@ * @param ownGroupTemp * @param taskGroup * @param sterilingMode 灭菌方式SZYK-5(不追溯的包取包定义的默认灭菌程序关联的灭菌方式;追溯的包直接取包实例上的灭菌方式) + * @param sterileFrequency 炉次 * @return */ - JSONArray getTodayPendingSterilizationTousseAndBasket(String status,String sterilizerNameTemp,String ownGroupTemp,String taskGroup, String sterilingMode); + JSONArray getTodayPendingSterilizationTousseAndBasket(String status,String sterilizerNameTemp,String ownGroupTemp,String taskGroup, String sterilingMode + , String sterileFrequency); /** * 根据使用记录ID,查找所有在使用记录里的器械包. @@ -127,7 +129,8 @@ * @return Map<篮筐id,List> */ public Map> getTousseInstanceVOsInReviewedBaskets( - List reviewedBaskets, String taskGroup, String extraOrder, String sterilingMode); + List reviewedBaskets, String taskGroup, String extraOrder, String sterilingMode + , String sterilizerName, String sterileFrequency); /** * 获取灭菌筐中已审核的器械包Vo对象 * @param SterileBasketBarcode 灭菌筐的条码 @@ -172,7 +175,8 @@ * @param sterilingMode 灭菌方式SZYK-5(不追溯的包取包定义的默认灭菌程序关联的灭菌方式;追溯的包直接取包实例上的灭菌方式) * @return */ - public List getTodayReviewedTousseInsWithOutBasketBySterilization(String orgUnitCode, boolean enableUrgentFunction, String extraOrder, String sterilingMode); + public List getTodayReviewedTousseInsWithOutBasketBySterilization(String orgUnitCode, boolean enableUrgentFunction, String extraOrder, String sterilingMode + ,String sterilizerName, String sterileFrequency); /** * 根据时间段及科室编码查询所有已审核并且还未入审核篮筐的器械包实例(从结果集的下标为start开始取limit个).