Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManager.java =================================================================== diff -u -r28386 -r28396 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManager.java (.../TousseInstanceManager.java) (revision 28386) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManager.java (.../TousseInstanceManager.java) (revision 28396) @@ -12,6 +12,7 @@ import org.apache.commons.collections4.Predicate; +import com.forgon.disinfectsystem.entity.basedatamanager.taskGroup.TaskGroup; import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseDefinition; import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseInstance; import com.forgon.disinfectsystem.entity.basedatamanager.warehouse.WareHouse; @@ -1041,20 +1042,20 @@ * 获取已审核灭菌篮筐内的器械包 * @param reviewedBaskets * @param sterilisation 灭菌程序 - * @param taskGroup 任务组为空时,不按照任务组过滤(查所有任务组) + * @param taskGroups 任务组 * @param extraOrder * @return */ - public List getTousseSimpleVOsInReviewedBaskets(List reviewedBaskets, String sterilisation, String taskGroup, String extraOrder); + public List getTousseSimpleVOsInReviewedBaskets(List reviewedBaskets, String sterilisation, List taskGroups, String extraOrder); /** * 获取已审核灭菌篮筐内的器械包 * @param sterilisations 灭菌程序(灭菌程序1;灭菌程序2;灭菌程序3) - * @param taskGroup 任务组 + * @param taskGroupIds 任务组ID(1,2,3) * @param saveBarcodes 页面已经入炉的篮筐或器械包条码(010000001;010000002;010000003) * @return */ - public JSONArray getWaitSterileGoods(String sterilisations, String taskGroup, String saveBarcodes); + public JSONArray getWaitSterileGoods(String sterilisations, String taskGroupIds, String saveBarcodes); /** * 根据器械包条码获取器械包实例 Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManagerImpl.java =================================================================== diff -u -r28394 -r28396 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManagerImpl.java (.../TousseInstanceManagerImpl.java) (revision 28394) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManagerImpl.java (.../TousseInstanceManagerImpl.java) (revision 28396) @@ -53,6 +53,7 @@ import com.forgon.disinfectsystem.basedatamanager.sterilisation.service.SterilisationManager; import com.forgon.disinfectsystem.basedatamanager.sterilizer.service.SterilizerManager; import com.forgon.disinfectsystem.basedatamanager.supplyroomconfig.service.SupplyRoomConfigManager; +import com.forgon.disinfectsystem.basedatamanager.taskGroup.service.TaskGroupManager; import com.forgon.disinfectsystem.basedatamanager.toussedefinition.service.TousseDefinitionUtils; import com.forgon.disinfectsystem.basedatamanager.toussedefinition.service.TousseInstanceUtils; import com.forgon.disinfectsystem.basedatamanager.urgent.service.UrgentLevelManager; @@ -73,6 +74,7 @@ import com.forgon.disinfectsystem.entity.basedatamanager.sterilisation.Sterilisation; import com.forgon.disinfectsystem.entity.basedatamanager.sterilizer.Sterilizer; import com.forgon.disinfectsystem.entity.basedatamanager.supplyroomconfig.SupplyRoomConfig; +import com.forgon.disinfectsystem.entity.basedatamanager.taskGroup.TaskGroup; import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseDefinition; import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseInstance; import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseInstanceUseRecord; @@ -191,6 +193,8 @@ private OrgUnitManager orgUnitManager; + private TaskGroupManager taskGroupManager; + public void setOrgUnitManager(OrgUnitManager orgUnitManager) { this.orgUnitManager = orgUnitManager; } @@ -287,6 +291,10 @@ this.urgentLevelManager = urgentLevelManager; } + public void setTaskGroupManager(TaskGroupManager taskGroupManager) { + this.taskGroupManager = taskGroupManager; + } + /** * 定时器方法,定时检查过期的包实例,并对过期的包实例进行废弃处理 */ @@ -7539,7 +7547,7 @@ } @Override - public List getTousseSimpleVOsInReviewedBaskets(List reviewedBaskets, String sterilingType, String taskGroup, String extraOrder) { + public List getTousseSimpleVOsInReviewedBaskets(List reviewedBaskets, String sterilingType, List taskGroups, String extraOrder) { String sterilingTypeList = ""; if(StringUtils.isNotBlank(sterilingType)){ String[] sterilingTypes = sterilingType.split(","); @@ -7551,6 +7559,19 @@ } } } + String taskGroupNames = ""; + List taskGroupNameList = new ArrayList(); + if(CollectionUtils.isNotEmpty(taskGroups)){ + for(int i=0;i tousseSimpleVOs = new ArrayList(); if(CollectionUtils.isEmpty(reviewedBaskets)){ return tousseSimpleVOs; @@ -7601,13 +7622,13 @@ + "(t.proxyDisinfection_id is not null and t.proxyDisinfection_id in (select ip.id from invoicePlan ip where ip.handleDepartCoding='"+currentOrgUnitCode+"'))" + ")" + " and t.status <> '" + TousseInstance.STATUS_DISCARD + "' " - + (StringUtils.isNotBlank(taskGroup) ? String.format(" and tt.taskGroup = '%s' ", taskGroup) : "") + + (StringUtils.isNotBlank(taskGroupNames) ? String.format(" and tt.taskGroup in (%s) ", taskGroupNames) : "") + (StringUtils.isNotBlank(sterilingTypeList) ? String.format(" and t.sterilingType in (%s) ", sterilingTypeList) : ""); - if(StringUtils.isNotBlank(taskGroup)){ + if(CollectionUtils.isNotEmpty(taskGroupNameList)){ //外来器械包默认处理科室及任务组 JSONObject foreignTousseHandleDepartAndTaskGroupJsonobject = supplyRoomConfig.getOneForeignTousseHandleDepartAndTaskGroupByDepartCode(AcegiHelper.getCurrentOrgUnitCode()); //2、外来器械包、外来器械拆分小包 - if(foreignTousseHandleDepartAndTaskGroupJsonobject != null && StringTools.equals(taskGroup, foreignTousseHandleDepartAndTaskGroupJsonobject.optString("taskGroup"))){ + if(foreignTousseHandleDepartAndTaskGroupJsonobject != null && taskGroupNameList.contains(foreignTousseHandleDepartAndTaskGroupJsonobject.optString("taskGroup"))){ sql += " union all select t.reviewBasket_id,t.id id, t.depart depart, t.tousseName, td.name, td.includeImplant, b.barcode, t.sterilingType, t.sterilingMode," + " t.reviewTime,t.isUrgentTousse, '"+ Constants.STR_YES +"' isTraceable " + ", t.taskGroup, t.operator, t.reviewer" @@ -7621,7 +7642,7 @@ + (StringUtils.isNotBlank(sterilingTypeList) ? String.format(" and t.sterilingMode in (%s) ", sterilingTypeList) : " and (t.sterilingMode is null or t.sterilingMode = '') ) "); } //3、自定义器械包 - if(taskGroup.equals(supplyRoomConfig.getCustomTousseDefaultTaskGroup())){ + if(taskGroupNameList.contains(supplyRoomConfig.getCustomTousseDefaultTaskGroup())){ sql += " union all select reviewBasket_id,t.id id, t.depart depart, t.tousseName, td.name, td.includeImplant, b.barcode, t.sterilingType, t.sterilingMode," + " t.reviewTime,t.isUrgentTousse , '"+ Constants.STR_YES +"' isTraceable " + ", t.taskGroup, t.operator, t.reviewer" @@ -7728,7 +7749,7 @@ @SuppressWarnings("unchecked") @Override - public JSONArray getWaitSterileGoods(String sterilisation, String taskGroup, String saveBarcodes){ + public JSONArray getWaitSterileGoods(String sterilisation, String taskGroupIds, String saveBarcodes){ saveBarcodes = saveBarcodes == null ? "" : saveBarcodes; List saveBarcodeList = new ArrayList(); String[] barcodeArr = saveBarcodes.split(";"); @@ -7756,6 +7777,19 @@ } } } + + // 任务组过滤条件 + List taskGroupList = new ArrayList(); + List taskGroups = new ArrayList(); + if(StringUtils.isNotBlank(taskGroupIds)){ + taskGroups = taskGroupManager.getByHql(" po.id in (" + taskGroupIds + ") "); + if(CollectionUtils.isNotEmpty(taskGroups)){ + for (TaskGroup obj : taskGroups) { + taskGroupList.add(obj.getTaskGroupName()); + } + } + } + String orgUnitCoding = AcegiHelper.getLoginUser().getOrgUnitCodingFromSupplyRoomConfig(); //1、所有待灭菌的审核篮筐 @@ -7771,7 +7805,7 @@ newReviewedBaskets.add(reviewedBasket); } } - List tousseSimpleVOsInBaskets = this.getTousseSimpleVOsInReviewedBaskets(newReviewedBaskets, sterilisations, taskGroup, "id"); + List tousseSimpleVOsInBaskets = this.getTousseSimpleVOsInReviewedBaskets(newReviewedBaskets, sterilisations, taskGroups, "id"); if(CollectionUtils.isNotEmpty(tousseSimpleVOsInBaskets)){ Map bMap= new LinkedHashMap(); for (TousseSimpleVO vo : tousseSimpleVOsInBaskets) { @@ -7829,8 +7863,8 @@ // 只过滤符合灭菌方式的数据 if(StringUtils.equals(sterilizationMode, vo.getSterilingMode())){ // 任务组过滤 - if(StringUtils.isNotBlank(taskGroup)){ - if(!StringUtils.equals(taskGroup, vo.getTaskGroup())){ + if(CollectionUtils.isNotEmpty(taskGroupList)){ + if(!taskGroupList.contains(vo.getTaskGroup())){ continue; } } Index: ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/action/TousseInstanceAction.java =================================================================== diff -u -r28386 -r28396 --- ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/action/TousseInstanceAction.java (.../TousseInstanceAction.java) (revision 28386) +++ ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/action/TousseInstanceAction.java (.../TousseInstanceAction.java) (revision 28396) @@ -38,7 +38,6 @@ import com.forgon.disinfectsystem.basedatamanager.container.service.ReviewedBasketManager; import com.forgon.disinfectsystem.basedatamanager.sterilisation.service.SterilisationManager; import com.forgon.disinfectsystem.basedatamanager.sterilizer.service.SterilizerManager; -import com.forgon.disinfectsystem.basedatamanager.taskGroup.service.TaskGroupManager; import com.forgon.disinfectsystem.basedatamanager.urgent.vo.UrgentLevelVo; import com.forgon.disinfectsystem.basedatamanager.warehouse.service.WareHouseManager; import com.forgon.disinfectsystem.common.CssdUtils; @@ -49,7 +48,6 @@ import com.forgon.disinfectsystem.entity.basedatamanager.materialdefinition.MaterialDefinition; import com.forgon.disinfectsystem.entity.basedatamanager.materialinstance.MaterialInstance; import com.forgon.disinfectsystem.entity.basedatamanager.signRecord.SignRecord; -import com.forgon.disinfectsystem.entity.basedatamanager.taskGroup.TaskGroup; import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseDefinition; import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseInstance; import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseInstanceImplantData; @@ -149,8 +147,6 @@ private WareHouseManager wareHouseManager; - private TaskGroupManager taskGroupManager; - public void setWareHouseManager(WareHouseManager wareHouseManager) { this.wareHouseManager = wareHouseManager; } @@ -247,10 +243,6 @@ this.barcodeManager = barcodeManager; } - public void setTaskGroupManager(TaskGroupManager taskGroupManager) { - this.taskGroupManager = taskGroupManager; - } - //更新数据库器械包错误的失效日期 public void updateTousseValidUntil(){ String sql = "where DATEDIFF(day,operationTime,validUntil) > 200 and (packageType = '纸塑' or packageType = '无纺布')"; @@ -1051,16 +1043,10 @@ if(StringUtils.isBlank(sterilingType)){ throw new RuntimeException("请选择灭菌程序"); } - String taskGroupName = ""; - if(taskGroupId == null || "all".equals(taskGroupId)){ + if(taskGroupId == null || taskGroupId.contains("all")){ taskGroupId = ""; - } else { - TaskGroup taskGroup = taskGroupManager.get(taskGroupId); - if(taskGroup != null){ - taskGroupName = taskGroup.getTaskGroupName(); - } } - JSONArray array = tousseInstanceManager.getWaitSterileGoods(sterilingType, taskGroupName, saveBarcodes); + JSONArray array = tousseInstanceManager.getWaitSterileGoods(sterilingType, taskGroupId, saveBarcodes); StrutsResponseUtils.output(true, array); } catch (Exception e) { e.printStackTrace();