Advertisement
AmourSpirit

Ticket - Order Table and Triggers MySql

Jul 10th, 2015
268
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MySQL 3.36 KB | None | 0 0
  1. --
  2. -- Table structure for table `uh46v_order_cart_ids`
  3. --
  4.  
  5. DROP TABLE IF EXISTS `uh46v_order_cart_ids`;
  6. CREATE TABLE `uh46v_order_cart_ids` (
  7.   `ticket_id` int(11) unsigned NOT NULL COMMENT 'ticket id from OsTicket system',
  8.   `order_id` int(11) unsigned NOT NULL COMMENT 'order id from open cart orders'
  9. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Joins Order from Open Cart (jooCart) to OsTicket ticket system';
  10.  
  11. --
  12. -- Indexes for dumped tables
  13. --
  14.  
  15. --
  16. -- Indexes for table `uh46v_order_cart_ids`
  17. --
  18. ALTER TABLE `uh46v_order_cart_ids`
  19.   ADD KEY `ticket_id` (`ticket_id`,`order_id`);
  20.  
  21. CREATE TRIGGER `uh46v_ticket_form_wo_insert` AFTER INSERT ON `cnost_form_entry_values`
  22.  FOR EACH ROW BEGIN
  23. set @OrderFieldID = (SELECT `value`
  24.                                         FROM `uh46v_cart_ticket_settings_hash`
  25.                                         WHERE `name` = 'osticket_workorder_cart_orderid'
  26.                                         Limit 1);
  27.  
  28. If (@OrderFieldID IS NOT NULL) AND (New.field_id = @OrderFieldID) Then
  29.     set @id = (SELECT Entry.object_id
  30.     FROM `cnost_form_entry` as Entry
  31.     WHERE Entry.Id = (SELECT EntryValues.entry_id FROM `cnost_form_entry_values` as EntryValues
  32.     Where EntryValues.entry_id = New.entry_id
  33.     AND EntryValues.value = New.value
  34.         Limit 1)
  35.     Limit 1);
  36.     IF @id IS NOT NULL AND New.value IS NOT NULL AND New.value <> '' THEN
  37.         INSERT INTO `uh46v_order_cart_ids`(`ticket_id`, `order_id`) VALUES (@id, New.value);
  38.     End IF;
  39. End IF;
  40. END
  41.  
  42. CREATE TRIGGER `uh46v_ticket_form_wo_update` AFTER UPDATE ON `cnost_form_entry_values`
  43.  FOR EACH ROW BEGIN
  44. set @OrderFieldID = (SELECT `value`
  45.                                         FROM `uh46v_cart_ticket_settings_hash`
  46.                                         WHERE `name` = 'osticket_workorder_cart_orderid'
  47.                                         Limit 1);
  48. If (@OrderFieldID IS NOT NULL) AND (New.field_id = @OrderFieldID) THEN
  49.     set @id = (SELECT Entry.object_id
  50.     FROM `cnost_form_entry` as Entry
  51.     WHERE Entry.Id = (SELECT EntryValues.entry_id FROM `cnost_form_entry_values` as EntryValues
  52.     Where EntryValues.entry_id = New.entry_id
  53.     AND EntryValues.value = New.value
  54.         Limit 1)
  55.     Limit 1);
  56.     IF @id IS NOT NULL THEN
  57.         set @existID = (SELECT `ticket_id`
  58.             FROM `uh46v_order_cart_ids`
  59.             WHERE `ticket_id` = @id
  60.             LIMIT 1);
  61.         IF @existID IS NULL THEN
  62.             IF New.value IS NOT NULL THEN
  63.                 INSERT INTO `uh46v_order_cart_ids`(`ticket_id`, `order_id`) VALUES (@id, New.value);
  64.             END IF;
  65.         ELSE
  66.             IF New.value IS NULL OR New.value = '' THEN
  67.                 DELETE FROM `uh46v_order_cart_ids`WHERE `ticket_id` = @existID;
  68.             ELSE
  69.                 UPDATE `uh46v_order_cart_ids` SET `order_id`=New.value
  70.                 WHERE `ticket_id` = @id;
  71.             END IF;
  72.         End IF;
  73.     End IF;
  74. End IF;
  75. END
  76.  
  77. CREATE TRIGGER `uh46v_ticket_form_wo_delete` BEFORE DELETE ON `cnost_form_entry_values`
  78.  FOR EACH ROW BEGIN
  79. set @OrderFieldID = (SELECT `value`
  80.                                         FROM `uh46v_cart_ticket_settings_hash`
  81.                                         WHERE `name` = 'osticket_workorder_cart_orderid'
  82.                                         Limit 1);
  83. If (@OrderFieldID IS NOT NULL) AND (old.field_id = @OrderFieldID) Then
  84.     set @id = (SELECT Entry.object_id
  85.     FROM `cnost_form_entry` as Entry
  86.     WHERE Entry.Id = (SELECT EntryValues.entry_id FROM `cnost_form_entry_values` as EntryValues
  87.     Where EntryValues.entry_id = old.entry_id
  88.     AND EntryValues.value = old.value
  89.         Limit 1)
  90.     Limit 1);
  91.     IF @id IS NOT NULL THEN
  92.         DELETE FROM `uh46v_order_cart_ids`WHERE `ticket_id` = @id;
  93.     End IF;
  94. End IF;
  95. END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement