示例#1
0
        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);
        }
示例#2
0
        /// <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);
        }