Пример #1
0
        private static int Create_KartaKontrolna(SPListItem task, string KEY, SPList list)
        {
            SPListItem newItem = list.AddItem();

            newItem["KEY"]       = KEY;
            newItem["selKlient"] = Get_LookupId(task, "selKlient");
            newItem["selOkres"]  = Get_LookupId(task, "selOkres");

            BLL.Models.Klient k = new Models.Klient(task.Web, Get_LookupId(task, "selKlient"));

            Set_KartaKontrolna_InitValues(newItem, k);

            //ustaw CT
            if (k.TypKlienta == "KSH")
            {
                newItem["ContentType"] = "Karta kontrolna KSH";
            }
            else
            {
                newItem["ContentType"] = "Karta kontrolna KPiR";
            }

            newItem.SystemUpdate();

            return(newItem.ID);
        }
Пример #2
0
        public static string AddCompanyName(string temat, SPListItem item)
        {
            if (item != null)
            {
                if (item.ContentType.Name == "KPiR" || item.ContentType.Name == "KSH")
                {
                    int klientId = Get_LookupId(item, "selKlient");
                    if (klientId > 0)
                    {
                        BLL.Models.Klient k = new Klient(item.Web, klientId);
                        return string.Format("{0} {1}", temat, k.PelnaNazwaFirmy);
                    }
                }

                if (item.ContentType.Name == "Prośba o dokumenty"
                    || item.ContentType.Name == "Prośba o przesłanie wyciągu bankowego"
                    || item.ContentType.Name == "Rozliczenie podatku dochodowego"
                    || item.ContentType.Name == "Rozliczenie podatku dochodowego spółki"
                    || item.ContentType.Name == "Rozliczenie podatku VAT"
                    || item.ContentType.Name == "Rozliczenie z biurem rachunkowym"
                    || item.ContentType.Name == "Rozliczenie ZUS")
                {
                    int klientId = Get_LookupId(item, "selKlient");
                    if (klientId > 0)
                    {
                        BLL.Models.Klient k = new Klient(item.Web, klientId);
                        return string.Format("{0} {1}", temat, k.PelnaNazwaFirmy);
                    }
                }
            }
            return temat;
        }
Пример #3
0
        public static string AddCompanyName(SPWeb web, string temat, int klientId)
        {
            if (klientId > 0)
            {
                BLL.Models.Klient k = new Klient(web, klientId);
                return string.Format("{0} {1}", temat, k.PelnaNazwaFirmy);
            }

            return temat;
        }
Пример #4
0
 internal static void Create_VAT_Form(SPWeb web, int okresId, SPListItem klientItem, Klient iok)
 {
     if (BLL.Tools.Has_SerwisAssigned(klientItem, "selSewisy", "VAT-*"))
     {
         string key = BLL.tabZadania.Define_KEY(ctVAT, klientItem.ID, okresId);
         if (BLL.tabZadania.Check_KEY_IsAllowed(key, web, 0))
         {
             BLL.tabZadania.Create_ctVAT_Form(web, ctVAT, klientItem.ID, okresId, key, klientItem, iok);
         }
     }
 }
Пример #5
0
        private static void Import_DaneOFakturze(SPWeb web, SPListItem item, int okresId)
        {
            int klientId = 0;

            string nazwaSkrocona = item["_Klient"] != null ? item["_Klient"].ToString().Trim() : string.Empty;

            if (!String.IsNullOrEmpty(nazwaSkrocona))
            {
                klientId = tabKlienci.Get_KlientId(item.Web, nazwaSkrocona);
            }

            if (klientId > 0)
            {
                //item["Title"] = tabKlienci.Get_KlientById(item.Web, klientId).Title;
                item["Title"] = String.Empty;
                item["selKlient"] = klientId;
                item["selOkres"] = okresId;

                DateTime dataWystawienia = item["cDataWystawienia"] != null ? DateTime.Parse(item["cDataWystawienia"].ToString()) : new DateTime();
                Klient iok = new Klient(web, klientId);
                DateTime terminPlatnosci = new DateTime();
                terminPlatnosci = dataWystawienia.AddDays(iok.TerminPlatnosci);
                item["colBR_TerminPlatnosci"] = terminPlatnosci;

                item.SystemUpdate();

                int zadanieId = tabZadania.Get_NumerZadaniaBR(item.Web, klientId, okresId);

                if (zadanieId > 0)
                {
                    item["selZadanie"] = zadanieId;

                    string numerFaktury = item["colBR_NumerFaktury"] != null ? item["colBR_NumerFaktury"].ToString() : string.Empty;
                    double wartoscDoZaplaty = item["colBR_WartoscDoZaplaty"] != null ? Double.Parse(item["colBR_WartoscDoZaplaty"].ToString()) : 0;



                    tabZadania.Update_InformacjeOWystawionejFakturze(web, zadanieId, numerFaktury, wartoscDoZaplaty, terminPlatnosci, dataWystawienia);

                    item.SystemUpdate();
                }
            }
            else
            {
                item["Title"] = "niezgodna nazwa pliku";
                item["selKlient"] = 0;
                item["selOkres"] = 0;
                item["selZadanie"] = 0;

                item.SystemUpdate();
            }
        }
Пример #6
0
 public FakturaDoZaplaty(SPWeb web, int klientId)
 {
     BLL.Models.Klient iok = new Klient(web, klientId);
     this.KlientId = klientId;
     this.Web = web;
     this.DrukWplatyWymagany = iok.DrukWplatyWymagany;
     this.PrzypomnienieOTerminiePlatnosciWymagane = iok.PrzypomnienieOTerminiePlatnosciWymagane;
     this.EmailOdbiorcy = iok.Email;
     this.NazwaKlienta = iok.PelnaNazwaFirmy;
     this.Wyslana = false;
     this.KK_Zaktualizowana = false;
     this.KK_Id = 0;
 }
Пример #7
0
        public static void Update_ZUS_Data(SPListItem item)
        {
            string KEY    = Create_KEY(item);
            int    formId = Get_KartaKontrolnaId(item, KEY);

            SPListItem form = Get_KartaKontrolnaById(item.Web, formId);

            Copy_Field(item, form, "colFormaOpodakowania_ZUS");
            Copy_Field(item, form, "colZUS_SP_Skladka");
            Copy_Field(item, form, "colZUS_ZD_Skladka");
            Copy_Field(item, form, "colZUS_FP_Skladka");

            Copy_Field(item, form, "colZatrudniaPracownikow");
            if (BLL.Tools.Get_Flag(item, "colZatrudniaPracownikow"))
            {
                Copy_Field(item, form, "colZUS_PIT-4R_Zalaczony");
                Copy_Field(item, form, "colZUS_PIT-4R");
                Copy_Field(item, form, "colVAT_eDeklaracja");
                Copy_Field(item, form, "colZUS_PIT-8AR_Zalaczony");
                Copy_Field(item, form, "colZUS_PIT-8AR");
                Copy_Field(item, form, "colZUS_ListaPlac_Zalaczona");
                Copy_Field(item, form, "colZUS_Rachunki_Zalaczone");

                //ustaw termin płątności na podstawie miesięcznego terminu podatku dochodowego
                BLL.Tools.Set_Date(form, "colZUSPD_TerminPlatnosciPodatku", BLL.tabOkresy.Get_TerminPlatnosciByOkresId(item.Web, "colPD_TerminPlatnosciPodatku", BLL.Tools.Get_LookupId(item, "selOkres")));
            }

            Copy_Field(item, form, "colZUS_TerminPlatnosciSkladek");

            Copy_Field(item, "selOperator", form, "selOperator_ZUS");

            Copy_Field(item, "colNotatka", form, "colUwagiKadrowe");

            BLL.Models.Klient k = new Models.Klient(item.Web, Get_LookupId(item, "selKlient"));
            if (k.DataRozpoczeciaDzialalnosci != new DateTime())
            {
                form["colDataRozpoczeciaDzialalnosci"] = k.DataRozpoczeciaDzialalnosci;
            }

            Copy_Field(item, "colNotatka", form, "colUwagiKadrowe");

            Copy_Id(item, form, "selZadanie_ZUS");
            Copy_Field(item, "enumStatusZadania", form, "colZUS_StatusZadania");
            BLL.Tools.Set_Text(form, "colZUS_StatusWysylki", string.Empty);

            form.SystemUpdate();
        }
Пример #8
0
        public static string Append_EmailCC(SPWeb web, int klientId, string kopiaDla)
        {
            BLL.Models.Klient iok = new BLL.Models.Klient(web, klientId);

            if (!string.IsNullOrEmpty(iok.KopiaDla) &&
                !kopiaDla.Contains(iok.KopiaDla))
            {
                //dodaj kopię dla
                kopiaDla = kopiaDla + ";" + iok.KopiaDla;
                if (kopiaDla.StartsWith(";"))
                {
                    kopiaDla = kopiaDla.Substring(1, kopiaDla.Length - 1);
                }
            }

            return(kopiaDla);
        }
Пример #9
0
        private static string _ReplaceKnownMarkers(SPWeb web, string bodyHTML, int klientId)
        {
            Models.Klient iok = new Models.Klient(web, klientId);
            StringBuilder sb  = new StringBuilder(bodyHTML);

            sb.Replace("[[NazwaFirmy]]", iok.NazwaFirmy);
            sb.Replace("[[Telefon]]", iok.Telefon);
            sb.Replace("[[PelnaNazwaFirmy]]", iok.PelnaNazwaFirmy);
            sb.Replace("[[OsobaDoKontaktu]]", iok.OsobaDoKontaktu);
            sb.Replace("[[NIP]]", iok.NIP);
            sb.Replace("[[Regon]]", iok.Regon);
            sb.Replace("[[NazwaPrezentowana]]", iok.NazwaPrezentowana);
            sb.Replace("[[Miejscowosc]]", iok.Miejscowosc);
            sb.Replace("[[Email]]", iok.Email);
            sb.Replace("[[KopiaDla]]", iok.KopiaDla);

            return(sb.ToString());
        }
Пример #10
0
        /// <summary>
        /// kopiowanie wartości PDS na kartę kontrolną
        /// </summary>
        public static void Update_PDS_Data(SPListItem item)
        {
            string KEY    = Create_KEY(item);
            int    formId = Get_KartaKontrolnaId(item, KEY);

            SPListItem form = Get_KartaKontrolnaById(item.Web, formId);

            Copy_PDFields(item, form);
            Copy_Field(item, form, "colIloscDokWBPKN");
            Copy_Field(item, form, "colIloscFaktur");
            Copy_Field(item, form, "colKosztyNKUP");
            Copy_Field(item, form, "colKosztyNKUP_WynWyl");
            Copy_Field(item, form, "colKosztyNKUP_ZUSPlatWyl");
            Copy_Field(item, form, "colKosztyNKUP_FakWyl");
            Copy_Field(item, form, "colKosztyNKUP_PozostaleKoszty");
            Copy_Field(item, form, "colKosztyWS");
            Copy_Field(item, form, "colKosztyWS_WynWlaczone");
            Copy_Field(item, form, "colKosztyWS_ZUSPlatWlaczone");
            Copy_Field(item, form, "colKosztyWS_FakWlaczone");
            Copy_Field(item, form, "colPrzychodyNP");
            Copy_Field(item, form, "colPrzychodyNP_DywidendySpO");
            Copy_Field(item, form, "colPrzychodyNP_Inne");
            Copy_Field(item, form, "colPrzychodyZwolnione");
            Copy_Field(item, form, "colStrataDoOdliczenia");

            Copy_Field(item, form, "colDochodStrataZInnychSp");
            Copy_Field(item, form, "colPodatekCIT19");
            Copy_Field(item, form, "colWplaconaSZ");
            Copy_Field(item, form, "colWplaconeZaliczkiOdPoczatkuRoku");
            //Copy_Field(item, form, "colPD_WartoscDoZaplaty"); - uwzglęnione w PD

            Copy_Field(item, form, "colZyskStrataNetto");

            Copy_Field(item, form, "colStronaWn");
            Copy_Field(item, form, "colStronaMa");
            Copy_Field(item, form, "colStronaWn-StronaMa");


            BLL.Models.Klient k = new Models.Klient(item.Web, Get_LookupId(item, "selKlient"));
            form["enumFormaPrawna"] = k.FormaPrawna;

            form.SystemUpdate();
        }
Пример #11
0
        private static bool _IsAllowedToSendPODReminder(SPWeb web, int klientId)
        {
            // dla zadanego klineta sprawdź czy ma ustawiony Email jako preferowaną formę komunikacji i czy ma adres mailowy

            Models.Klient iok = new Models.Klient(web, klientId);
            if (iok.PreferowanaFormaKontaktu.Equals("Email") &&
                !string.IsNullOrEmpty(iok.Email))
            {
            }
            else
            {
                return(false);
            }

            // dla bieżącej daty poszukaj ostatniego aktywnego okresu

            int targetOkresId = BLL.tabOkresy.Get_ActiveOkresId(web);

            if (targetOkresId > 0)
            {
            }
            else
            {
                return(false);
            }

            // dla okresu odszukaj w kartach kontrolnych rekord klineta i sprawdź wartość flagi potwierdzenia otrzymania dokumentów

            SPListItem kk = BLL.tabKartyKontrolne.Get_KK_ByKlientId_ByOkresId(web, klientId, targetOkresId);

            if (kk != null)
            {
                // jeżeli flaga ustawiona -> zablokuj wysyłkę

                if (BLL.Tools.Get_Flag(kk, "colPotwierdzenieOdbioruDokumentow").Equals(true))
                {
                    return(false);
                }
            }

            return(true);
        }
Пример #12
0
        private static int Get_KartaKontrolnaId(SPWeb web, int klientId, int okresId, string KEY)
        {
            SPList     list = web.Lists.TryGetList(targetList);
            SPListItem item = list.Items.Cast <SPListItem>()
                              .Where(i => i["KEY"].ToString() == KEY)
                              .FirstOrDefault();

            if (item != null)
            {
                return(item.ID);
            }
            else
            {
                SPListItem newItem = list.AddItem();
                newItem["KEY"]       = KEY;
                newItem["selKlient"] = klientId;
                newItem["selOkres"]  = okresId;

                BLL.Models.Klient k = new Models.Klient(web, klientId);

                newItem["enumRozliczeniePD"]        = k.RozliczeniePD;
                newItem["enumRozliczenieVAT"]       = k.RozliczenieVAT;
                newItem["colFormaOpodatkowaniaPD"]  = k.FormaOpodatkowaniaPD;
                newItem["colFormaOpodatkowaniaVAT"] = k.FormaOpodatkowaniaVAT;
                newItem["colFormaOpodakowania_ZUS"] = k.FormaOpodatkowaniaZUS;

                //ustaw CT
                if (k.TypKlienta == "KSH")
                {
                    newItem["ContentType"] = "Karta kontrolna KSH";
                }
                else
                {
                    newItem["ContentType"] = "Karta kontrolna KPiR";
                }

                newItem.SystemUpdate();

                return(newItem.ID);
            }
        }
Пример #13
0
        private static int Get_KartaKontrolnaId(SPWeb web, int klientId, int okresId, string KEY, Models.Klient iok)
        {
            if (iok == null)
            {
                iok = new Models.Klient(web, klientId);
            }

            SPList     list = web.Lists.TryGetList(targetList);
            SPListItem item = list.Items.Cast <SPListItem>()
                              .Where(i => string.IsNullOrEmpty(i["KEY"].ToString()) && i["KEY"].ToString().Equals(KEY))
                              .FirstOrDefault();

            if (item != null)
            {
                return(item.ID);
            }
            else
            {
                return(0);
            }
        }
Пример #14
0
        public static void Update_ZUS_Data(SPListItem item)
        {
            string KEY    = Create_KEY(item);
            int    formId = Get_KartaKontrolnaId(item, KEY);

            SPListItem form = Get_KartaKontrolnaById(item.Web, formId);

            Copy_Field(item, form, "colFormaOpodakowania_ZUS");
            Copy_Field(item, form, "colZUS_SP_Skladka");
            Copy_Field(item, form, "colZUS_ZD_Skladka");
            Copy_Field(item, form, "colZUS_FP_Skladka");
            Copy_Field(item, form, "colZUS_TerminPlatnosciSkladek");
            Copy_Field(item, form, "colZatrudniaPracownikow");
            Copy_Field(item, form, "colZUS_PIT-4R_Zalaczony");
            Copy_Field(item, form, "colZUS_PIT-4R");
            Copy_Field(item, form, "colVAT_eDeklaracja");
            Copy_Field(item, form, "colZUS_PIT-8AR_Zalaczony");
            Copy_Field(item, form, "colZUS_PIT-8AR");
            Copy_Field(item, form, "colZUS_ListaPlac_Zalaczona");
            Copy_Field(item, form, "colZUS_Rachunki_Zalaczone");

            Copy_Field(item, "selOperator", form, "selOperator_ZUS");
            Copy_Field(item, "colUwagi", form, "Uwagi_ZUS");
            Copy_Field(item, form, "colZUS_Rachunki_Zalaczone");
            Copy_Field(item, form, "colUwagiKadrowe");

            BLL.Models.Klient k = new Models.Klient(item.Web, Get_LookupId(item, "selKlient"));
            if (k.DataRozpoczeciaDzialalnosci != null &&
                k.DataRozpoczeciaDzialalnosci != new DateTime())
            {
                form["colDataRozpoczeciaDzialalnosci"] = k.DataRozpoczeciaDzialalnosci;
            }

            Copy_Field(item, "colNieWysylajDoKlienta", form, "_NieWysylajDoKlienta_ZUS");

            Copy_Id(item, form, "_ZadanieID_ZUS");

            form.SystemUpdate();
        }
Пример #15
0
        public static void Update_PDS_Data(SPListItem item)
        {
            string KEY = Create_KEY(item);
            int formId = Get_KartaKontrolnaId(item, KEY);

            SPListItem form = Get_KartaKontrolnaById(item.Web, formId);
            Copy_PDFields(item, form);
            Copy_Field(item, form, "colIloscDokWBPKN");
            Copy_Field(item, form, "colIloscFaktur");
            Copy_Field(item, form, "colKosztyNKUP");
            Copy_Field(item, form, "colKosztyNKUP_WynWyl");
            Copy_Field(item, form, "colKosztyNKUP_ZUSPlatWyl");
            Copy_Field(item, form, "colKosztyNKUP_FakWyl");
            Copy_Field(item, form, "colKosztyNKUP_PozostaleKoszty");
            Copy_Field(item, form, "colKosztyWS");
            Copy_Field(item, form, "colKosztyWS_WynWlaczone");
            Copy_Field(item, form, "colKosztyWS_ZUSPlatWlaczone");
            Copy_Field(item, form, "colKosztyWS_FakWlaczone");
            Copy_Field(item, form, "colPrzychodyNP");
            Copy_Field(item, form, "colPrzychodyNP_DywidendySpO");
            Copy_Field(item, form, "colPrzychodyNP_Inne");
            Copy_Field(item, form, "colPrzychodyZwolnione");
            Copy_Field(item, form, "colWplaconaSZ");
            Copy_Field(item, form, "colZyskStrataNetto");

            Copy_Field(item, form, "colStrataDoOdliczenia");
            Copy_Field(item, form, "colStronaWn");
            Copy_Field(item, form, "colStronaMa");
            Copy_Field(item, form, "colStronaWn-StronaMa");
            Copy_Field(item, form, "colWplaconeZaliczkiOdPoczatkuRoku");
            Copy_Field(item, form, "colIleDoDoplaty");

            BLL.Models.Klient k = new Models.Klient(item.Web, Get_LookupId(item, "selKlient"));
            form["enumFormaPrawna"] = k.FormaPrawna;

            form.SystemUpdate();
        }
Пример #16
0
        /// <summary>
        /// Sprawdza czy dla danego wspólnika w danym okresie jest zdefiniowana karta rozliczeniowa PDS lub PDW
        /// Jeżeli jest to inicjuje procedurę aktualizacji karty
        /// Jeżeli nie to zwraca komunikat że karta rozliczeniowa nie zostałą zainicjowana
        /// </summary>
        public static void Execute_UpdateRequest(SPWeb web, int wspolnikId, int okresId, out string comments)
        {
            comments = string.Empty;

            int zadanieId = 0;

            //sprawdź czy istnieje zadanie typu PDS

            zadanieId = BLL.tabZadania.Get_ZadanieByKEY(web,
                                                        BLL.tabZadania.Define_KEY("Rozliczenie podatku dochodowego spółki", wspolnikId, okresId));

            if (zadanieId <= 0)
            {
                //sprawdź czy istnieje zadanie typu PDW

                zadanieId = BLL.tabZadania.Get_ZadanieByKEY(web,
                                                            BLL.tabZadania.Define_KEY("Rozliczenie podatku dochodowego wspólnika", wspolnikId, okresId));
            }

            if (zadanieId > 0)
            {
                // zainicjuj procedurę rozliczenia
                BLL.tabZadania.Execute_Update_DochodyZInnychSpolek(web, wspolnikId, okresId, zadanieId, out comments);
            }
            else
            {
                BLL.Models.Klient iok   = new Models.Klient(web, wspolnikId);
                SPListItem        okres = BLL.tabOkresy.Get_OkresById(web, okresId);

                // karta rozliczeniowa PDS/PDW nie została znaleziona >>> wyślij komunikat
                StringBuilder sb = new StringBuilder(comments);
                sb.AppendFormat("<div>Brak zadania rozliczenia podatku dochodowego wspólnika (PDS|PDW) dla klienta {0} w okresie {1}</div>",
                                iok.PelnaNazwaFirmy, okres.Title);

                comments = sb.ToString();
            }
        }
Пример #17
0
        private static bool _IsAllowedToSendPODReminder(SPWeb web, int klientId)
        {
            // dla zadanego klineta sprawdź czy ma ustawiony Email jako preferowaną formę komunikacji i czy ma adres mailowy

            Models.Klient iok = new Models.Klient(web, klientId);
            if (iok.PreferowanaFormaKontaktu.Equals("Email")
                && !string.IsNullOrEmpty(iok.Email)) { }
            else return false;

            // dla bieżącej daty poszukaj ostatniego aktywnego okresu

            int targetOkresId = BLL.tabOkresy.Get_ActiveOkresId(web);
            if (targetOkresId > 0) { }
            else return false;

            // dla okresu odszukaj w kartach kontrolnych rekord klineta i sprawdź wartość flagi potwierdzenia otrzymania dokumentów

            SPListItem kk = BLL.tabKartyKontrolne.Get_KK_ByKlientId_ByOkresId(web, klientId, targetOkresId);
            if (kk != null)
            {
                // jeżeli flaga ustawiona -> zablokuj wysyłkę

                if (BLL.Tools.Get_Flag(kk, "colPotwierdzenieOdbioruDokumentow").Equals(true)) return false;

            }

            return true;
        }
Пример #18
0
 public static string Get_PelnyAdresFirmyById(SPWeb web, int klientId)
 {
     BLL.Models.Klient k = new Models.Klient(web, klientId);
     return string.Format("{0}, {1} {2}", k.Adres, k.KodPocztowy, k.Miejscowosc);
 }
Пример #19
0
        public static string Get_NazwaFirmyById(SPWeb web, int klientId)
        {
            BLL.Models.Klient k = new Models.Klient(web, klientId);
            return k.PelnaNazwaFirmy;

        }
Пример #20
0
        public static void Create_ctBR_Form(SPWeb web, string ct, int klientId, int okresId, string key)
        {
            Klient iok = new Klient(web, klientId);

            SPList list = web.Lists.TryGetList(targetList);

            SPListItem item = list.AddItem();
            item["ContentType"] = ct;
            item["selKlient"] = klientId;
            item["selOkres"] = okresId;
            item["KEY"] = key;

            //procedura

            string procName = string.Format(": {0}", ct);
            item["selProcedura"] = tabProcedury.Ensure(web, procName);
            item["Title"] = procName;

            //numer konta biura

            BiuroRachunkowe br = new BiuroRachunkowe(web, okresId);
            item["colBR_Konto"] = br.Konto;
            if (br.TerminPrzekazania > new DateTime())
            {
                item["colBR_TerminPrzekazania"] = br.TerminPrzekazania;
                item["colTerminRealizacji"] = br.TerminPrzekazania;
            }

            //flagi

            Flagi fl = new Flagi(web, klientId);

            item["colPrzypomnienieOTerminiePlatnos"] = fl.PrzypomnienieOTerminiePlatnosci;
            item["colDrukWplaty"] = fl.GenerowanieDrukuWplaty;

            //uwagi 
            item["colUwagi"] = iok.Uwagi;

            //domyślny operator
            int operatorId = iok.OperatorId_Audyt;
            if (operatorId > 0)
            {
                item["selOperator"] = operatorId;
                Set_KontoOperatora(item, operatorId);
            }

            item.SystemUpdate();
        }
Пример #21
0
 private static void Ensure(ref Models.Klient iok)
 {
     throw new NotImplementedException();
 }
Пример #22
0
        private static void Create_ZUS_Form(SPWeb web, int klientId, int okresId,bool isTylkoZdrowotna, bool isChorobowa, bool isPracownicy, double skladkaSP, double skladkaZD, double skladkaFP, DateTime terminPlatnosci, DateTime terminPrzekazania)
        {
            try
            {
                string key = tabZadania.Define_KEY(ctZUS, klientId, okresId);
                if (tabZadania.Check_KEY_IsAllowed(key, web, 0))
                {
                    string zus_sp_konto = admSetup.GetValue(web, "ZUS_SP_KONTO");
                    string zus_zd_konto = admSetup.GetValue(web, "ZUS_ZD_KONTO");
                    string zus_fp_konto = admSetup.GetValue(web, "ZUS_FP_KONTO");

                    Klient iok = new Klient(web, klientId);

                    tabZadania.Create_ctZUS_Form(web, ctZUS, klientId, okresId, key, isTylkoZdrowotna, isChorobowa, isPracownicy, skladkaSP, skladkaZD, skladkaFP, terminPlatnosci, terminPrzekazania, zus_sp_konto, zus_zd_konto, zus_fp_konto, iok);
                }
            }
            catch (Exception ex)
            {
#if DEBUG
                throw ex;
#else
                BLL.Logger.LogEvent(web.Url, ex.ToString() + " KlientId= " + klientId.ToString());
                var result = ElasticEmail.EmailGenerator.ReportError(ex, web.Url, "KlientId=" + klientId.ToString());
#endif

            }
        }
Пример #23
0
        /// <summary>
        /// obsługuje 3 typy formatek w zależności od wybranej opcji wysyłki
        /// </summary>
        private void Manage_CMD_WyslijWynik_PD(SPListItem item, OpcjaWysylkiPD opcjaWyslki)
        {
            string cmd = GetCommand(item);
            int klientId = item["selKlient"] != null ? new SPFieldLookupValue(item["selKlient"].ToString()).LookupId : 0;

            if (klientId > 0
                && cmd == ZATWIERDZ)
            {
                //string nadawca = new SPFieldUserValue(item.Web, item["Editor"].ToString()).User.Email;

                //string nadawca = Get_WlacicielZadania(item);
                //string kopiaDla = Get_KopiaDlaEdytora(item, nadawca);

                string nadawca = Get_CurrentUser(item);
                //string kopiaDla = Get_WlacicielZadania(item);
                string kopiaDla = string.Empty;

                string odbiorca = BLL.tabKlienci.Get_EmailById(item.Web, new SPFieldLookupValue(item["selKlient"].ToString()).LookupId);

                bool KopiaDoNadawcy = false;
                bool KopiaDoBiura = true;
                string temat = string.Empty;
                string tresc = string.Empty;
                string trescHTML = string.Empty;

                BLL.Models.Klient iok = new Klient(item.Web, klientId);
                string firma = BLL.tabKlienci.Get_NazwaFirmyById(item.Web, klientId);

                string okresTemat;
                string okres = item["selOkres"] != null ? new SPFieldLookupValue(item["selOkres"].ToString()).LookupValue : string.Empty;
                okresTemat = okres;

                if (!iok.TypKlienta.Equals("Firma zewnętrzna"))
                {

                    //podstawowa obsługa szablonu

                    switch (Get_String(item, "colPD_OcenaWyniku"))
                    {
                        case "Dochód":
                            BLL.dicSzablonyKomunikacji.Get_TemplateByKod(item, "PD_DOCHOD_TEMPLATE.Include", out temat, out trescHTML, nadawca);
                            //jeżeli wartość do zapłaty = 0 wtdy zastąp tekst formułką i ukryj tabelkę z płatnościami
                            if (GetValue(item, "colPD_WartoscDoZaplaty") == 0)
                                trescHTML = trescHTML.Replace("___NOTIFICATION___", BLL.dicSzablonyKomunikacji.Get_TemplateByKod(item, "PD_DOCHOD_0_NOTIFICATION", false));
                            else
                                trescHTML = trescHTML.Replace("___NOTIFICATION___", "WARTOŚĆ DO ZAPŁATY");
                            break;
                        case "Strata":
                            BLL.dicSzablonyKomunikacji.Get_TemplateByKod(item, "PD_STRATA_TEMPLATE.Include", out temat, out trescHTML, nadawca);
                            break;
                    }

                    string lt = BLL.dicSzablonyKomunikacji.Get_TemplateByKod(item, "PD_LEADING_TEXT", false);

                    if (iok.TypKlienta == "Osoba fizyczna")
                    {
                        firma = "wspólnika " + firma;
                    }
                    else
                    {
                        firma = "firmy " + firma;
                    }

                    lt = lt.Replace("___FIRMA___", firma);

                    //opis okresu rozliczeniowego

                    okres = item["selOkres"] != null ? new SPFieldLookupValue(item["selOkres"].ToString()).LookupValue : string.Empty;

                    if (Get_String(item, "enumRozliczeniePD") == "Kwartalnie")
                    {
                        okresTemat = BLL.Tools.Get_KwartalDisplayName(okres);
                        okres = "kwartał " + okresTemat;
                    }
                    else
                    {
                        okresTemat = okres;
                        okres = "miesiąc " + okresTemat;
                    }
                    lt = lt.Replace("___OKRES___", okres);
                    trescHTML = trescHTML.Replace("___PD_LEADING_TEXT___", lt);

                    //VAT alert
                    string va = string.Empty;
                    int okresId = Get_LookupId(item, "selOkres");
                    int vatZadanieId = BLL.tabZadania.Get_NumerZadaniaVAT(item.Web, klientId, okresId);
                    if (vatZadanieId > 0)
                    {
                        va = BLL.dicSzablonyKomunikacji.Get_TemplateByKod(item, "PD_VAT_ALERT_TEXT", false);
                    }
                    trescHTML = trescHTML.Replace("___PD_VAT_ALERT_TEXT___", va);

                    //uzupełnia temat kodem klienta i okresu
                    temat = AddSpecyfikacja(item, temat, okresTemat);

                }
                else
                {
                    // obsługa szablonu w przypadku firmy zewnętrznej

                    switch (Get_String(item, "colPD_OcenaWyniku"))
                    {
                        case "Dochód":
                            BLL.dicSzablonyKomunikacji.Get_TemplateByKod(item, "PD_DOCHOD_FZ_TEMPLATE.Include", out temat, out trescHTML, nadawca);
                            break;
                        case "Strata":
                            BLL.dicSzablonyKomunikacji.Get_TemplateByKod(item, "PD_STRATA_FZ_TEMPLATE.Include", out temat, out trescHTML, nadawca);
                            break;
                    }

                    string lt = BLL.dicSzablonyKomunikacji.Get_TemplateByKod(item, "PD_LEADING_TEXT_FZ", false);

                    //opis okresu rozliczeniowego
                    okres = "miesiąc " + okresTemat;

                    lt = lt.Replace("___OKRES___", okres);
                    trescHTML = trescHTML.Replace("___PD_LEADING_TEXT___", lt);

                    //uzupełnia temat kodem klienta i okresu
                    temat = AddSpecyfikacja(item, temat, okresTemat);
                }

                //uzupełnia dane w formatce PD_TEMPLATE
                StringBuilder sb = new StringBuilder(trescHTML);

                sb.Replace("___colPD_OcenaWyniku___", Get_String(item, "colPD_OcenaWyniku"));
                sb.Replace("___colPD_WartoscDochodu___", Format_Currency(item, "colPD_WartoscDochodu"));
                sb.Replace("___colPD_WysokoscStraty___", Format_Currency(item, "colPD_WartoscStraty")); //nazwa kolumny rozbieżna
                sb.Replace("___colFormaOpodatkowaniaPD___", Get_String(item, "colFormaOpodatkowaniaPD"));
                sb.Replace("___colPD_WartoscDoZaplaty___", Format_Currency(item, "colPD_WartoscDoZaplaty"));
                sb.Replace("___colPD_Konto___", Get_String(item, "colPD_Konto"));
                sb.Replace("___colPD_TerminPlatnosciPodatku___", Format_Date(item, "colPD_TerminPlatnosciPodatku"));

                string info2 = string.Empty;
                string info = item["colInformacjaDlaKlienta"] != null ? item["colInformacjaDlaKlienta"].ToString() : string.Empty;
                //dodaj informację o z załącznikach w/g ustawionych flag

                //dodaj specyfikację dochodów z innych spółek
                string sinfo = BLL.Tools.Get_Text(item, "_Specyfikacja");
                if (!string.IsNullOrEmpty(sinfo)) info = "<b>Powyższa informacja uwzględnia rozliczenie spółek:</b><br>" + sinfo + "<br>";

                if (Get_String(item, "colPD_OcenaWyniku") == "Dochód"
                && (item["colDrukWplaty"] != null ? (bool)item["colDrukWplaty"] : false))
                {
                    if (GetValue(item, "colPD_WartoscDoZaplaty") > 0)
                    {
                        info2 = info2 + string.Format(templateR, "Druk wpłaty");
                    }
                }

                if (!string.IsNullOrEmpty(info2))
                {
                    info2 = string.Format(templateH, info2);
                    info = info + "<br>" + info2;
                }

                sb.Replace("___colInformacjaDlaKlienta___", info);

                //ukrywanie zbędnych elementów
                string ocena = Get_String(item, "colPD_OcenaWyniku");
                switch (ocena)
                {
                    case "Dochód":
                        if (GetValue(item, "colPD_WartoscDoZaplaty") > 0)
                            sb.Replace("___Display_T_Platnosc___", string.Empty);
                        break;
                    case "Strata":

                        break;
                    default:

                        break;
                }
                //czyszczenie parametrów
                sb.Replace("___Display_T_Platnosc___", "none");
                sb.Replace("___OpisDochodu_Straty___", string.Empty);
                sb.Replace("___colPD_WartoscDochodu_Straty___", string.Empty);

                trescHTML = sb.ToString();

                DateTime planowanaDataNadania = item["colTerminWyslaniaInformacji"] != null ? DateTime.Parse(item["colTerminWyslaniaInformacji"].ToString()) : new DateTime();

                odbiorca = Check_NieWysylacDoKlientaFlag(item, nadawca, odbiorca);

                BLL.tabWiadomosci.AddNew(item.Web, item, nadawca, odbiorca, kopiaDla, KopiaDoNadawcy, KopiaDoBiura, temat, tresc, trescHTML, planowanaDataNadania, item.ID, klientId, Marker.Ignore);

                //obsługa remindera
                if (hasPrzypomnienieOTerminiePlatnosci(item))
                {
                    KopiaDoNadawcy = false;
                    KopiaDoBiura = false;

                    DateTime terminPlatnosci = Get_Date(item, "colPD_TerminPlatnosciPodatku");

                    if (Get_String(item, "colPD_OcenaWyniku") == "Dochód")
                    {
                        if (GetValue(item, "colPD_WartoscDoZaplaty") > 0)
                        {
                            if (!iok.TypKlienta.Equals("Firma zewnętrzna"))
                            {
                                //ustaw reminder jeżeli nie jest to firma zewnętrzna

                                nadawca = BLL.admSetup.GetValue(item.Web, "EMAIL_BIURA");
                                BLL.dicSzablonyKomunikacji.Get_TemplateByKod(item, "PD_DOCHOD_REMINDER_TEMPLATE.Include", out temat, out trescHTML, nadawca);
                                temat = Update_Data(temat, terminPlatnosci);
                                temat = BLL.Tools.AddCompanyName(temat, item);

                                //leading reminder text
                                string lrt = BLL.dicSzablonyKomunikacji.Get_TemplateByKod(item, "PD_LEADING_REMINDER_TEXT", false);
                                if (item.ContentType.Name == "Osoba fizyczna")
                                {
                                    firma = "wspólnika " + firma;
                                }
                                else
                                {
                                    firma = "firmy " + firma;
                                }
                                lrt = lrt.Replace("___FIRMA___", firma);
                                lrt = lrt.Replace("___OKRES___", okres);
                                trescHTML = trescHTML.Replace("___PD_LEADING_REMINDER_TEXT___", lrt);

                                //trailing reminder text
                                string trt = BLL.dicSzablonyKomunikacji.Get_TemplateByKod(item, "PD_TRAILING_REMINDER_TEXT", false);
                                trt = trt.Replace("___DATA___", DateTime.Now.ToShortDateString()); //zakłada że wysyłka oryginalnej wiadomości wyjdzie w dniu zlecenia
                                trescHTML = trescHTML.Replace("___PD_TRAILING_REMINDER_TEXT___", trt);

                                //aktualizacja danych z tabelki
                                sb = new StringBuilder(trescHTML);
                                sb.Replace("___colFormaOpodatkowaniaPD___", Get_String(item, "colFormaOpodatkowaniaPD"));
                                sb.Replace("___colPD_WartoscDoZaplaty___", Format_Currency(item, "colPD_WartoscDoZaplaty"));
                                sb.Replace("___colPD_Konto___", Get_String(item, "colPD_Konto"));
                                sb.Replace("___colPD_TerminPlatnosciPodatku___", Format_Date(item, "colPD_TerminPlatnosciPodatku"));

                                trescHTML = sb.ToString();

                                planowanaDataNadania = Calc_ReminderTime(item, terminPlatnosci);

                                //nie wysyłaj przypomnienia jeżeli krócej niż 3 dni do terminu
                                if (planowanaDataNadania.CompareTo(DateTime.Now.AddDays(3)) > 0)
                                {
                                    BLL.tabWiadomosci.AddNew(item.Web, item, nadawca, odbiorca, kopiaDla, KopiaDoNadawcy, KopiaDoBiura, temat, tresc, trescHTML, planowanaDataNadania, item.ID, klientId, Marker.Ignore);
                                }
                            }
                        }
                    }
                }

            }

        }
Пример #24
0
        public static void Create_ctZUS_Form(SPWeb web, string ct, int klientId, int okresId, string key, bool isTylkoZdrowotna, bool isChorobowa, bool isPracownicy, double skladkaSP, double skladkaZD, double skladkaFP, DateTime terminPlatnosci, DateTime terminPrzekazania, string zus_sp_konto, string zus_zd_konto, string zus_fp_konto, Klient iok)
        {
            SPList list = web.Lists.TryGetList(targetList);

            Flagi fl = new Flagi(web, klientId);

            SPListItem item = list.AddItem();
            item["ContentType"] = ct;
            item["selKlient"] = klientId;
            item["selOkres"] = okresId;
            item["KEY"] = key;
            item["colZatrudniaPracownikow"] = iok.ZatrudniaPracownikow;

            //procedura
            string procName = string.Format(": {0}", ct);
            item["selProcedura"] = tabProcedury.Ensure(web, procName);
            item["Title"] = procName;

            //jeżeli ZUS-PRAC to nie wypełniaj wysokości składek
            if (!hasKlientMaAktywnySerwis(item, "ZUS-PRAC"))
            {
                item["colZUS_SP_Skladka"] = skladkaSP;
                item["colZUS_ZD_Skladka"] = skladkaZD;
                item["colZUS_FP_Skladka"] = skladkaFP;
            }

            item["colZUS_TerminPlatnosciSkladek"] = terminPlatnosci;

            KontaZUS konta = admSetup.GetKontaZUS(web);

            item["colZUS_SP_Konto"] = konta.KontoSP;
            item["colZUS_ZD_Konto"] = konta.KontoZD;
            item["colZUS_FP_Konto"] = konta.KontoFP;
            item["colZUS_TerminPrzekazaniaWynikow"] = terminPrzekazania;

            //flagi
            item["colPrzypomnienieOTerminiePlatnos"] = fl.PrzypomnienieOTerminiePlatnosci;
            item["colDrukWplaty"] = fl.GenerowanieDrukuWplaty;
            item["colAudytDanych"] = fl.AudytDanych;

            //uwagi 
            item["colUwagiKadrowe"] = iok.UwagiKadrowe;
            item["colUwagi"] = iok.Uwagi;

            //termin realizacji
            item["colTerminRealizacji"] = item["colZUS_TerminPrzekazaniaWynikow"];

            if (iok.FormaOpodatkowaniaZUS != "Nie dotyczy")
            {
                item["colZUS_Opcja"] = iok.FormaOpodatkowaniaZUS;
            }
            item["colFormaOpodakowania_ZUS"] = iok.FormaOpodatkowaniaZUS;
            item["selOddzialZUS"] = iok.OddzialZUSId;
            item["colOsobaDoKontaktu"] = iok.OsobaDoKontaktu;
            item["colTelefon"] = iok.Telefon;
            item["colEmail"] = iok.Email;
            item["colAdres"] = iok.Adres;
            item["colKodPocztowy"] = iok.KodPocztowy;
            item["colMiejscowosc"] = iok.Miejscowosc;

            //forma opodatkowania ZUS


            // przypisz domyślnego operatora
            int operatorId = iok.OperatorId_Kadry;
            if (operatorId > 0)
            {
                item["selOperator"] = operatorId;
                Set_KontoOperatora(item, operatorId);
            }

            item.SystemUpdate();
        }
Пример #25
0
        public static string Append_EmailCC(SPWeb web, int klientId, string kopiaDla)
        {
            BLL.Models.Klient iok = new BLL.Models.Klient(web, klientId);

            if (!string.IsNullOrEmpty(iok.KopiaDla)
                && !kopiaDla.Contains(iok.KopiaDla))
            {
                //dodaj kopię dla
                kopiaDla = kopiaDla + ";" + iok.KopiaDla;
                if (kopiaDla.StartsWith(";")) kopiaDla = kopiaDla.Substring(1, kopiaDla.Length - 1);
            }

            return kopiaDla;
        }
Пример #26
0
        public static void Create_ctVAT_Form(SPWeb web, string ct, int klientId, int okresId, string key, DateTime terminPlatnosci, DateTime terminPrzekazania, bool isKwartalnie)
        {
            Klient iok = new Klient(web, klientId);

            if (iok.FormaOpodatkowaniaVAT == "Nie podlega")
            {
                return; //nie generuj formatki
            }

            SPList list = web.Lists.TryGetList(targetList);

            if (list != null)
            {

                SPListItem item = list.AddItem();
                item["ContentType"] = ct;
                item["selKlient"] = klientId;
                item["selOkres"] = okresId;
                item["KEY"] = key;

                //procedura

                string procName = string.Format(": {0}", ct);
                item["selProcedura"] = tabProcedury.Ensure(web, procName);
                item["Title"] = procName;

                //numery kont i nazwa urzędu

                //KontaKlienta k = new KontaKlienta(web, klientId);

                item["colVAT_Konto"] = iok.NumerRachunkuVAT;
                item["selUrzadSkarbowy"] = iok.UrzadSkarbowyVATId;

                //terminy
                item["colVAT_TerminPlatnosciPodatku"] = terminPlatnosci;
                item["colVAT_TerminPrzekazaniaWynikow"] = terminPrzekazania;

                //flagi

                Flagi fl = new Flagi(web, klientId);

                item["colPrzypomnienieOTerminiePlatnos"] = fl.PrzypomnienieOTerminiePlatnosci;
                item["colDrukWplaty"] = fl.GenerowanieDrukuWplaty;
                item["colAudytDanych"] = fl.AudytDanych;

                //rozliczenie
                if (isKwartalnie)
                {
                    item["enumRozliczenieVAT"] = "Kwartalnie";
                }
                else
                {
                    item["enumRozliczenieVAT"] = "Miesięcznie";
                }

                //uwagi 
                item["colUwagi"] = iok.Uwagi;

                //termin realizacji

                item["colTerminRealizacji"] = terminPrzekazania;

                item["colFormaOpodatkowaniaVAT"] = iok.FormaOpodatkowaniaVAT;
                item["colOsobaDoKontaktu"] = iok.OsobaDoKontaktu;
                item["colTelefon"] = iok.Telefon;
                item["colEmail"] = iok.Email;
                item["colAdres"] = iok.Adres;
                item["colKodPocztowy"] = iok.KodPocztowy;
                item["colMiejscowosc"] = iok.Miejscowosc;

                int operatorId = iok.OperatorId_Podatki;
                if (operatorId > 0)
                {
                    item["selOperator"] = operatorId;
                    Set_KontoOperatora(item, operatorId);
                }

                //przenieś wartość nadwyżki z poprzedniej deklaracji
                int preOkresId;
                if (isKwartalnie)
                {
                    preOkresId = BLL.tabOkresy.Get_PoprzedniOkresKwartalnyIdById(web, okresId);
                }
                else
                {
                    preOkresId = BLL.tabOkresy.Get_PoprzedniOkresIdById(web, okresId);
                }
                
                if (preOkresId > 0)
                {
                    item["colVAT_WartoscNadwyzkiZaPoprzedniMiesiac"] = BLL.tabKartyKontrolne.Get_WartoscNadwyzkiDoPrzeniesienia(web, klientId, preOkresId);
                }

                item.SystemUpdate();
            }

        }
Пример #27
0
        private static int Get_KartaKontrolnaId(SPWeb web, int klientId, int okresId, string KEY, Models.Klient iok)
        {
            if (iok == null)
            {
                iok = new Models.Klient(web, klientId);
            }

            SPList list = web.Lists.TryGetList(targetList);
            SPListItem item = list.Items.Cast<SPListItem>()
                .Where(i => i["KEY"].ToString().Equals(KEY))
                .FirstOrDefault();
            if (item != null)
            {
                return item.ID;
            }
            else
            {
                return 0;
            }
        }
Пример #28
0
        public static void Update_ZUS_Data(SPListItem item)
        {
            string KEY = Create_KEY(item);
            int formId = Get_KartaKontrolnaId(item, KEY);

            SPListItem form = Get_KartaKontrolnaById(item.Web, formId);
            Copy_Field(item, form, "colFormaOpodakowania_ZUS");
            Copy_Field(item, form, "colZUS_SP_Skladka");
            Copy_Field(item, form, "colZUS_ZD_Skladka");
            Copy_Field(item, form, "colZUS_FP_Skladka");

            Copy_Field(item, form, "colZatrudniaPracownikow");
            if (BLL.Tools.Get_Flag(item, "colZatrudniaPracownikow"))
            {
                Copy_Field(item, form, "colZUS_PIT-4R_Zalaczony");
                Copy_Field(item, form, "colZUS_PIT-4R");
                Copy_Field(item, form, "colVAT_eDeklaracja");
                Copy_Field(item, form, "colZUS_PIT-8AR_Zalaczony");
                Copy_Field(item, form, "colZUS_PIT-8AR");
                Copy_Field(item, form, "colZUS_ListaPlac_Zalaczona");
                Copy_Field(item, form, "colZUS_Rachunki_Zalaczone");

                //ustaw termin płątności na podstawie miesięcznego terminu podatku dochodowego
                BLL.Tools.Set_Date(form, "colZUSPD_TerminPlatnosciPodatku", BLL.tabOkresy.Get_TerminPlatnosciByOkresId(item.Web, "colPD_TerminPlatnosciPodatku", BLL.Tools.Get_LookupId(item, "selOkres")));
            }

            Copy_Field(item, form, "colZUS_TerminPlatnosciSkladek");

            Copy_Field(item, "selOperator", form, "selOperator_ZUS");

            Copy_Field(item, "colNotatka", form, "colUwagiKadrowe");

            BLL.Models.Klient k = new Models.Klient(item.Web, Get_LookupId(item, "selKlient"));
            if (k.DataRozpoczeciaDzialalnosci!=new DateTime())
            {
                form["colDataRozpoczeciaDzialalnosci"] = k.DataRozpoczeciaDzialalnosci;
            }

            Copy_Field(item, "colNotatka", form, "colUwagiKadrowe");

            Copy_Id(item, form, "selZadanie_ZUS");
            Copy_Field(item, "enumStatusZadania", form, "colZUS_StatusZadania");
            BLL.Tools.Set_Text(form, "colZUS_StatusWysylki", string.Empty);

            form.SystemUpdate();
        }
Пример #29
0
        private bool Update_GBW(SPWeb web, SPListItem item, string ct)
        {
            bool result = false;
            string targetFileNameLeading = "DRUK WPŁATY__";

            UsunPodobneZalaczniki(item, targetFileNameLeading);

            if (item["colDrukWplaty"] != null && (bool)item["colDrukWplaty"])
            {
                string klient = item["selKlient"] != null ? new SPFieldLookupValue(item["selKlient"].ToString()).LookupValue : string.Empty;
                int klientId = item["selKlient"] != null ? new SPFieldLookupValue(item["selKlient"].ToString()).LookupId : 0;

                BLL.Models.Klient iok = new BLL.Models.Klient(web, klientId);
                string nadawca = iok.Get_NazwaNadawcyPrzelewu();

                string okres = item["selOkres"] != null ? new SPFieldLookupValue(item["selOkres"].ToString()).LookupValue : string.Empty;

                switch (ct)
                {
                    case "Rozliczenie z biurem rachunkowym":
                        result = ObslugaGBW_RozliczenieZBiuremRachunkowym(web, item, result, targetFileNameLeading, klient, okres, nadawca);
                        break;
                    case "Rozliczenie podatku VAT":
                        result = ObslugaGBW_RozliczeniePodatkuVAT(web, item, result, targetFileNameLeading, klient, okres, klientId);
                        break;
                    case "Rozliczenie podatku dochodowego":
                    case "Rozliczenie podatku dochodowego spółki":
                        result = ObslugaGBW_RozliczeniePodatkuDochodowego(web, item, result, targetFileNameLeading, klient, okres, klientId);
                        break;
                    case "Rozliczenie ZUS":
                        result = ObslugaGBW_RozliczenieZUS(web, item, result, targetFileNameLeading, klient, okres, klientId);
                        break;
                    default:
                        break;
                }
            }

            return result;
        }
Пример #30
0
        private static void Map_DaneOFakturze(SPWeb web, SPListItem item, int okresId)
        {
            int klientId = 0;

            string nazwaSkrocona = item["_Klient"] != null ? item["_Klient"].ToString().Trim() : string.Empty;

            if (!String.IsNullOrEmpty(nazwaSkrocona))
            {
                klientId = tabKlienci.Get_KlientId(item.Web, nazwaSkrocona);
            }

            if (klientId > 0)
            {
                //item["Title"] = tabKlienci.Get_KlientById(item.Web, klientId).Title;
                item["Title"] = String.Empty;
                item["selKlient"] = klientId;
                item["selOkres"] = okresId;
                if (item["selZadanie"] != null) item["selZadanie"] = 0;

                DateTime dataWystawienia = item["cDataWystawienia"] != null ? DateTime.Parse(item["cDataWystawienia"].ToString()) : new DateTime();
                Klient iok = new Klient(web, klientId);
                DateTime terminPlatnosci = new DateTime();
                terminPlatnosci = dataWystawienia.AddDays(iok.TerminPlatnosci);
                item["colBR_TerminPlatnosci"] = terminPlatnosci;
            }
            else
            {
                item["Title"] = "niezgodna nazwa pliku";
                item["selKlient"] = 0;
                item["selOkres"] = 0;
                if (item["selZadanie"] != null) item["selZadanie"] = 0;
            }

            item.Update();
        }
Пример #31
0
        public static void Create_ctPD_Form(SPWeb web, string ct, int klientId, int okresId, string key, DateTime terminPlatnosci, DateTime terminPrzekazania, bool isKwartalnie)
        {
            Klient iok = new Klient(web, klientId);

            SPList list = web.Lists.TryGetList(targetList);

            SPListItem item = list.AddItem();
            item["ContentType"] = ct;
            item["selKlient"] = klientId;
            item["selOkres"] = okresId;
            item["KEY"] = key;
            //procedura

            string procName = string.Format(": {0}", ct);
            item["selProcedura"] = tabProcedury.Ensure(web, procName);
            item["Title"] = procName;

            //numery kont i nazwa urzędu

            item["colPD_Konto"] = iok.NumerRachunkuPD;
            item["selUrzadSkarbowy"] = iok.UrzadSkarbowyId;

            //terminy
            item["colPD_TerminPlatnosciPodatku"] = terminPlatnosci;
            item["colPD_TerminPrzekazaniaWynikow"] = terminPrzekazania;

            //flagi

            Flagi fl = new Flagi(web, klientId);

            item["colPrzypomnienieOTerminiePlatnos"] = fl.PrzypomnienieOTerminiePlatnosci;
            item["colDrukWplaty"] = fl.GenerowanieDrukuWplaty;
            item["colAudytDanych"] = fl.AudytDanych;

            //rozliczenie
            if (isKwartalnie)
            {
                item["enumRozliczeniePD"] = "Kwartalnie";
            }
            else
            {
                item["enumRozliczeniePD"] = "Miesięcznie";
            }

            //termin realizacji

            item["colTerminRealizacji"] = terminPrzekazania;

            item["colFormaOpodatkowaniaPD"] = iok.FormaOpodatkowaniaPD;
            item["colOsobaDoKontaktu"] = iok.OsobaDoKontaktu;
            item["colTelefon"] = iok.Telefon;
            item["colEmail"] = iok.Email;
            item["colAdres"] = iok.Adres;
            item["colKodPocztowy"] = iok.KodPocztowy;
            item["colMiejscowosc"] = iok.Miejscowosc;

            //uwagi 
            item["colUwagi"] = iok.Uwagi;

            //przypisz zadanie do domyślnego operatora
            int operatorId = iok.OperatorId_Podatki;
            if (operatorId > 0)
            {
                item["selOperator"] = operatorId;
                Set_KontoOperatora(item, operatorId);
            }


            item.SystemUpdate();

        }
Пример #32
0
 /// <summary>
 /// jeżeli klient ma przypisane serwisy ZUS zgodne z zadaną maską i klucz KEY nie jest zdublowany
 /// uruchamiana jest procedura tworzenia zadania
 /// </summary>
 internal static void Manage_ZUS_Form(SPWeb web, int okresId, SPListItem klientItem, BLL.Models.Klient iok)
 {
     if (BLL.Tools.Has_SerwisAssigned(klientItem, "selSewisy", "ZUS-*"))
     {
         string key = BLL.tabZadania.Define_KEY(ctZUS, klientItem.ID, okresId);
         if (BLL.tabZadania.Check_KEY_IsAllowed(key, web, 0))
         {
             BLL.tabZadania.Create_ctZUS_Form(web, ctZUS, klientItem.ID, okresId, key, klientItem, iok);
         }
     }
 }
Пример #33
0
        private void Manage_CMD_WyslijWynik_ZUS(SPListItem item)
        {
            string cmd = GetCommand(item);
            int klientId = item["selKlient"] != null ? new SPFieldLookupValue(item["selKlient"].ToString()).LookupId : 0;

            if (klientId > 0
                && cmd == ZATWIERDZ)
            {

                //string nadawca = new SPFieldUserValue(item.Web, item["Editor"].ToString()).User.Email;

                //string nadawca = Get_WlacicielZadania(item);
                //string kopiaDla = Get_KopiaDlaEdytora(item, nadawca);

                string nadawca = Get_CurrentUser(item);
                //string kopiaDla = Get_WlacicielZadania(item);
                string kopiaDla = string.Empty;

                string odbiorca = BLL.tabKlienci.Get_EmailById(item.Web, new SPFieldLookupValue(item["selKlient"].ToString()).LookupId);

                bool KopiaDoNadawcy = false;
                bool KopiaDoBiura = true;
                string temat = string.Empty;
                string tresc = string.Empty;
                string trescHTML = string.Empty;

                //wybór szablonu wiadomości

                string zusOpcja = Get_String(item, "colZUS_Opcja");

                if (Get_FlagValue(item, "colZatrudniaPracownikow"))
                {
                    if (GetValue(item, "colZUS_PIT-4R") > 0 || GetValue(item, "colZUS_PIT-8AR") > 0)
                    {

                        BLL.dicSzablonyKomunikacji.Get_TemplateByKod(item, "ZUS_S_Z_F_PIT_TEMPLATE.Include", out temat, out trescHTML, nadawca);

                    }
                    else
                    {
                        BLL.dicSzablonyKomunikacji.Get_TemplateByKod(item, "ZUS_S_Z_F_TEMPLATE.Include", out temat, out trescHTML, nadawca);
                    }
                }
                else
                {
                    switch (zusOpcja)
                    {
                        case "Tylko zdrowotna":
                            BLL.dicSzablonyKomunikacji.Get_TemplateByKod(item, "ZUS_Z_TEMPLATE.Include", out temat, out trescHTML, nadawca);
                            break;
                        default:
                            BLL.dicSzablonyKomunikacji.Get_TemplateByKod(item, "ZUS_S_Z_F_TEMPLATE.Include", out temat, out trescHTML, nadawca);
                            break;
                    }
                }

                string lt = BLL.dicSzablonyKomunikacji.Get_TemplateByKod(item, "ZUS_LEADING_TEXT", false);
                string firma = BLL.tabKlienci.Get_NazwaFirmyById(item.Web, klientId);

                BLL.Models.Klient iok = new Klient(item.Web, klientId);
                if (iok.TypKlienta == "Osoba fizyczna")
                {
                    firma = "wspólnika " + firma;
                }
                else
                {
                    firma = "firmy " + firma;
                }
                lt = lt.Replace("___FIRMA___", firma);
                string okres = item["selOkres"] != null ? new SPFieldLookupValue(item["selOkres"].ToString()).LookupValue : string.Empty;
                lt = lt.Replace("___OKRES___", okres);
                trescHTML = trescHTML.Replace("___ZUS_LEADING_TEXT___", lt);

                //uzupełnia temat kodem klienta i okresu
                temat = AddSpecyfikacja(item, temat, string.Empty);

                //uzupełnia dane w formatce BR_TEMPLATE
                StringBuilder sb = new StringBuilder(trescHTML);
                sb.Replace("___colZUS_SP_Skladka___", Format_Currency(item, "colZUS_SP_Skladka"));
                sb.Replace("___colZUS_SP_Konto___", item["colZUS_SP_Konto"] != null ? item["colZUS_SP_Konto"].ToString() : string.Empty);
                sb.Replace("___colZUS_TerminPlatnosciSkladek___", Format_Date(item, "colZUS_TerminPlatnosciSkladek"));
                sb.Replace("___colZUS_ZD_Skladka___", Format_Currency(item, "colZUS_ZD_Skladka"));
                sb.Replace("___colZUS_ZD_Konto___", item["colZUS_ZD_Konto"] != null ? item["colZUS_ZD_Konto"].ToString() : string.Empty);
                sb.Replace("___colZUS_FP_Skladka___", Format_Currency(item, "colZUS_FP_Skladka"));
                sb.Replace("___colZUS_FP_Konto___", item["colZUS_FP_Konto"] != null ? item["colZUS_FP_Konto"].ToString() : string.Empty);

                sb.Replace("___colZUS_PIT-4R___", Format_Currency(item, "colZUS_PIT-4R"));
                sb.Replace("___colZUS_PIT-8AR___", Format_Currency(item, "colZUS_PIT-8AR"));

                Klient k = new Klient(item.Web, klientId);

                sb.Replace("___colPIT_Konto___", k.NumerRachunkuPIT_PD);

                int okresId = item["selOkres"] != null ? new SPFieldLookupValue(item["selOkres"].ToString()).LookupId : 0;

                DateTime terminPlatnosciPodatku = BLL.tabOkresy.Get_TerminPlatnosciByOkresId(item.Web, "colPD_TerminPlatnosciPodatku", okresId);
                sb.Replace("___colZUS_TerminPlatnosciPodatku___", terminPlatnosciPodatku.ToShortDateString());

                string info2 = string.Empty;
                string info = item["colInformacjaDlaKlienta"] != null ? item["colInformacjaDlaKlienta"].ToString() : string.Empty;
                //dodaj informację o z załącznikach w/g ustawionych flag
                if (item["colZUS_PIT-4R_Zalaczony"] != null ? (bool)item["colZUS_PIT-4R_Zalaczony"] : false)
                {
                    if (Get_Flag(item, "colDrukWplaty"))
                    {
                        info2 = info2 + string.Format(templateR, "Druk wpłaty PIT-4R");
                    }
                }
                if (item["colZUS_PIT-8AR_Zalaczony"] != null ? (bool)item["colZUS_PIT-8AR_Zalaczony"] : false)
                {
                    if (Get_Flag(item, "colDrukWplaty"))
                    {
                        info2 = info2 + string.Format(templateR, "Druk wpłaty PIT-8AR");
                    }
                }
                if (item["colZUS_ListaPlac_Zalaczona"] != null ? (bool)item["colZUS_ListaPlac_Zalaczona"] : false)
                {
                    info2 = info2 + string.Format(templateR, "Lista płac");
                }
                if (item["colZUS_Rachunki_Zalaczone"] != null ? (bool)item["colZUS_Rachunki_Zalaczone"] : false)
                {
                    info2 = info2 + string.Format(templateR, "Rachunki");
                }
                if (item["colDrukWplaty"] != null ? (bool)item["colDrukWplaty"] : false)
                {
                    if (BLL.Tools.Get_Value(item, "colZUS_SP_Skladka") > 0
                        || BLL.Tools.Get_Value(item, "colZUS_ZD_Skladka") > 0
                        || BLL.Tools.Get_Value(item, "colZUS_FP_Skladka") > 0)
                    {
                        info2 = info2 + string.Format(templateR, "Druk(i) wpłaty ZUS");
                    }

                }

                if (!string.IsNullOrEmpty(info2))
                {
                    info2 = string.Format(templateH, info2);
                    info = info + "<br>" + info2;
                }


                sb.Replace("___colInformacjaDlaKlienta___", info);

                trescHTML = sb.ToString();

                DateTime planowanaDataNadania = item["colTerminWyslaniaInformacji"] != null ? DateTime.Parse(item["colTerminWyslaniaInformacji"].ToString()) : new DateTime();

                odbiorca = Check_NieWysylacDoKlientaFlag(item, nadawca, odbiorca);

                BLL.tabWiadomosci.AddNew(item.Web, item, nadawca, odbiorca, kopiaDla, KopiaDoNadawcy, KopiaDoBiura, temat, tresc, trescHTML, planowanaDataNadania, item.ID, klientId, Marker.Ignore);


                //reminders
                if (hasPrzypomnienieOTerminiePlatnosci(item))
                {
                    KopiaDoNadawcy = false;
                    KopiaDoBiura = false;

                    //składki zus
                    DateTime terminPlatnosci = Get_Date(item, "colZUS_TerminPlatnosciSkladek");

                    if (GetValue(item, "colZUS_SP_Skladka") > 0
                        || GetValue(item, "colZUS_ZD_Skladka") > 0
                        || GetValue(item, "colZUS_FP_Skladka") > 0)
                    {
                        //ustaw reminder
                        nadawca = BLL.admSetup.GetValue(item.Web, "EMAIL_BIURA");

                        if (Get_FlagValue(item, "colZatrudniaPracownikow"))
                        {
                            BLL.dicSzablonyKomunikacji.Get_TemplateByKod(item, "ZUS_S_Z_F_REMINDER_TEMPLATE.Include", out temat, out trescHTML, nadawca);
                        }
                        else
                        {
                            switch (zusOpcja)
                            {
                                case "Tylko zdrowotna":
                                    BLL.dicSzablonyKomunikacji.Get_TemplateByKod(item, "ZUS_Z_REMINDER_TEMPLATE.Include", out temat, out trescHTML, nadawca);
                                    break;
                                default:
                                    BLL.dicSzablonyKomunikacji.Get_TemplateByKod(item, "ZUS_S_Z_F_REMINDER_TEMPLATE.Include", out temat, out trescHTML, nadawca);
                                    break;
                            }
                        }

                        temat = Update_Data(temat, terminPlatnosci);
                        temat = BLL.Tools.AddCompanyName(temat, item);

                        //leading reminder text
                        string lrt = BLL.dicSzablonyKomunikacji.Get_TemplateByKod(item, "ZUS_LEADING_REMINDER_TEXT", false);
                        lrt = lrt.Replace("___FIRMA___", firma);
                        lrt = lrt.Replace("___OKRES___", okres);
                        trescHTML = trescHTML.Replace("___ZUS_LEADING_REMINDER_TEXT___", lrt);

                        //trailing reminder text
                        string trt = BLL.dicSzablonyKomunikacji.Get_TemplateByKod(item, "ZUS_TRAILING_REMINDER_TEXT", false);
                        trt = trt.Replace("___DATA___", DateTime.Now.ToShortDateString()); //zakłada że wysyłka oryginalnej wiadomości wyjdzie w dniu zlecenia
                        trescHTML = trescHTML.Replace("___ZUS_TRAILING_REMINDER_TEXT___", trt);

                        //aktualizacja danych z tabelki
                        sb = new StringBuilder(trescHTML);
                        sb.Replace("___colZUS_SP_Skladka___", Format_Currency(item, "colZUS_SP_Skladka"));
                        sb.Replace("___colZUS_SP_Konto___", item["colZUS_SP_Konto"] != null ? item["colZUS_SP_Konto"].ToString() : string.Empty);
                        sb.Replace("___colZUS_TerminPlatnosciSkladek___", Format_Date(item, "colZUS_TerminPlatnosciSkladek"));
                        sb.Replace("___colZUS_ZD_Skladka___", Format_Currency(item, "colZUS_ZD_Skladka"));
                        sb.Replace("___colZUS_ZD_Konto___", item["colZUS_ZD_Konto"] != null ? item["colZUS_ZD_Konto"].ToString() : string.Empty);
                        sb.Replace("___colZUS_FP_Skladka___", Format_Currency(item, "colZUS_FP_Skladka"));
                        sb.Replace("___colZUS_FP_Konto___", item["colZUS_FP_Konto"] != null ? item["colZUS_FP_Konto"].ToString() : string.Empty);

                        trescHTML = sb.ToString();


                        planowanaDataNadania = Calc_ReminderTime(item, terminPlatnosci);

                        //nie wysyłaj przypomnienia jeżeli krócej niż 3 dni do terminu
                        if (planowanaDataNadania.CompareTo(DateTime.Now.AddDays(3)) > 0)
                        {
                            BLL.tabWiadomosci.AddNew(item.Web, item, nadawca, odbiorca, kopiaDla, KopiaDoNadawcy, KopiaDoBiura, temat, tresc, trescHTML, planowanaDataNadania, item.ID, klientId, Marker.ReminderZUS);
                        }
                    }

                    //podatek za pracowników

                    terminPlatnosci = BLL.tabOkresy.Get_TerminPlatnosciByOkresId(item.Web, "colPD_TerminPlatnosciPodatku", okresId);

                    if (GetValue(item, "colZUS_PIT-4R") > 0
                        || GetValue(item, "colZUS_PIT-8AR") > 0)
                    {
                        //ustaw reminder
                        nadawca = BLL.admSetup.GetValue(item.Web, "EMAIL_BIURA");
                        BLL.dicSzablonyKomunikacji.Get_TemplateByKod(item, "ZUS_PIT_REMINDER_TEMPLATE.Include", out temat, out trescHTML, nadawca);

                        temat = Update_Data(temat, terminPlatnosci);
                        temat = BLL.Tools.AddCompanyName(temat, item);

                        //leading reminder text
                        string lrt = BLL.dicSzablonyKomunikacji.Get_TemplateByKod(item, "ZUS_PIT_LEADING_REMINDER_TEXT", false);
                        lrt = lrt.Replace("___FIRMA___", firma);
                        lrt = lrt.Replace("___OKRES___", okres);
                        trescHTML = trescHTML.Replace("___ZUS_PIT_LEADING_REMINDER_TEXT___", lrt);

                        //trailing reminder text
                        string trt = BLL.dicSzablonyKomunikacji.Get_TemplateByKod(item, "ZUS_PIT_TRAILING_REMINDER_TEXT", false);
                        trt = trt.Replace("___DATA___", DateTime.Now.ToShortDateString()); //zakłada że wysyłka oryginalnej wiadomości wyjdzie w dniu zlecenia
                        trescHTML = trescHTML.Replace("___ZUS_PIT_TRAILING_REMINDER_TEXT___", trt);

                        //aktualizacja danych z tabelki
                        sb = new StringBuilder(trescHTML);
                        sb.Replace("___colPIT_Konto___", k.NumerRachunkuPIT_PD); //poprawiłem numer rachunku w przypominajce
                        sb.Replace("___colZUS_PIT-4R___", Format_Currency(item, "colZUS_PIT-4R"));
                        sb.Replace("___colZUS_PIT-8AR___", Format_Currency(item, "colZUS_PIT-8AR"));
                        sb.Replace("___colZUS_TerminPlatnosciPodatku___", terminPlatnosciPodatku.ToShortDateString());

                        trescHTML = sb.ToString();

                        planowanaDataNadania = Calc_ReminderTime(item, terminPlatnosci);

                        //nie wysyłaj przypomnienia jeżeli krócej niż 3 dni do terminu
                        if (planowanaDataNadania.CompareTo(DateTime.Now.AddDays(3)) > 0)
                        {
                            BLL.tabWiadomosci.AddNew(item.Web, item, nadawca, odbiorca, kopiaDla, KopiaDoNadawcy, KopiaDoBiura, temat, tresc, trescHTML, planowanaDataNadania, item.ID, klientId, Marker.ReminderZUS_PIT);
                        }
                    }
                }
            }

        }
Пример #34
0
 public static string Get_NazwaFirmyById(SPWeb web, int klientId)
 {
     BLL.Models.Klient k = new Models.Klient(web, klientId);
     return(k.PelnaNazwaFirmy);
 }
Пример #35
0
        public static void Create_Form(SPWeb web, string ct, int klientId, int okresId, string key, int operatorId)
        {
            Klient iok = new Klient(web, klientId);

            if (operatorId == 0)
            {
                // TODO: nie wiem co robi ten kawałek kodu
                operatorId = dicOperatorzy.GetID(web, "STAFix24 Robot", true);
            }

            SPList list = web.Lists.TryGetList(targetList);

            SPListItem item = list.AddItem();
            item["ContentType"] = ct;
            item["selKlient"] = klientId;
            item["selOkres"] = okresId;
            item["KEY"] = key;

            string procName = string.Format(": {0}", ct);
            item["selProcedura"] = tabProcedury.Ensure(web, procName);
            item["Title"] = procName;

            item["selOperator"] = operatorId;
            if (operatorId > 0)
            {
                item["selOperator"] = operatorId;
                Set_KontoOperatora(item, operatorId);
            }

            item["colOsobaDoKontaktu"] = iok.OsobaDoKontaktu;
            item["colTelefon"] = iok.Telefon;
            item["colEmail"] = iok.Email;

            //ustaw terminy realizacji
            switch (ct)
            {
                case "Prośba o dokumenty":
                    item["colTerminRealizacji"] = BLL.tabOkresy.Get_TerminRealizacji(web, okresId, "DOK_REMINDER_DOM");
                    break;
                case "Prośba o przesłanie wyciągu bankowego":
                    item["colTerminRealizacji"] = BLL.tabOkresy.Get_TerminRealizacji(web, okresId, "WBANK_REMINDER_DOM");
                    break;
                default:
                    break;
            }

            item.SystemUpdate();

        }
Пример #36
0
        private bool isValidated_PD(SPListItem item)
        {
            Set_ValidationFlag(item, false);

            //oczyść dane w zależności od wybranej Decyzji
            string ocena = Get_String(item, "colPD_OcenaWyniku");
            if (string.IsNullOrEmpty(ocena))
            {
                Add_Comment(item, "brak oceny wyniku");
                Set_ValidationFlag(item, true);
                return false;
            }

            switch (ocena)
            {
                case "Dochód":
                    BLL.Tools.Clear_Value(item, "colPD_WartoscStraty");

                    if (GetValue(item, "colPD_WartoscDoZaplaty") >= 0
                        && GetValue(item, "colPD_WartoscDochodu") >= 0)
                    {
                        if (iok == null)
                        {
                            iok = new Klient(item.Web, BLL.Tools.Get_LookupId(item, "selKlient"));
                        }
                        if (!iok.TypKlienta.Equals("Firma zewnętrzna"))
                        {
                            if (!string.IsNullOrEmpty(Get_String(item, "colPD_Konto"))) return true;
                            else
                            {
                                Add_Comment(item, "brak numeru konta");
                                Set_ValidationFlag(item, true);
                            }
                        }
                        else
                        {
                            return true;
                        }
                    }
                    break;
                case "Strata":
                    BLL.Tools.Clear_Value(item, "colPD_WartoscDochodu");
                    BLL.Tools.Clear_Value(item, "colPD_WartoscDoZaplaty");

                    if (GetValue(item, "colPD_WartoscStraty") > 0) return true;
                    else
                    {
                        Add_Comment(item, "wartość straty musi być większa niż 0");
                        Set_ValidationFlag(item, true);
                    }
                    break;
                default:
                    Add_Comment(item, "niedozwolona wartość pola ocena wyniku");
                    break;
            }

            Set_ValidationFlag(item, true);
            return false;
        }
Пример #37
0
        private static int Get_KartaKontrolnaId(SPWeb web, int klientId, int okresId, string KEY)
        {
            SPList list = web.Lists.TryGetList(targetList);
            SPListItem item = list.Items.Cast<SPListItem>()
                .Where(i => i["KEY"].ToString() == KEY)
                .FirstOrDefault();
            if (item != null)
            {
                return item.ID;
            }
            else
            {
                SPListItem newItem = list.AddItem();
                newItem["KEY"] = KEY;
                newItem["selKlient"] = klientId;
                newItem["selOkres"] = okresId;

                BLL.Models.Klient k = new Models.Klient(web, klientId);

                newItem["enumRozliczeniePD"] = k.RozliczeniePD;
                newItem["enumRozliczenieVAT"] = k.RozliczenieVAT;
                newItem["colFormaOpodatkowaniaPD"] = k.FormaOpodatkowaniaPD;
                newItem["colFormaOpodatkowaniaVAT"] = k.FormaOpodatkowaniaVAT;
                newItem["colFormaOpodakowania_ZUS"] = k.FormaOpodatkowaniaZUS;

                //ustaw CT
                if (k.TypKlienta == "KSH") newItem["ContentType"] = "Karta kontrolna KSH";
                else newItem["ContentType"] = "Karta kontrolna KPiR";

                newItem.SystemUpdate();

                return newItem.ID;
            }
        }
Пример #38
0
        private static int Create_KartaKontrolna(SPListItem task, string KEY, SPList list)
        {
            SPListItem newItem = list.AddItem();
            newItem["KEY"] = KEY;
            newItem["selKlient"] = Get_LookupId(task, "selKlient");
            newItem["selOkres"] = Get_LookupId(task, "selOkres");

            BLL.Models.Klient k = new Models.Klient(task.Web, Get_LookupId(task, "selKlient"));

            Set_KartaKontrolna_InitValues(newItem, k);

            //ustaw CT
            if (k.TypKlienta == "KSH") newItem["ContentType"] = "Karta kontrolna KSH";
            else newItem["ContentType"] = "Karta kontrolna KPiR";

            newItem.SystemUpdate();

            return newItem.ID;
        }
Пример #39
0
        private bool ObslugaGBW_RozliczenieZUS(SPWeb web, SPListItem item, bool result, string targetFileNameLeading, string klient, string okres, int klientId)
        {
            bool wymaganyDrukWplaty = item["colDrukWplaty"] != null ? (bool)item["colDrukWplaty"] : false;
            string opcja = item["colZUS_Opcja"] != null ? item["colZUS_Opcja"].ToString() : string.Empty;

            if (wymaganyDrukWplaty)
            {
                double kwota;
                string konto;
                string fileName;

                BLL.Models.Klient iok = new BLL.Models.Klient(web, klientId);

                if (Get_FlagValue(item, "colZatrudniaPracownikow"))
                {

                    //PIT 8AR  
                    if (Get_FlagValue(item, "colZUS_PIT-8AR_Zalaczony"))
                    {
                        kwota = item["colZUS_PIT-8AR"] != null ? Double.Parse(item["colZUS_PIT-8AR"].ToString()) : 0;
                        if (kwota > 0)
                        {

                            konto = iok.NumerRachunkuPIT_PD;
                            int urzadId = iok.UrzadSkarbowyId;

                            BLL.Models.UrzadSkarbowy us = new BLL.Models.UrzadSkarbowy(web, urzadId);
                            string odbiorca = us.Get_NazwaOdbiorcyPrzelewu();
                            fileName = String.Format(@"{0}PIT-8AR_{1}.pdf",
                                       targetFileNameLeading,
                                       okres);

                            string numerDeklaracji = okres.Substring(2, 2) + "M" + okres.Substring(5, 2); //TODO: obsługa kwartalnych deklaracji

                            result = Generuj_DrukPD_FromZUS(web, item, klientId, okres, kwota, konto, fileName, odbiorca, numerDeklaracji, "PIT8AR", "ZRYCZ.POD.DOCH.UM.Z", iok);
                        }
                    }
                    //PIT 4R
                    if (Get_FlagValue(item, "colZUS_PIT-4R_Zalaczony"))
                    {
                        kwota = item["colZUS_PIT-4R"] != null ? Double.Parse(item["colZUS_PIT-4R"].ToString()) : 0;
                        if (kwota > 0)
                        {

                            konto = iok.NumerRachunkuPIT_PD;
                            int urzadId = iok.UrzadSkarbowyId;

                            BLL.Models.UrzadSkarbowy us = new BLL.Models.UrzadSkarbowy(web, urzadId);
                            string odbiorca = us.Get_NazwaOdbiorcyPrzelewu();
                            fileName = String.Format(@"{0}PIT-4R_{1}.pdf",
                               targetFileNameLeading,
                               okres);

                            string numerDeklaracji = okres.Substring(2, 2) + "M" + okres.Substring(5, 2); //TODO: obsługa kwartalnych deklaracji

                            result = Generuj_DrukPD_FromZUS(web, item, klientId, okres, kwota, konto, fileName, odbiorca, numerDeklaracji, "PIT4R", "POD.DOCH.ZA PRAC.", iok);
                        }
                    }
                }


                switch (opcja)
                {
                    case "Tylko zdrowotna":
                        //skladka zdrowotna
                        kwota = item["colZUS_ZD_Skladka"] != null ? Double.Parse(item["colZUS_ZD_Skladka"].ToString()) : 0;
                        if (kwota > 0)
                        {
                            konto = Clean_NumerRachunku(item, "colZUS_ZD_Konto");
                            fileName = String.Format(@"{0}Składka zdrowotna_{1}.pdf",
                                               targetFileNameLeading,
                                               okres);


                            result = Generuj_DrukZUS(web, item, result, okres, klientId, kwota, konto, fileName);
                        }



                        //skladka spoleczna
                        kwota = item["colZUS_SP_Skladka"] != null ? Double.Parse(item["colZUS_SP_Skladka"].ToString()) : 0;
                        if (kwota > 0) //przypadek gdzie zatrudnia pracowników
                        {
                            konto = Clean_NumerRachunku(item, "colZUS_SP_Konto");
                            fileName = String.Format(@"{0}ZUS 51_{1}.pdf",
                                               targetFileNameLeading,
                                               okres);

                            result = Generuj_DrukZUS(web, item, result, okres, klientId, kwota, konto, fileName);
                        }

                        //fundusz pracy
                        kwota = item["colZUS_FP_Skladka"] != null ? Double.Parse(item["colZUS_FP_Skladka"].ToString()) : 0;
                        if (kwota > 0) //przypadek gdy zatrudnia pracowników
                        {
                            konto = Clean_NumerRachunku(item, "colZUS_FP_Konto");
                            fileName = String.Format(@"{0}ZUS 53_{1}.pdf",
                                               targetFileNameLeading,
                                               okres);

                            result = Generuj_DrukZUS(web, item, result, okres, klientId, kwota, konto, fileName);
                        }

                        break;
                    default:


                        //fundusz pracy
                        kwota = item["colZUS_FP_Skladka"] != null ? Double.Parse(item["colZUS_FP_Skladka"].ToString()) : 0;
                        if (kwota > 0)
                        {
                            konto = Clean_NumerRachunku(item, "colZUS_FP_Konto");
                            fileName = String.Format(@"{0}ZUS 53_{1}.pdf",
                                               targetFileNameLeading,
                                               okres);

                            result = Generuj_DrukZUS(web, item, result, okres, klientId, kwota, konto, fileName);
                        }


                        //skladka zdrowotna
                        kwota = item["colZUS_ZD_Skladka"] != null ? Double.Parse(item["colZUS_ZD_Skladka"].ToString()) : 0;
                        if (kwota > 0)
                        {
                            konto = Clean_NumerRachunku(item, "colZUS_ZD_Konto");
                            fileName = String.Format(@"{0}ZUS 52_{1}.pdf",
                                                targetFileNameLeading,
                                                okres);

                            result = Generuj_DrukZUS(web, item, result, okres, klientId, kwota, konto, fileName);
                        }

                        //skladka spoleczna
                        kwota = item["colZUS_SP_Skladka"] != null ? Double.Parse(item["colZUS_SP_Skladka"].ToString()) : 0;
                        if (kwota > 0)
                        {
                            konto = Clean_NumerRachunku(item, "colZUS_SP_Konto");
                            fileName = String.Format(@"{0}ZUS 51_{1}.pdf",
                                               targetFileNameLeading,
                                               okres);

                            result = Generuj_DrukZUS(web, item, result, okres, klientId, kwota, konto, fileName);
                        }

                        break;
                }


            }

            return result;
        }
Пример #40
0
        /// <summary>
        /// Sprawdza czy dla danego wspólnika w danym okresie jest zdefiniowana karta rozliczeniowa PDS lub PDW
        /// Jeżeli jest to inicjuje procedurę aktualizacji karty
        /// Jeżeli nie to zwraca komunikat że karta rozliczeniowa nie zostałą zainicjowana
        /// </summary>
        public static void Execute_UpdateRequest(SPWeb web, int wspolnikId, int okresId, out string comments)
        {
            comments = string.Empty;

            int zadanieId = 0;
            //sprawdź czy istnieje zadanie typu PDS

            zadanieId = BLL.tabZadania.Get_ZadanieByKEY(web,
                 BLL.tabZadania.Define_KEY("Rozliczenie podatku dochodowego spółki", wspolnikId, okresId));

            if (zadanieId <= 0)
            {
                //sprawdź czy istnieje zadanie typu PDW

                zadanieId = BLL.tabZadania.Get_ZadanieByKEY(web,
                    BLL.tabZadania.Define_KEY("Rozliczenie podatku dochodowego wspólnika", wspolnikId, okresId));
            }

            if (zadanieId > 0)
            {
                // zainicjuj procedurę rozliczenia
                BLL.tabZadania.Execute_Update_DochodyZInnychSpolek(web, wspolnikId, okresId, zadanieId, out comments);
            }
            else
            {
                BLL.Models.Klient iok = new Models.Klient(web, wspolnikId);
                SPListItem okres = BLL.tabOkresy.Get_OkresById(web, okresId);
                
                // karta rozliczeniowa PDS/PDW nie została znaleziona >>> wyślij komunikat
                StringBuilder sb = new StringBuilder(comments);
                sb.AppendFormat("<div>Brak zadania rozliczenia podatku dochodowego wspólnika (PDS|PDW) dla klienta {0} w okresie {1}</div>",
                    iok.PelnaNazwaFirmy, okres.Title);

                comments = sb.ToString();
            }

        }
Пример #41
0
        private void Preset_Message_ExecuteCode(object sender, EventArgs e)
        {
            iok = new Klient(item.Web, BLL.Tools.Get_LookupId(item, "selKlient"));
            msgTo = workflowProperties.OriginatorEmail;

            headers = new StringDictionary();
            headers.Add("o:tag", "Validation Results");
            headers.Add("Importance", "high");
            headers.Add("X-Priority", "1");
            headers.Add("X-MSMail-Priority", "High");
            //headers.Add("Expiry-Date", "Wed, 10 Feb 2016 17:15:00 +0100");
            //headers.Add("Expiry-Date2", SPUtility.CreateISO8601DateTimeFromSystemDateTime(DateTime.Now.AddMinutes(5)));
            //headers.Add("X-Message-Flag", "=?iso-8859-2?Q?Flaga_monituj=B1ca?=");

            CultureInfo ci = CultureInfo.CreateSpecificCulture("en-US");
            headers.Add("Reply-By", DateTime.Now.ToString("ddd, dd MMM yyyy HH:mm:ss +0100", ci));
            //headers.Add("Reply-By", "Wed, 10 Feb 2016 15:00:00 +0000");

            msgHeaders = headers;
        }
Пример #42
0
 public static string Get_PelnyAdresFirmyById(SPWeb web, int klientId)
 {
     BLL.Models.Klient k = new Models.Klient(web, klientId);
     return(string.Format("{0}, {1} {2}", k.Adres, k.KodPocztowy, k.Miejscowosc));
 }
Пример #43
0
        private static bool Generuj_DrukZUS(SPWeb web, SPListItem item, bool result, string okres, int klientId, double kwota, string konto, string fileName)
        {
            konto = Clean_NumerRachunku(konto);

            if (konto.Length == 26 && kwota > 0 && !string.IsNullOrEmpty(fileName))
            {

                string typWplaty = "S";
                string numerDeklaracji = "01";
                string okresMiesiac = okres.Substring(5, 2);
                string okresRok = okres.Substring(0, 4);
                string numerDecyzji = ".";


                BLL.Models.Klient iok = new BLL.Models.Klient(web, klientId);
                string nadawca = iok.Get_NazwaNadawcyPrzelewu();
                string regon = iok.Regon;
                string typIdentyfikatora = "R";
                if (string.IsNullOrEmpty(regon)) //jeżeli nie ma regonu podaj pesel
                {
                    regon = iok.Pesel;
                    typIdentyfikatora = "P";
                }
                if (string.IsNullOrEmpty(regon)) //jeżeli nie ma pesela nie podawaj drugiego identyfikatora
                {
                    typIdentyfikatora = string.Empty;
                }
                string nip = iok.NIP;

                string identyfikatorDeklaracji = String.Format("{0} {1} {2}{3} {4}",
                    typWplaty.Substring(0, 1),
                    numerDeklaracji.Substring(0, 2),
                    okresMiesiac.Substring(0, 2),
                    okresRok.Substring(0, 4),
                    numerDecyzji = numerDecyzji.Length > 15 ? numerDecyzji.Substring(0, 15) : numerDecyzji);

                result = GeneratorDrukow.DrukWplaty.Attach_DrukWplatyZUS(web, item,
                fileName,
                konto,
                kwota,
                nadawca, nip, typIdentyfikatora.Substring(0, 1), regon, identyfikatorDeklaracji);
            }
            return result;
        }
Пример #44
0
        private bool ObslugaGBW_RozliczeniePodatkuVAT(SPWeb web, SPListItem item, bool result, string targetFileNameLeading, string klient, string okres, int klientId)
        {
            bool wymaganyDrukWplaty = item["colDrukWplaty"] != null ? (bool)item["colDrukWplaty"] : false;
            string decyzja = item["colVAT_Decyzja"] != null ? item["colVAT_Decyzja"].ToString() : string.Empty;
            double kwota = item["colVAT_WartoscDoZaplaty"] != null ? Double.Parse(item["colVAT_WartoscDoZaplaty"].ToString()) : 0;
            string konto = Clean_NumerRachunku(item, "colVAT_Konto");

            if (wymaganyDrukWplaty && konto.Length == 26 && kwota > 0 && decyzja == "Do zapłaty")
            {
                //string fileName = String.Format(@"{0}Podatek VAT_{1}.pdf",
                //    targetFileNameLeading,
                //    okres);

                string fileName = String.Format(@"{0}Podatek VAT.pdf",
                targetFileNameLeading);

                int urzadId = item["selUrzadSkarbowy"] != null ? new SPFieldLookupValue(item["selUrzadSkarbowy"].ToString()).LookupId : 0;
                BLL.Models.UrzadSkarbowy us = new BLL.Models.UrzadSkarbowy(web, urzadId);
                string odbiorca = us.Get_NazwaOdbiorcyPrzelewu();

                string numerDeklaracji = string.Empty;

                string rozliczenie = item["enumRozliczenieVAT"] != null ? item["enumRozliczenieVAT"].ToString() : string.Empty;
                if (rozliczenie == "Kwartalnie")
                {
                    numerDeklaracji = okres.Substring(2, 2) + "K";

                    string m = okres.Substring(5, 2); //oznaczenie miesiąca
                    switch (m)
                    {
                        case "01":
                        case "02":
                        case "03":
                            numerDeklaracji = numerDeklaracji + "01";
                            break;
                        case "04":
                        case "05":
                        case "06":
                            numerDeklaracji = numerDeklaracji + "02";
                            break;
                        case "07":
                        case "08":
                        case "09":
                            numerDeklaracji = numerDeklaracji + "03";
                            break;
                        case "10":
                        case "11":
                        case "12":
                            numerDeklaracji = numerDeklaracji + "04";
                            break;
                        default:
                            break;
                    }
                }
                else
                {
                    numerDeklaracji = okres.Substring(2, 2) + "M" + okres.Substring(5, 2);
                }

                BLL.Models.Klient iok = new BLL.Models.Klient(web, klientId);
                string nadawca = iok.Get_NazwaNadawcyPrzelewu();

                //nip z kartoteki
                string nip = iok.NIP;
                string typIdentyfikatora = "N";

                string symbolFormularza = iok.FormaOpodatkowaniaVAT.Replace("-", "").Trim();
                string opis = "Podatek VAT";


                result = GeneratorDrukow.DrukWplaty.Attach_DrukWplatyPD(web, item,
                fileName,
                odbiorca,
                konto,
                kwota,
                nadawca, nip, typIdentyfikatora, numerDeklaracji, symbolFormularza, opis);
            }
            return result;
        }
Пример #45
0
        public static void Create_ctRB_Form(SPWeb web, int klientId, int okresId, string key, SPListItem klientItem, Models.Klient iok)
        {
            Logger.LogEvent("Create_ctRB_Form", klientId.ToString());

            SPList     list    = web.Lists.TryGetList(targetList);
            SPListItem newItem = list.AddItem();

            BLL.Tools.Set_Value(newItem, "selKlient", klientId);
            BLL.Tools.Set_Value(newItem, "selOkres", okresId);
            BLL.Tools.Set_Text(newItem, "KEY", key);

            Models.Okres o = new Models.Okres(web, okresId);

            BLL.Tools.Set_Text(newItem, "Title", string.Format("Opłata za obsługę {0}", o.Nazwa));

            double om = BLL.tabStawki.Get_OplataMiesieczna(web, klientId);

            if (om > 0)
            {
                BLL.Tools.Set_Value(newItem, "colDoZaplaty", om);
            }
            else
            {
                BLL.tabStawki.Ensure_KlientExist(web, klientId);
            }

            newItem.SystemUpdate();
        }