protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                int userID = BLL.Util.GetLoginUserID();

                if (!BLL.Util.CheckRight(userID, "SYS024BUT500605"))
                {
                    Response.Write(BLL.Util.GetNotAccessMsgPage("您没有访问该页面的权限"));
                    Response.End();
                }
                Entities.ProjectInfo info = BLL.ProjectInfo.Instance.GetProjectInfo(CommonFunction.ObjectToInteger(ProjectID));
                if (info == null)
                {
                    return;
                }

                QueryYTGActivityTaskInfo query = new QueryYTGActivityTaskInfo();
                query.ProjectID = CommonFunction.ObjectToInteger(ProjectID);
                query.LoginID   = BLL.Util.GetLoginUserID();

                query.TaskCBeginTime = taskcreatestart;
                query.TaskCEndTime   = taskcreateend;

                query.Subbegintime = tasksubstart;
                query.Subendtime   = tasksubend;

                DataTable dt = BLL.YTGActivityTask.Instance.GetYTGProjectTasksForExport(query);
                if (dt != null)
                {
                    BLL.Util.ExportToCSV(info.Name + "的任务" + DateTime.Now.ToString("yyyy-MM-dd-hh-mm-ss"), dt);
                }
            }
        }
        public Entities.ProjectInfo LoadSingleProjectInfo(DataRow row)
        {
            Entities.ProjectInfo model = new Entities.ProjectInfo();

            if (row["ProjectID"].ToString() != "")
            {
                model.ProjectID = long.Parse(row["ProjectID"].ToString());
            }
            if (row["BGID"].ToString() != "")
            {
                model.BGID = int.Parse(row["BGID"].ToString());
            }
            if (row["SCID"].ToString() != "")
            {
                model.SCID = int.Parse(row["SCID"].ToString());
            }
            model.Name  = row["Name"].ToString();
            model.Notes = row["Notes"].ToString();
            if (row["Source"].ToString() != "")
            {
                model.Source = int.Parse(row["Source"].ToString());
            }
            if (row["Status"].ToString() != "")
            {
                model.Status = int.Parse(row["Status"].ToString());
            }
            if (row["CreateTime"].ToString() != "")
            {
                model.CreateTime = DateTime.Parse(row["CreateTime"].ToString());
            }
            if (row["CreateUserID"].ToString() != "")
            {
                model.CreateUserID = int.Parse(row["CreateUserID"].ToString());
            }
            if (row["PCatageID"].ToString() != "")
            {
                model.PCatageID = int.Parse(row["PCatageID"].ToString());
            }
            if (row["IsOldData"].ToString() != "")
            {
                model.IsOldData = int.Parse(row["IsOldData"].ToString());
            }

            model.TTCode      = row["TTCode"].ToString();
            model.DemandID    = row["DemandID"].ToString();
            model.Batch       = row["Batch"].ToString() == "" ? null : (int?)int.Parse(row["Batch"].ToString());
            model.ExpectedNum = row["ExpectedNum"].ToString() == "" ? null : (int?)int.Parse(row["ExpectedNum"].ToString());

            if (row["IsBlacklistCheck"].ToString() != "")
            {
                model.IsBlacklistCheck = int.Parse(row["IsBlacklistCheck"].ToString());
            }
            if (row["BlacklistCheckType"].ToString() != "")
            {
                model.BlacklistCheckType = int.Parse(row["BlacklistCheckType"].ToString());
            }
            return(model);
        }
Example #3
0
 /// 结束易集客项目
 /// <summary>
 /// 结束易集客项目
 /// </summary>
 /// <param name="CurrDemandID"></param>
 /// <param name="errMsg"></param>
 public void EndCCProjectForYJK(string CurrDemandID, out string errMsg)
 {
     errMsg = "";
     Entities.ProjectInfo projectModel = GetProjectInfoByDemandID(CurrDemandID);
     if (projectModel != null)
     {
         //结束项目
         BLL.ProjectInfo.Instance.EndCCProject(projectModel.ProjectID, 5, out errMsg);
         BLL.ProjectLog.Instance.InsertProjectLog(projectModel.ProjectID, ProjectLogOper.L4_结束项目, "结束项目-" + projectModel.Name, null, -1);
     }
 }
Example #4
0
 /// <summary>
 /// 获取项目名称
 /// </summary>
 /// <returns></returns>
 protected string GetProjectName()
 {
     if (model.ProjectID.HasValue)
     {
         Entities.ProjectInfo proModel = BLL.ProjectInfo.Instance.GetProjectInfo(model.ValueOrDefault_ProjectID);
         return(proModel.Name);
     }
     else
     {
         return("");
     }
 }
        /// <summary>
        ///
        /// </summary>
        /// <param name="p"></param>
        /// <param name="p_2"></param>
        /// <returns></returns>
        private string GetCustID(Entities.ProjectInfo projectInfo, string ttName, string tfName, string RelationID)
        {
            string custid = "";
            string msg    = "";

            DataTable tempTableDt = BLL.TTable.Instance.GetDataByRelationIDs(RelationID, ttName, out msg);

            if (tempTableDt != null && tempTableDt.Rows.Count > 0)
            {
                custid = tempTableDt.Rows[0][tfName + "_crmcustid_name"].ToString();
            }

            return(custid);
        }
Example #6
0
 /// 验证是否黑名单
 /// <summary>
 /// 验证是否黑名单
 /// </summary>
 /// <param name="projectID">项目ID</param>
 /// <param name="phone">号码</param>
 /// <returns>true 是黑名单 false 不是</returns>
 public bool CheckPhoneAndTelIsInBlackList(long projectID, string phone)
 {
     Entities.ProjectInfo pinfo = BLL.ProjectInfo.Instance.GetProjectInfo(projectID);
     //是否启用黑名单校验 1启用 0禁用
     if (pinfo.IsBlacklistCheck.GetValueOrDefault(-2) == 1)
     {
         if (pinfo.BlacklistCheckType.HasValue)
         {
             BlackListCheckType blackListCheckType = (BlackListCheckType)pinfo.BlacklistCheckType.Value;
             return(CheckPhoneAndTelIsInBlackList(blackListCheckType, phone));
         }
     }
     //不进行验证,不是黑名单
     return(false);
 }
Example #7
0
        /// 根据项目信息,撤销任务
        /// <summary>
        /// 根据项目信息,撤销任务
        /// </summary>
        /// <param name="model">项目信息</param>
        /// <param name="errMsg"></param>
        public void RevokeCJKProjectTask(Entities.ProjectInfo model, out string errMsg)
        {
            errMsg = "";
            try
            {
                Dal.ProjectInfo.Instance.RevokeCJKProjectTask(model.ProjectID);
                if (model.Source == 6)//CJK项目,需要发邮件
                {
                    #region 发邮件
                    int DealCount    = 0; //总处理量
                    int SuccessCount = 0; //总成功量
                    int totalCount   = 0;

                    Entities.QueryLeadsTask query = new QueryLeadsTask();
                    query.ProjectID = (int)model.ProjectID;
                    //query.Status = (int)LeadsTaskStatus.Processed;
                    DataTable dt = BLL.LeadsTask.Instance.GetLeadsTask(query, "", 1, 999999, out totalCount);
                    DealCount = dt.Rows.Count;

                    query           = new QueryLeadsTask();
                    query.ProjectID = (int)model.ProjectID;
                    query.IsSuccess = 1;
                    dt           = BLL.LeadsTask.Instance.GetLeadsTask(query, "", 1, 999999, out totalCount);
                    SuccessCount = dt.Rows.Count;

                    string[] userEmail = ConfigurationManager.AppSettings["CRMCJKProjectEmailInfo"].Trim() != "" ? ConfigurationManager.AppSettings["CRMCJKProjectEmailInfo"].Split(';') : null;

                    if (userEmail != null && userEmail.Length > 0)
                    {
                        foreach (string item in userEmail)
                        {
                            string   mailBody1 = item.Split(':')[0];
                            string   url       = ConfigurationManager.AppSettings["WebBaseURL"] + "/ProjectManage/ViewProject.aspx?projectid=" + model.ProjectID.ToString();
                            string   mailBody2 = "您有一个关于线索邀约的项目已完成目标数量,未处理任务已自动撤销。<br/><br/>项目名称:<a href='" + url + "'>" + model.Name + "</a><br/><br/>总线索量:" + DealCount.ToString() + "<br/><br/>实际成功量:" + SuccessCount.ToString();
                            string   Title     = "您有一个项目已结束";
                            string[] reciver   = new string[] { item.Split(':')[1] };
                            BLL.EmailHelper.Instance.SendMail(mailBody1, mailBody2, Title, reciver);
                        }
                    }
                    #endregion
                }
            }
            catch (Exception ex)
            {
                BLL.Loger.Log4Net.Error("撤销项目下任务时报错,项目ID为:" + model.ProjectID.ToString(), ex);
                errMsg = ex.Message;
            }
        }
Example #8
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                if (ProjectID != "")
                {
                    Entities.ProjectInfo model = new Entities.ProjectInfo();
                    model = BLL.ProjectInfo.Instance.GetProjectInfo(int.Parse(ProjectID));
                    if (model != null)
                    {
                        if (model.Source == 1 || model.Source == 2 || model.Source == 3 || model.Source == 4)
                        {
                            importhistroycss = "display:block";
                        }
                        this.txtProjectName.Value = model.Name;
                        BGID = model.BGID.ToString();
                        CID  = model.PCatageID.ToString();
                        this.txtDescription.Value = model.Notes;

                        SourceID           = model.Source.ToString();
                        statusId           = model.Status.ToString();
                        TTCode             = model.TTCode;
                        IsBlacklistCheck   = model.IsBlacklistCheck.GetValueOrDefault(0);
                        BlackListCheckType = model.BlacklistCheckType.GetValueOrDefault(0);

                        selectDataIDs = BLL.ProjectDataSoure.Instance.GetProjectDataSoureID(model.ProjectID, out DataCount, true);

                        #region 计算问卷个数

                        int totalCount = 0;
                        Entities.QueryProjectSurveyMapping mapQuery = new Entities.QueryProjectSurveyMapping();
                        mapQuery.ProjectID = int.Parse(ProjectID);
                        DataTable dt = BLL.ProjectSurveyMapping.Instance.GetProjectSurveyMapping(mapQuery, "", 1, 999, out totalCount);
                        if (dt != null)
                        {
                            SurveryCount = dt.Rows.Count.ToString();
                        }

                        #endregion
                    }
                }
            }
        }
Example #9
0
        public Entities.ProjectInfo GetProjectInfoByDemandID(string CurrDemandID)
        {
            Entities.ProjectInfo      model = new Entities.ProjectInfo();
            Entities.QueryProjectInfo query = new Entities.QueryProjectInfo();
            query.DemandID = CurrDemandID;

            int       totalCount = 0;
            DataTable dt         = GetProjectInfo(query, "", 1, 999, out totalCount);

            if (dt != null && dt.Rows.Count > 0)
            {
                model = Dal.ProjectInfo.Instance.LoadSingleProjectInfo(dt.Rows[0]);
            }
            else
            {
                model = null;
            }
            return(model);
        }
        /// <summary>
        ///  增加一条数据
        /// </summary>
        public int Insert(SqlTransaction sqltran, Entities.ProjectInfo model)
        {
            SqlParameter[] parameters =
            {
                new SqlParameter("@ProjectID",          SqlDbType.Int,          8),
                new SqlParameter("@BGID",               SqlDbType.Int,          4),
                new SqlParameter("@SCID",               SqlDbType.Int,          4),
                new SqlParameter("@Name",               SqlDbType.NVarChar,   200),
                new SqlParameter("@Notes",              SqlDbType.NVarChar,  1000),
                new SqlParameter("@Source",             SqlDbType.Int,          4),
                new SqlParameter("@Status",             SqlDbType.Int,          4),
                new SqlParameter("@CreateTime",         SqlDbType.DateTime),
                new SqlParameter("@CreateUserID",       SqlDbType.Int,          4),
                new SqlParameter("@PCatageID",          SqlDbType.Int,          4),
                new SqlParameter("@TTCode",             SqlDbType.NVarChar,    20),
                new SqlParameter("@DemandID",           SqlDbType.VarChar,     20),
                new SqlParameter("@Batch",              SqlDbType.Int,          4),
                new SqlParameter("@ExpectedNum",        SqlDbType.Int,          4),
                new SqlParameter("@IsBlacklistCheck",   SqlDbType.Int,          4),
                new SqlParameter("@BlacklistCheckType", SqlDbType.Int, 4)
            };
            parameters[0].Direction = ParameterDirection.Output;
            parameters[1].Value     = model.BGID;
            parameters[2].Value     = model.SCID;
            parameters[3].Value     = model.Name;
            parameters[4].Value     = model.Notes;
            parameters[5].Value     = model.Source;
            parameters[6].Value     = model.Status;
            parameters[7].Value     = model.CreateTime;
            parameters[8].Value     = model.CreateUserID;
            parameters[9].Value     = model.PCatageID;
            parameters[10].Value    = model.TTCode;
            parameters[11].Value    = model.DemandID;
            parameters[12].Value    = model.Batch;
            parameters[13].Value    = model.ExpectedNum;
            parameters[14].Value    = model.IsBlacklistCheck;
            parameters[15].Value    = model.BlacklistCheckType;

            SqlHelper.ExecuteNonQuery(sqltran, CommandType.StoredProcedure, P_PROJECTINFO_INSERT, parameters);
            return((int)parameters[0].Value);
        }
        /// <summary>
        ///  更新一条数据
        /// </summary>
        public int Update(Entities.ProjectInfo model)
        {
            SqlParameter[] parameters =
            {
                new SqlParameter("@ProjectID",          SqlDbType.Int,          8),
                new SqlParameter("@BGID",               SqlDbType.Int,          4),
                new SqlParameter("@SCID",               SqlDbType.Int,          4),
                new SqlParameter("@Name",               SqlDbType.NVarChar,   200),
                new SqlParameter("@Notes",              SqlDbType.NVarChar,  1000),
                new SqlParameter("@Source",             SqlDbType.Int,          4),
                new SqlParameter("@Status",             SqlDbType.Int,          4),
                new SqlParameter("@CreateTime",         SqlDbType.DateTime),
                new SqlParameter("@CreateUserID",       SqlDbType.Int,          4),
                new SqlParameter("@PCatageID",          SqlDbType.Int,          4),
                new SqlParameter("@TTCode",             SqlDbType.NVarChar,    20),
                new SqlParameter("@DemandID",           SqlDbType.VarChar,     20),
                new SqlParameter("@Batch",              SqlDbType.Int,          4),
                new SqlParameter("@ExpectedNum",        SqlDbType.Int,          4),
                new SqlParameter("@IsBlacklistCheck",   SqlDbType.Int,          4),
                new SqlParameter("@BlacklistCheckType", SqlDbType.Int, 4)
            };
            parameters[0].Value  = model.ProjectID;
            parameters[1].Value  = model.BGID;
            parameters[2].Value  = model.SCID;
            parameters[3].Value  = model.Name;
            parameters[4].Value  = model.Notes;
            parameters[5].Value  = model.Source;
            parameters[6].Value  = model.Status;
            parameters[7].Value  = model.CreateTime;
            parameters[8].Value  = model.CreateUserID;
            parameters[9].Value  = model.PCatageID;
            parameters[10].Value = model.TTCode;
            parameters[11].Value = model.DemandID;
            parameters[12].Value = model.Batch;
            parameters[13].Value = model.ExpectedNum;
            parameters[14].Value = model.IsBlacklistCheck;
            parameters[15].Value = model.BlacklistCheckType;

            return(SqlHelper.ExecuteNonQuery(CONNECTIONSTRINGS, CommandType.StoredProcedure, P_PROJECTINFO_UPDATE, parameters));
        }
Example #12
0
        /// <summary>
        /// 获取项目、自定义数据表、字段信息 基本信息
        /// </summary>
        /// <param name="ProjectID"></param>
        /// <param name="model"></param>
        /// <param name="TTCode"></param>
        /// <param name="ttable"></param>
        /// <param name="TTName"></param>
        /// <param name="fieldList"></param>
        /// <param name="msg"></param>
        private void GetBaseInfo(int ProjectID, out Entities.ProjectInfo model, out string TTCode, out Entities.TTable ttable, out string TTName, out List <Entities.TField> fieldList, out string msg)
        {
            msg = string.Empty;

            model = BLL.ProjectInfo.Instance.GetProjectInfo(ProjectID);

            TTCode = string.Empty;

            ttable = new Entities.TTable();

            TTName = string.Empty;

            fieldList = new List <Entities.TField>();

            if (model == null)
            {
                msg += "没找到对应的项目";
                return;
            }
            if (model.Source != 4)
            {
                msg += "此类型项目不允许导出";
                return;
            }

            TTCode = model.TTCode;

            ttable = BLL.TTable.Instance.GetTTableByTTCode(TTCode); //

            if (ttable.TTName == "" || ttable.TTName == null)
            {
                msg += "没有找到定义的自定义数据表名称";
                return;
            }

            TTName = ttable.TTName;

            fieldList = BLL.TField.Instance.GetTFieldListByTTCode(TTCode);
        }
        public void ProcessRequest(HttpContext context)
        {
            BitAuto.YanFa.SysRightManager.Common.UserInfo.Check();
            context.Response.ContentType = "text/plain";
            string msg = "";

            if (Status == "-1")
            {
                int userID = BLL.Util.GetLoginUserID();
                if (!BLL.Util.CheckRight(userID, "SYS024BUT500603"))
                {
                    msg += "您没有执行该操作的的权限";
                    context.Response.Write(msg);
                    return;
                }
            }
            else if (Status == "2")
            {
                int userID = BLL.Util.GetLoginUserID();
                if (!BLL.Util.CheckRight(userID, "SYS024BUT500607"))
                {
                    msg += "您没有执行该操作的的权限";
                    context.Response.Write(msg);
                    return;
                }
            }


            CheckPro(out msg);

            if (msg == "")
            {
                int userID     = BLL.Util.GetLoginUserID();
                int totalCount = 0;

                Entities.ProjectInfo model = new Entities.ProjectInfo();
                model = BLL.ProjectInfo.Instance.GetProjectInfo(int.Parse(ProjectID));
                if (model != null)
                {
                    if (Status == "2")
                    {
                        if (model.Source == 1 || model.Source == 2)
                        {
                            Entities.QueryProjectTaskInfo query = new Entities.QueryProjectTaskInfo();
                            query.ProjectID    = int.Parse(ProjectID);
                            query.TaskStatus_s = "180012,180000,180001,180003,180004,180010";

                            DataTable dt = BLL.ProjectTaskInfo.Instance.GetProjectTaskInfo(query, 1, 999999, out totalCount, userID);

                            foreach (DataRow dr in dt.Rows)
                            {
                                BLL.ProjectTaskInfo.Instance.UpdateTaskStatus(dr["PTID"].ToString(), EnumProjectTaskStatus.STOPTask, EnumProjectTaskOperationStatus.TaskFinish, DateTime.Now);
                            }
                        }
                        else
                        {
                            // 结束其他任务
                            DataTable dt = BLL.OtherTaskInfo.Instance.GetStopForOtherTaskInfoByList(int.Parse(ProjectID));
                            foreach (DataRow dr in dt.Rows)
                            {
                                BLL.OtherTaskInfo.Instance.UpdateTaskStatus(dr["PTID"].ToString(), Entities.OtheTaskStatus.StopTask, Entities.EnumProjectTaskOperationStatus.TaskFinish, "结束项目", userID);
                            }
                        }
                    }
                    if (Status == "-1")
                    {
                        //删除问卷
                        Entities.QueryProjectSurveyMapping query = new QueryProjectSurveyMapping();
                        query.ProjectID = int.Parse(ProjectID);

                        List <Entities.ProjectSurveyMapping> mapList = BLL.ProjectSurveyMapping.Instance.GetProjectSurveyMappingList(query, out totalCount);

                        if (mapList != null && mapList.Count > 0)
                        {
                            foreach (Entities.ProjectSurveyMapping item in mapList)
                            {
                                item.Status = -1;
                                BLL.ProjectSurveyMapping.Instance.Update(item);
                            }
                        }
                    }

                    #region 修改项目状态
                    model.Status = int.Parse(Status);
                    BLL.ProjectInfo.Instance.Update(model);
                    BLL.ProjectLog.Instance.InsertProjectLog(model.ProjectID, ProjectLogOper.L4_结束项目, "结束项目-" + model.Name);
                    #endregion

                    #region 停止自动外呼
                    int a = BLL.ProjectInfo.Instance.EndAutoCallProject(model.ProjectID);
                    if (a > 0)
                    {
                        BLL.ProjectLog.Instance.InsertProjectLog(model.ProjectID, ProjectLogOper.Z6_结束自动外呼, "");
                    }
                    #endregion
                }
                else
                {
                    msg += "没有找到对应的项目";
                }
            }

            if (msg == "")
            {
                msg = "success";
            }
            context.Response.Write(msg);
        }
        /// <summary>
        /// 根据Leads处理实体加载信息
        /// </summary>
        /// <param name="model"></param>
        protected void LoadLeadInfo(Entities.LeadsTask model)
        {
            //项目名称
            Entities.ProjectInfo ProjectInfoModel = BLL.ProjectInfo.Instance.GetProjectInfo(model.ProjectID);
            if (ProjectInfoModel != null)
            {
                ProjectName = ProjectInfoModel.Name;
            }


            BitAuto.YanFa.Crm2009.Entities.CJKDemandInfo cjkmodel = null;
            cjkmodel = BitAuto.YanFa.Crm2009.BLL.CJKDemandBll.Instance.GetCJKDemandInfo(model.DemandID);
            if (cjkmodel != null)
            {
                CustName = cjkmodel.CustName;
            }

            PlanBuyCarTime = BitAuto.ISDC.CC2012.BLL.Util.GetEnumOptText(typeof(BitAuto.ISDC.CC2012.Entities.LeadPlanBuyCarTime), Convert.ToInt32(model.PBuyCarTime));

            //地区
            if (model.ProvinceID != Entities.Constants.Constant.INT_INVALID_VALUE)
            {
                PlaceStr += BitAuto.YanFa.Crm2009.BLL.AreaInfo.Instance.GetAreaName(model.ProvinceID.ToString());
            }
            if (model.CityID != Entities.Constants.Constant.INT_INVALID_VALUE)
            {
                PlaceStr += " " + BitAuto.YanFa.Crm2009.BLL.AreaInfo.Instance.GetAreaName(model.CityID.ToString());
            }
            PlaceStr = PlaceStr.Trim(' ');
            //下单车型
            if (!string.IsNullOrEmpty(model.OrderCarMaster))
            {
                OrderCarInfo += model.OrderCarMaster + " ";
            }
            if (!string.IsNullOrEmpty(model.OrderCarSerial))
            {
                OrderCarInfo += model.OrderCarSerial + " ";
            }
            if (!string.IsNullOrEmpty(model.OrderCar))
            {
                OrderCarInfo += model.OrderCar + " ";
            }
            OrderCarInfo = OrderCarInfo.TrimEnd(' ');
            //需匹配车型
            if (!string.IsNullOrEmpty(model.DCarMaster))
            {
                DCarInfo += model.DCarMaster + " ";
            }
            if (!string.IsNullOrEmpty(model.DCarSerial))
            {
                DCarInfo += model.DCarSerial + " ";
            }
            DCarInfo = DCarInfo.TrimEnd(' ');

            ////加载失败原因
            //if (model.FailReason != Entities.Constants.Constant.INT_INVALID_VALUE)
            //{
            //    int _failreason;
            //    int.TryParse(model.FailReason.ToString(), out _failreason);
            //    FailReason = BLL.Util.GetEnumOptText(typeof(Entities.CJKLeadTaskFailReason), _failreason);
            //}

            //加载未接通原因
            if (model.NotEstablishReason != Entities.Constants.Constant.INT_INVALID_VALUE)
            {
                int _notEstablishReason;
                int.TryParse(model.NotEstablishReason.ToString(), out _notEstablishReason);
                NotEstablishReason = BLL.Util.GetEnumOptText(typeof(Entities.NotEstablishReason), _notEstablishReason);
            }

            //加载接通后失败原因
            if (model.NotSuccessReason != Entities.Constants.Constant.INT_INVALID_VALUE)
            {
                int _notSuccessReason;
                int.TryParse(model.NotSuccessReason.ToString(), out _notSuccessReason);
                NotSuccessReason = BLL.Util.GetEnumOptText(typeof(Entities.NotSuccessReason), _notSuccessReason);
            }
            ////加载需匹配车款
            //if (model.DCarID != Entities.Constants.Constant.INT_INVALID_VALUE)
            //{
            //    int _dcarid;
            //    int.TryParse(model.DCarID.ToString(), out _dcarid);
            //    DCarName = model.DCarName;
            //}


            string[] strYM = model.BoughtCarYearMonth.Split(',');
            if (strYM.Length == 2)
            {
                strBoughtCarYear = strYM[0];
                if (strYM[1] == "-1")
                {
                    strBoughtCarMonth = "";
                }
                else
                {
                    strBoughtCarMonth = strYM[1];
                }
            }
        }
        private void ExportTask(out string msg)
        {
            msg = "";

            #region 定义变量

            int    totalCount    = 0;
            string TTName        = "";
            string TTCode        = "";
            string selectDataIDs = "";

            Entities.TTable        ttable;
            List <Entities.TField> fieldList = new List <Entities.TField>();
            DataTable DbdataDt;//自定义数据表中的数据

            #endregion

            #region 获取项目、自定义数据表、字段信息

            Entities.ProjectInfo model = BLL.ProjectInfo.Instance.GetProjectInfo(int.Parse(ProjectID));

            if (model == null)
            {
                msg += "没找到对应的项目";
                return;
            }
            ProjectName = model.Name;
            if (model.Source != 4)
            {
                msg += "此类型项目不允许导出";
                return;
            }

            TTCode = model.TTCode;

            ttable = BLL.TTable.Instance.GetTTableByTTCode(TTCode); //

            if (ttable.TTName == "" || ttable.TTName == null)
            {
                msg += "没有找到定义的自定义数据表名称";
                return;
            }

            TTName = ttable.TTName;

            fieldList = BLL.TField.Instance.GetTFieldListByTTCode(TTCode);
            #endregion

            #region 获取自定义数据表中的关联数据

            Entities.QueryProjectDataSoure query = new Entities.QueryProjectDataSoure();
            query.ProjectID = int.Parse(ProjectID);
            DataTable dt = BLL.ProjectDataSoure.Instance.GetProjectDataSoure(query, "", 1, 9999999, out totalCount);
            foreach (DataRow dr in dt.Rows)
            {
                selectDataIDs += dr["RelationID"].ToString() + ",";
            }
            if (selectDataIDs != "")
            {
                selectDataIDs = selectDataIDs.Substring(0, selectDataIDs.Length - 1);
            }
            DbdataDt = BLL.TTable.Instance.GetDataByIDs(selectDataIDs, TTName, TTCode, model.ProjectID.ToString(), out msg);
            if (msg != "" || DbdataDt == null)
            {
                msg = "读取自定义数据出错!" + msg;
                return;
            }

            #endregion

            #region 处理列

            Entities.TField tempfield;
            for (int i = DbdataDt.Columns.Count - 1; i >= 0; i--)
            {
                tempfield = null;

                #region  除不用导出的字段

                if (DbdataDt.Columns[i].ColumnName.Split('_').Length == 2)
                {
                    if (DbdataDt.Columns[i].ColumnName.Split('_')[1] == "Province")
                    {
                        DbdataDt.Columns.RemoveAt(i);
                    }
                    else if (DbdataDt.Columns[i].ColumnName.Split('_')[1] == "City")
                    {
                        DbdataDt.Columns.RemoveAt(i);
                    }
                    else if (DbdataDt.Columns[i].ColumnName.Split('_')[1] == "Country")
                    {
                        DbdataDt.Columns.RemoveAt(i);
                    }
                    else if (DbdataDt.Columns[i].ColumnName.Split('_')[1] == "checkid")
                    {
                        DbdataDt.Columns.RemoveAt(i);
                    }
                    else if (DbdataDt.Columns[i].ColumnName.Split('_')[1] == "radioid")
                    {
                        DbdataDt.Columns.RemoveAt(i);
                    }
                    else if (DbdataDt.Columns[i].ColumnName.Split('_')[1] == "selectid")
                    {
                        DbdataDt.Columns.RemoveAt(i);
                    }
                }

                if (DbdataDt.Columns[i].ColumnName == "RecID" ||
                    DbdataDt.Columns[i].ColumnName == "Status" ||
                    DbdataDt.Columns[i].ColumnName == "CreateTime" ||
                    DbdataDt.Columns[i].ColumnName == "CreateUserID"
                    )
                {
                    DbdataDt.Columns.RemoveAt(i);
                }

                #endregion

                #region 替换字段名

                if (DbdataDt.Columns[i].ColumnName.IndexOf("_startdata") != -1)
                {
                    tempfield = fieldList.Find(delegate(Entities.TField o) { return(o.TFName == DbdataDt.Columns[i].ColumnName.Split('_')[0]); });
                    if (tempfield != null)
                    {
                        DbdataDt.Columns[i].ColumnName = tempfield.TFDesName + "(起)";
                    }
                }
                else if (DbdataDt.Columns[i].ColumnName.IndexOf("_enddata") != -1)
                {
                    tempfield = fieldList.Find(delegate(Entities.TField o) { return(o.TFName == DbdataDt.Columns[i].ColumnName.Split('_')[0]); });
                    if (tempfield != null)
                    {
                        DbdataDt.Columns[i].ColumnName = tempfield.TFDesName + "(止)";
                    }
                }
                else if (DbdataDt.Columns[i].ColumnName.IndexOf("_starttime") != -1)
                {
                    tempfield = fieldList.Find(delegate(Entities.TField o) { return(o.TFName == DbdataDt.Columns[i].ColumnName.Split('_')[0]); });
                    if (tempfield != null)
                    {
                        DbdataDt.Columns[i].ColumnName = tempfield.TFDesName + "(起)";
                    }
                }
                else if (DbdataDt.Columns[i].ColumnName.IndexOf("_endtime") != -1)
                {
                    tempfield = fieldList.Find(delegate(Entities.TField o) { return(o.TFName == DbdataDt.Columns[i].ColumnName.Split('_')[0]); });
                    if (tempfield != null)
                    {
                        DbdataDt.Columns[i].ColumnName = tempfield.TFDesName + "(止)";
                    }
                }
                else if (DbdataDt.Columns[i].ColumnName.IndexOf("_Province_name") != -1)
                {
                    tempfield = fieldList.Find(delegate(Entities.TField o) { return(o.TFName == DbdataDt.Columns[i].ColumnName.Split('_')[0]); });
                    if (tempfield != null)
                    {
                        DbdataDt.Columns[i].ColumnName = tempfield.TFDesName + "(省)";
                    }
                }
                else if (DbdataDt.Columns[i].ColumnName.IndexOf("_City_name") != -1)
                {
                    tempfield = fieldList.Find(delegate(Entities.TField o) { return(o.TFName == DbdataDt.Columns[i].ColumnName.Split('_')[0]); });
                    if (tempfield != null)
                    {
                        DbdataDt.Columns[i].ColumnName = tempfield.TFDesName + "(市)";
                    }
                }
                else if (DbdataDt.Columns[i].ColumnName.IndexOf("_Country_name") != -1)
                {
                    tempfield = fieldList.Find(delegate(Entities.TField o) { return(o.TFName == DbdataDt.Columns[i].ColumnName.Split('_')[0]); });
                    if (tempfield != null)
                    {
                        DbdataDt.Columns[i].ColumnName = tempfield.TFDesName + "(县)";
                    }
                }
                else if (DbdataDt.Columns[i].ColumnName.IndexOf("_checkid_name") != -1)
                {
                    tempfield = fieldList.Find(delegate(Entities.TField o) { return(o.TFName == DbdataDt.Columns[i].ColumnName.Split('_')[0]); });
                    if (tempfield != null)
                    {
                        DbdataDt.Columns[i].ColumnName = tempfield.TFDesName;
                    }
                }
                else if (DbdataDt.Columns[i].ColumnName.IndexOf("_radioid_name") != -1)
                {
                    tempfield = fieldList.Find(delegate(Entities.TField o) { return(o.TFName == DbdataDt.Columns[i].ColumnName.Split('_')[0]); });
                    if (tempfield != null)
                    {
                        DbdataDt.Columns[i].ColumnName = tempfield.TFDesName;
                    }
                }
                else if (DbdataDt.Columns[i].ColumnName.IndexOf("_selectid_name") != -1)
                {
                    tempfield = fieldList.Find(delegate(Entities.TField o) { return(o.TFName == DbdataDt.Columns[i].ColumnName.Split('_')[0]); });
                    if (tempfield != null)
                    {
                        DbdataDt.Columns[i].ColumnName = tempfield.TFDesName;
                    }
                }
                else if (DbdataDt.Columns[i].ColumnName == "LastOptTime")
                {
                    DbdataDt.Columns[i].ColumnName = "操作时间";
                }

                else
                {
                    tempfield = fieldList.Find(delegate(Entities.TField o) { return(o.TFName == DbdataDt.Columns[i].ColumnName.Split('_')[0]); });
                    if (tempfield != null)
                    {
                        DbdataDt.Columns[i].ColumnName = tempfield.TFDesName;
                    }
                }


                #endregion
            }

            #region 任务ID列

            DbdataDt.Columns["PTID"].SetOrdinal(0);
            DbdataDt.Columns["PTID"].ColumnName = "任务ID";
            #endregion

            #region 增加列

            DbdataDt.Columns.Add("操作人");
            DbdataDt.Columns.Add("任务状态");

            #endregion

            #endregion

            #region 处理数据

            if (DbdataDt.Columns.Contains("LastOptUserID"))
            {
                int    intVal     = 0;
                string statusName = "";

                foreach (DataRow dr in DbdataDt.Rows)
                {
                    if (int.TryParse(dr["LastOptUserID"].ToString(), out intVal))
                    {
                        dr["操作人"] = BitAuto.YanFa.SysRightManager.Common.UserInfo.GerTrueName(intVal);
                    }

                    switch (dr["TaskStatus"].ToString())
                    {
                    case "1": statusName = "未分配"; break;

                    case "2": statusName = "未处理"; break;

                    case "3": statusName = "处理中"; break;

                    case "4": statusName = "已处理"; break;

                    case "5": statusName = "已结束"; break;
                    }
                    dr["任务状态"] = statusName;

                    foreach (DataColumn col in DbdataDt.Columns)
                    {
                        if (col.DataType == typeof(DateTime) && dr[col.ColumnName].ToString() == "1900-1-1 0:00:00")
                        {
                            dr[col.ColumnName] = DBNull.Value;
                        }
                    }
                }
            }

            #endregion

            #region  除用户ID列

            DbdataDt.Columns.Remove("LastOptUserID");
            DbdataDt.Columns.Remove("TaskStatus");

            #endregion

            #region 保存到服务器根目录下

            var exportString = BLL.Util.TableToSCV(DbdataDt);

            string Path = System.AppDomain.CurrentDomain.BaseDirectory + @"Excel201307";
            if (!Directory.Exists(Path))
            {
                Directory.CreateDirectory(Path);
            }
            string filePath = Path + "\\" + model.Name + ".csv";
            File.WriteAllText(filePath, exportString.ToString(), Encoding.GetEncoding("GB2312"));


            #endregion
        }
Example #16
0
 /// <summary>
 /// 更新一条数据
 /// </summary>
 public int Update(SqlTransaction sqltran, Entities.ProjectInfo model)
 {
     return(Dal.ProjectInfo.Instance.Update(sqltran, model));
 }
Example #17
0
 /// <summary>
 /// 更新一条数据
 /// </summary>
 public int Update(Entities.ProjectInfo model)
 {
     return(Dal.ProjectInfo.Instance.Update(model));
 }
        /// 生成任务
        /// <summary>
        /// 生成任务
        /// </summary>
        /// <param name="msg"></param>
        public void DoGenerateTask(out string msg, out string data)
        {
            msg  = "";
            data = "";
            int userId = BLL.Util.GetLoginUserID();

            Entities.ProjectInfo ProjectModel = BLL.ProjectInfo.Instance.GetProjectInfo(int.Parse(ProjectID));
            if (ProjectModel != null)
            {
                if (ProjectModel.Status != 0 && ProjectModel.Status != 1)
                {
                    msg += "项目的当前状态不允许生成任务";
                    return;
                }
                else
                {
                    Entities.QueryProjectDataSoure dsQuery = new Entities.QueryProjectDataSoure();
                    dsQuery.ProjectID = int.Parse(ProjectID);
                    dsQuery.Status    = 0;

                    int       totalCount = 0;
                    DataTable dt         = BLL.ProjectDataSoure.Instance.GetProjectDataSoure(dsQuery, "", 1, 99999999, out totalCount);
                    if (dt != null && dt.Rows.Count > 0)
                    {
                        //Source:1:数据清洗-Excel;2:数据清洗-Crm;3:客户回访;4:其他任务
                        switch (Source)
                        {
                        case "1":
                        case "2":
                        case "3":
                            GenByDataTable(ProjectModel, userId, dt, out msg);
                            break;

                        case "4":
                            GenByOtherTaskDataTable(ProjectModel, userId, dt, out msg, out data);
                            int?acstatus = BLL.ProjectInfo.Instance.GetProjectAutoCallACStatus(long.Parse(ProjectID));
                            if (acstatus.HasValue && (acstatus.Value == (int)ProjectACStatus.P01_进行中 || acstatus.Value == (int)ProjectACStatus.P02_暂停中))
                            {
                                //有自动外呼,且状态=进行中和暂停中 导入数据到自动外呼表中
                                BLL.AutoCall_TaskInfo.Instance.AutoCallTaskInfoUpdate_Async(long.Parse(ProjectID));
                            }
                            if (acstatus.HasValue && acstatus.Value == (int)ProjectACStatus.P01_进行中)
                            {
                                //只有进行中的不弹出分配框
                                data = data.Replace("@open", "false");
                            }
                            else
                            {
                                data = data.Replace("@open", "true");
                            }
                            break;
                        }
                    }
                    else
                    {
                        msg += "此项目没有关联的数据";
                    }
                }
            }
            else
            {
                msg += "没有找到对应的项目";
            }
        }
Example #19
0
        /// <summary>
        /// 获取自定义数据表中的关联数据
        /// </summary>
        /// <param name="ProjectID"></param>
        /// <param name="TTName"></param>
        /// <param name="TTCode"></param>
        /// <param name="model"></param>
        /// <param name="selectDataIDs"></param>
        /// <param name="DbdataDt"></param>
        /// <param name="msg"></param>
        private void GetTemptRelationData(int ProjectID, string TTName, string TTCode, Entities.ProjectInfo model, out string selectDataIDs, out DataTable DbdataDt, string taskcreatestart, string taskcreateend, string tasksubstart, string tasksubend, out string msg)
        {
            msg           = string.Empty;
            selectDataIDs = string.Empty;
            DbdataDt      = new DataTable();

            Entities.QueryProjectDataSoure query = new Entities.QueryProjectDataSoure();
            query.ProjectID = ProjectID;
            int       totalCount = 0;
            DataTable dt         = BLL.ProjectDataSoure.Instance.GetProjectDataSoure(query, "", 1, -1, out totalCount);

            foreach (DataRow dr in dt.Rows)
            {
                selectDataIDs += dr["RelationID"].ToString() + ",";
            }
            if (selectDataIDs != "")
            {
                selectDataIDs = selectDataIDs.Substring(0, selectDataIDs.Length - 1);
            }
            //modify by qizq 2014-11-24 给项目导出加任务的创建时间,任务提交时间等过滤条件
            //DbdataDt = BLL.TTable.Instance.GetDataByIDs(selectDataIDs, TTName, TTCode, model.ProjectID.ToString(), out msg);
            DbdataDt = BLL.TTable.Instance.GetDataByIDs(selectDataIDs, TTName, TTCode, model.ProjectID.ToString(), taskcreatestart, taskcreateend, tasksubstart, tasksubend, out msg);

            if (msg != "" || DbdataDt == null)
            {
                msg = "读取自定义数据出错!";
                return;
            }
        }
Example #20
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                if (!string.IsNullOrEmpty(OtherTaskID))
                {
                    Entities.OtherTaskInfo model = BLL.OtherTaskInfo.Instance.GetOtherTaskInfo(OtherTaskID);
                    BlackWhiteList = Convert.ToInt16(Entities.NotEstablishReason.N05_免打扰屏蔽).ToString();
                    if (model != null)
                    {
                        UserID = BLL.Util.GetLoginUserID().ToString();

                        if (IsAutoCall == "true")
                        {
                            //重新分配坐席
                            BLL.ProjectTask_Employee.Instance.DeleteByIDs("'" + OtherTaskID + "'");
                            //新建坐席数据
                            Entities.ProjectTask_Employee info = new Entities.ProjectTask_Employee();
                            info.PTID         = OtherTaskID;
                            info.UserID       = int.Parse(UserID);
                            info.Status       = 0;
                            info.CreateTime   = DateTime.Now;
                            info.CreateUserID = int.Parse(UserID);
                            BLL.ProjectTask_Employee.Instance.Add(info);
                            //修改任务状态=处理中
                            BLL.OtherTaskInfo.Instance.UpdateTaskStatus(info.PTID, Entities.OtheTaskStatus.Processing, Entities.EnumProjectTaskOperationStatus.TaskAllot, "分配", info.UserID.Value);
                            //修改实体类中属性
                            model.TaskStatus = (Int32)Entities.OtheTaskStatus.Processing;
                        }

                        if (model.TaskStatus == (Int32)Entities.OtheTaskStatus.Processed)
                        {
                            Response.Write(@"<script language='javascript'>javascript:alert('该任务已处理完毕!');try {
                                                                 window.external.MethodScript('/browsercontrol/closepage');
                                                            } catch (e) {
                                                                window.opener = null; window.open('', '_self'); window.close();
                                                            };</script>");
                        }
                        else if (model.TaskStatus == (Int32)Entities.OtheTaskStatus.StopTask)
                        {
                            Response.Write(@"<script language='javascript'>javascript:alert('该任务已结束!');try {
                                                                 window.external.MethodScript('/browsercontrol/closepage');
                                                            } catch (e) {
                                                                window.opener = null; window.open('', '_self'); window.close();
                                                            };</script>");
                        }
                        else if (model.TaskStatus == (Int32)Entities.OtheTaskStatus.Unallocated)
                        {
                            Response.Write(@"<script language='javascript'>javascript:alert('该任务未分配处理人!');try {
                                                                 window.external.MethodScript('/browsercontrol/closepage');
                                                            } catch (e) {
                                                                window.opener = null; window.open('', '_self'); window.close();
                                                            };</script>");
                        }
                        else
                        {
                            DataTable dtEmployee = BLL.ProjectTask_Employee.Instance.GetProjectTask_Employee(OtherTaskID);
                            if (dtEmployee != null && dtEmployee.Rows.Count > 0)
                            {
                                if (BLL.Util.GetLoginUserID().ToString() == dtEmployee.Rows[0]["userid"].ToString())
                                {
                                    OtherTaskEdit1.RequestTaskID = OtherTaskID;
                                }
                                else
                                {
                                    Response.Write(@"<script language='javascript'>javascript:alert('您没有该任务的处理权限!');try {
                                                                     window.external.MethodScript('/browsercontrol/closepage');
                                                                } catch (e) {
                                                                    window.opener = null; window.open('', '_self'); window.close();
                                                                };</script>");
                                }
                            }
                            else
                            {
                                Response.Write(@"<script language='javascript'>javascript:alert('该任务未分配处理人!');try {
                                                                     window.external.MethodScript('/browsercontrol/closepage');
                                                                } catch (e) {
                                                                    window.opener = null; window.open('', '_self'); window.close();
                                                                };</script>");
                            }
                        }


                        Entities.ProjectInfo projectModel = BLL.ProjectInfo.Instance.GetProjectInfo((long)model.ProjectID);
                        if (projectModel != null)
                        {
                            BGID = projectModel.BGID.ToString();
                            SCID = projectModel.PCatageID.ToString();
                            Entities.TPage pageModel = BLL.TPage.Instance.GetTPageByTTCode(projectModel.TTCode);
                            if (pageModel.IsShowSubmitOrder.ToString() == "1")
                            {
                                IsShowSubmitOrder = true;
                            }
                        }
                    }
                    else
                    {
                        Response.Write(@"<script language='javascript'>javascript:alert('该任务不存在。');try {
                                                         window.external.MethodScript('/browsercontrol/closepage');
                                                    } catch (e) {
                                                        window.opener = null; window.open('', '_self'); window.close();
                                                    };</script>");
                    }
                }
            }
        }
Example #21
0
        public DataTable ExportTask(int ProjectID, out string msg, out string exportName, string taskcreatestart, string taskcreateend, string tasksubstart, string tasksubend)
        {
            msg        = "";
            exportName = "";

            #region 定义变量

            int    totalCount    = 0;
            string TTName        = "";
            string TTCode        = "";
            string selectDataIDs = "";

            Entities.TTable        ttable    = null;
            Entities.ProjectInfo   model     = null;
            List <Entities.TField> fieldList = null;
            DataTable DbdataDt = null;//自定义数据表中的数据

            #endregion

            #region 获取项目、自定义数据表、字段信息

            GetBaseInfo(ProjectID, out model, out TTCode, out ttable, out TTName, out fieldList, out msg);

            if (msg != "")
            {
                return(null);
            }

            exportName = model.Name;

            #endregion

            #region 获取自定义数据表中的关联数据

            GetTemptRelationData(ProjectID, TTName, TTCode, model, out selectDataIDs, out DbdataDt, taskcreatestart, taskcreateend, tasksubstart, tasksubend, out msg);

            if (msg != "")
            {
                return(null);
            }

            #endregion

            #region 是否成功,是否接通,接通后失败原因,未接通原因列的转换

            if (DbdataDt.Columns.Contains("IsSuccess") && DbdataDt.Columns.Contains("IsEstablish") && DbdataDt.Columns.Contains("NotSuccessReason") && DbdataDt.Columns.Contains("NotEstablishReason"))
            {
                DataColumn colIsSuccess = new DataColumn("IsSucName", Type.GetType("System.String"));
                DbdataDt.Columns.Add(colIsSuccess);
                DataColumn colIsJT = new DataColumn("IsJTName", Type.GetType("System.String"));
                DbdataDt.Columns.Add(colIsJT);
                DataColumn colNotSuccessReason = new DataColumn("NotSuccessReasonName", Type.GetType("System.String"));
                DbdataDt.Columns.Add(colNotSuccessReason);
                DataColumn colNotExport = new DataColumn("NotExportName", Type.GetType("System.String"));
                DbdataDt.Columns.Add(colNotExport);

                for (int i = 0; i < DbdataDt.Rows.Count; i++)
                {
                    DbdataDt.Rows[i]["IsSucName"] = BLL.Util.GetIsNotStatus(DbdataDt.Rows[i]["IsSuccess"].ToString());
                    DbdataDt.Rows[i]["IsJTName"]  = BLL.Util.GetIsNotStatus(DbdataDt.Rows[i]["IsEstablish"].ToString());

                    string notSuc    = DbdataDt.Rows[i]["NotSuccessReason"].ToString();
                    string notExport = DbdataDt.Rows[i]["NotEstablishReason"].ToString();

                    string notExportName = String.Empty;
                    if (!(String.IsNullOrEmpty(notExport) || notExport.Trim() == "-1" || notExport.Trim() == "-2" || DbdataDt.Rows[i]["IsEstablish"].ToString() == "1"))
                    {
                        //notExport=空,-1,-2 或者 接通了 是没有值的
                        notExportName = BLL.Util.GetEnumOptText(typeof(Entities.NotEstablishReason), Int32.Parse(notExport));
                    }

                    string notSuccessReasonName = String.Empty;
                    if (!(String.IsNullOrEmpty(notSuc) || notSuc.Trim() == "-1" || notSuc.Trim() == "-2"))
                    {
                        //notSuc=空,-1,-2 是没有值的
                        notSuccessReasonName = BLL.Util.GetEnumOptText(typeof(Entities.NotSuccessReason), Int32.Parse(notSuc));
                    }

                    DbdataDt.Rows[i]["NotSuccessReasonName"] = notSuccessReasonName;
                    DbdataDt.Rows[i]["NotExportName"]        = notExportName;
                }
            }

            #endregion
            #region 处理列

            DbdataDt = ProcessExportDataColoumns(TTName, TTCode, model, fieldList, DbdataDt);

            #endregion

            #region 处理数据

            DbdataDt = ProcessData(DbdataDt);

            #endregion

            #region 关联crm客户信息

            if (crmCustIDFieldName != string.Empty)
            {
                GetTogetherCustInfo(crmCustIDFieldName, ProjectID, DbdataDt);
            }

            #endregion

            #region  除用户ID列

            DbdataDt.Columns.Remove("LastOptUserID");
            DbdataDt.Columns.Remove("TaskStatus");

            #endregion

            return(DbdataDt);
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="ProjectModel">项目</param>
        /// <param name="userId"></param>
        /// <param name="dt">项目的DataSource数据</param>
        /// <param name="msg"></param>
        public void GenByOtherTaskDataTable(Entities.ProjectInfo ProjectModel, int userId, DataTable dt, out string msg, out string data)
        {
            msg  = "";
            data = "";

            #region panduan

            bool   IsExistCrmCustID = false;
            string ttName           = "";
            string tfName           = "";

            List <Entities.TField> fieldlist = BLL.TField.Instance.GetTFieldListByTTCode(ProjectModel.TTCode);
            Entities.TField        fielditem = fieldlist.Find(delegate(Entities.TField o) { return(o.TFShowCode == "100014"); });
            if (fielditem != null)
            {
                IsExistCrmCustID = true;
                tfName           = fielditem.TFName;

                Entities.TTable tableModel = BLL.TTable.Instance.GetTTableByTTCode(ProjectModel.TTCode);
                if (tableModel != null)
                {
                    ttName = tableModel.TTName;
                }
            }

            #endregion

            #region 根据数据关联生成任务
            List <Entities.OtherTaskInfo> list = new List <Entities.OtherTaskInfo>();
            int       maxcount          = BLL.ProjectTaskInfo.Instance.GetMaxRecID();//从OtherTaskInfo表中查找最大值,不是ProjectTaskInfo表中查找最大值
            DataTable SourceOtherTaskDt = new DataTable();
            SourceOtherTaskDt.Columns.Add("PTID");
            SourceOtherTaskDt.Columns.Add("ProjectID", typeof(int));
            SourceOtherTaskDt.Columns.Add("RelationTableID");
            SourceOtherTaskDt.Columns.Add("RelationID");
            SourceOtherTaskDt.Columns.Add("CreateTime", typeof(DateTime));
            SourceOtherTaskDt.Columns.Add("CreateUserID", typeof(int));
            SourceOtherTaskDt.Columns.Add("LastOptTime", typeof(DateTime));
            SourceOtherTaskDt.Columns.Add("LastOptUserID", typeof(int));
            SourceOtherTaskDt.Columns.Add("TaskStatus", typeof(int));
            SourceOtherTaskDt.Columns.Add("Status", typeof(int));
            SourceOtherTaskDt.Columns.Add("CustID");

            int i = 0;
            foreach (DataRow dr in dt.Rows)
            {
                DataRow newDr = SourceOtherTaskDt.NewRow();

                string PixStr = "";
                if (ProjectModel.Source == 4)
                {
                    PixStr = "OTH";
                }

                newDr["PTID"] = PixStr + (++maxcount).ToString().PadLeft(7, '0');
                //记录最小id和最大id
                if (i == 0)
                {
                    data += "{open:'@open',MinOtherTaskID:'" + newDr["PTID"] + "',";
                }
                if (i + 1 == dt.Rows.Count)
                {
                    data += "MaxOtherTaskID:'" + newDr["PTID"] + "'}";
                }

                newDr["ProjectID"]       = int.Parse(ProjectID);
                newDr["RelationTableID"] = ProjectModel.TTCode;
                newDr["RelationID"]      = dr["RelationID"].ToString();
                newDr["CreateTime"]      = DateTime.Now;
                newDr["CreateUserID"]    = userId;
                newDr["LastOptTime"]     = DateTime.Now;
                newDr["LastOptUserID"]   = userId;
                newDr["TaskStatus"]      = (int)(OtheTaskStatus.Unallocated);
                newDr["Status"]          = 0;
                if (IsExistCrmCustID)
                {
                    newDr["CustID"] = GetCustID(ProjectModel, ttName, tfName, dr["RelationID"].ToString());
                }
                else
                {
                    newDr["CustID"] = "";
                }
                SourceOtherTaskDt.Rows.Add(newDr);
                i++;
            }

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

            try
            {
                BLL.Util.BulkCopyToDB(SourceOtherTaskDt, connectionstrings, "OtherTaskInfo", tran, out msg);
                BLL.ProjectLog.Instance.InsertProjectLog(ProjectModel.ProjectID, ProjectLogOper.L6_生成任务, "生成任务" + SourceOtherTaskDt.Rows.Count + "条", tran);

                if (msg == "")
                {
                    #region 修改项目状态
                    ProjectModel.Status = 1;
                    BLL.ProjectInfo.Instance.Update(tran, ProjectModel);
                    #endregion

                    #region 修改关联数据状态
                    BLL.ProjectDataSoure.Instance.UpdateStatusByProjectId(tran, "1", dt, (int)ProjectModel.ProjectID);
                    #endregion

                    tran.Commit();
                }
            }
            catch (Exception ex)
            {
                if (tran.Connection != null)
                {
                    tran.Rollback();
                }
                msg = ex.Message.ToString();
            }
            finally
            {
                connection.Close();
            }
            #endregion
        }
        private void GenByDataTable(Entities.ProjectInfo ProjectModel, int userId, DataTable dt, out string msg)
        {
            msg = "";

            #region 根据数据关联生成任务

            List <Entities.ProjectTaskInfo> list       = new List <Entities.ProjectTaskInfo>();
            Entities.ProjectTaskInfo        ptaskModel = null;

            List <Entities.CustLastOperTask> list_OperTask    = new List <Entities.CustLastOperTask>();
            List <Entities.CustLastOperTask> list_OldOperTask = new List <Entities.CustLastOperTask>();

            int maxcount = BLL.ProjectTaskInfo.Instance.GetMax();//从ProjectTaskInfo表中查找最大值

            string PixStr = "";
            if (ProjectModel.Source == 1)
            {
                PixStr = "IMP";
            }
            else if (ProjectModel.Source == 2)
            {
                PixStr = "CRM";
            }
            DateTime dtime = DateTime.Now;

            foreach (DataRow dr in dt.Rows)
            {
                ptaskModel = new Entities.ProjectTaskInfo();

                ptaskModel.PTID = PixStr + (++maxcount).ToString().PadLeft(7, '0');

                ptaskModel.PDSID         = long.Parse(dr["PDSID"].ToString());
                ptaskModel.ProjectID     = int.Parse(ProjectID);
                ptaskModel.CustName      = dr["CustName"].ToString(); //客户名称
                ptaskModel.Source        = int.Parse(dr["Source"].ToString());
                ptaskModel.RelationID    = dr["RelationID"].ToString();
                ptaskModel.CrmCustID     = dr["CustID"].ToString();//CRM客户ID
                ptaskModel.CreateTime    = dtime;
                ptaskModel.CreateUserID  = userId;
                ptaskModel.LastOptTime   = dtime;
                ptaskModel.LastOptUserID = userId;
                ptaskModel.TaskStatus    = (int)(EnumProjectTaskStatus.NoSelEmployee);
                ptaskModel.Status        = 0;
                ptaskModel.CustType      = dr["CustType"].ToString();

                list.Add(ptaskModel);

                if (PixStr == "CRM")
                {
                    Entities.CustLastOperTask operTaskModel = new BitAuto.ISDC.CC2012.Entities.CustLastOperTask();

                    if (ptaskModel.CrmCustID != "")
                    {
                        Entities.CustLastOperTask oldModel = BLL.CustLastOperTask.Instance.GetCustLastOperTask(ptaskModel.CrmCustID);
                        if (oldModel == null)
                        {
                            operTaskModel.CustID         = ptaskModel.CrmCustID;
                            operTaskModel.TaskID         = ptaskModel.PTID;
                            operTaskModel.TaskType       = 1;
                            operTaskModel.LastOperUserID = operTaskModel.CreateUserID = BLL.Util.GetLoginUserID();
                            operTaskModel.LastOperTime   = operTaskModel.CreateTime = dtime;
                            list_OperTask.Add(operTaskModel);
                            list_OldOperTask.Add(null);
                        }
                        else
                        {
                            operTaskModel.CustID         = ptaskModel.CrmCustID;
                            operTaskModel.TaskID         = ptaskModel.PTID;
                            operTaskModel.LastOperUserID = BLL.Util.GetLoginUserID();
                            operTaskModel.LastOperTime   = dtime;
                            list_OperTask.Add(operTaskModel);
                            list_OldOperTask.Add(oldModel);
                        }
                    }
                }
            }

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

            try
            {
                //add by qizq 2013-3-11 4S和非4S电话营销
                if (ProjectModel.Source != 3) //Modify By Chybin At 2014-3-31
                {
                    #region 生成任务
                    foreach (Entities.ProjectTaskInfo item in list)
                    {
                        BLL.ProjectTaskInfo.Instance.Add(tran, item);
                    }
                    BLL.ProjectLog.Instance.InsertProjectLog(ProjectModel.ProjectID, ProjectLogOper.L6_生成任务, "生成任务" + list.Count + "条", tran);
                    #endregion
                }

                #region 修改项目状态
                ProjectModel.Status = 1;
                BLL.ProjectInfo.Instance.Update(tran, ProjectModel);
                #endregion

                #region 修改关联数据状态
                BLL.ProjectDataSoure.Instance.UpdateStatusByProjectId(tran, "1", (int)ProjectModel.ProjectID);
                #endregion

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



            #endregion
        }
Example #24
0
        /// 结束集客项目
        /// <summary>
        /// 结束集客项目
        /// </summary>
        /// <param name="ProjectID"></param>
        /// <param name="Source">5:YJK 6:CJK</param>
        /// <param name="errMsg"></param>
        public void EndCCProject(long ProjectID, int Source, out string errMsg)
        {
            errMsg = "";
            Entities.ProjectInfo InfoModel = BLL.ProjectInfo.Instance.GetProjectInfo(ProjectID);
            if (InfoModel != null)
            {
                //5:YJK项目
                //6:CJK项目
                if (InfoModel.Source == Source && InfoModel.Status != 2)
                {
                    Dal.ProjectInfo.Instance.EndCCProjectForYiJiKe(ProjectID);

                    if (Source == 5)
                    {
                        int DealCount    = 0; //总处理量
                        int SuccessCount = 0; //总成功量
                        int totalCount   = 0;

                        Entities.QueryLeadsTask query = new QueryLeadsTask();
                        query.ProjectID = (int)ProjectID;
                        query.Status    = (int)LeadsTaskStatus.Processed;
                        DataTable dt = BLL.LeadsTask.Instance.GetLeadsTask(query, "", 1, 999999, out totalCount);
                        DealCount = dt.Rows.Count;

                        query           = new QueryLeadsTask();
                        query.ProjectID = (int)ProjectID;
                        query.IsSuccess = 1;
                        dt           = BLL.LeadsTask.Instance.GetLeadsTask(query, "", 1, 999999, out totalCount);
                        SuccessCount = dt.Rows.Count;

                        #region 发送邮件
                        string[] userEmail;//发送接收人列表
                        switch (Source)
                        {
                        case 5:    //易集客-YJK项目
                            userEmail = ConfigurationManager.AppSettings["YiJiKeProjectEmailInfo"].Trim() != "" ? ConfigurationManager.AppSettings["YiJiKeProjectEmailInfo"].Split(';') : null;
                            break;

                        case 6:    //厂商集客-CJK项目
                            userEmail = ConfigurationManager.AppSettings["CRMCJKProjectEmailInfo"].Trim() != "" ? ConfigurationManager.AppSettings["CRMCJKProjectEmailInfo"].Split(';') : null;
                            break;

                        default: userEmail = null;
                            break;
                        }
                        if (userEmail != null && userEmail.Length > 0)
                        {
                            foreach (string item in userEmail)
                            {
                                string   mailBody1 = item.Split(':')[0];
                                string   url       = ConfigurationManager.AppSettings["WebBaseURL"] + "/ProjectManage/ViewProject.aspx?projectid=" + InfoModel.ProjectID.ToString();
                                string   mailBody2 = "您有一个关于线索邀约的项目已完成目标数量,未处理任务已自动撤销。<br/><br/>项目名称:<a href='" + url + "'>" + InfoModel.Name + "</a><br/><br/>总处理量:" + DealCount.ToString() + "<br/><br/>实际成功量:" + SuccessCount.ToString();
                                string   Title     = "您有一个项目已结束";
                                string[] reciver   = new string[] { item.Split(':')[1] };
                                BLL.EmailHelper.Instance.SendMail(mailBody1, mailBody2, Title, reciver);
                            }
                        }
                        #endregion
                    }
                }
                else if (InfoModel.Source == Source && InfoModel.Status == 2)
                {
                    BLL.Loger.Log4Net.Info("需求单号:" + InfoModel.DemandID + ",批次号:" + InfoModel.Batch + "对应的项目已结束");
                }
                else if (InfoModel.Source != Source)
                {
                    errMsg = "需求单号:" + InfoModel.DemandID + ",批次号:" + InfoModel.Batch + "对应的项目不是易集客或厂商集客相对应的项目。";
                    BLL.Loger.Log4Net.Info(errMsg);
                }
            }
            else
            {
                errMsg = "没找到相关CC项目";
            }
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            DemandDetailsUrl += "&OrderCode={0}";
            if (!IsPostBack)
            {
                ALLNotEstablishReasonStr = CallResult_ORIG_Task.GetNotEstablishReasonStr();
                BlackWhiteList           = Convert.ToInt16(Entities.NotEstablishReason.N05_免打扰屏蔽).ToString();
                List <int> filterList = new List <int>()
                {
                    24, 1, 10, 16, 12, 13, 11, 14, 6, 8, 9, 17, 25, 26, 27, 28, 23
                };
                ALLNotSuccessReasonStr = CallResult_ORIG_Task.GetNotSuccessReasonStr(filterList);
                userid = BLL.Util.GetLoginUserID();
                model  = BLL.LeadsTask.Instance.GetLeadsTask(TaskID);

                if (model == null)
                {
                    #region 任务不存在
                    Response.Write(@"<script language='javascript'>alert('该任务不存在,页面将被关闭。');try {
                                                           window.external.MethodScript('/browsercontrol/closepagereloadppage');
                                                       }
                                                       catch (e) {
                                                           window.opener = null; window.open('', '_self'); window.close();
                                                       }</script>");
                    #endregion
                }
                else
                {
                    this.Remark.Value = model.Remark.ToString();
                    if (model.AssignUserID != BLL.Util.GetLoginUserID())
                    {
                        #region 当前人不是处理人
                        Response.Write(@"<script language='javascript'>alert('您不是该任务的当前处理人,页面将被关闭。');try {
                                                                               window.external.MethodScript('/browsercontrol/closepagereloadppage');
                                                                           }
                                                                           catch (e) {
                                                                               window.opener = null; window.open('', '_self'); window.close();
                                                                           }</script>");
                        #endregion
                    }
                    //判断是否是处理状态
                    else if (model.Status != (int)Entities.LeadsTaskStatus.Processing && model.Status != (int)Entities.LeadsTaskStatus.NoProcess)
                    {
                        #region 任务不在处理状态
                        Response.Write(@"<script language='javascript'>alert('该任务不处于处理状态,页面将被关闭。');try {
                                                                               window.external.MethodScript('/browsercontrol/closepagereloadppage');
                                                                           }
                                                                           catch (e) {
                                                                               window.opener = null; window.open('', '_self'); window.close();
                                                                           }</script>");
                        #endregion
                    }
                    else
                    {
                        //项目名称
                        Entities.ProjectInfo ProjectInfoModel = BLL.ProjectInfo.Instance.GetProjectInfo(model.ProjectID);
                        ProjectName = ProjectInfoModel.Name;

                        //性别
                        int Sex = -2;
                        Sex = (int)model.Sex;
                        if (Sex == 1)
                        {
                            this.rdoMan.Checked = true;
                        }
                        else if (Sex == 2)
                        {
                            this.rdoWomen.Checked = true;
                        }
                        //下单地区
                        ProvinceName = BitAuto.YanFa.Crm2009.BLL.AreaInfo.Instance.GetAreaName(model.ProvinceID.ToString());
                        CityName     = BitAuto.YanFa.Crm2009.BLL.AreaInfo.Instance.GetAreaName(model.CityID.ToString());

                        //加载客户名称,需匹配车型列表
                        GetDemandIDInfo(model.DemandID);
                        //绑定失败原因
                        BindFailReason();
                        //绑定预计购车时间
                        BindPlanBuyCarTime();
                        //根据Leads处理实体加载地区,下单车型,需匹配车型信息
                        LoadLeadInfo(model);

                        //绑定月份
                        BindLatelyThreeYear();

                        intIsBoughtCar = model.IsBoughtCar.HasValue ? model.IsBoughtCar.Value : -1;

                        intBoughtCarMasterID = model.BoughtCarMasterID.HasValue ? model.BoughtCarMasterID.Value : -1;
                        strBoughtCarMaster   = model.BoughtCarMaster;
                        intBoughtCarSerialID = model.BoughtCarSerialID.HasValue ? model.BoughtCarSerialID.Value : -1;
                        strBoughtCarSerial   = model.BoughtCarSerial;
                        if (!string.IsNullOrEmpty(model.BoughtCarYearMonth))
                        {
                            string[] strYM = model.BoughtCarYearMonth.Split(',');
                            if (strYM.Length == 2)
                            {
                                strBoughtCarYear  = strYM[0];
                                strBoughtCarMonth = strYM[1];
                            }
                        }
                        strBoughtCarDealerID   = model.BoughtCarDealerID;
                        strBoughtCarDealerName = model.BoughtCarDealerName;
                        //未购车
                        intHasBuyCarPlan        = model.HasBuyCarPlan.HasValue ? model.HasBuyCarPlan.Value : -1;
                        intIsAttention          = model.IsAttention.HasValue ? model.IsAttention.Value : -1;
                        intIsContactedDealer    = model.IsContactedDealer.HasValue ? model.IsContactedDealer.Value : -1;
                        intIsSatisfiedService   = model.IsSatisfiedService.HasValue ? model.IsSatisfiedService.Value : -1;
                        strContactedWhichDealer = model.ContactedWhichDealer;

                        intIntentionCarMasterID = model.IntentionCarMasterID.HasValue ? model.IntentionCarMasterID.Value : -1;
                        strIntentionCarMaster   = model.IntentionCarMaster;
                        intIntentionCarSerialID = model.IntentionCarSerialID.HasValue ? model.IntentionCarSerialID.Value : -1;
                        strIntentionCarSerial   = model.IntentionCarSerial;
                    }
                }
            }
        }
        private void Submit(out string msg, int userID, out int retProjectID)
        {
            msg          = "";
            retProjectID = 0;
            string      datainfoStr = DataStr;
            ProjectInfo sInfoData   = null;

            sInfoData = (ProjectInfo)Newtonsoft.Json.JavaScriptConvert.DeserializeObject(datainfoStr, typeof(ProjectInfo));

            Entities.ProjectInfo             projectModel;
            Entities.ProjectDataSoure        dsModel;
            List <Entities.ProjectDataSoure> dslist      = new List <Entities.ProjectDataSoure>();
            List <Entities.ProjectDataSoure> AddDatalist = new List <Entities.ProjectDataSoure>();

            Entities.ProjectSurveyMapping        psMap;
            List <Entities.ProjectSurveyMapping> psmaplist  = new List <Entities.ProjectSurveyMapping>();
            List <Entities.ProjectSurveyMapping> oldMaplist = new List <ProjectSurveyMapping>();
            List <Entities.ProjectSurveyMapping> newMaplist = new List <ProjectSurveyMapping>();

            List <int> delIds = new List <int>();

            int    sourceid    = int.Parse(sInfoData.Source);
            int    oldSourceId = -1; //原来的来源
            string oldTTCode   = ""; //原来的TTcode
            //add by qizq 2014-11-24 加原bgID,scid
            int oldbgid      = 0;
            int oldpcatageid = 0;

            #region 判断项目名称是否重复
            if (ProjectID == "")
            {
                DataTable dt = BLL.ProjectInfo.Instance.GetDataByName(sInfoData.txtProjectName);
                if (dt.Rows.Count > 0)
                {
                    msg += "已经存在名为【" + sInfoData.txtProjectName + "】的项目!";
                    return;
                }
            }
            #endregion

            #region 项目关联数据
            string[] ids = null;
            //crm来源数据
            if (CrmSelectIDs != "")
            {
                ids = CrmSelectIDs.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
            }
            //OTH 来源数据=优先级高
            if (sInfoData.hidExportSelectIDs != "")
            {
                ids = sInfoData.hidExportSelectIDs.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
            }
            //hidExportAddIDs:OTH 追加数据
            //hidCrmAddIDs:CRM 追加数据

            //校验4个数据是否都为空
            if (sInfoData.hidExportSelectIDs == "" && sInfoData.hidExportAddIDs == "" && CrmSelectIDs == "" && sInfoData.hidCrmAddIDs == "")
            {
                msg += "没有选择关联数据";
                return;
            }

            //选择的数据 (来源:CRM或者OTH)
            foreach (string id in ids)
            {
                dsModel              = new Entities.ProjectDataSoure();
                dsModel.ProjectID    = -2;
                dsModel.RelationID   = id;
                dsModel.Source       = sourceid;
                dsModel.Status       = 0;//0未生产任务
                dsModel.CreateTime   = DateTime.Now;
                dsModel.CreateUserID = userID;

                dslist.Add(dsModel);
            }

            //OTH追加数据
            if (sInfoData.hidExportAddIDs != "")
            {
                foreach (string id in sInfoData.hidExportAddIDs.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries))
                {
                    dsModel              = new Entities.ProjectDataSoure();
                    dsModel.ProjectID    = -2;
                    dsModel.RelationID   = id;
                    dsModel.Source       = sourceid;
                    dsModel.Status       = 0;//0未生产任务
                    dsModel.CreateTime   = DateTime.Now;
                    dsModel.CreateUserID = userID;
                    AddDatalist.Add(dsModel);
                }
            }

            #endregion

            if (ProjectID == "")
            {
                //新增
                #region 项目信息实体
                projectModel                    = new Entities.ProjectInfo();
                projectModel.BGID               = int.Parse(sInfoData.sltUserGroup);
                projectModel.PCatageID          = int.Parse(sInfoData.sltSurveyCategory);
                projectModel.Name               = sInfoData.txtProjectName;
                projectModel.Notes              = sInfoData.txtDescription;
                projectModel.Source             = sourceid;
                projectModel.Status             = 0;
                projectModel.CreateTime         = DateTime.Now;
                projectModel.CreateUserID       = userID;
                projectModel.TTCode             = sInfoData.TTCode;
                projectModel.IsBlacklistCheck   = sInfoData.IsBlacklistCheck;
                projectModel.BlacklistCheckType = sInfoData.BlackListCheckType == 0 ? null : (int?)sInfoData.BlackListCheckType;
                #endregion

                #region 项目管理问卷
                DateTime nowDt = DateTime.Now;
                if (sInfoData.SurveyList != null)
                {
                    int i = 0;
                    foreach (SurveryInfo item in sInfoData.SurveyList)
                    {
                        psMap              = new Entities.ProjectSurveyMapping();
                        psMap.ProjectID    = item.ProjectID == "" ? -2 : int.Parse(item.ProjectID);
                        psMap.SIID         = int.Parse(item.hdnSIID);
                        psMap.BeginDate    = item.beginTime + " 00:00:00";
                        psMap.EndDate      = item.endTime + " 23:59:59";
                        psMap.Status       = 0;//默认是0
                        psMap.CreateTime   = nowDt.AddSeconds((i++) * 2);
                        psMap.CreateUserID = userID;

                        psmaplist.Add(psMap);
                    }
                }

                #endregion
            }
            else
            {
                projectModel = BLL.ProjectInfo.Instance.GetProjectInfo(int.Parse(ProjectID));
                if (projectModel == null)
                {
                    msg += "没有找到对应的项目";
                }
                else
                {
                    oldSourceId  = (int)projectModel.Source;
                    retProjectID = (int)projectModel.ProjectID;
                    oldTTCode    = projectModel.TTCode;

                    //add by qizq 2014-11-28
                    oldbgid      = (int)projectModel.BGID;
                    oldpcatageid = (int)projectModel.PCatageID;

                    #region 编辑项目
                    projectModel.BGID      = int.Parse(sInfoData.sltUserGroup);
                    projectModel.PCatageID = int.Parse(sInfoData.sltSurveyCategory);
                    projectModel.Name      = sInfoData.txtProjectName;
                    projectModel.Notes     = sInfoData.txtDescription;
                    projectModel.Source    = sourceid;
                    projectModel.TTCode    = sInfoData.TTCode;
                    #endregion

                    #region 编辑问卷

                    Entities.QueryProjectSurveyMapping query = new QueryProjectSurveyMapping();
                    query.ProjectID = int.Parse(ProjectID);

                    int totalCount = 0;
                    oldMaplist = BLL.ProjectSurveyMapping.Instance.GetProjectSurveyMappingList(query, out totalCount);
                    newMaplist = new List <ProjectSurveyMapping>();

                    DateTime nowDt = DateTime.Now;
                    int      i     = 0;
                    foreach (SurveryInfo surinfo in sInfoData.SurveyList)
                    {
                        //查找
                        ProjectSurveyMapping mapModel = oldMaplist.Find(
                            delegate(ProjectSurveyMapping map)
                        {
                            return(map.SIID == int.Parse(surinfo.hdnSIID));
                        }
                            );

                        if (mapModel != null)
                        {
                            //找到了,修改日期

                            mapModel.BeginDate = surinfo.beginTime + " 00:00:00";;
                            mapModel.EndDate   = surinfo.endTime + " 23:59:59";

                            newMaplist.Add(mapModel);
                        }
                        else
                        {
                            //没找到,就是新加的

                            psMap              = new ProjectSurveyMapping();
                            psMap.ProjectID    = -2;
                            psMap.SIID         = int.Parse(surinfo.hdnSIID);
                            psMap.BeginDate    = surinfo.beginTime + " 00:00:00";;
                            psMap.EndDate      = surinfo.endTime + " 23:59:59";
                            psMap.Status       = 0;//默认是0
                            psMap.CreateTime   = nowDt.AddSeconds((i++) * 2);
                            psMap.CreateUserID = userID;

                            newMaplist.Add(psMap);
                        }
                    }

                    //查找删除的
                    foreach (Entities.ProjectSurveyMapping item in oldMaplist)
                    {
                        int isExist = 0;
                        //查找
                        foreach (SurveryInfo surinfo in sInfoData.SurveyList)
                        {
                            if (item.SIID.ToString() == surinfo.hdnSIID)
                            {
                                isExist = 1;
                                break;
                            }
                        }
                        if (isExist == 0)
                        {
                            //没找到,就是删除了

                            delIds.Add(item.SIID);
                        }
                    }
                    #endregion
                }
            }

            #region 提交到数据库
            string        connectionstrings = ConfigurationUtil.GetAppSettingValue("ConnectionStrings_CC");
            SqlConnection connection        = new SqlConnection(connectionstrings);
            connection.Open();
            SqlTransaction tran = connection.BeginTransaction("SampleTransaction");

            try
            {
                if (ProjectID == "")
                {
                    //新增
                    #region 新增项目
                    retProjectID = BLL.ProjectInfo.Instance.Insert(tran, projectModel);
                    BLL.ProjectLog.Instance.InsertProjectLog(retProjectID, ProjectLogOper.L1_新建项目, "新建项目-" + projectModel.Name, tran);
                    #endregion

                    #region 新增数据
                    foreach (Entities.ProjectDataSoure pds in dslist)
                    {
                        pds.ProjectID = retProjectID;
                        BLL.ProjectDataSoure.Instance.Insert(tran, pds);
                    }
                    //add by qizq 2014-11-24 加入数据导入日志
                    Entities.ProjectImportHistory pih = new ProjectImportHistory();
                    pih.ProjectID    = retProjectID;
                    pih.ImportNumber = dslist.Count;
                    pih.CreateTime   = System.DateTime.Now;
                    pih.CreateUserID = userID;
                    BLL.ProjectImportHistory.Instance.Insert(tran, pih);
                    #endregion

                    #region 新增问卷
                    foreach (Entities.ProjectSurveyMapping item in psmaplist)
                    {
                        item.ProjectID = retProjectID;
                        BLL.ProjectSurveyMapping.Instance.Insert(tran, item);
                    }
                    BLL.ProjectLog.Instance.InsertProjectLog(retProjectID, ProjectLogOper.L5_修改问卷, "新增问卷" + psmaplist.Count + "条", tran);
                    BLL.ProjectLog.Instance.InsertProjectLog(retProjectID, ProjectLogOper.L3_导入数据, "导入数据" + pih.ImportNumber + "条", tran);
                    #endregion
                }
                else
                {
                    #region 编辑项目
                    BLL.ProjectInfo.Instance.Update(tran, projectModel);
                    BLL.ProjectLog.Instance.InsertProjectLog(projectModel.ProjectID, ProjectLogOper.L2_编辑项目, "编辑项目-" + projectModel.Name, tran);
                    #endregion

                    #region 修改关联数据
                    if (projectModel.Status == 0)
                    {
                        //如果未生成任务,选择的数据时先删除、后插入
                        //modify by qizq 2014-11-28 取出所有关联数据,与前台传过来的数据做比较,如果不相同先删除后插入,如果相同不做修改
                        //如果分组,分类,涞源,或对应的模板变了就全部删除,然后插入
                        bool flag = true;
                        if (oldbgid != projectModel.BGID || oldpcatageid != projectModel.PCatageID || oldSourceId != projectModel.Source || oldTTCode != projectModel.TTCode.ToString())
                        {
                            flag = false;
                        }
                        //否则取出所有关联数据做比较,如果发生变化先全部删除后插入
                        else
                        {
                            flag = IsSameProjectDataSource(projectModel.ProjectID, dslist);
                        }
                        if (flag == false)
                        {
                            //删除原来的关联数据
                            BLL.ProjectDataSoure.Instance.DeleteByProjectID(tran, (int)projectModel.ProjectID);
                            //删除日志信息
                            BLL.ProjectImportHistory.Instance.Delete(tran, Convert.ToInt32(projectModel.ProjectID));

                            //插入新的关联数据
                            foreach (Entities.ProjectDataSoure pds in dslist)
                            {
                                pds.ProjectID = projectModel.ProjectID;
                                BLL.ProjectDataSoure.Instance.Insert(tran, pds);
                            }
                            // 添加插入数据日志
                            Entities.ProjectImportHistory pihadd = new ProjectImportHistory();
                            pihadd.ProjectID    = Convert.ToInt32(projectModel.ProjectID);
                            pihadd.ImportNumber = dslist.Count;
                            pihadd.CreateTime   = System.DateTime.Now;
                            pihadd.CreateUserID = userID;
                            BLL.ProjectImportHistory.Instance.Insert(tran, pihadd);

                            BLL.ProjectLog.Instance.InsertProjectLog(projectModel.ProjectID, ProjectLogOper.L3_导入数据, "覆盖数据" + pihadd.ImportNumber + "条", tran);
                        }
                    }
                    else
                    {
                        //如果已生成任务,不用管原来的DataSource
                    }

                    //补充的数据
                    foreach (Entities.ProjectDataSoure pds in AddDatalist)
                    {
                        pds.ProjectID = projectModel.ProjectID;
                        BLL.ProjectDataSoure.Instance.Insert(tran, pds);
                    }
                    //add by qizq 2014-11-24,当补充数据不为空,加补充数据导入日志
                    if (AddDatalist != null && AddDatalist.Count > 0)
                    {
                        Entities.ProjectImportHistory pihadd = new ProjectImportHistory();
                        pihadd.ProjectID    = retProjectID;
                        pihadd.ImportNumber = AddDatalist.Count;
                        pihadd.CreateTime   = System.DateTime.Now;
                        pihadd.CreateUserID = userID;
                        BLL.ProjectImportHistory.Instance.Insert(tran, pihadd);

                        BLL.ProjectLog.Instance.InsertProjectLog(retProjectID, ProjectLogOper.L3_导入数据, "追加数据" + pihadd.ImportNumber + "条", tran);
                    }

                    //补充客户回访数据  sInfoData.hidCrmAddIDs
                    if (sInfoData.hidCrmAddIDs != "")
                    {
                        Entities.ProjectDataSoure model = new Entities.ProjectDataSoure();
                        model.ProjectID    = projectModel.ProjectID;
                        model.Source       = projectModel.Source.Value;
                        model.Status       = projectModel.Status;
                        model.CreateTime   = DateTime.Now;
                        model.CreateUserID = userID;

                        int    returnval      = 0;
                        string strrelationIds = "";
                        int    addNum         = 0;
                        foreach (string relationid in sInfoData.hidCrmAddIDs.Split(','))
                        {
                            if (!string.IsNullOrEmpty(relationid))
                            {
                                model.RelationID = relationid;
                                returnval        = BLL.ProjectDataSoure.Instance.Insert(tran, model);
                                if (returnval > 0)
                                {
                                    strrelationIds += "," + relationid;
                                    addNum++;
                                }
                            }
                        }
                        if (strrelationIds.Length > 0)
                        {
                            Entities.ProjectImportHistory pihadd = new ProjectImportHistory();
                            pihadd.ProjectID    = Convert.ToInt32(model.ProjectID);
                            pihadd.ImportNumber = addNum;
                            pihadd.CreateTime   = System.DateTime.Now;
                            pihadd.CreateUserID = userID;
                            BLL.ProjectImportHistory.Instance.Insert(tran, pihadd);
                            BLL.ProjectLog.Instance.InsertProjectLog(model.ProjectID, ProjectLogOper.L3_导入数据, "追加数据" + pihadd.ImportNumber + "条", tran);
                        }
                    }

                    #endregion

                    #region 编辑或删除问卷
                    int add = 0, mod = 0, del = 0;
                    //删除的问卷
                    foreach (int id in delIds)
                    {
                        BLL.ProjectSurveyMapping.Instance.Delete(long.Parse(ProjectID), id);
                        del++;
                    }
                    for (int i = newMaplist.Count - 1; i >= 0; i--)
                    {
                        if (newMaplist[i].ProjectID != -2)
                        {
                            //编辑了问卷
                            BLL.ProjectSurveyMapping.Instance.Update(tran, newMaplist[i]);
                            mod++;
                        }
                        else
                        {
                            //新增的问卷
                            newMaplist[i].ProjectID = int.Parse(ProjectID);
                            BLL.ProjectSurveyMapping.Instance.Insert(tran, newMaplist[i]);
                            add++;
                        }
                    }
                    if (add + del > 0)
                    {
                        string info = "";
                        if (add > 0)
                        {
                            info += "新增问卷" + add + "条;";
                        }
                        if (del > 0)
                        {
                            info += "删除问卷" + del + "条;";
                        }
                        BLL.ProjectLog.Instance.InsertProjectLog(projectModel.ProjectID, ProjectLogOper.L5_修改问卷, info, tran);
                    }
                    #endregion
                }
                tran.Commit();
            }
            catch (Exception ex)
            {
                if (tran.Connection != null)
                {
                    tran.Rollback();
                }
                msg = ex.Message.ToString();
            }
            finally
            {
                connection.Close();
            }

            #endregion
        }
Example #27
0
        private void ExportTask(out string msg)
        {
            msg = "";

            #region 定义变量

            int    totalCount    = 0;
            string TTName        = "";
            string TTCode        = "";
            string selectDataIDs = "";

            Entities.TTable        ttable;
            List <Entities.TField> fieldList = new List <Entities.TField>();
            DataTable DbdataDt;     //自定义数据表中的数据
            DataTable ExportDataDt; //导出的数据

            #endregion

            #region 获取项目、自定义数据表、字段信息

            Entities.ProjectInfo model = BLL.ProjectInfo.Instance.GetProjectInfo(int.Parse(ProjectID));

            if (model == null)
            {
                msg += "没找到对应的项目";
                return;
            }
            if (model.Source != 4)
            {
                msg += "此类型项目不允许导出";
                return;
            }

            TTCode = model.TTCode;

            ttable = BLL.TTable.Instance.GetTTableByTTCode(TTCode); //

            if (ttable.TTName == "")
            {
                msg += "没有找到定义的自定义数据表名称";
                return;
            }

            TTName = ttable.TTName;

            fieldList = BLL.TField.Instance.GetTFieldListByTTCode(TTCode);
            #endregion

            #region 获取自定义数据表中的关联数据

            Entities.QueryProjectDataSoure query = new Entities.QueryProjectDataSoure();
            query.ProjectID = int.Parse(ProjectID);
            DataTable dt = BLL.ProjectDataSoure.Instance.GetProjectDataSoure(query, "", 1, 9999999, out totalCount);
            foreach (DataRow dr in dt.Rows)
            {
                selectDataIDs += dr["RelationID"].ToString() + ",";
            }
            if (selectDataIDs != "")
            {
                selectDataIDs = selectDataIDs.Substring(0, selectDataIDs.Length - 1);
            }
            DbdataDt = BLL.TTable.Instance.GetDataByIDs(selectDataIDs, TTName, out msg);
            if (msg != "" || DbdataDt == null)
            {
                msg = "读取自定义数据出错!" + msg;
                return;
            }

            #endregion

            #region 处理列

            Entities.TField tempfield;
            for (int i = DbdataDt.Columns.Count - 1; i >= 0; i--)
            {
                tempfield = null;

                #region  除不用导出的字段

                if (DbdataDt.Columns[i].ColumnName.Split('_').Length == 2)
                {
                    if (DbdataDt.Columns[i].ColumnName.Split('_')[1] == "Province")
                    {
                        DbdataDt.Columns.RemoveAt(i);
                    }
                    else if (DbdataDt.Columns[i].ColumnName.Split('_')[1] == "City")
                    {
                        DbdataDt.Columns.RemoveAt(i);
                    }
                    else if (DbdataDt.Columns[i].ColumnName.Split('_')[1] == "Country")
                    {
                        DbdataDt.Columns.RemoveAt(i);
                    }
                    else if (DbdataDt.Columns[i].ColumnName.Split('_')[1] == "checkid")
                    {
                        DbdataDt.Columns.RemoveAt(i);
                    }
                    else if (DbdataDt.Columns[i].ColumnName.Split('_')[1] == "radioid")
                    {
                        DbdataDt.Columns.RemoveAt(i);
                    }
                    else if (DbdataDt.Columns[i].ColumnName.Split('_')[1] == "selectid")
                    {
                        DbdataDt.Columns.RemoveAt(i);
                    }
                }

                if (DbdataDt.Columns[i].ColumnName == "RecID" || DbdataDt.Columns[i].ColumnName == "Status")
                {
                    DbdataDt.Columns.RemoveAt(i);
                }

                #endregion

                #region 替换字段名

                if (DbdataDt.Columns[i].ColumnName.IndexOf("_startdata") != -1)
                {
                    tempfield = fieldList.Find(delegate(Entities.TField o) { return(o.TFName == DbdataDt.Columns[i].ColumnName.Split('_')[0]); });
                    if (tempfield != null)
                    {
                        DbdataDt.Columns[i].ColumnName = tempfield.TFDesName + "(起)";
                    }
                }
                else if (DbdataDt.Columns[i].ColumnName.IndexOf("_enddata") != -1)
                {
                    tempfield = fieldList.Find(delegate(Entities.TField o) { return(o.TFName == DbdataDt.Columns[i].ColumnName.Split('_')[0]); });
                    if (tempfield != null)
                    {
                        DbdataDt.Columns[i].ColumnName = tempfield.TFDesName + "(止)";
                    }
                }
                else if (DbdataDt.Columns[i].ColumnName.IndexOf("_starttime") != -1)
                {
                    tempfield = fieldList.Find(delegate(Entities.TField o) { return(o.TFName == DbdataDt.Columns[i].ColumnName.Split('_')[0]); });
                    if (tempfield != null)
                    {
                        DbdataDt.Columns[i].ColumnName = tempfield.TFDesName + "(起)";
                    }
                }
                else if (DbdataDt.Columns[i].ColumnName.IndexOf("_endtime") != -1)
                {
                    tempfield = fieldList.Find(delegate(Entities.TField o) { return(o.TFName == DbdataDt.Columns[i].ColumnName.Split('_')[0]); });
                    if (tempfield != null)
                    {
                        DbdataDt.Columns[i].ColumnName = tempfield.TFDesName + "(止)";
                    }
                }
                else if (DbdataDt.Columns[i].ColumnName.IndexOf("_Province_name") != -1)
                {
                    tempfield = fieldList.Find(delegate(Entities.TField o) { return(o.TFName == DbdataDt.Columns[i].ColumnName.Split('_')[0]); });
                    if (tempfield != null)
                    {
                        DbdataDt.Columns[i].ColumnName = tempfield.TFDesName + "(省)";
                    }
                }
                else if (DbdataDt.Columns[i].ColumnName.IndexOf("_City_name") != -1)
                {
                    tempfield = fieldList.Find(delegate(Entities.TField o) { return(o.TFName == DbdataDt.Columns[i].ColumnName.Split('_')[0]); });
                    if (tempfield != null)
                    {
                        DbdataDt.Columns[i].ColumnName = tempfield.TFDesName + "(市)";
                    }
                }
                else if (DbdataDt.Columns[i].ColumnName.IndexOf("_Country_name") != -1)
                {
                    tempfield = fieldList.Find(delegate(Entities.TField o) { return(o.TFName == DbdataDt.Columns[i].ColumnName.Split('_')[0]); });
                    if (tempfield != null)
                    {
                        DbdataDt.Columns[i].ColumnName = tempfield.TFDesName + "(县)";
                    }
                }
                else if (DbdataDt.Columns[i].ColumnName.IndexOf("_checkid_name") != -1)
                {
                    tempfield = fieldList.Find(delegate(Entities.TField o) { return(o.TFName == DbdataDt.Columns[i].ColumnName.Split('_')[0]); });
                    if (tempfield != null)
                    {
                        DbdataDt.Columns[i].ColumnName = tempfield.TFDesName;
                    }
                }
                else if (DbdataDt.Columns[i].ColumnName.IndexOf("_radioid_name") != -1)
                {
                    tempfield = fieldList.Find(delegate(Entities.TField o) { return(o.TFName == DbdataDt.Columns[i].ColumnName.Split('_')[0]); });
                    if (tempfield != null)
                    {
                        DbdataDt.Columns[i].ColumnName = tempfield.TFDesName;
                    }
                }
                else if (DbdataDt.Columns[i].ColumnName.IndexOf("_selectid_name") != -1)
                {
                    tempfield = fieldList.Find(delegate(Entities.TField o) { return(o.TFName == DbdataDt.Columns[i].ColumnName.Split('_')[0]); });
                    if (tempfield != null)
                    {
                        DbdataDt.Columns[i].ColumnName = tempfield.TFDesName;
                    }
                }
                else if (DbdataDt.Columns[i].ColumnName == "CreateTime")
                {
                    DbdataDt.Columns[i].ColumnName = "导入时间";
                }

                else
                {
                    tempfield = fieldList.Find(delegate(Entities.TField o) { return(o.TFName == DbdataDt.Columns[i].ColumnName.Split('_')[0]); });
                    if (tempfield != null)
                    {
                        DbdataDt.Columns[i].ColumnName = tempfield.TFDesName;
                    }
                }

                #endregion
            }
            #endregion

            #region 处理数据

            if (DbdataDt.Columns.Contains("CreateUserID"))
            {
                int intVal = 0;
                DbdataDt.Columns.Add("导入人").SetOrdinal(0);
                string userName = "";

                foreach (DataRow dr in DbdataDt.Rows)
                {
                    if (int.TryParse(dr["CreateUserID"].ToString(), out intVal))
                    {
                        if (userName == "")
                        {
                            userName = BitAuto.YanFa.SysRightManager.Common.UserInfo.GerTrueName(intVal);
                        }
                        dr["导入人"] = userName;
                    }
                }
            }

            #endregion

            #region  除用户ID列

            DbdataDt.Columns.Remove("CreateUserID");

            #endregion

            #region 导出

            ExcelInOut.CreateEXCEL(DbdataDt, model.Name + "的任务" + DateTime.Now.ToString("yyyy-MM-dd-hh-mm-ss"), RequestBrowser);

            #endregion
        }
Example #28
0
        /// <summary>
        /// 处理列
        /// </summary>
        /// <param name="TTName"></param>
        /// <param name="TTCode"></param>
        /// <param name="model"></param>
        /// <param name="fieldList"></param>
        /// <param name="OriginalDbdataDt"></param>
        /// <returns></returns>
        private DataTable ProcessExportDataColoumns(string TTName, string TTCode, Entities.ProjectInfo model, List <Entities.TField> fieldList, DataTable OriginalDbdataDt)
        {
            DataTable DbdataDt = new DataTable();

            DbdataDt = OriginalDbdataDt;

            Entities.TField tempfield;
            for (int i = DbdataDt.Columns.Count - 1; i >= 0; i--)
            {
                tempfield = null;

                #region  除不用导出的字段

                if (DbdataDt.Columns[i].ColumnName.Split('_').Length == 2)
                {
                    if (DbdataDt.Columns[i].ColumnName.Split('_')[1] == "Province")
                    {
                        DbdataDt.Columns.RemoveAt(i);
                    }
                    else if (DbdataDt.Columns[i].ColumnName.Split('_')[1] == "City")
                    {
                        DbdataDt.Columns.RemoveAt(i);
                    }
                    else if (DbdataDt.Columns[i].ColumnName.Split('_')[1] == "XDBrand" || DbdataDt.Columns[i].ColumnName.Split('_')[1] == "YXBrand" || DbdataDt.Columns[i].ColumnName.Split('_')[1] == "CSBrand")
                    {
                        DbdataDt.Columns.RemoveAt(i);
                    }
                    else if (DbdataDt.Columns[i].ColumnName.Split('_')[1] == "XDSerial" || DbdataDt.Columns[i].ColumnName.Split('_')[1] == "YXSerial" || DbdataDt.Columns[i].ColumnName.Split('_')[1] == "CSSerial")
                    {
                        DbdataDt.Columns.RemoveAt(i);
                    }
                    else if (DbdataDt.Columns[i].ColumnName.Split('_')[1] == "Country")
                    {
                        DbdataDt.Columns.RemoveAt(i);
                    }
                    else if (DbdataDt.Columns[i].ColumnName.Split('_')[1] == "checkid")
                    {
                        DbdataDt.Columns.RemoveAt(i);
                    }
                    else if (DbdataDt.Columns[i].ColumnName.Split('_')[1] == "radioid")
                    {
                        DbdataDt.Columns.RemoveAt(i);
                    }
                    else if (DbdataDt.Columns[i].ColumnName.Split('_')[1] == "selectid")
                    {
                        DbdataDt.Columns.RemoveAt(i);
                    }
                    //删除推荐活动Guid串列
                    else if (DbdataDt.Columns[i].ColumnName.Split('_')[1] == "Activity")
                    {
                        DbdataDt.Columns.RemoveAt(i);
                    }
                }

                if (DbdataDt.Columns[i].ColumnName == "RecID" ||
                    DbdataDt.Columns[i].ColumnName == "Status" ||
                    DbdataDt.Columns[i].ColumnName == "CreateTime" ||
                    DbdataDt.Columns[i].ColumnName == "CreateUserID"
                    )
                {
                    DbdataDt.Columns.RemoveAt(i);
                }

                else if (DbdataDt.Columns[i].ColumnName == "IsSuccess" ||
                         DbdataDt.Columns[i].ColumnName == "IsEstablish" ||
                         DbdataDt.Columns[i].ColumnName == "NotSuccessReason" ||
                         DbdataDt.Columns[i].ColumnName == "NotEstablishReason"
                         )
                {
                    DbdataDt.Columns.RemoveAt(i);
                }

                #endregion

                #region 替换字段名

                if (DbdataDt.Columns[i].ColumnName.IndexOf("_startdata") != -1)
                {
                    tempfield = fieldList.Find(delegate(Entities.TField o) { return(o.TFName == DbdataDt.Columns[i].ColumnName.Split('_')[0]); });
                    if (tempfield != null)
                    {
                        DbdataDt.Columns[i].ColumnName = tempfield.TFDesName + "(起)";
                    }
                }
                else if (DbdataDt.Columns[i].ColumnName.IndexOf("_enddata") != -1)
                {
                    tempfield = fieldList.Find(delegate(Entities.TField o) { return(o.TFName == DbdataDt.Columns[i].ColumnName.Split('_')[0]); });
                    if (tempfield != null)
                    {
                        DbdataDt.Columns[i].ColumnName = tempfield.TFDesName + "(止)";
                    }
                }
                else if (DbdataDt.Columns[i].ColumnName.IndexOf("_starttime") != -1)
                {
                    tempfield = fieldList.Find(delegate(Entities.TField o) { return(o.TFName == DbdataDt.Columns[i].ColumnName.Split('_')[0]); });
                    if (tempfield != null)
                    {
                        DbdataDt.Columns[i].ColumnName = tempfield.TFDesName + "(起)";
                    }
                }
                else if (DbdataDt.Columns[i].ColumnName.IndexOf("_endtime") != -1)
                {
                    tempfield = fieldList.Find(delegate(Entities.TField o) { return(o.TFName == DbdataDt.Columns[i].ColumnName.Split('_')[0]); });
                    if (tempfield != null)
                    {
                        DbdataDt.Columns[i].ColumnName = tempfield.TFDesName + "(止)";
                    }
                }
                else if (DbdataDt.Columns[i].ColumnName.IndexOf("_Province_name") != -1)
                {
                    tempfield = fieldList.Find(delegate(Entities.TField o) { return(o.TFName == DbdataDt.Columns[i].ColumnName.Split('_')[0]); });
                    if (tempfield != null)
                    {
                        DbdataDt.Columns[i].ColumnName = tempfield.TFDesName + "(省)";
                    }
                }
                else if (DbdataDt.Columns[i].ColumnName.IndexOf("_City_name") != -1)
                {
                    tempfield = fieldList.Find(delegate(Entities.TField o) { return(o.TFName == DbdataDt.Columns[i].ColumnName.Split('_')[0]); });
                    if (tempfield != null)
                    {
                        DbdataDt.Columns[i].ColumnName = tempfield.TFDesName + "(市)";
                    }
                }
                else if (DbdataDt.Columns[i].ColumnName.IndexOf("_Country_name") != -1)
                {
                    tempfield = fieldList.Find(delegate(Entities.TField o) { return(o.TFName == DbdataDt.Columns[i].ColumnName.Split('_')[0]); });
                    if (tempfield != null)
                    {
                        DbdataDt.Columns[i].ColumnName = tempfield.TFDesName + "(县)";
                    }
                }
                else if (DbdataDt.Columns[i].ColumnName.IndexOf("_checkid_name") != -1)
                {
                    tempfield = fieldList.Find(delegate(Entities.TField o) { return(o.TFName == DbdataDt.Columns[i].ColumnName.Split('_')[0]); });
                    if (tempfield != null)
                    {
                        DbdataDt.Columns[i].ColumnName = tempfield.TFDesName;
                    }
                }
                else if (DbdataDt.Columns[i].ColumnName.IndexOf("_radioid_name") != -1)
                {
                    tempfield = fieldList.Find(delegate(Entities.TField o) { return(o.TFName == DbdataDt.Columns[i].ColumnName.Split('_')[0]); });
                    if (tempfield != null)
                    {
                        DbdataDt.Columns[i].ColumnName = tempfield.TFDesName;
                    }
                }
                else if (DbdataDt.Columns[i].ColumnName.IndexOf("_selectid_name") != -1)
                {
                    tempfield = fieldList.Find(delegate(Entities.TField o) { return(o.TFName == DbdataDt.Columns[i].ColumnName.Split('_')[0]); });
                    if (tempfield != null)
                    {
                        DbdataDt.Columns[i].ColumnName = tempfield.TFDesName;
                    }
                }
                else if (DbdataDt.Columns[i].ColumnName == "LastOptTime")
                {
                    DbdataDt.Columns[i].ColumnName = "操作时间";
                }
                else if (DbdataDt.Columns[i].ColumnName == "TrueName")
                {
                    DbdataDt.Columns[i].ColumnName = "操作人";
                }
                else if (DbdataDt.Columns[i].ColumnName.IndexOf("_crmcustid_name") != -1)
                {
                    crmCustIDFieldName = DbdataDt.Columns[i].ColumnName;
                }
                else if (DbdataDt.Columns[i].ColumnName.IndexOf("Brand_Name") != -1)
                {
                    tempfield = fieldList.Find(delegate(Entities.TField o) { return(o.TFName == DbdataDt.Columns[i].ColumnName.Split('_')[0]); });
                    if (tempfield != null)
                    {
                        DbdataDt.Columns[i].ColumnName = tempfield.TFDesName + "(品牌)";
                    }
                }
                else if (DbdataDt.Columns[i].ColumnName.IndexOf("Serial_Name") != -1)
                {
                    tempfield = fieldList.Find(delegate(Entities.TField o) { return(o.TFName == DbdataDt.Columns[i].ColumnName.Split('_')[0]); });
                    if (tempfield != null)
                    {
                        DbdataDt.Columns[i].ColumnName = tempfield.TFDesName + "(车型)";
                    }
                }
                //把推荐活动的列名改成汉字
                else if (DbdataDt.Columns[i].ColumnName.IndexOf("_Activity_Name") != -1)
                {
                    DbdataDt.Columns[i].ColumnName = "推荐活动";
                }


                else if (DbdataDt.Columns[i].ColumnName == "IsSucName")
                {
                    DbdataDt.Columns[i].ColumnName = "是否成功";
                }
                else if (DbdataDt.Columns[i].ColumnName == "IsJTName")
                {
                    DbdataDt.Columns[i].ColumnName = "是否接通";
                }
                else if (DbdataDt.Columns[i].ColumnName == "NotSuccessReasonName")
                {
                    DbdataDt.Columns[i].ColumnName = "失败原因";
                }
                else if (DbdataDt.Columns[i].ColumnName == "NotExportName")
                {
                    DbdataDt.Columns[i].ColumnName = "未接通原因";
                }
                else
                {
                    tempfield = fieldList.Find(delegate(Entities.TField o) { return(o.TFName == DbdataDt.Columns[i].ColumnName.Split('_')[0]); });
                    if (tempfield != null)
                    {
                        DbdataDt.Columns[i].ColumnName = tempfield.TFDesName;
                    }
                }


                #endregion
            }

            #region 任务ID列

            DbdataDt.Columns["PTID"].SetOrdinal(0);
            DbdataDt.Columns["PTID"].ColumnName = "任务ID";

            #endregion


            #region 增加客户信息列

            if (crmCustIDFieldName != string.Empty)
            {
                DbdataDt.Columns[crmCustIDFieldName].SetOrdinal(1);
                DbdataDt.Columns[crmCustIDFieldName].ColumnName = "客户ID";

                for (int k = 0; k < array_CustColumns.Length; k++)
                {
                    string columnName = array_CustColumns[k];

                    //如果之前导出的列中存在该列名,则修改下现在的列名
                    if (DbdataDt.Columns.Contains(columnName))
                    {
                        columnName          += "(固定项)";
                        array_CustColumns[k] = columnName;
                    }

                    DbdataDt.Columns.Add(columnName);
                    DbdataDt.Columns[columnName].SetOrdinal(k + 2);
                }
            }

            #endregion

            #region 增加列

            DbdataDt.Columns.Add("任务状态");

            #endregion

            return(DbdataDt);
        }