示例#1
0
        //根据日期和调用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;
        }