Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/action/RecyclingApplicationAction.java =================================================================== diff -u -r14506 -r14557 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/action/RecyclingApplicationAction.java (.../RecyclingApplicationAction.java) (revision 14506) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/action/RecyclingApplicationAction.java (.../RecyclingApplicationAction.java) (revision 14557) @@ -1501,7 +1501,7 @@ .equals(recyclingApplication.getType()) || InvoicePlan.TYPE_CUSTOM_TOUSSE_APPLIACTION_FORM .equals(recyclingApplication.getType())) { - TousseItem item = recyclingApplication.getApplicationItems().get(0); + TousseItem item = CollectionUtils.isNotEmpty(recyclingApplication.getApplicationItems()) ? recyclingApplication.getApplicationItems().get(0) : null; if (item != null) { if(DatabaseUtil.isPoIdValid(item.getTousseDefinitionId())){ tousseDefinition = tousseDefinitionManager.getTousseDefinitionById(item.getTousseDefinitionId()); Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/RecyclingApplicationManagerImpl.java =================================================================== diff -u -r14502 -r14557 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/RecyclingApplicationManagerImpl.java (.../RecyclingApplicationManagerImpl.java) (revision 14502) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/RecyclingApplicationManagerImpl.java (.../RecyclingApplicationManagerImpl.java) (revision 14557) @@ -3283,6 +3283,7 @@ handleTousses = new CssdHandleTousses(); handleTousses.setOrgUnitCode(td.getHandlerDepartCode()); handleTousses.setOrgUnitName(td.getHandlerDepartName()); + handleTousses.setTousseDefinitionId(td.getAncestorID()); list.add(handleTousses); }else{ handleTousses = list.get(0); @@ -3622,6 +3623,8 @@ td.setTaskGroup(ancestorTD.getTaskGroup()); //是否打印科室属性设置 td.setIsPrintOrg(ancestorTD.getIsPrintOrg()); + //动态创建的消毒物品包定义的价格默认设置为祖先包的价格 + //td.setPrice(ancestorTD.getPrice()); //是否打印材料属性设置 td.setIsPrintMaterialForPacking(ancestorTD.getIsPrintMaterialForPacking()); //装配是否扣减库存 @@ -3773,6 +3776,14 @@ tousseInstance.setOperationTime(new Date()); tousseInstance .setUnTraceableTousse(TousseInstance.FICTITIOUS_GOODS_TRUE); + /** + * 设置包实例的处理科室、所在位置等 + */ + tousseInstance.setOrgUnitCoding(application.getHandleDepartCoding()); + tousseInstance.setOrgUnitName(application.getHandleDepart()); + tousseInstance.setLocation(tousseInstance.getOrgUnitCoding()); + tousseInstance.setLocationForDisplay(tousseInstance.getOrgUnitName()); + tousseInstance.setWareHouseId(wareHouse.getId()); tousseInstance.setWareHouseName(wareHouse.getName()); tousseInstance.setIsUrgentTousse(isUrgent);