/// <summary> /// 根据新车订单信息,生成任务 /// </summary> /// <param name="tran"></param> /// <param name="model">新车订单信息</param> /// <returns>返回任务ID</returns> public long InsertByOrder(SqlTransaction tran, Entities.OrderNewCarLog model) { Entities.OrderTask otModel = new Entities.OrderTask(); if (model.OrderType == 1) { otModel.Source = 3; } else { otModel.Source = 1;//1新车,2置换,3试驾 } otModel.TaskStatus = (int)TaskStatus.NoAllocation; otModel.RelationID = model.RecID; otModel.BGID = int.Parse(ConfigurationUtil.GetAppSettingValue("GenTaskDefaultGroupID")); otModel.AssignUserID = null; otModel.AssignTime = null; otModel.UserName = model.UserName; otModel.IsSelectDMSMember = null; otModel.Status = 0; otModel.SubmitTime = null; otModel.CreateTime = DateTime.Now; otModel.CreateUserID = null; otModel.NoDealerReasonID = -2; otModel.NoDealerReason = ""; otModel.DealerID = model.DealerID; return(Insert(tran, otModel)); }
/// <summary> /// 增加一条数据 /// </summary> public long Insert(SqlTransaction sqltran, Entities.OrderNewCarLog model) { SqlParameter[] parameters = { new SqlParameter("@RecID", SqlDbType.BigInt, 8), new SqlParameter("@YPOrderID", SqlDbType.Int, 4), new SqlParameter("@UserName", SqlDbType.NVarChar, 64), new SqlParameter("@UserPhone", SqlDbType.NVarChar, 64), new SqlParameter("@UserMobile", SqlDbType.NVarChar, 64), new SqlParameter("@UserMail", SqlDbType.NVarChar, 64), new SqlParameter("@UserGender", SqlDbType.Int, 4), new SqlParameter("@LocationID", SqlDbType.Int, 4), new SqlParameter("@LocationName", SqlDbType.NVarChar, 64), new SqlParameter("@UserAddress", SqlDbType.NVarChar, 1024), new SqlParameter("@OrderCreateTime", SqlDbType.SmallDateTime), new SqlParameter("@OrderPrice", SqlDbType.Decimal, 9), new SqlParameter("@OrderQuantity", SqlDbType.Int, 4), new SqlParameter("@OrderRemark", SqlDbType.NVarChar, 1024), new SqlParameter("@CarID", SqlDbType.Int, 4), new SqlParameter("@CarFullName", SqlDbType.NVarChar, 1024), new SqlParameter("@CarPrice", SqlDbType.Decimal, 9), new SqlParameter("@CarColor", SqlDbType.NVarChar, 16), new SqlParameter("@CarPromotions", SqlDbType.NVarChar, 1024), new SqlParameter("@DealerID", SqlDbType.Int, 4), new SqlParameter("@OrderType", SqlDbType.Int, 4) }; //new SqlParameter("@CreateTime", SqlDbType.DateTime)}; parameters[0].Direction = ParameterDirection.Output; parameters[1].Value = model.YPOrderID; parameters[2].Value = model.UserName; parameters[3].Value = model.UserPhone; parameters[4].Value = model.UserMobile; parameters[5].Value = model.UserMail; parameters[6].Value = model.UserGender; parameters[7].Value = model.LocationID; parameters[8].Value = model.LocationName; parameters[9].Value = model.UserAddress; parameters[10].Value = model.OrderCreateTime; parameters[11].Value = model.OrderPrice; parameters[12].Value = model.OrderQuantity; parameters[13].Value = model.OrderRemark; parameters[14].Value = model.CarID; parameters[15].Value = model.CarFullName; parameters[16].Value = model.CarPrice; parameters[17].Value = model.CarColor; parameters[18].Value = model.CarPromotions; parameters[19].Value = model.DealerID; parameters[20].Value = model.OrderType; //parameters[19].Value = model.CreateTime; SqlHelper.ExecuteNonQuery(sqltran, CommandType.StoredProcedure, P_ORDERNEWCARLOG_INSERT, parameters); model.RecID = (long)parameters[0].Value; return(model.RecID); }
/// <summary> /// 更新一条数据 /// </summary> public int Update(Entities.OrderNewCarLog model) { SqlParameter[] parameters = { new SqlParameter("@RecID", SqlDbType.BigInt, 8), new SqlParameter("@YPOrderID", SqlDbType.Int, 4), new SqlParameter("@UserName", SqlDbType.NVarChar, 64), new SqlParameter("@UserPhone", SqlDbType.NVarChar, 64), new SqlParameter("@UserMobile", SqlDbType.NVarChar, 64), new SqlParameter("@UserMail", SqlDbType.NVarChar, 64), new SqlParameter("@UserGender", SqlDbType.Int, 4), new SqlParameter("@LocationID", SqlDbType.Int, 4), new SqlParameter("@LocationName", SqlDbType.NVarChar, 64), new SqlParameter("@UserAddress", SqlDbType.NVarChar, 1024), new SqlParameter("@OrderCreateTime", SqlDbType.SmallDateTime), new SqlParameter("@OrderPrice", SqlDbType.Decimal, 9), new SqlParameter("@OrderQuantity", SqlDbType.Int, 4), new SqlParameter("@OrderRemark", SqlDbType.NVarChar, 1024), new SqlParameter("@CarID", SqlDbType.Int, 4), new SqlParameter("@CarFullName", SqlDbType.NVarChar, 1024), new SqlParameter("@CarPrice", SqlDbType.Decimal, 9), new SqlParameter("@CarColor", SqlDbType.NVarChar, 16), new SqlParameter("@CarPromotions", SqlDbType.NVarChar, 1024), new SqlParameter("@CreateTime", SqlDbType.DateTime) }; parameters[0].Value = model.RecID; parameters[1].Value = model.YPOrderID; parameters[2].Value = model.UserName; parameters[3].Value = model.UserPhone; parameters[4].Value = model.UserMobile; parameters[5].Value = model.UserMail; parameters[6].Value = model.UserGender; parameters[7].Value = model.LocationID; parameters[8].Value = model.LocationName; parameters[9].Value = model.UserAddress; parameters[10].Value = model.OrderCreateTime; parameters[11].Value = model.OrderPrice; parameters[12].Value = model.OrderQuantity; parameters[13].Value = model.OrderRemark; parameters[14].Value = model.CarID; parameters[15].Value = model.CarFullName; parameters[16].Value = model.CarPrice; parameters[17].Value = model.CarColor; parameters[18].Value = model.CarPromotions; parameters[19].Value = model.CreateTime; return(SqlHelper.ExecuteNonQuery(CONNECTIONSTRINGS, CommandType.StoredProcedure, P_ORDERNEWCARLOG_UPDATE, parameters)); }
private Entities.OrderNewCarLog LoadSingleOrderNewCarLog(DataRow row) { Entities.OrderNewCarLog model = new Entities.OrderNewCarLog(); if (row["RecID"].ToString() != "") { model.RecID = long.Parse(row["RecID"].ToString()); } if (row["YPOrderID"].ToString() != "") { model.YPOrderID = int.Parse(row["YPOrderID"].ToString()); } model.UserName = row["UserName"].ToString(); model.UserPhone = row["UserPhone"].ToString(); model.UserMobile = row["UserMobile"].ToString(); model.UserMail = row["UserMail"].ToString(); if (row["UserGender"].ToString() != "") { model.UserGender = int.Parse(row["UserGender"].ToString()); } if (row["LocationID"].ToString() != "") { model.LocationID = int.Parse(row["LocationID"].ToString()); } model.LocationName = row["LocationName"].ToString(); model.UserAddress = row["UserAddress"].ToString(); if (row["OrderCreateTime"].ToString() != "") { model.OrderCreateTime = DateTime.Parse(row["OrderCreateTime"].ToString()); } if (row["OrderPrice"].ToString() != "") { model.OrderPrice = decimal.Parse(row["OrderPrice"].ToString()); } if (row["OrderQuantity"].ToString() != "") { model.OrderQuantity = int.Parse(row["OrderQuantity"].ToString()); } model.OrderRemark = row["OrderRemark"].ToString(); if (row["CarID"].ToString() != "") { model.CarID = int.Parse(row["CarID"].ToString()); } model.CarFullName = row["CarFullName"].ToString(); if (row["CarPrice"].ToString() != "") { model.CarPrice = decimal.Parse(row["CarPrice"].ToString()); } model.CarColor = row["CarColor"].ToString(); model.CarPromotions = row["CarPromotions"].ToString(); if (row["CreateTime"].ToString() != "") { model.CreateTime = DateTime.Parse(row["CreateTime"].ToString()); } if (row.Table.Columns.Contains("DealerID") && row["DealerID"].ToString() != "") { model.DealerID = int.Parse(row["DealerID"].ToString()); } if (row.Table.Columns.Contains("OrderType") && row["OrderType"].ToString() != "") { model.OrderType = int.Parse(row["OrderType"].ToString()); } return(model); }
/// <summary> /// 初始化新车订单日志信息 /// </summary> /// <param name="dr"></param> /// <param name="ordertype">订单类型(0-新车订单[默认],1-试驾订单)</param> /// <returns></returns> private Entities.OrderNewCarLog InitOrderNewCarLog(DataRow dr, int orderType) { Entities.OrderNewCarLog model = new Entities.OrderNewCarLog(); try { model.YPOrderID = int.Parse(dr["OrderBusinessOpportunityID"].ToString()); model.UserName = dr["UserName"].ToString().Trim(); model.UserPhone = dr["UserPhone"].ToString().Trim(); model.UserMobile = dr["UserMobile"].ToString().Trim(); model.UserMail = dr["UserMail"].ToString().Trim(); int userGender = -1; if (int.TryParse(dr["UserGender"].ToString(), out userGender)) { model.UserGender = userGender; } else { model.UserGender = null; } int locationID = -1; if (int.TryParse(dr["LocationID"].ToString(), out locationID)) { model.LocationID = locationID; } else { model.LocationID = null; } model.LocationName = dr["LocationName"].ToString().Trim(); model.UserAddress = dr["UserAddress"].ToString().Trim(); model.OrderCreateTime = DateTime.Parse(dr["OrderBusinessOpportunityCreateTime"].ToString()); model.OrderPrice = (decimal?)GetColumnDefaultValue(dr, "OrderPrice", typeof(decimal)); model.OrderQuantity = (int?)GetColumnDefaultValue(dr, "OrderQuantity", typeof(int)); model.OrderRemark = (string)GetColumnDefaultValue(dr, "OrderRemark", typeof(string)); model.CarID = (int?)GetColumnDefaultValue(dr, "CarID", typeof(int)); model.CarFullName = (string)GetColumnDefaultValue(dr, "CarFullName", typeof(string)); model.CarPrice = (decimal?)GetColumnDefaultValue(dr, "CarPrice", typeof(decimal)); model.CarColor = (string)GetColumnDefaultValue(dr, "CarColor", typeof(string)); model.CarPromotions = (string)GetColumnDefaultValue(dr, "CarPromotions", typeof(string)); model.DealerID = (int?)GetColumnDefaultValue(dr, "DealerID", typeof(int)); model.OrderType = orderType; //if (dr.Table.Columns.Contains("OrderPrice")) //{ // decimal orderPrice = -1; // if (decimal.TryParse(dr["OrderPrice"].ToString(), out orderPrice)) // { // model.OrderPrice = orderPrice; // } // else // { // model.OrderPrice = null; // } //} //int orderQuantity = -1; //if (int.TryParse(dr["OrderQuantity"].ToString(), out orderQuantity)) //{ // model.OrderQuantity = orderQuantity; //} //else //{ // model.OrderQuantity = null; //} //int carID = -1; //if (int.TryParse(dr["CarID"].ToString(), out carID)) //{ // model.CarID = carID; //} //else //{ // model.CarID = null; //} //model.CarPrice = null; //if (dr.Table.Columns.Contains("CarPrice")) //{ // decimal carPrice = -1; // if (decimal.TryParse(dr["CarPrice"].ToString(), out carPrice)) // { // model.CarPrice = carPrice; // } // else // { // model.CarPrice = null; // } //} //int dealerID = -1; //if (int.TryParse(dr["DealerID"].ToString(), out dealerID)) //{ // model.DealerID = dealerID; //} //else //{ // model.DealerID = null; //} } catch (Exception ex) { BLL.Util.InsertUserLogNoUser("初始化新车订单信息失败!失败原因:" + ex.Message); return(null); } return(model); }
/// <summary> /// 生成任务 /// </summary> /// <param name="dt"></param> /// <param name="orderType">订单类型(0-新车订单[默认],1-试驾订单)</param> public void GenTask(DataTable dt, int orderType) { int taskCount = 0; int existCount = 0; BLL.Loger.Log4Net.Info("生成_易湃_" + (orderType == 0 ? "新车" : "试驾") + "订单_开始:"); DateTime dtNow = DateTime.Now; DataTable dtNew = dt.Clone(); for (int i = 0; i < dt.Rows.Count; i++) { int YPOrderID = int.Parse(dt.Rows[i]["OrderBusinessOpportunityID"].ToString()); int?DealerID = (int?)GetColumnDefaultValue(dt.Rows[i], "DealerID", typeof(int)); if (BLL.OrderNewCarLog.Instance.IsExistsByYPOrderID(YPOrderID))//存在 { BLL.Util.InsertUserLogNoUser("(" + (orderType == 0 ? "新车" : "试驾") + ")易湃订单ID:" + YPOrderID + "的记录已经存在,不在生成任务!"); existCount++; } else if (DealerID != null && DealerID.Value > 0)//Add=Masj,Date=2013-08-26,去掉免费订单的相关数据 { //BLL.Util.InsertUserLogNoUser("(" + (orderType == 0 ? "新车" : "试驾") + ")易湃订单ID:" + YPOrderID + "的记录经销商为0(免费订单),不生成任务!"); BLL.Loger.Log4Net.Info("(" + (orderType == 0 ? "新车" : "试驾") + ")易湃订单ID:" + YPOrderID + "的记录经销商为" + DealerID + "(免费订单),不生成任务!"); } else//不存在 { dtNew.ImportRow(dt.Rows[i]); } } BLL.Loger.Log4Net.Info("检测拿到的订单数据中有" + existCount + "条数据在呼叫中心库中已经存在了"); string connectionstrings = ConfigurationUtil.GetAppSettingValue("ConnectionStrings_CC"); SqlConnection connection = new SqlConnection(connectionstrings); connection.Open(); SqlTransaction tran = connection.BeginTransaction("OrderNewCarLogTransaction"); try { for (int i = 0; i < dtNew.Rows.Count; i++) { Entities.OrderNewCarLog model = InitOrderNewCarLog(dtNew.Rows[i], orderType); if (model != null) { long OrderNewCarLogID = Insert(tran, model); //插入 OrderNewCarLog 表 BLL.Loger.Log4Net.Info(string.Format((orderType == 0 ? "新车" : "试驾") + "任务生成表OrderNewCarLog成功,主键ID为:{0},无主订单ID为:{1},车款ID:{2}", OrderNewCarLogID, model.YPOrderID, model.CarID)); if (model.CarID != Constant.INT_INVALID_VALUE && model.CarID != 0) { //Add By Chybin At 2013.2.13 如果Carid和OrderQuantity为空,就只插入OrderNewCarLog 表,不生成任务,不插入OrderNewCar 表 //Add By Masj At 2013.7.26 OrderQuantity为空去掉限制了 long taskID = BLL.OrderTask.Instance.InsertByOrder(tran, model); //根据接口得到的原始数据生成任务 if (BLL.OrderNewCar.Instance.IsExistsByTaskID(taskID)) { BLL.Util.InsertUserLogNoUser(tran, "(" + (orderType == 0 ? "新车" : "试驾") + ")任务ID" + taskID + "的记录已经存在,不在生成任务!"); } else if (BLL.OrderNewCar.Instance.InsertByTaskID(tran, taskID, model)) { BLL.Util.InsertUserLogNoUser(tran, "(" + (orderType == 0 ? "新车" : "试驾") + ")任务ID" + taskID + "的记录生成成功!"); taskCount++; } } } } //事务提交 tran.Commit(); } catch (Exception ex) { tran.Rollback(); string msg = "(新车)生成任务失败!失败原因:" + ex.Message; BLL.Util.InsertUserLogNoUser(msg); BLL.Loger.Log4Net.Error(msg, ex); } finally { connection.Close(); } string msgTitle = "一共生成(新车)任务:" + taskCount + "个"; BLL.Util.InsertUserLogNoUser(msgTitle); TimeSpan ts = new TimeSpan(); ts = DateTime.Now - dtNow; BLL.Loger.Log4Net.Info("生成_易湃_新车订单_结束:" + msgTitle + ",用时" + ts.TotalSeconds + "秒。"); }
/// <summary> /// 更新一条数据 /// </summary> public int Update(SqlTransaction sqltran, Entities.OrderNewCarLog model) { return(Dal.OrderNewCarLog.Instance.Update(sqltran, model)); }
/// <summary> /// 更新一条数据 /// </summary> public int Update(Entities.OrderNewCarLog model) { return(Dal.OrderNewCarLog.Instance.Update(model)); }
/// <summary> /// 增加一条数据 /// </summary> public long Insert(SqlTransaction sqltran, Entities.OrderNewCarLog model) { return(Dal.OrderNewCarLog.Instance.Insert(sqltran, model)); }
/// <summary> /// 增加一条数据 /// </summary> public int Insert(Entities.OrderNewCarLog model) { return(Dal.OrderNewCarLog.Instance.Insert(model)); }
/// <summary> /// 根据易湃新车订单实体信息,插入表OrderNewCar信息 /// </summary> /// <param name="tran"></param> /// <param name="taskID">任务ID</param> /// <param name="model">易湃新车订单实体信息</param> /// <returns></returns> public bool InsertByTaskID(SqlTransaction tran, long taskID, Entities.OrderNewCarLog model) { Entities.OrderNewCar onModel = new Entities.OrderNewCar(); onModel.TaskID = taskID; onModel.YPOrderID = model.YPOrderID; onModel.UserName = model.UserName; onModel.UserPhone = model.UserPhone; onModel.UserMobile = model.UserMobile; onModel.UserMail = model.UserMail; if (model.UserGender != null && model.UserGender.Value == 0) { onModel.UserGender = 2;//性别“女” } else { onModel.UserGender = model.UserGender; } onModel.ProvinceID = null; onModel.CityID = null; onModel.CountyID = null; if (model.LocationID != null) { string locationName = BitAuto.YanFa.Crm2009.BLL.AreaInfo.Instance.GetAreaStrByAreaID(model.LocationID.Value.ToString()); switch (locationName.Split(',').Length) { case 1: onModel.ProvinceID = int.Parse(locationName.Split(',')[0]); break; case 2: onModel.ProvinceID = int.Parse(locationName.Split(',')[0]); onModel.CityID = int.Parse(locationName.Split(',')[1]); break; case 3: onModel.ProvinceID = int.Parse(locationName.Split(',')[0]); onModel.CityID = int.Parse(locationName.Split(',')[1]); onModel.CountyID = int.Parse(locationName.Split(',')[2]); break; default: break; } } onModel.AreaID = null; onModel.UserAddress = model.UserAddress; onModel.OrderCreateTime = model.OrderCreateTime; onModel.OrderRemark = model.OrderRemark; onModel.CarMasterID = null; onModel.CarSerialID = null; onModel.CarTypeID = null; if (model.CarID != null) { onModel.CarTypeID = model.CarID; int CarMasterID = 0; int CarSerialID = 0; int brandID = 0; BLL.CarTypeAPI.Instance.GetSerialIDAndMasterBrandIDByCarTypeID(model.CarID.Value, out CarSerialID, out CarMasterID, out brandID); //onModel.CarMasterID = CarMasterID; //onModel.CarSerialID = CarSerialID; if (CarMasterID > 0) { onModel.CarMasterID = CarMasterID; } if (CarSerialID > 0) { onModel.CarSerialID = CarSerialID; } } onModel.CarColor = model.CarColor; onModel.DMSMemberCode = string.Empty; onModel.DMSMemberName = string.Empty; onModel.CallRecord = string.Empty; onModel.Status = 0; onModel.CreateTime = DateTime.Now; onModel.DealerID = model.DealerID; onModel.OrderType = model.OrderType; int recid = Insert(tran, onModel); if (recid > 0) { BLL.Loger.Log4Net.Info(string.Format("新车任务生成表OrderNewCar成功,主键ID为:{0},无主订单ID为:{1},车款ID:{2},子品牌ID:{3},主品牌ID为:{4}", recid, onModel.YPOrderID, onModel.CarTypeID == null ? 0 : onModel.CarTypeID.Value, onModel.CarSerialID == null ? 0 : onModel.CarSerialID.Value, onModel.CarMasterID == null ? 0 : onModel.CarMasterID.Value )); return(true); } return(false); }