/// <summary> /// 保存表单与模块关联的实体数据 /// </summary> /// <param name="keyValue"></param> /// <param name="entity"></param> /// <param name="moduleEntity"></param> public void SaveRelationEntity(string keyValue, FormModuleRelationEntity entity, ModuleEntity moduleEntity = null) { try { FormModuleEntity formModuleEntity = server.GetEntity(entity.F_FrmId); Form_ModuleContentEntity formModuleContentEntity = new Form_ModuleContentEntity() { F_FrmContent = formModuleEntity.F_FrmContent, F_FrmId = formModuleEntity.F_FrmId, F_FrmVersion = formModuleEntity.F_Version }; if (entity.F_FrmKind == 0)//自定义表单 { serverRelation.SaveEntity(keyValue, entity, moduleEntity, formModuleContentEntity); } else { serverRelation.SaveEntity(keyValue, entity, formModuleContentEntity); } } catch (Exception) { throw; } }
/// <summary> /// 保存表单(新增、修改) /// </summary> /// <param name="keyValue">主键值</param> /// <param name="entity">实体对象</param> /// <returns></returns> public void SaveForm(string keyValue, Form_ModuleContentEntity entity) { try { service.SaveForm(keyValue, entity); } catch (Exception) { throw; } }
/// <summary> /// 保存表单模块实例数据 /// </summary> /// <param name="keyValue"></param> /// <param name="entity"></param> /// <returns></returns> public string SaveCustmerInstance(string keyValue, FormModuleInstanceEntity entity) { try { Form_ModuleContentEntity contentEntity = serverContent.GetEntity(entity.F_FrmContentId); return(serverInstance.SaveEntity(keyValue, entity, contentEntity)); } catch (Exception) { throw; } }
/// <summary> /// 获取表单内容 /// </summary> /// <param name="keyValue"></param> public Form_ModuleContentEntity GetFormContentJson(string keyValue) { try { FormModuleRelationEntity relationEntity = serverRelation.GetEntity(keyValue); Form_ModuleContentEntity contentEntity = serverContent.GetEntity(relationEntity.F_ModuleContentId); return(contentEntity); } catch (Exception) { throw; } }
/// <summary> /// 移除自定义表单实例 /// </summary> /// <param name="keyValue"></param> /// <param name="contentEntity"></param> /// <returns></returns> public int RemoveCustmerInstanceEntity(string keyValue, string frmContentId) { try { Form_ModuleContentEntity contentEntity = serverContent.GetEntity(frmContentId); serverInstance.RemoveEntity(keyValue, contentEntity); return(1); } catch (Exception) { throw; } }
public ActionResult GetProcessNodeJson(string keyValue) { WFProcessInstanceEntity processEntity = wfProcessBll.GetProcessEntity(keyValue); WFProcessSchemeEntity processSchemeEntity = wfProcessBll.GetProcessSchemeEntity(processEntity.F_ProcessSchemeId); var nodeList = wfProcessBll.GetProcessNodeList(keyValue); IWfRuntime wfRuntime = new WfRuntime(processSchemeEntity.F_SchemeContent); WFNodeModel node = wfRuntime.getStartNode(); Dictionary <string, FormModuleEntity> formDataLsit = new Dictionary <string, FormModuleEntity>(); FormModuleEntity formNewEntity = formModuleBLL.GetEntity(node.setInfo.nodeForm); formDataLsit.Add(node.setInfo.nodeForm, formNewEntity); List <FormModuleEntity> formEntityList = new List <FormModuleEntity>(); Dictionary <string, FormModuleInstanceEntity> dFormData = new Dictionary <string, FormModuleInstanceEntity>(); var formdata = formModuleBLL.GetInstanceList(keyValue); foreach (var item in formdata) { Form_ModuleContentEntity formEntity = formModuleBLL.GetFormContentEntity(item.F_FrmContentId); if (formDataLsit.ContainsKey(formEntity.F_FrmId) && !dFormData.ContainsKey(formEntity.F_FrmId)) { formDataLsit[formEntity.F_FrmId].F_FrmContent = formEntity.F_FrmContent; formEntityList.Add(formDataLsit[formEntity.F_FrmId]); dFormData.Add(formEntity.F_FrmId, item); } } if (formEntityList.Count == 0) { formEntityList.Add(formNewEntity); } var dataJson = new { processEntity = processEntity, processSchemeEntity = processSchemeEntity, nodeList = nodeList, formEntityList = formEntityList, dFormData = dFormData, currentNode = node }; return(Content(dataJson.ToJson())); }
/// <summary> /// 升级表单 /// </summary> /// <param name="keyValue"></param> public void UpdateForm(string keyValue) { try { FormModuleRelationEntity relationEntity = serverRelation.GetEntity(keyValue); FormModuleEntity formModuleEntity = server.GetEntity(relationEntity.F_FrmId); Form_ModuleContentEntity formModuleContentEntity = new Form_ModuleContentEntity() { F_FrmContent = formModuleEntity.F_FrmContent, F_FrmId = formModuleEntity.F_FrmId, F_FrmVersion = formModuleEntity.F_Version }; relationEntity.F_FrmVersion = formModuleEntity.F_Version; serverRelation.SaveEntity(keyValue, relationEntity, formModuleContentEntity); } catch (Exception) { throw; } }
/// <summary> /// 保存表单模块实例数据 /// </summary> /// <param name="entity"></param> /// <param name="contentEntity"></param> /// <returns></returns> public string SaveEntity(FormModuleInstanceEntity entity, Form_ModuleContentEntity contentEntity) { FormModuleInstanceEntity formModuleInstanceEntity = GetEntityByProcessId(entity.F_ObjectId, entity.F_FrmContentId); if (formModuleInstanceEntity != null) { if (formModuleInstanceEntity.F_FrmInstanceJson != entity.F_FrmInstanceJson) { return(SaveEntity(formModuleInstanceEntity.F_Id, entity, contentEntity)); } else { return(formModuleInstanceEntity.F_Id); } } else { return(SaveEntity("", entity, contentEntity)); } }
/// <summary> /// 移除自定义表单实例 /// </summary> /// <param name="keyValue"></param> /// <param name="contentEntity"></param> /// <returns></returns> public int RemoveEntity(string keyValue, Form_ModuleContentEntity contentEntity) { try { FormContentModel contentModel = contentEntity.F_FrmContent.ToObject <FormContentModel>(); if (contentModel.type == "1") { DataBaseLinkService dbService = new DataBaseLinkService(); string strSql = "DELETE FROM " + contentModel.dbTable + " WHERE " + contentModel.dbPkey + " = @" + contentModel.dbPkey; var parameter = new List <DbParameter>(); parameter.Add(DbParameters.CreateDbParameter("@" + contentModel.dbPkey, keyValue)); dbService.ExecuteBySql(contentModel.dbId, strSql, parameter.ToArray()); } return(this.BaseRepository().Delete <FormModuleInstanceEntity>(keyValue)); } catch (Exception) { throw; } }
/// <summary> /// 保存实体数据 /// </summary> /// <param name="keyValue">主键</param> /// <param name="entity">数据实体</param> /// <param name="formModuleContentEntity">表单内容数据</param> /// <returns></returns> public int SaveEntity(string keyValue, FormModuleRelationEntity entity, Form_ModuleContentEntity formModuleContentEntity) { var db = this.BaseRepository().BeginTrans(); try { var expression = LinqExtensions.True <Form_ModuleContentEntity>(); expression = expression.And(t => t.F_FrmId == entity.F_FrmId && t.F_FrmVersion == entity.F_FrmVersion); Form_ModuleContentEntity form_ModuleContentEntity = db.FindEntity <Form_ModuleContentEntity>(expression); if (form_ModuleContentEntity == null) { formModuleContentEntity.Create(); db.Insert(formModuleContentEntity); entity.F_ModuleContentId = formModuleContentEntity.F_Id; } else { entity.F_ModuleContentId = form_ModuleContentEntity.F_Id; } if (string.IsNullOrEmpty(keyValue)) { entity.Create(); db.Insert(entity); } else { entity.Modify(keyValue); db.Update(entity); } db.Commit(); return(1); } catch (Exception) { db.Rollback(); throw; } }
/// <summary> /// 保存表单模块实例数据 /// </summary> /// <param name="keyValue"></param> /// <param name="entity"></param> /// <param name="contentEntity"></param> /// <returns>主键值</returns> public string SaveEntity(string keyValue, FormModuleInstanceEntity entity, Form_ModuleContentEntity contentEntity) { try { string resKeyValue = ""; FormContentModel contentModel = contentEntity.F_FrmContent.ToObject <FormContentModel>(); switch (contentModel.type) { case "1": DataBaseLinkService dbService = new DataBaseLinkService(); string strSql = ""; var parameter = new List <DbParameter>(); List <FormInstanceModel> filedsData = entity.F_FrmInstanceJson.ToObject <List <FormInstanceModel> >(); if (string.IsNullOrEmpty(keyValue)) { string pkValue = Guid.NewGuid().ToString(); strSql = " INSERT INTO " + contentModel.dbTable + " ( " + contentModel.dbPkey; string sqlValue = "( @" + contentModel.dbPkey; parameter.Add(DbParameters.CreateDbParameter("@" + contentModel.dbPkey, pkValue)); foreach (var item in filedsData) { if (!string.IsNullOrEmpty(item.value)) { strSql += "," + item.field; sqlValue += ",@" + item.field; parameter.Add(DbParameters.CreateDbParameter("@" + item.field, item.value)); } } strSql += " ) VALUES " + sqlValue + ")"; entity.Create(); entity.F_Id = pkValue; dbService.ExecuteBySql(contentModel.dbId, strSql, parameter.ToArray()); this.BaseRepository().Insert(entity); resKeyValue = entity.F_Id; } else { strSql = " UPDATE " + contentModel.dbTable + " SET "; bool isFirst = true; foreach (var item in filedsData) { if (!string.IsNullOrEmpty(item.value)) { if (!isFirst) { strSql += ","; } strSql += item.field + "=@" + item.field; parameter.Add(DbParameters.CreateDbParameter("@" + item.field, item.value)); isFirst = false; } } strSql += " WHERE " + contentModel.dbPkey + "=@" + contentModel.dbPkey; parameter.Add(DbParameters.CreateDbParameter("@" + contentModel.dbPkey, keyValue)); entity.Modify(keyValue); dbService.ExecuteBySql(contentModel.dbId, strSql, parameter.ToArray()); this.BaseRepository().Update(entity); resKeyValue = entity.F_Id; } break; case "0": case "2": if (string.IsNullOrEmpty(keyValue)) //新增 { entity.Create(); this.BaseRepository().Insert(entity); } else //更新 { entity.Modify(keyValue); this.BaseRepository().Update(entity); } resKeyValue = entity.F_Id; break; } return(resKeyValue); } catch (Exception) { throw; } }
/// <summary> /// 保存实体数据(关联功能模块菜单) /// </summary> /// <param name="keyValue">主键Id</param> /// <param name="entity">表单关联实体</param> /// <param name="moduleEntity">系统功能模板实体</param> /// <param name="formModuleContentEntity">表单内容数据</param> /// <returns></returns> public void SaveEntity(string keyValue, FormModuleRelationEntity entity, ModuleEntity moduleEntity, Form_ModuleContentEntity formModuleContentEntity) { IRepository db = this.BaseRepository().BeginTrans(); try { var expression = LinqExtensions.True <Form_ModuleContentEntity>(); expression = expression.And(t => t.F_FrmId == entity.F_FrmId && t.F_FrmVersion == entity.F_FrmVersion); Form_ModuleContentEntity form_ModuleContentEntity = db.FindEntity <Form_ModuleContentEntity>(expression); if (form_ModuleContentEntity == null) { formModuleContentEntity.Create(); db.Insert(formModuleContentEntity); entity.F_ModuleContentId = formModuleContentEntity.F_Id; } else { entity.F_ModuleContentId = form_ModuleContentEntity.F_Id; } if (string.IsNullOrEmpty(keyValue)) { entity.Create(); moduleEntity.Create(); db.Insert(moduleEntity); entity.F_ObjectId = moduleEntity.F_ModuleId; entity.F_ObjectName = moduleEntity.F_FullName; moduleEntity.F_UrlAddress = moduleEntity.F_UrlAddress + "?Id=" + entity.F_Id; db.Insert(entity); } else { entity.Modify(keyValue); moduleEntity.Modify(entity.F_ObjectId); db.Update(moduleEntity); entity.F_ObjectName = moduleEntity.F_FullName; moduleEntity.F_UrlAddress = moduleEntity.F_UrlAddress + "?Id=" + entity.F_Id; db.Update(entity); } db.Delete <ModuleButtonEntity>(t => t.F_ModuleId.Equals(moduleEntity.F_ModuleId)); ModuleButtonEntity moduleButtonrReplace = new ModuleButtonEntity(); moduleButtonrReplace.F_ModuleId = moduleEntity.F_ModuleId; moduleButtonrReplace.F_EnCode = "lr-replace"; moduleButtonrReplace.F_FullName = "刷新"; moduleButtonrReplace.F_SortCode = 0; moduleButtonrReplace.F_ParentId = "0"; moduleButtonrReplace.Create(); db.Insert(moduleButtonrReplace); ModuleButtonEntity moduleButtonrAdd = new ModuleButtonEntity(); moduleButtonrAdd.F_ModuleId = moduleEntity.F_ModuleId; moduleButtonrAdd.F_EnCode = "lr-add"; moduleButtonrAdd.F_FullName = "新增"; moduleButtonrAdd.F_SortCode = 1; moduleButtonrAdd.F_ActionAddress = "/FormManage/FormModule/CustmerFormForm"; moduleButtonrAdd.F_ParentId = "0"; moduleButtonrAdd.Create(); db.Insert(moduleButtonrAdd); ModuleButtonEntity moduleButtonrEdit = new ModuleButtonEntity(); moduleButtonrEdit.F_ModuleId = moduleEntity.F_ModuleId; moduleButtonrEdit.F_EnCode = "lr-edit"; moduleButtonrEdit.F_FullName = "编辑"; moduleButtonrEdit.F_SortCode = 2; moduleButtonrEdit.F_ActionAddress = "/FormManage/FormModule/CustmerFormForm"; moduleButtonrEdit.F_ParentId = "0"; moduleButtonrEdit.Create(); db.Insert(moduleButtonrEdit); ModuleButtonEntity moduleButtonrDelete = new ModuleButtonEntity(); moduleButtonrDelete.F_ModuleId = moduleEntity.F_ModuleId; moduleButtonrDelete.F_EnCode = "lr-delete"; moduleButtonrDelete.F_FullName = "删除"; moduleButtonrDelete.F_SortCode = 3; moduleButtonrDelete.F_ActionAddress = "/FormManage/FormModule/CustmerFormRemove"; moduleButtonrDelete.F_ParentId = "0"; moduleButtonrDelete.Create(); db.Insert(moduleButtonrDelete); db.Commit(); } catch { db.Rollback(); throw; } }