//CustHistoryLog 作废 2016-3-1 强斐
        ////插入 CustHistoryLog表
        //private void InsertCustHistoryLog(CustHistoryLog model)
        //{
        //    if (model != null)
        //    {
        //        BLL.CustHistoryLog.Instance.Insert(model);//日志
        //        string action = string.Empty;
        //        switch (model.Action)
        //        {
        //            case (int)Entities.Action.ActionSumbit: action = "提交";
        //                break;
        //            case (int)Entities.Action.ActionTurnOut: action = "转出";
        //                break;
        //            case (int)Entities.Action.ActionApplyTurn: action = "申请转出";
        //                break;
        //            case (int)Entities.Action.ActionTurnOver: action = "结束";
        //                break;
        //            case (int)Entities.Action.ActionAgreeApplyTurn: action = "同意转出";
        //                break;
        //            case (int)Entities.Action.ActionCallOut: action = "呼出";
        //                break;
        //        }
        //        string status = string.Empty;
        //        switch (model.Status)
        //        {
        //            case (int)Entities.ProcessStatus.ProcessSolve: status = "已解决";
        //                break;
        //            case (int)Entities.ProcessStatus.ProcessUnresolved: status = "未解决";
        //                break;
        //            case (int)Entities.ProcessStatus.ProcessNotSolve: status = "不解决";
        //                break;
        //        }
        //        BLL.Util.InsertUserLog("【CustHistoryLog】客户历史信息处理日志表【插入】任务ID:【" + model.TaskID + "】受理人:【" + BLL.Util.GetEmployeeNameByEID(int.Parse(model.SolveUserEID.ToString())) + "】处理意见:【" + model.Comment + "】动作:【" + action + "】处理状态:【" + status + "】pid:【" + model.Pid + "】的记录");
        //    }
        //}

        //private void UpdateCustHistoryLog(CustHistoryLog model)
        //{
        //    if (model != null)
        //    {
        //        BLL.CustHistoryLog.Instance.Update(model);//日志
        //        string action = string.Empty;
        //        switch (model.Action)
        //        {
        //            case (int)Entities.Action.ActionSumbit: action = "提交";
        //                break;
        //            case (int)Entities.Action.ActionTurnOut: action = "转出";
        //                break;
        //            case (int)Entities.Action.ActionApplyTurn: action = "申请转出";
        //                break;
        //            case (int)Entities.Action.ActionTurnOver: action = "结束";
        //                break;
        //            case (int)Entities.Action.ActionAgreeApplyTurn: action = "同意转出";
        //                break;
        //            case (int)Entities.Action.ActionCallOut: action = "呼出";
        //                break;
        //        }
        //        string status = string.Empty;
        //        switch (model.Status)
        //        {
        //            case (int)Entities.ProcessStatus.ProcessSolve: status = "已解决";
        //                break;
        //            case (int)Entities.ProcessStatus.ProcessUnresolved: status = "未解决";
        //                break;
        //            case (int)Entities.ProcessStatus.ProcessNotSolve: status = "不解决";
        //                break;
        //        }
        //        BLL.Util.InsertUserLog("【CustHistoryLog】客户历史信息处理日志表【修改】任务ID:【" + model.TaskID + "】受理人:【" + BLL.Util.GetEmployeeNameByEID(int.Parse(model.SolveUserEID.ToString())) + "】处理意见:【" + model.Comment + "】动作:【" + action + "】处理状态:【" + status + "】pid:【" + model.Pid + "】的记录");
        //    }
        //}


        //修改:客户历史记录信息表CustHistoryInfo

        private void UpdateCustHistoryInfo(CustHistoryInfo model)
        {
            if (model != null)
            {
                Entities.CustHistoryInfo pre_Model = BLL.CustHistoryInfo.Instance.GetCustHistoryInfo(model.RecID);
                string preIsComplaint   = pre_Model.IsComplaint.ToString();
                string preProcessStatus = pre_Model.ProcessStatus.ToString();
                string preIsSendEmail   = pre_Model.IsSendEmail.ToString();

                BLL.CustHistoryInfo.Instance.Update(model);

                string updateStr = string.Empty;
                if (preIsComplaint != model.IsComplaint.ToString())
                {
                    updateStr += "【是否投诉】从【" + (preIsComplaint.ToLower() == "true" ? "是" : "否") + "】修改为【" + (model.IsComplaint.ToString().ToLower() == "true" ? "是" : "否") + "】";
                }
                if (preProcessStatus != model.ProcessStatus.ToString())
                {
                    updateStr += "【任务状态】从【" + getProcessStatusByID(int.Parse(preProcessStatus)) + "】修改为【" + getProcessStatusByID(int.Parse(model.ProcessStatus.ToString())) + "】";
                }
                if (preIsSendEmail != model.IsSendEmail.ToString())
                {
                    updateStr += "【是否确认发送邮件】从【" + (preIsSendEmail.ToLower() == "true" ? "是" : "否") + "】修改为【" + (model.IsSendEmail.ToString().ToLower() == "true" ? "是" : "否") + "】";
                }
                BLL.Util.InsertUserLog("【CustHistoryInfo】客户历史记录信息表【修改】主键:【" + model.RecID + "】的记录");
            }
        }
        //同意转出
        private void AgreeTurnOut(out string msg)
        {
            msg = string.Empty;

            if (RequestTCSTaskID == "")
            {
                msg = "{'result':'no','msg':'没有任务ID,操作失败!'}";
                return;
            }

            Entities.CustHistoryInfo model_CustHistoryInfo = getModelCustHistoryInfoByTaskID(RequestTCSTaskID);
            if (model_CustHistoryInfo == null)
            {
                msg = "{'result':'no','msg':'没有找到该条任务记录,操作失败!'}";
                return;
            }

            //1 修改客户历史记录信息表:是否确定投诉 可修改,是否确认发送邮件 必须修改为true,任务状态 必须修改为“处理中”
            model_CustHistoryInfo.IsSendEmail = true;
            if (RequestIsComplaint != "")
            {
                model_CustHistoryInfo.IsComplaint = bool.Parse(RequestIsComplaint);
            }
            model_CustHistoryInfo.ProcessStatus = (int)Entities.EnumTaskStatus.TaskStatusNow;

            UpdateCustHistoryInfo(model_CustHistoryInfo);


            //2 修改当前受理人表中记录:状态改为1有效
            QueryTaskCurrentSolveUser query = new QueryTaskCurrentSolveUser();

            query.TaskID = model_CustHistoryInfo.TaskID;
            int       count;
            DataTable dt = BLL.TaskCurrentSolveUser.Instance.GetTaskCurrentSolveUser(query, "", 1, 10000, out count);

            if (dt.Rows.Count == 0)
            {
                msg = "{'result':'no','msg':'没有找到转发受理人,操作失败!'}";
                return;
            }
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                UpdateTaskCurrentSolveUser(dt.Rows[i]["RecID"].ToString(), 1);
            }

            //3 发送邮件
            sendEmailByType(1, RequestTCSTaskID, 0, model_CustHistoryInfo.CustID, 0);

            //4 插入 客户历史信息处理日志 (动作记录)
            InsertCustHistoryLogByAction(model_CustHistoryInfo.TaskID, RequestComment, (int)Entities.Action.ActionAgreeApplyTurn);//动作:同意转出

            msg = "{'result':'yes','msg':'邮件发送成功,操作成功!'}";
        }
예제 #3
0
        /// 更新CustHistoryInfo表 外呼挂断:工单,客户核实,其他任务,接口,集客,弹屏
        /// <summary>
        /// 更新CustHistoryInfo表 外呼挂断:工单,客户核实,其他任务,接口,集客,弹屏
        /// </summary>
        /// <param name="custhistoryinfo">CustID,TaskID,CallRecordID,RecordType,CreateUserID</param>
        /// <param name="msg">返回调用结果信息</param>
        public void InsertOrUpdateCustHistoryInfo(Entities.CustHistoryInfo custhistoryinfo, out string msg)
        {
            msg = "'result':'false'";
            try
            {
                int bType = custhistoryinfo.BusinessType.HasValue ? custhistoryinfo.BusinessType.Value : -1;
                //校验
                if (string.IsNullOrEmpty(custhistoryinfo.TaskID) || string.IsNullOrEmpty(custhistoryinfo.CustID) || bType <= 0)
                {
                    Loger.Log4Net.Info("[维护CustHistoryInfo] 参数错误失败【客户号】" + custhistoryinfo.CustID + "【任务ID】" + custhistoryinfo.TaskID + "【话务RecID】" + custhistoryinfo.CallRecordID + "【类型】" + bType + "【操作人】" + custhistoryinfo.CreateUserID + "【操作时间】" + DateTime.Now);
                    return;
                }
                string logDesc = string.Empty;

                //判断该TaskID是否有过记录,有记录更新,无记录就插入一条.
                Entities.CustHistoryInfo model = BLL.CustHistoryInfo.Instance.GetCustHistoryInfo(custhistoryinfo.TaskID, custhistoryinfo.CustID, bType);
                if (model == null)
                {
                    //model=null 表示不存在联系记录需要插入
                    model = custhistoryinfo;
                    BLL.CustHistoryInfo.Instance.Insert(model);
                    logDesc = "[新增CustHistoryInfo] 表插入记录:【TaskID】" + custhistoryinfo.TaskID + "【CallRecordID】" + custhistoryinfo.CallRecordID + "【CustID】" + custhistoryinfo.CustID + "【RecordType】" + bType + "【CreateTime】" + model.CreateTime + "【CreateUserID】" + custhistoryinfo.CreateUserID + "【RecordType】" + custhistoryinfo.RecordType;
                }
                else
                {
                    //存在记录,则更新
                    model.CallRecordID = custhistoryinfo.CallRecordID;
                    model.RecordType   = custhistoryinfo.RecordType;
                    BLL.CustHistoryInfo.Instance.Update(model);
                    logDesc = "[修改CustHistoryInfo] 表更新记录:【RecID】" + model.RecID + "【CallRecordID】" + custhistoryinfo.CallRecordID + "【RecordType】" + custhistoryinfo.RecordType;
                }

                try
                {
                    Loger.Log4Net.Info(logDesc);
                    BLL.Util.InsertUserLogNoUser(logDesc);
                }
                catch (Exception ex)
                {
                    Loger.Log4Net.Error("[维护CustHistoryInfo] 日志失败:原因:", ex);
                }
                msg = "'result':'true'";
            }
            catch (Exception)
            {
                msg = "'result':'false'";
                Loger.Log4Net.Info("[维护CustHistoryInfo] 失败【客户号】" + custhistoryinfo.CustID + "【任务ID】" + custhistoryinfo.TaskID + "【操作人】" + custhistoryinfo.CreateUserID + "【操作时间】" + DateTime.Now);
            }
        }
 /// <summary>
 /// 取客户历史记录信息
 /// </summary>
 /// <param name="model"></param>
 /// <param name="CustID"></param>
 /// <param name="ConsultID"></param>
 /// <param name="racid"></param>
 /// <param name="userid"></param>
 public void GetCustHistoryInfoModel(Entities.CustHistoryInfo model, string CustID, int ConsultID, int racid, int userid)
 {
     model.TaskID = "TK" + BLL.ConsultNewCar.Instance.GetCurrMaxID().ToString();
     //int intVal = 0;
     //if (CALLID != "" && int.TryParse(CALLID, out intVal))
     //{
     //    model.CallRecordID = int.Parse(CALLID);
     //}
     model.CustID          = CustID;
     model.RecordType      = 1;
     model.ConsultID       = int.Parse(ConsultID.ToString());
     model.ConsultDataID   = int.Parse(racid.ToString());
     model.QuestionQuality = (int)QuestionNature.NatureCommon;//默认普通
     model.ProcessStatus   = (int)EnumTaskStatus.TaskStatusOver;
     model.CreateTime      = DateTime.Now;
     model.CreateUserID    = userid;
 }
        public TaskDetail()
        {
            //根据任务ID获取主键ID 通过用户控件获取用户基本信息
            QueryCustHistoryInfo query = new QueryCustHistoryInfo();

            query.TaskID = RequestTaskID;
            int       count;
            DataTable dt = BLL.CustHistoryInfo.Instance.GetCustHistoryInfo(query, "", 1, 10000, Entities.CustHistoryInfo.SelectFieldStr, out count);

            if (dt.Rows.Count > 0)
            {
                Entities.CustHistoryInfo Model_CustHistoryInfo = BLL.CustHistoryInfo.Instance.GetCustHistoryInfo(long.Parse(dt.Rows[0]["RecID"].ToString()));
                RequestConsultDataID = Model_CustHistoryInfo.ConsultDataID.ToString();
                RequestRecordType    = Model_CustHistoryInfo.RecordType.ToString();
                RequestConsultID     = Model_CustHistoryInfo.ConsultID.ToString();
                RequestCustID        = Model_CustHistoryInfo.CustID;
            }
        }
예제 #6
0
 public ExternalTaskProcess()
 {
     if (RequestTaskID != "")
     {
         //根据任务ID获取主键ID 通过用户控件获取用户基本信息
         QueryCustHistoryInfo query_info = new QueryCustHistoryInfo();
         query_info.TaskID = RequestTaskID;
         int       count;
         DataTable dt_info = BLL.CustHistoryInfo.Instance.GetCustHistoryInfo(query_info, "", 1, 10000, Entities.CustHistoryInfo.SelectFieldStr, out count);
         if (dt_info.Rows.Count == 1)
         {
             Entities.CustHistoryInfo Model_CustHistoryInfo = BLL.CustHistoryInfo.Instance.GetCustHistoryInfo(long.Parse(dt_info.Rows[0]["RecID"].ToString()));
             RequestConsultDataID = Model_CustHistoryInfo.ConsultDataID.ToString();
             RequestRecordType    = Model_CustHistoryInfo.RecordType.ToString();
             RequestConsultID     = Model_CustHistoryInfo.ConsultID.ToString();
             RequestCustID        = Model_CustHistoryInfo.CustID;
         }
     }
 }
예제 #7
0
        /// <summary>
        ///  增加一条数据
        /// </summary>
        public int Insert(SqlTransaction sqltran, Entities.CustHistoryInfo model)
        {
            SqlParameter[] parameters =
            {
                new SqlParameter("@RecID",             SqlDbType.Int,        8),
                new SqlParameter("@TaskID",            SqlDbType.VarChar,   20),
                new SqlParameter("@CallRecordID",      SqlDbType.BigInt,     8),
                new SqlParameter("@CustID",            SqlDbType.VarChar,   20),
                new SqlParameter("@RecordType",        SqlDbType.Int,        4),
                new SqlParameter("@ConsultID",         SqlDbType.Int,        4),
                new SqlParameter("@ConsultDataID",     SqlDbType.Int,        4),
                new SqlParameter("@QuestionQuality",   SqlDbType.Int,        4),
                new SqlParameter("@LastTreatmentTime", SqlDbType.DateTime),
                new SqlParameter("@IsComplaint",       SqlDbType.Bit,        1),
                new SqlParameter("@ProcessStatus",     SqlDbType.Int,        4),
                new SqlParameter("@IsSendEmail",       SqlDbType.Bit,        1),
                new SqlParameter("@CreateTime",        SqlDbType.DateTime),
                new SqlParameter("@CreateUserID",      SqlDbType.Int,        4),
                new SqlParameter("@BusinessType",      SqlDbType.Int, 4)
            };
            parameters[0].Direction = ParameterDirection.Output;
            parameters[1].Value     = model.TaskID;
            parameters[2].Value     = model.CallRecordID;
            parameters[3].Value     = model.CustID;
            parameters[4].Value     = model.RecordType;
            parameters[5].Value     = model.ConsultID;
            parameters[6].Value     = model.ConsultDataID;
            parameters[7].Value     = model.QuestionQuality;
            parameters[8].Value     = model.LastTreatmentTime;
            parameters[9].Value     = model.IsComplaint;
            parameters[10].Value    = model.ProcessStatus;
            parameters[11].Value    = model.IsSendEmail;
            parameters[12].Value    = model.CreateTime;
            parameters[13].Value    = model.CreateUserID;
            parameters[14].Value    = model.BusinessType;

            SqlHelper.ExecuteNonQuery(sqltran, CommandType.StoredProcedure, P_CUSTHISTORYINFO_INSERT, parameters);
            return((int)parameters[0].Value);
        }
예제 #8
0
        /// <summary>
        ///  更新一条数据
        /// </summary>
        public int Update(Entities.CustHistoryInfo model)
        {
            SqlParameter[] parameters =
            {
                new SqlParameter("@RecID",             SqlDbType.BigInt,     8),
                new SqlParameter("@TaskID",            SqlDbType.VarChar,   20),
                new SqlParameter("@CallRecordID",      SqlDbType.BigInt,     8),
                new SqlParameter("@CustID",            SqlDbType.VarChar,   20),
                new SqlParameter("@RecordType",        SqlDbType.Int,        4),
                new SqlParameter("@ConsultID",         SqlDbType.Int,        4),
                new SqlParameter("@ConsultDataID",     SqlDbType.Int,        4),
                new SqlParameter("@QuestionQuality",   SqlDbType.Int,        4),
                new SqlParameter("@LastTreatmentTime", SqlDbType.DateTime),
                new SqlParameter("@IsComplaint",       SqlDbType.Bit,        1),
                new SqlParameter("@ProcessStatus",     SqlDbType.Int,        4),
                new SqlParameter("@IsSendEmail",       SqlDbType.Bit,        1),
                new SqlParameter("@CreateTime",        SqlDbType.DateTime),
                new SqlParameter("@CreateUserID",      SqlDbType.Int,        4),
                new SqlParameter("@BusinessType",      SqlDbType.Int, 4)
            };
            parameters[0].Value  = model.RecID;
            parameters[1].Value  = model.TaskID;
            parameters[2].Value  = model.CallRecordID;
            parameters[3].Value  = model.CustID;
            parameters[4].Value  = model.RecordType;
            parameters[5].Value  = model.ConsultID;
            parameters[6].Value  = model.ConsultDataID;
            parameters[7].Value  = model.QuestionQuality;
            parameters[8].Value  = model.LastTreatmentTime;
            parameters[9].Value  = model.IsComplaint;
            parameters[10].Value = model.ProcessStatus;
            parameters[11].Value = model.IsSendEmail;
            parameters[12].Value = model.CreateTime;
            parameters[13].Value = model.CreateUserID;
            parameters[14].Value = model.BusinessType;

            return(SqlHelper.ExecuteNonQuery(CONNECTIONSTRINGS, CommandType.StoredProcedure, P_CUSTHISTORYINFO_UPDATE, parameters));
        }
        /// <summary>
        /// 校验
        /// </summary>
        private bool Valid(int rowNum, IDataReader reader, out StringBuilder ex, int userid, out StringBuilder exportstr)
        {
            ex        = new StringBuilder();
            exportstr = new StringBuilder();

            string UserName = string.Empty;

            UserName = reader[0].ToString().Trim();

            string Sex = string.Empty;

            Sex = reader[1].ToString().Trim();

            string Tel1 = string.Empty;

            Tel1 = reader[2].ToString().Trim();

            string CustCategory = string.Empty;

            CustCategory = reader[3].ToString().Trim();

            string Tel2 = string.Empty;

            Tel2 = reader[4].ToString().Trim();

            string Email = string.Empty;

            Email = reader[5].ToString().Trim();

            string Province = string.Empty;

            Province = reader[6].ToString().Trim();

            string City = string.Empty;

            City = reader[7].ToString().Trim();

            string County = string.Empty;

            County = reader[8].ToString().Trim();

            string Address = string.Empty;

            Address = reader[9].ToString().Trim();

            string DataSource = string.Empty;

            DataSource = reader[10].ToString().Trim();
            //咨询类型
            string EnquiryType = string.Empty;

            EnquiryType = reader[11].ToString().Trim();


            string Brand = string.Empty;

            Brand = reader[12].ToString().Trim();

            string Models = string.Empty;

            Models = reader[13].ToString().Trim();

            //推荐经销商名称
            string DealerName = string.Empty;

            DealerName = reader[14].ToString().Trim();

            //来电记录
            string PhoneRecord = string.Empty;

            PhoneRecord = reader[15].ToString().Trim();

            bool insertflag = true;



            //会员ID号验证
            if (string.IsNullOrEmpty(UserName) || UserName.Length == 0)
            {
                ex.Append("[姓名]不可为空。");
                insertflag = false;
            }
            else
            {
                if (BLL.Util.GetLength(UserName) > 50)
                {
                    ex.Append("[姓名]超长。");
                    insertflag = false;
                }
            }
            if (string.IsNullOrEmpty(Sex) || Sex.Length == 0)
            {
                ex.Append("[性别]不可为空。");
                insertflag = false;
            }
            else
            {
                if (Sex != "男" && Sex != "女")
                {
                    ex.Append("[性别]输入错误。");
                    insertflag = false;
                }
            }
            if (string.IsNullOrEmpty(Tel1) || Tel1.Length == 0)
            {
                ex.Append("[电话1]不可为空。");
                insertflag = false;
            }
            else
            {
                if (BLL.Util.IsTelephone(Tel1) == false && BLL.Util.IsHandset(Tel1) == false)
                {
                    ex.Append("[电话]输入错误。");
                    insertflag = false;
                }
            }

            if (string.IsNullOrEmpty(CustCategory) || CustCategory.Length == 0)
            {
                ex.Append("[客户分类]不可为空。");
                insertflag = false;
            }
            else
            {
                if (CustCategory != "已购车" && CustCategory != "未购车" && CustCategory != "经销商")
                {
                    ex.Append("[客户分类]输入错误。");
                    insertflag = false;
                }
            }
            if (!string.IsNullOrEmpty(Tel2))
            {
                if (BLL.Util.IsTelephone(Tel2) == false && BLL.Util.IsHandset(Tel2) == false)
                {
                    ex.Append("[电话2]输入错误。");
                    insertflag = false;
                }
            }
            if (!string.IsNullOrEmpty(Email))
            {
                if (BLL.Util.IsEmail(Email) == false)
                {
                    ex.Append("[邮箱]输入错误。");
                    insertflag = false;
                }
            }
            if (!string.IsNullOrEmpty(Address))
            {
                if (BLL.Util.GetLength(Address) > 200)
                {
                    ex.Append("[地址]超长。");
                    insertflag = false;
                }
            }

            if (!string.IsNullOrEmpty(DataSource))
            {
                if (DataSource != "呼叫中心" && DataSource != "在线" && DataSource != "汽车通" && DataSource != "车易通")
                {
                    ex.Append("[数据来源]输入错误。");
                    insertflag = false;
                }
            }

            if (!string.IsNullOrEmpty(EnquiryType))
            {
                if (EnquiryType != "新车" && EnquiryType != "二手车" && EnquiryType != "个人反馈" && EnquiryType != "活动" && EnquiryType != "个人用车" && EnquiryType != "个人其他" && EnquiryType != "经销商合作" && EnquiryType != "经销商反馈" && EnquiryType != "经销商其他")
                {
                    ex.Append("[咨询类型]输入错误。");
                    insertflag = false;
                }
            }
            if (!string.IsNullOrEmpty(DealerName))
            {
                if (BLL.Util.GetLength(DealerName) > 200)
                {
                    ex.Append("[推荐经销商]超长。");
                    insertflag = false;
                }
            }
            if (!string.IsNullOrEmpty(PhoneRecord))
            {
                if (BLL.Util.GetLength(PhoneRecord) > 2000)
                {
                    ex.Append("[来电记录]超长。");
                    insertflag = false;
                }
            }
            string provinceID = "0";

            //验证省份城市
            if (!string.IsNullOrEmpty(Province))
            {
                provinceID = BitAuto.YanFa.Crm2009.BLL.AreaInfo.Instance.GetAreaIdByName(Province, 1);
                if (provinceID == "0")
                {
                    ex.Append("[地区(省)]输入错误。");
                    insertflag = false;
                }
            }
            string CityID = "0";

            //验证省份城市
            if (!string.IsNullOrEmpty(City))
            {
                CityID = BitAuto.YanFa.Crm2009.BLL.AreaInfo.Instance.GetAreaIdByName(City, 2);
                if (CityID == "0")
                {
                    ex.Append("[地区(市)]输入错误。");
                    insertflag = false;
                }
            }
            string CountryID = "0";

            //验证区县
            if (!string.IsNullOrEmpty(County))
            {
                CountryID = BitAuto.YanFa.Crm2009.BLL.AreaInfo.Instance.GetAreaIdByName(County, 3);
                if (CountryID == "0")
                {
                    ex.Append("[地区(区县)]输入错误。");
                    insertflag = false;
                }
            }
            //验证车型
            string BrandID = "0";

            if (!string.IsNullOrEmpty(Brand))
            {
                DataTable dt = BLL.BuyCarInfo.Instance.GetCarBrandByName(Brand);
                if (dt != null && dt.Rows.Count > 0)
                {
                    BrandID = dt.Rows[0]["Brandid"].ToString();
                }
                else
                {
                    ex.Append("[品牌]输入错误。");
                    insertflag = false;
                }
            }

            //验证车系
            string CarModelsID = "0";

            if (!string.IsNullOrEmpty(Models))
            {
                DataTable dt = BLL.BuyCarInfo.Instance.GetCarSerialByName(Models);
                if (dt != null && dt.Rows.Count > 0)
                {
                    CarModelsID = dt.Rows[0]["serialid"].ToString();
                }
                else
                {
                    ex.Append("[车系]输入错误。");
                    insertflag = false;
                }
            }

            //如果验证通过,插入
            if (insertflag)
            {
                bool flag = false;
                flag = BLL.CustBasicInfo.Instance.IsExistsByCustNameAndTel(UserName, Tel1);

                if (flag)
                {
                    ex.Append("记录[姓名],[电话1]已存在。");
                    insertflag = false;
                }
                else
                {
                    Entities.CustBasicInfo CustBasicInfoModel = new Entities.CustBasicInfo();
                    CustBasicInfoModel.Status       = 0;
                    CustBasicInfoModel.CustName     = UserName;
                    CustBasicInfoModel.Sex          = (Sex == "男" ? 1 : 2);
                    CustBasicInfoModel.CreateTime   = System.DateTime.Now;
                    CustBasicInfoModel.CreateUserID = userid;
                    if (CustCategory == "已购车")
                    {
                        CustBasicInfoModel.CustCategoryID = 1;
                    }
                    else if (CustCategory == "未购车")
                    {
                        CustBasicInfoModel.CustCategoryID = 2;
                    }
                    else
                    {
                        CustBasicInfoModel.CustCategoryID = 3;
                    }
                    if (provinceID != "0")
                    {
                        CustBasicInfoModel.ProvinceID = Convert.ToInt32(provinceID);
                    }
                    if (CityID != "0")
                    {
                        CustBasicInfoModel.CityID = Convert.ToInt32(CityID);
                    }
                    if (CountryID != "0")
                    {
                        CustBasicInfoModel.CountyID = Convert.ToInt32(CountryID);
                    }

                    if (!string.IsNullOrEmpty(Address))
                    {
                        CustBasicInfoModel.Address = Address;
                    }

                    if (!string.IsNullOrEmpty(DataSource))
                    {
                        if (DataSource == "呼叫中心")
                        {
                            CustBasicInfoModel.DataSource = 180001;
                        }
                        else if (DataSource == "在线")
                        {
                            CustBasicInfoModel.DataSource = 180002;
                        }
                        else if (DataSource == "汽车通")
                        {
                            CustBasicInfoModel.DataSource = 180003;
                        }
                        else if (DataSource == "车易通")
                        {
                            CustBasicInfoModel.DataSource = 180004;
                        }
                    }
                    string CustID = string.Empty;
                    int    rerVal = 0;
                    //客户历史记录信息主键
                    int custhistoryVal = 0;
                    try
                    {
                        //功能废弃
                        CustID = null;// BLL.CustBasicInfo.Instance.Insert(CustBasicInfoModel);
                        Entities.CustTel custTel1 = new Entities.CustTel();
                        //电话去掉‘-’

                        if (Tel1.IndexOf('-') > 0)
                        {
                            custTel1.Tel = Tel1.Remove(Tel1.IndexOf('-'), 1);
                        }
                        else
                        {
                            custTel1.Tel = Tel1;
                        }


                        custTel1.CustID       = CustID;
                        custTel1.CreateTime   = System.DateTime.Now;
                        custTel1.CreateUserID = userid;
                        BLL.CustTel.Instance.Insert(custTel1);
                        Entities.CustTel custTel2 = null;
                        if (!string.IsNullOrEmpty(Tel2))
                        {
                            custTel2 = new Entities.CustTel();
                            if (Tel2.IndexOf('-') > 0)
                            {
                                custTel2.Tel = Tel2.Remove(Tel2.IndexOf('-'), 1);
                            }
                            else
                            {
                                custTel2.Tel = Tel2;
                            }
                            custTel2.CustID       = CustID;
                            custTel2.CreateTime   = System.DateTime.Now;
                            custTel2.CreateUserID = userid;
                            BLL.CustTel.Instance.Insert(custTel2);
                        }
                        Entities.CustEmail custemail = null;
                        if (!string.IsNullOrEmpty(Email))
                        {
                            custemail              = new Entities.CustEmail();
                            custemail.Email        = Email;
                            custemail.CustID       = CustID;
                            custemail.CreateTime   = System.DateTime.Now;
                            custemail.CreateUserID = userid;
                            BLL.CustEmail.Instance.Insert(custemail);
                        }

                        //if (EnquiryType != "新车" && EnquiryType != "二手车" && EnquiryType != "个人反馈" && EnquiryType != "活动" && EnquiryType != "个人用车" && EnquiryType != "个人其他" && EnquiryType != "经销商合作" && EnquiryType != "经销商反馈" && EnquiryType != "经销商其他")

                        Entities.CustHistoryInfo CustHistoryInfoModel = null;

                        if (EnquiryType == "新车")
                        {
                            Entities.ConsultNewCar ConsultNewCarModel = new Entities.ConsultNewCar();
                            ConsultNewCarModel.CustID = CustID;
                            if (BrandID != "0")
                            {
                                ConsultNewCarModel.CarBrandId = Convert.ToInt32(BrandID);
                            }
                            if (CarModelsID != "0")
                            {
                                ConsultNewCarModel.CarSerialId = Convert.ToInt32(CarModelsID);
                            }
                            if (!string.IsNullOrEmpty(DealerName))
                            {
                                ConsultNewCarModel.DealerName = DealerName;
                            }
                            if (!string.IsNullOrEmpty(PhoneRecord))
                            {
                                ConsultNewCarModel.CallRecord = PhoneRecord;
                            }
                            ConsultNewCarModel.CreateTime   = System.DateTime.Now;
                            ConsultNewCarModel.CreateUserID = userid;
                            rerVal = BLL.ConsultNewCar.Instance.Insert(ConsultNewCarModel);

                            CustHistoryInfoModel = new CustHistoryInfo();

                            GetCustHistoryInfoModel(CustHistoryInfoModel, CustID, (int)ConsultType.NewCar, rerVal, userid);
                        }
                        else if (EnquiryType == "二手车")
                        {
                            Entities.ConsultSecondCar ConsultSecondCarModel = new Entities.ConsultSecondCar();
                            ConsultSecondCarModel.CustID = CustID;
                            if (BrandID != "0")
                            {
                                ConsultSecondCarModel.CarBrandId = Convert.ToInt32(BrandID);
                            }
                            if (CarModelsID != "0")
                            {
                                ConsultSecondCarModel.CarSerialId = Convert.ToInt32(CarModelsID);
                            }

                            if (!string.IsNullOrEmpty(PhoneRecord))
                            {
                                ConsultSecondCarModel.CallRecord = PhoneRecord;
                            }
                            ConsultSecondCarModel.CreateTime   = System.DateTime.Now;
                            ConsultSecondCarModel.CreateUserID = userid;
                            rerVal = BLL.ConsultSecondCar.Instance.Insert(ConsultSecondCarModel);

                            CustHistoryInfoModel = new CustHistoryInfo();

                            GetCustHistoryInfoModel(CustHistoryInfoModel, CustID, (int)ConsultType.SecondCar, rerVal, userid);
                        }
                        else if (EnquiryType == "个人反馈")
                        {
                            Entities.ConsultPFeedback ConsultPFeedbackModel = new Entities.ConsultPFeedback();
                            ConsultPFeedbackModel.CustID = CustID;


                            if (!string.IsNullOrEmpty(PhoneRecord))
                            {
                                ConsultPFeedbackModel.CallRecord = PhoneRecord;
                            }
                            ConsultPFeedbackModel.CreateTime   = System.DateTime.Now;
                            ConsultPFeedbackModel.CreateUserID = userid;
                            rerVal = BLL.ConsultPFeedback.Instance.Insert(ConsultPFeedbackModel);

                            CustHistoryInfoModel = new CustHistoryInfo();

                            GetCustHistoryInfoModel(CustHistoryInfoModel, CustID, (int)ConsultType.PFeedback, rerVal, userid);
                        }
                        //else if (EnquiryType == "活动")
                        //{
                        //    Entities.ConsultActivity ConsultActivityModel = new Entities.ConsultActivity();
                        //    ConsultActivityModel.CustID = CustID;

                        //    if (!string.IsNullOrEmpty(Brand))
                        //    {
                        //        ConsultActivityModel.BrandName = Brand;
                        //    }

                        //    if (!string.IsNullOrEmpty(PhoneRecord))
                        //    {
                        //        ConsultActivityModel.CallRecord = PhoneRecord;
                        //    }
                        //    ConsultActivityModel.CreateTime = System.DateTime.Now;
                        //    ConsultActivityModel.CreateUserID = userid;
                        //    rerVal = BLL.ConsultActivity.Instance.Insert(ConsultActivityModel);

                        //    CustHistoryInfoModel = new CustHistoryInfo();

                        //    GetCustHistoryInfoModel(CustHistoryInfoModel, CustID, (int)ConsultType.Activity, rerVal, userid);
                        //}
                        else if (EnquiryType == "个人其他")
                        {
                            Entities.ConsultPOther ConsultPOtherModel = new Entities.ConsultPOther();
                            ConsultPOtherModel.CustID = CustID;

                            ConsultPOtherModel.CreateTime   = System.DateTime.Now;
                            ConsultPOtherModel.CreateUserID = userid;

                            if (!string.IsNullOrEmpty(PhoneRecord))
                            {
                                ConsultPOtherModel.CallRecord = PhoneRecord;
                            }
                            rerVal = BLL.ConsultPOther.Instance.Insert(ConsultPOtherModel);


                            CustHistoryInfoModel = new CustHistoryInfo();

                            GetCustHistoryInfoModel(CustHistoryInfoModel, CustID, (int)ConsultType.POther, rerVal, userid);
                        }

                        else if (EnquiryType == "个人用车")
                        {
                            Entities.ConsultPUseCar ConsultPUseCarModel = new Entities.ConsultPUseCar();
                            ConsultPUseCarModel.CustID = CustID;

                            ConsultPUseCarModel.CreateTime   = System.DateTime.Now;
                            ConsultPUseCarModel.CreateUserID = userid;

                            if (!string.IsNullOrEmpty(PhoneRecord))
                            {
                                ConsultPUseCarModel.CallRecord = PhoneRecord;
                            }
                            rerVal = BLL.ConsultPUseCar.Instance.Insert(ConsultPUseCarModel);


                            CustHistoryInfoModel = new CustHistoryInfo();

                            GetCustHistoryInfoModel(CustHistoryInfoModel, CustID, (int)ConsultType.PUseCar, rerVal, userid);
                        }

                        else if (EnquiryType == "经销商合作")
                        {
                            Entities.ConsultDCoop ConsultDCoopCarModel = new Entities.ConsultDCoop();
                            ConsultDCoopCarModel.CustID       = CustID;
                            ConsultDCoopCarModel.Type         = 1;
                            ConsultDCoopCarModel.CreateTime   = System.DateTime.Now;
                            ConsultDCoopCarModel.CreateUserID = userid;

                            if (!string.IsNullOrEmpty(PhoneRecord))
                            {
                                ConsultDCoopCarModel.CallRecord = PhoneRecord;
                            }
                            rerVal = BLL.ConsultDCoop.Instance.Insert(ConsultDCoopCarModel);

                            CustHistoryInfoModel = new CustHistoryInfo();

                            GetCustHistoryInfoModel(CustHistoryInfoModel, CustID, (int)ConsultType.DCoop, rerVal, userid);
                        }
                        else if (EnquiryType == "经销商反馈")
                        {
                            Entities.ConsultDCoop ConsultDCoopCarModel = new Entities.ConsultDCoop();
                            ConsultDCoopCarModel.CustID       = CustID;
                            ConsultDCoopCarModel.Type         = 2;
                            ConsultDCoopCarModel.CreateTime   = System.DateTime.Now;
                            ConsultDCoopCarModel.CreateUserID = userid;

                            if (!string.IsNullOrEmpty(PhoneRecord))
                            {
                                ConsultDCoopCarModel.CallRecord = PhoneRecord;
                            }
                            rerVal = BLL.ConsultDCoop.Instance.Insert(ConsultDCoopCarModel);

                            CustHistoryInfoModel = new CustHistoryInfo();

                            GetCustHistoryInfoModel(CustHistoryInfoModel, CustID, (int)ConsultType.DCoopFeedback, rerVal, userid);
                        }
                        else if (EnquiryType == "经销商其他")
                        {
                            Entities.ConsultDCoop ConsultDCoopCarModel = new Entities.ConsultDCoop();
                            ConsultDCoopCarModel.CustID       = CustID;
                            ConsultDCoopCarModel.Type         = 3;
                            ConsultDCoopCarModel.CreateTime   = System.DateTime.Now;
                            ConsultDCoopCarModel.CreateUserID = userid;

                            if (!string.IsNullOrEmpty(PhoneRecord))
                            {
                                ConsultDCoopCarModel.CallRecord = PhoneRecord;
                            }
                            rerVal = BLL.ConsultDCoop.Instance.Insert(ConsultDCoopCarModel);

                            CustHistoryInfoModel = new CustHistoryInfo();

                            GetCustHistoryInfoModel(CustHistoryInfoModel, CustID, (int)ConsultType.DCoopOther, rerVal, userid);
                        }
                        //插入客户历史记录
                        if (CustHistoryInfoModel != null)
                        {
                            //功能废弃
                            custhistoryVal = BLL.CustHistoryInfo.Instance.Insert(CustHistoryInfoModel);
                        }
                    }
                    catch (Exception ex1)
                    {
                        ex.Append("数据插入报错。");
                        insertflag = false;
                        if (CustID != string.Empty)
                        {
                            //回滚数据
                            BLL.CustBasicInfo.Instance.Delete(CustID);
                            BLL.CustTel.Instance.Delete(CustID);
                            BLL.CustEmail.Instance.Delete(CustID);
                            if (EnquiryType == "新车")
                            {
                                BLL.ConsultNewCar.Instance.Delete(rerVal);
                            }
                            else if (EnquiryType == "二手车")
                            {
                                BLL.ConsultSecondCar.Instance.Delete(rerVal);
                            }
                            else if (EnquiryType == "个人反馈")
                            {
                                BLL.ConsultPFeedback.Instance.Delete(rerVal);
                            }
                            else if (EnquiryType == "活动")
                            {
                                BLL.ConsultActivity.Instance.Delete(rerVal);
                            }
                            else if (EnquiryType == "个人其他")
                            {
                                BLL.ConsultPOther.Instance.Delete(rerVal);
                            }

                            else if (EnquiryType == "个人用车")
                            {
                                BLL.ConsultPUseCar.Instance.Delete(rerVal);
                            }

                            else if (EnquiryType == "经销商合作")
                            {
                                BLL.ConsultDCoop.Instance.Delete(rerVal);
                            }
                            else if (EnquiryType == "经销商反馈")
                            {
                                BLL.ConsultDCoop.Instance.Delete(rerVal);
                            }
                            else if (EnquiryType == "经销商其他")
                            {
                                BLL.ConsultDCoop.Instance.Delete(rerVal);
                            }
                            if (custhistoryVal != 0)
                            {
                                BLL.CustHistoryInfo.Instance.Delete(custhistoryVal);
                            }
                        }
                    }
                }
            }
            if (insertflag == false)
            {
                //导出内容
                exportstr.Append(UserName + "|");
                exportstr.Append(Sex + "|");
                exportstr.Append(Tel1 + "|");
                exportstr.Append(CustCategory + "|");
                exportstr.Append(Tel2 + "|");
                exportstr.Append(Email + "|");

                exportstr.Append(Province + "|");

                exportstr.Append(City + "|");
                exportstr.Append(County + "|");

                exportstr.Append(Address + "|");
                exportstr.Append(DataSource + "|");

                exportstr.Append(EnquiryType + "|");
                exportstr.Append(Brand + "|");

                exportstr.Append(Models + "|");
                exportstr.Append(DealerName + "|");

                exportstr.Append(PhoneRecord + "|");
                exportstr.Append(ex.ToString());
            }
            return(insertflag);
        }
        //提交 外部使用(插入客户历史信息处理日志)
        private void CustHistoryLogExternalSubmit(out string msg)
        {
            msg = string.Empty;

            if (RequestCHITaskID == "")
            {
                msg = "{'result':'no','msg':'没有任务ID,操作失败!'}";
                return;
            }

            Entities.CustHistoryInfo model_CustHistoryInfo = getModelCustHistoryInfoByTaskID(RequestCHITaskID);
            if (model_CustHistoryInfo == null)
            {
                msg = "{'result':'no','msg':'没有找到该条任务记录,操作失败!'}";
                return;
            }

            int action = (int)Entities.Action.ActionSumbit;//记录动作 默认:提交

            //1 判断是否存在“转到受理人ID(ToNextSolveUserEID)”存在:向当前受理人表插入一条记录
            int nextSolveEID;

            if (RequestToNextSolveUserEID != "")
            {
                if (int.TryParse(RequestToNextSolveUserEID, out nextSolveEID))
                {
                    //判断登陆者权限 如果权限有高级操作权限,则不需要修改自己的记录 自己添加提交

                    //坐席权限
                    //修改:当前受理人表(修改自己的记录) 状态改为0 无效
                    QueryTaskCurrentSolveUser query_TCSUpdate = new QueryTaskCurrentSolveUser();
                    query_TCSUpdate.TaskID = RequestCHITaskID;
                    query_TCSUpdate.CurrentSolveUserEID = int.Parse(RequestLoginEID);
                    query_TCSUpdate.Status = 1;
                    int       count;
                    DataTable dt_TCSUpdate = BLL.TaskCurrentSolveUser.Instance.GetTaskCurrentSolveUser(query_TCSUpdate, "", 1, 10000, out count);
                    if (dt_TCSUpdate.Rows.Count == 0)
                    {
                        msg = "{'result':'no','msg':'您不是当前受理人,操作失败!'}";
                        return;
                    }
                    for (int i = 0; i < dt_TCSUpdate.Rows.Count; i++)
                    {
                        UpdateTaskCurrentSolveUser(dt_TCSUpdate.Rows[i]["RecID"].ToString(), 0);
                    }

                    // 插入:当前受理人表  (插入转到受理人的记录)
                    TaskCurrentSolveUser model_TCS = new TaskCurrentSolveUser();
                    model_TCS.TaskID = RequestCHITaskID;
                    model_TCS.CurrentSolveUserEID = nextSolveEID;
                    //model_TCS.CurrentSolveUserID = getUserEID(nextSolveEID);
                    model_TCS.Status     = 1;
                    model_TCS.CreateTime = DateTime.Now;
                    int _loginerEID;
                    if (int.TryParse(RequestLoginEID, out _loginerEID))
                    {
                        model_TCS.CreateUserAdName = BLL.Util.GetEmployeeDomainAccountByEid(_loginerEID);
                    }
                    InsertTaskCurrentSolveUser(model_TCS);
                    action = (int)Entities.Action.ActionTurnOut;//动作:转出

                    //发送邮件
                    sendEmailByType(2, RequestCHITaskID, nextSolveEID, model_CustHistoryInfo.CustID, _loginerEID);
                    //sendEmail(RequestCHITaskID, nextSolveEID, model_CustHistoryInfo.CustID);
                }
                else
                {
                    msg = "{'result':'no','msg':'转到下一个受理人ID出错,操作失败!'}";
                    return;
                }
            }

            //2 插入处理信息到CustHistoryLog表
            CustHistoryLog model = new CustHistoryLog();

            model.TaskID = RequestCHITaskID;
            //model.SolveUserID = BLL.Util.GetLoginUserID();
            model.SolveUserEID = int.Parse(RequestLoginEID);
            model.SolveTime    = DateTime.Now;
            model.Comment      = RequestComment;
            model.Action       = action;
            int status;

            if (int.TryParse(RequestCHLStatus, out status))
            {
                model.Status = status;
            }

            int toNextSolveUserEID;

            if (int.TryParse(RequestToNextSolveUserEID, out toNextSolveUserEID))
            {
                model.ToNextSolveUserEID = toNextSolveUserEID;
                //model.ToNextSolveUserID = getUserEID(toNextSolveUserEID);
            }
            int _loginEID;

            if (int.TryParse(RequestLoginEID, out _loginEID))
            {
                long pid = getPIDByNextSolveEID(RequestCHITaskID, _loginEID);
                if (pid != 0)
                {
                    model.Pid = pid;
                }
            }

            InsertCustHistoryLog(model);

            //查找登陆人的客户历史关联邮件模板的记录
            QueryCustHistoryTemplateMapping query_templateMappingOld = new QueryCustHistoryTemplateMapping();

            query_templateMappingOld.TaskID       = model.TaskID;
            query_templateMappingOld.SolveUserEID = model.SolveUserEID;
            int       templateCount;
            DataTable dt_templateMappingOld = BLL.CustHistoryTemplateMapping.Instance.GetCustHistoryTemplateMapping(query_templateMappingOld, "", 1, 10000, out templateCount);

            if (dt_templateMappingOld.Rows.Count > 0)
            {
                int _templateID;
                if (int.TryParse(dt_templateMappingOld.Rows[0]["TemplateID"].ToString(), out _templateID))
                {
                    //插入(下一个受理人)到客户历史关联邮件模板
                    CustHistoryTemplateMapping model_templateMappingNew = new CustHistoryTemplateMapping();
                    model_templateMappingNew.TaskID       = query_templateMappingOld.TaskID;
                    model_templateMappingNew.TemplateID   = _templateID;
                    model_templateMappingNew.SolveUserEID = toNextSolveUserEID;
                    model_templateMappingNew.CreateTime   = DateTime.Now;
                    model_templateMappingNew.CreateUserID = _loginEID;
                    BLL.CustHistoryTemplateMapping.Instance.Insert(model_templateMappingNew);
                }
            }

            msg = "{'result':'yes','msg':'操作成功'}";
        }
예제 #11
0
 public int Insert(SqlTransaction sqltran, Entities.CustHistoryInfo model)
 {
     return(Dal.CustHistoryInfo.Instance.Insert(sqltran, model));
 }
예제 #12
0
 /// 更新一条数据
 /// <summary>
 /// 更新一条数据
 /// </summary>
 public int Update(Entities.CustHistoryInfo model)
 {
     return(Dal.CustHistoryInfo.Instance.Update(model));
 }
예제 #13
0
        public Entities.CustHistoryInfo LoadSingleCustHistoryInfo(DataRow row)
        {
            Entities.CustHistoryInfo model = new Entities.CustHistoryInfo();

            if (row["RecID"].ToString() != "")
            {
                model.RecID = long.Parse(row["RecID"].ToString());
            }
            model.TaskID = row["TaskID"].ToString();
            if (row["CallRecordID"].ToString() != "")
            {
                model.CallRecordID = long.Parse(row["CallRecordID"].ToString());
            }
            model.CustID = row["CustID"].ToString();
            if (row["RecordType"].ToString() != "")
            {
                model.RecordType = int.Parse(row["RecordType"].ToString());
            }
            if (row["ConsultID"].ToString() != "")
            {
                model.ConsultID = int.Parse(row["ConsultID"].ToString());
            }
            if (row["ConsultDataID"].ToString() != "")
            {
                model.ConsultDataID = int.Parse(row["ConsultDataID"].ToString());
            }
            if (row["QuestionQuality"].ToString() != "")
            {
                model.QuestionQuality = int.Parse(row["QuestionQuality"].ToString());
            }
            if (row["LastTreatmentTime"].ToString() != "")
            {
                model.LastTreatmentTime = DateTime.Parse(row["LastTreatmentTime"].ToString());
            }
            if (row["IsComplaint"].ToString() != "")
            {
                if ((row["IsComplaint"].ToString() == "1") || (row["IsComplaint"].ToString().ToLower() == "true"))
                {
                    model.IsComplaint = true;
                }
                else
                {
                    model.IsComplaint = false;
                }
            }
            if (row["ProcessStatus"].ToString() != "")
            {
                model.ProcessStatus = int.Parse(row["ProcessStatus"].ToString());
            }
            if (row["IsSendEmail"].ToString() != "")
            {
                if ((row["IsSendEmail"].ToString() == "1") || (row["IsSendEmail"].ToString().ToLower() == "true"))
                {
                    model.IsSendEmail = true;
                }
                else
                {
                    model.IsSendEmail = false;
                }
            }
            if (row["CreateTime"].ToString() != "")
            {
                model.CreateTime = DateTime.Parse(row["CreateTime"].ToString());
            }
            if (row["CreateUserID"].ToString() != "")
            {
                model.CreateUserID = int.Parse(row["CreateUserID"].ToString());
            }
            if (row["BusinessType"].ToString() != "")
            {
                model.BusinessType = int.Parse(row["BusinessType"].ToString());
            }
            return(model);
        }
        private void Submit(out string msg, int userID)
        {
            //此方法内的逻辑可参考文档:$/A5信息系统研发/销售业务管理平台/客户关系管理/doc/Call Center/无主订单处理页面保存和提交逻辑.docx  ---- Add By Chybin At 2013-07-19

            msg = "";

            //System.Threading.Thread.Sleep(5000);

            #region 准备数据

            NewCarConsultInfo              newInfo        = null;                       //新车订单信息
            ReplaceCarConsultInfo          replaceInfo    = null;                       //置换订单信息
            Entities.OrderTask             orderTaskModel = null;                       //无主订单任务信息
            Entities.OrderTaskOperationLog orderLog       = null;                       //任务操作日志
            List <StringBuilder>           listLogStr     = new List <StringBuilder>(); //用户操作日志
            StringBuilder sblogstr = new StringBuilder();
            string        logstr   = "";

            #region 取得新车/置换无主订单信息更新后Model(此时不保存到数据库)

            Entities.OrderNewCar     newModel     = null; //新车订单实体类
            Entities.OrderRelpaceCar replaceModel = null; //置换订单实体类

            if (Source == "1" || Source == "3")
            {
                newInfo = (NewCarConsultInfo)Newtonsoft.Json.JavaScriptConvert.DeserializeObject(NewCarConsultInfoStr, typeof(NewCarConsultInfo));

                newModel = OrderNewSave.Save(newInfo, out msg, userID, int.Parse(TaskID));
                if (msg != "")
                {
                    return;
                }
            }
            else if (Source == "2")
            {
                replaceInfo  = (ReplaceCarConsultInfo)Newtonsoft.Json.JavaScriptConvert.DeserializeObject(ReplaceCarConsultInfoStr, typeof(ReplaceCarConsultInfo));
                replaceModel = OrderReplaceSave.Save(replaceInfo, out msg, userID, long.Parse(TaskID));
                if (msg != "")
                {
                    return;
                }
            }

            #endregion

            #region 取得任务的更新后信息

            orderTaskModel = BLL.OrderTask.Instance.GetOrderTask(long.Parse(TaskID));
            if (orderTaskModel == null)
            {
                msg += "没有找到相关的任务信息";
                return;
            }

            if (orderTaskModel.TaskStatus != 2 && orderTaskModel.TaskStatus != 3)
            {
                msg += "当前任务状态不能保存和提交";
                return;
            }

            if (orderTaskModel.AssignUserID != userID)
            {
                msg += "此订单没有分配给你";
                return;
            }


            //修改状态
            if (Action == "save")
            {
                orderTaskModel.TaskStatus = (int)TaskStatus.Processing;
            }
            else if (Action == "sub")
            {
                orderTaskModel.TaskStatus = (int)TaskStatus.Processed;
                orderTaskModel.SubmitTime = DateTime.Now;
            }

            //是否已选择经销商 只有在提交时,才会改动该属性 -是否已选择经销商 lxw
            if (Action == "sub")
            {
                if (((Source == "1" || Source == "3") && newModel.DMSMemberCode != "") || (Source == "2" && replaceModel.DMSMemberCode != ""))
                {
                    orderTaskModel.IsSelectDMSMember = true;
                }
                else
                {
                    orderTaskModel.IsSelectDMSMember = false;
                }
            }

            if (Source == "1" || Source == "3")
            {
                orderTaskModel.UserName = newModel.UserName;
            }
            else if (Source == "2")
            {
                orderTaskModel.UserName = replaceModel.UserName;
            }

            if (NoDealerReasonID != "")
            {
                orderTaskModel.NoDealerReasonID = int.Parse(NoDealerReasonID);
            }
            orderTaskModel.NoDealerReason = NoDealerReason;


            #endregion

            #region 任务操作日志

            orderLog = new OrderTaskOperationLog();

            //modify by qizq 2013-1-4首先判断是否是通话中
            if (IsCalling == "1")
            {
                if (HistoryLogID == "")
                {
                    //通话中提交把本地录音主键付给实体
                    long CallRecordReCID = 0;
                    if (CallRecordID != "")
                    {
                        if (long.TryParse(CallRecordID, out CallRecordReCID))
                        {
                            orderLog.CallRecordID = CallRecordReCID;
                        }
                    }
                }
            }
            //


            orderLog.TaskID = int.Parse(TaskID);

            if (Action == "save")
            {
                orderLog.OperationStatus = (int)OperationStatus.Save;
            }
            else if (Action == "sub")
            {
                orderLog.OperationStatus = (int)OperationStatus.Submit;
            }
            orderLog.TaskStatus   = orderTaskModel.TaskStatus;
            orderLog.CreateTime   = DateTime.Now;
            orderLog.CreateUserID = userID;

            #endregion

            #region 如果是提交操作,更新客户信息、插入咨询类型、添加客户联系记录

            Entities.CustBasicInfo          custmodel     = null;       //客户信息实体类
            Entities.CustTel                telPhoneMode  = null;       //电话实体类
            Entities.CustTel                telMobileMode = null;       //电话实体类
            Entities.CustEmail              emailMode     = null;       //邮件实体类
            Entities.ConsultOrderNewCar     cNewCar       = null;       //新车咨询类型
            Entities.ConsultOrderRelpaceCar cReplaceCar   = null;       //置换车咨询类型
            Entities.CustHistoryInfo        custHistInfo  = null;       //客户联系记录

            Entities.BuyCarInfo buyCarInfo = new Entities.BuyCarInfo(); //已购车或未购车信息 lxw

            if (Action == "sub")
            {
                #region 更新或插入客户信息
                //代码失效,功能废弃,需求重新实现
                #endregion

                #region 插入咨询类型

                if (Source == "1" || Source == "3")
                {
                    cNewCar = new ConsultOrderNewCar();

                    #region 赋值

                    cNewCar.CarBrandId   = newModel.CarMasterID;
                    cNewCar.CarSerialId  = newModel.CarSerialID;
                    cNewCar.CarNameID    = newModel.CarTypeID;
                    cNewCar.CarColor     = newModel.CarColor;
                    cNewCar.DealerCode   = newModel.DMSMemberCode;
                    cNewCar.DealerName   = newModel.DMSMemberName;
                    cNewCar.OrderRemark  = newModel.OrderRemark;
                    cNewCar.CallRecord   = newModel.CallRecord;
                    cNewCar.CreateTime   = DateTime.Now;
                    cNewCar.CreateUserID = userID;

                    #endregion
                }
                else if (Source == "2")
                {
                    cReplaceCar = new ConsultOrderRelpaceCar();

                    #region 赋值

                    cReplaceCar.WantBrandId        = replaceModel.RepCarMasterID;
                    cReplaceCar.WantSerialId       = replaceModel.RepCarSerialID;
                    cReplaceCar.WantNameID         = replaceModel.RepCarTypeId;
                    cReplaceCar.WantCarColor       = replaceModel.ReplacementCarColor;
                    cReplaceCar.WantDealerName     = replaceModel.DMSMemberName;
                    cReplaceCar.WantDealerCode     = replaceModel.DMSMemberCode;
                    cReplaceCar.CallRecord         = replaceModel.CallRecord;
                    cReplaceCar.OldBrandId         = replaceModel.CarMasterID;
                    cReplaceCar.OldSerialId        = replaceModel.CarSerialID;
                    cReplaceCar.OldNameID          = replaceModel.CarTypeID;
                    cReplaceCar.OldCarColor        = replaceModel.CarColor;
                    cReplaceCar.RegisterDateYear   = replaceModel.ReplacementCarBuyYear.ToString();
                    cReplaceCar.RegisterDateMonth  = replaceModel.ReplacementCarBuyMonth.ToString();
                    cReplaceCar.RegisterProvinceID = replaceModel.RepCarProvinceID;
                    cReplaceCar.RegisterCityID     = replaceModel.RepCarCityID;
                    cReplaceCar.RegisterCountyID   = replaceModel.RepCarCountyID;
                    cReplaceCar.Mileage            = (decimal)replaceModel.ReplacementCarUsedMiles;
                    cReplaceCar.PresellPrice       = replaceModel.SalePrice;
                    cReplaceCar.OrderRemark        = replaceModel.OrderRemark;
                    cReplaceCar.CreateTime         = DateTime.Now;
                    cReplaceCar.CreateUserID       = userID;

                    #endregion
                }

                #endregion

                #region 插入客户历史记录

                custHistInfo = new CustHistoryInfo();

                #region 赋值

                custHistInfo.TaskID = TaskID;
                if (Source == "1" || Source == "3")
                {
                    custHistInfo.ConsultID = 60010;//新车咨询类型
                }
                else
                {
                    custHistInfo.ConsultID = 60011;//置换咨询类型
                }
                custHistInfo.RecordType        = 2;
                custHistInfo.QuestionQuality   = (int)QuestionNature.NatureCommon;
                custHistInfo.ProcessStatus     = (int)EnumTaskStatus.TaskStatusOver;
                custHistInfo.CreateTime        = DateTime.Now;
                custHistInfo.CreateUserID      = userID;
                custHistInfo.LastTreatmentTime = DateTime.Now;

                #endregion

                #endregion
            }

            #endregion

            #endregion

            #region 事务提交

            string        connectionstrings = ConfigurationUtil.GetAppSettingValue("ConnectionStrings_CC");
            SqlConnection connection        = new SqlConnection(connectionstrings);
            connection.Open();
            SqlTransaction tran = connection.BeginTransaction(IsolationLevel.ReadUncommitted, "SampleTransaction");

            try
            {
                #region 保存新车/置换无主订单信息

                if (Source == "1" || Source == "3")
                {
                    BLL.OrderNewCar.Instance.Update(tran, newModel);
                }
                else if (Source == "2")
                {
                    BLL.OrderRelpaceCar.Instance.Update(tran, replaceModel);
                }

                #endregion

                #region 修改任务信息

                BLL.OrderTask.Instance.Update(tran, orderTaskModel);

                #endregion

                #region 任务操作日志

                //modify by qizq 2013-1-4不是在通话中,处理记录已存在更新处理记录
                if (IsCalling != "1" && HistoryLogID != "")
                {
                    //通话中提交把本地录音主键付给实体
                    long CallRecordReCID = 0;
                    if (CallRecordID != "")
                    {
                        if (long.TryParse(CallRecordID, out CallRecordReCID))
                        {
                            orderLog.CallRecordID = CallRecordReCID;
                        }
                    }
                    long HistoryLogIDLog = 0;
                    if (long.TryParse(HistoryLogID, out HistoryLogIDLog))
                    {
                        orderLog.RecID = HistoryLogIDLog;
                    }
                    BLL.OrderTaskOperationLog.Instance.Update(tran, orderLog);
                }
                else
                {
                    BLL.OrderTaskOperationLog.Instance.Insert(tran, orderLog);
                }
                //



                #endregion

                if (Action == "sub")
                {
                    string retCustID = "";

                    #region 更新或插入客户信息

                    if (custmodel.RecID == -2)
                    {
                        //新加的客户

                        retCustID = BLL.CustBasicInfo.Instance.Insert(tran, custmodel);

                        #region 记日志

                        sblogstr = new StringBuilder();
                        logstr   = "";
                        logstr  += "新加了客户‘" + custmodel.CustName + "’的信息【ID:" + retCustID + "】";

                        if (logstr != "")
                        {
                            sblogstr.Append(logstr);
                            listLogStr.Add(sblogstr);
                        }

                        #endregion
                    }
                    else
                    {
                        //编辑客户信息
                        BLL.CustBasicInfo.Instance.Update(tran, custmodel);
                        retCustID = custmodel.CustID;
                    }
                    #endregion

                    #region 插入电话

                    if (telPhoneMode != null)
                    {
                        telPhoneMode.CustID = retCustID;
                        BLL.CustTel.Instance.Insert(tran, telPhoneMode);
                    }

                    if (telMobileMode != null)
                    {
                        telMobileMode.CustID = retCustID;
                        BLL.CustTel.Instance.Insert(tran, telMobileMode);
                    }

                    #endregion

                    #region 插入邮箱

                    if (emailMode != null)
                    {
                        emailMode.CustID = retCustID;
                        BLL.CustEmail.Instance.Insert(tran, emailMode);
                    }

                    #endregion

                    #region 插入咨询类型

                    int retDataID = 0;

                    if (cNewCar != null)
                    {
                        cNewCar.CustID = retCustID;
                        retDataID      = BLL.ConsultOrderNewCar.Instance.Insert(tran, cNewCar);

                        #region 记日志

                        sblogstr = new StringBuilder();
                        logstr   = "";
                        logstr  += "新加了无主订单新车联系咨询记录【ID:" + retDataID + "】";

                        if (logstr != "")
                        {
                            sblogstr.Append(logstr);
                            listLogStr.Add(sblogstr);
                        }

                        #endregion
                    }
                    if (cReplaceCar != null)
                    {
                        cReplaceCar.CustID = retCustID;
                        retDataID          = BLL.ConsultOrderRelpaceCar.Instance.Insert(tran, cReplaceCar);

                        #region 记日志

                        sblogstr = new StringBuilder();
                        logstr   = "";
                        logstr  += "新加了无主订单置换联系咨询记录【ID:" + retDataID + "】";

                        if (logstr != "")
                        {
                            sblogstr.Append(logstr);
                            listLogStr.Add(sblogstr);
                        }

                        #endregion
                    }

                    #endregion

                    #region 插入未购车或已购车记录 BuyCarInfo lxw

                    if (buyCarInfo != null && buyCarInfo.RecID == -2)
                    {
                        buyCarInfo.CustID = retCustID;
                        int recID = BLL.BuyCarInfo.Instance.Insert(tran, buyCarInfo);

                        #region 记日志

                        sblogstr = new StringBuilder();
                        logstr   = "";
                        logstr  += "新加了未购车已购车BuyCarInfo表的记录【ID:" + recID + "】";

                        if (logstr != "")
                        {
                            sblogstr.Append(logstr);
                            listLogStr.Add(sblogstr);
                        }

                        #endregion
                    }

                    if (buyCarInfo != null && buyCarInfo.RecID != -2)
                    {
                        BLL.BuyCarInfo.Instance.Update(tran, buyCarInfo);

                        #region 记日志

                        sblogstr = new StringBuilder();
                        logstr   = "";
                        logstr  += "修改了未购车已购车BuyCarInfo表的记录【ID:" + buyCarInfo.RecID + "】";

                        if (logstr != "")
                        {
                            sblogstr.Append(logstr);
                            listLogStr.Add(sblogstr);
                        }

                        #endregion
                    }

                    #endregion

                    #region 插入客户联系记录

                    if (custHistInfo != null)
                    {
                        custHistInfo.CustID        = retCustID;
                        custHistInfo.ConsultDataID = retDataID;
                        BLL.CustHistoryInfo.Instance.Insert(tran, custHistInfo);
                    }

                    #endregion

                    #region 插入已购车或未购车信息

                    #endregion

                    #region 保存用户操作日志

                    foreach (StringBuilder sbStr in listLogStr)
                    {
                        BLL.Util.InsertUserLog(tran, sbStr.ToString());
                    }
                    #endregion
                }

                if (msg == "")
                {
                    tran.Commit();
                    if (Action == "sub")
                    {
                        #region 调用易湃接口,传回数据

                        string errorMsg    = "";
                        int    retService  = 0;
                        short  isSelectDMS = 0;

                        #region 调用接口

                        BitAuto.ISDC.CC2012.WebService.NoDealerOrderHelper OrderHelper = new BitAuto.ISDC.CC2012.WebService.NoDealerOrderHelper();
                        if (Source == "1")                                                    //新车
                        {
                            isSelectDMS = newModel.DMSMemberCode == "" ? (short)2 : (short)1; //1 选择了经销商  2 未选择经销商
                            retService  = OrderHelper.SetNewCarOrder(newModel, isSelectDMS, NoDealerReason, ref errorMsg);
                        }
                        else if (Source == "2")                                                   //置换
                        {
                            isSelectDMS = replaceModel.DMSMemberCode == "" ? (short)2 : (short)1; //1 选择了经销商  2 未选择经销商
                            retService  = OrderHelper.SetReplacementOrder(replaceModel, isSelectDMS, NoDealerReason, ref errorMsg);
                        }
                        else if (Source == "3")
                        {
                            isSelectDMS = newModel.DMSMemberCode == "" ? (short)2 : (short)1; //1 选择了经销商  2 未选择经销商
                            retService  = OrderHelper.SetTestDriveOrder(newModel, isSelectDMS, NoDealerReason, ref errorMsg);
                        }

                        #endregion

                        #region 插入更新无主订单数据日志表

                        Entities.UpdateOrderData updateDateMode = new UpdateOrderData();
                        updateDateMode.TaskID = TaskID;

                        if (Source == "1" || Source == "3")
                        {
                            updateDateMode.YPOrderID = newModel.YPOrderID;
                        }
                        else if (Source == "2")
                        {
                            updateDateMode.YPOrderID = replaceModel.YPOrderID;
                        }

                        updateDateMode.UpdateType = retService;
                        updateDateMode.IsUpdate   = retService; // 1 成功了,不用处理,-1 需要重新处理
                        if (retService == 1)
                        {
                            updateDateMode.UpdateDateTime = DateTime.Now;
                        }
                        updateDateMode.UpdateErrorMsg = errorMsg;
                        updateDateMode.CreateTime     = DateTime.Now;
                        updateDateMode.CreateUserID   = userID;
                        updateDateMode.APIType        = 1;

                        BLL.UpdateOrderData.Instance.Insert(updateDateMode);

                        #endregion

                        if (retService == -1)
                        {
                            msg = "InterfaceErr|" + errorMsg;
                        }

                        #endregion
                    }
                }
                else
                {
                    tran.Rollback();
                }
            }
            catch (Exception ex)
            {
                if (tran.Connection != null)
                {
                    tran.Rollback();
                }
                msg = ex.Message.ToString();
            }
            finally
            {
                connection.Close();
            }



            #endregion
        }
        //提交(插入客户历史信息处理日志)
        private void CustHistoryLogSubmit(out string msg)
        {
            msg = string.Empty;

            if (RequestCHITaskID == "")
            {
                msg = "{'result':'no','msg':'没有任务ID,操作失败!'}";
                return;
            }

            Entities.CustHistoryInfo model_CustHistoryInfo = getModelCustHistoryInfoByTaskID(RequestCHITaskID);
            if (model_CustHistoryInfo == null)
            {
                msg = "{'result':'no','msg':'没有找到该条任务记录,操作失败!'}";
                return;
            }

            int action = (int)Entities.Action.ActionSumbit;//记录动作 默认:提交

            //0 判断如果是有高级操作按钮的人操作,则在提交时将其他当前受理人的表中记录状态改为无效0
            bool right_AgreeTurnOut = BLL.Util.CheckRight(BLL.Util.GetLoginUserID(), "SYS024BUT1101");
            bool right_TaskTurnOver = BLL.Util.CheckRight(BLL.Util.GetLoginUserID(), "SYS024BUT1102");

            if (right_AgreeTurnOut && right_TaskTurnOver)
            {
                QueryTaskCurrentSolveUser query_taskCurrentSolveUser = new QueryTaskCurrentSolveUser();
                query_taskCurrentSolveUser.TaskID = model_CustHistoryInfo.TaskID;
                query_taskCurrentSolveUser.Status = 1;
                int       count;
                DataTable dt_taskCurrentSolveUser = BLL.TaskCurrentSolveUser.Instance.GetTaskCurrentSolveUser(query_taskCurrentSolveUser, "", 1, 10000, out count);
                for (int i = 0; i < dt_taskCurrentSolveUser.Rows.Count; i++)
                {
                    UpdateTaskCurrentSolveUser(dt_taskCurrentSolveUser.Rows[i]["RecID"].ToString(), 0);
                }
            }

            //1 判断是否存在“转到受理人ID(ToNextSolveUserEID)”存在:向当前受理人表插入一条记录
            int nextSolveEID;

            if (RequestToNextSolveUserEID != "")
            {
                if (int.TryParse(RequestToNextSolveUserEID, out nextSolveEID))
                {
                    //判断登陆者权限 如果权限有高级操作权限,则不需要修改自己的记录 自己添加提交

                    //坐席权限
                    if (!right_AgreeTurnOut && !right_TaskTurnOver)
                    {
                        //修改:当前受理人表(修改自己的记录) 状态改为0 无效
                        QueryTaskCurrentSolveUser query_TCSUpdate = new QueryTaskCurrentSolveUser();
                        query_TCSUpdate.TaskID = model_CustHistoryInfo.TaskID;
                        query_TCSUpdate.CurrentSolveUserEID = BLL.Util.GetLoginUserID();
                        query_TCSUpdate.Status = 1;
                        int       count;
                        DataTable dt_TCSUpdate = BLL.TaskCurrentSolveUser.Instance.GetTaskCurrentSolveUser(query_TCSUpdate, "", 1, 10000, out count);
                        if (dt_TCSUpdate.Rows.Count == 0)
                        {
                            msg = "{'result':'no','msg':'您不是当前受理人,操作失败!'}";
                            return;
                        }
                        for (int i = 0; i < dt_TCSUpdate.Rows.Count; i++)
                        {
                            UpdateTaskCurrentSolveUser(dt_TCSUpdate.Rows[i]["RecID"].ToString(), 0);
                        }
                    }

                    if (right_AgreeTurnOut && right_TaskTurnOver)
                    {
                        //因为是高级权限操作,先判断是否已经转出过,如果没有同意转出而直接点击提交,则向Log表插入一条同意转出的动作记录

                        //1 判断是否是第一次转出,如果是,则插入一条同意转出的动作记录
                        QueryCustHistoryLog query_Log = new QueryCustHistoryLog();
                        query_Log.TaskID = model_CustHistoryInfo.TaskID;
                        int totalCount;
                        query_Log.Action = (int)Entities.Action.ActionAgreeApplyTurn;
                        DataTable dt_Log = BLL.CustHistoryLog.Instance.GetCustHistoryLog(query_Log, "", 1, 10000, out totalCount);
                        if (dt_Log.Rows.Count == 0)
                        {
                            //2 插入 客户历史信息处理日志 (动作记录)
                            InsertCustHistoryLogByAction(model_CustHistoryInfo.TaskID, RequestComment, (int)Entities.Action.ActionAgreeApplyTurn);//动作:同意转出
                        }

                        //3 修改客户历史记录信息表的记录:是否确定投诉 可修改,是否确认发送邮件 必须修改为true,任务状态 必须修改为“处理中”
                        model_CustHistoryInfo.IsSendEmail = true;
                        if (RequestIsComplaint != "")
                        {
                            model_CustHistoryInfo.IsComplaint = bool.Parse(RequestIsComplaint);
                        }
                        model_CustHistoryInfo.ProcessStatus = (int)Entities.EnumTaskStatus.TaskStatusNow;

                        UpdateCustHistoryInfo(model_CustHistoryInfo);
                    }

                    // 插入:当前受理人表  (插入转到受理人的记录)
                    TaskCurrentSolveUser model_TCS = new TaskCurrentSolveUser();
                    model_TCS.TaskID = model_CustHistoryInfo.TaskID;
                    model_TCS.CurrentSolveUserEID = nextSolveEID;
                    model_TCS.CurrentSolveUserID  = getUserEID(nextSolveEID);
                    model_TCS.Status           = 1;
                    model_TCS.CreateTime       = DateTime.Now;
                    model_TCS.CreateUserAdName = BLL.Util.GetDomainAccountByLimitEID(BLL.Util.GetLoginUserID());
                    InsertTaskCurrentSolveUser(model_TCS);
                    action = (int)Entities.Action.ActionTurnOut;//动作:转出

                    //发送邮件
                    sendEmailByType(2, model_CustHistoryInfo.TaskID, nextSolveEID, model_CustHistoryInfo.CustID, BLL.Util.GetLoginUserID());
                }
                else
                {
                    msg = "{'result':'no','msg':'转到下一个受理人ID出错,操作失败!'}";
                    return;
                }
            }

            //2 插入处理信息到CustHistoryLog表
            CustHistoryLog model = new CustHistoryLog();

            //modify by qizq 2013-1-4首先判断是否是通话中
            if (IsCalling == "1")
            {
                if (HistoryLogID == "")
                {
                    //通话中提交把本地录音主键付给实体
                    long CallRecordReCID = 0;
                    if (CallRecordID != "")
                    {
                        if (long.TryParse(CallRecordID, out CallRecordReCID))
                        {
                            model.CallRecordID = CallRecordReCID;
                        }
                    }
                }
            }
            //
            model.TaskID       = model_CustHistoryInfo.TaskID;
            model.SolveUserID  = BLL.Util.GetLoginUserID();
            model.SolveUserEID = BLL.Util.GetLoginUserID();
            model.SolveTime    = DateTime.Now;
            model.Comment      = RequestComment;
            model.Action       = action;
            int status;

            if (int.TryParse(RequestCHLStatus, out status))
            {
                model.Status = status;
            }

            int toNextSolveUserEID;

            if (int.TryParse(RequestToNextSolveUserEID, out toNextSolveUserEID))
            {
                model.ToNextSolveUserEID = toNextSolveUserEID;
                model.ToNextSolveUserID  = getUserEID(toNextSolveUserEID);
            }
            long pid = getPIDByNextSolveEID(model_CustHistoryInfo.TaskID, BLL.Util.GetLoginUserID());

            if (pid != 0)
            {
                model.Pid = pid;
            }
            //modify by qizq 2013-1-4不是在通话中,处理记录已存在更新处理记录
            if (IsCalling != "1" && HistoryLogID != "")
            {
                //通话中提交把本地录音主键付给实体
                long CallRecordReCID = 0;
                if (CallRecordID != "")
                {
                    if (long.TryParse(CallRecordID, out CallRecordReCID))
                    {
                        model.CallRecordID = CallRecordReCID;
                    }
                }
                long HistoryLogIDLog = 0;
                if (long.TryParse(HistoryLogID, out HistoryLogIDLog))
                {
                    model.RecID = HistoryLogIDLog;
                }
                //CustHistoryLog 作废 2016-3-1 强斐
                //UpdateCustHistoryLog(model);
            }
            else
            {
                //CustHistoryLog 作废 2016-3-1 强斐
                //InsertCustHistoryLog(model);
            }

            //查找登陆人的客户历史关联邮件模板的记录
            QueryCustHistoryTemplateMapping query_templateMappingOld = new QueryCustHistoryTemplateMapping();

            query_templateMappingOld.TaskID       = model.TaskID;
            query_templateMappingOld.SolveUserEID = model.SolveUserEID;
            int       templateCount;
            DataTable dt_templateMappingOld = BLL.CustHistoryTemplateMapping.Instance.GetCustHistoryTemplateMapping(query_templateMappingOld, "", 1, 10000, out templateCount);

            if (dt_templateMappingOld.Rows.Count > 0)
            {
                int _templateID;
                if (int.TryParse(dt_templateMappingOld.Rows[0]["TemplateID"].ToString(), out _templateID))
                {
                    //插入(下一个受理人)到客户历史关联邮件模板
                    CustHistoryTemplateMapping model_templateMappingNew = new CustHistoryTemplateMapping();
                    model_templateMappingNew.TaskID       = query_templateMappingOld.TaskID;
                    model_templateMappingNew.TemplateID   = _templateID;
                    model_templateMappingNew.SolveUserEID = toNextSolveUserEID;
                    model_templateMappingNew.CreateTime   = DateTime.Now;
                    model_templateMappingNew.CreateUserID = BLL.Util.GetLoginUserID();
                    BLL.CustHistoryTemplateMapping.Instance.Insert(model_templateMappingNew);
                }
            }

            msg = "{'result':'yes','msg':'操作成功'}";
        }
예제 #16
0
        /// <summary>
        /// ordertype 1是保存,2是提交
        /// </summary>
        /// <param name="ordertype"></param>
        public void DealOrder(int ordertype, out string msg)
        {
            msg = "";
            long taskid = 0;

            if (long.TryParse(RequestTaskID, out taskid))
            {
                Entities.GroupOrderTask model = BLL.GroupOrderTask.Instance.GetGroupOrderTask(taskid);
                if (model != null)
                {
                    if (model.TaskStatus != (int)Entities.GroupTaskStatus.NoAllocation && model.TaskStatus != (int)Entities.GroupTaskStatus.Processing && model.TaskStatus != (int)Entities.GroupTaskStatus.NoProcess)
                    {
                        //msg = "{\"Result\":false,\"Msg\":\"任务ID"+ taskid +"不处于处理状态\"}";
                        string s = "";
                        s   = BitAuto.ISDC.CC2012.BLL.Util.GetEnumOptText(typeof(BitAuto.ISDC.CC2012.Entities.GroupTaskStatus), Convert.ToInt32(model.TaskStatus));
                        msg = "任务状态为:" + s + ",不处于处理状态";
                    }
                    else
                    {
                        //本地保存订单信息,修改订单状态
                        Entities.GroupOrder groupordermodel = BLL.GroupOrder.Instance.GetGroupOrder(taskid);
                        if (groupordermodel != null)
                        {
                            #region 保存或提交订单信息,修改任务状态,插入任务操作状态
                            //保存
                            if (ordertype == 1)
                            {
                                model.LastUpdateTime   = System.DateTime.Now;
                                model.LastUpdateUserID = userId;
                                model.TaskStatus       = (int)Entities.GroupTaskStatus.Processing;
                            }
                            //提交
                            else if (ordertype == 2)
                            {
                                model.LastUpdateTime   = System.DateTime.Now;
                                model.LastUpdateUserID = userId;

                                //如果 是否为回访值为:是,则更新任务状态,调回写接口
                                //否则 不更新,也不调回写接口
                                if (this.RequestIsReturnVisit == ((int)Entities.IsReturnVisit.Yes).ToString())
                                {
                                    model.TaskStatus = (int)Entities.GroupTaskStatus.Processed;
                                }

                                model.SubmitTime = System.DateTime.Now;
                            }
                            int IsReturnVisit = 0;
                            if (int.TryParse(RequestIsReturnVisit, out IsReturnVisit))
                            {
                                groupordermodel.IsReturnVisit = IsReturnVisit;
                            }

                            groupordermodel.LastUpdateTime   = System.DateTime.Now;
                            groupordermodel.LastUpdateUserID = userId;

                            //更新任务状态
                            BLL.GroupOrderTask.Instance.Update(model);
                            //对于保存不用匹配客户池客户所以在此处更新订单信息,提交要在匹配客户池客户后拿到custid后更新
                            //处理结果为:否的,不提交,所以在些更新订单
                            //if (ordertype == 1)
                            if (this.RequestIsReturnVisit == ((int)Entities.IsReturnVisit.No).ToString())
                            {
                                BLL.GroupOrder.Instance.Update(groupordermodel);
                            }
                            //插入或合并任务操作日志
                            //如果 是否为回访值为:是,则更新任务状态,调回写接口
                            //否则 不更新,也不调回写接口
                            if (this.RequestIsReturnVisit == ((int)Entities.IsReturnVisit.Yes).ToString())
                            {
                                DealLog(ordertype);
                            }
                            #endregion

                            //如果 是否为回访值为:是,则更新任务状态,调回写接口
                            //否则 不更新,也不调回写接口
                            #region 提交处理
                            if (ordertype == 2 && this.RequestIsReturnVisit == ((int)Entities.IsReturnVisit.Yes).ToString())
                            {
                                if (!string.IsNullOrEmpty(groupordermodel.CustomerTel))
                                {
                                    #region 根据电话号码判断 客户池是否存在,存在不更新客户,不存在插入
                                    string CustID = string.Empty;
                                    //根据电话找客户,如果有多个去匹配那个名称一致的
                                    DataTable dtcust = BLL.CustBasicInfo.Instance.GetCustBasicInfosByTel(groupordermodel.CustomerTel);
                                    if (dtcust != null && dtcust.Rows.Count > 0)
                                    {
                                        for (int i = 0; i < dtcust.Rows.Count; i++)
                                        {
                                            if (dtcust.Rows[i]["CustName"].ToString() == groupordermodel.CustomerName)
                                            {
                                                CustID = dtcust.Rows[i]["CustID"].ToString();
                                                break;
                                            }
                                        }
                                    }
                                    //如果CustID不为空说明找到了,否则没找到
                                    if (!string.IsNullOrEmpty(CustID))
                                    {
                                    }
                                    else
                                    {
                                        #region 插入客户池
                                        Entities.CustBasicInfo newcustmodel = new Entities.CustBasicInfo();
                                        newcustmodel.Status         = 0;
                                        newcustmodel.Sex            = groupordermodel.UserGender;
                                        newcustmodel.CustName       = groupordermodel.CustomerName;
                                        newcustmodel.CustCategoryID = 4;
                                        newcustmodel.ProvinceID     = groupordermodel.ProvinceID;
                                        newcustmodel.CityID         = groupordermodel.CityID;
                                        newcustmodel.AreaID         = groupordermodel.AreaID;
                                        newcustmodel.CreateTime     = System.DateTime.Now;
                                        newcustmodel.CreateUserID   = userId;
                                        //功能废弃 插入客户基本信息
                                        CustID = null;// BLL.CustBasicInfo.Instance.Insert(newcustmodel);
                                        Entities.CustTel custtelmodel = new Entities.CustTel();
                                        custtelmodel.CreateTime   = System.DateTime.Now;
                                        custtelmodel.CreateUserID = userId;
                                        custtelmodel.CustID       = CustID;
                                        custtelmodel.Tel          = groupordermodel.CustomerTel;
                                        //插入电话
                                        BLL.CustTel.Instance.Insert(custtelmodel);
                                        //插入bugcarinfo
                                        Entities.BuyCarInfo bugcarmodel = new Entities.BuyCarInfo();
                                        bugcarmodel.CustID       = CustID;
                                        bugcarmodel.Type         = 4;
                                        bugcarmodel.CarBrandId   = 0;
                                        bugcarmodel.CarSerialId  = 0;
                                        bugcarmodel.CarTypeID    = 0;
                                        bugcarmodel.Status       = 0;
                                        bugcarmodel.CreateTime   = System.DateTime.Now;
                                        bugcarmodel.CreateUserID = userId;
                                        //bugcarmodel.UserName = RequestQCTUserName;
                                        BLL.BuyCarInfo.Instance.Insert(bugcarmodel);
                                        #endregion
                                    }
                                    #endregion

                                    #region 提交要匹配客户池客户所以在匹配客户池客户后拿到custid后更新订单
                                    groupordermodel.CustID = CustID;
                                    BLL.GroupOrder.Instance.Update(groupordermodel);
                                    #endregion

                                    #region 在客户历史记录里加入团购订单联系记录
                                    Entities.CustHistoryInfo custhistroyinfomodel = new Entities.CustHistoryInfo();
                                    custhistroyinfomodel.TaskID = RequestTaskID;
                                    //业务类型,2为团购订单
                                    custhistroyinfomodel.BusinessType = 2;
                                    //录音
                                    //if (!string.IsNullOrEmpty(RequestCallRecordID))
                                    //{
                                    //    long callrecordid = 0;
                                    //    if (long.TryParse(RequestCallRecordID, out callrecordid))
                                    //    {
                                    //        custhistroyinfomodel.CallRecordID = callrecordid;

                                    //    }
                                    //}
                                    //呼出
                                    custhistroyinfomodel.RecordType   = 2;
                                    custhistroyinfomodel.CustID       = CustID;
                                    custhistroyinfomodel.CreateTime   = System.DateTime.Now;
                                    custhistroyinfomodel.CreateUserID = userId;
                                    //功能废弃
                                    BLL.CustHistoryInfo.Instance.Insert(custhistroyinfomodel);
                                    #endregion

                                    #region 回写易湃
                                    ReWriteOrderData(taskid);
                                    #endregion
                                }
                            }
                            #endregion
                        }
                        else
                        {
                            //msg = "{\"Result\":false,\"Msg\":\"任务ID" + taskid + "对应订单不存在!\"}";
                            msg = "对应订单不存在!";
                        }
                    }
                }
                else
                {
                    //msg = "{\"Result\":false,\"Msg\":\"任务ID" + taskid + "不存在!\"}";
                    msg = "任务ID不存在";
                }
            }
        }
예제 #17
0
        /// <summary>
        /// ordertype 1是保存,2是提交
        /// </summary>
        /// <param name="ordertype"></param>
        protected void DealOrder(int ordertype, out string msg)
        {
            msg = "";
            long taskid = 0;

            if (long.TryParse(RequestTaskID, out taskid))
            {
                Entities.GroupOrderTask model = BLL.GroupOrderTask.Instance.GetGroupOrderTask(taskid);
                if (model != null)
                {
                    if (model.TaskStatus != (int)Entities.GroupTaskStatus.Processing && model.TaskStatus != (int)Entities.GroupTaskStatus.NoProcess)
                    {
                        msg = "{\"Result\":false,\"Msg\":\"任务不处于处理状态!\"}";
                    }
                    else
                    {
                        //本地保存订单信息,修改订单状态
                        Entities.GroupOrder groupordermodel = BLL.GroupOrder.Instance.GetGroupOrder(taskid);
                        if (groupordermodel != null)
                        {
                            #region 保存或提交订单信息,修改任务状态,插入任务操作状态
                            //保存
                            if (ordertype == 1)
                            {
                                model.LastUpdateTime   = System.DateTime.Now;
                                model.LastUpdateUserID = userId;
                                model.TaskStatus       = (int)Entities.GroupTaskStatus.Processing;
                            }
                            //提交
                            else if (ordertype == 2)
                            {
                                model.LastUpdateTime   = System.DateTime.Now;
                                model.LastUpdateUserID = userId;
                                model.TaskStatus       = (int)Entities.GroupTaskStatus.Processed;
                                model.SubmitTime       = System.DateTime.Now;
                            }
                            int IsReturnVisit = 0;
                            if (int.TryParse(RequestIsReturnVisit, out IsReturnVisit))
                            {
                                groupordermodel.IsReturnVisit = IsReturnVisit;
                            }
                            int FailReson = 0;
                            if (int.TryParse(RequestFailReson, out FailReson))
                            {
                                groupordermodel.FailReasonID = FailReson;
                            }
                            int sex = 0;
                            if (int.TryParse(RequestSex, out sex))
                            {
                                groupordermodel.UserGender = sex;
                            }
                            groupordermodel.CallRecord       = RequestRemark;
                            groupordermodel.UserName         = RequestQCTUserName;
                            groupordermodel.LastUpdateTime   = System.DateTime.Now;
                            groupordermodel.LastUpdateUserID = userId;

                            //意向车型,预计购车时间
                            int _WantCarMasterID = -2;
                            if (int.TryParse(WantCarMasterID, out _WantCarMasterID))
                            {
                                groupordermodel.WantCarMasterID = _WantCarMasterID;
                            }
                            int _WantCarSerialID = -2;
                            if (int.TryParse(WantCarSerialID, out _WantCarSerialID))
                            {
                                groupordermodel.WantCarSerialID = _WantCarSerialID;
                            }
                            int _WantCarID = -2;
                            if (int.TryParse(WantCarID, out _WantCarID))
                            {
                                groupordermodel.WantCarID = _WantCarID;
                            }
                            int _PlanBuyCarTime = -2;
                            if (int.TryParse(PlanBuyCarTime, out _PlanBuyCarTime))
                            {
                                groupordermodel.PlanBuyCarTime = _PlanBuyCarTime;
                            }
                            groupordermodel.WantCarMasterName = WantCarMasterName;
                            groupordermodel.WantCarSerialName = WantCarSerialName;
                            groupordermodel.WantCarName       = WantCarName;

                            //更新任务状态
                            BLL.GroupOrderTask.Instance.Update(model);
                            //对于保存不用匹配客户池客户所以在此处更新订单信息,提交要在匹配客户池客户后拿到custid后更新
                            if (ordertype == 1)
                            {
                                BLL.GroupOrder.Instance.Update(groupordermodel);
                            }
                            //插入或合并任务操作日志
                            DealLog(ordertype);
                            #endregion

                            #region 提交处理
                            if (ordertype == 2)
                            {
                                if (!string.IsNullOrEmpty(groupordermodel.CustomerTel))
                                {
                                    #region 根据电话号码判断 客户池是否存在,存在不更新客户,不存在插入

                                    string CustID = string.Empty;
                                    //根据电话找客户,如果有多个去匹配那个名称一致的
                                    DataTable dtcust = BLL.CustBasicInfo.Instance.GetCustBasicInfosByTel(groupordermodel.CustomerTel);
                                    if (dtcust != null && dtcust.Rows.Count > 0)
                                    {
                                        if (dtcust.Rows.Count == 1)
                                        {
                                            //如果找到一个,就取CustID
                                            CustID = dtcust.Rows[0]["CustID"].ToString();
                                        }
                                        else if (dtcust.Rows.Count > 1)
                                        {
                                            //多个客户,查找有团购订单类型的客户
                                            DataRow[] rows = dtcust.Select("CustName='" + groupordermodel.CustomerName.Trim() + "'");
                                            if (rows.Length > 0)
                                            {
                                                CustID = rows[0]["CustID"].ToString();
                                            }
                                        }
                                    }
                                    else
                                    {
                                        //根据电话没有找到客户,要插入个人客户信息表
                                        CustID = AddNewCustBaseInfo(groupordermodel);
                                    }

                                    #endregion

                                    #region 提交要匹配客户池客户所以在匹配客户池客户后拿到custid后更新订单
                                    groupordermodel.CustID = CustID;
                                    BLL.GroupOrder.Instance.Update(groupordermodel);
                                    #endregion

                                    #region 在客户历史记录里加入团购订单联系记录
                                    Entities.CustHistoryInfo custhistroyinfomodel = new Entities.CustHistoryInfo();
                                    custhistroyinfomodel.TaskID = RequestTaskID;
                                    //业务类型,2为团购订单
                                    custhistroyinfomodel.BusinessType = 2;
                                    //录音
                                    if (!string.IsNullOrEmpty(RequestCallRecordID))
                                    {
                                        long callrecordid = 0;
                                        if (long.TryParse(RequestCallRecordID, out callrecordid))
                                        {
                                            custhistroyinfomodel.CallRecordID = callrecordid;
                                        }
                                    }
                                    //呼出
                                    custhistroyinfomodel.RecordType   = 2;
                                    custhistroyinfomodel.CustID       = CustID;
                                    custhistroyinfomodel.CreateTime   = System.DateTime.Now;
                                    custhistroyinfomodel.CreateUserID = userId;
                                    //功能废弃
                                    BLL.CustHistoryInfo.Instance.Insert(custhistroyinfomodel);
                                    #endregion

                                    #region 回写易湃
                                    string errMsg = "";
                                    ReWriteOrderData(taskid, out errMsg);
                                    #endregion

                                    if (errMsg != "")
                                    {
                                        msg = "{\"Result\":false,\"Msg\":\"调用易湃接口失败!" + errMsg + "\"}";
                                    }
                                }
                            }
                            #endregion
                        }
                        else
                        {
                            msg = "{\"Result\":false,\"Msg\":\"任务对应订单不存在!\"}";
                        }
                    }
                }
                else
                {
                    msg = "{\"Result\":false,\"Msg\":\"任务不存在!\"}";
                }
            }
        }
예제 #18
0
 /// 增加一条数据
 /// <summary>
 /// 增加一条数据
 /// </summary>
 public int Insert(Entities.CustHistoryInfo model)
 {
     return(Dal.CustHistoryInfo.Instance.Insert(model));
 }