Index: ssts-satisfactionsurvey/src/main/java/com/forgon/disinfectsystem/satisfactionsurvey/service/SatisfactionSurveyTableManagerImpl.java =================================================================== diff -u -r24062 -r25932 --- ssts-satisfactionsurvey/src/main/java/com/forgon/disinfectsystem/satisfactionsurvey/service/SatisfactionSurveyTableManagerImpl.java (.../SatisfactionSurveyTableManagerImpl.java) (revision 24062) +++ ssts-satisfactionsurvey/src/main/java/com/forgon/disinfectsystem/satisfactionsurvey/service/SatisfactionSurveyTableManagerImpl.java (.../SatisfactionSurveyTableManagerImpl.java) (revision 25932) @@ -11,9 +11,12 @@ import org.springframework.transaction.annotation.Transactional; import com.forgon.disinfectsystem.customform.forminstance.service.FormInstanceManager; +import com.forgon.disinfectsystem.entity.customform.formdefinition.FormDefinition; import com.forgon.disinfectsystem.entity.customform.forminstance.FormInstance; import com.forgon.disinfectsystem.entity.satisfactionsurvey.SatisfactionSurveyTable; import com.forgon.disinfectsystem.entity.satisfactionsurvey.SatisfactionSurveyTableItem; +import com.forgon.disinfectsystem.entity.satisfactionsurvey.SatisfactionSurveyTemplate; +import com.forgon.exception.SystemException; import com.forgon.tools.db.DatabaseUtil; import com.forgon.tools.hibernate.ObjectDao; @@ -96,7 +99,7 @@ /** * 保存满意度调查表下的“自定义表单实例”. * @param satisfactionSurveyTable 满意度调查表实例对象 - * @param items 前台传过来的参数对象 + * @param items 前台传过来的参数对象(满意度调查表自定义项的内容) */ private void saveOrUpdateFormInstance(SatisfactionSurveyTable satisfactionSurveyTable, Map items) { HibernateTemplate ht = objectDao.getHt(); @@ -109,7 +112,31 @@ formInstanceManager.saveFormInstance(formInstance, items); // 更新或者插入formInstance后关联satisfactionSurveyTable表的formInstance_id satisfactionSurveyTable.setFormInstance_id(formInstance.getId()); + }else{ + throw new SystemException(String.format("未找到id为%s的自定义表单实例" , formInstance_id)); } + }else{ + Long templateId = satisfactionSurveyTable.getSatisfactionSurveyTemplateId(); + SatisfactionSurveyTemplate template = + (SatisfactionSurveyTemplate)objectDao.getById(SatisfactionSurveyTemplate.class.getSimpleName(), templateId); + //自定义表单定义id + Long formDefinitionId = template.getFormDefinition_id(); + if(DatabaseUtil.isPoIdValid(formDefinitionId)){ + FormDefinition formDefinition = + (FormDefinition)objectDao.getById(FormDefinition.class.getSimpleName(), formDefinitionId); + if(formDefinition != null){ + formInstance = new FormInstance(); + formInstance.setFormDefinition(formDefinition); + formInstance.setCreateDate(satisfactionSurveyTable.getSurveyDate()); + formInstance.setCreateUserName(satisfactionSurveyTable.getUserName()); + formInstance.setOrgUnit(satisfactionSurveyTable.getDepart()); + formInstance.setOrgUnitCoding(satisfactionSurveyTable.getDepartCoding()); + formInstance.setRemark(satisfactionSurveyTable.getRemark()); + formInstanceManager.saveFormInstance(formInstance, items); + } + } + // 更新或者插入formInstance后关联satisfactionSurveyTable表的formInstance_id + satisfactionSurveyTable.setFormInstance_id(formInstance.getId()); } objectDao.saveOrUpdate(satisfactionSurveyTable); } Index: ssts-web/src/main/webapp/disinfectsystem/satisfactionsurvey/satisfactionSurveyTableForm.js =================================================================== diff -u -r25928 -r25932 --- ssts-web/src/main/webapp/disinfectsystem/satisfactionsurvey/satisfactionSurveyTableForm.js (.../satisfactionSurveyTableForm.js) (revision 25928) +++ ssts-web/src/main/webapp/disinfectsystem/satisfactionsurvey/satisfactionSurveyTableForm.js (.../satisfactionSurveyTableForm.js) (revision 25932) @@ -34,7 +34,7 @@ /** * 添加或者修改“满意度调查表实例”. * @param id 满意度调查表实例的id - * @param existGrid 是否存在grid列表对象 + * @param existGrid 是否存在grid列表对象(从首页告警链接过来的,则该参数为null) * @param templateId 满意度调查表定义id * @param callBack 添加完成的回调函数 */ Index: ssts-web/src/main/webapp/disinfectsystem/satisfactionsurvey/satisfactionSurveyTableWinForm.js =================================================================== diff -u -r22801 -r25932 --- ssts-web/src/main/webapp/disinfectsystem/satisfactionsurvey/satisfactionSurveyTableWinForm.js (.../satisfactionSurveyTableWinForm.js) (revision 22801) +++ ssts-web/src/main/webapp/disinfectsystem/satisfactionsurvey/satisfactionSurveyTableWinForm.js (.../satisfactionSurveyTableWinForm.js) (revision 25932) @@ -11,6 +11,11 @@ */ var tipsWindow; var doSync = false; +/** + * 打开满意度调查表的填写窗口(可能是从主页的告警提示记录打开、也可能是从满意度调查表列表单击某一条记录打开) + * @param upToNeck //如果值为upToNeck,表示只加载提醒时间为当前时间之前的自定义表单模板 + * @returns {Boolean} + */ function showSatisfactionSurveyWinTips(upToNeck){ if(doSync){ return false; Index: ssts-satisfactionsurvey/src/main/java/com/forgon/disinfectsystem/satisfactionsurvey/action/SatisfactionSurveyTemplateAction.java =================================================================== diff -u -r18546 -r25932 --- ssts-satisfactionsurvey/src/main/java/com/forgon/disinfectsystem/satisfactionsurvey/action/SatisfactionSurveyTemplateAction.java (.../SatisfactionSurveyTemplateAction.java) (revision 18546) +++ ssts-satisfactionsurvey/src/main/java/com/forgon/disinfectsystem/satisfactionsurvey/action/SatisfactionSurveyTemplateAction.java (.../SatisfactionSurveyTemplateAction.java) (revision 25932) @@ -366,6 +366,7 @@ } public String loadSatisfactionSurveyTemplateForTips(){ + //如果值为upToNeck,表示只加载提醒时间为当前时间之前的自定义表单模板(从首页弹出满意度调查表填写的告警列表的标题点击进行就是传此参数) String upToNeck = StrutsParamUtils.getPraramValue("upToNeck", ""); //满意度调查提醒 List satisfactionSurveyTemplateList = satisfactionSurveyTemplateManager