//显示按钮 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); }
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>"); } } } }
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>;"); } } }
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 = "此调查项目不存在"; } }
//删除调查项目 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 = "此调查项目不存在"; } }
//判断能否进入该页面或能否插入回答表; 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); }
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)); }
//保存调查项目 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 + "'}"; } }
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>;"); } } }
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()); }