private void updateDiagnosis()
        {
            var diagnosis = buildDiagnosis();

            this.Appointment.Diagnosis = diagnosis;
            DiagnosisDAL.UpsertDiagnosis(diagnosis);
        }
示例#2
0
        public void ProcessRequest(HttpContext context)
        {
            StreamReader reader     = new StreamReader(context.Request.InputStream, Encoding.UTF8);
            string       requestStr = reader.ReadToEnd();

            long    record_id;
            JObject jObj = new JObject();

            if (long.TryParse(requestStr, out record_id))
            {
                //获取对自检编号为该整数的医生所有意见
                DiagnosisModel[] diagnoses = DiagnosisDAL.GetAllByRecordId(record_id);
                int nbDiagnoses            = diagnoses.Length;
                jObj.Add("count", nbDiagnoses);
                JArray jArr = new JArray();
                for (int i = 0; i < nbDiagnoses; i++)
                {
                    DiagnosisModel diagnosis = diagnoses[i];
                    DoctorModel    doctor    = DoctorDAL.GetById(diagnosis.Doc_id);
                    JObject        jArrObj   = new JObject();
                    jArrObj.Add("realname", doctor.RealName);
                    jArrObj.Add("time", diagnosis.Time);
                    jArrObj.Add("comment", diagnosis.Result);
                    jArr.Add(jArrObj);
                }
                jObj.Add("content", jArr);
            }
            else
            {
                //添加医生意见
                DiagnosisModel diagnosis = JsonConvert.DeserializeObject <DiagnosisModel>(requestStr);
                if (DiagnosisDAL.Insert(diagnosis))
                {
                    jObj.Add("state", "success");
                }
                else
                {
                    jObj.Add("state", "failed");
                }
            }

            byte[] buf = Encoding.UTF8.GetBytes(jObj.ToString());
            context.Response.OutputStream.Write(buf, 0, buf.Length);
        }
示例#3
0
        /// <summary>
        /// 窗口加载时:通过GET请求的"record_id"参数到数据库取得相应的自检信息并显示
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void Page_Load(object sender, EventArgs e)
        {
            long record_id;

            if (long.TryParse(Request.Params["record_id"], out record_id))
            {
                //调用数据库访问类查询该主键对应的自检记录
                RecordModel  record = RecordDAL.GetById(record_id);
                PhotoModel[] photos = PhotoDAL.GetAllByRecordId(record_id);

                //原图片
                List <string> srcUrls = new List <string>();
                List <string> dstUrls = new List <string>();
                foreach (var photo in photos)
                {
                    srcUrls.Add("~/ImageWebForm.aspx?fileType=src&picName=" + photo.Path);
                    dstUrls.Add("~/ImageWebForm.aspx?fileType=dst&picName=" + photo.Path);
                }

                //将图片绑定到控件上
                dl_srcImgs.DataSource = srcUrls;
                dl_srcImgs.DataBind();

                dl_dstImgs.DataSource = dstUrls;
                dl_dstImgs.DataBind();

                //取得该自检对应图片的所有处理结果
                List <CVResultModel> results = new List <CVResultModel>();
                foreach (var photo in photos)
                {
                    var result = CVResultDAL.GetById(photo.Path);
                    if (result != null)
                    {
                        results.Add(result);
                    }
                }

                //分析处理结果
                float score = ScoreUtil.GetScore(results);

                //结论
                StringBuilder builder = new StringBuilder();
                //builder.AppendFormat("系统分析得分:{0:f2}", score).AppendLine();
                var group = Severity.Group(score);
                switch (group)
                {
                case Severity.SeverityEnum.Normal:
                    builder.AppendLine("牙齿正常,请注意保持");
                    break;

                case Severity.SeverityEnum.Light:
                    builder.AppendLine("有少量龋齿或程度较轻");
                    break;

                case Severity.SeverityEnum.Medium:
                    builder.AppendLine("有一定龋齿或程度中等");
                    break;

                case Severity.SeverityEnum.Severe:
                    builder.AppendLine("有大量龋齿或龋坏严重");
                    break;

                default:
                    break;
                }

                if (group != Severity.SeverityEnum.Normal)
                {
                    builder.AppendLine("可能为色素沉着,牙石或牙垢,保持口腔清洁或前往正规医院洗牙可以让结果更准确");
                }
                lbl_conclusion.Text = builder.ToString().Replace(Environment.NewLine, "<br>");

                //医生意见
                DiagnosisModel[] diagnoses = DiagnosisDAL.GetAllByRecordId(record_id);
                List <string>    comments  = new List <string>();
                foreach (var diagnosis in diagnoses)
                {
                    string item = string.Format("{0} {1}", diagnosis.Time.ToString(), DoctorDAL.GetById(diagnosis.Doc_id).RealName)
                                  + Environment.NewLine + diagnosis.Result;
                    comments.Add(item);
                }
                dl_comments.DataSource = comments;
                dl_comments.DataBind();
            }
            else
            {
                //record_id出错
            }
        }
示例#4
0
 public DiagnosisBL(DiagnosisDAL diagnosisDAL)
 {
     _diagnosisDAL = diagnosisDAL;
 }
示例#5
0
 /// <summary>
 /// Constructor for the DiagnosisController class.
 /// </summary>
 public DiagnosisController()
 {
     this.diagnosisSource = new DiagnosisDAL();
 }