DELIMITER $$

DROP PROCEDURE IF EXISTS `pl_pres_praczlec`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `pl_pres_praczlec`(
	IN _MODE VARCHAR(38), 
	IN _GUID VARCHAR(38),
	IN _Rok INT,
	IN _WHERE_SQL TEXT, 
	IN _Param_A VARCHAR(50),
	IN _Param_B VARCHAR(50))
SPROC: BEGIN 

	/*
	call pl_pres_praczlec('PrepareData','','','','','');
	*/
	IF (_MODE = 'PrepareData') THEN

		SET @GEO_ADRESY = @session.globals.GEO_ADRESY;
		
		SELECT valuei FROM IReg WHERE idkey='Termin_wyplaty' LIMIT 1 into @Termin;
		SELECT valuei FROM IReg WHERE idkey='Ilosc_dni_do_wyplaty' LIMIT 1 into @IleDniWyplaty;
				
		SELECT 
		    o.Nazwisko as OSOBA_NAZWISKO,
			o.Imie1 as OSOBA_IMIE_1,
			o.Imie2 as OSOBA_IMIE_2,
			o.ImieOjca as OSOBA_IMIE_OJCA,
			o.ImieMatki as OSOBA_IMIE_MATKI,
			o.MIejsceUrodzenia as OSOBA_MIEJSCE_URODZENIA,
			o.DataUrodzenia as OSOBA_DATA_URODZENIA,
			o.NrPESEL as OSOBA_PESEL,
			o.NrNIP as OSOBA_NIP,
			
			IF(o.AZAM_Ulica,o.AZAM_Miejscowosc,o.AMEL_Miejscowosc) as OSOBA_MIASTO_ZAMIESZKANIA,
			IF(o.AZAM_Ulica,(SELECT powiat FROM powiaty WHERE idn=o.AZAM_Powiat),(SELECT powiat FROM powiaty WHERE idn=o.AMEL_Powiat))  as POWIAT,
			IF(o.AZAM_Ulica,(SELECT gmina FROM gminy WHERE idn=o.AZAM_GminaDzielnica),(SELECT gmina FROM gminy WHERE idn=o.AMEL_GminaDzielnica)) as GMINA,
			IF(o.AZAM_Ulica,o.AZAM_Ulica,o.AMEL_Ulica) as ULICA,
			IF(o.AZAM_Ulica,o.AZAM_NrDomu,o.AMEL_NrDomu) as NR_DOMU,
			IF(o.AZAM_Ulica,o.AZAM_NrMieszkania,o.AZAM_NrMieszkania) as NR_MIESZKANIA,
			IF(o.AZAM_Ulica,o.AZAM_KodPocztowy,o.AMEL_KodPocztowy) as KOD_POCZTOWY,
			IF(o.AZAM_Ulica,o.AZAM_Miejscowosc,o.AMEL_Miejscowosc) as MIEJSCOWOSC,
			
			
			IF(LENGTH(pz.ReprezentantFirmy)>2,pz.ReprezentantFirmy, (SELECT valuea FROM IReg WHERE idkey='Przedstawiciel_firmy' LIMIT 1)) as REPREZENTANT_FIRMY,
			IF(@Termin<>0, CONCAT('w ciągu ',@IleDniWyplaty,' dni po przedłożeniu rachunku ') , CONCAT('w terminie do ',DataWyplaty) )	as ILE_DNI_DO_WYPLATY,
			
			(SELECT valuea FROM IReg WHERE idkey='Pelna_nazwa' AND idpath LIKE '%DaneFirmy' LIMIT 1) AS Pelna_nazwa_firmy,
			(SELECT LEFT(valuex, 512) FROM IReg WHERE idkey='Firma_opis' AND idpath LIKE '%wydruki' LIMIT 1) AS FIRMA_OPIS, -- analogia do #47232
			CONCAT(
				(SELECT valuea FROM IReg WHERE idkey='Ulica' AND idpath LIKE '%DaneFirmy' LIMIT 1),' ',
				(SELECT valuea FROM IReg WHERE idkey='Nr_domu' AND idpath LIKE '%DaneFirmy' LIMIT 1),' ',
				(SELECT valuea FROM IReg WHERE idkey='Nr_lokalu' AND idpath LIKE '%DaneFirmy' LIMIT 1),'\n',
				(SELECT valuea FROM IReg WHERE idkey='Kod_poczt' AND idpath LIKE '%DaneFirmy' LIMIT 1),' ',
				(SELECT NazwaMiasta AS miasto FROM Miasta WHERE idn=(SELECT valuei FROM IReg WHERE idkey='Miasto' AND idpath LIKE '%DaneFirmy' LIMIT 1  ))
			) as Firma_adres,
			
			
			pz.NrZlecenia as NR_UMOWY,
			pz.DataZawarcia as UMOWA_Z_DNIA,
			REPLACE(pz.PracaStr,'\n',' ') as OPIS_PRAC,
			pz.DataOd as CZAS_OD,
			pz.DataDO as CZAS_DO,
			pz.ZaZlecenie as WYNAGRODZENIE_BRUTTO,
			pz.KosztyUzyskania as KOSZTY_UZYSKANIA,
			pz.RazemSkladkiZleceniobiorcy as SKLADKA_NA_UBEZPIECZENIA,
			IF(pz.RazemSkladkiZleceniobiorcy>0,'podlega','nie podlega') as PODLEGA_NIEPODLEGA,
			pz.Dochod as PODSTAWA_PODATKU,
			pz.ZaliczkaPrzedSklUbezp as WSTEPNA_ZALICZKA,
			pz.kwota_za_UW as KWOTA_ZA_UW,
			pz.ZryczPodatekPrzedSklUbezp as WSTEPNY_ZRYCZALTOWANY_PODATEK,
			pz.ZryczaltowanyPodatek as ZRYCZALTOWANY_PODATEK,
			
			LEFT(IF(pz.WyplataPrzelewem>0,'przelewem na konto [biorcy]   ','w kasie [biorcy]   '),100) as MIEJSCE_ZAPLATY,
			LEFT(IF(pz.WyplataPrzelewem>0,'przelewem na konto [biorcy]   ','w kasie [biorcy]   '),100) as MIEJSCE_ZAPLATY1,
			LEFT(IF(pz.WyplataPrzelewem>0,CONCAT('(',P.NrRachunku,')'),
			concat(CONCAT(pz.DoWyplaty - pz.WyplataPrzelewem,' PLN'),' - ',pz.DataWyplaty)),100) as MIEJSCE_ZAPLATY2,

			pz.SklKasaChorychZleceniobPobr as SKLADKA_UBEZPIECZENIA_POBRANA,
			pz.SklKasaChorychZleceniobOdlicz as SKLADKA_UBEZPIECZENIA_ODLICZONA,
			pz.Zaliczka + pz.ZryczaltowanyPodatek as  ZALICZKA_NA_PODATEK_DOCH,
			pz.DoWyplaty as NALEZNOSC_WYPLATY_NETTO,
			pz.DataWyplaty as DATA_POKWITOWANIA,
			pz.DataDo as DATA_PRZYJECIA,
			pz.InnePotr  as INNE_POTRACENIA,
			pz.RazemSkladkiZleceniodawcy + pz.SklFundPracy +  pz.SklFGSP as SKLADKA_ZUS_ZLECENIODAWCA,
			
			

			(SELECT valuei FROM IReg WHERE idkey='Ilosc_egzemplarzy_umowy' LIMIT 1) AS ILOSC_KOPII,
			(SELECT valuei FROM IReg WHERE idkey='Ilosc_egzemplarzy_dla_stron' LIMIT 1) AS ILOSC_KOPII_DLA_STRONY,
			(SELECT valuei FROM IReg WHERE idkey='Okres_dla_reklamacji' LIMIT 1) AS ODPOWIEDZ_WYKONAWCY,
			(SELECT valuei FROM IReg WHERE idkey='Maksymalna_zwloka' LIMIT 1) AS PRZEKROCZENIE_ZWLOKI,
			(SELECT valuen FROM IReg WHERE idkey='Kara_za_zwloke' LIMIT 1) AS WYSOKOSC_KARY_ZA_ZWLOKE,
			(SELECT valuen FROM IReg WHERE idkey='Odsetki_za_zwloke' LIMIT 1) AS WYSOKOSC_KARY_NIEWYKONANIA,
  
  
  -- FParamsSL.Add('%%NALEZNOSC_SLOWNIE%%='+GetSlownie(Abs(aDSPraceZlecone.fieldByName('DoWyplaty').asFloat), 'zł'));
  
			IF(pz.DoWyplaty - pz.WyplataPrzelewem <= 0, 'przelew na konto bankowe', '') as KWITUJE_ODBIOR_KWOTY,
			CONCAT(pz.DoWyplaty - pz.WyplataPrzelewem,' PLN') as KWITUJE_KWOTE,
			DATE_FORMAT(pz.DataOd, '%m/%Y') as MIESIAC,
			pz.*,
			P.NrRachunku,
			o.Nazwisko, o.Imiona
		FROM
			prace_zlecone pz
		JOIN 
			osoby o ON o.GUID = pz.GUID_pracownika
		JOIN
			Pracownicy P on P.GUID = o.GUID
		where 
		    pz.GUID = _GUID
	
		;
	
	END IF;
	
	
END$$

DELIMITER ;


