Browse Source

FixProjectPath fix triggers for koresp #108

Piotr Labudda 11 năm trước cách đây
mục cha
commit
8435aa9bb4
1 tập tin đã thay đổi với 30 bổ sung0 xóa
  1. 30 0
      SE/se-lib/Route/FixProjectPath.php

+ 30 - 0
SE/se-lib/Route/FixProjectPath.php

@@ -255,6 +255,36 @@ jQuery(document).ready(function () {
 					END IF;
 					END IF;
 				END
 				END
 		";
 		";
+		$sqlList['RemoveTrigger_BeforeInsertKoresp'] = "DROP TRIGGER IF EXISTS `_IN7_DZIENNIK_KORESP_tree_INSERT`";
+		$sqlList['CreateTrigger_BeforeInsertKoresp'] = "
+			CREATE TRIGGER `_IN7_DZIENNIK_KORESP_tree_INSERT` BEFORE INSERT ON `IN7_DZIENNIK_KORESP`
+				FOR EACH ROW BEGIN
+					IF NEW.ID_PROJECT IS NOT NULL and NEW.ID_PROJECT>0 THEN
+						-- SET NEW.path = IN7_MK_BAZA_DYSTRYBUCJI_hierarchy_sys_connect_by_path('-', NEW.ID_PROJECT);
+						SET NEW.path = (select coalesce(
+										(select p.`path` from `IN7_MK_BAZA_DYSTRYBUCJI` p where p.`ID`=NEW.`ID_PROJECT` limit 1)
+										, '?'));
+					END IF;
+				END
+		";
+		$sqlList['RemoveTrigger_BeforeUpdateKoresp'] = "DROP TRIGGER IF EXISTS `_IN7_DZIENNIK_KORESP_tree_UPDATE`";
+		$sqlList['CreateTrigger_BeforeUpdateKoresp'] = "
+			CREATE TRIGGER `_IN7_DZIENNIK_KORESP_tree_UPDATE` BEFORE UPDATE ON `IN7_DZIENNIK_KORESP`
+				FOR EACH ROW BEGIN
+					IF NEW.ID_PROJECT IS NULL THEN
+						SET NEW.path = '';
+					ELSEIF OLD.ID_PROJECT IS NULL or NEW.ID_PROJECT<>OLD.ID_PROJECT THEN
+						-- SET NEW.path = IN7_MK_BAZA_DYSTRYBUCJI_hierarchy_sys_connect_by_path('-', NEW.ID_PROJECT);
+						IF NEW.ID_PROJECT>0 THEN
+							SET NEW.path = (select coalesce(
+											(select p.`path` from `IN7_MK_BAZA_DYSTRYBUCJI` p where p.`ID`=NEW.`ID_PROJECT` limit 1)
+											, '?'));
+						ELSE
+							SET NEW.path = '';
+						END IF;
+					END IF;
+				END
+		";
 		$sqlList['RemoveEvent_everyDay'] = "DROP EVENT IF EXISTS `_IN7_MK_BAZA_DYSTRYBUCJI__IN7_DZIENNIK_KORESP_tree_event`";
 		$sqlList['RemoveEvent_everyDay'] = "DROP EVENT IF EXISTS `_IN7_MK_BAZA_DYSTRYBUCJI__IN7_DZIENNIK_KORESP_tree_event`";
 		$sqlList['CreateEvent_everyDay'] = "
 		$sqlList['CreateEvent_everyDay'] = "
 			CREATE EVENT `_IN7_MK_BAZA_DYSTRYBUCJI__IN7_DZIENNIK_KORESP_tree_event` ON SCHEDULE EVERY 1 DAY STARTS '2015-05-15 05:00:00' ON COMPLETION NOT PRESERVE ENABLE DO BEGIN
 			CREATE EVENT `_IN7_MK_BAZA_DYSTRYBUCJI__IN7_DZIENNIK_KORESP_tree_event` ON SCHEDULE EVERY 1 DAY STARTS '2015-05-15 05:00:00' ON COMPLETION NOT PRESERVE ENABLE DO BEGIN