コード例 #1
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;
            }
        }
コード例 #2
0
        protected void Page_Load(object sender, EventArgs e)
        {
            int intval = 0;

            if (int.TryParse(returnProjectID, out intval))
            {
                Entities.QueryProjectDataSoure dsQuery = new Entities.QueryProjectDataSoure();
                dsQuery.ProjectID = intval;
                dsQuery.Status    = 0;

                int       totalCount = 0;
                DataTable dt         = BLL.ProjectDataSoure.Instance.GetProjectDataSoure(dsQuery, "", 1, 99999999, out totalCount);
                //
                AddIDcount = dt.Rows.Count.ToString();
            }
        }
コード例 #3
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;//自定义数据表中的数据

            #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
        }
コード例 #4
0
        /// 生成任务
        /// <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 += "没有找到对应的项目";
            }
        }
コード例 #5
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
        }