//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':'邮件发送成功,操作成功!'}"; }
/// 更新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; } }
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; } } }
/// <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); }
/// <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':'操作成功'}"; }
public int Insert(SqlTransaction sqltran, Entities.CustHistoryInfo model) { return(Dal.CustHistoryInfo.Instance.Insert(sqltran, model)); }
/// 更新一条数据 /// <summary> /// 更新一条数据 /// </summary> public int Update(Entities.CustHistoryInfo model) { return(Dal.CustHistoryInfo.Instance.Update(model)); }
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':'操作成功'}"; }
/// <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不存在"; } } }
/// <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\":\"任务不存在!\"}"; } } }
/// 增加一条数据 /// <summary> /// 增加一条数据 /// </summary> public int Insert(Entities.CustHistoryInfo model) { return(Dal.CustHistoryInfo.Instance.Insert(model)); }