/// <summary> /// 调用获取个人信息接口 /// </summary> /// <param name="hObj"></param> /// <returns></returns> private bool GetPersonInfo(OutpatientClass hObj) { String sOut; AddLog("调用获取个人信息接口"); AddLog("输入参数:无"); hObj.GetPersonInfo(out sOut); AddLog("输出数据:"); AddLog(sOut); XmlDocument xmlDoc = GetXmlDoc(sOut); bool bRet = CheckOutputState(xmlDoc); if (bRet) { string sIC_NO, sPersonName; XmlNode dataNode = GetNodeFromPath(xmlDoc.DocumentElement, "output/ic"); sIC_NO = dataNode.SelectNodes("ic_no")[0].InnerText; sPersonName = dataNode.SelectNodes("personname")[0].InnerText; AddLog("解析XML结果:\r\n医保应用号:" + sIC_NO + "\r\n姓名:" + sPersonName); } xmlDoc = null; AddLog("\r\n"); return(bRet); }
/// <summary> /// 调用获取个人信息接口 /// </summary> /// <param name="sDll"></param> /// <returns></returns> public ResultClass GetPersonInfo(OutpatientClass sDll, string cardNo) { ResultClass resultClassTemp = new ResultClass(); string sMome = ""; bool bRet = false; string sOut = ""; DataTable dt = new DataTable(); _sColumns.Clear(); //ic卡 _sColumns.Add("card_no"); //社保卡卡号 _sColumns.Add("ic_no"); _sColumns.Add("id_no"); _sColumns.Add("personname"); _sColumns.Add("sex"); _sColumns.Add("birthday"); _sColumns.Add("fromhosp"); _sColumns.Add("fromhospdate"); _sColumns.Add("fundtype"); _sColumns.Add("isyt"); _sColumns.Add("jclevel"); _sColumns.Add("hospflag"); //网络信息 _sColumns.Add("persontype"); _sColumns.Add("isinredlist"); _sColumns.Add("isspecifiedhosp"); _sColumns.Add("ischronichosp"); _sColumns.Add("personcount"); _sColumns.Add("chroniccode"); dt = CreatDataTable(_sColumns); AddLog("调用获取个人信息接口"); AddLog("输入参数:无"); sDll.GetPersonInfo(out sOut); AddLog("输出数据:"); AddLog(sOut); XmlDocument xmlDoc = GetXmlDoc(sOut); CheckOutputState(xmlDoc, out bRet, out sMome); if (bRet) { DataRow dr = dt.NewRow(); XmlNode dataNode = GetNodeFromPath(xmlDoc.DocumentElement, "output/ic"); XmlNode dataNodeNet = GetNodeFromPath(xmlDoc.DocumentElement, "output/net"); foreach (string s in _sColumns) { XmlNodeList xNodeList = dataNode.SelectNodes(s); if (xNodeList.Count > 0) { dr[s] = xNodeList[0].InnerText; } else { dr[s] = dataNodeNet.SelectNodes(s)[0].InnerText; } } dt.Rows.Add(dr); AddLog("解析获取个人信息接口完成"); List <PatientInfo> patientInfoList = new List <PatientInfo>(); foreach (DataRow drI in dt.Rows) { PatientInfo patientInfo = new PatientInfo(); patientInfo.CardNo = drI["card_no"].ToString(); patientInfo.IcNo = drI["ic_no"].ToString(); patientInfo.IdNo = drI["id_no"].ToString(); patientInfo.PersonName = drI["personname"].ToString(); patientInfo.Sex = drI["sex"].ToString(); patientInfo.Birthday = drI["birthday"].ToString(); patientInfo.FromHosp = drI["fromhosp"].ToString(); patientInfo.FromHospDate = drI["fromhospdate"].ToString(); patientInfo.FundType = drI["fundtype"].ToString(); patientInfo.IsYT = drI["isyt"].ToString(); patientInfo.JcLevel = drI["jclevel"].ToString(); patientInfo.HospFlag = drI["hospflag"].ToString(); patientInfo.PersonType = drI["persontype"].ToString(); patientInfo.IsInredList = drI["isinredlist"].ToString(); patientInfo.IsSpecifiedHosp = drI["isspecifiedhosp"].ToString(); patientInfo.IsChronicHosp = drI["ischronichosp"].ToString(); patientInfo.PersonCount = drI["personcount"].ToString(); patientInfo.ChronIcCode = drI["chroniccode"].ToString(); patientInfoList.Add(patientInfo); } resultClassTemp.oResult = patientInfoList; } xmlDoc = null; resultClassTemp.bSucess = bRet; resultClassTemp.sRemarks = sMome; return(resultClassTemp); }