Exemple #1
0
        /// <summary>
        /// 是否存在该记录
        /// </summary>
        public bool IsExistsBySIID(int SIID)
        {
            QuerySurveyInfo query = new QuerySurveyInfo();

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

            dt = GetSurveyInfo(query, string.Empty, 1, 1, out count);
            if (count > 0)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
        /// <summary>
        /// 得到一个对象实体
        /// </summary>
        public Entities.SurveyInfo GetSurveyInfo(int SIID)
        {
            QuerySurveyInfo query = new QuerySurveyInfo();

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

            dt = GetSurveyInfo(query, string.Empty, 1, 1, out count);
            if (count > 0)
            {
                return(LoadSingleSurveyInfo(dt.Rows[0]));
            }
            else
            {
                return(null);
            }
        }
Exemple #3
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 GetSurveyInfo(QuerySurveyInfo query, string order, int currentPage, int pageSize, out int totalCount)
 {
     return(Dal.SurveyInfo.Instance.GetSurveyInfo(query, order, currentPage, pageSize, out totalCount));
 }
        /// <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 GetSurveyInfo(QuerySurveyInfo query, string order, int currentPage, int pageSize, out int totalCount)
        {
            string where = string.Empty;

            //分组权限判断
            //if ((query.OwnGroup != Constant.STRING_INVALID_VALUE && query.OwnGroup != string.Empty) || (query.OneSelf != Constant.STRING_INVALID_VALUE && query.OneSelf != string.Empty))
            //{
            //    if (query.LoginID != Constant.INT_INVALID_VALUE)
            //    {
            //        where += " AND (";

            //        if (query.OwnGroup != Constant.STRING_INVALID_VALUE && query.OwnGroup != string.Empty)
            //        {
            //            //筛选登陆人管理的所属业务组权限是 本组 的信息
            //            where += " SurveyCategory.BGID IN ( " + query.OwnGroup + ") ";
            //        }

            //        if (query.OwnGroup != Constant.STRING_INVALID_VALUE && query.OwnGroup != string.Empty && query.OneSelf != Constant.STRING_INVALID_VALUE && query.OneSelf != string.Empty)
            //        {
            //            where += " OR ";
            //        }

            //        if (query.OneSelf != Constant.STRING_INVALID_VALUE && query.OneSelf != string.Empty)
            //        {
            //            //筛选登陆人管理的所属业务组权限是 本人 的信息
            //            where += " (SurveyCategory.BGID IN (" + query.OneSelf + ") AND SurveyInfo.CreateUserID=" + query.LoginID + ")";
            //        }

            //        where += ")";
            //    }
            //}

            #region 数据权限判断
            if (query.LoginID != Constant.INT_INVALID_VALUE)
            {
                where = Dal.UserGroupDataRigth.Instance.GetSqlRightstr("SurveyCategory", "SurveyInfo", "BGID", "CreateUserID", query.LoginID);
            }
            #endregion

            //状态:0-未完成;1-未使用;2-已使用(需要判断)
            if (query.Statuss != Constant.STRING_INVALID_VALUE)
            {
                if (query.Statuss.Contains("0") || query.Statuss.Contains("1") || query.Statuss.Contains("2"))
                {
                    string[] array_status = Dal.Util.SqlFilterByInCondition(query.Statuss).Split(',');

                    where += " AND (";

                    string whereStr = string.Empty;

                    for (int i = 0; i < array_status.Length; i++)
                    {
                        if (array_status[i] == "0")
                        {
                            whereStr += "OR ";

                            whereStr += " (SurveyInfo.Status = 0 ";

                            //并且在SurveyProjectInfo表中不存在,否则就是已使用的
                            whereStr += " AND SurveyInfo.SIID NOT IN (Select top 1 SIID From SurveyProjectInfo where SurveyProjectInfo.SIID = SurveyInfo.SIID) )";
                        }
                        if (array_status[i] == "1")
                        {
                            whereStr += "OR ";

                            whereStr += " (SurveyInfo.Status = 1";

                            //并且在SurveyProjectInfo表中不存在,否则就是已使用的
                            whereStr += @" AND SurveyInfo.SIID NOT IN (Select top 1 SIID From SurveyProjectInfo where SurveyProjectInfo.SIID = SurveyInfo.SIID 
                  UNION
                  SELECT TOP 1
                            SIID
                  FROM      ProjectSurveyMapping
                  WHERE     ProjectSurveyMapping.SIID = SurveyInfo.SIID) )";
                        }
                        if (array_status[i] == "2")
                        {
                            whereStr += "OR ";

                            whereStr += @" ( SurveyInfo.SIID IN (Select top 1 SIID From SurveyProjectInfo where SurveyProjectInfo.SIID = SurveyInfo.SIID
                  UNION
                  SELECT TOP 1
                            SIID
                  FROM      ProjectSurveyMapping
                  WHERE     ProjectSurveyMapping.SIID = SurveyInfo.SIID)";
                            //并且在SurveyInfo中的状态必须为1-未使用,这样才有可能在SurveyProjectInfo表中存在
                            whereStr += " AND SurveyInfo.Status = 1 )";
                        }

                        if (i == array_status.Length - 1)
                        {
                            where += whereStr.TrimStart('O', 'R');
                        }
                    }

                    where += ")";
                }
            }

            if (query.SIID != Constant.INT_INVALID_VALUE)
            {
                where += " AND SurveyInfo.SIID=" + query.SIID;
            }

            if (query.Name != Constant.STRING_INVALID_VALUE)
            {
                where += " AND SurveyInfo.Name like '%" + StringHelper.SqlFilter(query.Name) + "%'";
            }

            if (query.BGID != Constant.INT_INVALID_VALUE)
            {
                where += " AND SurveyInfo.BGID=" + query.BGID;
            }

            if (query.SCID != Constant.INT_INVALID_VALUE)
            {
                where += " AND SurveyInfo.SCID=" + query.SCID;
            }

            if (query.IsAvailable != Constant.INT_INVALID_VALUE)
            {
                where += " AND SurveyInfo.IsAvailable =" + query.IsAvailable;
            }

            if (query.IsAvailables != Constant.STRING_INVALID_VALUE)
            {
                where += " AND SurveyInfo.IsAvailable IN (" + Dal.Util.SqlFilterByInCondition(query.IsAvailables) + ")";
            }

            if (query.CreateUserID != Constant.INT_INVALID_VALUE)
            {
                where += " AND SurveyInfo.CreateUserID =" + query.CreateUserID;
            }

            if (query.BeginTime != Constant.STRING_INVALID_VALUE)
            {
                where += " AND SurveyInfo.CreateTime >='" + StringHelper.SqlFilter(query.BeginTime) + " 0:0:0'";
            }

            if (query.EndTime != Constant.STRING_INVALID_VALUE)
            {
                where += " AND SurveyInfo.CreateTime <='" + StringHelper.SqlFilter(query.EndTime) + " 23:59:59'";
            }

            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_SURVEYINFO_SELECT, parameters);
            totalCount = (int)(parameters[4].Value);
            return(ds.Tables[0]);
        }