Beispiel #1
0
        public override Patient_DTO GetPatient(string patientId)
        {
            try
            {
                var patientUrl = Config.HttpConfigModel.PatientUrl;
                CommunicationHelper.RecordTrace("GetPatient", $"开始获取病人{patientId}的信息");
                Patient_DTO patient = null;
                if (_helper == null)
                {
                    return(null);
                }
                CommunicationHelper.RecordTrace("GetPatient", $"获取病人信息地址为{patientUrl}");
                string url = string.Empty;

                if (patientUrl.EndsWith("=") || patientUrl.EndsWith("/"))
                {
                    url = patientUrl + patientId;
                }
                else
                {
                    url = patientUrl + "/" + patientId;
                }

                var finalUrl = AddToken(url);

                _helper.NeedUrlDecode = NeedUrlDecode;
                patient = _helper.HttpGetData <Patient_DTO>(finalUrl);
                return(patient);
            }
            catch (KRException ex)
            {
                throw new Exception(ex.Msg);
            }
        }
Beispiel #2
0
        public Patient_DTO GetPatient(string patientId)
        {
            var patient = new Patient_DTO()
            {
                PatientID      = patientId,
                Name           = "路飞",
                Age            = 27,
                Address        = "河北廊坊",
                Birthday       = DateTime.Now.AddYears(-30).ToShortDateString(),
                City           = "廊坊",
                IdentityType   = 0,
                CredentialName = "身份证",
                FirstName      = "Zhang",
                Work           = "IT",
                Gender         = 1,
                Nation         = "汉",
                CustomerFields = new List <CustomerFields>()
                {
                    new CustomerFields()
                    {
                        PatientID = patientId, DataType = "string", FieldName = "别名", FieldValue = "海贼王"
                    }
                }
            };

            return(patient);
        }
Beispiel #3
0
        public override Patient_DTO GetPatient(string patientId)
        {
            try
            {
                Patient_DTO patient     = null;
                string      sql         = Config.PatientMapModel.GetPatientInfoSql(_dbConfig.DatabaseSoft);
                string      targetCheck = Config.PatientMapModel.GetTargetCheckByCheckType(1);

                sql = string.Format(sql, patientId, targetCheck);
                Trace.WriteLine(string.Format("根据patientId:{0}去数据库取病人信息,Sql 语句为:{2}", patientId, sql));

                DataTable table = _dbHelper.ExecuteQuery(sql);

                if (table == null || table.Rows.Count == 0)
                {
                    Trace.WriteLine("没有查到病人信息");
                    return(null);
                }

                DataRow dr = table.AsEnumerable().FirstOrDefault();
                if (table.Rows.Count == 1)
                {
                    PopOpen = false;
                    patient = BuildDTO(dr);
                }
                else if (table.Rows.Count > 1)
                {
                    PopView = table.DefaultView;
                    PopOpen = true;
                }
                return(patient);
            }
            catch (Exception ex)
            {
                throw new Exception("获取病人信息失败");
            }
        }
Beispiel #4
0
        private Patient_DTO BuildDTO(DataRow p_dataRow)
        {
            Patient_DTO patient = null;

            if (p_dataRow == null)
            {
                return(null);
            }
            try
            {
                DataColumnCollection rowColumns = p_dataRow.Table.Columns;

                for (int i = 0; i < rowColumns.Count; i++)
                {
                    DataColumn dc = rowColumns[i];

                    var obj = p_dataRow[dc.ColumnName];
                    if (obj is DBNull)
                    {
                        continue;
                    }
                    switch (dc.ColumnName.ToUpper())
                    {
                    case "PATIENTID":
                        patient.PatientID = obj.ToString();
                        break;

                    case "NAME":
                        patient.FullName = obj.ToString();
                        break;

                    case "GENDER":
                        string gender = obj.ToString();
                        switch (gender)
                        {
                        case "0":
                        case "男":
                            patient.Gender = 0;
                            break;

                        case "1":
                        case "女":
                            patient.Gender = 1;
                            break;
                        }
                        break;

                    case "BIRTHDAY":
                        patient.Birthday = obj.ToString();
                        break;

                    case "AGE":
                        patient.Age = int.Parse(obj.ToString());
                        break;

                    case "REQUESTDOCTOR":
                        patient.RequestDoctor = obj.ToString();
                        break;

                    case "REQUESTDEPOT":
                        patient.RequestDepartment = obj.ToString();
                        break;

                    case "REQUESTDATE":
                        patient.RequestDate = obj.ToString();
                        break;

                    case "EXAMDEPARTMENT":
                        patient.ExamDepartment = obj.ToString();
                        break;

                    case "EXAMDOCTOR":
                        patient.ExamDoctor = obj.ToString();
                        break;

                    case "DIAGNOSTICIANDOCTOR":
                        patient.DiagnosticianDoctor = obj.ToString();
                        break;
                    }
                }
                return(patient);
            }
            catch (Exception ex)
            {
                ClientHelper.TraceException("DBClient.BuildDTO", "数据映射失败", "p_dataRow数据出错");
            }
            return(null);
        }