/// <summary>
 /// 根据工单ID取客户ID
 /// </summary>
 /// <param name="WorkOrderID"></param>
 /// <returns></returns>
 public string GetCustIDByWorkOrderTel(Entities.WorkOrderInfo model)
 {
     if (model == null)
     {
         return("");
     }
     return(Dal.WorkOrderInfo.Instance.GetCustIDByWorkOrderID(model.OrderID));
     //return BLL.CustBasicInfo.Instance.GetMaxNewCustBasicInfoByTel(model.ContactTel);
 }
        /// <summary>
        /// 增加一条数据
        /// </summary>
        public string Insert(Entities.WorkOrderInfo model)
        {
            //工单表增加两个字段,BGID和SCID 为了减少修改地方直接在Insert方法中添加 lxw 13-10-11
            int loginID = Util.GetLoginUserID();

            model.BGID = SurveyCategory.Instance.GetSelfBGIDByUserID(loginID);
            model.SCID = SurveyCategory.Instance.GetSelfSCIDByUserID(loginID);

            return(Dal.WorkOrderInfo.Instance.Insert(model));
        }
Beispiel #3
0
        private void bindData()
        {
            if (!string.IsNullOrEmpty(OrderID))
            {
                Entities.WorkOrderInfo model = BLL.WorkOrderInfo.Instance.GetWorkOrderInfo(OrderID);
                if (model != null)
                {
                    modelInfo                  = model;
                    hlRelateDemand.Text        = model.DemandID == null ? "" : model.DemandID;
                    hlRelateDemand.NavigateUrl = ConfigurationManager.AppSettings["DemandDetailsUrl"] + "?DemandID=" + model.DemandID + "&r=" + new Random().Next();
                    hlRelateDemand.Target      = "_blank";

                    crmCustID   = model.CRMCustID;
                    crmCustName = model.CustName;
                    contact     = model.Contact;

                    if (string.IsNullOrEmpty(hlRelateDemand.Text))
                    {
                        ulReturn.Visible = false;
                    }
                    else
                    {
                        ulReturn.Visible = true;
                    }

                    dataSource = BLL.Util.GetEnumOptText(typeof(Entities.WorkOrderDataSource), (int)model.DataSource);

                    DataTable dt_Revert = BLL.WorkOrderRevert.Instance.GetWorkOrderRevertByOrderID(model.OrderID, " w.CreateTime Asc ");
                    if (dt_Revert != null && dt_Revert.Rows.Count > 0)
                    {
                        string pName  = string.Empty;
                        string cName  = string.Empty;
                        string ctName = string.Empty;
                        if (!string.IsNullOrEmpty(dt_Revert.Rows[0]["ProvinceName"].ToString()))
                        {
                            pName = dt_Revert.Rows[0]["ProvinceName"].ToString();
                        }
                        if (!string.IsNullOrEmpty(dt_Revert.Rows[0]["CityName"].ToString()))
                        {
                            cName = dt_Revert.Rows[0]["CityName"].ToString();
                        }
                        if (!string.IsNullOrEmpty(dt_Revert.Rows[0]["CountyName"].ToString()))
                        {
                            ctName = dt_Revert.Rows[0]["CountyName"].ToString();
                        }
                        if (pName != string.Empty)
                        {
                            custArea = pName + " " + cName + " " + ctName;
                        }
                    }
                }
            }
        }
Beispiel #4
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                CheckProcessRight();
                //判断是否登录
                if (!BitAuto.YanFa.SysRightManager.Common.UserInfo.IsLogin())
                {
                    string CrmLoginURL = System.Configuration.ConfigurationManager.AppSettings["SysUrl"];
                    string CCLoginURL  = System.Configuration.ConfigurationManager.AppSettings["ExitAddress"];

                    string redirectURL = "http://" + CrmLoginURL + "?gourl=" + CCLoginURL + "/WorkOrder/SalesProcess.aspx?OrderID=" + OrderID;
                    //验证失败
                    Response.Redirect(redirectURL);
                }

                userid = BLL.Util.GetLoginUserID();
                Entities.WorkOrderInfo workorderinfo = null;
                if (!string.IsNullOrEmpty(OrderID))
                {
                    workorderinfo = BLL.WorkOrderInfo.Instance.GetWorkOrderInfo(OrderID);
                    if ((workorderinfo != null && workorderinfo.ReceiverID != userid) && Requester != "intelligentplatform")
                    {
                        Response.Write("您不是该工单的接收人,没有访问该页面的权限");
                        Response.End();
                    }
                }
                BGID     = BLL.SurveyCategory.Instance.GetSelfBGIDByUserID(userid); //登陆者所在业务组ID
                SCID     = BLL.SurveyCategory.Instance.GetSelfSCIDByUserID(userid); //登陆者所在业务组下的工单分类ID
                ccUserID = BLL.WorkOrderInfo.Instance.GetCustIDByWorkOrderTel(workorderinfo);
                if (ccUserID != string.Empty)
                {
                    Entities.CustBasicInfo model = new Entities.CustBasicInfo();
                    model      = BLL.CustBasicInfo.Instance.GetCustBasicInfo(ccUserID);
                    ccCustName = model.CustName;
                }
                OperInfoControl1.OrderID  = OrderID;
                OperInfoControl1.ViewType = 1;
                bindData();

                string CrmUrl = System.Configuration.ConfigurationManager.AppSettings["CrmUrl"].ToString();
                if (!string.IsNullOrEmpty(modelInfo.CRMCustID) && modelInfo.CRMCustID != "-2")
                {
                    CrmCustInfoUrl = "<a href='http://" + CrmUrl + "/CustomInfo/Main.aspx?CustID=" + modelInfo.CRMCustID + "' target='_blank'>" + modelInfo.CustName + "</a>";
                }
                else
                {
                    CrmCustInfoUrl = modelInfo.CustName;
                }
                CheckUserRightByRoleName();
            }
        }
        //验证销售工单处理权限,如果没有权限msg返回string.Empty
        private void judgeSalesPermission(out string msg)
        {
            msg = string.Empty;

            if (!string.IsNullOrEmpty(OrderID))
            {
                OrderPermission op = new OrderPermission();

                Entities.WorkOrderInfo model = BLL.WorkOrderInfo.Instance.GetWorkOrderInfo(OrderID);
                string permission            = string.Empty;
                permission = op.JudgeSalesPermission(model, out msg);

                msg = permission;
            }
        }
        public string JudgeOrderPermission(Entities.WorkOrderInfo model, out string msg)
        {
            string permission = string.Empty;

            msg = string.Empty;

            //根据状态判断是否有审核或处理该工单权限
            if (model.WorkOrderStatus == (int)Entities.WorkOrderStatus.Pending)
            {
                //如果是待审核状态,判断是否有审核的权限
                if (!judgeAudit())
                {
                    msg += "{result:'false',type:'audit',msg:'没有审核当前工单权限,操作失败!'}";
                }
                else
                {
                    permission = "audit"; //高级权限,audit
                }
            }
            else if (model.WorkOrderStatus == (int)Entities.WorkOrderStatus.Untreated || model.WorkOrderStatus == (int)Entities.WorkOrderStatus.Processing)
            {
                if (!judgeProcess())
                {
                    msg += "{result:'false',type:'process',msg:'没有处理当前工单权限,操作失败!'}";
                }
                else
                {
                    permission = "process"; //高级权限,process
                }

                if (!judgeIsCreateUserID((int)model.CreateUserID) && !judgeIsProcesser((int)model.ReceiverID))
                {
                    msg += "{result:'false',type:'process',msg:'没有处理当前工单权限,操作失败!'}";
                }
                else
                {
                    permission = "process"; //高级权限,process
                }
            }
            else if (model.WorkOrderStatus == (int)Entities.WorkOrderStatus.Processed || model.WorkOrderStatus == (int)Entities.WorkOrderStatus.Completed || model.WorkOrderStatus == (int)Entities.WorkOrderStatus.Closed)
            {
                permission = "over";
            }
            return(permission);
        }
        //绑定回复时工单表信息
        private Entities.WorkOrderInfo bindWorkOrderInfo(Entities.WorkOrderInfo oldModel, out string msg)
        {
            msg = string.Empty;

            Entities.WorkOrderInfo model_WorkOrderInfo = oldModel;

            int?oldReceiverID = model_WorkOrderInfo.ReceiverID;

            string errMsg = string.Empty;

            BLL.ConverToEntitie <Entities.WorkOrderInfo> conver = new BLL.ConverToEntitie <Entities.WorkOrderInfo>(model_WorkOrderInfo);
            errMsg = conver.Conver(OperData);

            if (errMsg != "")
            {
                msg = "{'result':'false','msg':'给对应实体赋值时出错,操作失败!'}";
                return(null);
            }

            if (model_WorkOrderInfo.ReceiverID == -2)
            {
                //在没有选择接收人 且 状态为已处理,不清空工单当前处理人 add lxw 13.9.10
                if (model_WorkOrderInfo.WorkOrderStatus == (int)Entities.WorkOrderStatus.Processed)
                {
                    model_WorkOrderInfo.ReceiverID = oldReceiverID;
                }
                else
                {
                    model_WorkOrderInfo.ReceiverName       = "";
                    model_WorkOrderInfo.ReceiverDepartName = "";
                }
            }
            else
            {
                //存在接收人,赋值接收人的所在部门
                model_WorkOrderInfo.ReceiverDepartName = BitAuto.YanFa.SysRightManager.Common.UserInfo.Instance.GetDistrictNameByUserID((int)model_WorkOrderInfo.ReceiverID);
            }

            return(model_WorkOrderInfo);
        }
Beispiel #8
0
        private void BindData()
        {
            if (OrderID != string.Empty)
            {
                GetEstablishStr();
                string    orderBy = ViewType == 1 ? orderByDesc : orderByAsc;
                DataTable dt      = BLL.WorkOrderRevert.Instance.GetWorkOrderRevertByOrderID(OrderID, orderBy);

                if (dt != null && dt.Rows.Count > 0)
                {
                    int worid;
                    if (ViewType == 2)
                    {
                        worid = int.Parse(dt.Rows[0]["RecID"].ToString());
                        dt.Rows.RemoveAt(0);

                        modelRevert = BLL.WorkOrderRevert.Instance.GetWorkOrderRevert(worid);

                        Entities.WorkOrderInfo info = BLL.WorkOrderInfo.Instance.GetWorkOrderInfo(OrderID);
                        hlDemandDetails.Text        = info.DemandID;
                        hlDemandDetails.NavigateUrl = ConfigurationManager.AppSettings["DemandDetailsUrl"] + "?DemandID=" + info.DemandID + "&r=" + new Random().Next();
                        hlDemandDetails.Target      = "_blank";

                        if (string.IsNullOrEmpty(hlDemandDetails.Text))
                        {
                            liDemand.Visible = false;
                        }
                        else
                        {
                            liDemand.Visible = true;
                        }
                    }
                }
                repeaterTableList.DataSource = dt;
                repeaterTableList.DataBind();
            }
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                if (string.IsNullOrEmpty(WorkOrderID))
                {
                    Response.Write(@"<script language='javascript'>javascript:alert('工单ID不能为空!');try {
                 window.external.MethodScript('/browsercontrol/closepage');
            } catch (e) {
                window.opener = null; window.open('', '_self'); window.close();
            };</script>");
                }
                else
                {
                    Entities.WorkOrderInfo model = BLL.WorkOrderInfo.Instance.GetWorkOrderInfo(WorkOrderID);
                    if (model == null)
                    {
                        Response.Write(@"<script language='javascript'>javascript:alert('工单不存在!');try {
                 window.external.MethodScript('/browsercontrol/closepage');
            } catch (e) {
                window.opener = null; window.open('', '_self'); window.close();
            };</script>");
                    }
                    else
                    {
                        if (!string.IsNullOrEmpty(WorkOrderID) && BLL.WorkOrderInfo.Instance.HasConversation(WorkOrderID))
                        {
                            string imurl      = ConfigurationManager.AppSettings["PersonalIMURL"].ToString();
                            int    thisuserid = BLL.Util.GetLoginUserID();
                            CHUrl = "<a href='javascript:void(0)' onclick=\"GotoConversation(this,'" + imurl + "/ConversationHistoryForCC.aspx','" + thisuserid + "','','" + WorkOrderID + "')\">关联对话</a>";
                        }

                        CategoryID              = model.CategoryID.ToString();
                        this.lblTitle.Text      = model.Title;
                        this.lblDataSource.Text = BLL.Util.GetEnumOptText(typeof(Entities.WorkOrderDataSource), Convert.ToInt32(model.DataSource));
                        if (model.IsReturnVisit == 1)
                        {
                            this.lblAcceptVisit.Text = "接受";
                        }
                        else
                        {
                            this.lblAcceptVisit.Text = "不接受";
                        }
                        this.lblAddPerson.Text = BitAuto.YanFa.SysRightManager.Common.UserInfo.GerTrueName(Convert.ToInt32(model.CreateUserID)) + "【" + BitAuto.YanFa.Crm2009.BLL.UserInfo.Instance.GetDepartNameByUserID(Convert.ToInt32(model.CreateUserID)) + "】";
                        this.lblAddTime.Text   = Convert.ToDateTime(model.CreateTime).ToString("yyyy年MM月dd日HH:mm");
                        this.lblCategory.Text  = BitAuto.ISDC.CC2012.BLL.WorkOrderCategory.Instance.GetCategoryFullName(model.CategoryID.ToString());
                        //推荐活动,如果工单表没有值 则去WorkOrderActivity表找 add lxw 13.1.15
                        try
                        {
                            if (string.IsNullOrEmpty(model.NominateActivity))
                            {
                                int       count       = 0;
                                DataTable dt_Activity = BLL.WorkOrderActivity.Instance.GetWorkOrderActivity(" and orderID='" + WorkOrderID + "'", "", 1, 1000, out count);
                                string[]  guids       = new string[dt_Activity.Rows.Count];
                                for (int i = 0; i < dt_Activity.Rows.Count; i++)
                                {
                                    guids[i] = dt_Activity.Rows[i]["ActivityGUID"].ToString();
                                }
                                if (dt_Activity.Rows.Count > 0)
                                {
                                    WebService.Market.MarketServiceHelper market = new WebService.Market.MarketServiceHelper();
                                    DataSet   ds_Activity           = market.GetDataXml(guids);
                                    DataTable dt_webServiceActivity = null;
                                    if (ds_Activity != null && ds_Activity.Tables.Count > 0)
                                    {
                                        dt_webServiceActivity = ds_Activity.Tables[0];
                                        string activityStr = string.Empty;
                                        for (int k = 0; k < dt_Activity.Rows.Count; k++)
                                        {
                                            string    guid = dt_Activity.Rows[k]["ActivityGUID"].ToString();
                                            DataRow[] drs  = dt_webServiceActivity.Select("Guid='" + guid + "'");
                                            if (drs.Length > 0)
                                            {
                                                string url = drs[0]["url"].ToString();
                                                if (!string.IsNullOrEmpty(url))
                                                {
                                                    activityStr += "<a href=" + url + " target='_blank'>" + dt_webServiceActivity.Rows[k]["Name"].ToString() + "</a>&nbsp;,";
                                                }
                                                else
                                                {
                                                    activityStr += dt_webServiceActivity.Rows[k]["Name"].ToString() + "&nbsp;,";
                                                }
                                            }
                                            else
                                            {
                                                activityStr += dt_Activity.Rows[k]["Name"].ToString() + "&nbsp;,";
                                            }
                                        }
                                        lblRecommend.Text = activityStr.TrimEnd(',');
                                    }
                                }
                            }
                            else
                            {
                                this.lblRecommend.Text = model.NominateActivity;
                            }
                        }
                        catch (Exception ex)
                        {
                            BLL.Util.InsertUserLog("查找推荐活动失败,工单ID:" + WorkOrderID);
                        }

                        this.lblWorkOrderRecord.Text = model.Content;
                        Entities.QueryWorkOrderTagMapping queryMapping = new Entities.QueryWorkOrderTagMapping();
                        queryMapping.OrderID = WorkOrderID;
                        DataTable dtTag = BLL.WorkOrderTag.Instance.GetWorkOrderTagByOrderID(WorkOrderID);
                        if (dtTag.Rows.Count > 0)
                        {
                            lblTag.Text = dtTag.Rows[0]["TagName"].ToString();
                        }
                        if (string.IsNullOrEmpty(model.AttentionCarBrandName))
                        {
                            this.lblCarCategory.Text = "";
                        }
                        else
                        {
                            this.lblCarCategory.Text = model.AttentionCarBrandName + "-" + model.AttentionCarSerialName + "-" + model.AttentionCarTypeName;
                        }
                        if (string.IsNullOrEmpty(model.SaleCarBrandName))
                        {
                            this.lblOutCarCategory.Text = "";
                        }
                        else
                        {
                            this.lblOutCarCategory.Text = model.SaleCarBrandName + "-" + model.SaleCarSerialName + "-" + model.SaleCarTypeName;
                        }
                        this.lblSelectDealerName.Text = model.SelectDealerName;
                        CustID = BLL.WorkOrderInfo.Instance.GetCustIDByWorkOrderTel(model);
                        if (!string.IsNullOrEmpty(CustID))
                        {
                            CustID = "<a target='_blank' href='/TaskManager/CustInformation.aspx?CustID=" + CustID + "'>查看用户</a>";
                        }
                    }
                }
            }
        }
        private void PersonalSubmit(out string msg)
        {
            msg = string.Empty;
            try
            {
                BLL.Loger.Log4Net.Info("【个人工单提交Step1——数据验证】");
                #region 验证

                validate(out msg);

                if (msg != string.Empty)
                {
                    msg = "{'result':'false','msg':'" + msg + "'}";
                    return;
                }

                #endregion

                #region 插入工单表

                Entities.WorkOrderInfo model_WorkOrderInfo = bindWorkOrderInfo(out msg);

                if (msg != string.Empty)
                {
                    return;
                }

                //个人类型增加工单,状态默认-已完成
                model_WorkOrderInfo.WorkOrderStatus = (int)Entities.WorkOrderStatus.Completed;

                model_WorkOrderInfo.WorkCategory = 1;//工单类型-个人;add lxw 13.9.11
                BLL.Loger.Log4Net.Info("【个人工单提交Step2——添加工单开始】");
                model_WorkOrderInfo.OrderID = BLL.WorkOrderInfo.Instance.Insert(model_WorkOrderInfo);
                BLL.Loger.Log4Net.Info("【个人工单提交Step2——添加工单结束】OrderID=" + model_WorkOrderInfo.OrderID);
                //回写IM库
                BLL.Loger.Log4Net.Info("【个人工单提交Step3——工单数据回写IM开始】");
                UpdateCCWorkOrder2IM(model_WorkOrderInfo);
                BLL.Loger.Log4Net.Info("【个人工单提交Step3——工单数据回写IM结束】");
                #endregion

                //如果有推荐活动,插入WorkOrderActivity表,add lxw 13.1.14
                #region 插入推荐活动

                if (ActivityIDs != "")
                {
                    string[] aIDs = ActivityIDs.Split(',');
                    for (int i = 0; i < aIDs.Length; i++)
                    {
                        Entities.WorkOrderActivity model_Activity = new Entities.WorkOrderActivity();
                        model_Activity.ActivityGUID = new Guid(aIDs[i]);
                        model_Activity.OrderID      = model_WorkOrderInfo.OrderID;
                        model_Activity.CreateTime   = operTime;
                        model_Activity.CreateUserID = operUserID;
                        BLL.Loger.Log4Net.Info("【个人工单提交Step4——WorkOrderActivity数据入库开始】");
                        BLL.WorkOrderActivity.Instance.Insert(model_Activity);
                        BLL.Loger.Log4Net.Info("【个人工单提交Step4——WorkOrderActivity数据入库结束】");
                    }
                }

                #endregion

                #region 插入工单回复表

                Entities.WorkOrderRevert model_Revert = bindWorkOrderRevert(out msg);

                if (msg != string.Empty)
                {
                    return;
                }

                model_Revert.OrderID            = model_WorkOrderInfo.OrderID;
                model_Revert.ReceiverDepartName = BitAuto.YanFa.SysRightManager.Common.UserInfo.Instance.GetDistrictNameByUserID(operUserID);
                model_Revert.WorkOrderStatus    = "已完成";
                if (CallID != string.Empty)
                {
                    model_Revert.CallID = Int64.Parse(CallID);
                }
                BLL.Loger.Log4Net.Info("【个人工单提交Step5——WorkOrderRevert数据入库开始】");
                BLL.WorkOrderRevert.Instance.Insert(model_Revert);
                BLL.Loger.Log4Net.Info("【个人工单提交Step5——WorkOrderRevert数据入库结束】");
                #endregion

                #region 插入标签

                if (TagIDs != string.Empty)
                {
                    string[] array_TagIDs = TagIDs.Split(',');
                    for (int k = 0; k < array_TagIDs.Length; k++)
                    {
                        Entities.WorkOrderTagMapping model_Mapping = new Entities.WorkOrderTagMapping();
                        model_Mapping.OrderID      = model_WorkOrderInfo.OrderID;
                        model_Mapping.TagID        = int.Parse(array_TagIDs[k]);
                        model_Mapping.Status       = 0;
                        model_Mapping.CreateTime   = model_Mapping.ModifyTime = operTime;
                        model_Mapping.CreateUserID = model_Mapping.ModifyUserID = operUserID;
                        BLL.Loger.Log4Net.Info("【个人工单提交Step6——插入标签数据入库开始】");
                        BLL.WorkOrderTagMapping.Instance.Insert(model_Mapping);
                        BLL.Loger.Log4Net.Info("【个人工单提交Step6——插入标签数据入库结束】");
                    }
                }

                #endregion
                msg = "{'result':'true','OrderID':'" + model_WorkOrderInfo.OrderID + "'}";
            }
            catch (Exception ex)
            {
                BLL.Loger.Log4Net.Error("【个人工单提交】出现方法出现问题:" + ex.Message);
            }
        }
Beispiel #11
0
 public void InsertWorkOrderInfo(Entities.WorkOrderInfo info)
 {
     BLL.WorkOrderInfo.Instance.InsertWorkOrderInfo(info);
 }
 /// <summary>
 /// 更新一条数据
 /// </summary>
 public int Update(SqlTransaction sqltran, Entities.WorkOrderInfo model)
 {
     return(Dal.WorkOrderInfo.Instance.Update(sqltran, model));
 }
 /// <summary>
 /// 更新一条数据
 /// </summary>
 public int Update(Entities.WorkOrderInfo model)
 {
     return(Dal.WorkOrderInfo.Instance.Update(model));
 }
 /// <summary>
 /// 增加一条数据
 /// </summary>
 public string Insert(SqlTransaction sqltran, Entities.WorkOrderInfo model)
 {
     return(Dal.WorkOrderInfo.Instance.Insert(sqltran, model));
 }
 /// <summary>
 /// 增加一条数据
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 public string InsertWorkOrderInfo(Entities.WorkOrderInfo model)
 {
     return(Dal.WorkOrderInfo.Instance.Insert(model));
 }
        private void SalesProcessSubmit(out string msg)
        {
            msg = string.Empty;
            if (!string.IsNullOrEmpty(Requester) && Requester.Trim() == "intelligentplatform")
            {
                msg = "process";
            }
            else
            {
                judgeSalesPermission(out msg);
            }

            if (msg == "none" || msg == "view" || msg == "over")
            {
                return;
            }

            if (string.IsNullOrEmpty(OrderID))
            {
                msg = "工单号不能为空!";
                return;
            }
            if (string.IsNullOrEmpty(RevertContent))
            {
                msg = "回复内容不能为空!";
                return;
            }
            Web.AjaxServers.ValidateDataFormat vd = new Web.AjaxServers.ValidateDataFormat();

            int contentLen = vd.GetLength(RevertContent);

            if (contentLen > 600)
            {
                msg = "回复内容超过300个字!";
                return;
            }

            #region 更新工单表

            Entities.WorkOrderInfo model_WorkOrderInfo = BLL.WorkOrderInfo.Instance.GetWorkOrderInfo(OrderID);

            string oldReceiverName = model_WorkOrderInfo.ReceiverName;
            int    _receiverID;
            if (int.TryParse(ReceiverID, out _receiverID))
            {
                //坐席操作,只有在选择接收人,才会覆盖当前操作人,否则不清空
                model_WorkOrderInfo.ReceiverID   = _receiverID;
                model_WorkOrderInfo.ReceiverName = ReceiverName;
            }

            model_WorkOrderInfo.IsSales = IsSales == "true" ? true : false;

            if (RevertContent != string.Empty)
            {
                model_WorkOrderInfo.IsRevert = true;
            }
            if (!string.IsNullOrEmpty(ReceiverName) && !string.IsNullOrEmpty(ReceiverID) && ReceiverID != "-2")
            {
                model_WorkOrderInfo.ReceiverDepartName = BitAuto.YanFa.SysRightManager.Common.UserInfo.Instance.GetDistrictNameByUserID(int.Parse(ReceiverID));
            }

            model_WorkOrderInfo.ModifyTime   = operTime;
            model_WorkOrderInfo.ModifyUserID = operUserID;

            model_WorkOrderInfo.WorkOrderStatus = (int)Entities.WorkOrderStatus.Processing;

            BLL.WorkOrderInfo.Instance.Update(model_WorkOrderInfo);

            #endregion

            #region 插入工单回复表(原来的)

            Entities.WorkOrderRevert model_Revert = new Entities.WorkOrderRevert();
            if (string.IsNullOrEmpty(RTWORID))  //没有接通电话时提交回复信息,则插入[WorkOrderRevert]表一条数据
            {
                model_Revert.OrderID       = OrderID;
                model_Revert.RevertContent = RevertContent;

                if (!string.IsNullOrEmpty(oldReceiverName) || !string.IsNullOrEmpty(ReceiverName))
                {
                    model_Revert.ReceiverName = fieldDesc(oldReceiverName, model_WorkOrderInfo.ReceiverName);
                    model_Revert.ReceiverID   = model_WorkOrderInfo.ReceiverID.ToString();
                }
                model_Revert.ReceiverDepartName = BitAuto.YanFa.SysRightManager.Common.UserInfo.Instance.GetDistrictNameByUserID(operUserID);
                model_Revert.WorkOrderStatus    = "处理中";
                model_Revert.CreateTime         = operTime;
                model_Revert.CreateUserID       = operUserID;

                BLL.WorkOrderRevert.Instance.Insert(model_Revert);
            }
            else  //已经接通电话,并插入[WorkOrderRevert]表一条数据,则更新这条数据
            {
                model_Revert = BLL.WorkOrderRevert.Instance.GetWorkOrderRevert(long.Parse(RTWORID));
                model_Revert.RevertContent = RevertContent;
                if (!string.IsNullOrEmpty(oldReceiverName) || !string.IsNullOrEmpty(ReceiverName))
                {
                    model_Revert.ReceiverName = fieldDesc(oldReceiverName, model_WorkOrderInfo.ReceiverName);
                    model_Revert.ReceiverID   = model_WorkOrderInfo.ReceiverID.ToString();
                }
                model_Revert.WorkOrderStatus = "处理中";

                BLL.WorkOrderRevert.Instance.Update(model_Revert);
            }

            #endregion

            #region 插入工单回复表、工单日志表

            //Entities.WorkOrderLog log = new Entities.WorkOrderLog();
            //Entities.WorkOrderReceiver receiver = new Entities.WorkOrderReceiver();

            //if (string.IsNullOrEmpty(RTWORID))  //没有接通电话时提交回复信息,则插入 日志表、回复表
            //{
            //    log.OrderID = OrderID;
            //    if (!string.IsNullOrEmpty(oldReceiverName) || !string.IsNullOrEmpty(ReceiverName))
            //    {
            //        log.LogDesc = fieldDesc(oldReceiverName, model_WorkOrderInfo.ReceiverName);
            //        /// model_Revert.WorkOrderStatus = "处理中";
            //    }
            //    log.CreateTime = operTime;
            //    log.CreateUserID = operUserID;

            //    receiver.RevertContent = RevertContent;
            //    receiver.ReceiverUserID = model_WorkOrderInfo.ReceiverID;
            //    receiver.ReceiverDepartName = BitAuto.YanFa.SysRightManager.Common.UserInfo.Instance.GetDistrictNameByUserID(operUserID);
            //    receiver.CreateTime = operTime;
            //    receiver.CreateUserID = operUserID;

            //    int ReceiverRecID = BLL.WorkOrderReceiver.Instance.Insert(receiver);
            //    log.ReceiverRecID = ReceiverRecID;
            //    BLL.WorkOrderLog.Instance.Insert(log);
            //}
            //else
            //{
            //    receiver = BLL.WorkOrderReceiver.Instance.GetWorkOrderReceiver(int.Parse(RTWORID));
            //    receiver.RevertContent = RevertContent;
            //    receiver.ReceiverUserID = model_WorkOrderInfo.ReceiverID;

            //    log = BLL.WorkOrderLog.Instance.GetWorkOrderLogByRtRecID(int.Parse(RTWORID));
            //    if (!string.IsNullOrEmpty(oldReceiverName) || !string.IsNullOrEmpty(ReceiverName))
            //    {
            //        log .LogDesc= fieldDesc(oldReceiverName, model_WorkOrderInfo.ReceiverName);
            //        //model_Revert.WorkOrderStatus = "处理中";
            //    }

            //    BLL.WorkOrderLog.Instance.Update(log);
            //    BLL.WorkOrderReceiver.Instance.Update(receiver);
            //}

            #endregion

            #region 发送邮件

            if (int.TryParse(ReceiverID, out _receiverID))
            {
                AjaxServers.SendEmailInfo sendInfo = new AjaxServers.SendEmailInfo();
                sendInfo.ReceiverID   = _receiverID;
                sendInfo.ReceiverName = ReceiverName;
                sendInfo.LastOperTime = model_WorkOrderInfo.LastProcessDate;
                sendInfo.OrderID      = model_WorkOrderInfo.OrderID;
                sendInfo.Title        = model_WorkOrderInfo.Title;
                sendInfo.DepartName   = model_WorkOrderInfo.ReceiverDepartName;
                sendInfo.Desc         = model_WorkOrderInfo.Content;

                SendEmailToReceiver(sendInfo);
            }

            #endregion

            msg = "true";
        }
        private void DealerSubmit(out string msg)
        {
            msg = string.Empty;
            try
            {
                BLL.Loger.Log4Net.Info("【经销商工单提交Step1——参数验证】CallID IS:" + CallID);

                #region 验证
                validate(out msg);
                if (LastProcessDate != string.Empty)
                {
                    DateTime dtLastProcessDate;
                    if (DateTime.TryParse(LastProcessDate, out dtLastProcessDate))
                    {
                        if (dtLastProcessDate < DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd")))
                        {
                            msg += "最晚处理日期不能小于当前时间!<br/>";
                        }
                    }
                }

                if (msg != string.Empty)
                {
                    msg = "{'result':'false','msg':'" + msg + "'}";

                    return;
                }
                #endregion

                #region 插入工单表
                BLL.Loger.Log4Net.Info("【经销商工单提交Step2——绑定工单信息】");
                Entities.WorkOrderInfo model_WorkOrderInfo = bindWorkOrderInfo(out msg);

                if (msg != string.Empty)
                {
                    return;
                }

                string orderCustID = string.Empty;
                //根据CRMCustName查询获取CustID
                BLL.Loger.Log4Net.Info("【经销商工单提交Step3——根据CRMCustName查询获取CustID开始】");
                DataSet ds_CustID = BitAuto.YanFa.Crm2009.BLL.CustInfo.Instance.GetCustIDByNameToCC(model_WorkOrderInfo.CustName);
                BLL.Loger.Log4Net.Info("【经销商工单提交Step3——根据CRMCustName查询获取CustID结束】");
                if (ds_CustID != null && ds_CustID.Tables.Count > 0 && ds_CustID.Tables[0].Rows.Count > 0)
                {
                    model_WorkOrderInfo.CRMCustID = orderCustID = ds_CustID.Tables[0].Rows[0]["CustID"].ToString();
                }

                //OperType=1:添加(状态:已完成);OperType=2:转出(状态:待审核)
                model_WorkOrderInfo.WorkOrderStatus = OperType == "1" ? (int)Entities.WorkOrderStatus.Completed : (int)Entities.WorkOrderStatus.Pending;

                model_WorkOrderInfo.WorkCategory = 2;//工单类型-经销商;add lxw 13.9.11

                model_WorkOrderInfo.DemandID = DemandID;
                BLL.Loger.Log4Net.Info("【经销商工单提交Step4——WorkOrderInfo入库开始】");
                model_WorkOrderInfo.OrderID = BLL.WorkOrderInfo.Instance.Insert(model_WorkOrderInfo);
                BLL.Loger.Log4Net.Info("【经销商工单提交Step4——WorkOrderInfo入库结束】OrderID=:" + OrderID);


                //回写IM库
                BLL.Loger.Log4Net.Info("【经销商工单提交Step5——工单信息回写IM库开始】");
                UpdateCCWorkOrder2IM(model_WorkOrderInfo);
                BLL.Loger.Log4Net.Info("【经销商工单提交Step5——工单信息回写IM库结束】");
                #endregion

                #region 插入工单回复表
                BLL.Loger.Log4Net.Info("【经销商工单提交Step6——绑定工单回复信息】OrderID=" + model_WorkOrderInfo.OrderID + ",CallID=" + CallID);
                Entities.WorkOrderRevert model_Revert = bindWorkOrderRevert(out msg);

                model_Revert.OrderID = model_WorkOrderInfo.OrderID;
                if (CallID != string.Empty)
                {
                    model_Revert.CallID = Int64.Parse(CallID);
                }

                if (msg != string.Empty)
                {
                    return;
                }

                model_Revert.WorkOrderStatus = OperType == "1" ? "已完成" : "待审核";
                BLL.Loger.Log4Net.Info("【经销商工单提交Step7——根据部门获取部门名称开始】");
                model_Revert.ReceiverDepartName = BitAuto.YanFa.SysRightManager.Common.UserInfo.Instance.GetDistrictNameByUserID(operUserID);
                BLL.Loger.Log4Net.Info("【经销商工单提交Step7——根据部门获取部门名称结束】");

                BLL.Loger.Log4Net.Info("【经销商工单提交Step8——工单回复信息入库开始】");
                BLL.WorkOrderRevert.Instance.Insert(model_Revert);
                BLL.Loger.Log4Net.Info("【经销商工单提交Step8——工单回复信息入库结束】");
                #endregion

                #region 插入标签
                if (TagIDs != string.Empty)
                {
                    string[] array_TagIDs = TagIDs.Split(',');
                    for (int k = 0; k < array_TagIDs.Length; k++)
                    {
                        Entities.WorkOrderTagMapping model_Mapping = new Entities.WorkOrderTagMapping();
                        model_Mapping.OrderID      = model_WorkOrderInfo.OrderID;
                        model_Mapping.TagID        = int.Parse(array_TagIDs[k]);
                        model_Mapping.Status       = 0;
                        model_Mapping.CreateTime   = model_Mapping.ModifyTime = operTime;
                        model_Mapping.CreateUserID = model_Mapping.ModifyUserID = operUserID;
                        BLL.Loger.Log4Net.Info("【经销商工单提交Step9——插入标签开始】");
                        BLL.WorkOrderTagMapping.Instance.Insert(model_Mapping);
                        BLL.Loger.Log4Net.Info("【经销商工单提交Step9——插入标签结束】");
                    }
                }

                #endregion

                #region 把工单联系人插入个人用户
                Web.AjaxServers.CustBaseInfo.CustBasicInfo model_cbInfo = bindCustBasicInfo(out msg);
                if (msg != string.Empty)
                {
                    return;
                }
                Web.AjaxServers.CustBaseInfo.OperPopCustBasicInfo cbi = new Web.AjaxServers.CustBaseInfo.OperPopCustBasicInfo();
                BLL.Loger.Log4Net.Info("【经销商工单提交Step10——插入个人用户库信息开始】");
                cbi.InsertCustInfo(model_cbInfo, out msg);
                BLL.Loger.Log4Net.Info("【经销商工单提交Step10——插入个人用户库信息结束】");
                string   ccCustID = string.Empty;
                string[] aMsg     = msg.Split(',');
                //如果不存在会新增个人用户 返回ccCustID
                //如果存在会直接返回该联系人ccCustID
                if (aMsg.Length == 2 && aMsg[0].Split(':')[1] == "'true'")
                {
                    ccCustID = aMsg[1].Split(':')[1].Replace("'", "");
                }
                #endregion

                #region 插入访问记录
                if (ccCustID != string.Empty)
                {
                    BLL.Loger.Log4Net.Info("【经销商工单提交Step11——插入联系记录开始】");
                    long callid = CommonFunction.ObjectToLong(CallID, -2);
                    int  userid = BLL.Util.GetLoginUserID();

                    BitAuto.ISDC.CC2012.Web.AjaxServers.CustBaseInfo.OperPopCustBasicInfo.OperCustVisitBusiness(ccCustID, model_WorkOrderInfo.OrderID, callid, (int)VisitBusinessTypeEnum.S1_工单, TaskSource, userid, model_WorkOrderInfo.ContactTel);
                    BLL.Loger.Log4Net.Info("【经销商工单提交Step11——插入联系记录结束】");
                }
                #endregion

                msg = "{'result':'true','OrderID':'" + model_WorkOrderInfo.OrderID + "','orderCustID':'" + orderCustID + "'}";
            }
            catch (Exception ex)
            {
                BLL.Loger.Log4Net.Error("【经销商工单提交】出现方法出现问题:" + ex.Message);
            }
        }
        private void CCProcessSubmit(out string msg)
        {
            msg = string.Empty;
            if (!string.IsNullOrEmpty(Requester) && Requester.Trim() == "intelligentplatform")
            {
                msg = "process";
            }
            else
            {
                judgePermission(out msg);
            }

            if (msg == string.Empty)
            {
                return;
            }
            Web.AjaxServers.ValidateDataFormat vd = new Web.AjaxServers.ValidateDataFormat();

            int contentLen = vd.GetLength(RevertContent);

            if (contentLen > 600)
            {
                msg = "回复内容超过300个字!";
                return;
            }

            //提交

            #region 插入工单表


            Entities.WorkOrderInfo model_OldWorkOrderInfo = BLL.WorkOrderInfo.Instance.GetWorkOrderInfo(OrderID);

            Entities.WorkOrderInfo model_NewWorkOrderInfo = bindWorkOrderInfo(BLL.WorkOrderInfo.Instance.GetWorkOrderInfo(OrderID), out msg);

            if (msg != string.Empty)
            {
                return;
            }

            model_NewWorkOrderInfo.ModifyUserID = operUserID;
            model_NewWorkOrderInfo.ModifyTime   = operTime;

            if (RevertContent != string.Empty)
            {
                model_NewWorkOrderInfo.IsRevert = true;
            }

            BLL.WorkOrderInfo.Instance.Update(model_NewWorkOrderInfo);

            #endregion

            #region 插入工单回复表

            EditWorkOrderRevert(model_NewWorkOrderInfo, model_OldWorkOrderInfo, out msg);

            #endregion

            #region 发送邮件


            if (model_NewWorkOrderInfo.ReceiverName != model_OldWorkOrderInfo.ReceiverName && model_NewWorkOrderInfo.ReceiverID != null)
            {
                AjaxServers.SendEmailInfo sendInfo = new AjaxServers.SendEmailInfo();
                sendInfo.ReceiverID   = (int)model_NewWorkOrderInfo.ReceiverID;
                sendInfo.ReceiverName = model_NewWorkOrderInfo.ReceiverName;
                sendInfo.LastOperTime = model_NewWorkOrderInfo.LastProcessDate;
                sendInfo.OrderID      = model_NewWorkOrderInfo.OrderID;
                sendInfo.Title        = model_NewWorkOrderInfo.Title;
                sendInfo.DepartName   = model_NewWorkOrderInfo.ReceiverDepartName;
                sendInfo.Desc         = model_NewWorkOrderInfo.Content;

                SendEmailToReceiver(sendInfo);
            }

            #endregion

            msg = "true";
        }
        private void UpdateCCWorkOrder2IM(Entities.WorkOrderInfo model_WorkOrderInfo)
        {
            try
            {
                //回写IM库,首先判断是 在线留言还是会话新增工单。
                int imtype = -2;
                int id     = -2;
                if (model_WorkOrderInfo.CSID != Entities.Constants.Constant.INT_INVALID_VALUE)
                {
                    //说明是 会话新增工单
                    imtype = 1;
                    id     = model_WorkOrderInfo.CSID;
                }

                if (model_WorkOrderInfo.LYID != Entities.Constants.Constant.INT_INVALID_VALUE)
                {
                    //说明是 留言新增工单
                    imtype = 2;
                    id     = model_WorkOrderInfo.LYID;
                }

                if (imtype > -2)
                {
                    string retval = "";
                    if (model_WorkOrderInfo.SYSType == "isIM")
                    {
                        if (model_WorkOrderInfo.CarType == 1)
                        {
                            retval = WebService.IM.IMepUtilsServiceHelper.Instance.UpdateCCWorkOrderToIM(imtype, id, model_WorkOrderInfo.OrderID);
                        }
                        else if (model_WorkOrderInfo.CarType == 2)
                        {
                            retval = WebService.IM.IMtcUtilsServiceHelper.Instance.UpdateCCWorkOrderToIM(imtype, id, model_WorkOrderInfo.OrderID);
                        }
                    }
                    else if (model_WorkOrderInfo.SYSType == "isIM2")
                    {
                        retval = WebService.IM.IMUtilsServiceHelper.Instance.UpdateCCWorkOrderToIM(imtype, id, model_WorkOrderInfo.OrderID);
                    }
                    if (string.IsNullOrEmpty(retval))
                    {
                        if (imtype == 1)
                        {
                            BLL.Loger.Log4Net.Info("[WorkOrderOperHandlerr.ashx.cs]DelaerSubmit 回写IM会话表成功,工单号:" + model_WorkOrderInfo.OrderID + ",会话ID:" + model_WorkOrderInfo.CSID);
                        }
                        else if (imtype == 2)
                        {
                            BLL.Loger.Log4Net.Info("[WorkOrderOperHandlerr.ashx.cs]DelaerSubmit 回写IM留言表成功,工单号:" + model_WorkOrderInfo.OrderID + ",留言ID:" + model_WorkOrderInfo.LYID);
                        }
                    }
                    else
                    {
                        if (imtype == 1)
                        {
                            BLL.Loger.Log4Net.Info("[WorkOrderOperHandlerr.ashx.cs]DelaerSubmit 回写IM会话表失败,工单号:" + model_WorkOrderInfo.OrderID + ",会话ID:" + model_WorkOrderInfo.CSID);
                            BLL.Loger.Log4Net.Info("[WorkOrderOperHandlerr.ashx.cs]DelaerSubmit 回写IM会话表出错:" + retval);
                        }
                        else if (imtype == 2)
                        {
                            BLL.Loger.Log4Net.Info("[WorkOrderOperHandlerr.ashx.cs]DelaerSubmit 回写IM留言表失败,工单号:" + model_WorkOrderInfo.OrderID + ",留言ID:" + model_WorkOrderInfo.LYID);
                            BLL.Loger.Log4Net.Info("[WorkOrderOperHandlerr.ashx.cs]DelaerSubmit 回写IM留言表出错:" + retval);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Loger.Log4Net.Info("[WorkOrderOperHandlerr.ashx.cs]UpdateCCWorkOrder2IM 出错!errorMessage:" + ex.Message);
                Loger.Log4Net.Info("[WorkOrderOperHandlerr.ashx.cs]UpdateCCWorkOrder2IM 出错!errorStackTrace:" + ex.StackTrace);
            }
        }
        //编辑工单回复表信息
        private void EditWorkOrderRevert(Entities.WorkOrderInfo newModel, Entities.WorkOrderInfo oldModel, out string msg)
        {
            msg = string.Empty;

            if (newModel == null || oldModel == null)
            {
                return;
            }

            Entities.WorkOrderRevert model_Revert = new Entities.WorkOrderRevert();

            Int64 callID = 0;

            if (Int64.TryParse(CallID, out callID))
            {
                //如果有录音,则在之前的录音记录的基础上进行回复表的修改
                model_Revert = BLL.WorkOrderRevert.Instance.GetWorkOrderRevertByCallID(callID);
            }
            else
            {
                model_Revert.OrderID      = oldModel.OrderID;
                model_Revert.CreateTime   = operTime;
                model_Revert.CreateUserID = operUserID;
            }
            model_Revert.RevertContent      = RevertContent;
            model_Revert.ReceiverDepartName = BitAuto.YanFa.SysRightManager.Common.UserInfo.Instance.GetDistrictNameByUserID(operUserID);

            model_Revert.IsReturnVisit = RevertContent == string.Empty ? "否" : "是";

            //比较工单分类
            if (newModel.CategoryID != oldModel.CategoryID)
            {
                string oldCategoryName = BLL.WorkOrderCategory.Instance.GetCategoryFullName(oldModel.CategoryID.ToString());

                string newCategoryName = BLL.WorkOrderCategory.Instance.GetCategoryFullName(newModel.CategoryID.ToString());

                model_Revert.CategoryName = fieldDesc(oldCategoryName, newCategoryName);
            }

            //比较工单状态
            if (newModel.WorkOrderStatus != oldModel.WorkOrderStatus)
            {
                string oldStatus = BLL.Util.GetEnumOptText(typeof(Entities.WorkOrderStatus), (int)oldModel.WorkOrderStatus);

                string newStatus = BLL.Util.GetEnumOptText(typeof(Entities.WorkOrderStatus), (int)newModel.WorkOrderStatus);

                model_Revert.WorkOrderStatus = fieldDesc(oldStatus, newStatus);
            }

            //比较优先级
            if (newModel.PriorityLevel != oldModel.PriorityLevel)
            {
                string oldLevel = oldModel.PriorityLevel == 1 ? "普通" : "紧急";

                string newLevel = newModel.PriorityLevel == 1 ? "普通" : "紧急";

                model_Revert.PriorityLevelName = fieldDesc(oldLevel, newLevel);
            }

            //比较接收人
            if (!string.IsNullOrEmpty(newModel.ReceiverName) || !string.IsNullOrEmpty(oldModel.ReceiverName))
            {
                model_Revert.ReceiverID   = newModel.ReceiverID.ToString();
                model_Revert.ReceiverName = fieldDesc(oldModel.ReceiverName, newModel.ReceiverName);
            }

            //比较是否投诉
            if (newModel.IsComplaintType != oldModel.IsComplaintType)
            {
                string oldIsComplaint = oldModel.IsComplaintType == true ? "投诉" : "普通";

                string newIsComplaint = newModel.IsComplaintType == true ? "投诉" : "普通";

                model_Revert.IsComplaintType = fieldDesc(oldIsComplaint, newIsComplaint);
            }

            //比较标签
            string tagDesc = GetCompareTagDesc(model_Revert.OrderID, TagIDs);

            if (tagDesc != string.Empty)
            {
                model_Revert.TagName = tagDesc;

                //修改标签表
                BLL.WorkOrderTagMapping.Instance.DeleteByOrderID(model_Revert.OrderID);

                if (TagIDs != string.Empty)
                {
                    string[] array_TagIDs = TagIDs.Split(',');
                    for (int k = 0; k < array_TagIDs.Length; k++)
                    {
                        Entities.WorkOrderTagMapping model_Mapping = new Entities.WorkOrderTagMapping();
                        model_Mapping.OrderID      = model_Revert.OrderID;
                        model_Mapping.TagID        = int.Parse(array_TagIDs[k]);
                        model_Mapping.Status       = 0;
                        model_Mapping.CreateTime   = model_Mapping.ModifyTime = operTime;
                        model_Mapping.CreateUserID = model_Mapping.ModifyUserID = operUserID;
                        BLL.WorkOrderTagMapping.Instance.Insert(model_Mapping);
                    }
                }
            }

            if (callID != 0)
            {
                BLL.WorkOrderRevert.Instance.Update(model_Revert);
            }
            else
            {
                BLL.WorkOrderRevert.Instance.Insert(model_Revert);
            }
        }
        private void bindData()
        {
            if (!string.IsNullOrEmpty(OrderID))
            {
                Entities.WorkOrderInfo model = BLL.WorkOrderInfo.Instance.GetWorkOrderInfo(OrderID);
                if (model != null)
                {
                    if (!string.IsNullOrEmpty(OrderID) && BLL.WorkOrderInfo.Instance.HasConversation(OrderID))
                    {
                        string imurl      = ConfigurationManager.AppSettings["DealerIMURL"].ToString();
                        int    thisuserid = BLL.Util.GetLoginUserID();
                        CHUrl = "<a href='javascript:void(0)' onclick=\"GotoConversation(this,'" + imurl + "/ConversationHistoryForCC.aspx','" + thisuserid + "','','" + OrderID + "')\">关联对话</a>";
                    }

                    title      = model.Title;
                    dataSource = BLL.Util.GetEnumOptText(typeof(Entities.WorkOrderDataSource), (int)model.DataSource);
                    //createTime = DateTime.Parse(model.CreateTime.ToString()).ToString("yyyy年MM月dd日HH:mm");

                    DataTable dt_Revert = BLL.WorkOrderRevert.Instance.GetWorkOrderRevertByOrderID(model.OrderID, " w.CreateTime Asc ");
                    if (dt_Revert != null && dt_Revert.Rows.Count > 0)
                    {
                        string pName  = string.Empty;
                        string cName  = string.Empty;
                        string ctName = string.Empty;
                        if (!string.IsNullOrEmpty(dt_Revert.Rows[0]["ProvinceName"].ToString()))
                        {
                            pName = dt_Revert.Rows[0]["ProvinceName"].ToString();
                        }
                        if (!string.IsNullOrEmpty(dt_Revert.Rows[0]["CityName"].ToString()))
                        {
                            cName = dt_Revert.Rows[0]["CityName"].ToString();
                        }
                        if (!string.IsNullOrEmpty(dt_Revert.Rows[0]["CountyName"].ToString()))
                        {
                            ctName = dt_Revert.Rows[0]["CountyName"].ToString();
                        }
                        if (pName != string.Empty)
                        {
                            custArea = pName + " " + cName + " " + ctName;
                        }
                    }

                    crmCustName = model.CustName;
                    contact     = model.Contact;
                    tel         = model.ContactTel;
                    crmCustID   = model.CRMCustID;

                    if (!string.IsNullOrEmpty(crmCustID) && !string.IsNullOrEmpty(crmCustName))
                    {
                        string url = "/CustCheck/CrmCustSearch/CustDetail.aspx?CustID=" + crmCustID;
                        CRMCustURL = "<a href='" + url + "' target='_blank'>" + crmCustName + "</a>";
                    }
                    else
                    {
                        CRMCustURL = crmCustName;
                    }


                    this.lblStatus.Text        = BLL.Util.GetEnumOptText(typeof(Entities.WorkOrderStatus), (int)model.WorkOrderStatus);
                    this.lblCategory.Text      = BitAuto.ISDC.CC2012.BLL.WorkOrderCategory.Instance.GetCategoryFullName(model.CategoryID.ToString());
                    this.lblPriorityLevel.Text = BLL.Util.GetEnumOptText(typeof(Entities.PriorityLevelEnum), (int)model.PriorityLevel);

                    this.hlRelateDemand.Text        = model.DemandID;
                    this.hlRelateDemand.NavigateUrl = ConfigurationManager.AppSettings["DemandDetailsUrl"] + "?DemandID=" + model.DemandID + "&r=" + new Random().Next();
                    this.hlRelateDemand.Target      = "_blank";
                    if (string.IsNullOrEmpty(hlRelateDemand.Text))
                    {
                        liDemandDealer.Visible = false;
                    }
                    else
                    {
                        liDemandDealer.Visible = true;
                    }
                    if (model.IsComplaintType == true)
                    {
                        this.lblComplaintType.Text = "投诉";
                    }
                    else
                    {
                        this.lblComplaintType.Text = "普通";
                    }
                    this.lblReceiverPerson.Text = model.ReceiverName;
                    CustID = BLL.WorkOrderInfo.Instance.GetCustIDByWorkOrderTel(model);
                    if (!string.IsNullOrEmpty(CustID))
                    {
                        CustID = "<a target='_blank' href='/TaskManager/CustInformation.aspx?CustID=" + CustID + "'>查看用户</a>";
                    }
                }
                else
                {
                    Response.Write(@"<script language='javascript'>javascript:alert('工单不存在!');try {
                 window.external.MethodScript('/browsercontrol/closepage');
            } catch (e) {
                window.opener = null; window.open('', '_self'); window.close();
            };</script>");
                }
            }
            else
            {
                Response.Write(@"<script language='javascript'>javascript:alert('工单ID不能为空!');try {
                 window.external.MethodScript('/browsercontrol/closepage');
            } catch (e) {
                window.opener = null; window.open('', '_self'); window.close();
            };</script>");
            }
        }
Beispiel #22
0
        private void bindData()
        {
            if (!string.IsNullOrEmpty(OrderID))
            {
                Entities.WorkOrderInfo model = BLL.WorkOrderInfo.Instance.GetWorkOrderInfo(OrderID);
                if (model != null)
                {
                    hlRelateDemand.Text        = model.DemandID == null ? "" : model.DemandID;
                    hlRelateDemand.NavigateUrl = ConfigurationManager.AppSettings["DemandDetailsUrl"] + "?DemandID=" + model.DemandID + "&r=" + new Random().Next();
                    hlRelateDemand.Target      = "_blank";
                    if (string.IsNullOrEmpty(hlRelateDemand.Text))
                    {
                        liDemandCC.Visible = false;
                    }
                    else
                    {
                        liDemandCC.Visible = true;
                    }

                    title      = model.Title;
                    dataSource = BLL.Util.GetEnumOptText(typeof(Entities.WorkOrderDataSource), (int)model.DataSource);

                    DataTable dt_Revert = BLL.WorkOrderRevert.Instance.GetWorkOrderRevertByOrderID(model.OrderID, " w.CreateTime Asc ");

                    if (dt_Revert != null && dt_Revert.Rows.Count > 0)
                    {
                        string pName  = string.Empty;
                        string cName  = string.Empty;
                        string ctName = string.Empty;
                        if (!string.IsNullOrEmpty(dt_Revert.Rows[0]["ProvinceName"].ToString()))
                        {
                            pName = dt_Revert.Rows[0]["ProvinceName"].ToString();
                        }
                        if (!string.IsNullOrEmpty(dt_Revert.Rows[0]["CityName"].ToString()))
                        {
                            cName = dt_Revert.Rows[0]["CityName"].ToString();
                        }
                        if (!string.IsNullOrEmpty(dt_Revert.Rows[0]["CountyName"].ToString()))
                        {
                            ctName = dt_Revert.Rows[0]["CountyName"].ToString();
                        }
                        if (pName != string.Empty)
                        {
                            custArea = pName + " " + cName + " " + ctName;
                        }
                    }

                    crmCustName = model.CustName;

                    if (!string.IsNullOrEmpty(model.CRMCustID) && model.CRMCustID != "-2")
                    {
                        crmCustNameUrl = "<a href='/CustCheck/CrmCustSearch/CustDetail.aspx?CustID=" + model.CRMCustID + "'                                    target='_blank'>" + model.CustName + "</a>";
                    }
                    else
                    {
                        crmCustNameUrl = model.CustName;
                    }

                    contact = model.Contact;
                    tel     = model.ContactTel;
                    status  = model.WorkOrderStatus.ToString();

                    categoryID = model.CategoryID.ToString();
                    if (!string.IsNullOrEmpty(categoryID))
                    {
                        DataTable dtCategory = BLL.WorkOrderCategory.Instance.GetCategoryFullByCategoryID(categoryID);
                        if (dtCategory.Rows.Count == 2)
                        {
                            categoryID2 = "-1";
                            categoryID1 = dtCategory.Select("Level=1")[0]["CID"].ToString();
                        }
                        else if (dtCategory.Rows.Count == 3)
                        {
                            categoryID2 = dtCategory.Select("Level=2")[0]["CID"].ToString();
                            categoryID1 = dtCategory.Select("Level=1")[0]["CID"].ToString();
                        }
                    }
                    priorityLevel   = model.PriorityLevel.ToString();
                    crmCustID       = model.CRMCustID;
                    isComplaintType = model.IsComplaintType.ToString();

                    DataTable dt_Tag = BLL.WorkOrderTag.Instance.GetWorkOrderTagByOrderID(model.OrderID);
                    for (int k = 0; k < dt_Tag.Rows.Count; k++)
                    {
                        tagInfo += dt_Tag.Rows[k]["TagName"].ToString() + ",";
                        tagIDs  += dt_Tag.Rows[k]["TagID"].ToString() + ",";
                    }

                    tagInfo = tagInfo.TrimEnd(',');
                    tagIDs  = tagIDs.TrimEnd(',');
                }
            }
        }