//问卷调查提交 private void surveyAnswerSubmit(out string msg) { msg = string.Empty; judgeIsCorrect(out msg); if (msg != "success") { return; } #region 提交准备数据 SurveyAnswerRoot modelRoot = null; List <Entities.SurveyAnswer> list_ESurveyAnswer = new List <Entities.SurveyAnswer>(); ArrayList array_UserActionLog = new ArrayList();//日志 modelRoot = (SurveyAnswerRoot)Newtonsoft.Json.JavaScriptConvert.DeserializeObject(RequestJsonSurveyAnswer, typeof(SurveyAnswerRoot)); if (modelRoot == null) { msg = "提交的问卷数据不存在"; return; } for (int i = 0; i < modelRoot.DataRoot.Length; i++) { Entities.SurveyAnswer model = new Entities.SurveyAnswer(); SurveyAnswer answer = modelRoot.DataRoot[i]; int _spiid; if (int.TryParse(RequestSPIID, out _spiid)) { model.SPIID = _spiid; } if (!string.IsNullOrEmpty(RequestPTID)) { model.PTID = RequestPTID; } int _siid; if (int.TryParse(RequestSIID, out _siid)) { model.SIID = _siid; } int _sqid; if (int.TryParse(answer.SQID, out _sqid)) { model.SQID = _sqid; } int _smrtid; if (int.TryParse(answer.SMRTID, out _smrtid)) { model.SMRTID = _smrtid; } int _smctid; if (int.TryParse(answer.SMCTID, out _smctid)) { model.SMCTID = _smctid; } int _soid; if (int.TryParse(answer.SOID, out _soid)) { model.SOID = _soid; } model.AnswerContent = answer.AnswerContent; model.CreateUserID = userID; model.CreateTime = DateTime.Now; list_ESurveyAnswer.Add(model); string logStr = string.Empty; logStr = "调查问卷回答信息表【插入】问卷调查项目ID【" + model.SPIID + "】调查问卷ID【" + model.SIID + "】调查问卷试题ID【" + model.SQID + "】提交人【" + model.CreateUserID + "】调查问卷矩阵行ID【" + model.SMRTID + "】矩阵列ID【" + model.SMCTID + "】调查问卷选项ID【" + model.SOID + "】回答内容【" + model.AnswerContent + "】创建时间【" + model.CreateTime + "】"; array_UserActionLog.Add(logStr); } #endregion #region 事务提交 string connectionstrings = ConfigurationUtil.GetAppSettingValue("ConnectionStrings_CC"); SqlConnection connection = new SqlConnection(connectionstrings); connection.Open(); SqlTransaction tran = connection.BeginTransaction("SampleTransaction"); try { //删除之前的答案 if (!string.IsNullOrEmpty(RequestPTID)) { int _siid1; if (int.TryParse(RequestSIID, out _siid1)) { BLL.SurveyAnswer.Instance.Delete(tran, _siid1, RequestPTID); } } for (int i = 0; i < list_ESurveyAnswer.Count; i++) { BLL.SurveyAnswer.Instance.Insert(tran, list_ESurveyAnswer[i]); } for (int i = 0; i < array_UserActionLog.Count; i++) { BLL.Util.InsertUserLog(tran, array_UserActionLog[i].ToString()); } //是否答过题,默认答没答过 bool flag = false; if (list_ESurveyAnswer.Count == 0) { flag = false; } else { for (int i = 0; i < list_ESurveyAnswer.Count; i++) { if (list_ESurveyAnswer[i].SOID != -2 || list_ESurveyAnswer[i].AnswerContent != "" || list_ESurveyAnswer[i].SMCTID != -2 || list_ESurveyAnswer[i].SMRTID != -2) { flag = true; } } } //答过题记录 if (flag == true) { //判断该项目,该任务,该问卷,是否已有答问卷记录,没有插入 DataTable dt = null; Entities.QueryProjectTask_SurveyAnswer querey = new Entities.QueryProjectTask_SurveyAnswer(); querey.PTID = RequestPTID; int _projectID; if (int.TryParse(RequestProjectID, out _projectID)) { } querey.ProjectID = _projectID; int _siid; if (int.TryParse(RequestSIID, out _siid)) { } querey.SIID = _siid; //int rowcount = 0; //dt = BLL.ProjectTask_SurveyAnswer.Instance.GetProjectTask_SurveyAnswer(tran, querey, "", 1, 1000000, out rowcount); Entities.ProjectTask_SurveyAnswer getModel = BLL.ProjectTask_SurveyAnswer.Instance.GetProjectTask_SurveyAnswerByQuery(tran, querey); if (getModel == null) { Entities.ProjectTask_SurveyAnswer model = new Entities.ProjectTask_SurveyAnswer(); model.ProjectID = _projectID; model.PTID = RequestPTID; model.SIID = _siid; model.CreateTime = System.DateTime.Now; model.CreateUserID = BLL.Util.GetLoginUserID(); model.Status = RequestIsSub; BLL.ProjectTask_SurveyAnswer.Instance.Insert(tran, model); } else { getModel.CreateTime = DateTime.Now; getModel.Status = RequestIsSub; BLL.ProjectTask_SurveyAnswer.Instance.UpdateCreateTimeAndStatus(tran, getModel); } } msg = "success"; tran.Commit(); } catch (Exception ex) { BitAuto.ISDC.CC2012.BLL.Loger.Log4Net.Error("[TakingAnSurveyHandler.ashx]surveyAnswerSubmit...任务ID:" + RequestPTID + ",事务提交阶段出错:", ex); if (tran.Connection != null) { tran.Rollback(); } msg = ex.Message.ToString(); } finally { connection.Close(); } #endregion }
//str += "<a href='SurveyInfo.aspx?SIID='" + dt.Rows[i]["SIID"].ToString() + "'+'&ProJectID='" + dt.Rows[i]["ProjectID"].ToString() + "'+'&TaskID='" + dt.Rows[i]["PTID"].ToString() + "' target='_blank'>" + dt.Rows[i]["Name"].ToString() + "</a> "; protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { //int _projectid; //if (int.TryParse(RequestProjectID, out _projectid)) //{ //后续需要判断任务状态,不是所有状态都可以答问卷,任务在处理中,未处理加载可编辑问卷,其他状态加载只能查看 if (string.IsNullOrEmpty(RequestCustID)) { 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(RequestSIID)) //{ // Response.Write("<script language='javascript'>alert('核实问卷不存在!');closePage();</script>"); //} else { if (!string.IsNullOrEmpty(RequestSIID)) { //Entities.ProjectTaskInfo Taskinfo = BLL.ProjectTaskInfo.Instance.GetProjectTaskInfo(RequestCustID); Entities.QueryProjectTask_SurveyAnswer querey = new Entities.QueryProjectTask_SurveyAnswer(); querey.CustID = RequestCustID; int _siid; if (int.TryParse(RequestSIID, out _siid)) { } querey.SIID = _siid; int rowcount = 0; DataTable dt = BLL.ProjectTask_SurveyAnswer.Instance.GetProjectTask_SurveyAnswer(querey, "", 1, 1000000, out rowcount); if (Request["Action"] != null && Request["Action"] == "view") { UCSurveyInfoEdit1.Visible = false; UCSurveyInfoView1.Visible = true; UCSurveyInfoView1.RequestSIID = RequestSIID; UCSurveyInfoView1.RequestCustID = RequestCustID; btnsave.Visible = false; btnsub.Visible = false; } else if (dt != null && dt.Rows.Count > 0) { if (dt.Rows[0]["status"] != DBNull.Value && dt.Rows[0]["status"].ToString() == "1") { UCSurveyInfoEdit1.Visible = false; UCSurveyInfoView1.Visible = true; UCSurveyInfoView1.RequestSIID = RequestSIID; UCSurveyInfoView1.RequestCustID = RequestCustID; btnsave.Visible = false; btnsub.Visible = false; } else { UCSurveyInfoEdit1.Visible = true; UCSurveyInfoView1.Visible = false; UCSurveyInfoEdit1.RequestSIID = RequestSIID; UCSurveyInfoEdit1.RequestCustID = RequestCustID; btnsave.Visible = true; btnsub.Visible = true; } } else { UCSurveyInfoEdit1.Visible = true; UCSurveyInfoView1.Visible = false; UCSurveyInfoEdit1.RequestSIID = RequestSIID; UCSurveyInfoEdit1.RequestCustID = RequestCustID; btnsave.Visible = true; btnsub.Visible = true; } } } //} //else //{ // Response.Write("<script language='javascript'>alert('核实项目id数据格式不正确!');closePage();</script>"); //} } }