Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/supplyroomconfig/service/SupplyRoomConfigManager.java =================================================================== diff -u -r27896 -r28848 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/supplyroomconfig/service/SupplyRoomConfigManager.java (.../SupplyRoomConfigManager.java) (revision 27896) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/supplyroomconfig/service/SupplyRoomConfigManager.java (.../SupplyRoomConfigManager.java) (revision 28848) @@ -287,5 +287,12 @@ * @return */ public JSONArray loadSupplyRoomConfigWithStatus(int type); + + /** + * 根据科室编码、supplyRoomType获取科室 + * @param departCodes + * @return + */ + public List getApplyDepartmentByOrgCodesOrderBySequence(String[] departCodes, int type); } Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/RecyclingApplicationManagerImpl.java =================================================================== diff -u -r28775 -r28848 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/RecyclingApplicationManagerImpl.java (.../RecyclingApplicationManagerImpl.java) (revision 28775) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/RecyclingApplicationManagerImpl.java (.../RecyclingApplicationManagerImpl.java) (revision 28848) @@ -7706,7 +7706,7 @@ String departCodes = config.getDepartCodes(); String[] depts = departCodes.length() > 0 ? departCodes.split(";") : null; // 打印发货计划设置中存在已经删除了的科室编码,需要根据科室编码查询科室,再根据科室打印物品 - List orgUnits = depts.length > 0 ? orgUnitManager.getByCodes(Arrays.asList(depts)) : null; + List orgUnits = supplyRoomConfigManager.getApplyDepartmentByOrgCodesOrderBySequence(depts, SupplyRoomConfig.SUPPLYROOM_TYPE_APPLY); if (CollectionUtils.isNotEmpty(orgUnits)){ allNeedToPrintDept = new String[orgUnits.size()]; for (int i=0;i getApplyDepartmentByOrgCodesOrderBySequence(String[] departCodes, int type) { + if(departCodes == null || departCodes.length == 0){ + return null; + } + List departCodeList = Arrays.asList(departCodes); + String hql = String.format("select src, ou from %s src, %s ou where src.orgUnitCoding = ou.orgUnitCoding and src.supplyRoomType = %s and %s order by src.sequence", + SupplyRoomConfig.class.getSimpleName(), OrgUnit.class.getSimpleName(), type, SqlUtils.getStringFieldInLargeCollectionsPredicate("ou.orgUnitCoding", departCodeList)); + List list = objectDao.findByHql(hql); + if(CollectionUtils.isEmpty(list)){ + return null; + } + List orgUnits = new ArrayList(); + for (int i=0; i