/// <summary> /// 创建日期:2016/11/08 /// 获取我的作答记录 /// </summary> /// <param name="AnswerAddID"></param> /// <returns></returns> public string GetAnswerAddEntity(int AnswerAddID) { string GetAnswer = ""; try { AnswerAddEntity ds = MgrServices.DistributeRecordService.GetAnswerAddEntity(AnswerAddID); GetAnswer = ds._answeradd_record; return(GetAnswer); } catch { return(GetAnswer); } }
/// <summary> /// 创建日期:2016/11/08 /// 更新作答表记录 /// </summary> /// <param name="AnswerID"></param> /// <returns></returns> public void update(AnswerAddEntity model, string AName, HttpContext context) { try { bool Updates = MgrServices.DistributeRecordService.Update(model); if (Updates) { if (model._answer_state == 2) { string JsonRecord = Convert.ToString(Common.GetRequest("JsonPid")); UpdateReportInsert(Convert.ToInt32(model._answeradd_id), model._u_id, JsonRecord, model._answeradd_record, model._amount_code, AName, model); } } context.Response.Write("1"); } catch { context.Response.Write("0");; } }
/// <summary> /// 创建日期:2016/11/07 /// 保存我的做答的记录 /// </summary> /// <param name="entityInfo"></param> /// <returns></returns> public void Insert(AnswerAddEntity entityInfo, string AName, HttpContext context) { try { //增加判断,判断是否在作答过程中管理员取消作答权限,即删除分配记录 bool isDelete = MgrServices.DistributeRecordService.GetDistrubuteIsDelete(int.Parse(entityInfo._distriid)); if (isDelete) { context.Response.Write("2"); return; } //long msg = MgrServices.DistributeRecordService.Insert(entityInfo); long msg = 0; if (entityInfo._answer_state == 2) { string JsonRecord = Convert.ToString(Common.GetRequest("JsonPid")); msg = ReportInsert(entityInfo._u_id, JsonRecord, entityInfo._answeradd_record, entityInfo._amount_code, AName, entityInfo); } else { msg = MgrServices.DistributeRecordService.Insert(entityInfo); } if (msg > 0) { context.Response.Write("1"); } else { context.Response.Write("0"); } } catch { context.Response.Write("0"); } }
/// <summary> /// 创建日期:2016/11/08 /// 根据序号加载题干信息 /// </summary> /// <param name="code">量表编码</param> /// <param name="index">题干序号</param> /// <param name="context"></param> private void InitStemS(string code, int index, int ARadom, int DID, HttpContext context) { try { int Indexs = 0; DataTable sourceTemp = new DataTable(); if (code.Equals("LB_14811899636250")) { // sourceTemp = MgrServices.AnswerAddService.GetMMPI_Subject_Temp(); string MMPI_Json = MgrServices.AnswerAddService.GetMMPI_Question(); context.Response.Write(MMPI_Json); return; } else { sourceTemp = MgrServices.AnswerAddService.GetSubEntityTemp(code, 0); } //GetOperationCodeTemp List <QModel> listT = new List <QModel>(); if (sourceTemp != null && sourceTemp.Rows.Count > 0) { if (ARadom == 1) { //重新处理sourceTemp //取 DID (分配记录) 对应的作答记录 //如果作答记录不为空 //重新编排sourceTemp AnswerAddEntity aae = MgrServices.DistributeRecordService.GetAnswerAddEntity_ByDID(DID); DataTable tempTable = sourceTemp.Clone(); if (aae != null && aae._answeradd_record.Length > 0) { Dictionary <string, string> answerRecordDic = JsonConvert.DeserializeObject <Dictionary <string, string> >(aae._answeradd_record);//将用户答题记录json字符串反序列为字典项键值对 } foreach (var item in answerRecordDic.Keys) { DataRow tempRow = sourceTemp.AsEnumerable().Where(x => x["SubjectCode"].ToString() == item).First(); tempTable.ImportRow(tempRow); sourceTemp.Rows.Remove(tempRow); } } int tableLength = sourceTemp.Rows.Count; Random rd = new Random(); for (int j = tableLength; j > 0; j--) { DataRow tempRow = sourceTemp.Rows[rd.Next(0, j)]; tempTable.ImportRow(tempRow); sourceTemp.Rows.Remove(tempRow); } sourceTemp = tempTable; } Amount_InfoEntity ds = MgrServices.DistributeRecordService.GetAEntity(code); string SubCodeStr = ""; foreach (DataRow SunDtr in sourceTemp.Rows) { if (!SubCodeStr.Equals("")) { SubCodeStr += ",'" + SunDtr["SubjectCode"] + "'"; } else { SubCodeStr += "'" + SunDtr["SubjectCode"] + "'"; } } DataTable OperationTemp = new DataTable(); DataTable OperationRelarionTemp = new DataTable(); if (!SubCodeStr.Equals("")) { OperationRelarionTemp = MgrServices.DistributeRecordService.GetOperationCodeTemp(SubCodeStr); //查询的是题干和题支的关系集合 OperationTemp = MgrServices.DistributeRecordService.GetOperationTemp(SubCodeStr); // 查询的是题支的实体信息集合 } StringBuilder sb = new StringBuilder("{'questions':["); foreach (DataRow DTR in sourceTemp.Rows) { Indexs++; QModel model = new QModel(); sb.Append("{'question':"); string SubjectContent = DTR["SubjectContent"].ToString(); if (SubjectContent.Contains("/SubjectImages")) { model.question = DTR["SubjectContent"].ToString(); } else { model.question = Indexs + "." + DTR["SubjectContent"].ToString(); } string StemCode = DTR["SubjectCode"].ToString(); string SubjectCode = ""; string IndexNum = ""; sb.Append("'" + model.question + "'"); DataRow[] OperCodeRW = OperationRelarionTemp.Select(" SubjectCode='" + StemCode + "'"); string OPC_Str = ""; if (OperCodeRW != null && OperCodeRW.Length > 0) { foreach (DataRow OCDTR in OperCodeRW) { if (!OPC_Str.Equals("")) { OPC_Str += ",'" + OCDTR["OperationCode"] + "'"; } else { OPC_Str += "'" + OCDTR["OperationCode"] + "'"; } } } DataRow[] SourceTemps = OperationTemp.Select(" OperationCode in (" + OPC_Str + ") "); if (SourceTemps != null && SourceTemps.Length > 0) { sb.Append(","); sb.Append("'answers':["); string OpCode = ""; string Factions = ""; foreach (DataRow DTRs in SourceTemps) { model.OptionCode = DTRs["OperationCode"].ToString(); model.IndexNum = DTRs["OperationNum"].ToString(); model.Faction = DTRs["OperationFraction"].ToString(); model.answers = DTRs["OperationContent"].ToString(); sb.Append("'" + model.answers + "',");//model.answers OpCode += "'" + model.OptionCode + "',"; Factions += "'" + model.Faction + "',"; SubjectCode += "'" + StemCode + "',"; IndexNum += "'" + model.IndexNum + "',"; } sb.Append("]" + ","); sb.Append("'OpCode':[" + SubjectCode + "]" + ","); sb.Append("'IndexNum':[" + IndexNum + "]" + ","); sb.Append("'Factions':[" + Factions + "]" + ","); sb.Append("'OptionCode':[" + OpCode + "]}" + ","); } } sb.Append("],"); ds._amount_guidance = ds._amount_guidance.Replace("'", "'"); ds._amount_guidance = ds._amount_guidance.Replace("\"", """); ds._amount_displayname = ds._amount_displayname.Replace("'", "'"); ds._amount_displayname = ds._amount_displayname.Replace("\"", """); sb.Append("'Amount_Guidance': [{'AGuidance':" + "'" + ds._amount_guidance + "'},{'AName':" + "'" + ds._amount_displayname + "'}]"); sb.Append("}"); string json = sb.ToString().Replace("'", "\""); context.Response.Write(json); //context.Response.Write("000000"); } } catch { } }
public long UpdateReportInsert(int answerid, int UID, string Record, string AnswerJson, string Acode, string AName, AnswerAddEntity entityInfo) { WebPages.projrem.PersonReport obj = new PersonReport(Acode, AnswerJson, Record, AName, entityInfo._answeradd_score); WebPages.PersonalReportService.R_ReportEntity entityInfos = new WebPages.PersonalReportService.R_ReportEntity(); string strjosn = JsonConvert.SerializeObject(obj); entityInfos._reportjson = strjosn; entityInfos._createuid = UID; //entityInfo._answeradd_id = answerid; entityInfos._answeid = answerid; entityInfos._r_createdate = DateTime.Now; long ss = -1; if (obj.UserINfos != null && obj.DimensionEntitys != null) { ss = MgrServices.PersonalReportService.R_ReportInsert(entityInfos); } else { throw new CustomException("更新出错", " UpdateReportInsert", "更新我的测验"); } return(ss); }
/// <summary> /// 生成个体报告 /// </summary> public long ReportInsert(int UID, string Record, string AnswerJson, string Acode, string AName, AnswerAddEntity entityInfo) { try { long ss = -1; WebPages.projrem.PersonReport obj = new PersonReport(Acode, AnswerJson, Record, AName, entityInfo._answeradd_score); WebPages.DistributeRecordService.R_ReportEntity entityInfos = new WebPages.DistributeRecordService.R_ReportEntity(); string strjosn = JsonConvert.SerializeObject(obj); entityInfos._reportjson = strjosn; entityInfos._createuid = UID; //entityInfo._answeid = answerid; entityInfos._r_createdate = DateTime.Now; if (obj.DimensionEntitys != null && obj.UserINfos != null) { ss = MgrServices.DistributeRecordService.InsetsAnswerPTwo(entityInfo, entityInfos); } else { throw new CustomException("添加出错", " ReportInsert", "添加我的测验"); } return(ss); } catch (Exception ex) { throw new CustomException(ex.Message, "long ReportInsert(int UID, string Record, string AnswerJson, string Acode, string AName, AnswerAddEntity entityInfo)", "生成个体报告");; } }
public System.Collections.Concurrent.ConcurrentDictionary <String, String> Con_SelectOptionList = new System.Collections.Concurrent.ConcurrentDictionary <String, String>();//存储选择项记录集合 public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; string Type = Common.GetRequest("type"); string _code = Common.GetRequest("code"); string UserPepole = ""; int UserID = 0; UserPepole = Common.GetSessionValue("loginName", context); if (UserPepole == null) { return; } string _uID = Common.GetSessionValue("UserID", context); if (_uID == null) { return; } UserID = Convert.ToInt32(_uID); string EnterpriseCode = Common.GetSessionValue("EnterpriseCode", context); if (EnterpriseCode == null) { return; } switch (Type) { case "Load": //我的测验列表 int StarPageIndex = Convert.ToInt32(Common.GetRequest("StarPageIndex")); int EndPageIndex = Convert.ToInt32(Common.GetRequest("EndPageIndex")); string GaugeName = Common.GetRequest("GaugeName"); InitGaugePages(UserID, StarPageIndex, EndPageIndex, GaugeName, EnterpriseCode, context); break; case "Guidelanguage": //指导语 string ACode = Common.GetRequest("ACode"); context.Response.Write(GetAEntity(ACode)); break; case "Save": //保存我的做答的记录 AnswerAddEntity model = new AnswerAddEntity(); model._answeradd_record = Common.GetRequest("RidoJson"); //数据保存记录 model._amount_code = Common.GetRequest("Code"); //量表编码 model._answerpeople = UserPepole; model._u_id = UserID; model._distriid = Common.GetRequest("DID");//分配量表的id model._answer_state = Convert.ToInt32(Common.GetRequest("state")); model._answerisdelete = 0; if (Common.GetRequest("score") != null && Common.GetRequest("score") != "" && Common.GetRequest("score") != "unified") { model._answeradd_score = Convert.ToInt32(Common.GetRequest("score")); } else { model._answeradd_score = 0; } model._answer_createtime = DateTime.Now; if (Common.GetRequest("startime") != null && Common.GetRequest("startime") != "") { var aaa = Common.GetRequest("startime"); model._answer_starttimer = DateTime.Parse(Common.GetRequest("startime")); } string ANameA = Common.GetRequest("AName"); Insert(model, ANameA, context); break; case "GetProblem": //加载题干 int T_NumberS = Convert.ToInt32(Common.GetRequest("TNum")); int DID = Convert.ToInt32(Common.GetRequest("DID")); int ARadom = 0; if (Common.GetRequest("ARadom") != null && Common.GetRequest("ARadom") != "") { ARadom = Convert.ToInt32(Common.GetRequest("ARadom")); } InitStemS(_code, T_NumberS, ARadom, DID, context); break; case "ContinueAnswer": //继续作答 int AnswerID = Convert.ToInt32(Common.GetRequest("AnswerID")); context.Response.Write(GetAnswerAddEntity(AnswerID)); break; case "UpdateAnswer": //更新我的作答 AnswerAddEntity models = new AnswerAddEntity(); models._answeradd_record = Common.GetRequest("RidoJson"); //数据保存记录 models._amount_code = Common.GetRequest("Code"); //量表编码 models._answerpeople = UserPepole; models._u_id = UserID; models._distriid = Common.GetRequest("DID");//分配量表的id if (Common.GetRequest("state") != null && Common.GetRequest("state") != "") { models._answer_state = Convert.ToInt32(Common.GetRequest("state")); } else { models._answer_state = 1; } if (Common.GetRequest("score") != null && Common.GetRequest("score") != "" && Common.GetRequest("score") != "unified" && Common.GetRequest("score") != "NaN") { string ss = Common.GetRequest("score"); models._answeradd_score = Convert.ToInt32(Common.GetRequest("score")); } else { models._answeradd_score = 0; } if (Common.GetRequest("startime") != null && Common.GetRequest("startime") != "") { string times = Common.GetRequest("startime"); models._answer_starttimer = DateTime.Parse(Common.GetRequest("startime")); } if (Common.GetRequest("startime") != null && Common.GetRequest("startime") != "") { string times = Common.GetRequest("startime"); models._answer_starttimer = DateTime.Parse(Common.GetRequest("startime")); } models._answerisdelete = 0; models._answer_createtime = DateTime.Now; models._answeradd_id = Convert.ToInt32(Common.GetRequest("AnserID")); string ANameB = Common.GetRequest("AName"); update(models, ANameB, context); break; case "DeleteAnswer": //根据id删除我的作答的相应记录 int AnserIDs = Convert.ToInt32(Common.GetRequest("AnserID")); context.Response.Write(DleteAnswer(AnserIDs)); break; } }
public void GetToWord(List <UserExportInfo> lu, out string fileName, out string path, out StringBuilder builder, out FileInfo file, out StreamWriter sw, int lenght) { //AnswerID = "110"; string StrJson = ""; string Scorehtml = ""; string ConvertScoreHtml = ""; int AnswerID = 0; string AName = ""; DataSet dataset = new DataSet(); for (int i = 0; i < lu.Count; i++) { DataSet datasetTemp = MgrServices.PersonalReportService.ReportExport(lu[i].AnswerID.ToString()); AName = lu[i].AmountName; dataset.Merge(datasetTemp, true, MissingSchemaAction.AddWithKey); } DataTable dt = new DataTable(); DataTable UserInfodt = new DataTable(); if (dataset.Tables.Count > 0) { dt = dataset.Tables[0]; UserInfodt = dataset.Tables[1]; } List <SpecialReportReport> lr = new List <SpecialReportReport>(); DateTime RCreatetime = DateTime.Now; #region 非空 if (dt.Rows.Count != 0) { if (dt.Rows.Count > 0) { for (int j = 0; j < dt.Rows.Count; j++) { SpecialReportReport ReportObj = new SpecialReportReport(); StrJson = dt.Rows[j]["ReportJson"].ToString(); AnswerID = Convert.ToInt32(dt.Rows[j]["AnsweID"].ToString()); if (StrJson != null && StrJson != "") { ReportObj = JsonDeserialize <SpecialReportReport>(StrJson); if (ReportObj.DimensionEntitys != null) { lr.Add(ReportObj); } else { AnswerAddEntity AEntity = MgrServices.DistributeRecordService.GetAnswerAddEntity(AnswerID); string strjosn = ""; string Acodes = AEntity._amount_code; string AnswerJson = AEntity._answeradd_record; string Record = AnswerJson; int Scores = AEntity._answeradd_score; UpdateReportInsert(Acodes, AnswerJson, Record, AName, Scores, out strjosn); ReportObj = JsonDeserialize <SpecialReportReport>(strjosn); lr.Add(ReportObj);//修改 } } else { AnswerAddEntity AEntity = MgrServices.DistributeRecordService.GetAnswerAddEntity(AnswerID); string strjosn = ""; string Acodes = AEntity._amount_code; string AnswerJson = AEntity._answeradd_record; string Record = AnswerJson; int Scores = AEntity._answeradd_score; UpdateReportInsert(Acodes, AnswerJson, Record, AName, Scores, out strjosn); ReportObj = JsonDeserialize <SpecialReportReport>(strjosn); lr.Add(ReportObj);//修改 } RCreatetime = DateTime.Parse(dt.Rows[j]["R_CreateDate"].ToString()); } } builder = new StringBuilder(); //存储路径 rtManager.Items[0].FindControl("check_Item") // fileName = DateTime.Now.ToString("yyyyMMddhhmmss") + new Random(DateTime.Now.Second).Next(10000); fileName = DateTime.Now.ToString("yyyyMMddhhmmss") + "_" + lenght.ToString(); path = Server.MapPath("~/xls_down/" + fileName + ".xls"); file = new FileInfo(path); //创建字符输出流 sw = new StreamWriter(path, true, System.Text.UnicodeEncoding.UTF8); //需要导出的内容 builder.Append("<html><head></head><body><table border=\"1\" cellpadding=\"0\" cellspacing=\"0\" width='98%' >"); //获取的量表维度 if (lr[0].DimensionEntitys.Count > 0) { builder.Append("<tr><td colspan=\"" + (lr[0].DimensionEntitys.Count * 2 + 6) + "\" align=\"center\">" + lr[0].DimensionEntitys[0].AName + "的报告详细</td></tr>"); } else { builder.Append("<tr><td colspan=\"" + (0 * 2 + 6) + "\" align=\"center\">" + lr[0].DimensionEntitys[0].AName + "的报告详细</td></tr>"); } string Acode = lr[0].DimensionEntitys[0].Acodes; //生成表格标题栏 --获取所有该量表的所有维度名称 builder.Append("<tr><td align=\"center\" rowspan=\"2\">用户名</td><td align=\"center\" rowspan=\"2\">真实姓名</td><td align=\"center\" rowspan=\"2\">性别</td><td align=\"center\" rowspan=\"2\">年龄</td><td align=\"center\" rowspan=\"2\">部门</td>"); if (lr[0].DimensionEntitys != null) { if (Acode == "LB_14808297050440") { lr[0].DimensionEntitys.Add(lr[0].DimensionEntitys[0]); lr[0].DimensionEntitys.RemoveAt(0); } if (Acode == "LB_14809330635970") { builder.Append("<td align=\"center\" colspan=\"2\">总评</td>");//"/" + dt_d.Rows[i]["D_Code"] + } else { for (int i = 0; i < lr[0].DimensionEntitys.Count; i++) { builder.Append("<td align=\"center\" colspan=\"2\">" + lr[0].DimensionEntitys[i].WD_Name + "</td>");//"/" + dt_d.Rows[i]["D_Code"] + } } builder.Append("</tr>"); builder.Append("<tr>"); if (Acode == "LB_14809330635970") { builder.Append("<td align=\"center\">原始分</td><td align=\"center\">标准分</td>");//"/" + dt_d.Rows[i]["D_Code"] + } else { for (int k = 0; k < lr[0].DimensionEntitys.Count; k++) { builder.Append("<td align=\"center\">原始分</td><td align=\"center\">标准分</td>");//"/" + dt_d.Rows[i]["D_Code"] + } } builder.Append("</tr>"); if (UserInfodt.Rows.Count > 0) { for (int k = 0; k < UserInfodt.Rows.Count; k++) { int Ages = 0; string Birthday = UserInfodt.Rows[k]["U_Birthday"].ToString(); if (Birthday != null && Birthday != "") { DateTime U_Birthday = DateTime.Parse(UserInfodt.Rows[k]["U_Birthday"].ToString()); Ages = CalculateAgeCorrect(U_Birthday, RCreatetime); } else { Ages = 0; } if (Acode == "LB_14808297050440") { if (k > 0) { lr[k].DimensionEntitys.Add(lr[k].DimensionEntitys[0]); lr[k].DimensionEntitys.RemoveAt(0); } } builder.Append("<tr><td align=\"center\" >" + UserInfodt.Rows[k]["U_LoginName"] + "</td><td align=\"center\">" + UserInfodt.Rows[k]["U_Name"] + "</td><td align=\"center\">" + UserInfodt.Rows[k]["U_Sex"] + "</td><td align=\"center\">" + Ages + "</td><td align=\"center\">" + UserInfodt.Rows[k]["D_name"] + "</td>" + Scorehtml + ""); builder.Append(GetScoreHtml(lr[k])); builder.Append("</tr>"); } } } builder.Append("</table></body></html>"); } else { builder = new StringBuilder(); fileName = DateTime.Now.ToString("yyyyMMddhhmmss") + "_" + lenght.ToString(); path = Server.MapPath("~/xls_down/" + fileName + ".xls"); file = new FileInfo(path); //创建字符输出流 sw = new StreamWriter(path, true, System.Text.UnicodeEncoding.UTF8); //需要导出的内容 builder.Append("<html><head></head><body><table border=\"1\" cellpadding=\"0\" cellspacing=\"0\" width='98%' >"); builder.Append("<tr><td>暂无数据</td></tr>"); builder.Append("</table></body></html>"); } #endregion }