Exemplo n.º 1
0
            private static Zatrideni.Item[] GetSubjektyDirect(StatniOrganizaceObor obor)
            {
                string[] icos = null;
                string   sql  = "";

                switch (obor)
                {
                case StatniOrganizaceObor.Vse:
                    icos = GetAllSubjektyFromRPP();
                    break;

                case StatniOrganizaceObor.Zdravotni_ustavy:
                case StatniOrganizaceObor.Hasicsky_zachranny_sbor:
                case StatniOrganizaceObor.Krajske_hygienicke_stanice:
                case StatniOrganizaceObor.Krajska_statni_zastupitelstvi:
                case StatniOrganizaceObor.Krajske_soudy:
                case StatniOrganizaceObor.Soudy:
                case StatniOrganizaceObor.Statutarni_mesta:
                case StatniOrganizaceObor.Verejne_vysoke_skoly:
                case StatniOrganizaceObor.Krajska_reditelstvi_policie:
                case StatniOrganizaceObor.Statni_fondy:
                case StatniOrganizaceObor.OSSZ:
                case StatniOrganizaceObor.Kraje_Praha:
                case StatniOrganizaceObor.Zdravotni_pojistovny:
                case StatniOrganizaceObor.Katastralni_urady:
                case StatniOrganizaceObor.Ministerstva:
                case StatniOrganizaceObor.Organizacni_slozky_statu:
                case StatniOrganizaceObor.Dalsi_ustredni_organy_statni_spravy:
                case StatniOrganizaceObor.Celni_urady:
                case StatniOrganizaceObor.Financni_urady:
                case StatniOrganizaceObor.Konzervatore:
                case StatniOrganizaceObor.Mestske_casti_Prahy:
                case StatniOrganizaceObor.OVM_pro_evidenci_skutecnych_majitelu:
                case StatniOrganizaceObor.Obce_III_stupne:
                    icos = GetSubjektyFromRPP((int)obor);
                    break;

                case StatniOrganizaceObor.Vsechny_ustredni_organy_statni_spravy:
                    icos = GetSubjektyFromRPP((int)StatniOrganizaceObor.Dalsi_ustredni_organy_statni_spravy)
                           .Concat(GetSubjektyFromRPP((int)StatniOrganizaceObor.Ministerstva))
                           .ToArray();
                    break;

                case StatniOrganizaceObor.Nemocnice:
                    sql  = @"select distinct ico from (
select f.ICO from Firma f where Jmeno like N'%nemocnice%' and f.IsInRS = 1
union
select distinct f.ico
    from Firma_NACE fn
    join firma f on f.ICO = fn.ICO
    where (nace like '861%' or NACE like '862%') and f.IsInRS = 1
    and f.Kod_PF not in (105, 101, 801, 601)
								
) as f
where f.ICO not in ('70876606','70994226','45274649','05243793','64203450','25916092','60800691','08297517','00212423')";
                    icos = GetSubjektyFromSQL(sql);
                    break;

                case StatniOrganizaceObor.Velke_nemocnice:
                    icos = "00064165,00064173,00064203,00098892,00159816,00179906,00669806,00843989,25488627,26365804,27283933,27661989,65269705,27283518,26000202,00023736,00023884,27256391,61383082,27256537,00023001,27520536,26068877,47813750,00064211,00209805,27660915,00635162,27256456,00090638,00092584,00064190"
                           .Split(',');
                    break;

                case StatniOrganizaceObor.Fakultni_nemocnice:
                    icos = "65269705,00179906,00669806,00098892,00843989,00064165,00064203,00159816,00064173"
                           .Split(',');
                    break;

                case StatniOrganizaceObor.Krajske_spravy_silnic:
                    icos = "00066001,00090450,70947023,70946078,72053119,00080837,70971641,27502988,00085031,70932581,70960399,00095711,26913453,03447286,25396544,60733098"
                           .Split(',');
                    break;

                case StatniOrganizaceObor.Dopravni_podniky:
                    icos = "05792291,25095251,25136046,25137280,00005886,25166115,25164538,25220683,29099846,61058238,48364282,62240935,64053466,06231292,62242504,25013891,47311975,00079642,06873031,25267213,63217066,25512897,25508881,00100790,47676639,05724252,64610250,61974757,60730153"
                           .Split(',');
                    break;

                case StatniOrganizaceObor.Technicke_sluzby:
                    sql  = @"select ico from Firma f where Jmeno like N'technické služby%' and f.IsInRS = 1";
                    icos = GetSubjektyFromSQL(sql);
                    break;

                case StatniOrganizaceObor.Domov_duchodcu:
                    sql  = @"select ico from Firma f where Jmeno like N'%domov důchodců%' and f.IsInRs = 1";
                    icos = GetSubjektyFromSQL(sql);
                    break;

                case StatniOrganizaceObor.Vyjimky_RS:

                    // Poslanecká sněmovna, Senát, Kancelář prezidenta republiky, Ústavní soud, Nejvyšší kontrolní úřad,
                    //Kancelář veřejného ochránce práv a Úřad Národní rozpočtové rady
                    //CNB
                    icos = new string[] { "00006572", "63839407", "48136000", "48513687", "49370227", "70836981", "05553539", "48136450" };
                    break;

                case StatniOrganizaceObor.Ostatni:
                    icos = new string[] { };
                    break;

                default:
                    throw new ArgumentOutOfRangeException();
                }
                bool removeKraj = false;

                switch (obor)
                {
                case StatniOrganizaceObor.Ostatni:
                case StatniOrganizaceObor.Zdravotni_pojistovny:
                case StatniOrganizaceObor.Fakultni_nemocnice:
                case StatniOrganizaceObor.Krajska_statni_zastupitelstvi:
                case StatniOrganizaceObor.Krajske_soudy:
                case StatniOrganizaceObor.Kraje_Praha:
                case StatniOrganizaceObor.Mestske_casti_Prahy:
                case StatniOrganizaceObor.OSSZ:
                case StatniOrganizaceObor.Ministerstva:
                case StatniOrganizaceObor.Organizacni_slozky_statu:
                case StatniOrganizaceObor.Vsechny_ustredni_organy_statni_spravy:
                case StatniOrganizaceObor.Dalsi_ustredni_organy_statni_spravy:
                case StatniOrganizaceObor.Financni_urady:
                case StatniOrganizaceObor.Vyjimky_RS:
                case StatniOrganizaceObor.Verejne_vysoke_skoly:
                case StatniOrganizaceObor.Konzervatore:
                case StatniOrganizaceObor.Krajske_spravy_silnic:
                case StatniOrganizaceObor.OVM_pro_evidenci_skutecnych_majitelu:
                    removeKraj = true;
                    break;

                default:
                    break;
                }

                if (icos.Count() == 0)
                {
                    return new Item[] { }
                }
                ;
                else
                {
                    var ret = new System.Collections.Generic.List <Item>();

                    Devmasters.Batch.Manager.DoActionForAll <string>(icos.Select(m => m.Trim()).Distinct(),
                                                                     ic =>
                    {
                        var f = Firmy.Get(ic);

                        if (f.PatrimStatu())
                        {
                            lock (_getSubjektyDirectLock)
                            {
                                if (!ret.Any(ff => ff.Ico == f.ICO))
                                {
                                    ret.Add(new Item()
                                    {
                                        Ico    = f.ICO,
                                        Jmeno  = f.Jmeno,
                                        KrajId = removeKraj ? "" : f.KrajId,
                                        Kraj   = removeKraj ? "" : CZ_Nuts.Nace2Kraj(f.KrajId, "(neznamý)")
                                    });
                                }
                            }
                        }
                        return(new Devmasters.Batch.ActionOutputData());
                    }, !System.Diagnostics.Debugger.IsAttached);

                    return(ret.ToArray());
                }
            }
Exemplo n.º 2
0
            /*
             * Nemocnice:
             * select distinct f.ICO, f.Jmeno from firma f inner join Firma_NACE fn on f.ICO = fn.ICO where nace like '86%' and f.IsInRS = 1
             *
             */

            public static Zatrideni.Item[] Subjekty(StatniOrganizaceObor obor)
            {
                return(instanceByZatrideni.Get(obor));
            }