Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/supplyroomconfig/service/SupplyRoomConfigManagerImpl.java =================================================================== diff -u -r28912 -r29049 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/supplyroomconfig/service/SupplyRoomConfigManagerImpl.java (.../SupplyRoomConfigManagerImpl.java) (revision 28912) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/supplyroomconfig/service/SupplyRoomConfigManagerImpl.java (.../SupplyRoomConfigManagerImpl.java) (revision 29049) @@ -625,6 +625,18 @@ return isFirstSupplyRoomOrgUnit; } @Override + public boolean isSecondSupplyRoomOrgUnit(String orgUnitCoding) { + if(StringUtils.isBlank(orgUnitCoding)){ + return false; + } + String sql = String.format(" where po.supplyRoomType=%s and po.orgUnitCoding='%s'",SupplyRoomConfig.SUPPLYROOM_TYPE_SECOND_SUPPLYROOM, orgUnitCoding); + int c = objectDao.countObjectBySql(SupplyRoomConfig.class.getSimpleName(), sql); + if(c > 0){ + return true; + } + return false; + } + @Override public boolean isFirstOrSecondSupplyRoomOrgUnit(String orgUnitCoding){ if(StringUtils.isBlank(orgUnitCoding)){ return false; Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/supplyroomconfig/service/SupplyRoomConfigManager.java =================================================================== diff -u -r28848 -r29049 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/supplyroomconfig/service/SupplyRoomConfigManager.java (.../SupplyRoomConfigManager.java) (revision 28848) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/supplyroomconfig/service/SupplyRoomConfigManager.java (.../SupplyRoomConfigManager.java) (revision 29049) @@ -170,6 +170,12 @@ * @return */ public boolean isFirstSupplyRoomOrgUnit(String orgUnitCoding); + /** + * 判断此科室编码是否是二级供应室 + * @param orgUnitCoding + * @return + */ + public boolean isSecondSupplyRoomOrgUnit(String orgUnitCoding); public boolean isFirstOrSecondSupplyRoomOrgUnit(String orgUnitCoding); public JSONArray getCssdList(); Index: ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java =================================================================== diff -u -r28972 -r29049 --- ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java (.../RecyclingRecordManagerImpl.java) (revision 28972) +++ ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java (.../RecyclingRecordManagerImpl.java) (revision 29049) @@ -4022,8 +4022,9 @@ if(cf.getOrgUnitCoding().equals(deptCode)){ isCSSD = true; } - //非手术室、供应室 生成回收申请单 - if(!isOperatingRoom && !isCSSD){ + boolean createRecycleApplicationWhenRecycleFromSelfDeptBy2ndSupplyRoom = CssdUtils.getSystemSetConfigByNameBool("createRecycleApplicationWhenRecycleFromSelfDeptBy2ndSupplyRoom", false); + //非手术室、供应室 生成回收申请单 或 开启了【二级供应室回收本科室的单要产生回收申请单】,且申请科室和处理科室都为二级供应室 + if((!isOperatingRoom && !isCSSD) || (createRecycleApplicationWhenRecycleFromSelfDeptBy2ndSupplyRoom && supplyRoomConfigManager.isSecondSupplyRoomOrgUnit(deptCode) && deptCode.equals(record.getOrgUnitCoding()))){ if(SupplyRoomConfig.INVOICE_ORIGIN_RECYCLING.equals(invoiceOrigin)){ List tousseItems = new ArrayList(); Index: ssts-web/src/main/webapp/disinfectsystem/config/jysrmyy/config.js =================================================================== diff -u -r27538 -r29049 --- ssts-web/src/main/webapp/disinfectsystem/config/jysrmyy/config.js (.../config.js) (revision 27538) +++ ssts-web/src/main/webapp/disinfectsystem/config/jysrmyy/config.js (.../config.js) (revision 29049) @@ -102,6 +102,8 @@ //只有装配完成才能使用清洗篮筐,默认为true recycleClassifyBasketAfterPacked:false, //禁用基数限制 - disableCardinalNumLimit:true + disableCardinalNumLimit:true, + //二级供应室回收本科室的物品要产生回收申请单 + createRecycleApplicationWhenRecycleFromSelfDeptBy2ndSupplyRoom : true } \ No newline at end of file