DELIMITER $$

/* ************************************************************************************************************************************************************************
	BI
************************************************************************************************************************************************************************ */	
DROP TRIGGER IF EXISTS `ht_dekl_cit_8o_bi`$$
CREATE DEFINER=`root`@`localhost` TRIGGER `ht_dekl_cit_8o_bi` BEFORE INSERT ON `ht_dekl_cit_8o` 
FOR EACH ROW 
A: BEGIN

	IF _TriggerDisabled() THEN LEAVE A; END IF;
	
	IF IFNULL(NEW.e_Doc_Def_ID, '') = '' THEN
			SELECT 
				ed.owner_doc_Id -- ed.ID 
				INTO
				@NEW.e_Doc_Def_ID
			FROM `e_doc_def` ed
			WHERE 
				ed.doc_type = NEW.KodFormularza AND ed.doc_owner = 'gov.pl' AND NEW.Rok BETWEEN YEAR(ed.DateFrom) AND YEAR(ed.DateTo) 
				ORDER BY ed.DateFrom DESC 
				LIMIT 1
			;	
			SET NEW.e_Doc_Def_ID = @NEW.e_Doc_Def_ID;
	END IF;
	
END;
$$

/* ************************************************************************************************************************************************************************
	AI
************************************************************************************************************************************************************************ */	
DROP TRIGGER IF EXISTS `ht_dekl_cit_8o_ai`$$
CREATE DEFINER=`root`@`localhost` TRIGGER `ht_dekl_cit_8o_ai` AFTER INSERT ON `ht_dekl_cit_8o` 
FOR EACH ROW 
A: BEGIN
	IF _TriggerDisabled() THEN LEAVE A; END IF;
	/*
	IF IFNULL(@session.trigger.pit_40, FALSE) THEN 
		LEAVE A; 
	END IF;
	SET @session.trigger.pit_40 = TRUE;
	*/

	IF IFNULL(NEW.GUID, '') != '' THEN

			INSERT IGNORE INTO `e_doc_ng`
				(e_Doc_Def_ID, Src_GUID, Src_TableName, Src_No, Src_Date, Descr)
				VALUES
				(NEW.e_Doc_Def_ID, NEW.GUID, 'ht_dekl_cit_8o', CONCAT('Rok: ', NEW.Rok), NOW(), NEW.KodFormularza) 
			;	
	END IF;
	
	/*
	SET @session.trigger.pit_40 = FALSE;
	*/
END;
$$

/* ************************************************************************************************************************************************************************
	BI
************************************************************************************************************************************************************************ */	
DROP TRIGGER IF EXISTS `ht_dekl_cit_bi`$$
CREATE DEFINER=`root`@`localhost` TRIGGER `ht_dekl_cit_bi` BEFORE INSERT ON `ht_dekl_cit` 
FOR EACH ROW 
A: BEGIN

	IF _TriggerDisabled() THEN LEAVE A; END IF;
	
	IF IFNULL(NEW.e_Doc_Def_ID, '') = '' THEN
			SELECT 
				ed.ID 
				INTO
				@NEW.e_Doc_Def_ID
			FROM `e_doc_def` ed
			WHERE 			-- NEW.KodFormularza
				ed.doc_type = NEW.KodFormularza  AND ed.doc_owner = 'gov.pl' AND NEW.Rok BETWEEN YEAR(ed.DateFrom) AND YEAR(ed.DateTo) 
				ORDER BY ed.DateFrom DESC 
				LIMIT 1
			;	
			SET NEW.e_Doc_Def_ID = @NEW.e_Doc_Def_ID;
			set @new.kf = NEW.KodFormularza;
	END IF;
	
	/* IF IFNULL(NEW.US_GUID, '') = '' THEN
	
	END IF; */
	
END;
$$

/* ************************************************************************************************************************************************************************
	AI
************************************************************************************************************************************************************************ */	
DROP TRIGGER IF EXISTS `ht_dekl_cit_ai`$$
CREATE DEFINER=`root`@`localhost` TRIGGER `ht_dekl_cit_ai` AFTER INSERT ON `ht_dekl_cit` 
FOR EACH ROW 
A: BEGIN
	IF _TriggerDisabled() THEN LEAVE A; END IF;
	/*
	IF IFNULL(@session.trigger.pit_40, FALSE) THEN 
		LEAVE A; 
	END IF;
	SET @session.trigger.pit_40 = TRUE;
	*/

		IF IFNULL(NEW.GUID, '') != '' THEN

			INSERT IGNORE INTO `e_doc_ng`
				(e_Doc_Def_ID, Src_GUID, Src_TableName, Src_No, Src_Date, Descr)
				VALUES
				(NEW.e_Doc_Def_ID, NEW.GUID, 'ht_dekl_cit', CONCAT('Rok: ', NEW.Rok), NOW(), NEW.KodFormularza) 
			;	
		END IF;
	
	
	/*
	SET @session.trigger.pit_40 = FALSE;
	*/
END;
$$

/* ************************************************************************************************************************************************************************
	BU
************************************************************************************************************************************************************************ */	
DROP TRIGGER IF EXISTS `ht_dekl_cit_bu`$$
CREATE DEFINER=`root`@`localhost` TRIGGER `ht_dekl_cit_bu` BEFORE UPDATE ON `ht_dekl_cit` 
FOR EACH ROW A: 
BEGIN
	IF _TriggerDisabled() THEN LEAVE A; END IF;
	/*
	IF IFNULL(@session.trigger.pit_40, FALSE) THEN 
		LEAVE A; 
	END IF;
	SET @session.trigger.pit_40 = TRUE;
	*/
	
	/*
	SET @session.trigger.pit_40 = FALSE;
	*/
END;
$$

/* ************************************************************************************************************************************************************************
	AU
************************************************************************************************************************************************************************ */	
DROP TRIGGER IF EXISTS `ht_dekl_cit_au`$$
CREATE DEFINER=`root`@`localhost` TRIGGER `ht_dekl_cit_au` AFTER UPDATE ON `ht_dekl_cit` 
FOR EACH ROW 
A: BEGIN
	IF _TriggerDisabled() THEN LEAVE A; END IF;
	/*
	IF IFNULL(@session.trigger.pit_40, FALSE) THEN 
		LEAVE A; 
	END IF;
	SET @session.trigger.pit_40 = TRUE;
	*/
	
		
	/*
	SET @session.trigger.pit_40 = FALSE;
	*/
END;
$$

/* ************************************************************************************************************************************************************************
	BD
************************************************************************************************************************************************************************ */	


/* ************************************************************************************************************************************************************************
	AD
************************************************************************************************************************************************************************ */	
DROP TRIGGER IF EXISTS `ht_dekl_cit_ad`$$
CREATE DEFINER = `root`@`localhost` TRIGGER `ht_dekl_cit_ad` AFTER DELETE ON `ht_dekl_cit` 
FOR EACH ROW 
A: BEGIN
	IF _TriggerDisabled() THEN LEAVE A; END IF;

--	kartoteka CIT ma uaktywniona funkcjonalnosc DeleteRecHandled, wiec ponizsze polecenie zostanie wykonane tylko w przypadku usuwania rekordu bezposr. w bazie
	DELETE FROM `e_doc_ng`
	WHERE	
		Src_GUID = OLD.GUID
		AND
		Src_TableName = 'ht_dekl_cit'
	;
	
	DELETE FROM `ht_dekl_cit_8o`
	WHERE	
		deklGUID = OLD.GUID		
	;
			
END;
$$


/* ************************************************************************************************************************************************************************
	Narzędzia 
************************************************************************************************************************************************************************ */	


DELIMITER ;


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


*/

