Пример #1
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsAsyncRequest)
            {
                if (this.Request.QueryString["flowId"] != null)
                {
                    WorkflowInstance wi = WorkflowInstance.Find(this.Request.QueryString["flowId"]);
                    WorkflowTemplate tp = WorkflowTemplate.Find(wi.WorkflowTemplateID);

                    IList <EasyDictionary> dicts = DataHelper.DataTableToDictList(GetNodes(tp.XAML));
                    this.PageState.Add("FlowEnum", dicts);
                    tasks = Task.FindAll(Expression.Eq(Task.Prop_WorkflowInstanceID, wi.ID), Expression.Not(Expression.Eq("Status", 2))).OrderBy(ens => !ens.FinishTime.HasValue ? DateTime.Now : ens.FinishTime).OrderBy(ens => ens.CreatedTime).ToArray();
                    this.PageState.Add("SysWorkFlowTaskList", tasks);
                }
            }
            if (this.RequestActionString != null && this.RequestActionString == "sendMessage")
            {
                string flowId   = this.RequestData.Get <string>("flowId");
                string taskName = this.RequestData.Get <string>("TaskName");
                if (Task.FindAllByProperties(Task.Prop_WorkflowInstanceID, flowId, Task.Prop_ApprovalNodeName, taskName).Length > 0)
                {
                    Task    task     = Task.FindAllByProperties(Task.Prop_WorkflowInstanceID, flowId, Task.Prop_ApprovalNodeName, taskName)[0];
                    string  userId   = task.OwnerId;
                    string  userName = task.Owner;
                    SysUser user     = SysUser.TryFind(userId);
                    if (userId == this.UserInfo.UserID)
                    {
                        PageState.Add("Message", "您是要催办的审批人,无需给自己发送短信催办!");
                    }
                    else if (user != null && (!string.IsNullOrEmpty(user.Phone) || !string.IsNullOrEmpty(user.Email)))
                    {
                        string method        = this.RequestData.Get <string>("Method").ToLower();
                        string mailTemplate  = SysParameter.FindAllByProperties("Code", "TaskAlertMail")[0].Description;  //{[AuditCount]} {[TaskName]}
                        string phoneTemplate = SysParameter.FindAllByProperties("Code", "TaskAlertPhone")[0].Description; //{[AuditCount]} {[LinkUrl]} {[SysEntry]}

                        string tName      = task.Title;
                        string linkUrl    = task.EFormName;
                        string sysEntry   = SysParameter.FindAllByProperties("Code", "SysEntry2")[0].Description;
                        string auditCount = DataHelper.QueryValue <int>("select count(*) from Task where status='0' and ownerId='" + userId + "'").ToString();

                        string mailContent  = mailTemplate.Replace("{[TaskName]}", tName).Replace("{[AuditCount]}", auditCount).Replace("{[SysEntry]}", sysEntry + task.ID);
                        string phoneContent = phoneTemplate.Replace("{[AuditCount]}", auditCount).Replace("{[TaskName]}", tName).Replace("{[LinkUrl]}", linkUrl).Replace("{[SysEntry]}", sysEntry);
                        //if (!string.IsNullOrEmpty(user.Phone) && method == "phone")
                        //    MessageTool.SendMessage(user.Phone, phoneContent);
                        //if (!string.IsNullOrEmpty(user.Email) && method == "mail")
                        //    MessageTool.SendMessageMail(mailContent, user.Email);
                    }
                    else
                    {
                        PageState.Add("Message", "系统尚未配置相关审批人电话号码及邮箱信息,无法发送短信和邮件!");
                    }
                }
            }
        }
Пример #2
0
        string type = String.Empty; // 对象类型

        #endregion

        #region ASP.NET 事件

        protected void Page_Load(object sender, EventArgs e)
        {
            op = RequestData.Get <string>("op");
            id = RequestData.Get <string>("id") == null?RequestData.Get <string>("Id") : RequestData.Get <string>("id");

            type = RequestData.Get <string>("type");

            WorkflowTemplate ent = null;

            switch (this.RequestAction)
            {
            case RequestActionEnum.Update:
                ent = this.GetMergedData <WorkflowTemplate>();
                ent.DoUpdate();
                this.SetMessage("修改成功!");
                break;

            case RequestActionEnum.Insert:
            case RequestActionEnum.Create:
                ent = this.GetPostedData <WorkflowTemplate>();

                // 设置项目信息
                ent.Creator = UserInfo.Name;
                ent.DoCreate();
                this.SetMessage("新建成功!");
                break;

            case RequestActionEnum.Delete:
                ent = this.GetTargetData <WorkflowTemplate>();
                ent.DoDelete();
                this.SetMessage("删除成功!");
                return;
            }

            if (op != "c" && op != "cs")
            {
                if (!String.IsNullOrEmpty(id))
                {
                    ent = WorkflowTemplate.Find(id);
                }
                this.SetFormData(ent);
            }
            else
            {
                PageState.Add("CreateName", UserInfo.Name);
                PageState.Add("CreateTime", DateTime.Now);
            }
        }