Index: ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java =================================================================== diff -u -r36327 -r36334 --- ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java (.../PackingManagerImpl.java) (revision 36327) +++ ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java (.../PackingManagerImpl.java) (revision 36334) @@ -7393,6 +7393,8 @@ if(tdIdMapTousseInstances == null || tdIdMapTousseInstances.size() <=0){ return; } + //来源科室编码及名称的map + Map departCodeAndNameMap = loadDepartCodeAndNameMap(tdIdMapTousseInstances); for(Entry> entry : tdIdMapTousseInstances.entrySet()){ TousseDefinition tousseDefinition = tousseDefinitionManager.get(entry.getKey()); if (tousseDefinition == null) { @@ -7403,8 +7405,6 @@ List tousseInstanceList = entry.getValue(); Map> wtMap = new HashMap>(); Map tidPackIdMap = new HashMap(); - //来源科室编码及名称的map - Map departCodeAndNameMap = tousseInstanceManager.loadDepartCodeAndNameMap(tousseInstanceList); // 按清洗时间组合器械包,不同清洗时间的器械包,创建不同的装配任务 for(TousseInstance toussei : tousseInstanceList){ // 只有状态为已装配、已审核、已灭菌、灭菌中的外部代理灭菌包允许登记质量监测或者定期监测时勾选重新装配或者重新发货 @@ -7557,6 +7557,26 @@ } } + /** + * 查询包实例来源科室编码及名称的map + * @param tdIdMapTousseInstances + * @return + */ + private Map loadDepartCodeAndNameMap(Map> tdIdMapTousseInstances) { + if(tdIdMapTousseInstances == null || tdIdMapTousseInstances.size() <=0){ + return new HashMap(); + } + List allTousseInstanceList = new ArrayList(); + for(Entry> entry : tdIdMapTousseInstances.entrySet()){ + List tousseInstanceList = entry.getValue(); + if(CollectionUtils.isEmpty(tousseInstanceList)){ + continue; + } + allTousseInstanceList.addAll(tousseInstanceList); + } + return tousseInstanceManager.loadDepartCodeAndNameMap(allTousseInstanceList); + } + @Override public JSONArray interfereSplitForeignTousse(String params) {