Kullanıcı Aletleri

Site Aletleri


ser.kds

Bu, dökümanın eski bir sürümüdür!


using System;
using System.Collections.Generic;
using System.Data;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;

namespace AHBS2014
{
    public static class KDSIslemleri
    {
        static HttpWebResponse wr;
        static HttpWebRequest rica;
        public static class PerformansSorgulamaTipiYolu
        {
            public static string RaporYoluGenelPerformans = "/shared/LİSTE RAPORLARI/Performans Genel Raporu";
            public static string RaporYoluBebekAsi = "/shared/LİSTE RAPORLARI/Performans Bebek Aşı Raporu";
            public static string RaporYoluBebekIzlem = "/shared/LİSTE RAPORLARI/Performans Bebek İzlem Raporu";
            public static string RaporYoluGebeIzlem = "/shared/LİSTE RAPORLARI/Performans Gebe İzlem Raporu";
            public static string RaporYoluCocukIzlem = "/shared/LİSTE RAPORLARI/Performans Çocuk İzlem Raporu";
        }
        public static class PerformansSorgulamaTipiAdi
        {
            public static string RaporAdiGenelPerformans = "Perf Genel Raporu";
            public static string RaporAdiBebekAsi = "Perf Bebek Aşı Raporu";
            public static string RaporAdiBebekIzlem = "Perf Bebek İzlem Raporu";
            public static string RaporAdiGebeIzlem = "Perf Gebe İzlem Raporu";
            public static string RaporAdiCocukIzlem = "Perf Cocuk İzlem Raporu";
        }
        private static HttpWebRequest mesajolusturKDS(string Uri, string xml)
        {

            HttpWebRequest httpRequest = (HttpWebRequest)WebRequest.Create(Uri);

            // Init HTTP Request
            httpRequest.Method = "POST";

            httpRequest.ContentType = "text/xml; charset=utf-8";


            Stream reqStream = httpRequest.GetRequestStream();
            StreamWriter sw = null;
            sw = new StreamWriter(reqStream, Encoding.UTF8);

            StringBuilder soapRequest = new StringBuilder();

            soapRequest.Append("<soap:Envelope xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\" ");
            soapRequest.Append(" xmlns:wsa=\"http://schemas.xmlsoap.org/ws/2004/08/addressing\" ");
            soapRequest.Append(
                " xmlns:wsse=\"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd\" ");
            soapRequest.Append(
                " xmlns:wsu=\"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd\">");

            // SOAP BODY
            soapRequest.Append("<soap:Body>");

            soapRequest.Append(xml);

            soapRequest.Append("</soap:Body>");

            // END
            soapRequest.Append("</soap:Envelope>");

            sw.Write(soapRequest.ToString().Trim());
            sw.Close();

            reqStream.Close();
            return httpRequest;
        }
        public static string KDSKontrol(string Yil, string Ay, string Sabitler_PerformansSorgulamaTipiYolu, string Sabitler_PerformansSorgulamaTipiAdi, int beklemesuresi)
        {
            try
            {
                string SessionId = @"<logon xmlns=""urn://oracle.bi.webservices/v6""><name>" + KullaniciKarti.AktifKullanici.SAGLIK_NET_KULLANICI_KODU.ToString() + "</name><password>" + KullaniciKarti.AktifKullanici.SAGLIK_NET_SIFRESI + @"</password></logon>";
                wr = null;
                rica = mesajolusturKDS(@"https://kds.sagliknet.saglik.gov.tr/analytics/saw.dll?SoapImpl=nQSessionService", SessionId);
                rica.Timeout = beklemesuresi;
                wr = (HttpWebResponse)rica.GetResponse();
                StreamReader srd = new StreamReader(wr.GetResponseStream());
                SessionId = srd.ReadToEnd();
                wr.Close();
                if (SessionId.Contains(@"<sawsoap:sessionID xsi:type=""xsd:string"">") && SessionId.Contains("</sawsoap:sessionID>"))
                {
                    string[] Parcalanmis = SessionId.Split(new string[] { @"<sawsoap:sessionID xsi:type=""xsd:string"">", "</sawsoap:sessionID>" }, StringSplitOptions.RemoveEmptyEntries);
                    SessionId = Parcalanmis[1];

                    string xml = @"<executeXMLQuery xmlns=""urn://oracle.bi.webservices/v6"">
      <report>
        <reportPath>" + Sabitler_PerformansSorgulamaTipiYolu + @"</reportPath>
        <reportXml />
      </report>
      <outputFormat>SAWRowsetSchemaAndData</outputFormat>
      <executionOptions>
        <async>true</async>
        <maxRowsPerPage>1000</maxRowsPerPage>
        <refresh>true</refresh>
        <presentationInfo>true</presentationInfo>        
      </executionOptions>
      <reportParams>
        <filterExpressions>&lt;sawx:expr xsi:type=""sawx:comparison"" op=""equal"" xmlns:saw=""com.siebel.analytics.web/report/v1.1"" xmlns:sawx=""com.siebel.analytics.web/expression/v1.1"" xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema""&gt; &lt;sawx:expr xsi:type=""sawx:sqlExpression""&gt;""" + Sabitler_PerformansSorgulamaTipiAdi + @""".""Hekim Tc""&lt;/sawx:expr&gt; &lt;sawx:expr xsi:type=""xsd:double""&gt;" + KullaniciKarti.AktifKullanici.SAGLIK_NET_KULLANICI_KODU.ToString() + @"&lt;/sawx:expr&gt;&lt;/sawx:expr&gt;</filterExpressions>
        <filterExpressions>&lt;sawx:expr xsi:type=""sawx:comparison"" op=""equal"" xmlns:saw=""com.siebel.analytics.web/report/v1.1"" xmlns:sawx=""com.siebel.analytics.web/expression/v1.1"" xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema""&gt; &lt;sawx:expr xsi:type=""sawx:sqlExpression""&gt;""Dim Organizasyon"".""Birim Kurum Kodu""&lt;/sawx:expr&gt; &lt;sawx:expr xsi:type=""xsd:double""&gt;" + KullaniciKarti.AktifKullanici.KURUM_KODU + @"&lt;/sawx:expr&gt;&lt;/sawx:expr&gt;</filterExpressions>
        <filterExpressions>&lt;sawx:expr xsi:type=""sawx:comparison"" op=""equal"" xmlns:saw=""com.siebel.analytics.web/report/v1.1"" xmlns:sawx=""com.siebel.analytics.web/expression/v1.1"" xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema""&gt; &lt;sawx:expr xsi:type=""sawx:sqlExpression""&gt;""" + Sabitler_PerformansSorgulamaTipiAdi + @""".""Yıl Ay""&lt;/sawx:expr&gt; &lt;sawx:expr xsi:type=""xsd:double""&gt;" + Yil + Ay + @"&lt;/sawx:expr&gt;&lt;/sawx:expr&gt;</filterExpressions>
      </reportParams>
      <sessionID>" + SessionId + @"</sessionID>
    </executeXMLQuery>";

                    wr = null;
                    try
                    {
                        rica = mesajolusturKDS(@"https://kds.sagliknet.saglik.gov.tr/analytics/saw.dll?SoapImpl=xmlViewService", xml);
                        rica.Timeout = beklemesuresi;
                        wr = (HttpWebResponse)rica.GetResponse();
                        srd = new StreamReader(wr.GetResponseStream());
                        string resulXmlFromWebService = srd.ReadToEnd().Replace("T00:00:00+01:00", "").Replace("T00:00:00+02:00", "").Replace("T00:00:00+03:00", "").Replace("T00:00:00+04:00", "").Replace("T00:00:00+05:00", "").Replace("+01:00<", "+02:00<").Replace("+03:00<", "+02:00<").Replace("+04:00<", "+02:00<").Replace("+05:00<", "+02:00<");
                        wr.Close();
                        return resulXmlFromWebService;
                    }
                    catch (Exception ex)
                    {
                        return "Sorgulama Başarısız\nHata : " + ex.Message;
                    }
                }
                else
                    return "Login Başarısız\nHata : " + SessionId;
            }
            catch (Exception genelex)
            {
                return "Sorgulama Başarısız\nHata : " + genelex.Message;
            }
        }
    }
}
ser.kds.1462627143.txt.gz · Son değiştirilme: 2018/11/28 19:47 (Dışarıdan düzenle)