/// <summary> /// 構造函數。 /// </summary> /// <param name="surveys"></param> /// <param name="conclusion"></param> /// <param name="db"></param> public SaveConclusioModel(Surveys surveys, SurveysConclusion conclusion, DbContext db) { Conclusion = conclusion; var template = db.Set <SurveysTemplate>().Find(surveys.TemplateId); UserId = surveys.UserId; SurveysTemplateId = surveys.TemplateId; var question = template.Questions.FirstOrDefault(c => c.QuestionTitle == "姓名"); if (null != question) { Name = surveys.SurveysAnswers.FirstOrDefault(c => c.TemplateId == question.Id)?.Guts; } question = template.Questions.FirstOrDefault(c => c.QuestionTitle == "手机号"); if (null != question) { Mobile = surveys.SurveysAnswers.FirstOrDefault(c => c.TemplateId == question.Id)?.Guts; } question = template.Questions.FirstOrDefault(c => c.QuestionTitle == "性别"); if (null != question) { Sex = surveys.SurveysAnswers.FirstOrDefault(c => c.TemplateId == question.Id)?.Guts; } //写入方剂Id var idTp = surveys.ThingPropertyItems.FirstOrDefault(c => c.Name == "PrescriptionId"); PrescriptionId = idTp?.Value; //写入方剂数据 idTp = conclusion.ThingPropertyItems.FirstOrDefault(c => c.Name == CnMedicineAlgorithmBase.CnPrescriptionesName); if (null != idTp) { Prescriptiones = EntityUtility.FromJson <List <CnPrescription> >(idTp.Value); } }
/// <summary> /// 获取初诊结果。 /// </summary> /// <param name="surveys"></param> /// <param name="db"></param> /// <returns></returns> protected override SurveysConclusion GetResultCore(Surveys surveys, ApplicationDbContext db) { SurveysConclusion result = new SurveysConclusion() { SurveysId = surveys.Id, }; db.Set <SurveysAnswerTemplate>().Load(); var answerTemplates = db.Set <SurveysAnswerTemplate>(); var coll = GetFirstCore(surveys, db); result.Conclusion = string.Join(",", coll.CnDrugResult.Select(c => $"{c.Item1}{c.Item2}")); SetCnPrescriptiones(result, coll.CnDrugResult); result.ExtendedInfomation = coll.GetDescription(); result.Description = $"{string.Join(",", coll.InsomniaCnDrugConversions.Select(c => c.CnMedicineConclusions).Distinct())}"; if (string.IsNullOrWhiteSpace(result.Description)) { result.Description = "(无有效病症输入)"; } return(result); }
protected override SurveysConclusion GetResultCore(Surveys surveys, ApplicationDbContext db) { var result = new SurveysConclusion() { SurveysId = surveys.Id }; result.GeneratedIdIfEmpty(); var sy = db.SurveysTemplates.Where(c => c.Name == CnName).FirstOrDefault(); if (null == sy) { return(null); } SetSigns(surveys.SurveysAnswers, db); result.Conclusion = string.Join(",", Results.Select(c => $"{c.Item1}{c.Item2}")); SetCnPrescriptiones(result, Results); if (string.IsNullOrWhiteSpace(result.Conclusion)) { result.Conclusion = "(患者身体健康,无需用药。)"; } return(result); }