protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                if (!string.IsNullOrEmpty(OrderID))
                {
                    WOrderInfoInfo modelout = BLL.WOrderInfo.Instance.GetWOrderInfoInfo(OrderID);
                    if (modelout != null)
                    {
                        custInfoView.CustID = modelout.CBID;

                        DataTable dtCBInfo = BLL.WOrderInfo.Instance.GetCBInfoByPhone(modelout.CBID, "");
                        if (dtCBInfo != null && dtCBInfo.Rows.Count > 0)
                        {
                            //worderBasicInfo.CustCategoryID = dtCBInfo.Rows[0]["CustCategoryID"].ToString();
                            //worderBasicInfo.WorkOrderID = OrderID;
                        }
                    }
                    custInfoView.CanSeeTelImg    = true;
                    worderBasicInfo.WOrderInfo   = modelout;
                    worderBasicInfo.CanSeeTelImg = true;
                    dealView.OrderId             = OrderID;
                }
            }
        }
Ejemplo n.º 2
0
        /// 保存工单主表信息
        /// <summary>
        /// 保存工单主表信息
        /// </summary>
        /// <param name="jsondata"></param>
        /// <param name="sysinfo"></param>
        private void SaveWOrderMainInfo(WOrderJsonData jsondata, SysRightUserInfo sysinfo)
        {
            WOrderInfoInfo main = new WOrderInfoInfo();

            main.OrderID          = GetNewWOrderID();
            main.CallSource       = (int)jsondata.Common.CallSource_Out;
            main.ModuleSource     = (int)jsondata.Common.ModuleSource_Out;
            main.DataSource       = (int)jsondata.WOrderInfo.DataSource_Out;
            main.WorkOrderStatus  = (int)jsondata.OrderStatus;
            main.CategoryID       = (int)jsondata.WOrderInfo.Category_Out;
            main.ComplaintLevel   = jsondata.WOrderInfo.ComplaintLevel_Out;
            main.BusinessType     = jsondata.WOrderInfo.BusinessType_Out;
            main.BusinessTag      = jsondata.WOrderInfo.BusinessTag_Out;
            main.IsSyncCRM        = jsondata.WOrderInfo.IsSysCRM_Out;
            main.VisitType        = jsondata.WOrderInfo.VisitType_Out;
            main.CBID             = jsondata.CBID;
            main.Phone            = jsondata.CustBaseInfo.Phone_Out;
            main.CRMCustID        = jsondata.CRMCustID_Out;
            main.Content          = jsondata.WOrderInfo.Content_Out;
            main.ContactName      = jsondata.WOrderInfo.ContactName_Out;
            main.ContactTel       = jsondata.WOrderInfo.ContactTel_Out;
            main.LastReceiverID   = null;
            main.BGID             = sysinfo.BGID;
            main.Status           = 0;
            main.CreateUserID     = sysinfo.UserID;
            main.CreateTime       = DateTime.Now;
            main.LastUpdateUserID = sysinfo.UserID;
            main.LastUpdateTime   = DateTime.Now;
            CommonBll.Instance.InsertComAdoInfo(main);
            //存储工单id
            jsondata.WOrderID = main.OrderID;
        }
Ejemplo n.º 3
0
        /// 更新工单状态
        /// <summary>
        /// 更新工单状态
        /// </summary>
        /// <param name="orderid"></param>
        /// <param name="status"></param>
        /// <param name="receiverid"></param>
        /// <param name="loginuserid"></param>
        /// <returns></returns>
        public bool UpdateWOrderInfoStatus(string orderid, int status, int receiverid, int loginuserid)
        {
            WOrderInfoInfo info = GetWOrderInfoInfo(orderid);

            if (info == null)
            {
                return(false);
            }
            info.WorkOrderStatus  = status;
            info.LastReceiverID   = receiverid;
            info.LastUpdateUserID = loginuserid;
            info.LastUpdateTime   = DateTime.Now;
            return(CommonBll.Instance.UpdateComAdoInfo(info));
        }
        /// 工单处理
        /// <summary>
        /// 工单处理
        /// </summary>
        /// <param name="flag"></param>
        /// <param name="msg"></param>
        /// <returns></returns>
        private string SaveProcess(ref bool flag, ref string msg)
        {
            try
            {
                WOrderProcessJsonData jsondata = WOrderProcessJsonData.GetWOrderProcessJsonData(JsonData);
                if (jsondata == null)
                {
                    flag = false;
                    msg  = "参数错误!";
                    return("");
                }
                WOrderInfoInfo             worderinfo = null;
                WOrderOperTypeEnum         oper       = WOrderOperTypeEnum.None;
                WOrderProcessRightJsonData right      = WOrderProcessRightJsonData.GetWOrderProcessRightJsonData(RightData);
                flag = BLL.WOrderProcess.Instance.ValidateWOrderProcessRight(OrderID, ref msg, ref oper, out worderinfo, right);
                if (flag == false)
                {
                    return("");
                }
                int loginuserid          = BLL.Util.GetLoginUserID();
                SysRightUserInfo sysinfo = BLL.EmployeeSuper.Instance.GetSysRightUserInfo(loginuserid);
                if (sysinfo == null)
                {
                    flag = false;
                    msg  = "获取不到当前登录人信息!";
                    return("");
                }
                //处理工单
                BLL.WOrderProcess.Instance.WOrderProcessMain(jsondata, sysinfo, oper, worderinfo);

                flag = true;
                msg  = "";
                return(BLL.Util.GetEnumOptText(typeof(WOrderOperTypeEnum), (int)oper));
            }
            catch (Exception ex)
            {
                WOrderInfo.ErrorToLog4("工单处理", ex);
                flag = false;
                msg  = ex.Message;
                return("");
            }
        }
Ejemplo n.º 5
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                if (!string.IsNullOrEmpty(OrderID))
                {
                    WOrderInfoInfo modelout = BLL.WOrderInfo.Instance.GetWOrderInfoInfo(OrderID);
                    if (modelout != null)
                    {
                        ucCustInfoView.CustID       = modelout.CBID;
                        ucCustInfoView.Telphone     = modelout.Phone_Value;
                        ucCustInfoView.CanSeeTelImg = false;

                        ucWOrderBasicInfo.WOrderInfo     = modelout;
                        ucWOrderBasicInfo.CustCategoryID = ucCustInfoView.CustType;
                        ucWOrderBasicInfo.CanSeeTelImg   = false;

                        string orderStateName = BLL.Util.GetEnumOptText(typeof(Entities.WorkOrderStatus), (int)modelout.WorkOrderStatus_Value);
                        if (orderStateName == "待审核" || orderStateName == "已完成")
                        {
                            ucWOrderDealView.Visible = false;
                        }
                        else
                        {
                            ucWOrderDealView.OrderId = OrderID;
                        }
                    }
                    else
                    {
                        BLL.Util.CloseCurrentPageAfterAlert(Response, "获取不到此工单信息!");
                    }
                }
                else
                {
                    BLL.Util.CloseCurrentPageAfterAlert(Response, "传入参数错误!");
                }
            }
        }
Ejemplo n.º 6
0
 /// 处理权限验证
 /// <summary>
 /// 处理权限验证
 /// </summary>
 /// <param name="orderid"></param>
 /// <param name="message"></param>
 /// <param name="oper"></param>
 /// <param name="info"></param>
 /// <returns></returns>
 public bool ValidateWOrderProcessRight(string orderid, ref string message, ref WOrderOperTypeEnum oper, out WOrderInfoInfo info, WOrderProcessRightJsonData right)
 {
     message = "";
     oper    = WOrderOperTypeEnum.None;
     info    = null;
     if (string.IsNullOrEmpty(orderid))
     {
         message = "传入参数工单ID不正确!";
         return(false);
     }
     info = BLL.WOrderInfo.Instance.GetWOrderInfoInfo(orderid);
     if (info == null)
     {
         message = "查不到对应的工单数据!";
         return(false);
     }
     oper = ValidateWOrderProcessRight(orderid, info.WorkOrderStatus_Value, info.LastReceiverID_Value, info.CreateUserID_Value, ref message, right);
     return(oper != WOrderOperTypeEnum.None);
 }
Ejemplo n.º 7
0
 /// 发送邮件给接收人和抄送人
 /// <summary>
 /// 发送邮件给接收人和抄送人
 /// </summary>
 /// <param name="jsondata"></param>
 /// <param name="sysinfo"></param>
 /// <param name="worderinfo"></param>
 public void SendEMail(WOrderProcessJsonData jsondata, SysRightUserInfo sysinfo, WOrderInfoInfo worderinfo)
 {
     try
     {
         //状态校验
         WorkOrderStatus status = (WorkOrderStatus)worderinfo.WorkOrderStatus_Value;
         if (status == WorkOrderStatus.Pending || status == WorkOrderStatus.Processing || status == WorkOrderStatus.Untreated)
         {
             //查询邮件地址
             string[] ccUserID = jsondata.Recevicer.Select(x => x.UserID_Out.ToString()).ToArray();
             string[] toUserID = jsondata.ExtendRecev.Select(x => x.UserID_Out.ToString()).ToArray();
             List <SysRightUserInfo> cc_sysinfos = BLL.EmployeeSuper.Instance.GetSysRightUserInfo(string.Join(",", ccUserID));
             List <SysRightUserInfo> to_sysinfos = BLL.EmployeeSuper.Instance.GetSysRightUserInfo(string.Join(",", toUserID));
             //邮箱
             string[] cc_email = cc_sysinfos.Where(x => !string.IsNullOrEmpty(x.Email)).Select(x => x.Email).ToArray();
             string[] to_email = to_sysinfos.Where(x => !string.IsNullOrEmpty(x.Email)).Select(x => x.Email).ToArray();
             //查询个人用户信息
             CustTypeEnum ctype = CustTypeEnum.T01_个人;
             DataTable    dt    = BLL.WOrderInfo.Instance.GetCBInfoByPhone(worderinfo.CBID_Value, "");
             if (dt != null && dt.Rows.Count > 0)
             {
                 ctype = (CustTypeEnum)CommonFunction.ObjectToInteger(dt.Rows[0]["CustCategoryID"]);
             }
             //获取工单类型
             WOrderCategoryEnum wtype = (WOrderCategoryEnum)worderinfo.CategoryID_Value;
             //测试数据
             //cc_email = new string[] { "*****@*****.**", "*****@*****.**", "*****@*****.**", "*****@*****.**" };
             //to_email = new string[] { "*****@*****.**", "*****@*****.**", "*****@*****.**", "*****@*****.**" };
             //邮件正文1
             string body1 = "你有一张<strong style='color:red;'>" + BLL.Util.GetEnumOptText(typeof(CustTypeEnum), (int)ctype) +
                            BLL.Util.GetEnumOptText(typeof(WOrderCategoryEnum), (int)wtype) + "</strong>工单!";
             //邮件正文2
             string body2 = worderinfo.Content_Value;
             //cc系统地址
             string weburl = BitAuto.Utils.Config.ConfigurationUtil.GetAppSettingValue("ExitAddress");
             //发邮件
             if (cc_email.Length > 0)
             {
                 WOrderInfo.LogToLog4("工单处理发送邮件:接收人" + string.Join(";", cc_email));
                 string title = "您有一张工单[" + worderinfo.OrderID_Value + "]待处理";
                 string a     = "<a href='" + weburl + "/WOrderV2/WOrderProcess.aspx?OrderID=" + worderinfo.OrderID_Value + "'>工单处理</a>";
                 EmailHelper.Instance.SendMail(title, cc_email, new string[] { body1, body2, a }, "WOrderV2");
             }
             if (to_email.Length > 0)
             {
                 WOrderInfo.LogToLog4("工单处理发送邮件:抄送人" + string.Join(";", to_email));
                 string title = "您有一张工单[" + worderinfo.OrderID_Value + "]待查看";
                 string a     = "<a href='" + weburl + "/WOrderV2/WorkOrderView.aspx?OrderID=" + worderinfo.OrderID_Value + "'>工单查看</a>";
                 EmailHelper.Instance.SendMail(title, to_email, new string[] { body1, body2, a }, "WOrderV2");
             }
         }
     }
     catch (Exception ex)
     {
         WOrderInfo.ErrorToLog4("工单处理发送邮件异常", ex);
     }
 }
Ejemplo n.º 8
0
        /// 发送邮件给接收人和抄送人
        /// <summary>
        /// 发送邮件给接收人和抄送人
        /// </summary>
        /// <param name="jsondata"></param>
        /// <param name="sysinfo"></param>
        /// <param name="worderinfo"></param>
        public void SendEMailAsync(WOrderProcessJsonData jsondata, SysRightUserInfo sysinfo, WOrderInfoInfo worderinfo)
        {
            Action <WOrderProcessJsonData, SysRightUserInfo, WOrderInfoInfo> action = new Action <WOrderProcessJsonData, SysRightUserInfo, WOrderInfoInfo>(SendEMail);

            action.BeginInvoke(jsondata, sysinfo, worderinfo, null, null);
        }
Ejemplo n.º 9
0
 /// 保存工单主表
 /// <summary>
 /// 保存工单主表
 /// </summary>
 /// <param name="jsondata"></param>
 /// <param name="sysinfo"></param>
 /// <param name="worderinfo"></param>
 public void SaveWOrderInfo(WOrderProcessJsonData jsondata, SysRightUserInfo sysinfo, WOrderInfoInfo worderinfo)
 {
     worderinfo.WorkOrderStatus  = (int)jsondata.WorkOrderStatus_Out;
     worderinfo.LastReceiverID   = jsondata.ProcessID;
     worderinfo.LastUpdateTime   = DateTime.Now;
     worderinfo.LastUpdateUserID = sysinfo.UserID;
     CommonBll.Instance.UpdateComAdoInfo(worderinfo);
 }
Ejemplo n.º 10
0
 /// 工单处理
 /// <summary>
 /// 工单处理
 /// </summary>
 /// <param name="jsondata"></param>
 /// <param name="sysinfo"></param>
 public void WOrderProcessMain(WOrderProcessJsonData jsondata, SysRightUserInfo sysinfo, WOrderOperTypeEnum oper, WOrderInfoInfo worderinfo)
 {
     //保存工单处理记录
     SaveWOrderProcess(jsondata, sysinfo, oper, worderinfo.OrderID_Value);
     //保存工单附件
     SaveCommonAttachment(jsondata, sysinfo);
     //保存工单话务
     SaveWOrderData(jsondata, sysinfo, worderinfo.OrderID_Value);
     //保存接收抄送人
     SaveToAndCC(jsondata, sysinfo, worderinfo.OrderID_Value);
     //保存工单主表状态+处理id
     SaveWOrderInfo(jsondata, sysinfo, worderinfo);
     //发送邮件-异步
     SendEMail(jsondata, sysinfo, worderinfo);
 }