DELIMITER $$

DROP PROCEDURE IF EXISTS `pl_pres_czasplac`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `pl_pres_czasplac`(
		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 
		DECLARE _SQLText TEXT;
		DECLARE _IfUzu VARCHAR(150);
		DECLARE _IfUzu2 VARCHAR(150);
		DECLARE _WhereRok VARCHAR(150);
		DECLARE _WyplataNastepnyMsc INT;
		
			
		/*
		call pl_pres_czasplac('Prepare', 'Prac791', 2012, '', 'month(pl.datawyplaty)', '');
		call pl_pres_czasplac('Prepare', 'Prac791', 2012, '', 'month(pl.datawyplaty)', 'ZREMB.extra');
		*/
		IF (_MODE = 'Prepare') THEN

			SET _IfUzu = IF(LOCATE('datawyplaty',_Param_A) > 0, ' or (pl.miesiac=12 and pl.rok=##rok##-1) ', '');
			SET _IfUzu = REPLACE(_IfUzu, '##rok##', _Rok);
			
			IF (LOCATE('datawyplaty', _Param_A) > 0) THEN
					SET _WhereRok = CONCAT('(YEAR(pl.datawyplaty)= ', _Rok,') ');
					SET _IfUzu2 = ' or (pl.miesiac+1=13 and pl.rok=##rok##-1) ';
				ELSE
					SET _WhereRok = CONCAT('(pl.rok= ', _Rok,') ');
					SET _IfUzu2 = ' ';
			END IF;  															
			SET _IfUzu2 = REPLACE(_IfUzu2, '##rok##', _Rok);
									
			SELECT WyplataWnastepnymMscu from Pracownicy where guid = _GUID into _WyplataNastepnyMsc;
			
			DROP TEMPORARY TABLE IF EXISTS t_presczasplac;
			
			-- utworzenie tabeli tymczasowej
			CREATE TEMPORARY TABLE t_presczasplac(
				nazwa_skladnika varchar(200),
				kol_01 double(16,4),
				kol_02 double(16,4),
				kol_03 double(16,4),
				kol_04 double(16,4),
				kol_05 double(16,4),
				kol_06 double(16,4),
				kol_07 double(16,4),
				kol_08 double(16,4),
				kol_09 double(16,4),
				kol_10 double(16,4),
				kol_11 double(16,4),
				kol_12 double(16,4),
				razem double(16,4)
			);
			/*	select 
				left('dni�wka godz. ',200) as nazwa_skladnika,
				sum(if(month(rok_msc_dzien)=1, fo.godziny, 0))/60 as kol_01, 
				sum(if(month(rok_msc_dzien)=2, fo.godziny, 0))/60 as kol_02, 
				sum(if(month(rok_msc_dzien)=3, fo.godziny, 0))/60 as kol_03,
				sum(if(month(rok_msc_dzien)=4, fo.godziny, 0))/60 as kol_04,
				sum(if(month(rok_msc_dzien)=5, fo.godziny, 0))/60 as kol_05,
				sum(if(month(rok_msc_dzien)=6, fo.godziny, 0))/60 as kol_06,
				sum(if(month(rok_msc_dzien)=7, fo.godziny, 0))/60 as kol_07,
				sum(if(month(rok_msc_dzien)=8, fo.godziny, 0))/60 as kol_08,
				sum(if(month(rok_msc_dzien)=9, fo.godziny, 0))/60 as kol_09,
				sum(if(month(rok_msc_dzien)=10, fo.godziny, 0))/60 as kol_10,
				sum(if(month(rok_msc_dzien)=11, fo.godziny, 0))/60 as kol_11,
				sum(if(month(rok_msc_dzien)=12, fo.godziny, 0))/60 as kol_12,
				sum(fo.godziny)/60 as razem 
				from 
					frekw f, frekw_po fo 
				where 
					f.deleted=0 and f.guid=fo.frekwguid and 
					f.rok = _Rok and f.PracGUID = _GUID
				;    
			
			DELETE FROM t_presczasplac;  */
			
			IF IFNULL(_Param_B, '') = 'ZREMB.extra' THEN
			/*	- czas pracy nominalnej
				- czas pracy - nadgodziny +50%
				- czas pracy - nadgodziny +100%
				- czas pracy w nocy
				- czas absencji w rozbiciu na 4-ry grupy absencji zawieraj�ce absencje typu: 

					 a) C + L + K + R + Z + U (absencje chorobowe z r�nych tytu��w)
					 b) W + G + O + D + T (urlopy wypoczynkowe, 	okoliczno�ciowe itp)
					 c) B + N + A (absencje usprawiedliwione niep�atne)
					 d) urlop macierzy�ski + zasi�ek wychowawczy

			*/
				INSERT INTO t_presczasplac
				SELECT 
					'czas pracy nomin.' AS nazwa_skladnika,
					SUM(if(f.miesiac = 1, f.godz100prac, 0)/60) as kol_01, 
					SUM(if(f.miesiac = 2, f.godz100prac, 0)/60) as kol_02, 
					SUM(if(f.miesiac = 3, f.godz100prac, 0)/60) as kol_03, 
					SUM(if(f.miesiac = 4, f.godz100prac, 0)/60) as kol_04, 
					SUM(if(f.miesiac = 5, f.godz100prac, 0)/60) as kol_05, 
					SUM(if(f.miesiac = 6, f.godz100prac, 0)/60) as kol_06, 
					SUM(if(f.miesiac = 7, f.godz100prac, 0)/60) as kol_07, 
					SUM(if(f.miesiac = 8, f.godz100prac, 0)/60) as kol_08, 
					SUM(if(f.miesiac = 9, f.godz100prac, 0)/60) as kol_09, 
					SUM(if(f.miesiac = 10, f.godz100prac, 0)/60) as kol_10, 
					SUM(if(f.miesiac = 11, f.godz100prac, 0)/60) as kol_11, 
					SUM(if(f.miesiac = 12, f.godz100prac, 0)/60) as kol_12,
					SUM(f.godz100prac)/60 AS razem 					
				from 
					frekw f  -- , frekw_po fo 
				where 
					f.deleted = 0 -- and f.guid=fo.frekwguid and 
					and f.rok = _Rok and f.PracGUID = _GUID
				GROUP BY 	f.PracGUID 	
				;
				
				INSERT INTO t_presczasplac
				SELECT 
					'nadgodziny +50%' AS nazwa_skladnika,
					SUM(if(f.miesiac = 1, f.godz_plus50prac, 0)/60) as kol_01, 
					SUM(if(f.miesiac = 2, f.godz_plus50prac, 0)/60) as kol_02, 
					SUM(if(f.miesiac = 3, f.godz_plus50prac, 0)/60) as kol_03, 
					SUM(if(f.miesiac = 4, f.godz_plus50prac, 0)/60) as kol_04, 
					SUM(if(f.miesiac = 5, f.godz_plus50prac, 0)/60) as kol_05, 
					SUM(if(f.miesiac = 6, f.godz_plus50prac, 0)/60) as kol_06, 
					SUM(if(f.miesiac = 7, f.godz_plus50prac, 0)/60) as kol_07, 
					SUM(if(f.miesiac = 8, f.godz_plus50prac, 0)/60) as kol_08, 
					SUM(if(f.miesiac = 9, f.godz_plus50prac, 0)/60) as kol_09, 
					SUM(if(f.miesiac = 10, f.godz_plus50prac, 0)/60) as kol_10, 
					SUM(if(f.miesiac = 11, f.godz_plus50prac, 0)/60) as kol_11, 
					SUM(if(f.miesiac = 12, f.godz_plus50prac, 0)/60) as kol_12,
					SUM(f.godz_plus50prac)/60 AS razem 
				from 
					frekw f  -- , frekw_po fo 
				where 
					f.deleted = 0 -- and f.guid=fo.frekwguid and 
					and f.rok = _Rok and f.PracGUID = _GUID
				GROUP BY 	f.PracGUID 					;
				
				INSERT INTO t_presczasplac
				SELECT 
					'nadgodziny +100%' AS nazwa_skladnika,
					SUM(if(f.miesiac = 1, f.godz_plus100wolne, 0)/60) as kol_01, 
					SUM(if(f.miesiac = 2, f.godz_plus100wolne, 0)/60) as kol_02, 
					SUM(if(f.miesiac = 3, f.godz_plus100wolne, 0)/60) as kol_03, 
					SUM(if(f.miesiac = 4, f.godz_plus100wolne, 0)/60) as kol_04, 
					SUM(if(f.miesiac = 5, f.godz_plus100wolne, 0)/60) as kol_05, 
					SUM(if(f.miesiac = 6, f.godz_plus100wolne, 0)/60) as kol_06, 
					SUM(if(f.miesiac = 7, f.godz_plus100wolne, 0)/60) as kol_07, 
					SUM(if(f.miesiac = 8, f.godz_plus100wolne, 0)/60) as kol_08, 
					SUM(if(f.miesiac = 9, f.godz_plus100wolne, 0)/60) as kol_09, 
					SUM(if(f.miesiac = 10, f.godz_plus100wolne, 0)/60) as kol_10, 
					SUM(if(f.miesiac = 11, f.godz_plus100wolne, 0)/60) as kol_11, 
					SUM(if(f.miesiac = 12, f.godz_plus100wolne, 0)/60) as kol_12,
					SUM(f.godz_plus100wolne)/60 AS razem 
				from 
					frekw f  -- , frekw_po fo 
				where 
					f.deleted = 0 -- and f.guid=fo.frekwguid and 
					and f.rok = _Rok and f.PracGUID = _GUID
				GROUP BY 	f.PracGUID 					;
				
				--	- czas pracy w nocy
				INSERT INTO t_presczasplac
				SELECT 
					'czas pracy w nocy' AS nazwa_skladnika,
					SUM(if(f.miesiac = 1, f.IleGodzinNocnych, 0)/60) as kol_01, 
					SUM(if(f.miesiac = 2, f.IleGodzinNocnych, 0)/60) as kol_02, 
					SUM(if(f.miesiac = 3, f.IleGodzinNocnych, 0)/60) as kol_03, 
					SUM(if(f.miesiac = 4, f.IleGodzinNocnych, 0)/60) as kol_04, 
					SUM(if(f.miesiac = 5, f.IleGodzinNocnych, 0)/60) as kol_05, 
					SUM(if(f.miesiac = 6, f.IleGodzinNocnych, 0)/60) as kol_06, 
					SUM(if(f.miesiac = 7, f.IleGodzinNocnych, 0)/60) as kol_07, 
					SUM(if(f.miesiac = 8, f.IleGodzinNocnych, 0)/60) as kol_08, 
					SUM(if(f.miesiac = 9, f.IleGodzinNocnych, 0)/60) as kol_09, 
					SUM(if(f.miesiac = 10, f.IleGodzinNocnych, 0)/60) as kol_10, 
					SUM(if(f.miesiac = 11, f.IleGodzinNocnych, 0)/60) as kol_11, 
					SUM(if(f.miesiac = 12, f.IleGodzinNocnych, 0)/60) as kol_12,
					SUM(f.IleGodzinNocnych)/60 AS razem 
				from 
					frekw f  -- , frekw_po fo 
				where 
					f.deleted = 0 -- and f.guid=fo.frekwguid and 
					and f.rok = _Rok and f.PracGUID = _GUID
				GROUP BY 	f.PracGUID 					;
			
				/*		- czas absencji w rozbiciu na 4-ry grupy absencji zawieraj�ce absencje typu: 
					 a) C + L + K + R + Z + U (absencje chorobowe z r�nych tytu��w)
					 b) W + G + O + D + T (urlopy wypoczynkowe, 	okoliczno�ciowe itp)
					 c) B + N + A (absencje usprawiedliwione niep�atne)
					 d) urlop macierzy�ski + zasi�ek wychowawczy
				*/
				INSERT INTO t_presczasplac
				SELECT 
				'C + L + K + R + Z + U ' as nazwa_skladnika,  --   (absencje chorobowe z r�nych tytu��w)
				sum(if(month(rok_msc_dzien)=1 AND absencja IN ('C', 'L', 'K', 'R', 'Z', 'U'), fo.godz_absencji, 0))/60 as kol_01, 
				sum(if(month(rok_msc_dzien)=2 AND absencja IN ('C', 'L', 'K', 'R', 'Z', 'U'), fo.godz_absencji, 0))/60 as kol_02, 
				sum(if(month(rok_msc_dzien)=3 AND absencja IN ('C', 'L', 'K', 'R', 'Z', 'U'), fo.godz_absencji, 0))/60 as kol_03,
				sum(if(month(rok_msc_dzien)=4 AND absencja IN ('C', 'L', 'K', 'R', 'Z', 'U'), fo.godz_absencji, 0))/60 as kol_04,
				sum(if(month(rok_msc_dzien)=5 AND absencja IN ('C', 'L', 'K', 'R', 'Z', 'U'), fo.godz_absencji, 0))/60 as kol_05,
				sum(if(month(rok_msc_dzien)=6 AND absencja IN ('C', 'L', 'K', 'R', 'Z', 'U'), fo.godz_absencji, 0))/60 as kol_06,
				sum(if(month(rok_msc_dzien)=7 AND absencja IN ('C', 'L', 'K', 'R', 'Z', 'U'), fo.godz_absencji, 0))/60 as kol_07,
				sum(if(month(rok_msc_dzien)=8 AND absencja IN ('C', 'L', 'K', 'R', 'Z', 'U'), fo.godz_absencji, 0))/60 as kol_08,
				sum(if(month(rok_msc_dzien)=9 AND absencja IN ('C', 'L', 'K', 'R', 'Z', 'U'), fo.godz_absencji, 0))/60 as kol_09,
				sum(if(month(rok_msc_dzien)=10 AND absencja IN ('C', 'L', 'K', 'R', 'Z', 'U'), fo.godz_absencji, 0))/60 as kol_10,
				sum(if(month(rok_msc_dzien)=11 AND absencja IN ('C', 'L', 'K', 'R', 'Z', 'U'), fo.godz_absencji, 0))/60 as kol_11,
				sum(if(month(rok_msc_dzien)=12 AND absencja IN ('C', 'L', 'K', 'R', 'Z', 'U'), fo.godz_absencji, 0))/60 as kol_12,
				SUM(IF(fo.absencja IN ('C', 'L', 'K', 'R', 'Z', 'U'), fo.godz_absencji, 0))/60 as razem 
				from 
					frekw f, frekw_po fo 
				where 
					f.deleted=0 and f.guid=fo.frekwguid and 
					f.rok = _Rok and f.PracGUID = _GUID
				;    
				
				INSERT INTO t_presczasplac
				SELECT 
				'W + G + O + D + T ' as nazwa_skladnika,  --  ('W', 'G', 'O', 'D', 'T')
				sum(if(month(rok_msc_dzien)=1 AND absencja IN ('W', 'G', 'O', 'D', 'T'), fo.godz_absencji, 0))/60 as kol_01, 
				sum(if(month(rok_msc_dzien)=2 AND absencja IN ('W', 'G', 'O', 'D', 'T'), fo.godz_absencji, 0))/60 as kol_02, 
				sum(if(month(rok_msc_dzien)=3 AND absencja IN ('W', 'G', 'O', 'D', 'T'), fo.godz_absencji, 0))/60 as kol_03,
				sum(if(month(rok_msc_dzien)=4 AND absencja IN ('W', 'G', 'O', 'D', 'T'), fo.godz_absencji, 0))/60 as kol_04,
				sum(if(month(rok_msc_dzien)=5 AND absencja IN ('W', 'G', 'O', 'D', 'T'), fo.godz_absencji, 0))/60 as kol_05,
				sum(if(month(rok_msc_dzien)=6 AND absencja IN ('W', 'G', 'O', 'D', 'T'), fo.godz_absencji, 0))/60 as kol_06,
				sum(if(month(rok_msc_dzien)=7 AND absencja IN ('W', 'G', 'O', 'D', 'T'), fo.godz_absencji, 0))/60 as kol_07,
				sum(if(month(rok_msc_dzien)=8 AND absencja IN ('W', 'G', 'O', 'D', 'T'), fo.godz_absencji, 0))/60 as kol_08,
				sum(if(month(rok_msc_dzien)=9 AND absencja IN ('W', 'G', 'O', 'D', 'T'), fo.godz_absencji, 0))/60 as kol_09,
				sum(if(month(rok_msc_dzien)=10 AND absencja IN ('W', 'G', 'O', 'D', 'T'), fo.godz_absencji, 0))/60 as kol_10,
				sum(if(month(rok_msc_dzien)=11 AND absencja IN ('W', 'G', 'O', 'D', 'T'), fo.godz_absencji, 0))/60 as kol_11,
				sum(if(month(rok_msc_dzien)=12 AND absencja IN ('W', 'G', 'O', 'D', 'T'), fo.godz_absencji, 0))/60 as kol_12,
				SUM(IF(fo.absencja IN ('W', 'G', 'O', 'D', 'T'), fo.godz_absencji, 0))/60 as razem 
				from 
					frekw f, frekw_po fo 
				where 
					f.deleted=0 and f.guid = fo.frekwguid and 
					f.rok = _Rok and f.PracGUID = _GUID
				;   

				--  c) B + N + A (absencje usprawiedliwione niep�atne)	
				INSERT INTO t_presczasplac
				SELECT 
				'B + N + A ' as nazwa_skladnika,  --  ('B', 'N', 'A')
				sum(if(month(rok_msc_dzien)=1 AND absencja IN ('B', 'N', 'A'), fo.godz_absencji, 0))/60 as kol_01, 
				sum(if(month(rok_msc_dzien)=2 AND absencja IN ('B', 'N', 'A'), fo.godz_absencji, 0))/60 as kol_02, 
				sum(if(month(rok_msc_dzien)=3 AND absencja IN ('B', 'N', 'A'), fo.godz_absencji, 0))/60 as kol_03,
				sum(if(month(rok_msc_dzien)=4 AND absencja IN ('B', 'N', 'A'), fo.godz_absencji, 0))/60 as kol_04,
				sum(if(month(rok_msc_dzien)=5 AND absencja IN ('B', 'N', 'A'), fo.godz_absencji, 0))/60 as kol_05,
				sum(if(month(rok_msc_dzien)=6 AND absencja IN ('B', 'N', 'A'), fo.godz_absencji, 0))/60 as kol_06,
				sum(if(month(rok_msc_dzien)=7 AND absencja IN ('B', 'N', 'A'), fo.godz_absencji, 0))/60 as kol_07,
				sum(if(month(rok_msc_dzien)=8 AND absencja IN ('B', 'N', 'A'), fo.godz_absencji, 0))/60 as kol_08,
				sum(if(month(rok_msc_dzien)=9 AND absencja IN ('B', 'N', 'A'), fo.godz_absencji, 0))/60 as kol_09,
				sum(if(month(rok_msc_dzien)=10 AND absencja IN ('B', 'N', 'A'), fo.godz_absencji, 0))/60 as kol_10,
				sum(if(month(rok_msc_dzien)=11 AND absencja IN ('B', 'N', 'A'), fo.godz_absencji, 0))/60 as kol_11,
				sum(if(month(rok_msc_dzien)=12 AND absencja IN ('B', 'N', 'A'), fo.godz_absencji, 0))/60 as kol_12,
				SUM(IF(fo.absencja IN ('B', 'N', 'A'), fo.godz_absencji, 0))/60 as razem 
				from 
					frekw f, frekw_po fo 
				where 
					f.deleted=0 and f.guid = fo.frekwguid and 
					f.rok = _Rok and f.PracGUID = _GUID				;   
					
				-- d) urlop macierzy�ski + zasi�ek wychowawczy	('M', 'Y')
				INSERT INTO t_presczasplac
				SELECT 
				'M + Y ' as nazwa_skladnika,  --  ('M', 'Y')
				sum(if(month(rok_msc_dzien)=1 AND absencja IN ('M', 'Y'), fo.godz_absencji, 0))/60 as kol_01, 
				sum(if(month(rok_msc_dzien)=2 AND absencja IN ('M', 'Y'), fo.godz_absencji, 0))/60 as kol_02, 
				sum(if(month(rok_msc_dzien)=3 AND absencja IN ('M', 'Y'), fo.godz_absencji, 0))/60 as kol_03,
				sum(if(month(rok_msc_dzien)=4 AND absencja IN ('M', 'Y'), fo.godz_absencji, 0))/60 as kol_04,
				sum(if(month(rok_msc_dzien)=5 AND absencja IN ('M', 'Y'), fo.godz_absencji, 0))/60 as kol_05,
				sum(if(month(rok_msc_dzien)=6 AND absencja IN ('M', 'Y'), fo.godz_absencji, 0))/60 as kol_06,
				sum(if(month(rok_msc_dzien)=7 AND absencja IN ('M', 'Y'), fo.godz_absencji, 0))/60 as kol_07,
				sum(if(month(rok_msc_dzien)=8 AND absencja IN ('M', 'Y'), fo.godz_absencji, 0))/60 as kol_08,
				sum(if(month(rok_msc_dzien)=9 AND absencja IN ('M', 'Y'), fo.godz_absencji, 0))/60 as kol_09,
				sum(if(month(rok_msc_dzien)=10 AND absencja IN ('M', 'Y'), fo.godz_absencji, 0))/60 as kol_10,
				sum(if(month(rok_msc_dzien)=11 AND absencja IN ('M', 'Y'), fo.godz_absencji, 0))/60 as kol_11,
				sum(if(month(rok_msc_dzien)=12 AND absencja IN ('M', 'Y'), fo.godz_absencji, 0))/60 as kol_12,
				SUM(IF(fo.absencja IN ('M', 'Y'), fo.godz_absencji, 0))/60 as razem 
				from 
					frekw f, frekw_po fo 
				where 
					f.deleted=0 and f.guid = fo.frekwguid and 
					f.rok = _Rok and f.PracGUID = _GUID				;   
			
			END IF;  -- IF IFNULL(_Param_B, '') = 'ZREMB.extra' THEN
			
			-- dniowka
			SET _SQLText =	
				"INSERT INTO t_presczasplac
				select left('dniówka godz.  ',200) as nazwa_skladnika, 
				sum(if(##paramb##=1 , fo.godziny, 0))/60 as kol_01, 
				sum(if(##paramb##=2, fo.godziny, 0))/60 as kol_02, 
				sum(if(##paramb##=3, fo.godziny, 0))/60 as kol_03, 
				sum(if(##paramb##=4, fo.godziny, 0))/60 as kol_04, 
				sum(if(##paramb##=5, fo.godziny, 0))/60 as kol_05, 
				sum(if(##paramb##=6, fo.godziny, 0))/60 as kol_06, 
				sum(if(##paramb##=7, fo.godziny, 0))/60 as kol_07, 
				sum(if(##paramb##=8, fo.godziny, 0))/60 as kol_08, 
				sum(if(##paramb##=9, fo.godziny, 0))/60 as kol_09, 
				sum(if(##paramb##=10, fo.godziny, 0))/60 as kol_10,
				sum(if(##paramb##=11, fo.godziny, 0))/60 as kol_11,
				sum(if(##paramb##=12 , fo.godziny, 0))/60 as kol_12,
				sum(fo.godziny)/60 as razem 
				FROM v_frekw_po fo
				LEFT JOIN place pl  ON pl.guid=fo.GUIDplac
				LEFT JOIN Pracownicy P on P.GUID = fo.PracGUID
				LEFT JOIN listy_plac LP ON LP.idn =pl.nrlisty 
				WHERE 
					#whererok# and fo.PracGUID = ##osobaGUID##
					AND LP.lista_glowna=1				;
				";
							
				SET @_WyplataNastepnyMsc = _WyplataNastepnyMsc;
				IF (LOCATE('datawyplaty',_Param_A)>0) THEN
					SET _SQLText = REPLACE(_SQLText, '##paramb##', 'MONTH(pl.datawyplaty)');
				ELSE
					SET _SQLText = REPLACE(_SQLText, '##paramb##', 'pl.miesiac');
				END IF;

				

				SET _SQLText = REPLACE(_SQLText, '##ifuzu##', _IfUzu2);
				SET _SQLText = REPLACE(_SQLText, '##rok##', _Rok);
				SET _SQLText = REPLACE(_SQLText, "##osobaGUID##", concat("'",_GUID,"'"));
				SET _SQLText = REPLACE(_SQLText, '#whererok#', _WhereRok);
						
				SET @_SQLText01 = _SQLText;
				CALL _ExecuteCmd(_SQLText, @Error);
          
							
			SET _SQLText =	
				"INSERT INTO t_presczasplac
				select 'urlop wyp. godz.' as nazwa_skladnika, 
				sum(if(##paramb##=1, f.W_godz/60, 0)) as kol_01, 
				sum(if(##paramb##=2, f.W_godz/60, 0)) as kol_02, 
				sum(if(##paramb##=3, f.W_godz/60, 0)) as kol_03, 
				sum(if(##paramb##=4, f.W_godz/60, 0)) as kol_04, 
				sum(if(##paramb##=5, f.W_godz/60, 0)) as kol_05, 
				sum(if(##paramb##=6, f.W_godz/60, 0)) as kol_06, 
				sum(if(##paramb##=7, f.W_godz/60, 0)) as kol_07, 
				sum(if(##paramb##=8, f.W_godz/60, 0)) as kol_08, 
				sum(if(##paramb##=09, f.W_godz/60, 0)) as kol_09,
				sum(if(##paramb##=10, f.W_godz/60, 0)) as kol_10,
				sum(if(##paramb##=11, f.W_godz/60, 0)) as kol_11,
				sum(if(##paramb##=12 and pl.rok=##rok##, f.W_godz/60, 0)) as kol_12,
				sum(f.W_godz)/8/60 as razem
				from 
					frekw f 
				LEFT JOIN place pl  ON pl.deleted=0 AND pl.rok=f.rok AND f.pracGUID = pl.GUID_pracownika AND f.miesiac=pl.miesiac
				LEFT JOIN listy_plac LP ON LP.idn =pl.nrlisty 
				where 
					f.deleted=0 and LP.lista_glowna=1 and
					#whererok# and f.PracGUID = ##osobaGUID##								
				;
				";
				
				
				IF (LOCATE('datawyplaty',_Param_A)>0) THEN
					SET _SQLText = REPLACE(_SQLText, '##paramb##', 'MONTH(pl.datawyplaty)');
				ELSE
					SET _SQLText = REPLACE(_SQLText, '##paramb##', 'pl.miesiac');
				END IF;
				
			    /*  to bylo juz wczesniej
				IF (LOCATE('datawyplaty',_Param_A)>0) THEN
					SET _IfUzu2 = ' or (pl.miesiac+1=13 and pl.rok=##rok##-1) ';
				ELSE
					SET _IfUzu2 = ' ';
				END IF;			
				SET _IfUzu2 = REPLACE(_IfUzu2, '##rok##', _Rok);  */
				
				
				SET _SQLText = REPLACE(_SQLText, '##ifuzu##', _IfUzu2);
				SET _SQLText = REPLACE(_SQLText, '##rok##', _Rok);
				SET _SQLText = REPLACE(_SQLText, "##osobaGUID##", concat("'",_GUID,"'"));
				SET _SQLText = REPLACE(_SQLText, '#whererok#', _WhereRok);
				
				SET @_SQLText = _SQLText;
				CALL _ExecuteCmd(_SQLText, @Error);

				-- skladniki placy "dodatnie" tj. wyp�acone
				SET _SQLText =	
				"INSERT INTO t_presczasplac
				select dsp.nazwa as nazwa_skladnika, 
				sum(if(##paramb##=1, ps.kwota + ps.ZmniejszZwieksz, 0)) as kol_01, 
				sum(if(##paramb##=2, ps.kwota + ps.ZmniejszZwieksz, 0)) as kol_02, 
				sum(if(##paramb##=3, ps.kwota + ps.ZmniejszZwieksz, 0)) as kol_03, 
				sum(if(##paramb##=4, ps.kwota + ps.ZmniejszZwieksz, 0)) as kol_04, 
				sum(if(##paramb##=5, ps.kwota + ps.ZmniejszZwieksz, 0)) as kol_05, 
				sum(if(##paramb##=6, ps.kwota + ps.ZmniejszZwieksz, 0)) as kol_06, 
				sum(if(##paramb##=7, ps.kwota + ps.ZmniejszZwieksz, 0)) as kol_07, 
				sum(if(##paramb##=8, ps.kwota + ps.ZmniejszZwieksz, 0)) as kol_08, 
				sum(if(##paramb##=9, ps.kwota + ps.ZmniejszZwieksz, 0)) as kol_09, 
				sum(if(##paramb##=10, ps.kwota + ps.ZmniejszZwieksz, 0)) as kol_10,
				sum(if(##paramb##=11, ps.kwota + ps.ZmniejszZwieksz, 0)) as kol_11,
				sum(if(##paramb##=12, ps.kwota + ps.ZmniejszZwieksz, 0)) as kol_12,
				sum(ps.kwota) as razem 
				from definicja_skladnika_placy dsp 
				join place_skladniki ps on dsp.guid=ps.GUID_definicja_skladnika_placy 
				join place pl  on ps.GUID_zapisu_placowego = pl.guid  and pl.deleted=0 
				where 
					(#whererok#) and pl.GUID_pracownika = ##osobaGUID##
				and ((dsp.GUID not in ('C_15','C_16','C_17','C_18','C_19','C_20')) and (ps.RodzajSkladnika <> 4)) 
				and #ZREMB.extra#   -- bez innych dodatkow
				group by 
					dsp.guid 
				ORDER BY ps.RodzajSkladnika, dsp.GUID;
				";

				SET _SQLText = REPLACE(_SQLText, '##ifuzu##', _IfUzu);
				SET _SQLText = REPLACE(_SQLText, '##paramb##', _Param_A);
				SET _SQLText = REPLACE(_SQLText, '##rok##', _Rok);
				SET _SQLText = REPLACE(_SQLText, "##osobaGUID##", concat("'",_GUID,"'"));
				SET _SQLText = REPLACE(_SQLText, '#whererok#', _WhereRok);
				SET _SQLText = REPLACE(_SQLText, '#ZREMB.extra#', IF(IFNULL(_Param_B, '') = 'ZREMB.extra', '(ps.RodzajSkladnika <> 5)', TRUE) );
				
				SET @_SQLText_dod = _SQLText;
				CALL _ExecuteCmd(_SQLText, @Error);
				
												
			-- # KwotaBrutto bez skladek pracow.
			SET _SQLText =	
				"INSERT INTO t_presczasplac
				select 'Razem Brutto' as nazwa_skladnika, 
				sum(if(##paramb##=1, pl.KwotaBrutto + pl.RazemSkladkiPracownika, 0)) as kol_01, 
				sum(if(##paramb##=2, pl.KwotaBrutto + pl.RazemSkladkiPracownika, 0)) as kol_02, 
				sum(if(##paramb##=3, pl.KwotaBrutto + pl.RazemSkladkiPracownika, 0)) as kol_03, 
				sum(if(##paramb##=4, pl.KwotaBrutto + pl.RazemSkladkiPracownika, 0)) as kol_04, 
				sum(if(##paramb##=5, pl.KwotaBrutto + pl.RazemSkladkiPracownika, 0)) as kol_05, 
				sum(if(##paramb##=6, pl.kwotaBrutto + pl.RazemSkladkiPracownika, 0)) as kol_06, 
				sum(if(##paramb##=7, pl.kwotaBrutto + pl.RazemSkladkiPracownika, 0)) as kol_07, 
				sum(if(##paramb##=8, pl.kwotaBrutto + pl.RazemSkladkiPracownika, 0)) as kol_08, 
				sum(if(##paramb##=9, pl.kwotaBrutto + pl.RazemSkladkiPracownika, 0)) as kol_09, 
				sum(if(##paramb##=10, pl.kwotaBrutto + pl.RazemSkladkiPracownika, 0)) as kol_10,
				sum(if(##paramb##=11, pl.kwotaBrutto + pl.RazemSkladkiPracownika, 0)) as kol_11,
				sum(if(##paramb##=12 and pl.rok=##rok##, pl.kwotaBrutto + pl.RazemSkladkiPracownika, 0)) as kol_12,
				sum(pl.kwotaBrutto + pl.RazemSkladkiPracownika) as razem 
				from place pl  where 
				#whererok# and pl.GUID_pracownika = ##osobaGUID##  and pl.deleted=0;
				";
							
				SET _SQLText = REPLACE(_SQLText, '##ifuzu##', _IfUzu);
				SET _SQLText = REPLACE(_SQLText, '##paramb##', _Param_A);
				SET _SQLText = REPLACE(_SQLText, '##rok##', _Rok);
				SET _SQLText = REPLACE(_SQLText, "##osobaGUID##", concat("'",_GUID,"'"));
				SET _SQLText = REPLACE(_SQLText, '#whererok#', _WhereRok);			
				SET @_SQLText = _SQLText;
				CALL _ExecuteCmd(_SQLText, @Error);
				
								
			--  KwotaBrutto
			SET _SQLText =	
				"INSERT INTO t_presczasplac
				select 'Brutto (bez skł.)' as nazwa_skladnika, 
				sum(if(##paramb##=1, pl.KwotaBrutto, 0)) as kol_01, 
				sum(if(##paramb##=2, pl.KwotaBrutto, 0)) as kol_02, 
				sum(if(##paramb##=3, pl.KwotaBrutto, 0)) as kol_03, 
				sum(if(##paramb##=4, pl.KwotaBrutto, 0)) as kol_04, 
				sum(if(##paramb##=5, pl.KwotaBrutto, 0)) as kol_05, 
				sum(if(##paramb##=6, pl.kwotaBrutto, 0)) as kol_06, 
				sum(if(##paramb##=7, pl.kwotaBrutto, 0)) as kol_07, 
				sum(if(##paramb##=8, pl.kwotaBrutto, 0)) as kol_08, 
				sum(if(##paramb##=9, pl.kwotaBrutto, 0)) as kol_09, 
				sum(if(##paramb##=10, pl.kwotaBrutto, 0)) as kol_10,
				sum(if(##paramb##=11, pl.kwotaBrutto, 0)) as kol_11,
				sum(if(##paramb##=12 and pl.rok=##rok##, pl.kwotaBrutto, 0)) as kol_12,
				sum(pl.kwotaBrutto) as razem 
				from 
					place pl  
				LEFT JOIN listy_plac LP ON LP.idn =pl.nrlisty 	
				where (#whererok#) and pl.GUID_pracownika = ##osobaGUID##  
				and pl.deleted=0
				;
				";
	   
				SET _SQLText = REPLACE(_SQLText, '##ifuzu##', _IfUzu);
				SET _SQLText = REPLACE(_SQLText, '##paramb##', _Param_A);
				SET _SQLText = REPLACE(_SQLText, '##rok##', _Rok);
				SET _SQLText = REPLACE(_SQLText, "##osobaGUID##", concat("'",_GUID,"'"));
				SET _SQLText = REPLACE(_SQLText, '#whererok#', _WhereRok);
				
				SET @_SQLText = _SQLText;
				CALL _ExecuteCmd(_SQLText, @Error);
				
			IF(IFNULL(_Param_B, '') <> 'ZREMB.extra')  THEN	
												
			--  skladniki placy potr�cone
			SET _SQLText =	
				"INSERT INTO t_presczasplac
				select dsp.nazwa as nazwa_skladnika, 
				sum(if(##paramb##=1, ps.kwota + ps.ZmniejszZwieksz, 0)) as kol_01, 
				sum(if(##paramb##=2, ps.kwota + ps.ZmniejszZwieksz, 0)) as kol_02, 
				sum(if(##paramb##=3, ps.kwota + ps.ZmniejszZwieksz, 0)) as kol_03, 
				sum(if(##paramb##=4, ps.kwota + ps.ZmniejszZwieksz, 0)) as kol_04, 
				sum(if(##paramb##=5, ps.kwota + ps.ZmniejszZwieksz, 0)) as kol_05, 
				sum(if(##paramb##=6, ps.kwota + ps.ZmniejszZwieksz, 0)) as kol_06, 
				sum(if(##paramb##=7, ps.kwota + ps.ZmniejszZwieksz, 0)) as kol_07, 
				sum(if(##paramb##=8, ps.kwota + ps.ZmniejszZwieksz, 0)) as kol_08, 
				sum(if(##paramb##=9, ps.kwota + ps.ZmniejszZwieksz, 0)) as kol_09, 
				sum(if(##paramb##=10, ps.kwota + ps.ZmniejszZwieksz, 0)) as kol_10,
				sum(if(##paramb##=11, ps.kwota + ps.ZmniejszZwieksz, 0)) as kol_11,
				sum(if(##paramb##=12, ps.kwota + ps.ZmniejszZwieksz, 0)) as kol_12,
				sum(ps.kwota) as razem 
				from 
					definicja_skladnika_placy dsp 
				join place_skladniki ps on dsp.guid=ps.GUID_definicja_skladnika_placy 
				join place pl  on ps.GUID_zapisu_placowego = pl.guid 
				LEFT JOIN listy_plac LP ON LP.idn =pl.nrlisty 
				where (#whererok#) and pl.GUID_pracownika = ##osobaGUID##
				and pl.deleted=0 
				and ((dsp.GUID in ('C_15','C_16','C_17','C_18','C_19','C_20')) or (ps.RodzajSkladnika = 4)) 
				and dsp.deleted=0  
				group by dsp.guid 				;
				";  
											
				SET _SQLText = REPLACE(_SQLText, '##ifuzu##', _IfUzu);
				SET _SQLText = REPLACE(_SQLText, '##paramb##', _Param_A);
				SET _SQLText = REPLACE(_SQLText, '##rok##', _Rok);
				SET _SQLText = REPLACE(_SQLText, "##osobaGUID##", concat("'",_GUID,"'"));
				SET _SQLText = REPLACE(_SQLText, '#whererok#', _WhereRok);
				
				SET @_SQLTextX = _SQLText;
				CALL _ExecuteCmd(_SQLText, @Error);
				
				
			--  Zaliczka
			SET _SQLText =	
				"INSERT INTO t_presczasplac
				select 'Podatek dochod.' as nazwa_skladnika,
				sum(if(##paramb##=1, pl.Zaliczka, 0)) as kol_01, 
				sum(if(##paramb##=2, pl.Zaliczka, 0)) as kol_02, 
				sum(if(##paramb##=3, pl.Zaliczka, 0)) as kol_03, 
				sum(if(##paramb##=4, pl.Zaliczka, 0)) as kol_04, 
				sum(if(##paramb##=5, pl.Zaliczka, 0)) as kol_05, 
				sum(if(##paramb##=6, pl.Zaliczka, 0)) as kol_06, 
				sum(if(##paramb##=7, pl.Zaliczka, 0)) as kol_07, 
				sum(if(##paramb##=8, pl.Zaliczka, 0)) as kol_08, 
				sum(if(##paramb##=9, pl.Zaliczka, 0)) as kol_09, 
				sum(if(##paramb##=10, pl.Zaliczka, 0)) as kol_10,
				sum(if(##paramb##=11, pl.Zaliczka, 0)) as kol_11,
				sum(if(##paramb##=12, pl.Zaliczka, 0)) as kol_12,
				sum(pl.Zaliczka) as razem 
				from 
					place pl  
				where 
					(#whererok#) and pl.GUID_pracownika = ##osobaGUID##  and pl.deleted=0 
				;
				";
				
				SET _SQLText = REPLACE(_SQLText, '##ifuzu##', _IfUzu);
				SET _SQLText = REPLACE(_SQLText, '##paramb##', _Param_A);
				SET _SQLText = REPLACE(_SQLText, '##rok##', _Rok);
				SET _SQLText = REPLACE(_SQLText, "##osobaGUID##", concat("'",_GUID,"'"));
				SET _SQLText = REPLACE(_SQLText, '#whererok#', _WhereRok);
				SET @_SQLText = _SQLText;
				CALL _ExecuteCmd(_SQLText, @Error);		
	   

			--  SklFemerytalnyPracow
			SET _SQLText =	
				"INSERT INTO t_presczasplac
				select 'Skł. emerytalna' as nazwa_skladnika, 
				sum(if(##paramb##=1, pl.SklFemerytalnyPracow, 0)) as kol_01, 
				sum(if(##paramb##=2, pl.SklFemerytalnyPracow, 0)) as kol_02, 
				sum(if(##paramb##=3, pl.SklFemerytalnyPracow, 0)) as kol_03, 
				sum(if(##paramb##=4, pl.SklFemerytalnyPracow, 0)) as kol_04, 
				sum(if(##paramb##=5, pl.SklFemerytalnyPracow, 0)) as kol_05, 
				sum(if(##paramb##=6, pl.SklFemerytalnyPracow, 0)) as kol_06, 
				sum(if(##paramb##=7, pl.SklFemerytalnyPracow, 0)) as kol_07, 
				sum(if(##paramb##=8, pl.SklFemerytalnyPracow, 0)) as kol_08, 
				sum(if(##paramb##=9, pl.SklFemerytalnyPracow, 0)) as kol_09, 
				sum(if(##paramb##=10, pl.SklFemerytalnyPracow, 0)) as kol_10,
				sum(if(##paramb##=11, pl.SklFemerytalnyPracow, 0)) as kol_11,
				sum(if(##paramb##=12, pl.SklFemerytalnyPracow, 0)) as kol_12,
				sum(pl.SklFemerytalnyPracow) as razem 
				from place pl  
				LEFT JOIN listy_plac LP ON LP.idn =pl.nrlisty 
				where (#whererok#) and pl.GUID_pracownika = ##osobaGUID##  and pl.deleted=0  
				;
				";
				
				SET _SQLText = REPLACE(_SQLText, '##ifuzu##', _IfUzu);
				SET _SQLText = REPLACE(_SQLText, '##paramb##', _Param_A);
				SET _SQLText = REPLACE(_SQLText, '##rok##', _Rok);
				SET _SQLText = REPLACE(_SQLText, "##osobaGUID##", concat("'",_GUID,"'"));
				SET _SQLText = REPLACE(_SQLText, '#whererok#', _WhereRok);
				
				SET @_SQLText = _SQLText;
				CALL _ExecuteCmd(_SQLText, @Error);	   
			
			--  SklFemerytalnyPracow
			SET _SQLText =	
				"INSERT INTO t_presczasplac
				select 'Skł. emerytalna' as nazwa_skladnika, 
				sum(if(##paramb##=1, pl.SklFemerytalnyPracow, 0)) as kol_01, 
				sum(if(##paramb##=2, pl.SklFemerytalnyPracow, 0)) as kol_02, 
				sum(if(##paramb##=3, pl.SklFemerytalnyPracow, 0)) as kol_03, 
				sum(if(##paramb##=4, pl.SklFemerytalnyPracow, 0)) as kol_04, 
				sum(if(##paramb##=5, pl.SklFemerytalnyPracow, 0)) as kol_05, 
				sum(if(##paramb##=6, pl.SklFemerytalnyPracow, 0)) as kol_06, 
				sum(if(##paramb##=7, pl.SklFemerytalnyPracow, 0)) as kol_07, 
				sum(if(##paramb##=8, pl.SklFemerytalnyPracow, 0)) as kol_08, 
				sum(if(##paramb##=9, pl.SklFemerytalnyPracow, 0)) as kol_09, 
				sum(if(##paramb##=10, pl.SklFemerytalnyPracow, 0)) as kol_10,
				sum(if(##paramb##=11, pl.SklFemerytalnyPracow, 0)) as kol_11,
				sum(if(##paramb##=12, pl.SklFemerytalnyPracow, 0)) as kol_12,
				sum(pl.SklFemerytalnyPracow) as razem 
				from place pl  
				LEFT JOIN listy_plac LP ON LP.idn =pl.nrlisty 
				where (#whererok#) and pl.GUID_pracownika = ##osobaGUID##  and pl.deleted=0  
				;
				";

				-- SET _SQLText = REPLACE(_SQLText, '##ifuzu##', _IfUzu);
				
				IF (_WyplataNastepnyMsc = 1) and (LOCATE('datawyplaty',_Param_A)>0) THEN
					SET _SQLText = REPLACE(_SQLText, '##ifuzu##', _IfUzu);
				ELSE
					SET _SQLText = REPLACE(_SQLText, '##ifuzu##', '');
				END IF;			

				SET _SQLText = REPLACE(_SQLText, '##paramb##', _Param_A);
				SET _SQLText = REPLACE(_SQLText, '##rok##', _Rok);
				SET _SQLText = REPLACE(_SQLText, "##osobaGUID##", concat("'",_GUID,"'"));
				SET _SQLText = REPLACE(_SQLText, '#whererok#', _WhereRok);
				SET @_SQLText = _SQLText;
	--			CALL _ExecuteCmd(_SQLText, @Error);
				
			-- SklFrentowyPracow
			SET _SQLText =	
				"INSERT INTO t_presczasplac
				select 'Skł. rentowa' as nazwa_skladnika, 
				sum(if(##paramb##=1, pl.SklFrentowyPracow, 0)) as kol_01, 
				sum(if(##paramb##=2, pl.SklFrentowyPracow, 0)) as kol_02, 
				sum(if(##paramb##=3, pl.SklFrentowyPracow, 0)) as kol_03, 
				sum(if(##paramb##=4, pl.SklFrentowyPracow, 0)) as kol_04, 
				sum(if(##paramb##=5, pl.SklFrentowyPracow, 0)) as kol_05, 
				sum(if(##paramb##=6, pl.SklFrentowyPracow, 0)) as kol_06, 
				sum(if(##paramb##=7, pl.SklFrentowyPracow, 0)) as kol_07, 
				sum(if(##paramb##=8, pl.SklFrentowyPracow, 0)) as kol_08, 
				sum(if(##paramb##=9, pl.SklFrentowyPracow, 0)) as kol_09, 
				sum(if(##paramb##=10, pl.SklFrentowyPracow, 0)) as kol_10,
				sum(if(##paramb##=11, pl.SklFrentowyPracow, 0)) as kol_11,
				sum(if(##paramb##=12, pl.SklFrentowyPracow, 0)) as kol_12,
				sum(pl.SklFrentowyPracow) as razem 
				from 
				place pl 
				LEFT JOIN listy_plac LP ON LP.idn =pl.nrlisty 			
				where (#whererok#) and pl.GUID_pracownika = ##osobaGUID##   and pl.deleted=0 
				;
				";
				
				SET _SQLText = REPLACE(_SQLText, '##ifuzu##', _IfUzu);
				SET _SQLText = REPLACE(_SQLText, '##paramb##', _Param_A);
				SET _SQLText = REPLACE(_SQLText, '##rok##', _Rok);
				SET _SQLText = REPLACE(_SQLText, "##osobaGUID##", concat("'",_GUID,"'"));
				SET _SQLText = REPLACE(_SQLText, '#whererok#', _WhereRok);
				
				SET @_SQLText = _SQLText;
				CALL _ExecuteCmd(_SQLText, @Error);

			--  SklFchorobowyPracow			
			SET _SQLText =	
				"INSERT INTO t_presczasplac
				select 'Skł. chorobowa' as nazwa_skladnika, 
				sum(if(##paramb##=1, pl.SklFchorobowyPracow, 0)) as kol_01, 
				sum(if(##paramb##=2, pl.SklFchorobowyPracow, 0)) as kol_02, 
				sum(if(##paramb##=3, pl.SklFchorobowyPracow, 0)) as kol_03, 
				sum(if(##paramb##=4, pl.SklFchorobowyPracow, 0)) as kol_04, 
				sum(if(##paramb##=5, pl.SklFchorobowyPracow, 0)) as kol_05, 
				sum(if(##paramb##=6, pl.SklFchorobowyPracow, 0)) as kol_06, 
				sum(if(##paramb##=7, pl.SklFchorobowyPracow, 0)) as kol_07, 
				sum(if(##paramb##=8, pl.SklFchorobowyPracow, 0)) as kol_08, 
				sum(if(##paramb##=9, pl.SklFchorobowyPracow, 0)) as kol_09, 
				sum(if(##paramb##=10, pl.SklFchorobowyPracow, 0)) as kol_10,
				sum(if(##paramb##=11, pl.SklFchorobowyPracow, 0)) as kol_11,
				sum(if(##paramb##=12 and pl.rok=##rok##, pl.SklFchorobowyPracow, 0)) as kol_12,
				sum(pl.SklFchorobowyPracow) as razem 
				from 
					place pl  
				LEFT JOIN listy_plac LP ON LP.idn =pl.nrlisty 	
				where (#whererok#) and pl.GUID_pracownika = ##osobaGUID##  and pl.deleted=0  
			;
				";
								
				SET _SQLText = REPLACE(_SQLText, '##ifuzu##', _IfUzu);
				SET _SQLText = REPLACE(_SQLText, '##paramb##', _Param_A);
				SET _SQLText = REPLACE(_SQLText, '##rok##', _Rok);
				SET _SQLText = REPLACE(_SQLText, "##osobaGUID##", concat("'",_GUID,"'"));
				SET _SQLText = REPLACE(_SQLText, '#whererok#', _WhereRok);
				
				SET @_SQLText = _SQLText;
				CALL _ExecuteCmd(_SQLText, @Error);
	   
            /*	   
			--  SklFchorobowyPracow
			SET _SQLText =	
				"INSERT INTO t_presczasplac
				select 'Skł. chorobowa' as nazwa_skladnika, 
				sum(if(##paramb##=1, pl.SklFchorobowyPracow, 0)) as kol_01, 
				sum(if(##paramb##=2, pl.SklFchorobowyPracow, 0)) as kol_02, 
				sum(if(##paramb##=3, pl.SklFchorobowyPracow, 0)) as kol_03, 
				sum(if(##paramb##=4, pl.SklFchorobowyPracow, 0)) as kol_04, 
				sum(if(##paramb##=5, pl.SklFchorobowyPracow, 0)) as kol_05, 
				sum(if(##paramb##=6, pl.SklFchorobowyPracow, 0)) as kol_06, 
				sum(if(##paramb##=7, pl.SklFchorobowyPracow, 0)) as kol_07, 
				sum(if(##paramb##=8, pl.SklFchorobowyPracow, 0)) as kol_08, 
				sum(if(##paramb##=9, pl.SklFchorobowyPracow, 0)) as kol_09, 
				sum(if(##paramb##=10, pl.SklFchorobowyPracow, 0)) as kol_10,
				sum(if(##paramb##=11, pl.SklFchorobowyPracow, 0)) as kol_11,
				sum(if(##paramb##=12, pl.SklFchorobowyPracow, 0)) as kol_12,
				sum(pl.SklFchorobowyPracow) as razem 
				from 
					place pl  
				where (#whererok#) and pl.GUID_pracownika = ##osobaGUID##  
				and pl.deleted=0 
				;
				";
				
				SET _SQLText = REPLACE(_SQLText, '##ifuzu##', _IfUzu);
				SET _SQLText = REPLACE(_SQLText, '##paramb##', _Param_A);
				SET _SQLText = REPLACE(_SQLText, '##rok##', _Rok);
				SET _SQLText = REPLACE(_SQLText, "##osobaGUID##", concat("'",_GUID,"'"));
				SET _SQLText = REPLACE(_SQLText, '#whererok#', _WhereRok);
				
				SET @_SQLText = _SQLText;
				
				-- CALL _ExecuteCmd(_SQLText, @Error);   */
					   
			--  skl. zdrowotn. - SklKasaChorychPracowPobr
			SET _SQLText =	
				"INSERT INTO t_presczasplac
				select 'Skł. zdrowotna 9%' as nazwa_skladnika, 
				sum(if(##paramb##=1, pl.SklKasaChorychPracowPobr, 0)) as kol_01, 
				sum(if(##paramb##=2, pl.SklKasaChorychPracowPobr, 0)) as kol_02, 
				sum(if(##paramb##=3, pl.SklKasaChorychPracowPobr, 0)) as kol_03, 
				sum(if(##paramb##=4, pl.SklKasaChorychPracowPobr, 0)) as kol_04, 
				sum(if(##paramb##=5, pl.SklKasaChorychPracowPobr, 0)) as kol_05, 
				sum(if(##paramb##=6, pl.SklKasaChorychPracowPobr, 0)) as kol_06, 
				sum(if(##paramb##=7, pl.SklKasaChorychPracowPobr, 0)) as kol_07, 
				sum(if(##paramb##=8, pl.SklKasaChorychPracowPobr, 0)) as kol_08, 
				sum(if(##paramb##=9, pl.SklKasaChorychPracowPobr, 0)) as kol_09, 
				sum(if(##paramb##=10, pl.SklKasaChorychPracowPobr, 0)) as kol_10,
				sum(if(##paramb##=11, pl.SklKasaChorychPracowPobr, 0)) as kol_11,
				sum(if(##paramb##=12, pl.SklKasaChorychPracowPobr, 0)) as kol_12,
				sum(pl.SklKasaChorychPracowPobr) as razem 
				from place pl  
				LEFT JOIN listy_plac LP ON LP.idn =pl.nrlisty 
				where (#whererok#) and pl.GUID_pracownika = ##osobaGUID##
				and pl.deleted=0 				;
				";

				
				SET _SQLText = REPLACE(_SQLText, '##ifuzu##', _IfUzu);
				SET _SQLText = REPLACE(_SQLText, '##paramb##', _Param_A);
				SET _SQLText = REPLACE(_SQLText, '##rok##', _Rok);
				SET _SQLText = REPLACE(_SQLText, "##osobaGUID##", concat("'",_GUID,"'"));
				SET _SQLText = REPLACE(_SQLText, '#whererok#', _WhereRok);
				SET @_SQLText = _SQLText;
				SET @_SQLText9 = _SQLText;
				CALL _ExecuteCmd(_SQLText, @Error);
				
			--  SklFrentowyPracod
			SET _SQLText =	
				"INSERT INTO t_presczasplac
				select 'Rentowe pracod.' as nazwa_skladnika, 
				sum(if(##paramb##=1 ##ifuzu##, pl.SklFrentowyPracod, 0)) as kol_01, 
				sum(if(##paramb##=2, pl.SklFrentowyPracod, 0)) as kol_02, 
				sum(if(##paramb##=3, pl.SklFrentowyPracod, 0)) as kol_03, 
				sum(if(##paramb##=4, pl.SklFrentowyPracod, 0)) as kol_04, 
				sum(if(##paramb##=5, pl.SklFrentowyPracod, 0)) as kol_05, 
				sum(if(##paramb##=6, pl.SklFrentowyPracod, 0)) as kol_06, 
				sum(if(##paramb##=7, pl.SklFrentowyPracod, 0)) as kol_07, 
				sum(if(##paramb##=8, pl.SklFrentowyPracod, 0)) as kol_08, 
				sum(if(##paramb##=9, pl.SklFrentowyPracod, 0)) as kol_09, 
				sum(if(##paramb##=10, pl.SklFrentowyPracod, 0)) as kol_10,
				sum(if(##paramb##=11, pl.SklFrentowyPracod, 0)) as kol_11,
				sum(if(##paramb##=12 and pl.rok=##rok##, pl.SklFrentowyPracod, 0)) as kol_12,
				sum(pl.SklFrentowyPracod) as razem  
				from place pl  
				LEFT JOIN listy_plac LP ON LP.idn =pl.nrlisty 
				where (#whererok#) and pl.GUID_pracownika = ##osobaGUID##  
				and pl.deleted=0; ";
	   								
				SET _SQLText = REPLACE(_SQLText, '##ifuzu##', _IfUzu);
				SET _SQLText = REPLACE(_SQLText, '##paramb##', _Param_A);
				SET _SQLText = REPLACE(_SQLText, '##rok##', _Rok);
				SET _SQLText = REPLACE(_SQLText, "##osobaGUID##", concat("'",_GUID,"'"));
				SET _SQLText = REPLACE(_SQLText, '#whererok#', _WhereRok);
				
				SET @_SQLText = _SQLText;
				CALL _ExecuteCmd(_SQLText, @Error);

			--  skl. zdrowotn. - SklKasaChorychPracowPobr
			SET _SQLText =	
				"INSERT INTO t_presczasplac
				select 'Skł. zdrowotna 7.75%' as nazwa_skladnika, 
				sum(if(##paramb##=1, pl.SklKasaChorOdlicz, 0)) as kol_01, 
				sum(if(##paramb##=2, pl.SklKasaChorOdlicz, 0)) as kol_02, 
				sum(if(##paramb##=3, pl.SklKasaChorOdlicz, 0)) as kol_03, 
				sum(if(##paramb##=4, pl.SklKasaChorOdlicz, 0)) as kol_04, 
				sum(if(##paramb##=5, pl.SklKasaChorOdlicz, 0)) as kol_05, 
				sum(if(##paramb##=6, pl.SklKasaChorOdlicz, 0)) as kol_06, 
				sum(if(##paramb##=7, pl.SklKasaChorOdlicz, 0)) as kol_07, 
				sum(if(##paramb##=8, pl.SklKasaChorOdlicz, 0)) as kol_08, 
				sum(if(##paramb##=9, pl.SklKasaChorOdlicz, 0)) as kol_09, 
				sum(if(##paramb##=10, pl.SklKasaChorOdlicz, 0)) as kol_10,
				sum(if(##paramb##=11, pl.SklKasaChorOdlicz, 0)) as kol_11,
				sum(if(##paramb##=12, pl.SklKasaChorOdlicz, 0)) as kol_12,
				sum(pl.SklKasaChorOdlicz) as razem 
				from place pl  
				LEFT JOIN listy_plac LP ON LP.idn =pl.nrlisty 
				where (#whererok#) and pl.GUID_pracownika = ##osobaGUID##  and pl.deleted=0 ;				";
	   	   			
				SET _SQLText = REPLACE(_SQLText, '##ifuzu##', _IfUzu);
				SET _SQLText = REPLACE(_SQLText, '##paramb##', _Param_A);
				SET _SQLText = REPLACE(_SQLText, '##rok##', _Rok);
				SET _SQLText = REPLACE(_SQLText, "##osobaGUID##", concat("'",_GUID,"'"));
				SET _SQLText = REPLACE(_SQLText, '#whererok#', _WhereRok);
				
				SET @_SQLText = _SQLText;
				CALL _ExecuteCmd(_SQLText, @Error);
	   
	   
	   --  DoWyplaty
			SET _SQLText =	
				"INSERT INTO t_presczasplac
				select 'Do Wypłaty' as nazwa_skladnika, 
				sum(if(##paramb##=1, pl.DoWyplaty, 0)) as kol_01, 
				sum(if(##paramb##=2, pl.DoWyplaty, 0)) as kol_02, 
				sum(if(##paramb##=3, pl.DoWyplaty, 0)) as kol_03, 
				sum(if(##paramb##=4, pl.DoWyplaty, 0)) as kol_04, 
				sum(if(##paramb##=5, pl.DoWyplaty, 0)) as kol_05, 
				sum(if(##paramb##=6, pl.DoWyplaty, 0)) as kol_06, 
				sum(if(##paramb##=7, pl.DoWyplaty, 0)) as kol_07, 
				sum(if(##paramb##=8, pl.DoWyplaty, 0)) as kol_08, 
				sum(if(##paramb##=9, pl.DoWyplaty, 0)) as kol_09, 
				sum(if(##paramb##=10, pl.DoWyplaty, 0)) as kol_10,
				sum(if(##paramb##=11, pl.DoWyplaty, 0)) as kol_11,
				sum(if(##paramb##=12, pl.DoWyplaty, 0)) as kol_12,
				sum(pl.DoWyplaty) as razem 
				from place pl  
				LEFT JOIN listy_plac LP ON LP.idn =pl.nrlisty
				where (#whererok#) and pl.GUID_pracownika = ##osobaGUID##  and pl.deleted=0;
				";
			
				SET _SQLText = REPLACE(_SQLText, '##ifuzu##', _IfUzu);
				SET _SQLText = REPLACE(_SQLText, '##paramb##', _Param_A);
				SET _SQLText = REPLACE(_SQLText, '##rok##', _Rok);
				SET _SQLText = REPLACE(_SQLText, "##osobaGUID##", concat("'",_GUID,"'"));
				SET _SQLText = REPLACE(_SQLText, '#whererok#', _WhereRok);
				
				SET @_SQLText = _SQLText;
				CALL _ExecuteCmd(_SQLText, @Error);
		END IF; -- IF(IFNULL(_Param_B, '') <> 'ZREMB.extra')  THEN			
			
		-- zwracamy tabele wynikowa (interesuja nas tylko rekordy o niezerowej kwocie lacznej)	
		SELECT DISTINCT * FROM t_presczasplac WHERE razem <> 0;

	END IF;
		
		
END$$

DELIMITER ;

