示例#1
0
        /// <summary>
        /// (问卷管理页面)根据业务组ID查询此业务组下的分类
        /// </summary>
        /// <param name="msg"></param>
        private void GetSurveyCategoryByBGID(out string msg)
        {
            msg = string.Empty;
            int bgId = -1;

            if (int.TryParse(BGID, out bgId))
            {
                Entities.QuerySurveyCategory query = new QuerySurveyCategory();
                query.BGID   = bgId;
                query.TypeId = int.Parse(TypeId);
                if (IsFilterStop == "1")
                {
                    query.IsFilterStop = true;
                }
                //add by qizq 2014-4-17过滤 分类的状态
                if (!string.IsNullOrEmpty(SCStatus))
                {
                    int _scstatus = 0;
                    if (int.TryParse(SCStatus, out _scstatus))
                    {
                        query.NoStatus = _scstatus;
                    }
                }
                query.Exclude = Exclude;

                int       totalCount = 0;
                DataTable dt         = BLL.SurveyCategory.Instance.GetSurveyCategory(query, "", 1, 1000, out totalCount);

                //排序
                if (dt != null && dt.Rows.Count > 0)
                {
                    DataView dv = dt.DefaultView;
                    dv.Sort = "Name ASC";
                    dt      = dv.ToTable();
                }

                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    DataRow dr = dt.Rows[i];
                    if (i == 0)
                    {
                        msg += "[{SCID:'" + dr["SCID"] + "',Name:'" + dr["Name"] + "'}";
                    }
                    if (i > 0)
                    {
                        msg += ",{SCID:'" + dr["SCID"] + "',Name:'" + dr["Name"] + "'}";
                    }
                    if (i == dt.Rows.Count - 1)
                    {
                        msg += "]";
                    }
                }
            }
        }
        /// <summary>
        /// 得到一个对象实体
        /// </summary>
        public Entities.SurveyCategory GetSurveyCategory(int SCID)
        {
            QuerySurveyCategory query = new QuerySurveyCategory();

            query.SCID = SCID;
            DataTable dt    = new DataTable();
            int       count = 0;

            dt = GetSurveyCategory(query, string.Empty, 1, 1, out count);
            if (count > 0)
            {
                return(LoadSingleSurveyCategory(dt.Rows[0]));
            }
            else
            {
                return(null);
            }
        }
        /// <summary>
        /// 是否存在该记录
        /// </summary>
        public bool IsExistsBySCID(int SCID)
        {
            QuerySurveyCategory query = new QuerySurveyCategory();

            query.SCID = SCID;

            DataTable dt    = new DataTable();
            int       count = 0;

            dt = GetSurveyCategory(query, string.Empty, 1, 1, out count);
            if (count > 0)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
        /// <summary>
        /// 获取userID所在业务组下面的“工单分类”ID
        /// </summary>
        /// <returns>成功找到返回SCID,否则返回0</returns>
        public int GetSelfSCIDByUserID(int userID)
        {
            int scid = 0;

            int bgid = GetSelfBGIDByUserID(userID);

            if (bgid != 0)
            {
                Entities.QuerySurveyCategory query = new QuerySurveyCategory();
                query.BGID = bgid;
                query.Name = "工单分类";
                int       count = 0;
                DataTable dt    = BLL.SurveyCategory.Instance.GetSurveyCategory(query, "", 1, 1, out count);
                if (dt != null && dt.Rows.Count == 1 && int.TryParse(dt.Rows[0]["SCID"].ToString(), out scid))
                {
                }
            }

            return(scid);
        }
        /// <summary>
        /// 按照查询条件查询
        /// </summary>
        /// <param name="query">查询条件</param>
        /// <param name="order">排序</param>
        /// <param name="currentPage">页号,-1不分页</param>
        /// <param name="pageSize">每页记录数</param>
        /// <param name="totalCount">总行数</param>
        /// <returns>集合</returns>
        public DataTable GetSurveyCategory(QuerySurveyCategory query, string order, int currentPage, int pageSize, out int totalCount)
        {
            string where = string.Empty;

            if (query.SelectType != Constant.INT_INVALID_VALUE)
            {
                //为1,则筛选登陆人管理的所属业务组的信息
                if (query.SelectType == 1 && query.LoginID != Constant.INT_INVALID_VALUE)
                {
                    where += " AND SurveyCategory.BGID IN ( Select BGID From UserGroupDataRigth gdr Where SurveyCategory.BGID=gdr.BGID AND UserID=" + query.LoginID + ")";
                }
            }
            if (query.GroupName != Constant.STRING_INVALID_VALUE)
            {
                where += " AND BusinessGroup.NAME='" + StringHelper.SqlFilter(query.GroupName) + "'";
            }

            if (query.Name != Constant.STRING_INVALID_VALUE)
            {
                where += " AND SurveyCategory.Name like '%" + StringHelper.SqlFilter(query.Name) + "%'";
            }
            if (query.SCID != Constant.INT_INVALID_VALUE)
            {
                where += " AND SurveyCategory.SCID=" + query.SCID;
            }
            if (query.BGID.Value > 0)
            {
                where += " AND SurveyCategory.BGID=" + query.BGID;
            }
            if (query.Level != Constant.INT_INVALID_VALUE)
            {
                where += " AND SurveyCategory.Level=" + query.Level;
            }
            if (query.Pid != Constant.INT_INVALID_VALUE)
            {
                where += " AND SurveyCategory.Pid=" + query.Pid;
            }
            if (query.Status != Constant.INT_INVALID_VALUE)
            {
                where += " AND SurveyCategory.Status=" + query.Status;
            }
            if (query.TypeId != Constant.INT_INVALID_VALUE)
            {
                where += " AND SurveyCategory.TypeId=" + query.TypeId;
            }
            if (query.IsFilterStop)
            {
                where += " AND  SurveyCategory.Status<>1";
            }
            //add by qizq 2014-4-17 状态不等于某值,用于过滤等于-3(固定的分类)的
            if (query.NoStatus != Constant.INT_INVALID_VALUE)
            {
                where += " AND  SurveyCategory.Status<>" + query.NoStatus;
            }

            //add by anyy  默认分组和自定义分组
            if (query.GroupStatus != Constant.STRING_EMPTY_VALUE)
            {
                where += " AND  SurveyCategory.Status in " + query.GroupStatus;
            }

            if (query.Exclude == "ReturnVisit")
            {
                //排除客户回访的分类
                where += " AND NOT (SurveyCategory.Name='客户回访' AND SurveyCategory.Status=-3)";
            }

            DataSet ds;

            SqlParameter[] parameters =
            {
                new SqlParameter("@where",         SqlDbType.NVarChar, 40000),
                new SqlParameter("@order",         SqlDbType.NVarChar,   200),
                new SqlParameter("@pagesize",      SqlDbType.Int,          4),
                new SqlParameter("@indexpage",     SqlDbType.Int,          4),
                new SqlParameter("@totalRecorder", SqlDbType.Int, 4)
            };

            parameters[0].Value     = where;
            parameters[1].Value     = order;
            parameters[2].Value     = pageSize;
            parameters[3].Value     = currentPage;
            parameters[4].Direction = ParameterDirection.Output;

            ds         = SqlHelper.ExecuteDataset(CONNECTIONSTRINGS, CommandType.StoredProcedure, P_SURVEYCATEGORY_SELECT, parameters);
            totalCount = (int)(parameters[4].Value);
            return(ds.Tables[0]);
        }
 /// <summary>
 /// 按照查询条件查询
 /// </summary>
 /// <param name="query">查询条件</param>
 /// <param name="order">排序</param>
 /// <param name="currentPage">页号,-1不分页</param>
 /// <param name="pageSize">每页记录数</param>
 /// <param name="totalCount">总行数</param>
 /// <returns>集合</returns>
 public DataTable GetSurveyCategory(QuerySurveyCategory query, string order, int currentPage, int pageSize, out int totalCount)
 {
     return(Dal.SurveyCategory.Instance.GetSurveyCategory(query, order, currentPage, pageSize, out totalCount));
 }