public Bbxx GetBbxx(string sqxh) { Bbxx bbxx = new Bbxx(); string connStr = ConfigurationManager.AppSettings[BbxxOdbcConnStr]; string sql = $"select * from v_PATHOLOGICAL_apply v where v.apply_no='{sqxh}'"; var dtBbxx = OdbcOracleHelper.GetTable(connStr, sql); dtBbxx.DefaultView.Sort = "item_no"; StringBuilder sb = new StringBuilder(); if (dtBbxx.Rows.Count > 0) { sb.Append("<BBLB>"); foreach (DataRow row in dtBbxx.Rows) { sb.Append("<row "); sb.Append($" F_BBXH = '{row["item_no"]}' "); sb.Append($" F_BBTMH = '' "); sb.Append($" F_BBMC = '{row["item_name"]}' "); sb.Append($" F_CQBW = ''"); sb.Append($" F_BZ = ''"); sb.Append($" F_LTSJ = '' "); sb.Append($" F_GDSJ = ''"); sb.Append($" F_JSSJ = '' "); sb.Append($" F_JSY = ''"); sb.Append($" F_BBZT = '' "); sb.Append($" F_BBPJ = ''"); sb.Append($" F_PJR = ''"); sb.Append($" F_PJSJ = ''"); sb.Append("/>"); bbxx.Bbmc += row["item_name"] + ","; } sb.Append("</BBLB>"); } bbxx.Bbmc = bbxx.Bbmc.TrimEnd(','); bbxx.Xml = sb.ToString(); return(bbxx); }
/// <summary> /// 在视图中找住院病人信息 /// </summary> /// <param name="operType">1-住院 0-门诊</param> /// <param name="patientNo"></param> /// <returns></returns> public static RequestInfoResult GetInpatientFromOtherInterface(string patientNo) { RequestInfoResult result = null; #region 住院获取 { string sql = $@"select * from ats_guest.INPATIENT where 1=1 and PATIENT_NO='{patientNo}' and rownum=1 order by oper_date desc"; log.WriteMyLog("尝试获取住院视图患者信息,sql:\r\n" + sql); var dt = OdbcOracleHelper.GetTable(odbcConnStr, sql); if (dt.Rows.Count > 0) { var dr = dt.Rows[0]; result = new RequestInfoResult(); result.PatientStyle = "2"; //住院 result.InHospitalID = dr["PATIENT_NO"].ToString(); // result.SheetID = dr["INPATIENT_NO"].ToString(); result.JZLSH = dr["INPATIENT_NO"].ToString(); result.PatientNo = patientNo; result.PatientName = dr["NAME"].ToString(); result.PatientSex = dr["SEX_CODE"].ToString(); try { var birthdate = Convert.ToDateTime(dr["BIRTHDATE"]); result.Patientage = (DateTime.Now.Year - birthdate.Year).ToString(); } catch { } result.PatientBedNum = dr["BED_NO"].ToString(); result.DepartMent = dr["DEPT_NAME"].ToString(); result.LinChuangZhenDuan = dr["DIAG_NAME1"].ToString(); result.DetailPatientStyleText = dr["PACT_NAME"].ToString(); result.PatientAddress = dr["HOME"].ToString(); result.PatientTel = dr["HOME_TEL"].ToString(); result.ReqSheetDoctor = dr["CHARGE_DOC_NAME"].ToString(); } else { result = null;//住院没找到,结果设置为null,继续用门诊接口找 } } #endregion if (result == null) { #region 门诊获取 string sql2 = $@"select * from ats_guest.V_MEC_OUTPATIENTINFO where MZH='{patientNo}' and YXBZ='1' and rownum=1 order by GHRQ desc"; log.WriteMyLog("尝试获取门诊视图信息,sql:\r\n" + sql2); var dt2 = OdbcOracleHelper.GetTable(odbcConnStr, sql2); if (dt2.Rows.Count > 0) { var dr2 = dt2.Rows[0]; result = new RequestInfoResult(); result.PatientNo = patientNo; result.PatientStyle = "0"; //门诊 result.OutHospitalID = dr2["MZH"].ToString(); result.JZLSH = dr2["MZH"].ToString(); // result.SheetID = dr["INPATIENT_NO"].ToString(); // result.PatientNo = dr["PATIENT_NO"].ToString(); result.PatientName = dr2["XM"].ToString(); result.PatientSex = dr2["XB"].ToString(); try { var birthdate = Convert.ToDateTime(dr2["CSRQ"]); result.Patientage = (DateTime.Now.Year - birthdate.Year).ToString(); } catch { } result.DepartMent = dr2["KSM"].ToString(); result.DetailPatientStyleText = dr2["HTDWM"].ToString(); result.PatientAddress = dr2["LXDZ"].ToString(); result.PatientTel = dr2["LXDH"].ToString(); //result.ReqSheetDoctor = dr["CHARGE_DOC_NAME"].ToString(); } #endregion } if (result == null) { #region 体检获取 WebReferenceForDaiJiaTiJian.Request req = new WebReferenceForDaiJiaTiJian.Request(); req.requestHeader = new WebReferenceForDaiJiaTiJian.RequestHeader(); req.requestHeader.sender = "2.16.840.1.113883.4.487.2.1.10"; req.requestHeader.receiver = "2.16.840.1.113883.4.487.2.1.4"; req.requestHeader.requestTime = DateTime.Now.ToString("yyyyMMddHH24mmss"); req.requestHeader.msgType = "physicalexam"; req.requestHeader.msgId = "MN20140909000009"; req.requestHeader.msgPriority = "Normal"; req.requestHeader.msgVersion = "1.0.0"; req.requestBody = $@" <![CDATA[ <PATIENT_ID>{patientNo}</PATIENT_ID> ]]> "; WebReferenceForDaiJiaTiJian.MessageRouteServiceSoapImplService sr = new MessageRouteServiceSoapImplService(); log.WriteMyLog("尝试从体检WebService获取信息,入参:\r\n" + req.requestBody + "\r\nUrl:" + sr.Url); try { Response respones = sr.sendMessageSync(req); log.WriteMyLog("获取体检电子申请单信息成功:" + respones.responseBody); var responseBody = respones.responseBody.Trim().Replace(@"<List>", "").Replace(@"</List>", ""); var exam = XmlUtil.Deserialize <physicalexam>(responseBody); result = exam.GetRequestInfoResult(); } catch (Exception e) { log.WriteMyLog("从电子申请单WebService获取信息失败:\r\n" + e); } //SheetID(电子申请单ID)为空,代表没找到申请单 if (string.IsNullOrEmpty(result.SheetID)) { result = null; } return(result); #endregion } return(result); }