//根据日期和调用webservice查询数据 /// <summary> /// 根据日期和调用webservice查询数据 /// </summary> /// <param name="dateBegin">开始时间</param> /// <param name="dateEnd">结束时间</param> /// <returns>OPInfoListForSpecimen数据字典集合</returns> private List<Dictionary<string, string>> GetOPInfoListForSpecimenByTimeRangeAndToDicList(string dateBegin, string dateEnd) { //创建病人字典集合。 List<Dictionary<string, string>> oPListForSpecimensDicList = new List<Dictionary<string, string>>(); RuRo.BLL.WebService.ForCenterLabService centerLabServiceSoapClient = new RuRo.BLL.WebService.ForCenterLabService(); try { string oPInfoListForSpecimenStr = centerLabServiceSoapClient.GetOPInfoListForSpecimen(dateBegin, dateEnd); if (oPInfoListForSpecimenStr != null && oPInfoListForSpecimenStr != "")//有数据并且不为null { //02.将数据转换成xml数据 XmlDocument getDataFromHospitalXml = HospitalXmlStrHelper.HospitalXmlStrToXmlDoc(oPInfoListForSpecimenStr); if (getDataFromHospitalXml != null)//有数据并且能转换成xml文档 { if (getDataFromHospitalXml.HasChildNodes) { XmlNode xmlNode = getDataFromHospitalXml.SelectSingleNode("/OPListForSpecimenRt/ResultCode"); //创建临时集合保存多个人的数据 Dictionary<string, string> oPListForSpecimenTempDic = new Dictionary<string, string>(); if (xmlNode.InnerText == "0") //获取数据成功 { //OPListForSpecimens/OPListForSpecimen XmlNodeList xmlNodeList = getDataFromHospitalXml.SelectNodes("//OPListForSpecimens/*"); foreach (XmlNode item in xmlNodeList) { string tempOPListForSpecimenXml = item.OuterXml; oPListForSpecimenTempDic = ConvertOPListForSpecimenStrToDic(tempOPListForSpecimenXml); oPListForSpecimensDicList.Add(oPListForSpecimenTempDic); } } else if (xmlNode.InnerText == "-1") //获取数据失败 { oPListForSpecimenTempDic.Clear(); oPListForSpecimenTempDic.Add("OPListForSpecimenRt", FpJsonHelper.SerializationStr(getDataFromHospitalXml.SelectSingleNode("/OPListForSpecimenRt/ResultContent").InnerText)); oPListForSpecimensDicList.Add(oPListForSpecimenTempDic); } } } } } catch (Exception) { oPListForSpecimensDicList.Clear(); } return oPListForSpecimensDicList; }