Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/departmentapplicationtemplate/action/DepartmentAppTemplateAction.java =================================================================== diff -u -r28970 -r29201 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/departmentapplicationtemplate/action/DepartmentAppTemplateAction.java (.../DepartmentAppTemplateAction.java) (revision 28970) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/departmentapplicationtemplate/action/DepartmentAppTemplateAction.java (.../DepartmentAppTemplateAction.java) (revision 29201) @@ -411,6 +411,62 @@ } /** + * 科室申领模板新增“另存为”功能(GDSZYY-28) + */ + public void saveAsAppTemplate(){ + JSONObject result = JSONUtil.buildJsonObject(true, "保存成功!"); + String title = StrutsParamUtils.getPraramValue("appTemplateTitle", ""); + if(!DatabaseUtil.isPoIdValid(appTemplate.getId())){ + result = JSONUtil.buildJsonObject(false, "模板不存在!"); + }else{ + DepartmentAppTemplate newAppTemplate = new DepartmentAppTemplate(); + // 【维护科室】创建模板的用户的科室(当前登录科室),不允许修改(GDSZYY-17) + OrgUnit orgUnit = orgUnitManager.getByCode(AcegiHelper.getCurrentOrgUnitCode()); + if(orgUnit != null){ + newAppTemplate.setMaintenanceDepartId(orgUnit.getId()); + } + newAppTemplate.setTitle(StringUtils.isBlank(title) ? appTemplate.getTitle() + "-副本" : title); + newAppTemplate.setOperationTime(new Date()); + newAppTemplate.setOperator(AcegiHelper.getLoginUserFullName()); + newAppTemplate.setOrgUnitCode(appTemplate.getOrgUnitCode()); + newAppTemplate.setSequence(appTemplate.getSequence()); + newAppTemplate.setTemplateType(appTemplate.getTemplateType()); + + //可以申请的一次性物品 + List originalDiposableGoodsTemplateItems = appTemplate.getDiposableGoodsTemplateItems(); + List diposableGoodsTemplateItems = new ArrayList(); + if(CollectionUtils.isNotEmpty(originalDiposableGoodsTemplateItems)){ + for (DiposableGoodsTemplateItem diposableGoodsTemplateItem : originalDiposableGoodsTemplateItems) { + DiposableGoodsTemplateItem templateItem = new DiposableGoodsTemplateItem(); + templateItem.setAmount(diposableGoodsTemplateItem.getAmount()); + templateItem.setApplicationDiposableGoods(diposableGoodsTemplateItem.getApplicationDiposableGoods()); + templateItem.setSortNumber(diposableGoodsTemplateItem.getSortNumber()); + diposableGoodsTemplateItems.add(templateItem); + } + } + newAppTemplate.setDiposableGoodsTemplateItems(diposableGoodsTemplateItems); + + //可以申请的器械包 + List originalTousseDefinitionTemplateItems = appTemplate.getTousseDefinitionTemplateItems(); + List tousseDefinitionTemplateItems = new ArrayList(); + if(CollectionUtils.isNotEmpty(originalTousseDefinitionTemplateItems)){ + for (TousseDefinitionTemplateItem tousseDefinitionTemplateItem : originalTousseDefinitionTemplateItems) { + TousseDefinitionTemplateItem templateItem = new TousseDefinitionTemplateItem(); + templateItem.setAmount(tousseDefinitionTemplateItem.getAmount()); + templateItem.setSortNumber(tousseDefinitionTemplateItem.getSortNumber()); + templateItem.setTousseDefinition(tousseDefinitionTemplateItem.getTousseDefinition()); + tousseDefinitionTemplateItems.add(templateItem); + } + } + newAppTemplate.setTousseDefinitionTemplateItems(tousseDefinitionTemplateItems); + + departmentAppTemplateManager.saveDepartmentAppTemplate(newAppTemplate); + result.put("appTemplateId", newAppTemplate.getId()); + } + StrutsResponseUtils.output(result); + } + + /** * 保存前检查是否重复 * * @return