예제 #1
0
 void AdviceEditorProvider_OnCommandComplete(object sender, We7.Model.Core.ModelEventArgs args)
 {
     if (txtPwd != null && mvAdvice != null)
     {
         mvAdvice.ActiveViewIndex = 1;
         string id = args.PanelContext.Row["ID"] as string;
         if (!String.IsNullOrEmpty(id))
         {
             Advice advice = AdviceHelper.GetAdvice(id, null);
             lblPwd.Text = advice.MyQueryPwd;
             lblSN.Text  = advice.SN.ToString();
             AdviceID    = id;
         }
     }
     else if (lblSN != null)
     {
         mvAdvice.ActiveViewIndex = 1;
         string id = args.PanelContext.Row["ID"] as string;
         if (!String.IsNullOrEmpty(id))
         {
             Advice advice = AdviceHelper.GetAdvice(id, null);
             lblSN.Text = advice.SN.ToString();
             AdviceID   = id;
         }
     }
     else
     {
         Alert("提交成功");
     }
 }
예제 #2
0
        /// <summary>
        /// 上报审核
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void AuditReportButton_Click(object sender, EventArgs e)
        {
            UserIDTextBox.Text = "";
            Advice a       = AdviceHelper.GetAdvice(AdviceID);
            bool   success = false;

            if (a.State == (int)AdviceState.WaitHandle)
            {
                success = OperationInfo(AdviceState.Checking, "1", true);
            }
            else
            {
                success = OperationInfo(AdviceState.Checking);
            }

            if (success)
            {
                Messages.ShowMessage(" :) 上报审核成功!");
                //记录日志
                string content = string.Format("上报审核了留言反馈:“{0}”的详细信息", AdviceID);
                AddLog("留言反馈详细信息", content);
            }

            Initialize();
        }
예제 #3
0
        /// <summary>
        /// 审核
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        //protected void SubmitBtn_Click(object sender, EventArgs e)
        //{
        //    List<string> list = new List<string>();
        //    list = GetIDs();
        //    int count = 0;
        //    if (list.Count > 0)
        //    {
        //        foreach (string id in list)
        //        {
        //            try
        //            {
        //                //ArticleProcessHelper.UpdateArticleProcess(id, AccountID);
        //                InsertArticleProcessHistory(id, "");
        //                Advice a = AdviceHelper.GetAdvice(id);
        //                string oldProcessState = a.ProcessState;
        //                int processState = Int32.Parse(a.ProcessState) + 1;
        //                string processStates = processState.ToString();
        //                AdviceHelper.UpdateAdviceProcess(id, processStates, AdviceState.Checking);

        //                Processing ap = ArticleProcessHelper.GetArticleProcess(id);
        //                GeneralConfigInfo si = GeneralConfigs.GetConfig();

        //               if (oldProcessState == GetChannelProcessLayerNO(id))
        //                {
        //                    //ArticleProcessHelper.DelArticleProcess(id);

        //                    if (si.ArticleAutoPublish == "true")
        //                    {
        //                        Advice advice = new Advice();
        //                        advice.ID = id;
        //                        advice.State = 1;
        //                        string[] fields = new string[] { "ID", "State" };
        //                        AdviceHelper.UpdateAdvice(advice,fields);
        //                    }
        //                }
        //                count++;
        //            }
        //            catch
        //            { }
        //        }
        //    }
        //    string message = string.Format("您已经成功审核{0}条记录", count);
        //    Messages.ShowMessage(message);
        //    LoadArticles();
        //}

        //void InsertArticleProcessHistory(string id ,string state)
        //{
        //    Processing ap = ArticleProcessHelper.GetArticleProcess(id);
        //    ProcessHistory aph = new ProcessHistory();
        //    aph.ObjectID = ap.ObjectID;
        //    if (state == "")
        //    {
        //        aph.ToProcessState = ap.CurLayerNO;
        //    }
        //    else
        //    {
        //        aph.ToProcessState = "-1";
        //    }
        //    aph.ProcessDirection = ap.ProcessDirection;
        //    aph.ProcessAccountID = ap.ProcessAccountID;
        //    aph.Remark = ap.Remark;
        //    aph.CreateDate = DateTime.Now;
        //    aph.UpdateDate = DateTime.Now;
        //    ArticleProcessHistoryHelper.InsertAdviceProcessHistory(aph);
        //}
        /// <summary>
        /// 退回
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        //protected void UntreadBtn_Click(object sender, EventArgs e)
        //{
        //    List<string> list = new List<string>();
        //    list = GetIDs();
        //    int count = 0;
        //    if (list.Count > 0)
        //    {
        //        foreach (string id in list)
        //        {
        //            try
        //            {
        //                Advice a = AdviceHelper.GetAdvice(id);
        //                int processState = Int32.Parse(a.ProcessState)-1;
        //                string processStates = processState.ToString();
        //                AdviceState state = AdviceState.Checking;
        //                if (processState == 0) state = AdviceState.All;
        //                AdviceHelper.UpdateAdviceProcess(id, processStates, state);

        //                Processing ap = new Processing();
        //                ap = ArticleProcessHelper.GetArticleProcess(id);
        //                if (ap.CurLayerNO == "0")
        //                {
        //                    InsertArticleProcessHistory(id,"-1");
        //                    //ArticleProcessHelper.DelArticleProcess(id);
        //                }
        //                else
        //                {
        //                    ArticleProcessHelper.UntreadArticleProcess(id, AccountID);
        //                    InsertArticleProcessHistory(id,"");
        //                }
        //                count++;
        //            }
        //            catch
        //            { }
        //        }
        //    }
        //    string message = string.Format("您已经成功退回{0}条记录", count);
        //    Messages.ShowMessage(message);
        //    LoadArticles();
        //}

        /// <summary>
        /// 审核状态
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public string GetProcessState(string id)
        {
            Advice     a           = AdviceHelper.GetAdvice(id);
            Processing ap          = ProcessHelper.GetAdviceProcess(a);
            string     processText = "";

            if (ap != null)
            {
                processText = ap.ProcessDirectionText + ap.ProcessText;
            }
            return(processText);
        }
예제 #4
0
        public override bool Update(We7.Model.Core.PanelContext data)
        {
            string id     = GetValue <string>(data, "ID");
            Advice advice = AdviceHelper.GetAdvice(id);

            if (advice == null)
            {
                Insert(data);
            }
            else
            {
                advice.Title   = GetValue <string>(data, "Title");
                advice.UserID  = GetValue <string>(data, "UserID");
                advice.Content = GetValue <string>(data, "Content");
                advice.Updated = DateTime.Now;
                advice.Name    = GetValue <string>(data, "Name");
                advice.Email   = GetValue <string>(data, "Email");
                advice.Address = GetValue <string>(data, "Address");
                advice.Phone   = GetValue <string>(data, "Phone");
                advice.Fax     = GetValue <string>(data, "Fax");

                int isshow;
                Int32.TryParse(GetValue <string>(data, "IsShow"), out isshow);
                string stateStr = StateMgr.StateProcess(advice.EnumState, EnumLibrary.Business.AdviceDisplay, isshow);
                advice.IsShow    = isshow;
                advice.EnumState = stateStr;

                advice.Display1 = GetValue <string>(data, "Display1");
                advice.Display2 = GetValue <string>(data, "Display2");
                advice.Display3 = GetValue <string>(data, "Display3");

                //下面是添加模型信息
                string config, schema;
                advice.ModelXml    = GetModelDataXml(data, advice.ModelXml, out schema, out config);//获取模型数据
                advice.ModelConfig = config;
                advice.ModelName   = data.ModelName;
                advice.ModelSchema = schema;
                advice.TypeID      = data.Objects["AdviceTypeID"] as string;

                List <string> udpatedFields = new List <string>()
                {
                    "ModelXml", "ModelName", "ModelSchema", "TypeID", "Title", "UserID", "Content", "Updated", "Name", "Email", "Phone", "Address", "Fax", "Display1", "Display2", "Display3"
                };
                if (!String.IsNullOrEmpty(GetValue <string>(data, "IsShow")))
                {
                    udpatedFields.Add("IsShow");
                }

                AdviceHelper.UpdateAdvice(advice, udpatedFields.ToArray());
                SetValue(data, "ID", advice.ID);
            }
            return(true);
        }
예제 #5
0
        string GetChannelProcessLayerNO(string id)
        {
            string     adviceTypeID = AdviceHelper.GetAdvice(id).TypeID;
            AdviceType adviceType   = AdviceTypeHelper.GetAdviceType(adviceTypeID);

            if (adviceType.FlowSeries != null)
            {
                return(adviceType.FlowSeries.ToString());
            }
            else
            {
                return("");
            }
        }
예제 #6
0
        /// <summary>
        /// 将错误邮件手动的对应到反馈信息上
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void AdviceBtn_Click(object sender, EventArgs e)
        {
            string adviceID = AdviceIDTextBox.Text;

            if (adviceID != null && adviceID != "")
            {
                Advice advice = AdviceHelper.GetAdvice(adviceID);
                OperationInfo(advice.ID);

                string xmlTitle = FileName;
                string root     = Server.MapPath("/_Data/ErrorEmail/");
                File.Delete(root + xmlTitle);
                Messages.ShowMessage("您已成功将邮件对应到【" + advice.Title + "】的回复中。");
            }
        }
예제 #7
0
        void InsertArticleProcessHistory(string id)
        {
            Advice         a   = AdviceHelper.GetAdvice(id);
            Processing     ap  = ProcessHelper.GetAdviceProcess(a);
            ProcessHistory aph = new ProcessHistory();

            aph.ObjectID         = ap.ObjectID;
            aph.ToProcessState   = ap.CurLayerNO;
            aph.ProcessDirection = ap.ProcessDirection;
            aph.ProcessAccountID = ap.ProcessAccountID;
            aph.Remark           = ap.Remark;
            aph.CreateDate       = DateTime.Now;
            aph.UpdateDate       = DateTime.Now;
            ProcessHistoryHelper.InsertAdviceProcessHistory(aph);
        }
예제 #8
0
        /// <summary>
        /// 必须办理回复事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void MustHandleButton_Click(object sender, EventArgs e)
        {
            List <string> adviceIDs = GetIDs();
            int           count     = 0;

            foreach (string adviceID in adviceIDs)
            {
                Advice advice = AdviceHelper.GetAdvice(adviceID);
                advice.MustHandle = 1;
                string[] fields = new string[] { "MustHandle" };
                AdviceHelper.UpdateAdvice(advice, fields);
                count++;
            }
            CurrentQuery = CreateQuery();
            LoadAdvices();
            Messages.ShowMessage(string.Format("您已经成功将{0}条反馈信息追加为 必须回复。", count.ToString()));
        }
예제 #9
0
        void InitControls()
        {
            SignPanelDiv.Visible = false;
            string curLayerNOText = "";

            if (!IsAdivice)
            {
                curLayerNOText = ProcessHelper.GetCurLayerNOText(ObjectID);
            }
            else
            {
                curLayerNOText = ProcessHelper.GetCurLayerNOAdviceText(ObjectID);
            }

            if (curLayerNOText != "") //文章当前审批进程:类似 Channel.FirstAudit
            {
                string channelID = "";
                if (!IsAdivice)
                {
                    channelID = ArticleHelper.GetArticle(ObjectID).OwnerID;
                }
                else
                {
                    channelID = AdviceHelper.GetAdvice(ObjectID).TypeID;
                }

                List <string> contents = AccountHelper.GetPermissionContents(AccountID, channelID);
                if (contents.Contains(curLayerNOText))
                {
                    ApproveDate.Text = DateTime.Now.ToString("yyyy年MM月dd日");
                    ApproveName.Text = AccountHelper.GetAccount(AccountID, new string[] { "LastName" }).LastName;
                    if (!IsAdivice)
                    {
                        Article article = ArticleHelper.GetArticle(ObjectID);
                        SummaryLabel.Text = "审核路径:" + ProcessingHelper.CreateArticleFlowPathHtml(article, TargetSites);
                    }
                    else
                    {
                        Advice advice = AdviceHelper.GetAdvice(ObjectID);
                        SummaryLabel.Text = "审核路径:" + ProcessingHelper.CreateAdviceFlowPathHtml(advice, TargetSites);
                    }
                    SignPanelDiv.Visible = true;
                }
            }
        }
예제 #10
0
        protected void UnControlDisplayButton_Click(object sender, EventArgs e)
        {
            List <string> adviceIDs = GetIDs();
            int           count     = 0;

            foreach (string adviceID in adviceIDs)
            {
                Advice advice   = AdviceHelper.GetAdvice(adviceID);
                int    state    = (int)EnumLibrary.AdviceDisplay.DefaultDisplay;
                string stateStr = StateMgr.StateProcess(advice.EnumState, EnumLibrary.Business.AdviceDisplay, state);
                advice.EnumState = stateStr;
                string[] fields = new string[] { "EnumState" };
                AdviceHelper.UpdateAdvice(advice, fields);
                count++;
            }
            CurrentQuery = CreateQuery();
            LoadAdvices();
            Messages.ShowMessage(string.Format("您已经成功将{0}条反馈信息追加为 前台显示不控制。", count.ToString()));
        }
예제 #11
0
 /// <summary>
 /// 绑定前台模型名称
 /// </summary>
 /// <param name="id"></param>
 /// <returns></returns>
 public string GetAdviceText(string id)
 {
     if (id != null && id != "")
     {
         string typeID = AdviceHelper.GetAdvice(id).TypeID;
         if (typeID != null && typeID != "")
         {
             return(AdviceTypeHelper.GetAdviceType(typeID).Title.ToString());
         }
         else
         {
             return("");
         }
     }
     else
     {
         return("");
     }
 }
예제 #12
0
        /// <summary>
        /// 处理流转
        /// </summary>
        void HandleProcessAction()
        {
            ProcessAction action = ProcessAction.Next;

            if (ActionTextBox.Text != "")
            {
                action = (ProcessAction)int.Parse(ActionTextBox.Text);
            }
            Object oldObject   = null;
            bool   dataSuccess = true;

            if (!IsAdivice)
            {
                oldObject = ArticleHelper.GetArticle(ObjectID);
                Article oa = new Article();
                oa     = (Article)oldObject;
                action = UpdateArticleProcessState(action, oa);
                Article a = ArticleHelper.GetArticle(ObjectID);
                dataSuccess = TransferSitesFlow(action, a);
            }
            else
            {
                oldObject = AdviceHelper.GetAdvice(ObjectID);
                Advice a = new Advice();
                a = (Advice)oldObject;
                UpdateAdviceProcessState(action, a);
                dataSuccess = true;
            }

            if (!dataSuccess)
            {
                RollBackProcessState(oldObject);
                Messages.ShowError("无法完成操作!跨站数据传递时出现错误。");
            }
            else
            {
                Messages.ShowMessage("您的操作已成功执行!");
                SignPanelDiv.Visible = false;
                ProcessHistoryList1.Binding();
            }
        }
예제 #13
0
        public string GetProcessState(string id)
        {
            Advice a = AdviceHelper.GetAdvice(id);

            if (a == null)
            {
                return("");
            }
            Processing ap          = ArticleProcessHelper.GetAdviceProcess(a);
            string     processText = "";

            if (ap != null && ap.ProcessState != ProcessStates.Finished)
            {
                processText = ap.ProcessDirectionText + ap.ProcessText;
            }
            else
            {
                processText = ap.ProcessText;
            }
            return(processText);
        }
예제 #14
0
        public override System.Data.DataRow Get(We7.Model.Core.PanelContext data)
        {
            DataRow row = null;
            string  id  = data.DataKey["ID"] as string;

            if (!String.IsNullOrEmpty(id))
            {
                Advice advice = AdviceHelper.GetAdvice(id);
                if (advice != null && !String.IsNullOrEmpty(advice.ModelXml))
                {
                    DataSet ds = CreateDataSet(data.Model);
                    ReadXml(ds, advice.ModelXml);
                    row = ds.Tables[0].Rows.Count > 0 ? ds.Tables[0].Rows[0] : null;
                    if (row != null)
                    {
                        row[OBJECTCOLUMN] = advice;
                    }
                }
            }
            return(row);
        }
예제 #15
0
        /// <summary>
        /// 催办
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void HastenButton_Click(object sender, EventArgs e)
        {
            List <string> adviceIDs    = GetIDs();
            int           count        = 0;
            List <string> adviceIDList = new List <string>();

            foreach (string adviceID in adviceIDs)
            {
                Advice advice = AdviceHelper.GetAdvice(adviceID);
                if (advice.MustHandle == 1)
                {
                    advice.MustHandle = 2;
                    string[] fields = new string[] { "MustHandle" };
                    adviceIDList.Add(adviceID);
                    AdviceHelper.UpdateAdvice(advice, fields);
                    count++;
                }
            }
            CurrentQuery = CreateQuery();
            LoadAdvices();
            Messages.ShowMessage(string.Format("您已经成功将{0}条反馈信息进行了 催促办理。", count.ToString()));
        }
예제 #16
0
        /// <summary>
        /// 操作信息
        /// </summary>
        /// <returns></returns>
        protected void OperationInfo(string adviceID)
        {
            try
            {
                AdviceReply adviceReply = new AdviceReply();
                adviceReply.AdviceID = adviceID;
                adviceReply.Content  = ReplayContent.InnerHtml;
                adviceReply.UserID   = AccountID;
                adviceReply.Title    = EmailTitleLabel.Text;
                adviceReply.MailBody = InfoRawManage.InnerText;
                AdviceReplyHelper.AddAdviceReply(adviceReply);
                AdviceHelper.UpdateAdviceType(adviceID, (int)AdviceState.Finished);

                Advice a = AdviceHelper.GetAdvice(adviceID);
                if (a.State == (int)AdviceState.Checking)
                {
                    AdviceHelper.UpdateAdviceProcess(adviceID, "1", AdviceState.Checking);
                    Processing ap = ProcessHelper.CreateAdviceProcess(adviceID, AccountID);
                    ProcessHelper.UpdateAdviceProcess(ap, a);
                    InsertArticleProcessHistory(adviceID);
                }
                else if (a.State == (int)AdviceState.Checking && a.ProcessState == ((int)ProcessStates.Unaudit).ToString())
                {
                    AdviceHelper.UpdateAdviceProcess(adviceID, ((int)ProcessStates.FirstAudit).ToString(), AdviceState.Checking);
                    Processing ap = ProcessHelper.GetAdviceProcess(a);
                    ap.CurLayerNO       = "1";
                    ap.ProcessAccountID = AccountID;
                    ap.ProcessDirection = "1";
                    ap.Remark           = ReplayContent.InnerText;
                    ProcessHelper.UpdateAdviceProcess(ap, a);
                    InsertArticleProcessHistory(adviceID);
                }
            }
            catch (Exception)
            {
                Messages.ShowMessage(" :( 信息操作失败!");
            }
        }
예제 #17
0
        /// <summary>
        /// 操作信息
        /// </summary>
        /// <returns></returns>
        protected bool OperationInfo(AdviceState state, string direction, bool saveReply)
        {
            try
            {
                AdviceType adviceType = AdviceTypeHelper.GetAdviceType(AdviceTypeID);
                Advice     a          = ThisAdvice;

                //处理反馈回复信息
                AdviceReply adviceReply = null;
                if (saveReply)
                {
                    adviceReply            = new AdviceReply();
                    adviceReply.AdviceID   = AdviceID;
                    adviceReply.Content    = We7Helper.ConvertPageBreakFromVisualToChar(ReplyContentTextBox.Value);
                    adviceReply.Suggest    = ToAdviceTextBox.Text;
                    adviceReply.UserID     = AccountID;
                    adviceReply.CreateDate = DateTime.Now;
                    adviceReply.Updated    = DateTime.Now;

                    //增加回复数
                    a.ReplyCount += 1;
                }

                //更新反馈信息
                a.Updated      = DateTime.Now;
                a.ToHandleTime = DateTime.Now;
                if (UserIDTextBox.Text.Trim() != "")
                {
                    a.ToOtherHandleUserID = UserIDTextBox.Text.ToString();
                }
                else
                {
                    a.ToOtherHandleUserID = AccountID;
                }
                a.State = (int)state;

                //处理反馈进度
                Advice     oldAdvice = AdviceHelper.GetAdvice(AdviceID);
                Processing ap        = ProcessHelper.GetAdviceProcess(oldAdvice);
                ap.UpdateDate       = DateTime.Now;
                ap.ProcessAccountID = AccountID;
                ap.ApproveName      = AccountHelper.GetAccount(AccountID, new string[] { "LastName" }).LastName;
                ap.ProcessDirection = direction.ToString();
                ap.Remark           = ToAdviceTextBox.Text;
                if (state == AdviceState.WaitHandle)
                {
                    a.ProcessState = ((int)state).ToString();
                    string myText   = "请 {0} 办理一下反馈“{1}”。";
                    string userName = AccountHelper.GetAccount(UserIDTextBox.Text, new string[] { "LastName" }).LastName;
                    ap.Remark = string.Format(myText, userName, a.Title) + "<br>" + ap.Remark;
                }
                switch (state)
                {
                case AdviceState.All:
                    break;

                case AdviceState.WaitAccept:
                case AdviceState.WaitHandle:
                case AdviceState.Finished:
                    break;

                case AdviceState.Checking:
                    int auditLevel = 0;
                    if (We7Helper.IsNumber(a.ProcessState))
                    {
                        auditLevel = int.Parse(a.ProcessState);
                    }
                    if (auditLevel < 0)
                    {
                        auditLevel = 0;
                    }
                    auditLevel += 1;
                    if (auditLevel > adviceType.FlowSeries)
                    {
                        a.ProcessState = ((int)AdviceState.Finished).ToString();
                        a.State        = (int)AdviceState.Finished;
                        a.MustHandle   = 0;
                    }
                    else
                    {
                        a.ProcessState = auditLevel.ToString();
                    }
                    break;

                default:
                    break;
                }
                ap.CurLayerNO  = a.ProcessState;
                ap.AdviceState = (AdviceState)a.State;

                AdviceHelper.OperationAdviceInfo(adviceReply, oldAdvice, ap);
                if (state == AdviceState.WaitHandle)
                {
                    AdviceHelper.UpdateAdvice(a, new string[] { "ToHandleTime", "ToOtherHandleUserID" });
                }

                if (state == AdviceState.Finished)
                {
                    AdviceEmailConfigs    adviceEmailConfigs = new AdviceEmailConfigs();
                    AdviceEmailConfigInfo info = adviceEmailConfigs["ReplyUser"];
                    AdviceHelper.SendResultMailToAdvicer(a, adviceReply, adviceType, info);
                }
                return(true);
            }
            catch (Exception ex)
            {
                Messages.ShowError(" 信息操作失败!原因:" + ex.Message);
                return(false);
            }
        }