 /*!40101 SET NAMES utf8 */;
DELIMITER $$

DROP PROCEDURE IF EXISTS `fr_pl_frekwencja`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `fr_pl_frekwencja`(
	IN _MODE VARCHAR(150),
	IN _Rok INT,
	IN _Param_A VARCHAR(250),
	IN _Param_B VARCHAR(250),	
	IN _Param_C VARCHAR(250),	
	IN _Param_D VARCHAR(250),	
	IN _Param_E VARCHAR(250)
)
SPROC: BEGIN
	
/*
	Dotyczy
	wydrukow placowych zwiazanych z frekwencja
	MODE='BILANS_CZASU_PRACY' - to zestawienie dla Zrembu
	Ewidencja czasy pracy z godz. we-wy
*/
	
	DECLARE _ZMIENNA1 INTEGER DEFAULT 2;
	DECLARE _ZMIENNA2 VARCHAR(50) DEFAULT '';
	DECLARE _pracowal, _u1, _u2, _u3, _u4  INTEGER; -- zmienne u to urlopy w godzinach i dniach dla wydruku rocznego
	DECLARE _w_godz, _w_dni DOUBLE(16,4); -- urlopy wykorzystane

/* ******************************************************************************************
Karta Rocznej Ewidencji Czasu Pracy Pracownika
******************************************************************************************* */	

/*----------------------------------------------------------------------------------------------------------------	
	'PRINT_FREKW_ROK_KARTA_EWID_1'
	Roczna karta ewidencji czasu pracy pracownika (tabela roczna)
		Parametry
			_Param_A	GUID czegos
			_Param_E scenariusz wydruku
		CALL fr_pl_frekwencja('PRINT_FREKW_ROK_KARTA_EWID_1', 2010,'GUIDPrac', '', '', '', '');		

wymagany jest klucz 'Wydruki_Frekwencji_FR3'
Prace zaczal max wiele lat temu (2010?), nie jest to skonczone.
Wszystie trzy mody sa wywolywane przez program dla opcji Roczna karta ewidencji obecnosci < test (do poprawienia przez GP)
Przepinam się na inny mode, bo wydruk jest operty na corsstabelach a tam nie ma mozliwosci pelnej kontroli nad postacią.
Poza tym, procedura nie działa do końca dobrze bo nie pokazuje nieobecności. W efekcie szycbiej będzie przepiąć się na inny mod z innymi danymi i zrobić nowy szablon wydruku (bo postać ma być jednak podobna).
------------------------------------------------------------------------------------------------------------------*/	
	IF _MODE = 'PRINT_FREKW_ROK_KARTA_EWID_1' THEN
		-- _Param_A to guid pracownika, _Param_E to scenariusz
		CALL fr_pl_frekwencja('ROCZNA_KARTA_OBECNOSCI', _Rok,_Param_A, '', '', '', _Param_E);

	END IF;

	IF _MODE = 'PRINT_FREKW_ROK_KARTA_EWID_1_wylaczone' THEN -- sekcja wylaczona
	    DROP TABLE IF EXISTS temp_frekw1;
        CREATE TEMPORARY TABLE temp_frekw1 
        select    
        K.miesiac,K.dzien, o.Nazwisko, o.Imiona, SP.DisplayValue, K.guidng, 
        year(K.data) as rok,  P.GUID as pracguid, ifnull(p.godziny,-1) as godziny,   ifnull(concat(TRUNCATE(p.godziny/60,0)," ")," ") as godzinyStr, 
        ifnull(p.absencja,"") as absencjaStr, IFNULL(p.kp_info,K.info)  as kp_info 
        FROM kalendpracy  kn 
        JOIN kalendpracy_po K  ON K.guidng=kn.guid 
		JOIN Pracownicy P on P.GUID = _Param_A AND  kn.symbol = P.SymbolKalendarza 
		JOIN osoby o on o.GUID = P.guid 
        left join frekw f on K.GUIDNg=f.SymbKlnd and f.miesiac=K.miesiac and f.rok=year(K.data) and f.pracguid = P.GUID 
        left join frekw_po p on p.frekwguid=f.guid and p.dzien=K.dzien 
        left join slowniki_pierwotne SP on SP.Value=K.miesiac and SP.Slownik_GUID = 'MIESIACE'                 
        WHERE
		  K.data between CONCAT(_Rok,'-01-01') and CONCAT(_Rok,'-12-31')
        
        ORDER BY K.data;
		
        select * from temp_frekw1 order by dzien;

        DROP TABLE IF EXISTS temp_frekw1;

	END IF;	--	IF _MODE = 'PRINT_FREKW_ROK_KARTA_EWID_1'

/*--------------------------------------------------------------------------------------------------------------------
	'PRINT_FREKW_ROK_KARTA_EWID_2'
	Roczna karta ewidencji czasu pracy pracownika (tabela sumowania godzin pracy w danych trybach)
		Parametry
			_Param_A	GUID czegos
		CALL fr_pl_frekwencja('PRINT_FREKW_ROK_KARTA_EWID_2', 2010,'GUIDPrac', '', '', '', '');		
--------------------------------------------------------------------------------------------------------------------*/
	IF _MODE = 'PRINT_FREKW_ROK_KARTA_EWID_2' THEN
	    DROP TABLE IF EXISTS tmp_frekw2;
	    DROP TABLE IF EXISTS tmp_frekw21;
		
        CREATE TEMPORARY TABLE tmp_frekw2 
		  SELECT _VarInt(value) as miesiac, displayvalue as miesiacStr, 
          _VarInt(0) as NCP, _VarInt(0) as RCP, _VarInt(0) as noc, _VarInt(0) as Niedziele, _VarInt(0) as GodzNadliczb, 
          _VarInt(0) as Wolne, _VarInt(0) as Uspraw, _VarInt(0) as Nieuspraw  
          FROM slowniki_pierwotne SP where SP.Slownik_GUID='MIESIACE';
		  

        CREATE temporary table tmp_frekw21 
           select 
           miesiac, 
           _VarInt((select SUM(kp.godziny/60) from kalendpracy_po kp where kp.GUIDNg=P.SymbolKalendarza and kp.miesiac=f.miesiac )) as NCP, 
           _VarInt(SUM(godziny/60)) as RCP, 
           _VarInt(SUM(noc/60)) as noc, 
           _VarInt(SUM(godziny/60)) as Niedziele, 
           _VarInt(SUM(godziny150/60)) as GodzNadliczb, 
           _VarInt(sum(IF(absencja='D',1,0))) as Wolne, 
           _VarInt(sum(IF(absencja='N',1,0))) as Uspraw, 
           _VarInt(sum(IF(absencja='T',1,0))) as Nieuspraw 
           from frekw f 
           left join frekw_po p on p.FrekwGUID=f.GUID 
           join Pracownicy P on P.GUID=f.pracGUID 
           WHERE f.pracGUID=_Param_A and f.rok=_Rok
           group by f.miesiac;
		   
		UPDATE tmp_frekw2 t, tmp_frekw21 t2 
           set  
            t.NCP = t2.NCP, 
            t.RCP = t2.RCP, 
            t.noc = t2.noc, 
            t.Niedziele = t2.Niedziele, 
            t.GodzNadliczb = t2.GodzNadliczb, 
            t.Wolne = t2.Wolne, 
            t.Uspraw = t2.Uspraw, 
            t.Nieuspraw = t2.Nieuspraw 
        where t.miesiac=t2.miesiac;   
		  
        select * from tmp_frekw2 order by miesiac;

        DROP TABLE IF EXISTS tmp_frekw2;
	    DROP TABLE IF EXISTS tmp_frekw21;

	END IF;	--	IF _MODE = 'PRINT_FREKW_ROK_KARTA_EWID_2'

/*------------------------------------------------------------------------------------------------------------------
	'PRINT_FREKW_ROK_KARTA_EWID_3'
	Roczna karta ewidencji czasu pracy pracownika (tabela rozliczenia absencji w miesiacach sumarycznie)
		Parametry
			_Param_A	GUID czegos
		CALL fr_pl_frekwencja('PRINT_FREKW_ROK_KARTA_EWID_3', 2010,'GUIDPrac', '', '', '', '');		
-------------------------------------------------------------------------------------------------------------------*/
	IF _MODE = 'PRINT_FREKW_ROK_KARTA_EWID_3' THEN
		-- _Param_A to guid pracownika, _Param_E to scenariusz
		CALL fr_pl_frekwencja('ROCZNA_KARTA_OBECNOSCI_3', _Rok,_Param_A, '', '', '', _Param_E);

	END IF;


	IF _MODE = 'PRINT_FREKW_ROK_KARTA_EWID_3_wylaczone' THEN

		DROP TABLE IF EXISTS tmp_prn_zestaw_rok;
		DROP TABLE IF EXISTS tmp_tmp01;
		
		CREATE TEMPORARY TABLE tmp_tmp01
        select   f.miesiac, a.symbol, count(p.dzien) as dzien, sum(p.godziny) as godz 
        from absencje_dict a 
        join frekw_po p on p.absencja=a.symbol 
        join frekw f  on p.frekwguid=f.guid 
        left join slowniki_pierwotne SP on SP.Value=f.miesiac and SP.Slownik_GUID='MIESIACE' 
        where f.pracguid=_Param_A and f.rok=_Rok and f.deleted=0
        group by f.miesiac, a.symbol
        order by f.rok, f.miesiac, p.dzien;
		
		create temporary table tmp_prn_zestaw_rok 
        select d.symbol, d.definicja, _VarInt(SP.Value) as miesiac, _VarDouble(0) as godz, SP.DisplayValue , _VarInt(0) as Ilosc 
		from absencje_dict d  
        left join slowniki_pierwotne SP on SP.Slownik_GUID='MIESIACE' 
        order by miesiac, d.lp;
		
		update tmp_prn_zestaw_rok r, tmp_tmp01 p 
        set r.ilosc=p.dzien, r.godz=p.godz  
        where r.miesiac=p.miesiac and r.symbol=p.symbol;
		
        SELECT * FROM tmp_prn_zestaw_rok ORDER BY miesiac, symbol;

		DROP TABLE IF EXISTS tmp_prn_zestaw_rok;
		DROP TABLE IF EXISTS tmp_tmp01;

	END IF;	--	IF _MODE = 'PRINT_FREKW_ROK_KARTA_EWID_3'

/* ******************************************************************************************
Karta Ewidencji Obecnosci W Pracy
******************************************************************************************* */	

/*---------------------------------------------------------------------------------------------
	'PRINT_FREKW_KARTA_EWID_PRACY_PRAC_1'
	Karta Ewidencji Obecnosci W Pracy
		Parametry
			_Param_A	GUID frekwencji
		CALL fr_pl_frekwencja('PRINT_FREKW_KARTA_EWID_PRACY_PRAC_1', 2010,'FrekwGUID', '', '', '', '');		
---------------------------------------------------------------------------------------------*/
	IF _MODE = 'PRINT_FREKW_KARTA_EWID_PRACY_PRAC_1' THEN
		DROP TABLE if exists temp_frekw1;
		CREATE temporary table temp_frekw1 
          select SP.DisplayValue, p.dzien, p.absencja,  _VarInt(p.godziny/60) as godz,  _VarInt(p.noc/60) as noc from frekw_po p 
          join frekw f on f.guid=p.FrekwGUID  
          left join slowniki_pierwotne SP on SP.Value=f.miesiac and SP.Slownik_GUID='MIESIACE' 
          where f.guid=_Param_A;

		SELECT * from temp_frekw1 order by dzien;

		DROP TABLE if exists temp_frekw1;

	END IF;	--	IF _MODE = 'PRINT_FREKW_KARTA_EWID_PRACY_PRAC_1'
	
/*---------------------------------------------------------------------------------------------------------------
	'PRINT_FREKW_KARTA_EWID_PRACY_PRAC_2'
	Karta Ewidencji Obecnosci W Pracy
		Parametry
			_Param_A	GUID frekwencji
		CALL fr_pl_frekwencja('PRINT_FREKW_KARTA_EWID_PRACY_PRAC_2', 2010,'FrekwGUID', '', '', '', '');		
----------------------------------------------------------------------------------------------------------------*/
	IF _MODE = 'PRINT_FREKW_KARTA_EWID_PRACY_PRAC_2' THEN
		DROP TABLE if exists temp_frekw2;
		create temporary table temp_frekw2 
          select d.definicja, d.symbol, _VarInt((select count(*) from frekw_po p join frekw f on f.GUID=p.FrekwGUID 
           where f.guid=_Param_A and p.absencja=d.symbol)) as dni 
           from absencje_dict d order by d.symbol;
		SELECT * from temp_frekw2 order by symbol;   

		DROP TABLE if exists temp_frekw2;

	END IF;	--	IF _MODE = 'PRINT_FREKW_KARTA_EWID_PRACY_PRAC_2'
	
/*-------------------------------------------------------------------------------------------------------------
	'PRINT_FREKW_KARTA_EWID_PRACY_PRAC_3'
	Karta Ewidencji Obecnosci W Pracy
		Parametry
			_Param_A	GUID frekwencji
		CALL fr_pl_frekwencja('PRINT_FREKW_KARTA_EWID_PRACY_PRAC_3', 2010,'FrekwGUID', '', '', '', '');		
---------------------------------------------------------------------------------------------------------------*/
	IF _MODE = 'PRINT_FREKW_KARTA_EWID_PRACY_PRAC_3' THEN
		DROP TABLE if exists temp_frekw3;
		create temporary table temp_frekw3
           select o.Imiona, o.Nazwisko, o.dataurodzenia, P.datazatrudnieniawzakl, f.PracowalDni, f.rok, f.miesiac, f.PozostUrlopWypocz,  
           _VarInt(P.WymiarUrlopu+P.IleDniZaleglegoUrlopu-P.UrlopZaliczkowy) as DostepnyUrlop,  
           _VarDouble(MIN(1.0*(PozostUrlopWypoczGodz div IF(P.typniepelnospr > 1, 7, 8)) * 8 + 1.0*(PozostUrlopWypoczGodz mod IF(P.typniepelnospr > 1, 7, 8)))/8)  As D_H_Ust_PozostUrlWyp, 
           _VarInt(f.godz100prac/60) as godz100prac, _VarInt(f.godz_plus50prac/60) as godzplus50prac, _VarInt(f.godz_plus100prac/60) as godzplus100prac,  
           _VarInt((select sum(noc) from frekw_po p where p.FrekwGUID=f.GUID)/60) AS noc  
           from frekw f 
           join osoby o on o.GUID=f.pracguid 
           join Pracownicy P on P.GUID=o.GUID 
           where f.GUID=_Param_A;

		SELECT * from temp_frekw3;

		DROP TABLE if exists temp_frekw3;
		
	END IF;	--	IF _MODE = 'PRINT_FREKW_KARTA_EWID_PRACY_PRAC_3'
	
/*-----------------------------------------------------------------------------------------------------------------
	'WNIOSEK_WOLNE_ZA_NADGODZ'  Wniosek o udzielenie czasu wolnego za godz. nadliczbowe
	Karta Ewidencji Obecnosci W Pracy
		Parametry
		     GUIDy zrodlowe znajduja sie w tabeli `t_listaGUID`
			_Param_A	GUID frekwencji
		CALL fr_pl_frekwencja('WNIOSEK_WOLNE_ZA_NADGODZ', 0, @fGUID, '', '', '', '');		
------------------------------------------------------------------------------------------------------------------*/
	IF _MODE = 'WNIOSEK_WOLNE_ZA_NADGODZ' THEN
	
	SELECT 	
		f.pracGUID,  o.Nazwisko, o.Imiona, 	s.stanowisko,
		CONCAT(LPAD(f.miesiac, 2, '0'), '/', f.rok) AS MscRok,  f.P_godz,
		d.rok_msc_dzien, d.kp_godziny/60 AS kp_godziny
	FROM 
		frekw f
		JOIN osoby o ON o.GUID = f.pracGUID
		JOIN Pracownicy p ON p.GUID = o.GUID
		JOIN frekw_po d ON d.frekwguid = f.guid
		LEFT JOIN stanowiska s ON p.stanowisko = s.GUID 
		-- LEFT JOIN absencje a ON a.frekwGUID=f.GUID
		WHERE
			f.GUID = _Param_A	
			AND d.absencja='P'	;
		-- SELECT * from temp_frekw3;   
		
	END IF;	--	IF _MODE = 'WNIOSEK_WOLNE_ZA_NADGODZ'
	
	
/*-------------------------------------------------------
	'BILANS_CZASU_PRACY' - zestawienie oparte na fr3 dla Zrembu
  
--------------------------------------------------------*/
	IF _MODE = 'BILANS_CZASU_PRACY' THEN

		DROP TABLE IF EXISTS t01;
		CREATE TEMPORARY TABLE t01
		SELECT n.rok, n.miesiac, 
		kp.symbol,
		SUM((p.godziny-p.godziny150-p.godziny200)/60) AS godziny,
		1 AS rekord
		FROM frekw n
		INNER JOIN frekw_po p ON n.GUID=p.frekwGUID
		INNER JOIN Pracownicy pr ON pr.GUID=n.pracGUID
		INNER JOIN kategorie_pracownikow kp ON kp.idn=pr.KategoriaPracownicza
		WHERE n.rok=_Rok and n.deleted=0
		AND kp.symbol IN ('B DPR','P DPR','P DUR','U DPR')
		GROUP BY n.rok, n.miesiac, kp.symbol;

		INSERT INTO t01
		SELECT n.rok, n.miesiac, 
		kp.symbol,
		SUM(p.godziny150/60+p.godziny200/60) AS godziny,
		2 AS rekord
		FROM frekw n
		INNER JOIN frekw_po p ON n.GUID=p.frekwGUID
		INNER JOIN Pracownicy pr ON pr.GUID=n.pracGUID
		INNER JOIN kategorie_pracownikow kp ON kp.idn=pr.KategoriaPracownicza
		WHERE n.rok=_Rok and n.deleted=0
		AND kp.symbol IN ('B DPR','P DPR','P DUR','U DPR')
		GROUP BY n.rok, n.miesiac, kp.symbol;

		INSERT INTO t01
		SELECT n.rok, n.miesiac, 
		kp.symbol,
		SUM(IF(absencja IN ('W','G','S','O','D','T','E','A'),p.kp_godziny/60,0)) AS godziny,
		3 AS rekord
		FROM frekw n
		INNER JOIN frekw_po p ON n.GUID=p.frekwGUID
		INNER JOIN Pracownicy pr ON pr.GUID=n.pracGUID
		INNER JOIN kategorie_pracownikow kp ON kp.idn=pr.KategoriaPracownicza
		WHERE n.rok=_Rok and n.deleted=0
		AND kp.symbol IN ('B DPR','P DPR','P DUR','U DPR')
		GROUP BY n.rok, n.miesiac, kp.symbol;

		INSERT INTO t01
		SELECT n.rok, n.miesiac, 
		kp.symbol,
		SUM(IF(absencja IN ('C','M','R','Y','Z','U'),p.kp_godziny/60,0)) AS godziny, 
		4 AS rekord
		FROM frekw n
		INNER JOIN frekw_po p ON n.GUID=p.frekwGUID
		INNER JOIN Pracownicy pr ON pr.GUID=n.pracGUID
		INNER JOIN kategorie_pracownikow kp ON kp.idn=pr.KategoriaPracownicza
		WHERE n.rok=_Rok and n.deleted=0
		AND kp.symbol IN ('B DPR','P DPR','P DUR','U DPR')
		GROUP BY n.rok, n.miesiac, kp.symbol;


		DROP TABLE IF EXISTS t02;
		CREATE TEMPORARY TABLE t02 LIKE t01;
		INSERT INTO t02 SELECT * FROM t01;

		SELECT rok, miesiac,
			 CASE WHEN miesiac=1 THEN 'Styczen'
				  WHEN miesiac=2 THEN 'Luty'
				  WHEN miesiac=3 THEN 'Marzec'
				  WHEN miesiac=4 THEN 'Kwiecien'
				  WHEN miesiac=5 THEN 'Maj'
				  WHEN miesiac=6 THEN 'Czerwiec'
				  WHEN miesiac=7 THEN 'Lipiec'
				  WHEN miesiac=8 THEN 'Sierpien'
				  WHEN miesiac=9 THEN 'Wrzesien'
				  WHEN miesiac=10 THEN 'Pazdziernik'
				  WHEN miesiac=11 THEN 'Listopad'
				  WHEN miesiac=12 THEN 'Grudzien'
				  END AS mc_str,
		rekord,
			 CASE WHEN rekord=1 THEN 'Godz. przepracowane'
				  WHEN rekord=2 THEN 'Nadgodziny'
				  WHEN rekord=3 THEN 'Urlopy + inne'
				  WHEN rekord=4 THEN 'Chorobowe'
				  END AS rekord_str,
		SUM(IF(symbol='B DPR', godziny, 0)) AS a,
		SUM(IF(symbol='P DPR', godziny, 0)) AS b,
		SUM(IF(symbol='P DUR', godziny, 0)) AS c,
		SUM(IF(symbol='U DPR', godziny, 0)) AS d,
		SUM(godziny) AS e,
		(SELECT SUM(godziny) FROM t02 WHERE t02.rok=t01.rok AND t02.miesiac=t01.miesiac AND t02.rekord IN (3,4)) AS f
		FROM t01
		GROUP BY rok, miesiac, rekord
		ORDER BY rok, miesiac, rekord;

        DROP TABLE IF EXISTS t01;
        DROP TABLE IF EXISTS t02;

-- CALL fr_pl_frekwencja('BILANS_CZASU_PRACY', 2012,'', '', '', '', '');		

	END IF;	-- 'BILANS_CZASU_PRACY'

/*------------------------------------------------------------------------------------------------------------------
Karta Ewidencji Obecnosci W Pracy z godzinami wejscia-wyjscia
CALL fr_pl_frekwencja('EWIDENCJA_CZASU_PRACY_GODZ_WE_WY_NG', 0,'', '', '', '', '');
CALL fr_pl_frekwencja('EWIDENCJA_CZASU_PRACY_GODZ_WE_WY_PO', 0,'', '', '', '', '');

DROP TABLE t_listaGUID;
CREATE TEMPORARY TABLE t_listaGUID 
SELECT guid FROM frekw WHERE rok=2019 AND miesiac=9 
AND guid='{2EB0DAFF-BAE6-4C45-8174-8FC776C77F75}';

INSERT INTO t_listaGUID VALUES ('{ECDE7841-4A76-4F8B-BDDC-E57EFF138EAA}');
INSERT INTO t_listaGUID VALUES ('{7C7DD370-B324-4BB9-ADCB-62C1F75968DB}');
SELECT * FROM t_listaGUID;
SET @session.globals.Owner ='JARZEBINSCY';
--------------------------------------------------------------------------------------------------------------------*/
	IF _MODE = 'EWIDENCJA_CZASU_PRACY_GODZ_WE_WY_NG' THEN

	-- SET SESSION group_concat_max_len = 1000000;

		DROP TABLE if exists temp_frekw10;
		create temporary table temp_frekw10
			select 
			'fr_pl_frekwencja_eww_ng' as fr_pl_frekwencja_eww_ng,
			f.rok, f.miesiac,
			(SELECT GROUP_CONCAT(distinct CONCAT(symbol,' - ',definicja) ORDER BY symbol SEPARATOR ' ') FROM absencje_dict) as absencje
			from frekw f 
			join osoby o on o.GUID=f.pracguid 
			join Pracownicy P on P.GUID=o.GUID 
			where f.GUID IN (select guid from t_listaGUID); -- _Param_A;

		SELECT * from temp_frekw10;

		DROP TABLE if exists temp_frekw10;
		
	END IF;	--	IF _MODE = 'EWIDENCJA_CZASU_PRACY_GODZ_WE_WY_NG'

/* 
CALL fr_pl_frekwencja('EWIDENCJA_CZASU_PRACY_GODZ_WE_WY_PO', 0,'', '', '', '', '');
CREATE TEMPORARY TABLE t_listaGUID 
SELECT guid FROM frekw WHERE rok=2019 AND miesiac=6;
SELECT * FROM t_listaGUID;
*/

	IF _MODE = 'EWIDENCJA_CZASU_PRACY_GODZ_WE_WY_PO' THEN

		DROP TABLE if exists t_frekw_po;
		create temporary table t_frekw_po like frekw_po;

		insert into t_frekw_po
		select * from frekw_po where frekwGUID IN (select guid from t_listaGUID);

		-- dla jarzebinskich korekta danych
		IF @session.globals.Owner  IN ('JARZEBINSCY','BIJ') THEN

			alter table t_frekw_po ADD COLUMN zerowac INT(11) default 1; -- oznacza, ze dana pozycja moze byc zerowana

			DROP TABLE IF EXISTS t_lista2;
			CREATE TABLE t_lista2 (frekwguid VARCHAR(38), liczba INT(11), KEY frekwguid(frekwguid));
			INSERT INTO t_lista2
			SELECT frekwguid, SUM(IF(absencja='P',1,0)) AS liczba
			FROM t_frekw_po 
			GROUP BY frekwguid;

			DROP TABLE IF EXISTS t_lista3;
			CREATE TABLE t_lista3 (guid VARCHAR(38), KEY guid(guid));

			BEGIN
				DECLARE done BOOL DEFAULT FALSE;
				DECLARE _LOCAL_GUID VARCHAR(38);
				DECLARE _LOCAL_Count INT;
				DECLARE c_proc CURSOR FOR
					SELECT
						frekwGUID, liczba  
					FROM t_lista2 
					WHERE liczba > 0
					;
				DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
				OPEN c_proc;
				loop1: LOOP
					FETCH c_proc INTO _LOCAL_GUID, _LOCAL_Count;
					IF done THEN
						LEAVE loop1;
					END IF;
					SET _LOCAL_GUID = IFNULL(_LOCAL_GUID, '');
					SET _LOCAL_Count = IFNULL(_LOCAL_Count, 0);

					INSERT INTO t_lista3
					SELECT guid FROM t_frekw_po WHERE frekwGUID = _LOCAL_GUID AND dzien_wolny = 1 AND godziny > 0
						ORDER BY dzien LIMIT _LOCAL_Count;

				END LOOP;
				CLOSE c_proc;
			END;

			-- domyslnie pozycje z dni wolnych sa zerowane, chyba ze istnieje w miesiacu dzien wolny 'P'
			UPDATE t_frekw_po t, t_lista3 t3
			SET t.zerowac = 0
			WHERE t.guid = t3.guid;

			UPDATE t_frekw_po
			SET godz_wej = IF(kp_godziny = 0 AND zerowac = 1, NULL, godz_wej),
			godz_wyj =  IF(kp_godziny = 0 AND zerowac = 1, NULL, DATE_ADD(godz_wej, INTERVAL kp_godziny MINUTE)),
			godziny = IF(absencja = '',kp_godziny,godziny),
			godziny150 = 0,
			godziny200 = 0
			;

			UPDATE t_frekw_po
			SET noc = 
				IF(godz_wyj > '22:00:00', TIME_TO_SEC(TIMEDIFF(godz_wyj,'22:00:00'))/60,0)+
				IF(godz_wej < '06:00:00', TIME_TO_SEC(TIMEDIFF('06:00:00',godz_wej))/60,0)
			;

			UPDATE t_frekw_po
			SET godz_wyj = IF(godz_wyj > '24:00:00', DATE_ADD(godz_wyj, INTERVAL -24 HOUR), godz_wyj)
			;

            DROP TABLE IF EXISTS t_lista2;
            DROP TABLE IF EXISTS t_lista3;

		END IF; 


		DROP TABLE if exists temp_frekw11;
		create temporary table temp_frekw11
			select 
				'fr_pl_frekwencja_eww_po' as fr_pl_frekwencja_eww_po,
				o.Imiona, o.Nazwisko, f.pracGUID, f.GUID,
				-- concat(P.etat_L,'/',P.etat_M) as etat,
				(select concat(etat_L,'/',etat_M) from urlopy where rok = f.rok AND GUIDpr = P.GUID) as etat,
				s.stanowisko,
				-- ostatni dzien miesiaca, potrzebny do wylaczania kolumny
				max(dzien) as dzien,
				-- dni wolne, potrzebne do kolorowania
				max(if(dzien=1 and kp_info IN ('N','D'),1,0)) as a00_dzien01,
				max(if(dzien=2 and kp_info IN ('N','D'),1,0)) as a00_dzien02,
				max(if(dzien=3 and kp_info IN ('N','D'),1,0)) as a00_dzien03,
				max(if(dzien=4 and kp_info IN ('N','D'),1,0)) as a00_dzien04,
				max(if(dzien=5 and kp_info IN ('N','D'),1,0)) as a00_dzien05,
				max(if(dzien=6 and kp_info IN ('N','D'),1,0)) as a00_dzien06,
				max(if(dzien=7 and kp_info IN ('N','D'),1,0)) as a00_dzien07,
				max(if(dzien=8 and kp_info IN ('N','D'),1,0)) as a00_dzien08,
				max(if(dzien=9 and kp_info IN ('N','D'),1,0)) as a00_dzien09,
				max(if(dzien=10 and kp_info IN ('N','D'),1,0)) as a00_dzien10,
				max(if(dzien=11 and kp_info IN ('N','D'),1,0)) as a00_dzien11,
				max(if(dzien=12 and kp_info IN ('N','D'),1,0)) as a00_dzien12,
				max(if(dzien=13 and kp_info IN ('N','D'),1,0)) as a00_dzien13,
				max(if(dzien=14 and kp_info IN ('N','D'),1,0)) as a00_dzien14,
				max(if(dzien=15 and kp_info IN ('N','D'),1,0)) as a00_dzien15,
				max(if(dzien=16 and kp_info IN ('N','D'),1,0)) as a00_dzien16,
				max(if(dzien=17 and kp_info IN ('N','D'),1,0)) as a00_dzien17,
				max(if(dzien=18 and kp_info IN ('N','D'),1,0)) as a00_dzien18,
				max(if(dzien=19 and kp_info IN ('N','D'),1,0)) as a00_dzien19,
				max(if(dzien=20 and kp_info IN ('N','D'),1,0)) as a00_dzien20,
				max(if(dzien=21 and kp_info IN ('N','D'),1,0)) as a00_dzien21,
				max(if(dzien=22 and kp_info IN ('N','D'),1,0)) as a00_dzien22,
				max(if(dzien=23 and kp_info IN ('N','D'),1,0)) as a00_dzien23,
				max(if(dzien=24 and kp_info IN ('N','D'),1,0)) as a00_dzien24,
				max(if(dzien=25 and kp_info IN ('N','D'),1,0)) as a00_dzien25,
				max(if(dzien=26 and kp_info IN ('N','D'),1,0)) as a00_dzien26,
				max(if(dzien=27 and kp_info IN ('N','D'),1,0)) as a00_dzien27,
				max(if(dzien=28 and kp_info IN ('N','D'),1,0)) as a00_dzien28,
				max(if(dzien=29 and kp_info IN ('N','D'),1,0)) as a00_dzien29,
				max(if(dzien=30 and kp_info IN ('N','D'),1,0)) as a00_dzien30,
				max(if(dzien=31 and kp_info IN ('N','D'),1,0)) as a00_dzien31,


				max(if(dzien=1,left(godz_wej,5),'-')) as a01_dzien01,
				max(if(dzien=2,left(godz_wej,5),'-')) as a01_dzien02,
				max(if(dzien=3,left(godz_wej,5),'-')) as a01_dzien03,
				max(if(dzien=4,left(godz_wej,5),'-')) as a01_dzien04,
				max(if(dzien=5,left(godz_wej,5),'-')) as a01_dzien05,
				max(if(dzien=6,left(godz_wej,5),'-')) as a01_dzien06,
				max(if(dzien=7,left(godz_wej,5),'-')) as a01_dzien07,
				max(if(dzien=8,left(godz_wej,5),'-')) as a01_dzien08,
				max(if(dzien=9,left(godz_wej,5),'-')) as a01_dzien09,
				max(if(dzien=10,left(godz_wej,5),'-')) as a01_dzien10,
				max(if(dzien=11,left(godz_wej,5),'-')) as a01_dzien11,
				max(if(dzien=12,left(godz_wej,5),'-')) as a01_dzien12,
				max(if(dzien=13,left(godz_wej,5),'-')) as a01_dzien13,
				max(if(dzien=14,left(godz_wej,5),'-')) as a01_dzien14,
				max(if(dzien=15,left(godz_wej,5),'-')) as a01_dzien15,
				max(if(dzien=16,left(godz_wej,5),'-')) as a01_dzien16,
				max(if(dzien=17,left(godz_wej,5),'-')) as a01_dzien17,
				max(if(dzien=18,left(godz_wej,5),'-')) as a01_dzien18,
				max(if(dzien=19,left(godz_wej,5),'-')) as a01_dzien19,
				max(if(dzien=20,left(godz_wej,5),'-')) as a01_dzien20,
				max(if(dzien=21,left(godz_wej,5),'-')) as a01_dzien21,
				max(if(dzien=22,left(godz_wej,5),'-')) as a01_dzien22,
				max(if(dzien=23,left(godz_wej,5),'-')) as a01_dzien23,
				max(if(dzien=24,left(godz_wej,5),'-')) as a01_dzien24,
				max(if(dzien=25,left(godz_wej,5),'-')) as a01_dzien25,
				max(if(dzien=26,left(godz_wej,5),'-')) as a01_dzien26,
				max(if(dzien=27,left(godz_wej,5),'-')) as a01_dzien27,
				max(if(dzien=28,left(godz_wej,5),'-')) as a01_dzien28,
				max(if(dzien=29,left(godz_wej,5),'-')) as a01_dzien29,
				max(if(dzien=30,left(godz_wej,5),'-')) as a01_dzien30,
				max(if(dzien=31,left(godz_wej,5),'-')) as a01_dzien31,


				max(if(dzien=1,left(godz_wyj,5),'-')) as a02_dzien01,
				max(if(dzien=2,left(godz_wyj,5),'-')) as a02_dzien02,
				max(if(dzien=3,left(godz_wyj,5),'-')) as a02_dzien03,
				max(if(dzien=4,left(godz_wyj,5),'-')) as a02_dzien04,
				max(if(dzien=5,left(godz_wyj,5),'-')) as a02_dzien05,
				max(if(dzien=6,left(godz_wyj,5),'-')) as a02_dzien06,
				max(if(dzien=7,left(godz_wyj,5),'-')) as a02_dzien07,
				max(if(dzien=8,left(godz_wyj,5),'-')) as a02_dzien08,
				max(if(dzien=9,left(godz_wyj,5),'-')) as a02_dzien09,
				max(if(dzien=10,left(godz_wyj,5),'-')) as a02_dzien10,
				max(if(dzien=11,left(godz_wyj,5),'-')) as a02_dzien11,
				max(if(dzien=12,left(godz_wyj,5),'-')) as a02_dzien12,
				max(if(dzien=13,left(godz_wyj,5),'-')) as a02_dzien13,
				max(if(dzien=14,left(godz_wyj,5),'-')) as a02_dzien14,
				max(if(dzien=15,left(godz_wyj,5),'-')) as a02_dzien15,
				max(if(dzien=16,left(godz_wyj,5),'-')) as a02_dzien16,
				max(if(dzien=17,left(godz_wyj,5),'-')) as a02_dzien17,
				max(if(dzien=18,left(godz_wyj,5),'-')) as a02_dzien18,
				max(if(dzien=19,left(godz_wyj,5),'-')) as a02_dzien19,
				max(if(dzien=20,left(godz_wyj,5),'-')) as a02_dzien20,
				max(if(dzien=21,left(godz_wyj,5),'-')) as a02_dzien21,
				max(if(dzien=22,left(godz_wyj,5),'-')) as a02_dzien22,
				max(if(dzien=23,left(godz_wyj,5),'-')) as a02_dzien23,
				max(if(dzien=24,left(godz_wyj,5),'-')) as a02_dzien24,
				max(if(dzien=25,left(godz_wyj,5),'-')) as a02_dzien25,
				max(if(dzien=26,left(godz_wyj,5),'-')) as a02_dzien26,
				max(if(dzien=27,left(godz_wyj,5),'-')) as a02_dzien27,
				max(if(dzien=28,left(godz_wyj,5),'-')) as a02_dzien28,
				max(if(dzien=29,left(godz_wyj,5),'-')) as a02_dzien29,
				max(if(dzien=30,left(godz_wyj,5),'-')) as a02_dzien30,
				max(if(dzien=31,left(godz_wyj,5),'-')) as a02_dzien31,


				max(if(dzien=1 and absencja IN ('F','P'),absencja,'')) as a07_dzien01,
				max(if(dzien=2 and absencja IN ('F','P'),absencja,'')) as a07_dzien02,
				max(if(dzien=3 and absencja IN ('F','P'),absencja,'')) as a07_dzien03,
				max(if(dzien=4 and absencja IN ('F','P'),absencja,'')) as a07_dzien04,
				max(if(dzien=5 and absencja IN ('F','P'),absencja,'')) as a07_dzien05,
				max(if(dzien=6 and absencja IN ('F','P'),absencja,'')) as a07_dzien06,
				max(if(dzien=7 and absencja IN ('F','P'),absencja,'')) as a07_dzien07,
				max(if(dzien=8 and absencja IN ('F','P'),absencja,'')) as a07_dzien08,
				max(if(dzien=9 and absencja IN ('F','P'),absencja,'')) as a07_dzien09,
				max(if(dzien=10 and absencja IN ('F','P'),absencja,'')) as a07_dzien10,
				max(if(dzien=11 and absencja IN ('F','P'),absencja,'')) as a07_dzien11,
				max(if(dzien=12 and absencja IN ('F','P'),absencja,'')) as a07_dzien12,
				max(if(dzien=13 and absencja IN ('F','P'),absencja,'')) as a07_dzien13,
				max(if(dzien=14 and absencja IN ('F','P'),absencja,'')) as a07_dzien14,
				max(if(dzien=15 and absencja IN ('F','P'),absencja,'')) as a07_dzien15,
				max(if(dzien=16 and absencja IN ('F','P'),absencja,'')) as a07_dzien16,
				max(if(dzien=17 and absencja IN ('F','P'),absencja,'')) as a07_dzien17,
				max(if(dzien=18 and absencja IN ('F','P'),absencja,'')) as a07_dzien18,
				max(if(dzien=19 and absencja IN ('F','P'),absencja,'')) as a07_dzien19,
				max(if(dzien=20 and absencja IN ('F','P'),absencja,'')) as a07_dzien20,
				max(if(dzien=21 and absencja IN ('F','P'),absencja,'')) as a07_dzien21,
				max(if(dzien=22 and absencja IN ('F','P'),absencja,'')) as a07_dzien22,
				max(if(dzien=23 and absencja IN ('F','P'),absencja,'')) as a07_dzien23,
				max(if(dzien=24 and absencja IN ('F','P'),absencja,'')) as a07_dzien24,
				max(if(dzien=25 and absencja IN ('F','P'),absencja,'')) as a07_dzien25,
				max(if(dzien=26 and absencja IN ('F','P'),absencja,'')) as a07_dzien26,
				max(if(dzien=27 and absencja IN ('F','P'),absencja,'')) as a07_dzien27,
				max(if(dzien=28 and absencja IN ('F','P'),absencja,'')) as a07_dzien28,
				max(if(dzien=29 and absencja IN ('F','P'),absencja,'')) as a07_dzien29,
				max(if(dzien=30 and absencja IN ('F','P'),absencja,'')) as a07_dzien30,
				max(if(dzien=31 and absencja IN ('F','P'),absencja,'')) as a07_dzien31,

				-- wiersze 9,10,11,12 - na razie puste (dyzury)

				max(if(dzien=1 and absencja IN ('A'),absencja,'')) as a13_dzien01,
				max(if(dzien=2 and absencja IN ('A'),absencja,'')) as a13_dzien02,
				max(if(dzien=3 and absencja IN ('A'),absencja,'')) as a13_dzien03,
				max(if(dzien=4 and absencja IN ('A'),absencja,'')) as a13_dzien04,
				max(if(dzien=5 and absencja IN ('A'),absencja,'')) as a13_dzien05,
				max(if(dzien=6 and absencja IN ('A'),absencja,'')) as a13_dzien06,
				max(if(dzien=7 and absencja IN ('A'),absencja,'')) as a13_dzien07,
				max(if(dzien=8 and absencja IN ('A'),absencja,'')) as a13_dzien08,
				max(if(dzien=9 and absencja IN ('A'),absencja,'')) as a13_dzien09,
				max(if(dzien=10 and absencja IN ('A'),absencja,'')) as a13_dzien10,
				max(if(dzien=11 and absencja IN ('A'),absencja,'')) as a13_dzien11,
				max(if(dzien=12 and absencja IN ('A'),absencja,'')) as a13_dzien12,
				max(if(dzien=13 and absencja IN ('A'),absencja,'')) as a13_dzien13,
				max(if(dzien=14 and absencja IN ('A'),absencja,'')) as a13_dzien14,
				max(if(dzien=15 and absencja IN ('A'),absencja,'')) as a13_dzien15,
				max(if(dzien=16 and absencja IN ('A'),absencja,'')) as a13_dzien16,
				max(if(dzien=17 and absencja IN ('A'),absencja,'')) as a13_dzien17,
				max(if(dzien=18 and absencja IN ('A'),absencja,'')) as a13_dzien18,
				max(if(dzien=19 and absencja IN ('A'),absencja,'')) as a13_dzien19,
				max(if(dzien=20 and absencja IN ('A'),absencja,'')) as a13_dzien20,
				max(if(dzien=21 and absencja IN ('A'),absencja,'')) as a13_dzien21,
				max(if(dzien=22 and absencja IN ('A'),absencja,'')) as a13_dzien22,
				max(if(dzien=23 and absencja IN ('A'),absencja,'')) as a13_dzien23,
				max(if(dzien=24 and absencja IN ('A'),absencja,'')) as a13_dzien24,
				max(if(dzien=25 and absencja IN ('A'),absencja,'')) as a13_dzien25,
				max(if(dzien=26 and absencja IN ('A'),absencja,'')) as a13_dzien26,
				max(if(dzien=27 and absencja IN ('A'),absencja,'')) as a13_dzien27,
				max(if(dzien=28 and absencja IN ('A'),absencja,'')) as a13_dzien28,
				max(if(dzien=29 and absencja IN ('A'),absencja,'')) as a13_dzien29,
				max(if(dzien=30 and absencja IN ('A'),absencja,'')) as a13_dzien30,
				max(if(dzien=31 and absencja IN ('A'),absencja,'')) as a13_dzien31,


				max(if(dzien=1 and absencja NOT IN ('N','A','F','P','E','EO','EZ'),absencja,'')) as a15_dzien01,
				max(if(dzien=2 and absencja NOT IN ('N','A','F','P','E','EO','EZ'),absencja,'')) as a15_dzien02,
				max(if(dzien=3 and absencja NOT IN ('N','A','F','P','E','EO','EZ'),absencja,'')) as a15_dzien03,
				max(if(dzien=4 and absencja NOT IN ('N','A','F','P','E','EO','EZ'),absencja,'')) as a15_dzien04,
				max(if(dzien=5 and absencja NOT IN ('N','A','F','P','E','EO','EZ'),absencja,'')) as a15_dzien05,
				max(if(dzien=6 and absencja NOT IN ('N','A','F','P','E','EO','EZ'),absencja,'')) as a15_dzien06,
				max(if(dzien=7 and absencja NOT IN ('N','A','F','P','E','EO','EZ'),absencja,'')) as a15_dzien07,
				max(if(dzien=8 and absencja NOT IN ('N','A','F','P','E','EO','EZ'),absencja,'')) as a15_dzien08,
				max(if(dzien=9 and absencja NOT IN ('N','A','F','P','E','EO','EZ'),absencja,'')) as a15_dzien09,
				max(if(dzien=10 and absencja NOT IN ('N','A','F','P','E','EO','EZ'),absencja,'')) as a15_dzien10,
				max(if(dzien=11 and absencja NOT IN ('N','A','F','P','E','EO','EZ'),absencja,'')) as a15_dzien11,
				max(if(dzien=12 and absencja NOT IN ('N','A','F','P','E','EO','EZ'),absencja,'')) as a15_dzien12,
				max(if(dzien=13 and absencja NOT IN ('N','A','F','P','E','EO','EZ'),absencja,'')) as a15_dzien13,
				max(if(dzien=14 and absencja NOT IN ('N','A','F','P','E','EO','EZ'),absencja,'')) as a15_dzien14,
				max(if(dzien=15 and absencja NOT IN ('N','A','F','P','E','EO','EZ'),absencja,'')) as a15_dzien15,
				max(if(dzien=16 and absencja NOT IN ('N','A','F','P','E','EO','EZ'),absencja,'')) as a15_dzien16,
				max(if(dzien=17 and absencja NOT IN ('N','A','F','P','E','EO','EZ'),absencja,'')) as a15_dzien17,
				max(if(dzien=18 and absencja NOT IN ('N','A','F','P','E','EO','EZ'),absencja,'')) as a15_dzien18,
				max(if(dzien=19 and absencja NOT IN ('N','A','F','P','E','EO','EZ'),absencja,'')) as a15_dzien19,
				max(if(dzien=20 and absencja NOT IN ('N','A','F','P','E','EO','EZ'),absencja,'')) as a15_dzien20,
				max(if(dzien=21 and absencja NOT IN ('N','A','F','P','E','EO','EZ'),absencja,'')) as a15_dzien21,
				max(if(dzien=22 and absencja NOT IN ('N','A','F','P','E','EO','EZ'),absencja,'')) as a15_dzien22,
				max(if(dzien=23 and absencja NOT IN ('N','A','F','P','E','EO','EZ'),absencja,'')) as a15_dzien23,
				max(if(dzien=24 and absencja NOT IN ('N','A','F','P','E','EO','EZ'),absencja,'')) as a15_dzien24,
				max(if(dzien=25 and absencja NOT IN ('N','A','F','P','E','EO','EZ'),absencja,'')) as a15_dzien25,
				max(if(dzien=26 and absencja NOT IN ('N','A','F','P','E','EO','EZ'),absencja,'')) as a15_dzien26,
				max(if(dzien=27 and absencja NOT IN ('N','A','F','P','E','EO','EZ'),absencja,'')) as a15_dzien27,
				max(if(dzien=28 and absencja NOT IN ('N','A','F','P','E','EO','EZ'),absencja,'')) as a15_dzien28,
				max(if(dzien=29 and absencja NOT IN ('N','A','F','P','E','EO','EZ'),absencja,'')) as a15_dzien29,
				max(if(dzien=30 and absencja NOT IN ('N','A','F','P','E','EO','EZ'),absencja,'')) as a15_dzien30,
				max(if(dzien=31 and absencja NOT IN ('N','A','F','P','E','EO','EZ'),absencja,'')) as a15_dzien31,

				max(if(dzien=1 and absencja IN ('EO','EZ'),absencja,'')) as a19_dzien01,
				max(if(dzien=2 and absencja IN ('EO','EZ'),absencja,'')) as a19_dzien02,
				max(if(dzien=3 and absencja IN ('EO','EZ'),absencja,'')) as a19_dzien03,
				max(if(dzien=4 and absencja IN ('EO','EZ'),absencja,'')) as a19_dzien04,
				max(if(dzien=5 and absencja IN ('EO','EZ'),absencja,'')) as a19_dzien05,
				max(if(dzien=6 and absencja IN ('EO','EZ'),absencja,'')) as a19_dzien06,
				max(if(dzien=7 and absencja IN ('EO','EZ'),absencja,'')) as a19_dzien07,
				max(if(dzien=8 and absencja IN ('EO','EZ'),absencja,'')) as a19_dzien08,
				max(if(dzien=9 and absencja IN ('EO','EZ'),absencja,'')) as a19_dzien09,
				max(if(dzien=10 and absencja IN ('EO','EZ'),absencja,'')) as a19_dzien10,
				max(if(dzien=11 and absencja IN ('EO','EZ'),absencja,'')) as a19_dzien11,
				max(if(dzien=12 and absencja IN ('EO','EZ'),absencja,'')) as a19_dzien12,
				max(if(dzien=13 and absencja IN ('EO','EZ'),absencja,'')) as a19_dzien13,
				max(if(dzien=14 and absencja IN ('EO','EZ'),absencja,'')) as a19_dzien14,
				max(if(dzien=15 and absencja IN ('EO','EZ'),absencja,'')) as a19_dzien15,
				max(if(dzien=16 and absencja IN ('EO','EZ'),absencja,'')) as a19_dzien16,
				max(if(dzien=17 and absencja IN ('EO','EZ'),absencja,'')) as a19_dzien17,
				max(if(dzien=18 and absencja IN ('EO','EZ'),absencja,'')) as a19_dzien18,
				max(if(dzien=19 and absencja IN ('EO','EZ'),absencja,'')) as a19_dzien19,
				max(if(dzien=20 and absencja IN ('EO','EZ'),absencja,'')) as a19_dzien20,
				max(if(dzien=21 and absencja IN ('EO','EZ'),absencja,'')) as a19_dzien21,
				max(if(dzien=22 and absencja IN ('EO','EZ'),absencja,'')) as a19_dzien22,
				max(if(dzien=23 and absencja IN ('EO','EZ'),absencja,'')) as a19_dzien23,
				max(if(dzien=24 and absencja IN ('EO','EZ'),absencja,'')) as a19_dzien24,
				max(if(dzien=25 and absencja IN ('EO','EZ'),absencja,'')) as a19_dzien25,
				max(if(dzien=26 and absencja IN ('EO','EZ'),absencja,'')) as a19_dzien26,
				max(if(dzien=27 and absencja IN ('EO','EZ'),absencja,'')) as a19_dzien27,
				max(if(dzien=28 and absencja IN ('EO','EZ'),absencja,'')) as a19_dzien28,
				max(if(dzien=29 and absencja IN ('EO','EZ'),absencja,'')) as a19_dzien29,
				max(if(dzien=30 and absencja IN ('EO','EZ'),absencja,'')) as a19_dzien30,
				max(if(dzien=31 and absencja IN ('EO','EZ'),absencja,'')) as a19_dzien31

				from frekw f 
				inner join t_frekw_po p on f.guid = p.frekwGUID
				join osoby o on o.GUID = f.pracguid 
                join Pracownicy P on P.GUID = o.GUID
				LEFT JOIN stanowiska s ON s.guid = P.stanowisko
				where f.GUID IN (select guid from t_listaGUID)
				group by f.pracGUID
				;


				DROP TABLE if exists temp_frekw12;
				create temporary table temp_frekw12
				select 
				f.pracGUID, f.GUID,
				sum(if(dzien=1,godziny,0)) as a03_dzien01,
				sum(if(dzien=2,godziny,0)) as a03_dzien02,
				sum(if(dzien=3,godziny,0)) as a03_dzien03,
				sum(if(dzien=4,godziny,0)) as a03_dzien04,
				sum(if(dzien=5,godziny,0)) as a03_dzien05,
				sum(if(dzien=6,godziny,0)) as a03_dzien06,
				sum(if(dzien=7,godziny,0)) as a03_dzien07,
				sum(if(dzien=8,godziny,0)) as a03_dzien08,
				sum(if(dzien=9,godziny,0)) as a03_dzien09,
				sum(if(dzien=10,godziny,0)) as a03_dzien10,
				sum(if(dzien=11,godziny,0)) as a03_dzien11,
				sum(if(dzien=12,godziny,0)) as a03_dzien12,
				sum(if(dzien=13,godziny,0)) as a03_dzien13,
				sum(if(dzien=14,godziny,0)) as a03_dzien14,
				sum(if(dzien=15,godziny,0)) as a03_dzien15,
				sum(if(dzien=16,godziny,0)) as a03_dzien16,
				sum(if(dzien=17,godziny,0)) as a03_dzien17,
				sum(if(dzien=18,godziny,0)) as a03_dzien18,
				sum(if(dzien=19,godziny,0)) as a03_dzien19,
				sum(if(dzien=20,godziny,0)) as a03_dzien20,
				sum(if(dzien=21,godziny,0)) as a03_dzien21,
				sum(if(dzien=22,godziny,0)) as a03_dzien22,
				sum(if(dzien=23,godziny,0)) as a03_dzien23,
				sum(if(dzien=24,godziny,0)) as a03_dzien24,
				sum(if(dzien=25,godziny,0)) as a03_dzien25,
				sum(if(dzien=26,godziny,0)) as a03_dzien26,
				sum(if(dzien=27,godziny,0)) as a03_dzien27,
				sum(if(dzien=28,godziny,0)) as a03_dzien28,
				sum(if(dzien=29,godziny,0)) as a03_dzien29,
				sum(if(dzien=30,godziny,0)) as a03_dzien30,
				sum(if(dzien=31,godziny,0)) as a03_dzien31,
				sum(godziny) as a03_razem,

				sum(if(dzien=1,noc,0)) as a04_dzien01,
				sum(if(dzien=2,noc,0)) as a04_dzien02,
				sum(if(dzien=3,noc,0)) as a04_dzien03,
				sum(if(dzien=4,noc,0)) as a04_dzien04,
				sum(if(dzien=5,noc,0)) as a04_dzien05,
				sum(if(dzien=6,noc,0)) as a04_dzien06,
				sum(if(dzien=7,noc,0)) as a04_dzien07,
				sum(if(dzien=8,noc,0)) as a04_dzien08,
				sum(if(dzien=9,noc,0)) as a04_dzien09,
				sum(if(dzien=10,noc,0)) as a04_dzien10,
				sum(if(dzien=11,noc,0)) as a04_dzien11,
				sum(if(dzien=12,noc,0)) as a04_dzien12,
				sum(if(dzien=13,noc,0)) as a04_dzien13,
				sum(if(dzien=14,noc,0)) as a04_dzien14,
				sum(if(dzien=15,noc,0)) as a04_dzien15,
				sum(if(dzien=16,noc,0)) as a04_dzien16,
				sum(if(dzien=17,noc,0)) as a04_dzien17,
				sum(if(dzien=18,noc,0)) as a04_dzien18,
				sum(if(dzien=19,noc,0)) as a04_dzien19,
				sum(if(dzien=20,noc,0)) as a04_dzien20,
				sum(if(dzien=21,noc,0)) as a04_dzien21,
				sum(if(dzien=22,noc,0)) as a04_dzien22,
				sum(if(dzien=23,noc,0)) as a04_dzien23,
				sum(if(dzien=24,noc,0)) as a04_dzien24,
				sum(if(dzien=25,noc,0)) as a04_dzien25,
				sum(if(dzien=26,noc,0)) as a04_dzien26,
				sum(if(dzien=27,noc,0)) as a04_dzien27,
				sum(if(dzien=28,noc,0)) as a04_dzien28,
				sum(if(dzien=29,noc,0)) as a04_dzien29,
				sum(if(dzien=30,noc,0)) as a04_dzien30,
				sum(if(dzien=31,noc,0)) as a04_dzien31,
				sum(noc) as a04_razem,

				sum(if(dzien=1,godziny150,0)) as a05_dzien01,
				sum(if(dzien=2,godziny150,0)) as a05_dzien02,
				sum(if(dzien=3,godziny150,0)) as a05_dzien03,
				sum(if(dzien=4,godziny150,0)) as a05_dzien04,
				sum(if(dzien=5,godziny150,0)) as a05_dzien05,
				sum(if(dzien=6,godziny150,0)) as a05_dzien06,
				sum(if(dzien=7,godziny150,0)) as a05_dzien07,
				sum(if(dzien=8,godziny150,0)) as a05_dzien08,
				sum(if(dzien=9,godziny150,0)) as a05_dzien09,
				sum(if(dzien=10,godziny150,0)) as a05_dzien10,
				sum(if(dzien=11,godziny150,0)) as a05_dzien11,
				sum(if(dzien=12,godziny150,0)) as a05_dzien12,
				sum(if(dzien=13,godziny150,0)) as a05_dzien13,
				sum(if(dzien=14,godziny150,0)) as a05_dzien14,
				sum(if(dzien=15,godziny150,0)) as a05_dzien15,
				sum(if(dzien=16,godziny150,0)) as a05_dzien16,
				sum(if(dzien=17,godziny150,0)) as a05_dzien17,
				sum(if(dzien=18,godziny150,0)) as a05_dzien18,
				sum(if(dzien=19,godziny150,0)) as a05_dzien19,
				sum(if(dzien=20,godziny150,0)) as a05_dzien20,
				sum(if(dzien=21,godziny150,0)) as a05_dzien21,
				sum(if(dzien=22,godziny150,0)) as a05_dzien22,
				sum(if(dzien=23,godziny150,0)) as a05_dzien23,
				sum(if(dzien=24,godziny150,0)) as a05_dzien24,
				sum(if(dzien=25,godziny150,0)) as a05_dzien25,
				sum(if(dzien=26,godziny150,0)) as a05_dzien26,
				sum(if(dzien=27,godziny150,0)) as a05_dzien27,
				sum(if(dzien=28,godziny150,0)) as a05_dzien28,
				sum(if(dzien=29,godziny150,0)) as a05_dzien29,
				sum(if(dzien=30,godziny150,0)) as a05_dzien30,
				sum(if(dzien=31,godziny150,0)) as a05_dzien31,
				sum(godziny150) as a05_razem,

				sum(if(dzien=1,godziny200,0)) as a06_dzien01,
				sum(if(dzien=2,godziny200,0)) as a06_dzien02,
				sum(if(dzien=3,godziny200,0)) as a06_dzien03,
				sum(if(dzien=4,godziny200,0)) as a06_dzien04,
				sum(if(dzien=5,godziny200,0)) as a06_dzien05,
				sum(if(dzien=6,godziny200,0)) as a06_dzien06,
				sum(if(dzien=7,godziny200,0)) as a06_dzien07,
				sum(if(dzien=8,godziny200,0)) as a06_dzien08,
				sum(if(dzien=9,godziny200,0)) as a06_dzien09,
				sum(if(dzien=10,godziny200,0)) as a06_dzien10,
				sum(if(dzien=11,godziny200,0)) as a06_dzien11,
				sum(if(dzien=12,godziny200,0)) as a06_dzien12,
				sum(if(dzien=13,godziny200,0)) as a06_dzien13,
				sum(if(dzien=14,godziny200,0)) as a06_dzien14,
				sum(if(dzien=15,godziny200,0)) as a06_dzien15,
				sum(if(dzien=16,godziny200,0)) as a06_dzien16,
				sum(if(dzien=17,godziny200,0)) as a06_dzien17,
				sum(if(dzien=18,godziny200,0)) as a06_dzien18,
				sum(if(dzien=19,godziny200,0)) as a06_dzien19,
				sum(if(dzien=20,godziny200,0)) as a06_dzien20,
				sum(if(dzien=21,godziny200,0)) as a06_dzien21,
				sum(if(dzien=22,godziny200,0)) as a06_dzien22,
				sum(if(dzien=23,godziny200,0)) as a06_dzien23,
				sum(if(dzien=24,godziny200,0)) as a06_dzien24,
				sum(if(dzien=25,godziny200,0)) as a06_dzien25,
				sum(if(dzien=26,godziny200,0)) as a06_dzien26,
				sum(if(dzien=27,godziny200,0)) as a06_dzien27,
				sum(if(dzien=28,godziny200,0)) as a06_dzien28,
				sum(if(dzien=29,godziny200,0)) as a06_dzien29,
				sum(if(dzien=30,godziny200,0)) as a06_dzien30,
				sum(if(dzien=31,godziny200,0)) as a06_dzien31,
				sum(godziny200) as a06_razem,

				sum(if(dzien=1 and absencja IN ('F','P'),godz_absencji ,0)) as a08_dzien01,
				sum(if(dzien=2 and absencja IN ('F','P'),godz_absencji ,0)) as a08_dzien02,
				sum(if(dzien=3 and absencja IN ('F','P'),godz_absencji ,0)) as a08_dzien03,
				sum(if(dzien=4 and absencja IN ('F','P'),godz_absencji ,0)) as a08_dzien04,
				sum(if(dzien=5 and absencja IN ('F','P'),godz_absencji ,0)) as a08_dzien05,
				sum(if(dzien=6 and absencja IN ('F','P'),godz_absencji ,0)) as a08_dzien06,
				sum(if(dzien=7 and absencja IN ('F','P'),godz_absencji ,0)) as a08_dzien07,
				sum(if(dzien=8 and absencja IN ('F','P'),godz_absencji ,0)) as a08_dzien08,
				sum(if(dzien=9 and absencja IN ('F','P'),godz_absencji ,0)) as a08_dzien09,
				sum(if(dzien=10 and absencja IN ('F','P'),godz_absencji ,0)) as a08_dzien10,
				sum(if(dzien=11 and absencja IN ('F','P'),godz_absencji ,0)) as a08_dzien11,
				sum(if(dzien=12 and absencja IN ('F','P'),godz_absencji ,0)) as a08_dzien12,
				sum(if(dzien=13 and absencja IN ('F','P'),godz_absencji ,0)) as a08_dzien13,
				sum(if(dzien=14 and absencja IN ('F','P'),godz_absencji ,0)) as a08_dzien14,
				sum(if(dzien=15 and absencja IN ('F','P'),godz_absencji ,0)) as a08_dzien15,
				sum(if(dzien=16 and absencja IN ('F','P'),godz_absencji ,0)) as a08_dzien16,
				sum(if(dzien=17 and absencja IN ('F','P'),godz_absencji ,0)) as a08_dzien17,
				sum(if(dzien=18 and absencja IN ('F','P'),godz_absencji ,0)) as a08_dzien18,
				sum(if(dzien=19 and absencja IN ('F','P'),godz_absencji ,0)) as a08_dzien19,
				sum(if(dzien=20 and absencja IN ('F','P'),godz_absencji ,0)) as a08_dzien20,
				sum(if(dzien=21 and absencja IN ('F','P'),godz_absencji ,0)) as a08_dzien21,
				sum(if(dzien=22 and absencja IN ('F','P'),godz_absencji ,0)) as a08_dzien22,
				sum(if(dzien=23 and absencja IN ('F','P'),godz_absencji ,0)) as a08_dzien23,
				sum(if(dzien=24 and absencja IN ('F','P'),godz_absencji ,0)) as a08_dzien24,
				sum(if(dzien=25 and absencja IN ('F','P'),godz_absencji ,0)) as a08_dzien25,
				sum(if(dzien=26 and absencja IN ('F','P'),godz_absencji ,0)) as a08_dzien26,
				sum(if(dzien=27 and absencja IN ('F','P'),godz_absencji ,0)) as a08_dzien27,
				sum(if(dzien=28 and absencja IN ('F','P'),godz_absencji ,0)) as a08_dzien28,
				sum(if(dzien=29 and absencja IN ('F','P'),godz_absencji ,0)) as a08_dzien29,
				sum(if(dzien=30 and absencja IN ('F','P'),godz_absencji ,0)) as a08_dzien30,
				sum(if(dzien=31 and absencja IN ('F','P'),godz_absencji ,0)) as a08_dzien31,
				sum(if(absencja IN ('F','P'),godz_absencji ,0)) as a08_razem,

				sum(if(dzien=1 and absencja IN ('A'),godz_absencji ,0)) as a14_dzien01,
				sum(if(dzien=2 and absencja IN ('A'),godz_absencji ,0)) as a14_dzien02,
				sum(if(dzien=3 and absencja IN ('A'),godz_absencji ,0)) as a14_dzien03,
				sum(if(dzien=4 and absencja IN ('A'),godz_absencji ,0)) as a14_dzien04,
				sum(if(dzien=5 and absencja IN ('A'),godz_absencji ,0)) as a14_dzien05,
				sum(if(dzien=6 and absencja IN ('A'),godz_absencji ,0)) as a14_dzien06,
				sum(if(dzien=7 and absencja IN ('A'),godz_absencji ,0)) as a14_dzien07,
				sum(if(dzien=8 and absencja IN ('A'),godz_absencji ,0)) as a14_dzien08,
				sum(if(dzien=9 and absencja IN ('A'),godz_absencji ,0)) as a14_dzien09,
				sum(if(dzien=10 and absencja IN ('A'),godz_absencji ,0)) as a14_dzien10,
				sum(if(dzien=11 and absencja IN ('A'),godz_absencji ,0)) as a14_dzien11,
				sum(if(dzien=12 and absencja IN ('A'),godz_absencji ,0)) as a14_dzien12,
				sum(if(dzien=13 and absencja IN ('A'),godz_absencji ,0)) as a14_dzien13,
				sum(if(dzien=14 and absencja IN ('A'),godz_absencji ,0)) as a14_dzien14,
				sum(if(dzien=15 and absencja IN ('A'),godz_absencji ,0)) as a14_dzien15,
				sum(if(dzien=16 and absencja IN ('A'),godz_absencji ,0)) as a14_dzien16,
				sum(if(dzien=17 and absencja IN ('A'),godz_absencji ,0)) as a14_dzien17,
				sum(if(dzien=18 and absencja IN ('A'),godz_absencji ,0)) as a14_dzien18,
				sum(if(dzien=19 and absencja IN ('A'),godz_absencji ,0)) as a14_dzien19,
				sum(if(dzien=20 and absencja IN ('A'),godz_absencji ,0)) as a14_dzien20,
				sum(if(dzien=21 and absencja IN ('A'),godz_absencji ,0)) as a14_dzien21,
				sum(if(dzien=22 and absencja IN ('A'),godz_absencji ,0)) as a14_dzien22,
				sum(if(dzien=23 and absencja IN ('A'),godz_absencji ,0)) as a14_dzien23,
				sum(if(dzien=24 and absencja IN ('A'),godz_absencji ,0)) as a14_dzien24,
				sum(if(dzien=25 and absencja IN ('A'),godz_absencji ,0)) as a14_dzien25,
				sum(if(dzien=26 and absencja IN ('A'),godz_absencji ,0)) as a14_dzien26,
				sum(if(dzien=27 and absencja IN ('A'),godz_absencji ,0)) as a14_dzien27,
				sum(if(dzien=28 and absencja IN ('A'),godz_absencji ,0)) as a14_dzien28,
				sum(if(dzien=29 and absencja IN ('A'),godz_absencji ,0)) as a14_dzien29,
				sum(if(dzien=30 and absencja IN ('A'),godz_absencji ,0)) as a14_dzien30,
				sum(if(dzien=31 and absencja IN ('A'),godz_absencji ,0)) as a14_dzien31,
				sum(if(absencja IN ('A'),godz_absencji ,0)) as a14_razem,

				sum(if(dzien=1 and absencja NOT IN ('N','A','F','P','E','EO','EZ'),godz_absencji ,0)) as a16_dzien01,
				sum(if(dzien=2 and absencja NOT IN ('N','A','F','P','E','EO','EZ'),godz_absencji ,0)) as a16_dzien02,
				sum(if(dzien=3 and absencja NOT IN ('N','A','F','P','E','EO','EZ'),godz_absencji ,0)) as a16_dzien03,
				sum(if(dzien=4 and absencja NOT IN ('N','A','F','P','E','EO','EZ'),godz_absencji ,0)) as a16_dzien04,
				sum(if(dzien=5 and absencja NOT IN ('N','A','F','P','E','EO','EZ'),godz_absencji ,0)) as a16_dzien05,
				sum(if(dzien=6 and absencja NOT IN ('N','A','F','P','E','EO','EZ'),godz_absencji ,0)) as a16_dzien06,
				sum(if(dzien=7 and absencja NOT IN ('N','A','F','P','E','EO','EZ'),godz_absencji ,0)) as a16_dzien07,
				sum(if(dzien=8 and absencja NOT IN ('N','A','F','P','E','EO','EZ'),godz_absencji ,0)) as a16_dzien08,
				sum(if(dzien=9 and absencja NOT IN ('N','A','F','P','E','EO','EZ'),godz_absencji ,0)) as a16_dzien09,
				sum(if(dzien=10 and absencja NOT IN ('N','A','F','P','E','EO','EZ'),godz_absencji ,0)) as a16_dzien10,
				sum(if(dzien=11 and absencja NOT IN ('N','A','F','P','E','EO','EZ'),godz_absencji ,0)) as a16_dzien11,
				sum(if(dzien=12 and absencja NOT IN ('N','A','F','P','E','EO','EZ'),godz_absencji ,0)) as a16_dzien12,
				sum(if(dzien=13 and absencja NOT IN ('N','A','F','P','E','EO','EZ'),godz_absencji ,0)) as a16_dzien13,
				sum(if(dzien=14 and absencja NOT IN ('N','A','F','P','E','EO','EZ'),godz_absencji ,0)) as a16_dzien14,
				sum(if(dzien=15 and absencja NOT IN ('N','A','F','P','E','EO','EZ'),godz_absencji ,0)) as a16_dzien15,
				sum(if(dzien=16 and absencja NOT IN ('N','A','F','P','E','EO','EZ'),godz_absencji ,0)) as a16_dzien16,
				sum(if(dzien=17 and absencja NOT IN ('N','A','F','P','E','EO','EZ'),godz_absencji ,0)) as a16_dzien17,
				sum(if(dzien=18 and absencja NOT IN ('N','A','F','P','E','EO','EZ'),godz_absencji ,0)) as a16_dzien18,
				sum(if(dzien=19 and absencja NOT IN ('N','A','F','P','E','EO','EZ'),godz_absencji ,0)) as a16_dzien19,
				sum(if(dzien=20 and absencja NOT IN ('N','A','F','P','E','EO','EZ'),godz_absencji ,0)) as a16_dzien20,
				sum(if(dzien=21 and absencja NOT IN ('N','A','F','P','E','EO','EZ'),godz_absencji ,0)) as a16_dzien21,
				sum(if(dzien=22 and absencja NOT IN ('N','A','F','P','E','EO','EZ'),godz_absencji ,0)) as a16_dzien22,
				sum(if(dzien=23 and absencja NOT IN ('N','A','F','P','E','EO','EZ'),godz_absencji ,0)) as a16_dzien23,
				sum(if(dzien=24 and absencja NOT IN ('N','A','F','P','E','EO','EZ'),godz_absencji ,0)) as a16_dzien24,
				sum(if(dzien=25 and absencja NOT IN ('N','A','F','P','E','EO','EZ'),godz_absencji ,0)) as a16_dzien25,
				sum(if(dzien=26 and absencja NOT IN ('N','A','F','P','E','EO','EZ'),godz_absencji ,0)) as a16_dzien26,
				sum(if(dzien=27 and absencja NOT IN ('N','A','F','P','E','EO','EZ'),godz_absencji ,0)) as a16_dzien27,
				sum(if(dzien=28 and absencja NOT IN ('N','A','F','P','E','EO','EZ'),godz_absencji ,0)) as a16_dzien28,
				sum(if(dzien=29 and absencja NOT IN ('N','A','F','P','E','EO','EZ'),godz_absencji ,0)) as a16_dzien29,
				sum(if(dzien=30 and absencja NOT IN ('N','A','F','P','E','EO','EZ'),godz_absencji ,0)) as a16_dzien30,
				sum(if(dzien=31 and absencja NOT IN ('N','A','F','P','E','EO','EZ'),godz_absencji ,0)) as a16_dzien31,
				sum(if(absencja NOT IN ('N','A','F','P','E','EO','EZ'),godz_absencji ,0)) as a16_razem,

				sum(if(dzien=1 and absencja = 'N',godz_absencji ,0)) as a17_dzien01,
				sum(if(dzien=2 and absencja = 'N',godz_absencji ,0)) as a17_dzien02,
				sum(if(dzien=3 and absencja = 'N',godz_absencji ,0)) as a17_dzien03,
				sum(if(dzien=4 and absencja = 'N',godz_absencji ,0)) as a17_dzien04,
				sum(if(dzien=5 and absencja = 'N',godz_absencji ,0)) as a17_dzien05,
				sum(if(dzien=6 and absencja = 'N',godz_absencji ,0)) as a17_dzien06,
				sum(if(dzien=7 and absencja = 'N',godz_absencji ,0)) as a17_dzien07,
				sum(if(dzien=8 and absencja = 'N',godz_absencji ,0)) as a17_dzien08,
				sum(if(dzien=9 and absencja = 'N',godz_absencji ,0)) as a17_dzien09,
				sum(if(dzien=10 and absencja = 'N',godz_absencji ,0)) as a17_dzien10,
				sum(if(dzien=11 and absencja = 'N',godz_absencji ,0)) as a17_dzien11,
				sum(if(dzien=12 and absencja = 'N',godz_absencji ,0)) as a17_dzien12,
				sum(if(dzien=13 and absencja = 'N',godz_absencji ,0)) as a17_dzien13,
				sum(if(dzien=14 and absencja = 'N',godz_absencji ,0)) as a17_dzien14,
				sum(if(dzien=15 and absencja = 'N',godz_absencji ,0)) as a17_dzien15,
				sum(if(dzien=16 and absencja = 'N',godz_absencji ,0)) as a17_dzien16,
				sum(if(dzien=17 and absencja = 'N',godz_absencji ,0)) as a17_dzien17,
				sum(if(dzien=18 and absencja = 'N',godz_absencji ,0)) as a17_dzien18,
				sum(if(dzien=19 and absencja = 'N',godz_absencji ,0)) as a17_dzien19,
				sum(if(dzien=20 and absencja = 'N',godz_absencji ,0)) as a17_dzien20,
				sum(if(dzien=21 and absencja = 'N',godz_absencji ,0)) as a17_dzien21,
				sum(if(dzien=22 and absencja = 'N',godz_absencji ,0)) as a17_dzien22,
				sum(if(dzien=23 and absencja = 'N',godz_absencji ,0)) as a17_dzien23,
				sum(if(dzien=24 and absencja = 'N',godz_absencji ,0)) as a17_dzien24,
				sum(if(dzien=25 and absencja = 'N',godz_absencji ,0)) as a17_dzien25,
				sum(if(dzien=26 and absencja = 'N',godz_absencji ,0)) as a17_dzien26,
				sum(if(dzien=27 and absencja = 'N',godz_absencji ,0)) as a17_dzien27,
				sum(if(dzien=28 and absencja = 'N',godz_absencji ,0)) as a17_dzien28,
				sum(if(dzien=29 and absencja = 'N',godz_absencji ,0)) as a17_dzien29,
				sum(if(dzien=30 and absencja = 'N',godz_absencji ,0)) as a17_dzien30,
				sum(if(dzien=31 and absencja = 'N',godz_absencji ,0)) as a17_dzien31,
				sum(if(absencja = 'N',godz_absencji ,0)) as a17_razem,

				sum(if(dzien=1 and absencja IN ('EO','EZ'),godz_absencji ,0)) as a20_dzien01,
				sum(if(dzien=2 and absencja IN ('EO','EZ'),godz_absencji ,0)) as a20_dzien02,
				sum(if(dzien=3 and absencja IN ('EO','EZ'),godz_absencji ,0)) as a20_dzien03,
				sum(if(dzien=4 and absencja IN ('EO','EZ'),godz_absencji ,0)) as a20_dzien04,
				sum(if(dzien=5 and absencja IN ('EO','EZ'),godz_absencji ,0)) as a20_dzien05,
				sum(if(dzien=6 and absencja IN ('EO','EZ'),godz_absencji ,0)) as a20_dzien06,
				sum(if(dzien=7 and absencja IN ('EO','EZ'),godz_absencji ,0)) as a20_dzien07,
				sum(if(dzien=8 and absencja IN ('EO','EZ'),godz_absencji ,0)) as a20_dzien08,
				sum(if(dzien=9 and absencja IN ('EO','EZ'),godz_absencji ,0)) as a20_dzien09,
				sum(if(dzien=10 and absencja IN ('EO','EZ'),godz_absencji ,0)) as a20_dzien10,
				sum(if(dzien=11 and absencja IN ('EO','EZ'),godz_absencji ,0)) as a20_dzien11,
				sum(if(dzien=12 and absencja IN ('EO','EZ'),godz_absencji ,0)) as a20_dzien12,
				sum(if(dzien=13 and absencja IN ('EO','EZ'),godz_absencji ,0)) as a20_dzien13,
				sum(if(dzien=14 and absencja IN ('EO','EZ'),godz_absencji ,0)) as a20_dzien14,
				sum(if(dzien=15 and absencja IN ('EO','EZ'),godz_absencji ,0)) as a20_dzien15,
				sum(if(dzien=16 and absencja IN ('EO','EZ'),godz_absencji ,0)) as a20_dzien16,
				sum(if(dzien=17 and absencja IN ('EO','EZ'),godz_absencji ,0)) as a20_dzien17,
				sum(if(dzien=18 and absencja IN ('EO','EZ'),godz_absencji ,0)) as a20_dzien18,
				sum(if(dzien=19 and absencja IN ('EO','EZ'),godz_absencji ,0)) as a20_dzien19,
				sum(if(dzien=20 and absencja IN ('EO','EZ'),godz_absencji ,0)) as a20_dzien20,
				sum(if(dzien=21 and absencja IN ('EO','EZ'),godz_absencji ,0)) as a20_dzien21,
				sum(if(dzien=22 and absencja IN ('EO','EZ'),godz_absencji ,0)) as a20_dzien22,
				sum(if(dzien=23 and absencja IN ('EO','EZ'),godz_absencji ,0)) as a20_dzien23,
				sum(if(dzien=24 and absencja IN ('EO','EZ'),godz_absencji ,0)) as a20_dzien24,
				sum(if(dzien=25 and absencja IN ('EO','EZ'),godz_absencji ,0)) as a20_dzien25,
				sum(if(dzien=26 and absencja IN ('EO','EZ'),godz_absencji ,0)) as a20_dzien26,
				sum(if(dzien=27 and absencja IN ('EO','EZ'),godz_absencji ,0)) as a20_dzien27,
				sum(if(dzien=28 and absencja IN ('EO','EZ'),godz_absencji ,0)) as a20_dzien28,
				sum(if(dzien=29 and absencja IN ('EO','EZ'),godz_absencji ,0)) as a20_dzien29,
				sum(if(dzien=30 and absencja IN ('EO','EZ'),godz_absencji ,0)) as a20_dzien30,
				sum(if(dzien=31 and absencja IN ('EO','EZ'),godz_absencji ,0)) as a20_dzien31,
				sum(if(absencja IN ('EO','EZ'),godz_absencji ,0)) as a20_razem,

				sum(if(dzien=1 and absencja IN ('E'),godz_absencji ,0)) as a22_dzien01,
				sum(if(dzien=2 and absencja IN ('E'),godz_absencji ,0)) as a22_dzien02,
				sum(if(dzien=3 and absencja IN ('E'),godz_absencji ,0)) as a22_dzien03,
				sum(if(dzien=4 and absencja IN ('E'),godz_absencji ,0)) as a22_dzien04,
				sum(if(dzien=5 and absencja IN ('E'),godz_absencji ,0)) as a22_dzien05,
				sum(if(dzien=6 and absencja IN ('E'),godz_absencji ,0)) as a22_dzien06,
				sum(if(dzien=7 and absencja IN ('E'),godz_absencji ,0)) as a22_dzien07,
				sum(if(dzien=8 and absencja IN ('E'),godz_absencji ,0)) as a22_dzien08,
				sum(if(dzien=9 and absencja IN ('E'),godz_absencji ,0)) as a22_dzien09,
				sum(if(dzien=10 and absencja IN ('E'),godz_absencji ,0)) as a22_dzien10,
				sum(if(dzien=11 and absencja IN ('E'),godz_absencji ,0)) as a22_dzien11,
				sum(if(dzien=12 and absencja IN ('E'),godz_absencji ,0)) as a22_dzien12,
				sum(if(dzien=13 and absencja IN ('E'),godz_absencji ,0)) as a22_dzien13,
				sum(if(dzien=14 and absencja IN ('E'),godz_absencji ,0)) as a22_dzien14,
				sum(if(dzien=15 and absencja IN ('E'),godz_absencji ,0)) as a22_dzien15,
				sum(if(dzien=16 and absencja IN ('E'),godz_absencji ,0)) as a22_dzien16,
				sum(if(dzien=17 and absencja IN ('E'),godz_absencji ,0)) as a22_dzien17,
				sum(if(dzien=18 and absencja IN ('E'),godz_absencji ,0)) as a22_dzien18,
				sum(if(dzien=19 and absencja IN ('E'),godz_absencji ,0)) as a22_dzien19,
				sum(if(dzien=20 and absencja IN ('E'),godz_absencji ,0)) as a22_dzien20,
				sum(if(dzien=21 and absencja IN ('E'),godz_absencji ,0)) as a22_dzien21,
				sum(if(dzien=22 and absencja IN ('E'),godz_absencji ,0)) as a22_dzien22,
				sum(if(dzien=23 and absencja IN ('E'),godz_absencji ,0)) as a22_dzien23,
				sum(if(dzien=24 and absencja IN ('E'),godz_absencji ,0)) as a22_dzien24,
				sum(if(dzien=25 and absencja IN ('E'),godz_absencji ,0)) as a22_dzien25,
				sum(if(dzien=26 and absencja IN ('E'),godz_absencji ,0)) as a22_dzien26,
				sum(if(dzien=27 and absencja IN ('E'),godz_absencji ,0)) as a22_dzien27,
				sum(if(dzien=28 and absencja IN ('E'),godz_absencji ,0)) as a22_dzien28,
				sum(if(dzien=29 and absencja IN ('E'),godz_absencji ,0)) as a22_dzien29,
				sum(if(dzien=30 and absencja IN ('E'),godz_absencji ,0)) as a22_dzien30,
				sum(if(dzien=31 and absencja IN ('E'),godz_absencji ,0)) as a22_dzien31,
				sum(if(absencja IN ('E'),godz_absencji ,0)) as a22_razem,


				f.miesiac
				from frekw f 
				inner join t_frekw_po p on f.guid = p.frekwGUID
				where f.GUID IN (select guid from t_listaGUID)
				group by f.pracGUID;


        update temp_frekw12 set
			a03_dzien01 = a03_dzien01 div 60 + (a03_dzien01 mod 60)/100,
			a03_dzien02 = a03_dzien02 div 60 + (a03_dzien02 mod 60)/100,
			a03_dzien03 = a03_dzien03 div 60 + (a03_dzien03 mod 60)/100,
			a03_dzien04 = a03_dzien04 div 60 + (a03_dzien04 mod 60)/100,
			a03_dzien05 = a03_dzien05 div 60 + (a03_dzien05 mod 60)/100,
			a03_dzien06 = a03_dzien06 div 60 + (a03_dzien06 mod 60)/100,
			a03_dzien07 = a03_dzien07 div 60 + (a03_dzien07 mod 60)/100,
			a03_dzien08 = a03_dzien08 div 60 + (a03_dzien08 mod 60)/100,
			a03_dzien09 = a03_dzien09 div 60 + (a03_dzien09 mod 60)/100,
			a03_dzien10 = a03_dzien10 div 60 + (a03_dzien10 mod 60)/100,
			a03_dzien11 = a03_dzien11 div 60 + (a03_dzien11 mod 60)/100,
			a03_dzien12 = a03_dzien12 div 60 + (a03_dzien12 mod 60)/100,
			a03_dzien13 = a03_dzien13 div 60 + (a03_dzien13 mod 60)/100,
			a03_dzien14 = a03_dzien14 div 60 + (a03_dzien14 mod 60)/100,
			a03_dzien15 = a03_dzien15 div 60 + (a03_dzien15 mod 60)/100,
			a03_dzien16 = a03_dzien16 div 60 + (a03_dzien16 mod 60)/100,
			a03_dzien17 = a03_dzien17 div 60 + (a03_dzien17 mod 60)/100,
			a03_dzien18 = a03_dzien18 div 60 + (a03_dzien18 mod 60)/100,
			a03_dzien19 = a03_dzien19 div 60 + (a03_dzien19 mod 60)/100,
			a03_dzien20 = a03_dzien20 div 60 + (a03_dzien20 mod 60)/100,
			a03_dzien21 = a03_dzien21 div 60 + (a03_dzien21 mod 60)/100,
			a03_dzien22 = a03_dzien22 div 60 + (a03_dzien22 mod 60)/100,
			a03_dzien23 = a03_dzien23 div 60 + (a03_dzien23 mod 60)/100,
			a03_dzien24 = a03_dzien24 div 60 + (a03_dzien24 mod 60)/100,
			a03_dzien25 = a03_dzien25 div 60 + (a03_dzien25 mod 60)/100,
			a03_dzien26 = a03_dzien26 div 60 + (a03_dzien26 mod 60)/100,
			a03_dzien27 = a03_dzien27 div 60 + (a03_dzien27 mod 60)/100,
			a03_dzien28 = a03_dzien28 div 60 + (a03_dzien28 mod 60)/100,
			a03_dzien29 = a03_dzien29 div 60 + (a03_dzien29 mod 60)/100,
			a03_dzien30 = a03_dzien30 div 60 + (a03_dzien30 mod 60)/100,
			a03_dzien31 = a03_dzien31 div 60 + (a03_dzien31 mod 60)/100,
			a03_razem = a03_razem div 60 + (a03_razem mod 60)/100,

			a04_dzien01 = a04_dzien01 div 60 + (a04_dzien01 mod 60)/100,
			a04_dzien02 = a04_dzien02 div 60 + (a04_dzien02 mod 60)/100,
			a04_dzien03 = a04_dzien03 div 60 + (a04_dzien03 mod 60)/100,
			a04_dzien04 = a04_dzien04 div 60 + (a04_dzien04 mod 60)/100,
			a04_dzien05 = a04_dzien05 div 60 + (a04_dzien05 mod 60)/100,
			a04_dzien06 = a04_dzien06 div 60 + (a04_dzien06 mod 60)/100,
			a04_dzien07 = a04_dzien07 div 60 + (a04_dzien07 mod 60)/100,
			a04_dzien08 = a04_dzien08 div 60 + (a04_dzien08 mod 60)/100,
			a04_dzien09 = a04_dzien09 div 60 + (a04_dzien09 mod 60)/100,
			a04_dzien10 = a04_dzien10 div 60 + (a04_dzien10 mod 60)/100,
			a04_dzien11 = a04_dzien11 div 60 + (a04_dzien11 mod 60)/100,
			a04_dzien12 = a04_dzien12 div 60 + (a04_dzien12 mod 60)/100,
			a04_dzien13 = a04_dzien13 div 60 + (a04_dzien13 mod 60)/100,
			a04_dzien14 = a04_dzien14 div 60 + (a04_dzien14 mod 60)/100,
			a04_dzien15 = a04_dzien15 div 60 + (a04_dzien15 mod 60)/100,
			a04_dzien16 = a04_dzien16 div 60 + (a04_dzien16 mod 60)/100,
			a04_dzien17 = a04_dzien17 div 60 + (a04_dzien17 mod 60)/100,
			a04_dzien18 = a04_dzien18 div 60 + (a04_dzien18 mod 60)/100,
			a04_dzien19 = a04_dzien19 div 60 + (a04_dzien19 mod 60)/100,
			a04_dzien20 = a04_dzien20 div 60 + (a04_dzien20 mod 60)/100,
			a04_dzien21 = a04_dzien21 div 60 + (a04_dzien21 mod 60)/100,
			a04_dzien22 = a04_dzien22 div 60 + (a04_dzien22 mod 60)/100,
			a04_dzien23 = a04_dzien23 div 60 + (a04_dzien23 mod 60)/100,
			a04_dzien24 = a04_dzien24 div 60 + (a04_dzien24 mod 60)/100,
			a04_dzien25 = a04_dzien25 div 60 + (a04_dzien25 mod 60)/100,
			a04_dzien26 = a04_dzien26 div 60 + (a04_dzien26 mod 60)/100,
			a04_dzien27 = a04_dzien27 div 60 + (a04_dzien27 mod 60)/100,
			a04_dzien28 = a04_dzien28 div 60 + (a04_dzien28 mod 60)/100,
			a04_dzien29 = a04_dzien29 div 60 + (a04_dzien29 mod 60)/100,
			a04_dzien30 = a04_dzien30 div 60 + (a04_dzien30 mod 60)/100,
			a04_dzien31 = a04_dzien31 div 60 + (a04_dzien31 mod 60)/100,
			a04_razem = a04_razem div 60 + (a04_razem mod 60)/100,

			a05_dzien01 = a05_dzien01 div 60 + (a05_dzien01 mod 60)/100,
			a05_dzien02 = a05_dzien02 div 60 + (a05_dzien02 mod 60)/100,
			a05_dzien03 = a05_dzien03 div 60 + (a05_dzien03 mod 60)/100,
			a05_dzien04 = a05_dzien04 div 60 + (a05_dzien04 mod 60)/100,
			a05_dzien05 = a05_dzien05 div 60 + (a05_dzien05 mod 60)/100,
			a05_dzien06 = a05_dzien06 div 60 + (a05_dzien06 mod 60)/100,
			a05_dzien07 = a05_dzien07 div 60 + (a05_dzien07 mod 60)/100,
			a05_dzien08 = a05_dzien08 div 60 + (a05_dzien08 mod 60)/100,
			a05_dzien09 = a05_dzien09 div 60 + (a05_dzien09 mod 60)/100,
			a05_dzien10 = a05_dzien10 div 60 + (a05_dzien10 mod 60)/100,
			a05_dzien11 = a05_dzien11 div 60 + (a05_dzien11 mod 60)/100,
			a05_dzien12 = a05_dzien12 div 60 + (a05_dzien12 mod 60)/100,
			a05_dzien13 = a05_dzien13 div 60 + (a05_dzien13 mod 60)/100,
			a05_dzien14 = a05_dzien14 div 60 + (a05_dzien14 mod 60)/100,
			a05_dzien15 = a05_dzien15 div 60 + (a05_dzien15 mod 60)/100,
			a05_dzien16 = a05_dzien16 div 60 + (a05_dzien16 mod 60)/100,
			a05_dzien17 = a05_dzien17 div 60 + (a05_dzien17 mod 60)/100,
			a05_dzien18 = a05_dzien18 div 60 + (a05_dzien18 mod 60)/100,
			a05_dzien19 = a05_dzien19 div 60 + (a05_dzien19 mod 60)/100,
			a05_dzien20 = a05_dzien20 div 60 + (a05_dzien20 mod 60)/100,
			a05_dzien21 = a05_dzien21 div 60 + (a05_dzien21 mod 60)/100,
			a05_dzien22 = a05_dzien22 div 60 + (a05_dzien22 mod 60)/100,
			a05_dzien23 = a05_dzien23 div 60 + (a05_dzien23 mod 60)/100,
			a05_dzien24 = a05_dzien24 div 60 + (a05_dzien24 mod 60)/100,
			a05_dzien25 = a05_dzien25 div 60 + (a05_dzien25 mod 60)/100,
			a05_dzien26 = a05_dzien26 div 60 + (a05_dzien26 mod 60)/100,
			a05_dzien27 = a05_dzien27 div 60 + (a05_dzien27 mod 60)/100,
			a05_dzien28 = a05_dzien28 div 60 + (a05_dzien28 mod 60)/100,
			a05_dzien29 = a05_dzien29 div 60 + (a05_dzien29 mod 60)/100,
			a05_dzien30 = a05_dzien30 div 60 + (a05_dzien30 mod 60)/100,
			a05_dzien31 = a05_dzien31 div 60 + (a05_dzien31 mod 60)/100,
			a05_razem = a05_razem div 60 + (a05_razem mod 60)/100,

			a06_dzien01 = a06_dzien01 div 60 + (a06_dzien01 mod 60)/100,
			a06_dzien02 = a06_dzien02 div 60 + (a06_dzien02 mod 60)/100,
			a06_dzien03 = a06_dzien03 div 60 + (a06_dzien03 mod 60)/100,
			a06_dzien04 = a06_dzien04 div 60 + (a06_dzien04 mod 60)/100,
			a06_dzien05 = a06_dzien05 div 60 + (a06_dzien05 mod 60)/100,
			a06_dzien06 = a06_dzien06 div 60 + (a06_dzien06 mod 60)/100,
			a06_dzien07 = a06_dzien07 div 60 + (a06_dzien07 mod 60)/100,
			a06_dzien08 = a06_dzien08 div 60 + (a06_dzien08 mod 60)/100,
			a06_dzien09 = a06_dzien09 div 60 + (a06_dzien09 mod 60)/100,
			a06_dzien10 = a06_dzien10 div 60 + (a06_dzien10 mod 60)/100,
			a06_dzien11 = a06_dzien11 div 60 + (a06_dzien11 mod 60)/100,
			a06_dzien12 = a06_dzien12 div 60 + (a06_dzien12 mod 60)/100,
			a06_dzien13 = a06_dzien13 div 60 + (a06_dzien13 mod 60)/100,
			a06_dzien14 = a06_dzien14 div 60 + (a06_dzien14 mod 60)/100,
			a06_dzien15 = a06_dzien15 div 60 + (a06_dzien15 mod 60)/100,
			a06_dzien16 = a06_dzien16 div 60 + (a06_dzien16 mod 60)/100,
			a06_dzien17 = a06_dzien17 div 60 + (a06_dzien17 mod 60)/100,
			a06_dzien18 = a06_dzien18 div 60 + (a06_dzien18 mod 60)/100,
			a06_dzien19 = a06_dzien19 div 60 + (a06_dzien19 mod 60)/100,
			a06_dzien20 = a06_dzien20 div 60 + (a06_dzien20 mod 60)/100,
			a06_dzien21 = a06_dzien21 div 60 + (a06_dzien21 mod 60)/100,
			a06_dzien22 = a06_dzien22 div 60 + (a06_dzien22 mod 60)/100,
			a06_dzien23 = a06_dzien23 div 60 + (a06_dzien23 mod 60)/100,
			a06_dzien24 = a06_dzien24 div 60 + (a06_dzien24 mod 60)/100,
			a06_dzien25 = a06_dzien25 div 60 + (a06_dzien25 mod 60)/100,
			a06_dzien26 = a06_dzien26 div 60 + (a06_dzien26 mod 60)/100,
			a06_dzien27 = a06_dzien27 div 60 + (a06_dzien27 mod 60)/100,
			a06_dzien28 = a06_dzien28 div 60 + (a06_dzien28 mod 60)/100,
			a06_dzien29 = a06_dzien29 div 60 + (a06_dzien29 mod 60)/100,
			a06_dzien30 = a06_dzien30 div 60 + (a06_dzien30 mod 60)/100,
			a06_dzien31 = a06_dzien31 div 60 + (a06_dzien31 mod 60)/100,
			a06_razem = a06_razem div 60 + (a06_razem mod 60)/100,

			a08_dzien01 = a08_dzien01 div 60 + (a08_dzien01 mod 60)/100,
			a08_dzien02 = a08_dzien02 div 60 + (a08_dzien02 mod 60)/100,
			a08_dzien03 = a08_dzien03 div 60 + (a08_dzien03 mod 60)/100,
			a08_dzien04 = a08_dzien04 div 60 + (a08_dzien04 mod 60)/100,
			a08_dzien05 = a08_dzien05 div 60 + (a08_dzien05 mod 60)/100,
			a08_dzien06 = a08_dzien06 div 60 + (a08_dzien06 mod 60)/100,
			a08_dzien07 = a08_dzien07 div 60 + (a08_dzien07 mod 60)/100,
			a08_dzien08 = a08_dzien08 div 60 + (a08_dzien08 mod 60)/100,
			a08_dzien09 = a08_dzien09 div 60 + (a08_dzien09 mod 60)/100,
			a08_dzien10 = a08_dzien10 div 60 + (a08_dzien10 mod 60)/100,
			a08_dzien11 = a08_dzien11 div 60 + (a08_dzien11 mod 60)/100,
			a08_dzien12 = a08_dzien12 div 60 + (a08_dzien12 mod 60)/100,
			a08_dzien13 = a08_dzien13 div 60 + (a08_dzien13 mod 60)/100,
			a08_dzien14 = a08_dzien14 div 60 + (a08_dzien14 mod 60)/100,
			a08_dzien15 = a08_dzien15 div 60 + (a08_dzien15 mod 60)/100,
			a08_dzien16 = a08_dzien16 div 60 + (a08_dzien16 mod 60)/100,
			a08_dzien17 = a08_dzien17 div 60 + (a08_dzien17 mod 60)/100,
			a08_dzien18 = a08_dzien18 div 60 + (a08_dzien18 mod 60)/100,
			a08_dzien19 = a08_dzien19 div 60 + (a08_dzien19 mod 60)/100,
			a08_dzien20 = a08_dzien20 div 60 + (a08_dzien20 mod 60)/100,
			a08_dzien21 = a08_dzien21 div 60 + (a08_dzien21 mod 60)/100,
			a08_dzien22 = a08_dzien22 div 60 + (a08_dzien22 mod 60)/100,
			a08_dzien23 = a08_dzien23 div 60 + (a08_dzien23 mod 60)/100,
			a08_dzien24 = a08_dzien24 div 60 + (a08_dzien24 mod 60)/100,
			a08_dzien25 = a08_dzien25 div 60 + (a08_dzien25 mod 60)/100,
			a08_dzien26 = a08_dzien26 div 60 + (a08_dzien26 mod 60)/100,
			a08_dzien27 = a08_dzien27 div 60 + (a08_dzien27 mod 60)/100,
			a08_dzien28 = a08_dzien28 div 60 + (a08_dzien28 mod 60)/100,
			a08_dzien29 = a08_dzien29 div 60 + (a08_dzien29 mod 60)/100,
			a08_dzien30 = a08_dzien30 div 60 + (a08_dzien30 mod 60)/100,
			a08_dzien31 = a08_dzien31 div 60 + (a08_dzien31 mod 60)/100,
			a08_razem = a08_razem div 60 + (a08_razem mod 60)/100,

			a14_dzien01 = a14_dzien01 div 60 + (a14_dzien01 mod 60)/100,
			a14_dzien02 = a14_dzien02 div 60 + (a14_dzien02 mod 60)/100,
			a14_dzien03 = a14_dzien03 div 60 + (a14_dzien03 mod 60)/100,
			a14_dzien04 = a14_dzien04 div 60 + (a14_dzien04 mod 60)/100,
			a14_dzien05 = a14_dzien05 div 60 + (a14_dzien05 mod 60)/100,
			a14_dzien06 = a14_dzien06 div 60 + (a14_dzien06 mod 60)/100,
			a14_dzien07 = a14_dzien07 div 60 + (a14_dzien07 mod 60)/100,
			a14_dzien08 = a14_dzien08 div 60 + (a14_dzien08 mod 60)/100,
			a14_dzien09 = a14_dzien09 div 60 + (a14_dzien09 mod 60)/100,
			a14_dzien10 = a14_dzien10 div 60 + (a14_dzien10 mod 60)/100,
			a14_dzien11 = a14_dzien11 div 60 + (a14_dzien11 mod 60)/100,
			a14_dzien12 = a14_dzien12 div 60 + (a14_dzien12 mod 60)/100,
			a14_dzien13 = a14_dzien13 div 60 + (a14_dzien13 mod 60)/100,
			a14_dzien14 = a14_dzien14 div 60 + (a14_dzien14 mod 60)/100,
			a14_dzien15 = a14_dzien15 div 60 + (a14_dzien15 mod 60)/100,
			a14_dzien16 = a14_dzien16 div 60 + (a14_dzien16 mod 60)/100,
			a14_dzien17 = a14_dzien17 div 60 + (a14_dzien17 mod 60)/100,
			a14_dzien18 = a14_dzien18 div 60 + (a14_dzien18 mod 60)/100,
			a14_dzien19 = a14_dzien19 div 60 + (a14_dzien19 mod 60)/100,
			a14_dzien20 = a14_dzien20 div 60 + (a14_dzien20 mod 60)/100,
			a14_dzien21 = a14_dzien21 div 60 + (a14_dzien21 mod 60)/100,
			a14_dzien22 = a14_dzien22 div 60 + (a14_dzien22 mod 60)/100,
			a14_dzien23 = a14_dzien23 div 60 + (a14_dzien23 mod 60)/100,
			a14_dzien24 = a14_dzien24 div 60 + (a14_dzien24 mod 60)/100,
			a14_dzien25 = a14_dzien25 div 60 + (a14_dzien25 mod 60)/100,
			a14_dzien26 = a14_dzien26 div 60 + (a14_dzien26 mod 60)/100,
			a14_dzien27 = a14_dzien27 div 60 + (a14_dzien27 mod 60)/100,
			a14_dzien28 = a14_dzien28 div 60 + (a14_dzien28 mod 60)/100,
			a14_dzien29 = a14_dzien29 div 60 + (a14_dzien29 mod 60)/100,
			a14_dzien30 = a14_dzien30 div 60 + (a14_dzien30 mod 60)/100,
			a14_dzien31 = a14_dzien31 div 60 + (a14_dzien31 mod 60)/100,
			a14_razem = a14_razem div 60 + (a14_razem mod 60)/100,

			a16_dzien01 = a16_dzien01 div 60 + (a16_dzien01 mod 60)/100,
			a16_dzien02 = a16_dzien02 div 60 + (a16_dzien02 mod 60)/100,
			a16_dzien03 = a16_dzien03 div 60 + (a16_dzien03 mod 60)/100,
			a16_dzien04 = a16_dzien04 div 60 + (a16_dzien04 mod 60)/100,
			a16_dzien05 = a16_dzien05 div 60 + (a16_dzien05 mod 60)/100,
			a16_dzien06 = a16_dzien06 div 60 + (a16_dzien06 mod 60)/100,
			a16_dzien07 = a16_dzien07 div 60 + (a16_dzien07 mod 60)/100,
			a16_dzien08 = a16_dzien08 div 60 + (a16_dzien08 mod 60)/100,
			a16_dzien09 = a16_dzien09 div 60 + (a16_dzien09 mod 60)/100,
			a16_dzien10 = a16_dzien10 div 60 + (a16_dzien10 mod 60)/100,
			a16_dzien11 = a16_dzien11 div 60 + (a16_dzien11 mod 60)/100,
			a16_dzien12 = a16_dzien12 div 60 + (a16_dzien12 mod 60)/100,
			a16_dzien13 = a16_dzien13 div 60 + (a16_dzien13 mod 60)/100,
			a16_dzien14 = a16_dzien14 div 60 + (a16_dzien14 mod 60)/100,
			a16_dzien15 = a16_dzien15 div 60 + (a16_dzien15 mod 60)/100,
			a16_dzien16 = a16_dzien16 div 60 + (a16_dzien16 mod 60)/100,
			a16_dzien17 = a16_dzien17 div 60 + (a16_dzien17 mod 60)/100,
			a16_dzien18 = a16_dzien18 div 60 + (a16_dzien18 mod 60)/100,
			a16_dzien19 = a16_dzien19 div 60 + (a16_dzien19 mod 60)/100,
			a16_dzien20 = a16_dzien20 div 60 + (a16_dzien20 mod 60)/100,
			a16_dzien21 = a16_dzien21 div 60 + (a16_dzien21 mod 60)/100,
			a16_dzien22 = a16_dzien22 div 60 + (a16_dzien22 mod 60)/100,
			a16_dzien23 = a16_dzien23 div 60 + (a16_dzien23 mod 60)/100,
			a16_dzien24 = a16_dzien24 div 60 + (a16_dzien24 mod 60)/100,
			a16_dzien25 = a16_dzien25 div 60 + (a16_dzien25 mod 60)/100,
			a16_dzien26 = a16_dzien26 div 60 + (a16_dzien26 mod 60)/100,
			a16_dzien27 = a16_dzien27 div 60 + (a16_dzien27 mod 60)/100,
			a16_dzien28 = a16_dzien28 div 60 + (a16_dzien28 mod 60)/100,
			a16_dzien29 = a16_dzien29 div 60 + (a16_dzien29 mod 60)/100,
			a16_dzien30 = a16_dzien30 div 60 + (a16_dzien30 mod 60)/100,
			a16_dzien31 = a16_dzien31 div 60 + (a16_dzien31 mod 60)/100,
			a16_razem = a16_razem div 60 + (a16_razem mod 60)/100,

			a17_dzien01 = a17_dzien01 div 60 + (a17_dzien01 mod 60)/100,
			a17_dzien02 = a17_dzien02 div 60 + (a17_dzien02 mod 60)/100,
			a17_dzien03 = a17_dzien03 div 60 + (a17_dzien03 mod 60)/100,
			a17_dzien04 = a17_dzien04 div 60 + (a17_dzien04 mod 60)/100,
			a17_dzien05 = a17_dzien05 div 60 + (a17_dzien05 mod 60)/100,
			a17_dzien06 = a17_dzien06 div 60 + (a17_dzien06 mod 60)/100,
			a17_dzien07 = a17_dzien07 div 60 + (a17_dzien07 mod 60)/100,
			a17_dzien08 = a17_dzien08 div 60 + (a17_dzien08 mod 60)/100,
			a17_dzien09 = a17_dzien09 div 60 + (a17_dzien09 mod 60)/100,
			a17_dzien10 = a17_dzien10 div 60 + (a17_dzien10 mod 60)/100,
			a17_dzien11 = a17_dzien11 div 60 + (a17_dzien11 mod 60)/100,
			a17_dzien12 = a17_dzien12 div 60 + (a17_dzien12 mod 60)/100,
			a17_dzien13 = a17_dzien13 div 60 + (a17_dzien13 mod 60)/100,
			a17_dzien14 = a17_dzien14 div 60 + (a17_dzien14 mod 60)/100,
			a17_dzien15 = a17_dzien15 div 60 + (a17_dzien15 mod 60)/100,
			a17_dzien16 = a17_dzien16 div 60 + (a17_dzien16 mod 60)/100,
			a17_dzien17 = a17_dzien17 div 60 + (a17_dzien17 mod 60)/100,
			a17_dzien18 = a17_dzien18 div 60 + (a17_dzien18 mod 60)/100,
			a17_dzien19 = a17_dzien19 div 60 + (a17_dzien19 mod 60)/100,
			a17_dzien20 = a17_dzien20 div 60 + (a17_dzien20 mod 60)/100,
			a17_dzien21 = a17_dzien21 div 60 + (a17_dzien21 mod 60)/100,
			a17_dzien22 = a17_dzien22 div 60 + (a17_dzien22 mod 60)/100,
			a17_dzien23 = a17_dzien23 div 60 + (a17_dzien23 mod 60)/100,
			a17_dzien24 = a17_dzien24 div 60 + (a17_dzien24 mod 60)/100,
			a17_dzien25 = a17_dzien25 div 60 + (a17_dzien25 mod 60)/100,
			a17_dzien26 = a17_dzien26 div 60 + (a17_dzien26 mod 60)/100,
			a17_dzien27 = a17_dzien27 div 60 + (a17_dzien27 mod 60)/100,
			a17_dzien28 = a17_dzien28 div 60 + (a17_dzien28 mod 60)/100,
			a17_dzien29 = a17_dzien29 div 60 + (a17_dzien29 mod 60)/100,
			a17_dzien30 = a17_dzien30 div 60 + (a17_dzien30 mod 60)/100,
			a17_dzien31 = a17_dzien31 div 60 + (a17_dzien31 mod 60)/100,
			a17_razem = a17_razem div 60 + (a17_razem mod 60)/100,


			a20_dzien01 = a20_dzien01 div 60 + (a20_dzien01 mod 60)/100,
			a20_dzien02 = a20_dzien02 div 60 + (a20_dzien02 mod 60)/100,
			a20_dzien03 = a20_dzien03 div 60 + (a20_dzien03 mod 60)/100,
			a20_dzien04 = a20_dzien04 div 60 + (a20_dzien04 mod 60)/100,
			a20_dzien05 = a20_dzien05 div 60 + (a20_dzien05 mod 60)/100,
			a20_dzien06 = a20_dzien06 div 60 + (a20_dzien06 mod 60)/100,
			a20_dzien07 = a20_dzien07 div 60 + (a20_dzien07 mod 60)/100,
			a20_dzien08 = a20_dzien08 div 60 + (a20_dzien08 mod 60)/100,
			a20_dzien09 = a20_dzien09 div 60 + (a20_dzien09 mod 60)/100,
			a20_dzien10 = a20_dzien10 div 60 + (a20_dzien10 mod 60)/100,
			a20_dzien11 = a20_dzien11 div 60 + (a20_dzien11 mod 60)/100,
			a20_dzien12 = a20_dzien12 div 60 + (a20_dzien12 mod 60)/100,
			a20_dzien13 = a20_dzien13 div 60 + (a20_dzien13 mod 60)/100,
			a20_dzien14 = a20_dzien14 div 60 + (a20_dzien14 mod 60)/100,
			a20_dzien15 = a20_dzien15 div 60 + (a20_dzien15 mod 60)/100,
			a20_dzien16 = a20_dzien16 div 60 + (a20_dzien16 mod 60)/100,
			a20_dzien17 = a20_dzien17 div 60 + (a20_dzien17 mod 60)/100,
			a20_dzien18 = a20_dzien18 div 60 + (a20_dzien18 mod 60)/100,
			a20_dzien19 = a20_dzien19 div 60 + (a20_dzien19 mod 60)/100,
			a20_dzien20 = a20_dzien20 div 60 + (a20_dzien20 mod 60)/100,
			a20_dzien21 = a20_dzien21 div 60 + (a20_dzien21 mod 60)/100,
			a20_dzien22 = a20_dzien22 div 60 + (a20_dzien22 mod 60)/100,
			a20_dzien23 = a20_dzien23 div 60 + (a20_dzien23 mod 60)/100,
			a20_dzien24 = a20_dzien24 div 60 + (a20_dzien24 mod 60)/100,
			a20_dzien25 = a20_dzien25 div 60 + (a20_dzien25 mod 60)/100,
			a20_dzien26 = a20_dzien26 div 60 + (a20_dzien26 mod 60)/100,
			a20_dzien27 = a20_dzien27 div 60 + (a20_dzien27 mod 60)/100,
			a20_dzien28 = a20_dzien28 div 60 + (a20_dzien28 mod 60)/100,
			a20_dzien29 = a20_dzien29 div 60 + (a20_dzien29 mod 60)/100,
			a20_dzien30 = a20_dzien30 div 60 + (a20_dzien30 mod 60)/100,
			a20_dzien31 = a20_dzien31 div 60 + (a20_dzien31 mod 60)/100,
			a20_razem = a20_razem div 60 + (a20_razem mod 60)/100,

			a22_dzien01 = a22_dzien01 div 60 + (a22_dzien01 mod 60)/100,
			a22_dzien02 = a22_dzien02 div 60 + (a22_dzien02 mod 60)/100,
			a22_dzien03 = a22_dzien03 div 60 + (a22_dzien03 mod 60)/100,
			a22_dzien04 = a22_dzien04 div 60 + (a22_dzien04 mod 60)/100,
			a22_dzien05 = a22_dzien05 div 60 + (a22_dzien05 mod 60)/100,
			a22_dzien06 = a22_dzien06 div 60 + (a22_dzien06 mod 60)/100,
			a22_dzien07 = a22_dzien07 div 60 + (a22_dzien07 mod 60)/100,
			a22_dzien08 = a22_dzien08 div 60 + (a22_dzien08 mod 60)/100,
			a22_dzien09 = a22_dzien09 div 60 + (a22_dzien09 mod 60)/100,
			a22_dzien10 = a22_dzien10 div 60 + (a22_dzien10 mod 60)/100,
			a22_dzien11 = a22_dzien11 div 60 + (a22_dzien11 mod 60)/100,
			a22_dzien12 = a22_dzien12 div 60 + (a22_dzien12 mod 60)/100,
			a22_dzien13 = a22_dzien13 div 60 + (a22_dzien13 mod 60)/100,
			a22_dzien14 = a22_dzien14 div 60 + (a22_dzien14 mod 60)/100,
			a22_dzien15 = a22_dzien15 div 60 + (a22_dzien15 mod 60)/100,
			a22_dzien16 = a22_dzien16 div 60 + (a22_dzien16 mod 60)/100,
			a22_dzien17 = a22_dzien17 div 60 + (a22_dzien17 mod 60)/100,
			a22_dzien18 = a22_dzien18 div 60 + (a22_dzien18 mod 60)/100,
			a22_dzien19 = a22_dzien19 div 60 + (a22_dzien19 mod 60)/100,
			a22_dzien20 = a22_dzien20 div 60 + (a22_dzien20 mod 60)/100,
			a22_dzien21 = a22_dzien21 div 60 + (a22_dzien21 mod 60)/100,
			a22_dzien22 = a22_dzien22 div 60 + (a22_dzien22 mod 60)/100,
			a22_dzien23 = a22_dzien23 div 60 + (a22_dzien23 mod 60)/100,
			a22_dzien24 = a22_dzien24 div 60 + (a22_dzien24 mod 60)/100,
			a22_dzien25 = a22_dzien25 div 60 + (a22_dzien25 mod 60)/100,
			a22_dzien26 = a22_dzien26 div 60 + (a22_dzien26 mod 60)/100,
			a22_dzien27 = a22_dzien27 div 60 + (a22_dzien27 mod 60)/100,
			a22_dzien28 = a22_dzien28 div 60 + (a22_dzien28 mod 60)/100,
			a22_dzien29 = a22_dzien29 div 60 + (a22_dzien29 mod 60)/100,
			a22_dzien30 = a22_dzien30 div 60 + (a22_dzien30 mod 60)/100,
			a22_dzien31 = a22_dzien31 div 60 + (a22_dzien31 mod 60)/100,
			a22_razem = a22_razem div 60 + (a22_razem mod 60)/100
			;


        -- wstawka specjalnie dla SECURITY, godziny nocne i nadgodziny 50 i 100 maja byc pokazywane tylko w grudniu, po calym roku
	IF @session.globals.Owner = 'SECURITY' THEN
	UPDATE temp_frekw12 SET
			/* godziny nocne, maja byc pokazywane w kazdym miesiacu
   			a04_dzien01 = 0,
			a04_dzien02 = 0,
			a04_dzien03 = 0,
			a04_dzien04 = 0,
			a04_dzien05 = 0,
			a04_dzien06 = 0,
			a04_dzien07 = 0,
			a04_dzien08 = 0,
			a04_dzien09 = 0,
			a04_dzien10 = 0,
			a04_dzien11 = 0,
			a04_dzien12 = 0,
			a04_dzien13 = 0,
			a04_dzien14 = 0,
			a04_dzien15 = 0,
			a04_dzien16 = 0,
			a04_dzien17 = 0,
			a04_dzien18 = 0,
			a04_dzien19 = 0,
			a04_dzien20 = 0,
			a04_dzien21 = 0,
			a04_dzien22 = 0,
			a04_dzien23 = 0,
			a04_dzien24 = 0,
			a04_dzien25 = 0,
			a04_dzien26 = 0,
			a04_dzien27 = 0,
			a04_dzien28 = 0,
			a04_dzien29 = 0,
			a04_dzien30 = 0,
			a04_dzien31 = 0,
			a04_razem = 0,
			*/
            a05_dzien01 = 0,
			a05_dzien02 = 0,
			a05_dzien03 = 0,
			a05_dzien04 = 0,
			a05_dzien05 = 0,
			a05_dzien06 = 0,
			a05_dzien07 = 0,
			a05_dzien08 = 0,
			a05_dzien09 = 0,
			a05_dzien10 = 0,
			a05_dzien11 = 0,
			a05_dzien12 = 0,
			a05_dzien13 = 0,
			a05_dzien14 = 0,
			a05_dzien15 = 0,
			a05_dzien16 = 0,
			a05_dzien17 = 0,
			a05_dzien18 = 0,
			a05_dzien19 = 0,
			a05_dzien20 = 0,
			a05_dzien21 = 0,
			a05_dzien22 = 0,
			a05_dzien23 = 0,
			a05_dzien24 = 0,
			a05_dzien25 = 0,
			a05_dzien26 = 0,
			a05_dzien27 = 0,
			a05_dzien28 = 0,
			a05_dzien29 = 0,
			a05_dzien30 = 0,
			a05_dzien31 = 0,
			a05_razem = 0,

            a06_dzien01 = 0,
			a06_dzien02 = 0,
			a06_dzien03 = 0,
			a06_dzien04 = 0,
			a06_dzien05 = 0,
			a06_dzien06 = 0,
			a06_dzien07 = 0,
			a06_dzien08 = 0,
			a06_dzien09 = 0,
			a06_dzien10 = 0,
			a06_dzien11 = 0,
			a06_dzien12 = 0,
			a06_dzien13 = 0,
			a06_dzien14 = 0,
			a06_dzien15 = 0,
			a06_dzien16 = 0,
			a06_dzien17 = 0,
			a06_dzien18 = 0,
			a06_dzien19 = 0,
			a06_dzien20 = 0,
			a06_dzien21 = 0,
			a06_dzien22 = 0,
			a06_dzien23 = 0,
			a06_dzien24 = 0,
			a06_dzien25 = 0,
			a06_dzien26 = 0,
			a06_dzien27 = 0,
			a06_dzien28 = 0,
			a06_dzien29 = 0,
			a06_dzien30 = 0,
			a06_dzien31 = 0,
			a06_razem = 0
            WHERE miesiac <> 12
            ;
        END IF;

		SELECT f11.*, f12.*
		from temp_frekw11 f11, temp_frekw12 f12
		where f11.pracGUID = f11.pracGUID  and f11.GUID = f12.GUID
		order by nazwisko, imiona, dzien;
		

		DROP TABLE if exists t_frekw_po;
		DROP TABLE if exists temp_frekw11;
		DROP TABLE if exists temp_frekw12;

	END IF;	--	IF _MODE = 'EWIDENCJA_CZASU_PRACY_GODZ_WE_WY_PO'

-- wydruk z kartoteki frekwencji, roczna karta obcenosci, po nowemu (2024)
-- CALL fr_pl_frekwencja('ROCZNA_KARTA_OBECNOSCI', rok,'GUIDPrac', '', '', '', 'scenariusz');
-- CALL fr_pl_frekwencja('ROCZNA_KARTA_OBECNOSCI', 2024,'{B631E16C-CB9D-4FD3-A81E-B891E5CB7B3B}', '', '', '', 'scenariusz');
-- UWAGA, mode wywolywany przez mode PRINT_FREKW_ROK_KARTA_EWID_1 !!!
	IF _MODE = 'ROCZNA_KARTA_OBECNOSCI' THEN

		select sum(PracowalDni), sum(W_godz)/60, sum(W_dni)
		into _pracowal, _w_godz, _w_dni
		from frekw f
		where f.deleted=0
		and f.pracGUID = _Param_A and f.rok = _Rok
		group by f.pracGUID
		;

		select wymiarurlopugodz/60 + IleDniZaleglegoUrlopuGodz/60,
		WymiarUrlopuDni + IleDniZaleglegoUrlopuDni,
		wymiarurlopugodz/60 + IleDniZaleglegoUrlopuGodz/60 - _w_godz,
		WymiarUrlopuDni + IleDniZaleglegoUrlopuDni - _w_dni
		INTO _u1, _u2, _u3, _u4
		from urlopy
		where GUIDpr = _Param_A and rok = _Rok
		;

		select
		'fr_pl_frekwencja_ROCZNA_KO' AS fr_pl_frekwencja_ROCZNA_KO,
		(SELECT valuea FROM IReg WHERE idkey = 'Pelna_nazwa' LIMIT 1) AS FirmaNazwa,
		-- (SELECT valuea FROM IReg WHERE idkey = 'Address Info' LIMIT 1) AS FirmaAdres,
		-- (SELECT valuea FROM IReg WHERE idkey = 'Miasto' AND IdPath= 'INT\\SYSTEM\\MOTLAWA\\DaneFirmy' LIMIT 1) AS FirmaMiasto,
		-- (SELECT valuex FROM IReg WHERE idkey = 'Contact' LIMIT 1) AS FirmaKontakt,
		-- (SELECT valuea FROM IReg WHERE idkey = 'Reprezentant_firmy_sprawy_kadrowe' LIMIT 1) AS FirmaReprezentant,
		-- current_date() as data_wydruku,
		_pracowal as pracowal,
		_Rok as rok,
		f.pracGUID,
		o.Nazwisko, o.Imiona, o.dataurodzenia, pr.datazatrudnieniawzakl,
		if(ifnull(pr.datazwolnienia,'') <> '', CONCAT('Data zwolnienia: ',pr.datazwolnienia),'') as datazwolnienia,
		_u1 as u1, _u2 as u2, _u3 as u3, _u4 as u4,
		month(p.rok_msc_dzien) as mc,
		SP.DisplayValue as mcStr,
		-- p.rok_msc_dzien,
		-- p.absencja,
		max(if(p.dzien=1,p.absencja,'')) as d01,
		max(if(p.dzien=2,p.absencja,'')) as d02,
		max(if(p.dzien=3,p.absencja,'')) as d03,
		max(if(p.dzien=4,p.absencja,'')) as d04,
		max(if(p.dzien=5,p.absencja,'')) as d05,
		max(if(p.dzien=6,p.absencja,'')) as d06,
		max(if(p.dzien=7,p.absencja,'')) as d07,
		max(if(p.dzien=8,p.absencja,'')) as d08,
		max(if(p.dzien=9,p.absencja,'')) as d09,
		max(if(p.dzien=10,p.absencja,'')) as d10,
		max(if(p.dzien=11,p.absencja,'')) as d11,
		max(if(p.dzien=12,p.absencja,'')) as d12,
		max(if(p.dzien=13,p.absencja,'')) as d13,
		max(if(p.dzien=14,p.absencja,'')) as d14,
		max(if(p.dzien=15,p.absencja,'')) as d15,
		max(if(p.dzien=16,p.absencja,'')) as d16,
		max(if(p.dzien=17,p.absencja,'')) as d17,
		max(if(p.dzien=18,p.absencja,'')) as d18,
		max(if(p.dzien=19,p.absencja,'')) as d19,
		max(if(p.dzien=20,p.absencja,'')) as d20,
		max(if(p.dzien=21,p.absencja,'')) as d21,
		max(if(p.dzien=22,p.absencja,'')) as d22,
		max(if(p.dzien=23,p.absencja,'')) as d23,
		max(if(p.dzien=24,p.absencja,'')) as d24,
		max(if(p.dzien=25,p.absencja,'')) as d25,
		max(if(p.dzien=26,p.absencja,'')) as d26,
		max(if(p.dzien=27,p.absencja,'')) as d27,
		max(if(p.dzien=28,p.absencja,'')) as d28,
		max(if(p.dzien=29,p.absencja,'')) as d29,
		max(if(p.dzien=30,p.absencja,'')) as d30,
		max(if(p.dzien=31,p.absencja,'')) as d31
		-- max(godziny) as razem,

		from frekw f
		inner join frekw_po p ON f.guid = p.FrekwGUID
		inner JOIN Pracownicy pr on pr.GUID = f.pracGUID
		inner JOIN osoby o on o.GUID = pr.guid
		left join slowniki_pierwotne SP on SP.Value= month(p.rok_msc_dzien) and SP.Slownik_GUID = 'MIESIACE'
		where f.deleted = 0
		and f.rok = _Rok and f.pracGUID = _Param_A
		group by f.pracGUID, month(p.rok_msc_dzien)
		order by f.pracGUID, mc;

	END IF;

	IF _MODE = 'ROCZNA_KARTA_OBECNOSCI_3' THEN

		select a.symbol,
		a.definicja,
		count(p.dzien) as dni, sum(p.godziny) as godz
		from absencje_dict a
		join frekw_po p on p.absencja=a.symbol
		join frekw f  on p.frekwguid=f.guid
		where f.pracguid = _Param_A and f.rok=_Rok and f.deleted=0
		group by a.symbol
		order by a.lp;


	END IF;
	/*

	*/




END$$

DELIMITER ;

/* =====================================================================================================================
	NOTATNIK
====================================================================================================================== */
