superedit-USERS2_OFFERS.php 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. <?php
  2. if (!defined('DS')) define('DS', DIRECTORY_SEPARATOR);
  3. if (!defined('APP_PATH_ROOT')) define('APP_PATH_ROOT', dirname(__FILE__));
  4. if (!defined('APP_PATH_WWW')) define('APP_PATH_WWW', dirname(__FILE__));
  5. if (!defined('APP_PATH_CONFIG')) define('APP_PATH_CONFIG', APP_PATH_ROOT . DS . 'config');
  6. function USERS2_OFFERS() {
  7. require_once dirname(__FILE__) . '/' . 'se-lib' . '/' . 'Lib.php';
  8. Lib::loadClass('V');
  9. Lib::loadClass('DB');
  10. $params = array();
  11. $params['toolbar'] = array();
  12. $params['toolbar'] []= '<a href="' . "?MENU_INIT=USERS2_OFFERS" . "&task=FIX_NETTO" . '" title="' . "Popraw kwoty netto" . '">' . "FIX NETTO" . '</a>';
  13. $task = V::get('task', '', $_GET);
  14. if ($task == 'FIX_NETTO') {
  15. $db = DB::getDB();
  16. $sql_update_array = array();
  17. $sql_update_array []= "update `USERS2_OFFERS` set
  18. P_CONTRACT_PRICE_NETTO = round(P_CONTRACT_PRICE / (1 + STAWKA_VAT/100), 2)
  19. , P_PROMO_MONTH_PRICE_NETTO = round(P_PROMO_MONTH_PRICE / (1 + STAWKA_VAT/100), 2)
  20. , P_NORMAL_PRICE_NETTO = round(P_NORMAL_PRICE / (1 + STAWKA_VAT/100), 2);";
  21. $sql_update_array []= "update `USERS2_OFFERS` set P_CONTRACT_PRICE_NETTO =(P_CONTRACT_PRICE_NETTO - 0.01) where round(P_CONTRACT_PRICE_NETTO * (1 + STAWKA_VAT/100), 2) > P_CONTRACT_PRICE;";
  22. $sql_update_array []= "update `USERS2_OFFERS` set P_PROMO_MONTH_PRICE_NETTO =(P_PROMO_MONTH_PRICE_NETTO - 0.01) where round(P_PROMO_MONTH_PRICE_NETTO * (1 + STAWKA_VAT/100), 2) > P_PROMO_MONTH_PRICE;";
  23. $sql_update_array []= "update `USERS2_OFFERS` set P_NORMAL_PRICE_NETTO =(P_NORMAL_PRICE_NETTO - 0.01) where round(P_NORMAL_PRICE_NETTO * (1 + STAWKA_VAT/100), 2) > P_NORMAL_PRICE;";
  24. foreach ($sql_update_array as $v_sql) {
  25. $res = $db->query($v_sql);
  26. if ($db->has_errors()) {
  27. echo'<pre style="max-height:200px;overflow:auto;border:1px solid red;text-align:left;">DB Errors: ';print_r($db->get_errors());echo'</pre>';
  28. } else {
  29. echo '<br />' . "Poprawiono " . $db->affected_rows() . " rekordów.";
  30. }
  31. }
  32. }
  33. WIEVTABLE( $params );
  34. }
  35. function USERS2_OFFERS_EDIT() {
  36. EDIT_TABLE_RECORD();
  37. }
  38. function USERS2_OFFERS_HIST() {
  39. WIEVTABLE_HIST();
  40. }
  41. /**
  42. * triggers:
  43. --
  44. --
  45. --
  46. DROP TRIGGER IF EXISTS `PRICE_NETTO_before_update_USERS2_OFFERS`;
  47. DELIMITER $$
  48. CREATE TRIGGER `PRICE_NETTO_before_update_USERS2_OFFERS` BEFORE UPDATE ON `USERS2_OFFERS`
  49. FOR EACH ROW BEGIN
  50. IF NEW.`P_CONTRACT_PRICE` != OLD.`P_CONTRACT_PRICE`
  51. or NEW.`P_PROMO_MONTH_PRICE` != OLD.`P_PROMO_MONTH_PRICE`
  52. or NEW.`P_NORMAL_PRICE` != OLD.`P_NORMAL_PRICE`
  53. or NEW.`STAWKA_VAT` != OLD.`STAWKA_VAT`
  54. THEN
  55. SET NEW.`P_CONTRACT_PRICE_NETTO` = round(NEW.`P_CONTRACT_PRICE` / (1 + NEW.`STAWKA_VAT`/100), 2);
  56. SET NEW.`P_PROMO_MONTH_PRICE_NETTO` = round(NEW.`P_PROMO_MONTH_PRICE` / (1 + NEW.`STAWKA_VAT`/100), 2);
  57. SET NEW.`P_NORMAL_PRICE_NETTO` = round(NEW.`P_NORMAL_PRICE` / (1 + NEW.`STAWKA_VAT`/100), 2);
  58. IF round(NEW.`P_CONTRACT_PRICE_NETTO` * (1 + NEW.`STAWKA_VAT`/100), 2) > NEW.`P_CONTRACT_PRICE` THEN
  59. SET NEW.`P_CONTRACT_PRICE_NETTO`=(NEW.`P_CONTRACT_PRICE_NETTO` - 0.01);
  60. END IF;
  61. IF round(NEW.`P_PROMO_MONTH_PRICE_NETTO` * (1 + NEW.`STAWKA_VAT`/100), 2) > NEW.`P_PROMO_MONTH_PRICE` THEN
  62. SET NEW.`P_PROMO_MONTH_PRICE_NETTO`=(NEW.`P_PROMO_MONTH_PRICE_NETTO` - 0.01);
  63. END IF;
  64. IF round(NEW.`P_NORMAL_PRICE_NETTO` * (1 + NEW.`STAWKA_VAT`/100), 2) > NEW.`P_NORMAL_PRICE` THEN
  65. SET NEW.`P_NORMAL_PRICE_NETTO`=(NEW.`P_NORMAL_PRICE_NETTO` - 0.01);
  66. END IF;
  67. END IF;
  68. END
  69. $$
  70. --
  71. --
  72. --
  73. DROP TRIGGER IF EXISTS `PRICE_NETTO_before_insert_USERS2_OFFERS`;
  74. DELIMITER $$
  75. CREATE TRIGGER `PRICE_NETTO_before_insert_USERS2_OFFERS` BEFORE INSERT ON `USERS2_OFFERS`
  76. FOR EACH ROW BEGIN
  77. SET NEW.`P_CONTRACT_PRICE_NETTO` = round(NEW.`P_CONTRACT_PRICE` / (1 + NEW.`STAWKA_VAT`/100), 2);
  78. SET NEW.`P_PROMO_MONTH_PRICE_NETTO` = round(NEW.`P_PROMO_MONTH_PRICE` / (1 + NEW.`STAWKA_VAT`/100), 2);
  79. SET NEW.`P_NORMAL_PRICE_NETTO` = round(NEW.`P_NORMAL_PRICE` / (1 + NEW.`STAWKA_VAT`/100), 2);
  80. IF round(NEW.`P_CONTRACT_PRICE_NETTO` * (1 + NEW.`STAWKA_VAT`/100), 2) > NEW.`P_CONTRACT_PRICE` THEN
  81. SET NEW.`P_CONTRACT_PRICE_NETTO`=(NEW.`P_CONTRACT_PRICE_NETTO` - 0.01);
  82. END IF;
  83. IF round(NEW.`P_PROMO_MONTH_PRICE_NETTO` * (1 + NEW.`STAWKA_VAT`/100), 2) > NEW.`P_PROMO_MONTH_PRICE` THEN
  84. SET NEW.`P_PROMO_MONTH_PRICE_NETTO`=(NEW.`P_PROMO_MONTH_PRICE_NETTO` - 0.01);
  85. END IF;
  86. IF round(NEW.`P_NORMAL_PRICE_NETTO` * (1 + NEW.`STAWKA_VAT`/100), 2) > NEW.`P_NORMAL_PRICE` THEN
  87. SET NEW.`P_NORMAL_PRICE_NETTO`=(NEW.`P_NORMAL_PRICE_NETTO` - 0.01);
  88. END IF;
  89. END
  90. $$
  91. */