Ejemplo n.º 1
0
        private void SurveyProjectInfoBind()
        {
            int spIid = 0;

            if (int.TryParse(SPIID, out spIid))
            {
                Entities.QuerySurveyProjectInfo query = new QuerySurveyProjectInfo();
                //query.BGIDStr = BLL.UserGroupDataRigth.Instance.GetUserGroupDataRightBgIDStrByUserID(BLL.Util.GetLoginUserID());
                query.LoginUserID = BLL.Util.GetLoginUserID();
                query.SPIID       = spIid;
                int totalCount = 0;
                BLL.SurveyProjectInfo.Instance.GetSurveyProjectInfo(query, "", 1, 1, out totalCount);
                if (totalCount > 0)
                {
                    Entities.SurveyProjectInfo info = BLL.SurveyProjectInfo.Instance.GetSurveyProjectInfo(spIid);
                    if (info != null)
                    {
                        if (info.Status == 1 || ((int)info.Status == 0 && DateTime.Compare((DateTime)info.SurveyStartTime, DateTime.Now) < 0))
                        {
                            Response.Write("<script>location.href='about:blank'</script>;");
                        }
                        txtProjectName.Value    = info.Name;
                        sltUserGroup.Value      = info.BGID.ToString();
                        sltSurveyCategory.Value = info.SCID.ToString();
                        surveyCategoryStr       = info.SCID.ToString();
                        txtDescription.Value    = info.Description;
                        Entities.SurveyInfo surveyInfo = BLL.SurveyInfo.Instance.GetSurveyInfo((int)info.SIID);
                        txtSurveyName.Value    = surveyInfo.Name;
                        hdnSIID.Value          = surveyInfo.SIID.ToString();
                        txtBusinessGroup.Value = info.BusinessGroup;
                        BeginDateTime          = info.SurveyStartTime.ToString();
                        EndDateTime            = info.SurveyEndTime.ToString();

                        DataTable dt = BLL.SurveyPerson.Instance.GetSurveyPersonBySPIID(info.SPIID);
                        if (dt != null && dt.Rows.Count > 0)
                        {
                            string personNames = string.Empty;
                            string personIds   = string.Empty;
                            for (int i = 0; i < dt.Rows.Count; i++)
                            {
                                string userName = BitAuto.YanFa.SysRightManager.Common.UserInfo.GerTrueName(int.Parse(dt.Rows[i]["ExamPersonID"].ToString()));
                                if (i > 0)
                                {
                                    personNames += ",";
                                    personIds   += ",";
                                }
                                personNames += userName;
                                personIds   += dt.Rows[i]["ExamPersonID"].ToString();
                            }
                            txtExamPersonNames.Value = personNames;
                            hdnPersonIDS.Value       = personIds;
                        }
                    }
                }
                else
                {
                    Response.Write("<script>location.href='about:blank'</script>;");
                }
            }
        }
        /// <summary>
        /// 是否存在该记录
        /// </summary>
        public bool IsExistsBySPIID(int SPIID)
        {
            QuerySurveyProjectInfo query = new QuerySurveyProjectInfo();

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

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

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

            dt = GetSurveyProjectInfo(query, string.Empty, 1, 1, out count);
            if (count > 0)
            {
                return(LoadSingleSurveyProjectInfo(dt.Rows[0]));
            }
            else
            {
                return(null);
            }
        }
 /// <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 GetSurveyProjectInfo(QuerySurveyProjectInfo query, string order, int currentPage, int pageSize, out int totalCount)
 {
     return(Dal.SurveyProjectInfo.Instance.GetSurveyProjectInfo(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 GetSurveyProjectInfo(QuerySurveyProjectInfo query, string order, int currentPage, int pageSize, out int totalCount)
        {
            string where = string.Empty;


            if (query.SPIID != Entities.Constants.Constant.INT_INVALID_VALUE)
            {
                where += " AND spi.SPIID=" + query.SPIID;
            }
            if (query.Name != Entities.Constants.Constant.STRING_INVALID_VALUE)
            {
                where += " AND spi.Name LIKE '%" + Utils.StringHelper.SqlFilter(query.Name) + "%'";
            }
            if (query.BusinessGroup != Entities.Constants.Constant.STRING_INVALID_VALUE)
            {
                where += " AND spi.BusinessGroup LIKE '%" + Utils.StringHelper.SqlFilter(query.BusinessGroup) + "%'";
            }
            if (query.BGID != Entities.Constants.Constant.INT_INVALID_VALUE)
            {
                where += " AND spi.BGID=" + query.BGID;
            }
            if (query.SCID != Entities.Constants.Constant.INT_INVALID_VALUE)
            {
                where += " AND spi.SCID=" + query.SCID;
            }
            if (query.StatusStr != Entities.Constants.Constant.STRING_INVALID_VALUE)
            {
                string[] statusArry = query.StatusStr.Split(',');
                where += " And (";
                int i = 0;
                foreach (string status in statusArry)
                {
                    if (i > 0)
                    {
                        where += " OR ";
                    }
                    switch (status)
                    {
                    case "0":    //未开始
                        where += "( spi.SurveyStartTime>getdate() )";
                        break;

                    case "1":    //进行中
                        where += "( spi.SurveyStartTime<=getdate() And spi.SurveyEndTime>=getdate() )";
                        break;

                    case "2":    //已结束
                        where += "( spi.SurveyEndTime<getdate() And spi.status=0 )";
                        break;
                    }
                    i++;
                }
                where += ")";
            }
            if (query.BeginCreateTime != Entities.Constants.Constant.DATE_INVALID_VALUE)
            {
                where += " AND spi.CreateTime>='" + query.BeginCreateTime + "'";
            }
            if (query.EndCreateTime != Entities.Constants.Constant.DATE_INVALID_VALUE)
            {
                where += " AND spi.CreateTime<='" + query.EndCreateTime + "'";
            }
            if (query.CreateUserID != Entities.Constants.Constant.INT_INVALID_VALUE)
            {
                where += " AND spi.CreateUserID=" + query.CreateUserID;
            }
            if (query.LoginUserID != Entities.Constants.Constant.INT_INVALID_VALUE)
            {
                where += Dal.UserGroupDataRigth.Instance.GetSqlRightstr("spi", "BGID", "CreateUserID", (int)query.LoginUserID);
                //where += " And (EXISTS(SELECT * FROM UserDataRigth WHERE UserID=" + query.LoginUserID + " And RightType=2)";
                //where += " OR ((spi.BGID IN (SELECT BGID FROM UserGroupDataRigth WHERE UserID=" + query.LoginUserID + " And RightType=2))";
                //where += " OR (spi.BGID IN (SELECT BGID FROM UserGroupDataRigth WHERE UserID=" + query.LoginUserID + " And RightType=1) And spi.CreateUserID=" + query.LoginUserID + ")))";
            }
            where += " AND spi.Status >=0 ";

            //lxw 10.29
            if (query.SCIDStr != Entities.Constants.Constant.STRING_INVALID_VALUE)
            {
                where += " And spi.SCID in (" + Dal.Util.SqlFilterByInCondition(query.SCIDStr) + ")";
            }
            if (query.CreaterType == 1 && query.UserID != Constant.INT_INVALID_VALUE)
            {
                where += " AND spi.SPIID IN (Select SPIID From SurveyPerson sp Where sp.SPIID=spi.SPIID AND sp.ExamPersonID=" + query.UserID + ")";
            }
            if (query.SurveyStartTime != Constant.DATE_INVALID_VALUE)
            {
                where += " AND spi.SurveyStartTime>='" + query.SurveyStartTime + "'";
            }
            if (query.SurveyEndTime != Constant.DATE_INVALID_VALUE)
            {
                where += " AND spi.SurveyEndTime<='" + query.SurveyEndTime + "'";
            }
            if (query.Status != Entities.Constants.Constant.INT_INVALID_VALUE)
            {
                where += " AND spi.Status=" + query.Status;
            }

            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_SURVEYPROJECTINFO_SELECT, parameters);
            totalCount = (int)(parameters[4].Value);
            return(ds.Tables[0]);
        }
Ejemplo n.º 6
0
        private void SurveyProjectInfoBind()
        {
            int spIid = 0;

            if (int.TryParse(SPIID, out spIid))
            {
                Entities.QuerySurveyProjectInfo query = new QuerySurveyProjectInfo();
                //query.BGIDStr = BLL.UserGroupDataRigth.Instance.GetUserGroupDataRightBgIDStrByUserID(BLL.Util.GetLoginUserID());
                query.LoginUserID = BLL.Util.GetLoginUserID();
                query.SPIID       = spIid;
                int totalCount = 0;
                BLL.SurveyProjectInfo.Instance.GetSurveyProjectInfo(query, "", 1, 1, out totalCount);
                if (totalCount > 0)
                {
                    Entities.SurveyProjectInfo info = BLL.SurveyProjectInfo.Instance.GetSurveyProjectInfo(spIid);
                    if (info != null)
                    {
                        spanProjectName.InnerText = info.Name;
                        spanDescription.InnerText = info.Description;
                        DataTable bgBt = BLL.BusinessGroup.Instance.GetBusinessGroupByBGID((int)info.BGID);
                        if (bgBt != null && bgBt.Rows.Count > 0)
                        {
                            spanBGID.InnerText = bgBt.Rows[0]["Name"].ToString();
                        }
                        Entities.SurveyCategory categoryInfo = BLL.SurveyCategory.Instance.GetSurveyCategory((int)info.SCID);
                        if (categoryInfo != null)
                        {
                            spanBCID.InnerText = categoryInfo.Name;
                        }
                        Entities.SurveyInfo surveyInfo = BLL.SurveyInfo.Instance.GetSurveyInfo((int)info.SIID);
                        spanSIID.InnerText          = surveyInfo.Name;
                        spanBusinessGroup.InnerText = info.BusinessGroup;
                        spanBeginTime.InnerText     = info.SurveyStartTime.ToString();
                        spanEndTime.InnerText       = info.SurveyEndTime.ToString();

                        DataTable dt = BLL.SurveyPerson.Instance.GetSurveyPersonBySPIID(info.SPIID);
                        if (dt != null && dt.Rows.Count > 0)
                        {
                            string personNames = string.Empty;
                            for (int i = 0; i < dt.Rows.Count; i++)
                            {
                                int    userId   = int.Parse(dt.Rows[i]["ExamPersonID"].ToString());
                                string userName = BitAuto.YanFa.SysRightManager.Common.UserInfo.GerTrueName(userId);
                                if (i > 0)
                                {
                                    personNames += ",";
                                }
                                Entities.QuerySurveyAnswer queryAnswer = new QuerySurveyAnswer();
                                queryAnswer.CreateUserID = userId;
                                queryAnswer.SPIID        = spIid;
                                int answerCount = 0;
                                BLL.SurveyAnswer.Instance.GetSurveyAnswer(queryAnswer, "", 1, 1000, out answerCount);
                                if (answerCount > 0)
                                {
                                    personNames += "<a href='/SurveyInfo/PersonalSurveyInfoView.aspx?SPIID=" + spIid + "&UserID=" + userId + "' target='_blank'>" + userName + "</a>";
                                }
                                else
                                {
                                    personNames += userName;
                                }
                            }

                            spanPersons.InnerHtml        = personNames;
                            spanEstimateNumber.InnerText = dt.Rows.Count.ToString();
                        }
                        int userCount = BLL.SurveyAnswer.Instance.GetAnswerUserCountBySPIID(spIid);
                        Entities.QuerySurveyQuestion questionQuery = new QuerySurveyQuestion();
                        questionQuery.AskCategory = 5;
                        questionQuery.SIID        = (int)info.SIID;

                        string    scoreStr           = string.Empty;
                        int       questionTotalCount = 0;
                        DataTable dtQuestion         = BLL.SurveyQuestion.Instance.GetSurveyQuestion(questionQuery, "", 1, 1000, out questionTotalCount);
                        int       row = 0;
                        foreach (DataRow dr in dtQuestion.Rows)
                        {
                            if (row > 0)
                            {
                                scoreStr += ";";
                            }
                            int sqId = int.Parse(dr["SQID"].ToString());
                            Entities.QuerySurveyMatrixTitle queryRow = new QuerySurveyMatrixTitle();
                            queryRow.SQID = sqId;
                            queryRow.Type = 1;
                            int rowCount = 0;
                            BLL.SurveyMatrixTitle.Instance.GetSurveyMatrixTitle(queryRow, "", 1, 1000, out rowCount);

                            int colCount = 0;
                            queryRow.Type = 2;
                            BLL.SurveyMatrixTitle.Instance.GetSurveyMatrixTitle(queryRow, "", 1, 1000, out colCount);

                            int sumScore = BLL.SurveyQuestion.Instance.GetQuestionForMatrixDropdownSumScore(sqId, spIid);
                            if (userCount > 0)
                            {
                                decimal score = (decimal)sumScore / userCount;
                                scoreStr += (int.Parse(dr["OrderNum"].ToString()) + 1) + "(" + score.ToString("0.00") + ")";
                            }
                        }
                        spanScore.InnerText     = scoreStr;
                        spanFinshTime.InnerText = info.SurveyEndTime.ToString();

                        spanTrueNumber.InnerText     = userCount.ToString();
                        spanCreateUserName.InnerText = BitAuto.YanFa.SysRightManager.Common.UserInfo.GerTrueName((int)info.CreateUserID);
                        spanCreateTime.InnerText     = info.CreateTime.ToString();
                        row++;
                    }
                }
                else
                {
                    Response.Write("<script>location.href='about:blank'</script>;");
                }
            }
        }