Example #1
0
 /// <summary>
 /// 已办流程进度查看,根据当前访问人的权限查看表单内容
 /// </summary>
 /// <param name="keyValue"></param>
 /// <returns></returns>
 public WFProcessSchemeEntity GetProcessSchemeEntityByUserId(string keyValue)
 {
     try
     {
         WFProcessSchemeEntity entity = wfProcessSchemeService.GetEntity(keyValue);
         entity.SchemeContent = wfRuntimeService.GetProcessSchemeContentByUserId(entity.SchemeContent, OperatorProvider.Provider.Current().UserId);
         return(entity);
     }
     catch
     {
         throw;
     }
 }
Example #2
0
 /// <summary>
 /// 已办流程进度查看,根据当前节点的权限查看表单内容
 /// </summary>
 /// <param name="keyValue"></param>
 /// <param name="isPermission"></param>
 /// <returns></returns>
 public WFProcessSchemeEntity GetProcessSchemeEntityByNodeId(string keyValue, string nodeId)
 {
     try
     {
         WFProcessSchemeEntity entity = wfProcessSchemeService.GetEntity(keyValue);
         entity.SchemeContent = wfRuntimeService.GetProcessSchemeContentByNodeId(entity.SchemeContent, nodeId);
         return(entity);
     }
     catch
     {
         throw;
     }
 }
        /// <summary>
        /// 已办流程进度查看,根据当前节点的权限查看表单内容
        /// </summary>
        /// <param name="keyValue"></param>
        /// <param name="isPermission"></param>
        /// <returns></returns>
        public string GetProcessSchemeEntityByNodeId(string keyValue, string formid, string nodeId)
        {
            try
            {
                WFProcessSchemeEntity entity = wfProcessSchemeService.GetEntity(keyValue);

                string jsonstr = wfRuntimeService.GetProcessSchemeContentByNodeId(entity.SchemeContent, formid, nodeId);
                return(jsonstr);
            }
            catch
            {
                throw;
            }
        }
Example #4
0
 /// <summary>
 /// 已办流程进度查看,根据当前节点的权限查看表单内容
 /// </summary>
 /// <param name="keyValue"></param>
 /// <param name="isPermission"></param>
 /// <returns></returns>
 public FormModuleEntity GetProcessSchemeEntityByNodeId(string keyValue, string formid, string nodeId)
 {
     try
     {
         WFProcessSchemeEntity entity     = wfProcessSchemeService.GetEntity(keyValue);
         FormModuleEntity      formEntity = formService.GetEntity(formid);
         formEntity.FrmContent = wfRuntimeService.GetProcessSchemeContentByNodeId(entity.SchemeContent, formEntity.FrmContent, nodeId);
         return(formEntity);
     }
     catch
     {
         throw;
     }
 }
Example #5
0
        public ActionResult GetProcessJson(string keyValue)
        {
            WFProcessInstanceEntity processEntity       = wfProcessBll.GetProcessEntity(keyValue);
            WFProcessSchemeEntity   processSchemeEntity = wfProcessBll.GetProcessSchemeEntity(processEntity.F_ProcessSchemeId);
            var nodeList = wfProcessBll.GetProcessNodeList(keyValue).ToList();

            nodeList = nodeList.OrderBy(t => t.F_NodeId).ThenBy(t => t.F_CreateDate).ToList();
            var dataJson = new
            {
                processEntity       = processEntity,
                processSchemeEntity = processSchemeEntity,
                nodeList            = nodeList
            };

            return(Content(dataJson.ToJson()));
        }
Example #6
0
        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>
 /// <param name="entity"></param>
 public void SaveEntity(string keyValue, WFProcessSchemeEntity entity)
 {
     try
     {
         if (string.IsNullOrEmpty(keyValue))
         {
             entity.Create();
             this.BaseRepository().Insert <WFProcessSchemeEntity>(entity);
         }
         else
         {
             entity.Modify(keyValue);
             this.BaseRepository().Update <WFProcessSchemeEntity>(entity);
         }
     }
     catch
     {
         throw;
     }
 }
Example #8
0
        /// <summary>
        /// 存储工作流实例进程(审核驳回重新提交)
        /// </summary>
        /// <param name="processInstanceEntity"></param>
        /// <param name="processSchemeEntity"></param>
        /// <param name="processOperationHistoryEntity"></param>
        /// <param name="processTransitionHistoryEntity"></param>
        /// <returns></returns>
        public int SaveProcess(WFProcessInstanceEntity processInstanceEntity, WFProcessSchemeEntity processSchemeEntity, WFProcessOperationHistoryEntity processOperationHistoryEntity, List <WFDelegateRecordEntity> delegateRecordEntityList, WFProcessTransitionHistoryEntity processTransitionHistoryEntity = null)
        {
            IRepository db = this.BaseRepository().BeginTrans();

            try
            {
                processInstanceEntity.Modify(processInstanceEntity.Id);
                db.Update(processSchemeEntity);
                db.Update(processInstanceEntity);

                processOperationHistoryEntity.Create();
                processOperationHistoryEntity.ProcessId = processInstanceEntity.Id;
                db.Insert(processOperationHistoryEntity);

                if (processTransitionHistoryEntity != null)
                {
                    processTransitionHistoryEntity.Create();
                    processTransitionHistoryEntity.ProcessId = processInstanceEntity.Id;
                    db.Insert(processTransitionHistoryEntity);
                }
                if (delegateRecordEntityList != null)
                {
                    foreach (var item in delegateRecordEntityList)
                    {
                        item.Create();
                        item.ProcessId = processInstanceEntity.Id;
                        db.Insert(item);
                    }
                }
                db.Commit();
                return(1);
            }
            catch
            {
                db.Rollback();
                throw;
            }
        }
Example #9
0
        /// <summary>
        ///  更新流程实例 审核节点用
        /// </summary>
        /// <param name="sql"></param>
        /// <param name="dbbaseId"></param>
        /// <param name="processInstanceEntity"></param>
        /// <param name="processSchemeEntity"></param>
        /// <param name="processOperationHistoryEntity"></param>
        /// <param name="delegateRecordEntityList"></param>
        /// <param name="processTransitionHistoryEntity"></param>
        /// <returns></returns>
        public int SaveProcess(string sql, string dbbaseId, WFProcessInstanceEntity processInstanceEntity, WFProcessSchemeEntity processSchemeEntity, WFProcessOperationHistoryEntity processOperationHistoryEntity, List <WFDelegateRecordEntity> delegateRecordEntityList, WFProcessTransitionHistoryEntity processTransitionHistoryEntity = null)
        {
            IRepository db = this.BaseRepository().BeginTrans();

            try
            {
                processInstanceEntity.Modify(processInstanceEntity.Id);
                db.Update(processSchemeEntity);
                db.Update(processInstanceEntity);

                processOperationHistoryEntity.Create();
                processOperationHistoryEntity.ProcessId = processInstanceEntity.Id;
                db.Insert(processOperationHistoryEntity);

                if (processTransitionHistoryEntity != null)
                {
                    processTransitionHistoryEntity.Create();
                    processTransitionHistoryEntity.ProcessId = processInstanceEntity.Id;
                    db.Insert(processTransitionHistoryEntity);
                }
                if (delegateRecordEntityList != null)
                {
                    foreach (var item in delegateRecordEntityList)
                    {
                        item.Create();
                        item.ProcessId = processInstanceEntity.Id;
                        db.Insert(item);
                    }
                }
                //if (!string.IsNullOrEmpty(dbbaseId) && !string.IsNullOrEmpty(sql))//测试环境不允许执行sql语句
                //{
                //    DataBaseLinkEntity dataBaseLinkEntity = dataBaseLinkService.GetEntity(dbbaseId);//获取
                //    this.BaseRepository(dataBaseLinkEntity.DbConnection).ExecuteBySql(sql.Replace("{0}", processInstanceEntity.Id));
                //}
                db.Commit();
                return(1);
            }
            catch
            {
                db.Rollback();
                throw;
            }
        }
Example #10
0
        /// <summary>
        /// 存储工作流实例进程(创建实例进程)
        /// </summary>
        /// <param name="wfRuntimeModel"></param>
        /// <param name="processInstanceEntity"></param>
        /// <param name="processSchemeEntity"></param>
        /// <param name="processOperationHistoryEntity"></param>
        /// <param name="delegateRecordEntity"></param>
        /// <returns></returns>
        public int SaveProcess(WF_RuntimeModel wfRuntimeModel, WFProcessInstanceEntity processInstanceEntity, WFProcessSchemeEntity processSchemeEntity, WFProcessOperationHistoryEntity processOperationHistoryEntity, WFProcessTransitionHistoryEntity processTransitionHistoryEntity, List <WFDelegateRecordEntity> delegateRecordEntityList)
        {
            IRepository db = this.BaseRepository().BeginTrans();

            try
            {
                if (string.IsNullOrEmpty(processInstanceEntity.Id))
                {
                    processSchemeEntity.Create();
                    db.Insert(processSchemeEntity);

                    processInstanceEntity.Create();
                    processInstanceEntity.Id = wfRuntimeModel.processId;
                    processInstanceEntity.ProcessSchemeId = processSchemeEntity.Id;
                    db.Insert(processInstanceEntity);
                }
                else
                {
                    processInstanceEntity.Modify(processInstanceEntity.Id);
                    db.Update(processSchemeEntity);
                    db.Update(processInstanceEntity);
                }
                processOperationHistoryEntity.Create();
                processOperationHistoryEntity.ProcessId = processInstanceEntity.Id;
                db.Insert(processOperationHistoryEntity);

                if (processTransitionHistoryEntity != null)
                {
                    processTransitionHistoryEntity.Create();
                    processTransitionHistoryEntity.ProcessId = processInstanceEntity.Id;
                    db.Insert(processTransitionHistoryEntity);
                }
                foreach (var item in delegateRecordEntityList)
                {
                    item.Create();
                    item.ProcessId = processInstanceEntity.Id;
                    db.Insert(item);
                }
                //if (processInstanceEntity.FrmType == 0)
                //{
                //    DataBaseLinkEntity dataBaseLinkEntity = dataBaseLinkService.GetEntity(wfRuntimeModel.schemeContentJson.Frm.FrmDbId.Value);//获取
                //    if (wfRuntimeModel.schemeContentJson.Frm.isSystemTable.Value != 0)
                //    {
                //        this.BaseRepository(dataBaseLinkEntity.DbConnection).ExecuteBySql(wfRuntimeModel.sqlFrm);
                //    }
                //}
                db.Commit();
                return(1);
            }
            catch
            {
                db.Rollback();
                throw;
            }
        }
Example #11
0
        /// <summary>
        /// 存储工作流实例进程(编辑草稿用)
        /// </summary>
        /// <param name="processInstanceEntity"></param>
        /// <param name="processSchemeEntity"></param>
        /// <param name="wfOperationHistoryEntity"></param>
        /// <returns></returns>
        public int SaveProcess(string processId, WFProcessInstanceEntity processInstanceEntity, WFProcessSchemeEntity processSchemeEntity, WFProcessOperationHistoryEntity wfOperationHistoryEntity = null)
        {
            IRepository db = this.BaseRepository().BeginTrans();

            try
            {
                if (string.IsNullOrEmpty(processInstanceEntity.Id))
                {
                    processSchemeEntity.Create();
                    db.Insert(processSchemeEntity);

                    processInstanceEntity.Create();
                    processInstanceEntity.Id = processId;
                    processInstanceEntity.ProcessSchemeId = processSchemeEntity.Id;
                    db.Insert(processInstanceEntity);
                }
                else
                {
                    processInstanceEntity.Modify(processId);
                    db.Update(processInstanceEntity);

                    processSchemeEntity.Modify(processInstanceEntity.ProcessSchemeId);
                    db.Update(processSchemeEntity);
                }
                if (wfOperationHistoryEntity != null)
                {
                    wfOperationHistoryEntity.Create();
                    wfOperationHistoryEntity.ProcessId = processId;
                    db.Insert(wfOperationHistoryEntity);
                }
                db.Commit();
                return(1);
            }
            catch
            {
                db.Rollback();
                throw;
            }
        }
        /// <summary>
        /// 存储工作流实例进程(创建实例进程)
        /// </summary>
        /// <param name="wfRuntimeModel"></param>
        /// <param name="processInstanceEntity"></param>
        /// <param name="processSchemeEntity"></param>
        /// <param name="processOperationHistoryEntity"></param>
        /// <param name="delegateRecordEntity"></param>
        /// <returns></returns>
        public int SaveProcess(WF_RuntimeModel wfRuntimeModel, WFProcessInstanceEntity processInstanceEntity, WFProcessSchemeEntity processSchemeEntity, WFProcessOperationHistoryEntity processOperationHistoryEntity, WFProcessTransitionHistoryEntity processTransitionHistoryEntity, List <WFDelegateRecordEntity> delegateRecordEntityList)
        {
            IRepository db = this.BaseRepository().BeginTrans();

            try
            {
                //占用单据号
                coderuleService.UseRuleSeed(OperatorProvider.Provider.Current().LoginInfo.UserId, "", "10007", db);

                if (string.IsNullOrEmpty(processInstanceEntity.Id))
                {
                    processSchemeEntity.Create();
                    db.Insert(processSchemeEntity);

                    processInstanceEntity.Create();
                    processInstanceEntity.Id = wfRuntimeModel.processId;
                    processInstanceEntity.ProcessSchemeId = processSchemeEntity.Id;
                    db.Insert(processInstanceEntity);
                }
                else
                {
                    processInstanceEntity.Modify(processInstanceEntity.Id);
                    db.Update(processSchemeEntity);
                    db.Update(processInstanceEntity);
                }
                processOperationHistoryEntity.Create();
                processOperationHistoryEntity.ProcessId = processInstanceEntity.Id;
                db.Insert(processOperationHistoryEntity);

                if (processTransitionHistoryEntity != null)
                {
                    processTransitionHistoryEntity.Create();
                    processTransitionHistoryEntity.ProcessId = processInstanceEntity.Id;
                    db.Insert(processTransitionHistoryEntity);
                }
                foreach (var item in delegateRecordEntityList)
                {
                    item.Create();
                    item.ProcessId = processInstanceEntity.Id;
                    db.Insert(item);
                }
                if (processInstanceEntity.FrmType == 0)
                {
                    DataBaseLinkEntity dataBaseLinkEntity = dataBaseLinkService.GetEntity(wfRuntimeModel.schemeContentJson.Frm.FrmDbId.Value);//获取
                    if (wfRuntimeModel.schemeContentJson.Frm.isSystemTable.Value != 0)
                    {
                        //是否执行插入数据  外包员工薪资申请流程处理  create by chand 2016-11-29
                        if (processSchemeEntity.WFSchemeInfoId != "3416863b-d5c1-4b31-b59f-e5fd8cd2d5f1")
                        {
                            this.BaseRepository(dataBaseLinkEntity.DbConnection).ExecuteBySql(wfRuntimeModel.sqlFrm);
                        }
                    }
                }
                db.Commit();
                return(1);
            }
            catch
            {
                db.Rollback();
                throw;
            }
        }