using Learun.Application.Form; using Nancy; using System.Collections.Generic; namespace Learun.Application.WebApi.Modules { /// /// 版 本 Learun-ADMS V7.0.0 数字化智慧校园 /// Copyright (c) 2013-2018 北京泉江科技有限公司 /// 创建人:数字化智慧校园-框架开发组 /// 日 期:2018.01.03 /// 描 述:自定义表单处理接口 /// public class FormApi: BaseApi { /// /// 注册接口 /// public FormApi() : base("/learun/adms/form") { Get["/scheme"] = GetScheme; Get["/data"] = GetData; Post["/save"] = Save; Post["/delete"] = DeleteForm; } private FormSchemeIBLL formSchemeIBLL = new FormSchemeBLL(); /// /// 获取表单模板数据 /// /// /// private Response GetScheme(dynamic _) { List req = this.GetReqData>();// 获取模板请求数据 Dictionary schemeList = new Dictionary(); foreach (var item in req) { FormSchemeInfoEntity schemeInfoEntity = formSchemeIBLL.GetSchemeInfoEntity(item.id); if (schemeInfoEntity != null) { FormSchemeEntity schemeEntity = formSchemeIBLL.GetSchemeEntity(schemeInfoEntity.F_SchemeId); if (schemeEntity != null) { if (schemeInfoEntity.F_SchemeId != item.ver) { schemeList.Add(item.id, schemeEntity); } } } } return Success(schemeList); } /// /// 获取自定义表单数据 /// /// /// public Response GetData(dynamic _) { List req = this.GetReqData>();// 获取模板请求数据 Dictionary dic = new Dictionary(); foreach (var item in req) { if (string.IsNullOrEmpty(item.processIdName)) { var data = formSchemeIBLL.GetInstanceForm(item.schemeInfoId, item.keyValue); dic.Add(item.schemeInfoId, data); } else { var data = formSchemeIBLL.GetInstanceForm(item.schemeInfoId, item.processIdName, item.keyValue);// dic.Add(item.schemeInfoId, data); } } return Success(dic); } /// /// 保存表单数据 /// /// /// private Response Save(dynamic _) { List req = this.GetReqData>();// 获取模板请求数据 foreach (var item in req) { formSchemeIBLL.SaveInstanceForm(item.schemeInfoId, item.processIdName, item.keyValue, item.formData); } return Success("保存成功"); } /// /// 删除表单数据 /// /// /// private Response DeleteForm(dynamic _) { FormParam req = this.GetReqData();// 获取模板请求数据 formSchemeIBLL.DeleteInstanceForm(req.schemeInfoId, req.keyValue); return Success("删除成功"); } #region 请求参数 private class SchemeReq { /// /// 表单请求Id /// public string id { get; set; } /// /// 当前自定义表单版本号 /// public string ver { get; set; } } /// /// 自定义表单提交参数 /// private class FormParam { /// /// 流程模板id /// public string schemeInfoId { get; set; } /// /// 关联字段名称 /// public string processIdName { get; set; } /// /// 数据主键值 /// public string keyValue { get; set; } /// /// 表单数据 /// public string formData { get; set; } } #endregion } }