Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/RecyclingApplicationManagerImpl.java =================================================================== diff -u -r31476 -r31521 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/RecyclingApplicationManagerImpl.java (.../RecyclingApplicationManagerImpl.java) (revision 31476) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/RecyclingApplicationManagerImpl.java (.../RecyclingApplicationManagerImpl.java) (revision 31521) @@ -7330,13 +7330,15 @@ goodsStockType = GoodsStockManager.MODE_INSTOCK; SupplyRoomConfig cfg = supplyRoomConfigManager .getSystemParamsObj(); + //灭菌程序对应灭菌方式的map + Map sterilingTypeToSterilingModeMap = new HashMap(); for (int i = 0; i < amount; i++) { String isUrgentInstance = com.forgon.Constants.STR_NO; if(urgentAmount > 0){ isUrgentInstance = com.forgon.Constants.STR_YES; } newUnPackingTousseInstance(td, application, - recyclingRecord, wareHouse, cfg,isUrgentInstance, urgentLevel); + recyclingRecord, wareHouse, cfg,isUrgentInstance, urgentLevel,sterilingTypeToSterilingModeMap); urgentAmount--; } } else if (amount < 0) { @@ -7374,7 +7376,7 @@ private void newUnPackingTousseInstance(TousseDefinition td, InvoicePlan application, RecyclingRecord recyclingRecord, - WareHouse wareHouse, SupplyRoomConfig cfg,String isUrgent, UrgentLevel urgentLevel) { + WareHouse wareHouse, SupplyRoomConfig cfg,String isUrgent, UrgentLevel urgentLevel, Map sterilingTypeToSterilingModeMap) { //如果包定义为不生成包实例,且不是在回收页面添加时,不需要生成包实例 if(recyclingRecord == null && StringUtils.equals(com.forgon.Constants.STR_YES, td.getNoGenerateTousse())){ logger.debug(String.format("%s设置不生成包实例,不是回收时添加该包时,不生成包实例", td.getName())); @@ -7411,6 +7413,10 @@ tousseInstance.setPrice(price); tousseInstance.setStatisticsAmount(statisticsAmount); tousseInstance.setTousseDefinition(td); + if(!TousseDefinition.STR_NO.equals(td.getIsSterile())){//有为空的值,空 和 是 都要赋值,否 不用赋值 + tousseInstance.setSterilingType(td.getSterilingMethod()); + tousseInstanceManager.setTousseSterilingMode(tousseInstance , sterilingTypeToSterilingModeMap); + } tousseInstance.setMaterialAmount(td.getMaterialAmount()); tousseInstance.setMaterialSplitAmount(td.getMaterialSplitAmount()); tousseInstance.setDisposableGoodAmount(td.getDisposableGoodsAmount()); @@ -7505,9 +7511,10 @@ goodsStockType = GoodsStockManager.MODE_INSTOCK; SupplyRoomConfig cfg = supplyRoomConfigManager .getSystemParamsObj(); + Map sterilingTypeToSterilingModeMap = new HashMap(); for (int i = 0; i < amount; i++) { newUnPackingTousseInstance(td, application, - recyclingRecord, wareHouse, cfg,com.forgon.Constants.STR_NO,null); + recyclingRecord, wareHouse, cfg,com.forgon.Constants.STR_NO,null,sterilingTypeToSterilingModeMap); } } else if (amount < 0) { goodsStockType = GoodsStockManager.MODE_OUTSTOCK;