-- SQL-ka do ustawienia znacznika 26 lat w już istniejących zleceniach, które powstały przed ustawieniem znacznika 26 lat na pracowniku


-- dla pojedynczego zlecenia o podanym guidzie
UPDATE `prace_zlecone` p, Pracownicy pp, osoby o
  SET p.ZwolnienieOdPodatku26Lat =
  IF(p.datawyplaty < '2019-08-01', 0, IF(p.datawyplaty >= DATE_ADD(o.DataUrodzenia, INTERVAL 26 YEAR), 0, pp.ZwolnienieOdPodatku26Lat))
  WHERE p.`GUID_pracownika` = pp.GUID AND pp.guid= o.guid AND p.GUID = 'extra_664e096216c52722b7260f71e87ccf04'; 
  
  
  
  
  -- SQL-ka GP dla zestawu zlecen od daty wyplaty ...
DROP TEMPORARY TABLE  zlec_do_poprawki
;

CREATE TEMPORARY TABLE zlec_do_poprawki   
(SELECT zp.GUID 
			FROM 
			`prace_zlecone` zp, Pracownicy zpp, osoby zo
			WHERE 
			zp.`GUID_pracownika` = zpp.GUID 
			AND zpp.guid = zo.guid
			AND (zp.datawyplaty < DATE_ADD(zo.DataUrodzenia, INTERVAL 26 YEAR))
			AND zp.datawyplaty > '2019-09-01')
;
  
SELECT * FROM zlec_do_poprawki
;  
  
UPDATE `prace_zlecone` p, Pracownicy pp, osoby o
  SET p.ZwolnienieOdPodatku26Lat =
  IF(p.datawyplaty < '2019-08-01', 0, IF(p.datawyplaty >= DATE_ADD(o.DataUrodzenia, INTERVAL 26 YEAR), 0, pp.ZwolnienieOdPodatku26Lat))
  WHERE p.`GUID_pracownika` = pp.GUID AND pp.guid= o.guid AND p.GUID IN (SELECT GUID FROM zlec_do_poprawki)
;
  

  -- SQL-ka AS dla zestawu zlecen od daty wypłaty...
UPDATE  prace_zlecone zl, Pracownicy p
SET zl.ZwolnienieOdPodatku26Lat = p.ZwolnienieOdPodatku26Lat
WHERE p.GUID = zl.GUID_pracownika AND zl.datawyplaty>='2019-10-01';

  
  -- zapytanie pokazujące którzy pracownicy muszą zostac przeliczeni
  SELECT o.nazwisko, o.imiona, p.datawyplaty, p.miesiac, p.rok, p.GUID, pp.ZwolnienieOdPodatku26Lat AS zwOdPodatku26Pracownik, p.ZwolnienieOdPodatku26Lat AS zwOdPodatku26Zlecenie 
			FROM 
			`prace_zlecone` p, Pracownicy pp, osoby o
			WHERE 
			p.`GUID_pracownika` = pp.GUID 
			AND pp.guid = o.guid
			AND (p.datawyplaty < DATE_ADD(o.DataUrodzenia, INTERVAL 26 YEAR))
			AND p.datawyplaty >= '2019-10-01' AND p.DELETED=0
			ORDER BY nazwisko, imiona;
  