Пример #1
0
        //显示按钮
        public string showOperBtn(string spiid)
        {
            string result = string.Empty;

            int _spiid;

            if (int.TryParse(spiid, out _spiid))
            {
                Entities.SurveyProjectInfo model = BLL.SurveyProjectInfo.Instance.GetSurveyProjectInfo(_spiid);
                if (model != null)
                {
                    if (model.SurveyStartTime <= DateTime.Now && model.SurveyEndTime >= DateTime.Now)//时间没过,显示按钮
                    {
                        //判断是否已提交过,已提交则不显示按钮 返回false,且字体不需要加粗
                        Entities.QuerySurveyAnswer query = new Entities.QuerySurveyAnswer();
                        query.CreateUserID = userID;
                        query.SPIID        = _spiid;
                        int count;

                        DataTable dt = BLL.SurveyAnswer.Instance.GetSurveyAnswer(query, "", 1, 10000, out count);

                        //没提交过,显示进入调查按钮
                        if (dt.Rows.Count == 0)
                        {
                            result = "<span class='right btnsearch'><input name='' type='button'  value='进入调查' onclick='openpage(" + _spiid + ")'/></span>";
                        }
                    }
                }
            }

            return(result);
        }
Пример #2
0
        private void QuestionBind()
        {
            int spIid = -1;

            if (int.TryParse(SPIID, out spIid))
            {
                Entities.QuerySurveyProjectInfo query = new Entities.QuerySurveyProjectInfo();
                query.LoginUserID = BLL.Util.GetLoginUserID();
                query.SPIID       = spIid;
                int       count     = 0;
                DataTable dtProject = BLL.SurveyProjectInfo.Instance.GetSurveyProjectInfo(query, "", 1, 1000, out count);
                if (count > 0)
                {
                    Entities.SurveyProjectInfo projectInfo = BLL.SurveyProjectInfo.Instance.GetSurveyProjectInfo(spIid);
                    if (projectInfo != null)
                    {
                        if (projectInfo.SurveyStartTime <= DateTime.Now)
                        {
                            Entities.QuerySurveyQuestion queryQuestion = new Entities.QuerySurveyQuestion();
                            queryQuestion.SIID   = (int)projectInfo.SIID;
                            queryQuestion.Status = 0;
                            int       totalCount = 0;
                            DataTable dt         = BLL.SurveyQuestion.Instance.GetSurveyQuestion(queryQuestion, "OrderNum", 1, 1000, out totalCount);
                            rptSurveyQuestion.DataSource = dt;
                            rptSurveyQuestion.DataBind();
                        }
                    }
                }
            }
        }
     protected void Page_Load(object sender, EventArgs e)
     {
         if (!IsPostBack)
         {
             int _spiid;
             if (int.TryParse(RequestSPIID, out _spiid))
             {
                 Entities.SurveyProjectInfo model = BLL.SurveyProjectInfo.Instance.GetSurveyProjectInfo(_spiid);
                 if (model != null)
                 {
                     RequestSIID               = model.SIID.ToString();
                     UCSurveyInfoShow1.SIID    = model.SIID.ToString();
                     spanProjectName.InnerHtml = model.Name;
                     spanProjectDesc.InnerHtml = model.Description;
                 }
                 else
                 {
                     Response.Write(@"<script language='javascript'>alert('没有找到该问卷项目!');try {
     window.external.MethodScript('/browsercontrol/closepage');
 } catch (e) {
     window.opener = null; window.open('', '_self'); window.close();
 }</script>");
                 }
             }
         }
     }
Пример #4
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>;");
                }
            }
        }
Пример #5
0
        private void CompleteSurveyProject(out string msg)
        {
            msg = string.Empty;
            int spiId = -1;

            if (int.TryParse(SPIID, out spiId))
            {
                Entities.SurveyProjectInfo info = BLL.SurveyProjectInfo.Instance.GetSurveyProjectInfo(spiId);
                if (info != null)
                {
                    if (info.Status == 0)
                    {
                        if (info.SurveyStartTime > DateTime.Now)
                        {
                            msg = "此问卷项目还没有开始,无法进行完成操作!";
                        }
                        else
                        {
                            info.SurveyEndTime = DateTime.Now;
                            BLL.SurveyProjectInfo.Instance.Update(info);
                            msg = "success";
                        }
                    }
                }
                else
                {
                    msg = "此调查项目不存在";
                }
            }
            else
            {
                msg = "此调查项目不存在";
            }
        }
Пример #6
0
        //删除调查项目
        private void DeleteSurveyProject(out string msg)
        {
            msg = string.Empty;
            int spiId = -1;

            if (int.TryParse(SPIID, out spiId))
            {
                Entities.SurveyProjectInfo info = BLL.SurveyProjectInfo.Instance.GetSurveyProjectInfo(spiId);
                if (info != null)
                {
                    if (info.SurveyStartTime > DateTime.Now)
                    {
                        BLL.SurveyProjectInfo.Instance.Delete(spiId);
                        msg = "success";
                    }
                    else
                    {
                        msg = "此调查项目已经使用,无法进行删除操作";
                    }
                }
                else
                {
                    msg = "此调查项目不存在";
                }
            }
            else
            {
                msg = "此调查项目不存在";
            }
        }
Пример #7
0
        //判断能否进入该页面或能否插入回答表;
        private void judgeIsCorrect(out string msg)
        {
            msg = string.Empty;
            int _spiid;

            if (!int.TryParse(RequestSPIID, out _spiid))
            {
                msg = "调查项目ID有误";
                return;
            }

            //1-判断该问卷在人员表是否有该登陆者
            Entities.QuerySurveyPerson query_Person = new Entities.QuerySurveyPerson();
            int count;

            query_Person.SPIID        = _spiid;
            query_Person.ExamPersonID = userID;
            DataTable dt_Person = BLL.SurveyPerson.Instance.GetSurveyPerson(query_Person, "", 1, 10000, out count);

            if (dt_Person.Rows.Count == 0)
            {
                msg = "您不在该问卷调查参与人员表中,无法参与该问卷的调查";
                return;
            }

            //2-判断问卷时间是否没到或已过
            Entities.SurveyProjectInfo model_ProjectInfo = BLL.SurveyProjectInfo.Instance.GetSurveyProjectInfo(_spiid);
            if (model_ProjectInfo == null)
            {
                msg = "没有找到该问卷调查项目,无法参与该问卷的调查";
                return;
            }
            if (model_ProjectInfo.SurveyStartTime > DateTime.Now)
            {
                msg = "该问卷调查项目尚未开始,无法参与该问卷的调查";
                return;
            }
            if (model_ProjectInfo.SurveyEndTime < DateTime.Now)
            {
                msg = "该问卷调查项目已经结束,无法参与该问卷的调查";
                return;
            }

            //3-判断问卷是否被该登陆者提交过
            Entities.QuerySurveyAnswer query_Answer = new Entities.QuerySurveyAnswer();
            query_Answer.SPIID        = _spiid;
            query_Answer.CreateUserID = userID;
            DataTable dt_Answer = BLL.SurveyAnswer.Instance.GetSurveyAnswer(query_Answer, "", 1, 10000, out count);

            if (dt_Answer.Rows.Count > 0)
            {
                msg = "您已提交过该调查问卷,无法再次提交";
                return;
            }

            //如果上述验证都没问题,msg返回success
            msg = "success";
        }
        private Entities.SurveyProjectInfo LoadSingleSurveyProjectInfo(DataRow row)
        {
            Entities.SurveyProjectInfo model = new Entities.SurveyProjectInfo();

            if (row["SPIID"].ToString() != "")
            {
                model.SPIID = int.Parse(row["SPIID"].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.Description   = row["Description"].ToString();
            model.BusinessGroup = row["BusinessGroup"].ToString();
            if (row["SurveyStartTime"].ToString() != "")
            {
                model.SurveyStartTime = DateTime.Parse(row["SurveyStartTime"].ToString());
            }
            if (row["SurveyEndTime"].ToString() != "")
            {
                model.SurveyEndTime = DateTime.Parse(row["SurveyEndTime"].ToString());
            }
            if (row["SIID"].ToString() != "")
            {
                model.SIID = int.Parse(row["SIID"].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["ModifyTime"].ToString() != "")
            {
                model.ModifyTime = DateTime.Parse(row["ModifyTime"].ToString());
            }
            if (row["ModifyUserID"].ToString() != "")
            {
                model.ModifyUserID = int.Parse(row["ModifyUserID"].ToString());
            }
            return(model);
        }
        /// <summary>
        ///  增加一条数据
        /// </summary>
        public int Insert(SqlTransaction sqltran, Entities.SurveyProjectInfo model)
        {
            SqlParameter[] parameters =
            {
                new SqlParameter("@SPIID",           SqlDbType.Int,         4),
                new SqlParameter("@BGID",            SqlDbType.Int,         4),
                new SqlParameter("@SCID",            SqlDbType.Int,         4),
                new SqlParameter("@Name",            SqlDbType.NVarChar,  100),
                new SqlParameter("@Description",     SqlDbType.NVarChar,  500),
                new SqlParameter("@BusinessGroup",   SqlDbType.NVarChar,   50),
                new SqlParameter("@SurveyStartTime", SqlDbType.DateTime),
                new SqlParameter("@SurveyEndTime",   SqlDbType.DateTime),
                new SqlParameter("@SIID",            SqlDbType.Int,         4),
                new SqlParameter("@Status",          SqlDbType.Int,         4),
                new SqlParameter("@CreateTime",      SqlDbType.DateTime),
                new SqlParameter("@CreateUserID",    SqlDbType.Int,         4),
                new SqlParameter("@ModifyTime",      SqlDbType.DateTime),
                new SqlParameter("@ModifyUserID",    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.Description;
            parameters[5].Value     = model.BusinessGroup;
            parameters[6].Value     = model.SurveyStartTime;
            parameters[7].Value     = model.SurveyEndTime;
            parameters[8].Value     = model.SIID;
            parameters[9].Value     = model.Status;
            parameters[10].Value    = model.CreateTime;
            parameters[11].Value    = model.CreateUserID;
            parameters[12].Value    = model.ModifyTime;
            parameters[13].Value    = model.ModifyUserID;

            SqlHelper.ExecuteNonQuery(sqltran, CONNECTIONSTRINGS, CommandType.StoredProcedure, P_SURVEYPROJECTINFO_INSERT, parameters);
            return((int)parameters[0].Value);
        }
Пример #10
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                bool flag = true;
                //判断当前登录人是否有查看当前问卷的权限
                flag = BLL.Util.CheckRight(BLL.Util.GetLoginUserID(), "SYS024BUT3301");
                if (flag == false)
                {
                    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 (!string.IsNullOrEmpty(RequestSPIID))
                    {
                        //取项目信息
                        Entities.SurveyProjectInfo Model = BLL.SurveyProjectInfo.Instance.GetSurveyProjectInfo(Convert.ToInt32(RequestSPIID));
                        if (Model != null)
                        {
                            //取试卷id
                            RequestSIID = Model.SIID.ToString();

                            UCSurveyInfoEditID.RequestSPIID  = RequestSPIID;
                            UCSurveyInfoEditID.RequestSIID   = RequestSIID;
                            UCSurveyInfoEditID.RequestUserID = RequestUserID;

                            SurveyName = Model.Name;
                            if (!string.IsNullOrEmpty(RequestUserID))
                            {
                                UserName = BitAuto.YanFa.SysRightManager.Common.UserInfo.GerTrueName(Convert.ToInt32(RequestUserID));
                            }

                            if (!string.IsNullOrEmpty(RequestSPIID) && !string.IsNullOrEmpty(RequestSIID) && !string.IsNullOrEmpty(RequestUserID))
                            {
                                Entities.QuerySurveyAnswer query = new Entities.QuerySurveyAnswer();
                                query.SPIID        = Convert.ToInt32(RequestSPIID);
                                query.SIID         = Convert.ToInt32(RequestSIID);
                                query.CreateUserID = Convert.ToInt32(RequestUserID);
                                int       allcount = 0;
                                DataTable dt       = BLL.SurveyAnswer.Instance.GetSurveyAnswer(query, "", 1, 100000, out allcount);
                                if (dt != null && dt.Rows.Count > 0)
                                {
                                    if (dt.Rows[0]["CreateTime"] != DBNull.Value)
                                    {
                                        if (dt.Rows[0]["CreateTime"].ToString() != "")
                                        {
                                            SurveyTime = Convert.ToDateTime(dt.Rows[0]["CreateTime"].ToString()).ToString("yyyy-MM-dd HH:mm:ss");
                                        }
                                    }
                                }
                            }
                            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>");
                        }
                    }
                }
            }
        }
 /// <summary>
 /// 更新一条数据
 /// </summary>
 public int Update(SqlTransaction sqltran, Entities.SurveyProjectInfo model)
 {
     return(Dal.SurveyProjectInfo.Instance.Update(sqltran, model));
 }
 /// <summary>
 /// 更新一条数据
 /// </summary>
 public int Update(Entities.SurveyProjectInfo model)
 {
     return(Dal.SurveyProjectInfo.Instance.Update(model));
 }
 /// <summary>
 /// 增加一条数据
 /// </summary>
 public int  Insert(Entities.SurveyProjectInfo model)
 {
     return(Dal.SurveyProjectInfo.Instance.Insert(model));
 }
Пример #14
0
        //保存调查项目
        private void SubmitSurveyProject(out string msg)
        {
            msg = string.Empty;
            string errorMsg = string.Empty;

            #region 信息验证
            int spiId = 0;
            if (!string.IsNullOrEmpty(SPIID))
            {
                if (!int.TryParse(SPIID, out spiId))
                {
                    errorMsg += "不存在此调查项目!</br>";
                }
            }
            if (string.IsNullOrEmpty(ProjectName.Trim()))
            {
                errorMsg += "调查名称不能为空!</br>";
            }
            int bgId = 0;
            if (!int.TryParse(BGID, out bgId))
            {
                errorMsg += "请选择所属分组!</br>";
            }
            int scId = 0;
            if (!int.TryParse(SCID, out scId))
            {
                errorMsg += "请选择分类!</br>";
            }
            if (string.IsNullOrEmpty(Description.Trim()))
            {
                errorMsg += "调查说明不能为空!</br>";
            }
            //if (string.IsNullOrEmpty(BusinessGroup.Trim()))
            //{
            //    errorMsg += "业务组不能为空!</br>";
            //}
            int siId = 0;
            if (!int.TryParse(SIID, out siId))
            {
                errorMsg += "请选择问卷!</br>";
            }
            List <int> personIdArry = new List <int>();
            if (string.IsNullOrEmpty(PersonIDS.Trim()))
            {
                errorMsg += "请选择调查对象!</br>";
            }
            else
            {
                string[] strArry = PersonIDS.Split(',');
                foreach (string str in strArry)
                {
                    int personId = -1;
                    if (int.TryParse(str, out personId))
                    {
                        personIdArry.Add(personId);
                    }
                    else
                    {
                        errorMsg += "调查对象选择有问题!</br>";
                        break;
                    }
                }
            }
            DateTime beginTime = Entities.Constants.Constant.DATE_INVALID_VALUE;
            if (string.IsNullOrEmpty(BeginTime))
            {
                errorMsg += "调查开始时间不能为空!</br>";
            }
            else
            {
                if (!DateTime.TryParse(BeginTime, out beginTime))
                {
                    errorMsg += "调查开始时间格式不正确!</br>";
                }
                else
                {
                    if (beginTime < DateTime.Now)
                    {
                        errorMsg += "调查开始时间不能小于当前时间!</br>";
                    }
                }
            }
            DateTime endTime = Entities.Constants.Constant.DATE_INVALID_VALUE;
            if (string.IsNullOrEmpty(EndTime))
            {
                errorMsg += "调查开始时间不能为空!</br>";
            }
            else
            {
                if (!DateTime.TryParse(EndTime, out endTime))
                {
                    errorMsg += "调查开始时间格式不正确!</br>";
                }
                else
                {
                    if (endTime <= beginTime)
                    {
                        errorMsg += "调查结束时间不能小于开始时间!</br>";
                    }
                }
            }
            #endregion
            if (string.IsNullOrEmpty(errorMsg))
            {
                //如果项目ID小于等于0,新增项目
                if (spiId <= 0)
                {
                    Entities.SurveyProjectInfo model = new Entities.SurveyProjectInfo();
                    model.BGID            = bgId;
                    model.BusinessGroup   = BusinessGroup;
                    model.CreateTime      = DateTime.Now;
                    model.CreateUserID    = BLL.Util.GetLoginUserID();
                    model.Description     = Description;
                    model.Name            = ProjectName;
                    model.SCID            = scId;
                    model.SIID            = siId;
                    model.Status          = 0;
                    model.SurveyEndTime   = endTime;
                    model.SurveyStartTime = beginTime;
                    //新增问卷项目
                    int recId = BLL.SurveyProjectInfo.Instance.Insert(model);

                    //新增调查参与人
                    foreach (int personId in personIdArry)
                    {
                        Entities.SurveyPerson personModel = new Entities.SurveyPerson();
                        personModel.CreateTime   = DateTime.Now;
                        personModel.CreateUserID = BLL.Util.GetLoginUserID();
                        personModel.ExamPersonID = personId;
                        personModel.SPIID        = recId;

                        BLL.SurveyPerson.Instance.Insert(personModel);
                    }
                    msg = "{Result:'success',RecID:'" + recId + "',ErrorMsg:''}";
                }
                else
                {
                    Entities.SurveyProjectInfo info = BLL.SurveyProjectInfo.Instance.GetSurveyProjectInfo(spiId);
                    if (info != null)
                    {
                        if (info.SurveyStartTime <= DateTime.Now)
                        {
                            errorMsg += "此问卷正在调查中,无法进行编辑操作!</br>";
                        }
                        else
                        {
                            info.BGID            = bgId;
                            info.BusinessGroup   = BusinessGroup;
                            info.Description     = Description;
                            info.Name            = ProjectName;
                            info.SCID            = scId;
                            info.SIID            = siId;
                            info.SurveyEndTime   = endTime;
                            info.SurveyStartTime = beginTime;
                            info.ModifyTime      = DateTime.Now;
                            info.ModifyUserID    = BLL.Util.GetLoginUserID();
                            BLL.SurveyProjectInfo.Instance.Update(info);

                            BLL.SurveyPerson.Instance.DeleteBySPIID(spiId);
                            foreach (int personId in personIdArry)
                            {
                                Entities.SurveyPerson personModel = new Entities.SurveyPerson();
                                personModel.CreateTime   = DateTime.Now;
                                personModel.CreateUserID = BLL.Util.GetLoginUserID();
                                personModel.ExamPersonID = personId;
                                personModel.SPIID        = spiId;

                                BLL.SurveyPerson.Instance.Insert(personModel);
                            }
                        }
                    }
                    else
                    {
                        errorMsg += "不存在此问卷项目!</br>";
                    }
                    if (string.IsNullOrEmpty(errorMsg))
                    {
                        msg = "{Result:'success',RecID:'" + spiId + "',ErrorMsg:'" + errorMsg + "'}";
                    }
                    else
                    {
                        msg = "{Result:'error',RecID:'',ErrorMsg:'" + errorMsg + "'}";
                    }
                }
            }
            else
            {
                msg = "{Result:'error',RecID:'',ErrorMsg:'" + errorMsg + "'}";
            }
        }
Пример #15
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>;");
                }
            }
        }
Пример #16
0
        private string GetAnswerDetailResultTableStr()
        {
            int           spiid      = 0;
            StringBuilder sbTableStr = new StringBuilder();

            if (int.TryParse(SPIID, out spiid))
            {
                Entities.SurveyProjectInfo info = BLL.SurveyProjectInfo.Instance.GetSurveyProjectInfo(spiid);
                if (info != null)
                {
                    Entities.QuerySurveyOption queryAllOption = new Entities.QuerySurveyOption();
                    queryAllOption.SIID   = info.SIID;
                    queryAllOption.Status = 0;
                    int totalAllOption = 0;
                    //获取试题下所有选项
                    DataTable dtAllOption = BLL.SurveyOption.Instance.GetSurveyOption(queryAllOption, "", 1, -1, out totalAllOption);

                    sbTableStr.Append("<table style='BORDER-COLLAPSE: collapse' borderColor=#000000 height=40 cellPadding=1 align=center border=1>");
                    DataTable dt = BLL.SurveyAnswer.Instance.GetAnswerDetailBySPIID(spiid);
                    if (dt.Rows.Count > 0)
                    {
                        //记录非矩阵题的选项个数
                        int totalCount = 0;
                        //记录单选题选项个数
                        int scoreQuestionCount = 0;
                        int scoreOptionCount   = 0;
                        //记录单选题选项个数
                        int radioQuestionCount = 0;
                        int radioOptionCount   = 0;
                        //记录多选题选项个数
                        int checkQuestionCount = 0;
                        int checkOptionCount   = 0;
                        //记录文本题选项个数
                        int textQuestionCount = 0;
                        //记录矩阵单选选项个数
                        int matrixRadioQuestionCount = 0;
                        int matrixRadioOptionCount   = 0;

                        //记录矩阵下拉横坐标个数
                        int matrixDQuestionCount = 0;
                        int matrixDOptionCount   = 0;

                        #region 输出试题名称
                        sbTableStr.Append("<tr>");
                        sbTableStr.Append("<td>姓名</td><td>时间</td>");

                        Entities.QuerySurveyQuestion queryQuestion = new Entities.QuerySurveyQuestion();
                        queryQuestion.SIID          = (int)info.SIID;
                        queryQuestion.AskCategory   = 1;
                        queryQuestion.IsStatByScore = 1;
                        queryQuestion.Status        = 0;
                        DataTable dtScoreQuestion = BLL.SurveyQuestion.Instance.GetSurveyQuestion(queryQuestion, " SQID asc", 1, -1, out scoreQuestionCount);

                        //单选试题名称行(按分数统计)
                        foreach (DataRow dr in dtScoreQuestion.Rows)
                        {
                            //int optionCount= BLL.SurveyOption.Instance.GetSurveyOptionCountBySQID(int.Parse(dr["SQID"].ToString()));
                            sbTableStr.Append("<td align='center'>" + (int.Parse(dr["OrderNum"].ToString()) + 1) + "、" + dr["Ask"].ToString() + "</td>");
                        }
                        scoreOptionCount = scoreQuestionCount;
                        totalCount      += scoreOptionCount;

                        queryQuestion.AskCategory   = 1;
                        queryQuestion.IsStatByScore = 0;
                        DataTable dtRadioQuestion = BLL.SurveyQuestion.Instance.GetSurveyQuestion(queryQuestion, " SQID asc", 1, -1, out radioQuestionCount);

                        //单选试题名称行(不按分数统计)
                        foreach (DataRow dr in dtRadioQuestion.Rows)
                        {
                            //int optionCount = BLL.SurveyOption.Instance.GetSurveyOptionCountBySQID(int.Parse(dr["SQID"].ToString()));
                            sbTableStr.Append("<td align='center'>" + (int.Parse(dr["OrderNum"].ToString()) + 1) + "、" + dr["Ask"].ToString() + "</td>");
                        }

                        radioOptionCount = radioQuestionCount;
                        totalCount      += radioOptionCount;

                        queryQuestion.AskCategory = 2;
                        DataTable dtCheckQuestion = BLL.SurveyQuestion.Instance.GetSurveyQuestion(queryQuestion, " SQID asc", 1, -1, out checkQuestionCount);

                        //拼接多选试题名称行
                        foreach (DataRow dr in dtCheckQuestion.Rows)
                        {
                            int optionCount = BLL.SurveyOption.Instance.GetSurveyOptionCountBySQID(int.Parse(dr["SQID"].ToString()));
                            checkOptionCount += optionCount;
                            sbTableStr.Append("<td colspan='" + optionCount + "' align='center'>" + (int.Parse(dr["OrderNum"].ToString()) + 1) + "、" + dr["Ask"].ToString() + "</td>");
                            totalCount += checkOptionCount;
                        }

                        queryQuestion.AskCategory = 3;
                        DataTable dtTextQuestion = BLL.SurveyQuestion.Instance.GetSurveyQuestion(queryQuestion, " SQID asc", 1, -1, out textQuestionCount);
                        totalCount += textQuestionCount;
                        //拼接文本试题名称行
                        foreach (DataRow dr in dtTextQuestion.Rows)
                        {
                            sbTableStr.Append("<td align='center'>" + (int.Parse(dr["OrderNum"].ToString()) + 1) + "、" + dr["Ask"].ToString() + "</td>");
                        }

                        queryQuestion.AskCategory = 4;
                        DataTable dtMatrixRQuestion = BLL.SurveyQuestion.Instance.GetSurveyQuestion(queryQuestion, " SQID asc", 1, -1, out matrixRadioQuestionCount);
                        int       rTitleCount       = 0;
                        //拼接矩阵单选试题名称行
                        foreach (DataRow dr in dtMatrixRQuestion.Rows)
                        {
                            rTitleCount = BLL.SurveyMatrixTitle.Instance.GetSurveyMatrixTitleCount(int.Parse(dr["SQID"].ToString()), 1);
                            sbTableStr.Append("<td colspan='" + rTitleCount + "' align='center'>" + (int.Parse(dr["OrderNum"].ToString()) + 1) + "、" + dr["Ask"].ToString() + "</td>");
                            matrixRadioOptionCount += rTitleCount;
                        }

                        queryQuestion.AskCategory = 5;
                        DataTable dtMatrixDQuestion = BLL.SurveyQuestion.Instance.GetSurveyQuestion(queryQuestion, " SQID asc", 1, -1, out matrixDQuestionCount);
                        int       dTitleCount       = 0;
                        //拼接矩阵下拉试题名称行
                        foreach (DataRow dr in dtMatrixDQuestion.Rows)
                        {
                            int optionCount = BLL.SurveyMatrixTitle.Instance.GetSurveyMatrixTitleCount(int.Parse(dr["SQID"].ToString()), 2);
                            matrixDOptionCount += optionCount;
                            dTitleCount         = BLL.SurveyMatrixTitle.Instance.GetSurveyMatrixTitleCount(int.Parse(dr["SQID"].ToString()), 1);
                            sbTableStr.Append("<td colspan='" + (optionCount * dTitleCount) + "' align='center'>" + (int.Parse(dr["OrderNum"].ToString()) + 1) + "、" + dr["Ask"].ToString() + "</td>");
                        }
                        matrixDOptionCount = matrixDOptionCount * dTitleCount;
                        sbTableStr.Append("</tr>");
                        #endregion

                        #region 输出矩阵纵坐标选项
                        if (matrixRadioQuestionCount > 0 || matrixDQuestionCount > 0)
                        {
                            int spanLength = scoreOptionCount + radioOptionCount + checkOptionCount + textQuestionCount + 2;
                            sbTableStr.Append("<tr>");
                            sbTableStr.Append("<td colspan='" + spanLength + "'></td>");
                            foreach (DataRow dr in dtMatrixRQuestion.Rows)
                            {
                                int optionCount = BLL.SurveyOption.Instance.GetSurveyOptionCountBySQID(int.Parse(dr["SQID"].ToString()));
                                int titleCount  = BLL.SurveyMatrixTitle.Instance.GetSurveyMatrixTitleCount(int.Parse(dr["SQID"].ToString()), 1);
                                Entities.QuerySurveyMatrixTitle matrixTitleQuery = new Entities.QuerySurveyMatrixTitle();
                                matrixTitleQuery.SQID   = int.Parse(dr["SQID"].ToString());
                                matrixTitleQuery.Type   = 1;
                                matrixTitleQuery.Status = 0;
                                int       matrixTitleCount = 0;
                                DataTable dtMatrixTitle    = BLL.SurveyMatrixTitle.Instance.GetSurveyMatrixTitle(matrixTitleQuery, "SMTID asc", 1, -1, out matrixTitleCount);
                                foreach (DataRow row in dtMatrixTitle.Rows)
                                {
                                    sbTableStr.Append("<td  align='center'>" + row["TitleName"].ToString() + "</td>");
                                }
                            }
                            foreach (DataRow dr in dtMatrixDQuestion.Rows)
                            {
                                int optionCount = BLL.SurveyMatrixTitle.Instance.GetSurveyMatrixTitleCount(int.Parse(dr["SQID"].ToString()), 2);
                                int titleCount  = BLL.SurveyMatrixTitle.Instance.GetSurveyMatrixTitleCount(int.Parse(dr["SQID"].ToString()), 1);
                                Entities.QuerySurveyMatrixTitle matrixTitleQuery = new Entities.QuerySurveyMatrixTitle();
                                matrixTitleQuery.SQID   = int.Parse(dr["SQID"].ToString());
                                matrixTitleQuery.Type   = 1;
                                matrixTitleQuery.Status = 0;
                                int       matrixTitleCount = 0;
                                DataTable dtMatrixTitle    = BLL.SurveyMatrixTitle.Instance.GetSurveyMatrixTitle(matrixTitleQuery, "SMTID asc", 1, -1, out matrixTitleCount);
                                foreach (DataRow row in dtMatrixTitle.Rows)
                                {
                                    sbTableStr.Append("<td colspan='" + optionCount + "' align='center'>" + row["TitleName"].ToString() + "</td>");
                                }
                            }
                            sbTableStr.Append("</tr>");
                        }
                        #endregion

                        #region 输出选项
                        sbTableStr.Append("<tr><td></td><td></td>");
                        //按分数统计的单选题
                        foreach (DataRow dr in dtScoreQuestion.Rows)
                        {
                            sbTableStr.Append("<td></td>");
                        }
                        //不按分数统计的单选题
                        foreach (DataRow dr in dtRadioQuestion.Rows)
                        {
                            sbTableStr.Append("<td></td>");
                        }
                        //多选题
                        foreach (DataRow dr in dtCheckQuestion.Rows)
                        {
                            List <Entities.SurveyOption> list = BLL.SurveyOption.Instance.GetSurveyOptionListBySQID(int.Parse(dr["SQID"].ToString()));
                            foreach (Entities.SurveyOption optionInfo in list)
                            {
                                sbTableStr.Append("<td>" + optionInfo.OptionName + "</td>");
                            }
                        }
                        //文本题
                        foreach (DataRow dr in dtTextQuestion.Rows)
                        {
                            sbTableStr.Append("<td></td>");
                        }

                        //矩阵单选题
                        foreach (DataRow dr in dtMatrixRQuestion.Rows)
                        {
                            Entities.QuerySurveyMatrixTitle queryMatrixTitle = new Entities.QuerySurveyMatrixTitle();
                            queryMatrixTitle.SQID   = int.Parse(dr["SQID"].ToString());
                            queryMatrixTitle.Type   = 1;
                            queryMatrixTitle.Status = 0;
                            int       totalTitle     = 0;
                            DataTable dtCMatrixTitle = BLL.SurveyMatrixTitle.Instance.GetSurveyMatrixTitle(queryMatrixTitle, "SMTID asc", 1, -1, out totalTitle);
                            foreach (DataRow drTitle in dtCMatrixTitle.Rows)
                            {
                                sbTableStr.Append("<td></td>");
                            }
                        }
                        //矩阵下拉
                        foreach (DataRow dr in dtMatrixDQuestion.Rows)
                        {
                            Entities.QuerySurveyMatrixTitle queryRMatrixTitle = new Entities.QuerySurveyMatrixTitle();
                            queryRMatrixTitle.SQID   = int.Parse(dr["SQID"].ToString());
                            queryRMatrixTitle.Type   = 2;
                            queryRMatrixTitle.Status = 0;
                            int       totalTitle     = 0;
                            DataTable dtRMatrixTitle = BLL.SurveyMatrixTitle.Instance.GetSurveyMatrixTitle(queryRMatrixTitle, "SMTID asc", 1, -1, out totalTitle);

                            Entities.QuerySurveyMatrixTitle queryCMatrixTitle = new Entities.QuerySurveyMatrixTitle();
                            queryCMatrixTitle.SQID   = int.Parse(dr["SQID"].ToString());
                            queryCMatrixTitle.Type   = 1;
                            queryCMatrixTitle.Status = 0;
                            DataTable dtCMatrixTitle = BLL.SurveyMatrixTitle.Instance.GetSurveyMatrixTitle(queryCMatrixTitle, "SMTID asc", 1, -1, out totalTitle);

                            foreach (DataRow cTitle in dtCMatrixTitle.Rows)
                            {
                                foreach (DataRow rTitle in dtRMatrixTitle.Rows)
                                {
                                    sbTableStr.Append("<td>" + rTitle["TitleName"] + "</td>");
                                }
                            }
                        }
                        sbTableStr.Append("</tr>");
                        #endregion

                        #region 输出答题情况
                        DataTable dtResult = BLL.SurveyAnswer.Instance.GetAnswerDetailBySPIID(info.SPIID);
                        if (dtResult.Rows.Count > 0)
                        {
                            int colCount = dtResult.Columns.Count;
                            for (int i = 0; i < dtResult.Rows.Count; i++)
                            {
                                sbTableStr.Append("<tr>");
                                for (int j = 0; j < colCount; j++)
                                {
                                    if (j == 0)
                                    {
                                        string userName = dtResult.Rows[i][j].ToString();
                                        if (!string.IsNullOrEmpty(dtResult.Rows[i][j].ToString()))
                                        {
                                            int userId = int.Parse(dtResult.Rows[i][j].ToString());
                                            userName = BitAuto.YanFa.SysRightManager.Common.UserInfo.GerTrueName(userId);
                                        }
                                        //int userId=int.Parse()
                                        sbTableStr.Append("<td>" + userName + "</td>");
                                    }
                                    else if (j == 1)
                                    {
                                        sbTableStr.Append("<td>" + dtResult.Rows[i][j].ToString() + "</td>");
                                    }
                                    //单选按分数统计
                                    else if (j > 2 && j < scoreOptionCount + 3)
                                    {
                                        sbTableStr.Append("<td>" + dtResult.Rows[i][j].ToString() + "</td>");
                                    }
                                    //单选不按分数统计
                                    else if (j > scoreOptionCount + 3 && j < scoreOptionCount + radioOptionCount + 4)
                                    {
                                        string resultStr = dtResult.Rows[i][j].ToString();
                                        if (!string.IsNullOrEmpty(resultStr))
                                        {
                                            DataRow[] drSelects = dtAllOption.Select(" SOID=" + int.Parse(resultStr));
                                            if (drSelects.Length > 0)
                                            {
                                                if (drSelects[0]["IsBlank"].ToString() == "1")//如果是填空的回答,找答案
                                                {
                                                    resultStr = BLL.SurveyAnswer.Instance.getAnswerBySQID(" spiid=" + spiid + " and siid=" + drSelects[0]["siid"].ToString() + " and CreateUserID=" + dtResult.Rows[i]["cuserID"].ToString() + " and soid=" + drSelects[0]["soid"].ToString());
                                                }
                                                else
                                                {
                                                    resultStr = drSelects[0]["OptionName"].ToString();
                                                }
                                            }
                                        }
                                        sbTableStr.Append("<td>" + resultStr + "</td>");
                                    }
                                    //多选题
                                    else if (j > scoreOptionCount + radioOptionCount + 4 && j < scoreOptionCount + radioOptionCount + checkOptionCount + 5)
                                    {
                                        string resultStr = dtResult.Rows[i][j].ToString();
                                        if (!string.IsNullOrEmpty(resultStr))
                                        {
                                            DataRow[] drSelects = dtAllOption.Select(" SOID=" + int.Parse(resultStr));
                                            if (drSelects.Length > 0)
                                            {
                                                if (drSelects[0]["IsBlank"].ToString() == "1")//如果是填空的回答,找答案
                                                {
                                                    resultStr = BLL.SurveyAnswer.Instance.getAnswerBySQID(" spiid=" + spiid + " and siid=" + drSelects[0]["siid"].ToString() + " and CreateUserID=" + dtResult.Rows[i]["cuserID"].ToString() + " and soid=" + drSelects[0]["soid"].ToString());
                                                }
                                                else
                                                {
                                                    resultStr = drSelects[0]["OptionName"].ToString();
                                                }
                                            }
                                        }
                                        sbTableStr.Append("<td>" + resultStr + "</td>");
                                    }
                                    //文本题
                                    else if (j > scoreOptionCount + radioOptionCount + checkOptionCount + 5 && j < scoreOptionCount + radioOptionCount + checkOptionCount + textQuestionCount + 6)
                                    {
                                        sbTableStr.Append("<td>" + dtResult.Rows[i][j].ToString() + "</td>");
                                    }
                                    //矩阵单选题
                                    else if (j > scoreOptionCount + radioOptionCount + checkOptionCount + textQuestionCount + 6 && j < scoreOptionCount + radioOptionCount + checkOptionCount + textQuestionCount + matrixRadioOptionCount + 7)
                                    {
                                        string resultStr = dtResult.Rows[i][j].ToString();
                                        if (!string.IsNullOrEmpty(resultStr))
                                        {
                                            DataRow[] drSelects = dtAllOption.Select(" SOID=" + int.Parse(resultStr));
                                            if (drSelects.Length > 0)
                                            {
                                                resultStr = drSelects[0]["OptionName"].ToString();
                                            }
                                        }
                                        sbTableStr.Append("<td>" + resultStr + "</td>");
                                    }
                                    //矩阵下拉
                                    else if (j > scoreOptionCount + radioOptionCount + checkOptionCount + textQuestionCount + matrixRadioOptionCount + 7 && j < scoreOptionCount + radioOptionCount + checkOptionCount + textQuestionCount + matrixRadioOptionCount + matrixDOptionCount + 8)
                                    {
                                        sbTableStr.Append("<td>" + dtResult.Rows[i][j].ToString() + "</td>");
                                    }
                                }
                                sbTableStr.Append("</tr>");
                            }
                        }
                        #endregion
                    }

                    sbTableStr.Append("</table>");
                }
            }

            return(sbTableStr.ToString());
        }