feat(MySQL): Tables, Triggers, and Get Many and Save Stored Procedures for Suppliers, Supplier Purchase Orders (+ items), and Manufacturing Purchase Orders (+ items)

This commit is contained in:
2024-10-15 16:40:35 +01:00
parent 1e2dff4ad3
commit 697963e28a
621 changed files with 3023 additions and 2945 deletions

View File

@@ -305,7 +305,7 @@ SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning
CREATE TABLE Shop_Product_Change_Set (
id_change_set INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
comment VARCHAR(500),
updated_last_on TIMESTAMP,
updated_last_on DATETIME,
updated_last_by VARCHAR(100)
);
# Split Staging
@@ -329,7 +329,7 @@ SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning
CREATE TABLE IF NOT EXISTS Shop_User_Change_Set (
id_change_set INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
comment VARCHAR(500),
updated_last_on TIMESTAMP,
updated_last_on DATETIME,
updated_last_by VARCHAR(100)
);
# Split Key Value Pair CSV Staging
@@ -354,7 +354,7 @@ SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning
CREATE TABLE Shop_Sales_And_Purchasing_Change_Set (
id_change_set INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
comment VARCHAR(500),
updated_last_on TIMESTAMP,
updated_last_on DATETIME,
updated_last_by VARCHAR(100)
);
# Access Levels
@@ -370,7 +370,7 @@ CREATE TABLE IF NOT EXISTS Shop_Access_Level (
priority INT NOT NULL,
active BIT NOT NULL DEFAULT 1,
display_order INT NOT NULL,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Access_Level_id_change_set
@@ -425,9 +425,9 @@ CREATE TABLE IF NOT EXISTS File_Type (
code VARCHAR(50),
name VARCHAR(100),
extension VARCHAR(50),
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
updated_last_on TIMESTAMP,
updated_last_on DATETIME,
updated_last_by VARCHAR(100)
);
@@ -447,9 +447,9 @@ CREATE TABLE IF NOT EXISTS File_Type_Audit (
name_field VARCHAR(50),
value_prev VARCHAR(500),
value_new VARCHAR(500),
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
updated_last_on TIMESTAMP,
updated_last_on DATETIME,
updated_last_by VARCHAR(100)
);
# Generic / shared properties
@@ -461,7 +461,7 @@ SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning
CREATE TABLE IF NOT EXISTS Shop_General (
id_general INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
quantity_max FLOAT,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT CHK_Shop_General_id_change_set
@@ -508,7 +508,7 @@ CREATE TABLE IF NOT EXISTS Shop_Image_Type (
name_plural VARCHAR(256),
active BIT NOT NULL DEFAULT 1,
display_order INT NOT NULL,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Image_Type_id_change_set
@@ -547,7 +547,7 @@ CREATE TABLE IF NOT EXISTS Shop_Region (
name VARCHAR(200) NOT NULL,
active BIT NOT NULL DEFAULT 1,
display_order INT NOT NULL,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Region_id_change_set
@@ -587,7 +587,7 @@ CREATE TABLE IF NOT EXISTS Shop_Region_Temp (
name VARCHAR(200) NOT NULL,
active BIT NOT NULL DEFAULT 1,
display_order INT NOT NULL,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Region_Temp_id_change_set
@@ -615,7 +615,7 @@ CREATE TABLE IF NOT EXISTS Shop_Region_Branch (
-- depth INT NOT NULL,
active BIT NOT NULL DEFAULT 1,
display_order INT NOT NULL,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Region_Branch_id_change_set
@@ -671,7 +671,7 @@ CREATE TABLE Shop_Address (
city VARCHAR(256) NOT NULL,
county VARCHAR(256) NOT NULL,
active BIT NOT NULL DEFAULT 1,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Address_id_change_set
@@ -692,7 +692,7 @@ CREATE TABLE IF NOT EXISTS Shop_Plant (
REFERENCES Shop_Address(id_address),
id_user_manager INT NOT NULL,
active BIT NOT NULL DEFAULT 1,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Plant_id_change_set
@@ -775,7 +775,7 @@ CREATE TABLE IF NOT EXISTS Shop_Storage_Location (
code VARCHAR(50) NOT NULL,
name VARCHAR(500) NOT NULL,
active BIT NOT NULL DEFAULT 1,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Storage_Location_id_change_set
@@ -839,7 +839,7 @@ CREATE TABLE IF NOT EXISTS Shop_Storage_Location_Branch (
-- depth INT NOT NULL,
active BIT NOT NULL DEFAULT 1,
display_order INT NOT NULL,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Storage_Location_Branch_id_change_set
@@ -896,7 +896,7 @@ CREATE TABLE IF NOT EXISTS Shop_Currency (
factor_from_GBP FLOAT NOT NULL,
active BIT NOT NULL DEFAULT 1,
display_order INT NOT NULL,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Currency_id_change_set
@@ -971,7 +971,7 @@ CREATE TABLE Shop_Tax_Or_Surcharge (
quantity_max FLOAT NOT NULL,
active BIT NOT NULL DEFAULT 1,
display_order INT NOT NULL,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Tax_Or_Surcharge_id_change_set
@@ -1041,7 +1041,7 @@ CREATE TABLE IF NOT EXISTS Shop_Unit_Measurement (
is_unit_of_time BIT NOT NULL DEFAULT 0,
is_unit_of_volume BIT NOT NULL DEFAULT 0,
active BIT NOT NULL DEFAULT 1,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Unit_Measurement_id_change_set
@@ -1085,7 +1085,7 @@ CREATE TABLE IF NOT EXISTS Shop_Unit_Measurement_Conversion (
multiplier_unit_base FLOAT NOT NULL,
increment_unit_base FLOAT NOT NULL,
active BIT NOT NULL DEFAULT 1,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Unit_Measurement_Conversion_id_change_set
@@ -1131,7 +1131,7 @@ CREATE TABLE IF NOT EXISTS Shop_Product_Category (
, CONSTRAINT FK_Shop_Product_Category_id_access_level_required
FOREIGN KEY (id_access_level_required)
REFERENCES Shop_Access_Level(id_access_level)
, created_on TIMESTAMP
, created_on DATETIME
, created_by INT NOT NULL
, id_change_set INT
, CONSTRAINT FK_Shop_Product_Category_id_change_set
@@ -1221,7 +1221,7 @@ CREATE TABLE IF NOT EXISTS Shop_Product (
# id_stripe_price VARCHAR(100) NOT NULL,
active BIT NOT NULL DEFAULT 1,
display_order INT NOT NULL,
created_on TIMESTAMP NOT NULL,
created_on DATETIME NOT NULL,
created_by INT NOT NULL,
id_change_set INT,
CONSTRAINT FK_Shop_Product_id_change_set
@@ -1321,7 +1321,7 @@ CREATE TABLE IF NOT EXISTS Shop_Product_Permutation (
count_interval_expiration_unsealed INT,
active BIT NOT NULL DEFAULT 1,
display_order INT NOT NULL,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Product_Permutation_id_change_set
@@ -1399,7 +1399,7 @@ CREATE TABLE IF NOT EXISTS Shop_Variation_Type (
name_plural VARCHAR(256),
active BIT NOT NULL DEFAULT 1,
display_order INT NOT NULL,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Variation_Type_id_change_set
@@ -1445,7 +1445,7 @@ CREATE TABLE Shop_Variation (
name VARCHAR(255),
active BIT NOT NULL DEFAULT 1,
display_order INT NOT NULL,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Variation_id_change_set
@@ -1495,7 +1495,7 @@ CREATE TABLE IF NOT EXISTS Shop_Product_Permutation_Variation_Link (
ON UPDATE RESTRICT,
active BIT NOT NULL DEFAULT 1,
display_order INT NOT NULL,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Product_Permutation_Variation_Link_id_change_set
@@ -1637,7 +1637,7 @@ CREATE TABLE IF NOT EXISTS Shop_Product_Price (
price_local_VAT_excl FLOAT NULL,
id_stripe_price VARCHAR(200),
active BIT NOT NULL DEFAULT 1,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Product_Price_id_change_set
@@ -1701,7 +1701,7 @@ CREATE TABLE IF NOT EXISTS Shop_Product_Image (
url VARCHAR(255),
active BIT NOT NULL DEFAULT 1,
display_order INT NOT NULL,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Product_Image_id_change_set
@@ -1747,7 +1747,7 @@ CREATE TABLE IF NOT EXISTS Shop_Delivery_Option (
*/
active BIT NOT NULL DEFAULT 1,
display_order INT NOT NULL,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Delivery_Option_Type_id_change_set
@@ -1814,7 +1814,7 @@ CREATE TABLE IF NOT EXISTS Shop_Product_Permutation_Delivery_Option_Link (
quantity_max FLOAT NULL,
active BIT NOT NULL DEFAULT 1,
display_order INT NOT NULL,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Permutation_Delivery_Option_Link_id_change_set
@@ -1878,11 +1878,11 @@ CREATE TABLE Shop_Discount (
apply_multiplier_first BIT DEFAULT 1,
quantity_min FLOAT NOT NULL DEFAULT 0,
quantity_max FLOAT NOT NULL,
date_start TIMESTAMP NOT NULL,
date_end TIMESTAMP NOT NULL,
date_start DATETIME NOT NULL,
date_end DATETIME NOT NULL,
active BIT NOT NULL DEFAULT 1,
display_order INT NOT NULL,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Discount_id_change_set
@@ -1936,7 +1936,7 @@ CREATE TABLE IF NOT EXISTS Shop_Discount_Region_Currency_Link (
REFERENCES Shop_Currency(id_currency)
ON UPDATE RESTRICT,
active BIT NOT NULL DEFAULT 1,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Discount_Region_Currency_Link_id_change_set
@@ -1977,7 +1977,7 @@ CREATE TABLE IF NOT EXISTS Shop_Permission_Group (
name VARCHAR(255),
active BIT NOT NULL DEFAULT 1,
display_order INT NOT NULL,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Permission_Group_id_change_set
@@ -2028,7 +2028,7 @@ CREATE TABLE IF NOT EXISTS Shop_Permission (
REFERENCES Shop_Access_Level(id_access_level),
active BIT NOT NULL DEFAULT 1,
display_order INT NOT NULL,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Permission_id_change_set
@@ -2069,7 +2069,7 @@ CREATE TABLE IF NOT EXISTS Shop_Role (
name VARCHAR(255),
active BIT NOT NULL DEFAULT 1,
display_order INT NOT NULL,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Role_id_change_set
@@ -2121,7 +2121,7 @@ CREATE TABLE IF NOT EXISTS Shop_Role_Permission_Link (
FOREIGN KEY (id_access_level)
REFERENCES Shop_Access_Level(id_access_level),
active BIT NOT NULL DEFAULT 1,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Role_Permission_Link_id_change_set
@@ -2167,7 +2167,7 @@ CREATE TABLE IF NOT EXISTS Shop_User (
id_region_default INT NULL,
is_included_VAT_default BIT NOT NULL DEFAULT 1,
active BIT NOT NULL DEFAULT 1,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_User_id_change_set
@@ -2215,7 +2215,7 @@ CREATE TABLE IF NOT EXISTS Shop_User_Role_Link (
FOREIGN KEY (id_role)
REFERENCES Shop_Role(id_role),
active BIT NOT NULL DEFAULT 1,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_User_Role_Link_id_change_set
@@ -2265,7 +2265,7 @@ CREATE TABLE Shop_User_Address (
city VARCHAR(256) NOT NULL,
county VARCHAR(256) NOT NULL,
active BIT NOT NULL DEFAULT 1,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_User_Address_id_change_set
@@ -2317,7 +2317,7 @@ CREATE TABLE IF NOT EXISTS Shop_User_Basket (
ON UPDATE RESTRICT,
quantity INT NOT NULL,
active BIT NOT NULL DEFAULT 1,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set_user INT,
CONSTRAINT FK_Shop_User_Basket_id_change_set_user
@@ -2371,7 +2371,7 @@ CREATE TABLE IF NOT EXISTS Shop_User_Order_Status (
name_plural VARCHAR(256),
active BIT NOT NULL DEFAULT 1,
display_order INT NOT NULL,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_User_Order_Status_id_change_set
@@ -2424,7 +2424,7 @@ CREATE TABLE IF NOT EXISTS Shop_Supplier (
FOREIGN KEY (id_currency)
REFERENCES Shop_Currency(id_currency),
active BIT NOT NULL DEFAULT 1,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Supplier_id_change_set
@@ -2485,9 +2485,9 @@ CREATE TABLE IF NOT EXISTS Shop_Supplier_Purchase_Order (
display_order INT NOT NULL,
*/
active BIT NOT NULL DEFAULT 1,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
updated_last_on TIMESTAMP NULL,
updated_last_on DATETIME NULL,
created_last_by VARCHAR(100) NULL,
id_change_set INT NULL,
CONSTRAINT FK_Shop_Supplier_Purchase_Order_id_change_set
@@ -2544,9 +2544,9 @@ CREATE TABLE IF NOT EXISTS Shop_Supplier_Purchase_Order_Product_Link (
latency_delivery_days INT NOT NULL,
display_order INT NOT NULL,
active BIT NOT NULL,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
updated_last_on TIMESTAMP NULL,
updated_last_on DATETIME NULL,
created_last_by VARCHAR(100) NULL,
id_change_set INT NULL,
CONSTRAINT FK_Shop_Supplier_Purchase_Order_Product_Link_id_change_set
@@ -2633,9 +2633,9 @@ CREATE TABLE IF NOT EXISTS Shop_Manufacturing_Purchase_Order (
display_order INT NOT NULL,
*/
active BIT NOT NULL DEFAULT 1,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
updated_last_on TIMESTAMP NULL,
updated_last_on DATETIME NULL,
created_last_by VARCHAR(100) NULL,
id_change_set INT NULL,
CONSTRAINT FK_Shop_Manufacturing_Purchase_Order_id_change_set
@@ -2693,9 +2693,9 @@ CREATE TABLE IF NOT EXISTS Shop_Manufacturing_Purchase_Order_Product_Link (
quantity_produced FLOAT NOT NULL,
display_order INT NOT NULL,
active BIT NOT NULL,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
updated_last_on TIMESTAMP NULL,
updated_last_on DATETIME NULL,
created_last_by VARCHAR(100) NULL,
id_change_set INT NULL,
CONSTRAINT FK_Manufacturing_Purchase_Order_id_change_set
@@ -2781,7 +2781,7 @@ CREATE TABLE IF NOT EXISTS Shop_Customer (
FOREIGN KEY (id_currency)
REFERENCES Shop_Currency(id_currency),
active BIT NOT NULL DEFAULT 1,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Customer_id_change_set
@@ -2836,9 +2836,9 @@ CREATE TABLE IF NOT EXISTS Shop_Customer_Sales_Order (
display_order INT NOT NULL,
*/
active BIT NOT NULL DEFAULT 1,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
updated_last_on TIMESTAMP NULL,
updated_last_on DATETIME NULL,
created_last_by VARCHAR(100) NULL,
id_change_set INT NULL,
CONSTRAINT FK_Shop_Customer_Sales_Order_id_change_set
@@ -2896,9 +2896,9 @@ CREATE TABLE IF NOT EXISTS Shop_Customer_Sales_Order_Product_Link (
display_order INT NOT NULL,
active BIT NOT NULL,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
updated_last_on TIMESTAMP NULL,
updated_last_on DATETIME NULL,
created_last_by VARCHAR(100) NULL,
id_change_set INT NULL,
CONSTRAINT FK_Shop_Customer_Sales_Order_Product_Link_id_change_set
@@ -5999,19 +5999,19 @@ BEGIN
SET v_time_end := CURRENT_TIMESTAMP(6);
SELECT
a_time_start
, UNIX_TIMESTAMP(a_time_start)
, UNIX_DATETIME(a_time_start)
, MICROSECOND(a_time_start) / 1000
, v_time_end
, UNIX_TIMESTAMP(v_time_end)
, UNIX_DATETIME(v_time_end)
, MICROSECOND(v_time_end) / 1000
, v_time_end - a_time_start AS timestamp_delta
, UNIX_TIMESTAMP(v_time_end - a_time_start) AS UNIX_TIMESTAMP_timestamp_delta
, UNIX_DATETIME(v_time_end - a_time_start) AS UNIX_DATETIME_timestamp_delta
, MICROSECOND(v_time_end - a_time_start) AS MICROSECOND_timestamp_delta
-- , TIME_FORMAT(TIMEDIFF(v_time_end, a_time_start), '%H:%i:%s') AS time_difference
, CONCAT(
TIME_FORMAT(TIMEDIFF(v_time_end, a_time_start), '%H hours, %i minutes, %s seconds'),
', ',
TIMESTAMPDIFF(MICROSECOND, a_time_start, v_time_end) % 1000000 / 1000, ' milliseconds'
DATETIMEDIFF(MICROSECOND, a_time_start, v_time_end) % 1000000 / 1000, ' milliseconds'
) AS time_difference
;
@@ -7258,7 +7258,7 @@ BEGIN
DECLARE v_ids_product_permission LONGTEXT;
DECLARE v_id_change_set INT;
DECLARE v_id_access_level_edit INT;
DECLARE v_now TIMESTAMP;
DECLARE v_now DATETIME;
DECLARE exit handler for SQLEXCEPTION
BEGIN
@@ -7441,7 +7441,7 @@ BEGIN
END IF;
END IF;
SET v_now := CURRENT_TIMESTAMP();
SET v_now := CURRENT_DATETIME();
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN
START TRANSACTION;
@@ -8950,7 +8950,7 @@ BEGIN
DECLARE v_ids_product_permission VARCHAR(4000);
-- DECLARE v_ids_permutation_permission VARCHAR(4000);
DECLARE v_id_access_level_view INT;
-- DECLARE v_now TIMESTAMP;
-- DECLARE v_now DATETIME;
DECLARE v_id_minimum INT;
DECLARE v_ids_product_invalid VARCHAR(4000);
DECLARE v_time_start TIMESTAMP(6);
@@ -9754,7 +9754,7 @@ BEGIN
DECLARE v_ids_product_permission LONGTEXT;
DECLARE v_id_change_set INT;
DECLARE v_id_access_level_edit INT;
DECLARE v_now TIMESTAMP;
DECLARE v_now DATETIME;
DECLARE exit handler for SQLEXCEPTION
BEGIN
@@ -10112,7 +10112,7 @@ BEGIN
END IF;
END IF;
SET v_now := CURRENT_TIMESTAMP();
SET v_now := CURRENT_DATETIME();
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN
START TRANSACTION;
@@ -10956,7 +10956,7 @@ CREATE PROCEDURE p_shop_get_many_stock_item (
IN a_get_all_location_storage BIT,
IN a_get_inactive_location_storage BIT,
IN a_ids_location_storage TEXT,
IN a_date_received_to TIMESTAMP,
IN a_date_received_to DATETIME,
IN a_get_sealed_stock_item_only BIT,
IN a_get_unsealed_stock_item_only BIT,
IN a_get_expired_stock_item_only BIT,
@@ -10977,7 +10977,7 @@ BEGIN
DECLARE v_ids_product_permission LONGTEXT;
-- DECLARE v_ids_permutation_permission VARCHAR(4000);
DECLARE v_id_access_level_view INT;
-- DECLARE v_now TIMESTAMP;
-- DECLARE v_now DATETIME;
-- DECLARE v_id_minimum INT;
DECLARE v_time_start TIMESTAMP(6);
@@ -11728,7 +11728,7 @@ BEGIN
DECLARE v_id_change_set INT;
DECLARE v_id_access_level_edit INT;
DECLARE v_time_start TIMESTAMP(6);
DECLARE v_time_expire TIMESTAMP;
DECLARE v_time_expire DATETIME;
DECLARE exit handler for SQLEXCEPTION
BEGIN
@@ -12514,7 +12514,7 @@ BEGIN
DECLARE v_ids_product_permission VARCHAR(4000);
-- DECLARE v_ids_permutation_permission VARCHAR(4000);
DECLARE v_id_access_level_view INT;
-- DECLARE v_now TIMESTAMP;
-- DECLARE v_now DATETIME;
DECLARE v_id_minimum INT;
DECLARE v_time_start TIMESTAMP(6);
@@ -13747,7 +13747,7 @@ BEGIN
-- Argument redeclaration
-- Variable declaration
DECLARE v_has_filter_user BIT;
-- DECLARE v_now TIMESTAMP;
-- DECLARE v_now DATETIME;
-- Argument validation + default values
@@ -13921,7 +13921,7 @@ BEGIN
DECLARE v_id_permission_user INT;
DECLARE v_id_permission_user_admin INT;
DECLARE v_ids_permission_required VARCHAR(4000);
DECLARE v_now TIMESTAMP;
DECLARE v_now DATETIME;
DECLARE v_id_minimum INT;
DECLARE v_code_error_bad_data VARCHAR(50);
DECLARE v_id_type_error_bad_data INT;
@@ -14457,7 +14457,7 @@ BEGIN
# DECLARE v_id_user VARCHAR(100);
DECLARE v_id_permission_product INT;
DECLARE v_ids_permutation_permission VARCHAR(4000);
DECLARE v_now TIMESTAMP;
DECLARE v_now DATETIME;
# DECLARE v_quantity_new INT;
DECLARE v_change_set_used BIT;
DECLARE v_id_change_set INT;
@@ -15560,7 +15560,7 @@ BEGIN
# DECLARE v_ids_product_permission VARCHAR(4000);
# DECLARE v_ids_permutation_permission VARCHAR(4000);
DECLARE v_id_access_level_view INT;
DECLARE v_now TIMESTAMP;
DECLARE v_now DATETIME;
DECLARE v_id_minimum INT;
DECLARE v_code_error_data VARCHAR(50);
@@ -16367,8 +16367,8 @@ CREATE PROCEDURE p_shop_get_many_supplier_purchase_order (
IN a_ids_product VARCHAR(4000),
IN a_get_inactive_permutation BIT,
IN a_ids_permutation VARCHAR(4000),
IN a_date_from TIMESTAMP,
IN a_date_to TIMESTAMP
IN a_date_from DATETIME,
IN a_date_to DATETIME
)
BEGIN
-- Argument redeclaration
@@ -16387,7 +16387,7 @@ BEGIN
DECLARE v_ids_product_permission VARCHAR(4000);
# DECLARE v_ids_permutation_permission VARCHAR(4000);
DECLARE v_id_access_level_view INT;
-- DECLARE v_now TIMESTAMP;
-- DECLARE v_now DATETIME;
-- DECLARE v_id_minimum INT;
DECLARE v_code_error_data VARCHAR(50);
DECLARE v_id_type_error_data INT;
@@ -17733,8 +17733,8 @@ CREATE PROCEDURE p_shop_get_many_manufacturing_purchase_order (
IN a_ids_product VARCHAR(4000),
IN a_get_inactive_permutation BIT,
IN a_ids_permutation VARCHAR(4000),
IN a_date_from TIMESTAMP,
IN a_date_to TIMESTAMP
IN a_date_from DATETIME,
IN a_date_to DATETIME
)
BEGIN
-- Argument redeclaration
@@ -17752,7 +17752,7 @@ BEGIN
DECLARE v_ids_product_permission VARCHAR(4000);
# DECLARE v_ids_permutation_permission VARCHAR(4000);
DECLARE v_id_access_level_view INT;
-- DECLARE v_now TIMESTAMP;
-- DECLARE v_now DATETIME;
-- DECLARE v_id_minimum INT;
DECLARE v_code_error_data VARCHAR(50);
DECLARE v_id_type_error_data INT;
@@ -18711,7 +18711,7 @@ BEGIN
# DECLARE v_ids_product_permission VARCHAR(4000);
# DECLARE v_ids_permutation_permission VARCHAR(4000);
DECLARE v_id_access_level_view INT;
DECLARE v_now TIMESTAMP;
DECLARE v_now DATETIME;
DECLARE v_id_minimum INT;
SET v_code_error_type_bad_data = 'BAD_DATA';
@@ -19523,8 +19523,8 @@ CREATE PROCEDURE p_shop_get_many_customer_sales_order (
IN a_ids_product VARCHAR(4000),
IN a_get_inactive_permutation BIT,
IN a_ids_permutation VARCHAR(4000),
IN a_date_from TIMESTAMP,
IN a_date_to TIMESTAMP
IN a_date_from DATETIME,
IN a_date_to DATETIME
)
BEGIN
-- Argument redeclaration
@@ -19543,7 +19543,7 @@ BEGIN
DECLARE v_ids_product_permission VARCHAR(4000);
# DECLARE v_ids_permutation_permission VARCHAR(4000);
DECLARE v_id_access_level_view INT;
-- DECLARE v_now TIMESTAMP;
-- DECLARE v_now DATETIME;
-- DECLARE v_id_minimum INT;
DECLARE v_code_error_data VARCHAR(50);
DECLARE v_id_type_error_data INT;

View File

@@ -8,6 +8,6 @@ SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning
CREATE TABLE Shop_Product_Change_Set (
id_change_set INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
comment VARCHAR(500),
updated_last_on TIMESTAMP,
updated_last_on DATETIME,
updated_last_by VARCHAR(100)
);

View File

@@ -8,6 +8,6 @@ SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning
CREATE TABLE IF NOT EXISTS Shop_User_Change_Set (
id_change_set INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
comment VARCHAR(500),
updated_last_on TIMESTAMP,
updated_last_on DATETIME,
updated_last_by VARCHAR(100)
);

View File

@@ -8,6 +8,6 @@ SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning
CREATE TABLE Shop_Sales_And_Purchasing_Change_Set (
id_change_set INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
comment VARCHAR(500),
updated_last_on TIMESTAMP,
updated_last_on DATETIME,
updated_last_by VARCHAR(100)
);

View File

@@ -12,7 +12,7 @@ CREATE TABLE IF NOT EXISTS Shop_Access_Level (
priority INT NOT NULL,
active BIT NOT NULL DEFAULT 1,
display_order INT NOT NULL,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Access_Level_id_change_set

View File

@@ -10,8 +10,8 @@ CREATE TABLE IF NOT EXISTS File_Type (
code VARCHAR(50),
name VARCHAR(100),
extension VARCHAR(50),
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
updated_last_on TIMESTAMP,
updated_last_on DATETIME,
updated_last_by VARCHAR(100)
);

View File

@@ -15,8 +15,8 @@ CREATE TABLE IF NOT EXISTS File_Type_Audit (
name_field VARCHAR(50),
value_prev VARCHAR(500),
value_new VARCHAR(500),
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
updated_last_on TIMESTAMP,
updated_last_on DATETIME,
updated_last_by VARCHAR(100)
);

View File

@@ -8,7 +8,7 @@ SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning
CREATE TABLE IF NOT EXISTS Shop_General (
id_general INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
quantity_max FLOAT,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT CHK_Shop_General_id_change_set

View File

@@ -18,7 +18,7 @@ CREATE TABLE IF NOT EXISTS Shop_Image_Type (
name_plural VARCHAR(256),
active BIT NOT NULL DEFAULT 1,
display_order INT NOT NULL,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Image_Type_id_change_set

View File

@@ -9,7 +9,7 @@ CREATE TABLE IF NOT EXISTS Shop_Region (
name VARCHAR(200) NOT NULL,
active BIT NOT NULL DEFAULT 1,
display_order INT NOT NULL,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Region_id_change_set

View File

@@ -11,7 +11,7 @@ CREATE TABLE IF NOT EXISTS Shop_Region_Temp (
name VARCHAR(200) NOT NULL,
active BIT NOT NULL DEFAULT 1,
display_order INT NOT NULL,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Region_Temp_id_change_set

View File

@@ -20,7 +20,7 @@ CREATE TABLE IF NOT EXISTS Shop_Region_Branch (
-- depth INT NOT NULL,
active BIT NOT NULL DEFAULT 1,
display_order INT NOT NULL,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Region_Branch_id_change_set

View File

@@ -13,7 +13,7 @@ CREATE TABLE Shop_Address (
city VARCHAR(256) NOT NULL,
county VARCHAR(256) NOT NULL,
active BIT NOT NULL DEFAULT 1,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Address_id_change_set

View File

@@ -13,7 +13,7 @@ CREATE TABLE IF NOT EXISTS Shop_Plant (
REFERENCES Shop_Address(id_address),
id_user_manager INT NOT NULL,
active BIT NOT NULL DEFAULT 1,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Plant_id_change_set

View File

@@ -14,7 +14,7 @@ CREATE TABLE IF NOT EXISTS Shop_Storage_Location (
code VARCHAR(50) NOT NULL,
name VARCHAR(500) NOT NULL,
active BIT NOT NULL DEFAULT 1,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Storage_Location_id_change_set

View File

@@ -20,7 +20,7 @@ CREATE TABLE IF NOT EXISTS Shop_Storage_Location_Branch (
-- depth INT NOT NULL,
active BIT NOT NULL DEFAULT 1,
display_order INT NOT NULL,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Storage_Location_Branch_id_change_set

View File

@@ -13,7 +13,7 @@ CREATE TABLE IF NOT EXISTS Shop_Currency (
factor_from_GBP FLOAT NOT NULL,
active BIT NOT NULL DEFAULT 1,
display_order INT NOT NULL,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Currency_id_change_set

View File

@@ -29,7 +29,7 @@ CREATE TABLE Shop_Tax_Or_Surcharge (
quantity_max FLOAT NOT NULL,
active BIT NOT NULL DEFAULT 1,
display_order INT NOT NULL,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Tax_Or_Surcharge_id_change_set

View File

@@ -17,7 +17,7 @@ CREATE TABLE IF NOT EXISTS Shop_Unit_Measurement (
is_unit_of_time BIT NOT NULL DEFAULT 0,
is_unit_of_volume BIT NOT NULL DEFAULT 0,
active BIT NOT NULL DEFAULT 1,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Unit_Measurement_id_change_set

View File

@@ -13,7 +13,7 @@ CREATE TABLE IF NOT EXISTS Shop_Unit_Measurement_Conversion (
multiplier_unit_base FLOAT NOT NULL,
increment_unit_base FLOAT NOT NULL,
active BIT NOT NULL DEFAULT 1,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Unit_Measurement_Conversion_id_change_set

View File

@@ -15,7 +15,7 @@ CREATE TABLE IF NOT EXISTS Shop_Product_Category (
, CONSTRAINT FK_Shop_Product_Category_id_access_level_required
FOREIGN KEY (id_access_level_required)
REFERENCES Shop_Access_Level(id_access_level)
, created_on TIMESTAMP
, created_on DATETIME
, created_by INT NOT NULL
, id_change_set INT
, CONSTRAINT FK_Shop_Product_Category_id_change_set

View File

@@ -39,7 +39,7 @@ CREATE TABLE IF NOT EXISTS Shop_Product (
# id_stripe_price VARCHAR(100) NOT NULL,
active BIT NOT NULL DEFAULT 1,
display_order INT NOT NULL,
created_on TIMESTAMP NOT NULL,
created_on DATETIME NOT NULL,
created_by INT NOT NULL,
id_change_set INT,
CONSTRAINT FK_Shop_Product_id_change_set

View File

@@ -50,7 +50,7 @@ CREATE TABLE IF NOT EXISTS Shop_Product_Permutation (
count_interval_expiration_unsealed INT,
active BIT NOT NULL DEFAULT 1,
display_order INT NOT NULL,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Product_Permutation_id_change_set

View File

@@ -12,7 +12,7 @@ CREATE TABLE IF NOT EXISTS Shop_Variation_Type (
name_plural VARCHAR(256),
active BIT NOT NULL DEFAULT 1,
display_order INT NOT NULL,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Variation_Type_id_change_set

View File

@@ -16,7 +16,7 @@ CREATE TABLE Shop_Variation (
name VARCHAR(255),
active BIT NOT NULL DEFAULT 1,
display_order INT NOT NULL,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Variation_id_change_set

View File

@@ -19,7 +19,7 @@ CREATE TABLE IF NOT EXISTS Shop_Product_Permutation_Variation_Link (
ON UPDATE RESTRICT,
active BIT NOT NULL DEFAULT 1,
display_order INT NOT NULL,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Product_Permutation_Variation_Link_id_change_set

View File

@@ -23,7 +23,7 @@ CREATE TABLE IF NOT EXISTS Shop_Product_Price (
price_local_VAT_excl FLOAT NULL,
id_stripe_price VARCHAR(200),
active BIT NOT NULL DEFAULT 1,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Product_Price_id_change_set

View File

@@ -18,7 +18,7 @@ CREATE TABLE IF NOT EXISTS Shop_Product_Image (
url VARCHAR(255),
active BIT NOT NULL DEFAULT 1,
display_order INT NOT NULL,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Product_Image_id_change_set

View File

@@ -18,7 +18,7 @@ CREATE TABLE IF NOT EXISTS Shop_Delivery_Option (
*/
active BIT NOT NULL DEFAULT 1,
display_order INT NOT NULL,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Delivery_Option_Type_id_change_set

View File

@@ -37,7 +37,7 @@ CREATE TABLE IF NOT EXISTS Shop_Product_Permutation_Delivery_Option_Link (
quantity_max FLOAT NULL,
active BIT NOT NULL DEFAULT 1,
display_order INT NOT NULL,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Permutation_Delivery_Option_Link_id_change_set

View File

@@ -35,11 +35,11 @@ CREATE TABLE Shop_Discount (
apply_multiplier_first BIT DEFAULT 1,
quantity_min FLOAT NOT NULL DEFAULT 0,
quantity_max FLOAT NOT NULL,
date_start TIMESTAMP NOT NULL,
date_end TIMESTAMP NOT NULL,
date_start DATETIME NOT NULL,
date_end DATETIME NOT NULL,
active BIT NOT NULL DEFAULT 1,
display_order INT NOT NULL,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Discount_id_change_set

View File

@@ -23,7 +23,7 @@ CREATE TABLE IF NOT EXISTS Shop_Discount_Region_Currency_Link (
REFERENCES Shop_Currency(id_currency)
ON UPDATE RESTRICT,
active BIT NOT NULL DEFAULT 1,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Discount_Region_Currency_Link_id_change_set

View File

@@ -11,7 +11,7 @@ CREATE TABLE IF NOT EXISTS Shop_Permission_Group (
name VARCHAR(255),
active BIT NOT NULL DEFAULT 1,
display_order INT NOT NULL,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Permission_Group_id_change_set

View File

@@ -20,7 +20,7 @@ CREATE TABLE IF NOT EXISTS Shop_Permission (
REFERENCES Shop_Access_Level(id_access_level),
active BIT NOT NULL DEFAULT 1,
display_order INT NOT NULL,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Permission_id_change_set

View File

@@ -11,7 +11,7 @@ CREATE TABLE IF NOT EXISTS Shop_Role (
name VARCHAR(255),
active BIT NOT NULL DEFAULT 1,
display_order INT NOT NULL,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Role_id_change_set

View File

@@ -22,7 +22,7 @@ CREATE TABLE IF NOT EXISTS Shop_Role_Permission_Link (
FOREIGN KEY (id_access_level)
REFERENCES Shop_Access_Level(id_access_level),
active BIT NOT NULL DEFAULT 1,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Role_Permission_Link_id_change_set

View File

@@ -17,7 +17,7 @@ CREATE TABLE IF NOT EXISTS Shop_User (
id_region_default INT NULL,
is_included_VAT_default BIT NOT NULL DEFAULT 1,
active BIT NOT NULL DEFAULT 1,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_User_id_change_set

View File

@@ -17,7 +17,7 @@ CREATE TABLE IF NOT EXISTS Shop_User_Role_Link (
FOREIGN KEY (id_role)
REFERENCES Shop_Role(id_role),
active BIT NOT NULL DEFAULT 1,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_User_Role_Link_id_change_set

View File

@@ -20,7 +20,7 @@ CREATE TABLE Shop_User_Address (
city VARCHAR(256) NOT NULL,
county VARCHAR(256) NOT NULL,
active BIT NOT NULL DEFAULT 1,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_User_Address_id_change_set

View File

@@ -24,7 +24,7 @@ CREATE TABLE IF NOT EXISTS Shop_User_Basket (
ON UPDATE RESTRICT,
quantity INT NOT NULL,
active BIT NOT NULL DEFAULT 1,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set_user INT,
CONSTRAINT FK_Shop_User_Basket_id_change_set_user

View File

@@ -12,7 +12,7 @@ CREATE TABLE IF NOT EXISTS Shop_User_Order_Status (
name_plural VARCHAR(256),
active BIT NOT NULL DEFAULT 1,
display_order INT NOT NULL,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_User_Order_Status_id_change_set

View File

@@ -1,8 +1,6 @@
# Supplier
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Supplier';
CREATE TABLE IF NOT EXISTS Shop_Supplier (
@@ -12,21 +10,21 @@ CREATE TABLE IF NOT EXISTS Shop_Supplier (
department_contact VARCHAR(255) NULL,
id_address INT NOT NULL,
CONSTRAINT FK_Shop_Supplier_id_address
FOREIGN KEY (id_address)
FOREIGN KEY (id_address)
REFERENCES Shop_Address(id_address),
phone_number VARCHAR(50) NULL,
phone_number VARCHAR(50) NULL,
fax VARCHAR(50) NULL,
email VARCHAR(255) NOT NULL,
website VARCHAR(255) NULL,
id_currency INT NOT NULL,
CONSTRAINT FK_Shop_Supplier_id_currency
FOREIGN KEY (id_currency)
FOREIGN KEY (id_currency)
REFERENCES Shop_Currency(id_currency),
active BIT NOT NULL DEFAULT 1,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Supplier_id_change_set
FOREIGN KEY (id_change_set)
FOREIGN KEY (id_change_set)
REFERENCES Shop_User_Change_Set(id_change_set)
);

View File

@@ -0,0 +1,18 @@
# Supplier Staging
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Supplier_Temp';
CREATE TABLE IF NOT EXISTS Shop_Supplier_Temp (
id_supplier INT NOT NULL,
name_company VARCHAR(255) NOT NULL,
name_contact VARCHAR(255) NULL,
department_contact VARCHAR(255) NULL,
id_address INT NOT NULL,
phone_number VARCHAR(50) NULL,
fax VARCHAR(50) NULL,
email VARCHAR(255) NOT NULL,
website VARCHAR(255) NULL,
id_currency INT NOT NULL,
active BIT NULL
);

View File

@@ -17,8 +17,9 @@ CREATE TABLE IF NOT EXISTS Shop_Supplier_Purchase_Order (
FOREIGN KEY (id_supplier_fulfilled)
REFERENCES Shop_Supplier(id_supplier),
*/
cost_total_local FLOAT NOT NULL,
id_currency_cost INT NOT NULL,
cost_total_local_VAT_excl FLOAT NOT NULL,
cost_total_local_VAT_incl FLOAT NOT NULL,
/*
latency_delivery INT NOT NULL,
quantity_ordered FLOAT NOT NULL,
@@ -30,9 +31,9 @@ CREATE TABLE IF NOT EXISTS Shop_Supplier_Purchase_Order (
display_order INT NOT NULL,
*/
active BIT NOT NULL DEFAULT 1,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
updated_last_on TIMESTAMP NULL,
updated_last_on DATETIME NULL,
created_last_by VARCHAR(100) NULL,
id_change_set INT NULL,
CONSTRAINT FK_Shop_Supplier_Purchase_Order_id_change_set

View File

@@ -0,0 +1,11 @@
# Supplier Purchase Order Staging
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Supplier_Purchase_Order_Temp';
CREATE TABLE IF NOT EXISTS Shop_Supplier_Purchase_Order_Temp (
id_order INT NOT NULL,
id_supplier_ordered INT NOT NULL,
id_currency_cost INT NOT NULL,
active BIT NULL
);

View File

@@ -15,20 +15,23 @@ CREATE TABLE IF NOT EXISTS Shop_Supplier_Purchase_Order_Product_Link (
CONSTRAINT FK_Shop_Supplier_Purchase_Order_Product_Link_id_permutation
FOREIGN KEY (id_permutation)
REFERENCES Shop_Product_Permutation(id_permutation),
cost_total_local FLOAT NOT NULL,
id_currency_cost INT NOT NULL,
quantity_ordered FLOAT NOT NULL,
id_unit_quantity INT NOT NULL,
CONSTRAINT FK_Shop_Supplier_Purchase_Order_Product_Link_id_unit_quantity
FOREIGN KEY (id_unit_quantity)
REFERENCES Shop_Unit_Measurement(id_unit_measurement),
quantity_ordered FLOAT NOT NULL,
quantity_received FLOAT NULL,
latency_delivery_days INT NOT NULL,
display_order INT NOT NULL,
active BIT NOT NULL,
created_on TIMESTAMP,
cost_total_local_VAT_excl FLOAT NOT NULL,
cost_total_local_VAT_incl FLOAT NOT NULL,
cost_unit_local_VAT_excl FLOAT NOT NULL,
cost_unit_local_VAT_incl FLOAT NOT NULL,
created_on DATETIME,
created_by INT,
updated_last_on TIMESTAMP NULL,
updated_last_on DATETIME NULL,
created_last_by VARCHAR(100) NULL,
id_change_set INT NULL,
CONSTRAINT FK_Shop_Supplier_Purchase_Order_Product_Link_id_change_set

View File

@@ -8,27 +8,17 @@
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Supplier_Purchase_Order_Product_Link_Temp';
CREATE TABLE IF NOT EXISTS Shop_Supplier_Purchase_Order_Product_Link_Temp (
id_link INT NOT NULL PRIMARY KEY,
GUID BINARY(36) NOT NULL,
id_order INT NOT NULL,
/*
CONSTRAINT FK_Supplier_Purchase_Order_Product_Link_Temp_id_order
FOREIGN KEY (id_order)
REFERENCES Shop_Supplier_Purchase_Order(id_order),
*/
id_permutation INT NOT NULL,
CONSTRAINT FK_Supplier_Purchase_Order_Product_Link_Temp_id_permutation
FOREIGN KEY (id_permutation)
REFERENCES Shop_Product_Permutation(id_permutation),
cost_total_local FLOAT NOT NULL,
id_currency_cost INT NOT NULL,
quantity_ordered FLOAT NOT NULL,
id_unit_quantity INT NOT NULL,
CONSTRAINT FK_Supplier_Purchase_Order_Product_Link_Temp_id_unit_quantity
FOREIGN KEY (id_unit_quantity)
REFERENCES Shop_Unit_Measurement(id_unit_measurement),
quantity_received FLOAT NULL,
latency_delivery_days INT NOT NULL,
display_order INT NOT NULL,
active BIT NOT NULL
id_link INT NOT NULL PRIMARY KEY
, id_order INT NOT NULL
, id_permutation INT NOT NULL
, id_currency_cost INT NOT NULL
, id_unit_quantity INT NOT NULL
, quantity_ordered FLOAT NOT NULL
, quantity_received FLOAT NULL
, latency_delivery_days INT NOT NULL
, display_order INT NOT NULL
, active BIT NOT NULL
, cost_total_local_VAT_excl FLOAT NOT NULL
, cost_total_local_VAT_incl FLOAT NOT NULL
, GUID BINARY(36) NOT NULL
);

View File

@@ -22,9 +22,9 @@ CREATE TABLE IF NOT EXISTS Shop_Manufacturing_Purchase_Order (
display_order INT NOT NULL,
*/
active BIT NOT NULL DEFAULT 1,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
updated_last_on TIMESTAMP NULL,
updated_last_on DATETIME NULL,
created_last_by VARCHAR(100) NULL,
id_change_set INT NULL,
CONSTRAINT FK_Shop_Manufacturing_Purchase_Order_id_change_set

View File

@@ -27,9 +27,9 @@ CREATE TABLE IF NOT EXISTS Shop_Manufacturing_Purchase_Order_Product_Link (
quantity_produced FLOAT NOT NULL,
display_order INT NOT NULL,
active BIT NOT NULL,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
updated_last_on TIMESTAMP NULL,
updated_last_on DATETIME NULL,
created_last_by VARCHAR(100) NULL,
id_change_set INT NULL,
CONSTRAINT FK_Manufacturing_Purchase_Order_id_change_set

View File

@@ -20,7 +20,7 @@ CREATE TABLE IF NOT EXISTS Shop_Customer (
FOREIGN KEY (id_currency)
REFERENCES Shop_Currency(id_currency),
active BIT NOT NULL DEFAULT 1,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Customer_id_change_set

View File

@@ -24,9 +24,9 @@ CREATE TABLE IF NOT EXISTS Shop_Customer_Sales_Order (
display_order INT NOT NULL,
*/
active BIT NOT NULL DEFAULT 1,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
updated_last_on TIMESTAMP NULL,
updated_last_on DATETIME NULL,
created_last_by VARCHAR(100) NULL,
id_change_set INT NULL,
CONSTRAINT FK_Shop_Customer_Sales_Order_id_change_set

View File

@@ -27,9 +27,9 @@ CREATE TABLE IF NOT EXISTS Shop_Customer_Sales_Order_Product_Link (
display_order INT NOT NULL,
active BIT NOT NULL,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
updated_last_on TIMESTAMP NULL,
updated_last_on DATETIME NULL,
created_last_by VARCHAR(100) NULL,
id_change_set INT NULL,
CONSTRAINT FK_Shop_Customer_Sales_Order_Product_Link_id_change_set

View File

@@ -17,19 +17,19 @@ BEGIN
SET v_time_end := CURRENT_TIMESTAMP(6);
SELECT
a_time_start
, UNIX_TIMESTAMP(a_time_start)
, UNIX_DATETIME(a_time_start)
, MICROSECOND(a_time_start) / 1000
, v_time_end
, UNIX_TIMESTAMP(v_time_end)
, UNIX_DATETIME(v_time_end)
, MICROSECOND(v_time_end) / 1000
, v_time_end - a_time_start AS timestamp_delta
, UNIX_TIMESTAMP(v_time_end - a_time_start) AS UNIX_TIMESTAMP_timestamp_delta
, UNIX_DATETIME(v_time_end - a_time_start) AS UNIX_DATETIME_timestamp_delta
, MICROSECOND(v_time_end - a_time_start) AS MICROSECOND_timestamp_delta
-- , TIME_FORMAT(TIMEDIFF(v_time_end, a_time_start), '%H:%i:%s') AS time_difference
, CONCAT(
TIME_FORMAT(TIMEDIFF(v_time_end, a_time_start), '%H hours, %i minutes, %s seconds'),
', ',
TIMESTAMPDIFF(MICROSECOND, a_time_start, v_time_end) % 1000000 / 1000, ' milliseconds'
DATETIMEDIFF(MICROSECOND, a_time_start, v_time_end) % 1000000 / 1000, ' milliseconds'
) AS time_difference
;

View File

@@ -19,7 +19,7 @@ BEGIN
DECLARE v_ids_product_permission LONGTEXT;
DECLARE v_id_change_set INT;
DECLARE v_id_access_level_edit INT;
DECLARE v_now TIMESTAMP;
DECLARE v_now DATETIME;
DECLARE exit handler for SQLEXCEPTION
BEGIN
@@ -202,7 +202,7 @@ BEGIN
END IF;
END IF;
SET v_now := CURRENT_TIMESTAMP();
SET v_now := CURRENT_DATETIME();
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN
START TRANSACTION;

View File

@@ -166,6 +166,10 @@ BEGIN
WHERE
ISNULL(t_S.as_int)
OR ISNULL(PC.id_category)
OR (
PC.active = 0
AND a_get_inactive_product_category = 0
)
) THEN
INSERT INTO tmp_Msg_Error (
-- guid,
@@ -183,7 +187,10 @@ BEGIN
WHERE
ISNULL(t_S.as_int)
OR ISNULL(PC.id_category)
-- OR PC.active = 0
OR (
PC.active = 0
AND a_get_inactive_product_category = 0
)
;
ELSE
INSERT INTO tmp_Category_calc (
@@ -197,7 +204,7 @@ BEGIN
a_get_all_product_category = 1
OR (
v_has_filter_product_category = 1
AND FIND_IN_SET(PC.id_category, a_ids_product_category) > 0
AND NOT ISNULL(t_S.as_int)
)
)
AND (
@@ -239,6 +246,10 @@ BEGIN
WHERE
ISNULL(t_S.as_int)
OR ISNULL(P.id_product)
OR (
P.active = 0
AND a_get_inactive_product = 0
)
) THEN
INSERT INTO tmp_Msg_Error (
-- guid,
@@ -256,7 +267,10 @@ BEGIN
WHERE
ISNULL(t_S.as_int)
OR ISNULL(P.id_product)
-- OR PC.active = 0
OR (
P.active = 0
AND a_get_inactive_product = 0
)
;
ELSE
INSERT INTO tmp_Product_calc (
@@ -273,7 +287,7 @@ BEGIN
a_get_all_product = 1
OR (
v_has_filter_product = 1
AND FIND_IN_SET(P.id_product, a_ids_product) > 0
AND NOT ISNULL(t_S.as_int)
)
)
AND (
@@ -332,7 +346,10 @@ BEGIN
WHERE
ISNULL(t_S.as_int)
OR ISNULL(PP.id_permutation)
-- OR PC.active = 0
OR (
PP.active = 0
AND a_get_inactive_product_permutation = 0
)
;
ELSE
INSERT INTO tmp_Permutation_calc (
@@ -347,17 +364,18 @@ BEGIN
FROM tmp_Split t_S
RIGHT JOIN partsltd_prod.Shop_Product_Permutation PP ON t_S.as_int = PP.id_permutation
INNER JOIN tmp_Product_calc t_P ON PP.id_product = t_P.id_product
WHERE (
WHERE 1=1
AND (
a_get_all_product_permutation = 1
OR (
v_has_filter_permutation = 1
AND FIND_IN_SET(PP.id_permutation, a_ids_permutation) > 0
)
OR (
a_get_products_quantity_stock_below_min = 1
AND PP.quantity_stock < PP.quantity_min
AND NOT ISNULL(t_S.as_int)
)
)
AND (
a_get_products_quantity_stock_below_min = 1
AND PP.quantity_stock < PP.quantity_min
)
AND (
a_get_inactive_permutation = 1
OR PP.active = 1

View File

@@ -37,7 +37,7 @@ BEGIN
DECLARE v_ids_product_permission VARCHAR(4000);
-- DECLARE v_ids_permutation_permission VARCHAR(4000);
DECLARE v_id_access_level_view INT;
-- DECLARE v_now TIMESTAMP;
-- DECLARE v_now DATETIME;
DECLARE v_id_minimum INT;
DECLARE v_ids_product_invalid VARCHAR(4000);
DECLARE v_time_start TIMESTAMP(6);

View File

@@ -18,7 +18,7 @@ BEGIN
DECLARE v_ids_product_permission LONGTEXT;
DECLARE v_id_change_set INT;
DECLARE v_id_access_level_edit INT;
DECLARE v_now TIMESTAMP;
DECLARE v_now DATETIME;
DECLARE exit handler for SQLEXCEPTION
BEGIN
@@ -376,7 +376,7 @@ BEGIN
END IF;
END IF;
SET v_now := CURRENT_TIMESTAMP();
SET v_now := CURRENT_DATETIME();
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN
START TRANSACTION;

View File

@@ -22,7 +22,7 @@ CREATE PROCEDURE p_shop_get_many_stock_item (
IN a_get_all_location_storage BIT,
IN a_get_inactive_location_storage BIT,
IN a_ids_location_storage TEXT,
IN a_date_received_to TIMESTAMP,
IN a_date_received_to DATETIME,
IN a_get_sealed_stock_item_only BIT,
IN a_get_unsealed_stock_item_only BIT,
IN a_get_expired_stock_item_only BIT,
@@ -43,7 +43,7 @@ BEGIN
DECLARE v_ids_product_permission LONGTEXT;
-- DECLARE v_ids_permutation_permission VARCHAR(4000);
DECLARE v_id_access_level_view INT;
-- DECLARE v_now TIMESTAMP;
-- DECLARE v_now DATETIME;
-- DECLARE v_id_minimum INT;
DECLARE v_time_start TIMESTAMP(6);

View File

@@ -13,11 +13,11 @@ CREATE PROCEDURE p_shop_save_stock_item (
BEGIN
DECLARE v_code_type_error_bad_data VARCHAR(100);
DECLARE v_id_type_error_bad_data INT;
DECLARE v_id_permission_product INT;
DECLARE v_ids_product_permission LONGTEXT;
DECLARE v_id_change_set INT;
DECLARE v_id_access_level_edit INT;
DECLARE v_id_change_set INT;
DECLARE v_id_permission_product INT;
DECLARE v_id_type_error_bad_data INT;
DECLARE v_ids_product_permission LONGTEXT;
DECLARE v_time_start TIMESTAMP(6);
DECLARE v_time_expire DATETIME;
@@ -63,7 +63,7 @@ BEGIN
SET v_id_type_error_bad_data := (SELECT id_type FROM Shop_Msg_Error_Type WHERE code = v_code_type_error_bad_data LIMIT 1);
SET v_id_access_level_edit := (SELECT id_access_level FROM Shop_Access_Level WHERE code = 'EDIT' LIMIT 1);
SET a_guid := IFNULL(a_guid, UUID());
CALL partsltd_prod.p_validate_guid ( a_guid );
DROP TEMPORARY TABLE IF EXISTS tmp_Stock_Item;
DROP TEMPORARY TABLE IF EXISTS tmp_Msg_Error;
@@ -191,7 +191,41 @@ BEGIN
END IF;
-- Validation
-- Missing mandatory fields
-- id_stock
IF EXISTS (
SELECT *
FROM tmp_Stock_Item t_SI
LEFT JOIN partsltd_prod.Shop_Stock_Item SI ON t_SI.id_stock = SI.id_stock
WHERE 1=1
AND t_SI.id_stock > 0
AND ISNULL(SI.id_stock)
LIMIT 1
) THEN
INSERT INTO tmp_Msg_Error (
id_type
, code
, msg
)
SELECT
v_id_type_error_bad_data
, v_code_type_error_bad_data
, CONCAT(
'Invalid stock item(s): '
, GROUP_CONCAT(
CONCAT(
IFNULL(t_SI.id_stock, '(No Stock Item)')
, ' - '
, IFNULL(t_SI.name_error, '(No Product)')
) SEPARATOR ', '
)
) AS msg
FROM tmp_Stock_Item t_SI
LEFT JOIN partsltd_prod.Shop_Product_Permutation PP ON t_SI.id_permutation = PP.id_permutation
WHERE 1=1
AND t_SI.id_stock > 0
AND ISNULL(SI.id_stock)
;
END IF;
-- id_product
IF EXISTS (SELECT * FROM tmp_Stock_Item t_SI WHERE t_SI.id_product = 0 LIMIT 1) THEN
INSERT INTO tmp_Msg_Error (
@@ -483,8 +517,14 @@ BEGIN
START TRANSACTION;
IF NOT ISNULL(v_ids_product_permission) THEN
INSERT INTO Shop_Product_Change_Set ( comment )
VALUES ( a_comment )
INSERT INTO Shop_Product_Change_Set (
comment
, updated_last_by
)
VALUES (
a_comment,
a_id_user
)
;
SET v_id_change_set := LAST_INSERT_ID();
@@ -556,10 +596,22 @@ BEGIN
COMMIT;
END IF;
SELECT * FROM tmp_Msg_Error;
# Errors
SELECT *
FROM tmp_Msg_Error t_ME
INNER JOIN partsltd_prod.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type
;
IF a_debug = 1 THEN
SELECT * from tmp_Stock_Item;
END IF;
DROP TEMPORARY TABLE IF EXISTS tmp_Stock_Item;
DROP TEMPORARY TABLE IF EXISTS tmp_Msg_Error;
IF a_debug = 1 THEN
CALL partsltd_prod.p_debug_timing_reporting ( v_time_start );
END IF;
END //
DELIMITER ;;

View File

@@ -44,7 +44,7 @@ BEGIN
DECLARE v_ids_product_permission VARCHAR(4000);
-- DECLARE v_ids_permutation_permission VARCHAR(4000);
DECLARE v_id_access_level_view INT;
-- DECLARE v_now TIMESTAMP;
-- DECLARE v_now DATETIME;
DECLARE v_id_minimum INT;
DECLARE v_time_start TIMESTAMP(6);

View File

@@ -28,7 +28,7 @@ BEGIN
-- Argument redeclaration
-- Variable declaration
DECLARE v_has_filter_user BIT;
-- DECLARE v_now TIMESTAMP;
-- DECLARE v_now DATETIME;
-- Argument validation + default values

View File

@@ -22,7 +22,7 @@ BEGIN
DECLARE v_id_permission_user INT;
DECLARE v_id_permission_user_admin INT;
DECLARE v_ids_permission_required VARCHAR(4000);
DECLARE v_now TIMESTAMP;
DECLARE v_now DATETIME;
DECLARE v_id_minimum INT;
DECLARE v_code_error_bad_data VARCHAR(50);
DECLARE v_id_type_error_bad_data INT;

View File

@@ -47,7 +47,7 @@ BEGIN
# DECLARE v_id_user VARCHAR(100);
DECLARE v_id_permission_product INT;
DECLARE v_ids_permutation_permission VARCHAR(4000);
DECLARE v_now TIMESTAMP;
DECLARE v_now DATETIME;
# DECLARE v_quantity_new INT;
DECLARE v_change_set_used BIT;
DECLARE v_id_change_set INT;

View File

@@ -8,273 +8,367 @@ DROP PROCEDURE IF EXISTS p_shop_save_supplier;
DELIMITER //
CREATE PROCEDURE p_shop_save_supplier (
IN a_guid VARCHAR(500),
IN a_id_user INT,
IN a_comment VARCHAR(500),
IN a_id_supplier INT,
IN a_name_company VARCHAR(256),
IN a_name_contact VARCHAR(256),
IN a_department_contact VARCHAR(256),
IN a_id_address INT,
IN a_phone_number VARCHAR(20),
IN a_fax VARCHAR(20),
IN a_email VARCHAR(515),
IN a_website VARCHAR(300),
IN a_id_currency INT,
IN a_active BIT
IN a_comment VARCHAR(500)
, IN a_guid BINARY(36)
, IN a_id_user INT
, IN a_debug BIT
)
BEGIN
DECLARE v_id_error_type_bad_data INT;
DECLARE v_id_error_type_no_permission INT;
DECLARE v_guid_permission BINARY(36);
DECLARE v_id_user VARCHAR(100);
DECLARE v_id_permission_supplier INT;
-- DECLARE v_id_access_level_EDIT INT;
DECLARE v_has_permission BIT;
DECLARE v_code_type_error_bad_data VARCHAR(50);
DECLARE v_code_type_error_no_permission VARCHAR(50);
DECLARE v_id_access_level_edit INT;
DECLARE v_id_change_set INT;
DECLARE v_is_new_supplier BIT;
DECLARE v_id_permission_supplier INT;
DECLARE v_id_type_error_bad_data INT;
DECLARE v_id_type_error_no_permission INT;
DECLARE v_time_start TIMESTAMP(6);
DECLARE exit handler for SQLEXCEPTION
BEGIN
GET DIAGNOSTICS CONDITION 1
@sqlstate = RETURNED_SQLSTATE
, @errno = MYSQL_ERRNO
, @text = MESSAGE_TEXT
;
ROLLBACK;
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
display_order INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, code VARCHAR(50) NOT NULL
, msg VARCHAR(4000) NOT NULL
);
INSERT INTO tmp_Msg_Error (
id_type
, code
, msg
)
SELECT
NULL
, @errno
, @text
;
SELECT *
FROM tmp_Msg_Error;
DROP TABLE IF EXISTS tmp_Msg_Error;
END;
SET v_time_start := CURRENT_TIMESTAMP(6);
SET v_code_type_error_bad_data := (SELECT code FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = 'BAD_DATA');
SET v_id_type_error_bad_data := (SELECT id_type FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = v_code_type_error_bad_data);
SET v_code_type_error_no_permission := (SELECT code FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = 'NO_PERMISSION');
SET v_id_type_error_no_permission := (SELECT id_type FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = v_code_type_error_no_permission);
SET v_id_permission_supplier = (SELECT id_permission FROM partsltd_prod.Shop_Permission WHERE code = 'STORE_SUPPLIER' LIMIT 1);
SET v_id_access_level_EDIT = (SELECT id_access_level FROM partsltd_prod.Shop_Access_Level WHERE code = 'EDIT');
SET v_id_error_type_bad_data := (SELECT id_type FROM Shop_Msg_Error_Type WHERE code = 'BAD_DATA');
SET v_guid_permission = UUID();
SET v_id_user = CURRENT_USER();
SET v_id_permission_supplier = (SELECT id_permission FROM Shop_Permission WHERE code = 'STORE_SUPPLIER' LIMIT 1);
-- SET v_id_access_level_EDIT = (SELECT id_access_level FROM Shop_Access_Level WHERE code = 'EDIT');
CALL p_validate_guid ( a_guid );
SET a_comment := TRIM(IFNULL(a_comment, ''));
-- Argument default values
IF a_guid IS NULL THEN
SET a_guid = UUID();
END IF;
-- Temporary tables
/*
CREATE TABLE tmp_Shop_Supplier (
id_supplier INT NOT NULL,
name_company VARCHAR(255) NOT NULL,
name_contact VARCHAR(255) NULL,
department_contact VARCHAR(255) NULL,
id_address INT NOT NULL,
CONSTRAINT FK_tmp_Shop_Supplier_id_address
FOREIGN KEY (id_address)
REFERENCES Shop_Address(id_address),
phone_number VARCHAR(50) NULL,
fax VARCHAR(50) NULL,
email VARCHAR(255) NOT NULL,
website VARCHAR(255) NULL,
id_currency INT NOT NULL,
CONSTRAINT FK_tmp_Shop_Supplier_id_currency
FOREIGN KEY (id_currency)
REFERENCES Shop_Currency(id_currency),
active BIT NOT NULL,
can_view BIT NOT NULL,
can_edit BIT NOT NULL,
can_admin BIT NOT NULL
DROP TEMPORARY TABLE IF EXISTS tmp_Supplier;
DROP TEMPORARY TABLE IF EXISTS tmp_Msg_Error;
CREATE TEMPORARY TABLE tmp_Supplier (
id_supplier INT NOT NULL
, id_address INT NOT NULL
, id_currency INT NOT NULL
, name_company VARCHAR(255) NOT NULL
, name_contact VARCHAR(255) NULL
, department_contact VARCHAR(255) NULL
, phone_number VARCHAR(50) NULL
, fax VARCHAR(50) NULL
, email VARCHAR(255) NOT NULL
, website VARCHAR(255) NULL
, active BIT NOT NULL
, name_error VARCHAR(1000) NOT NULL
, is_new BIT NOT NULL
);
*/
CREATE TABLE IF NOT EXISTS tmp_Msg_Error (
display_order INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
guid BINARY(36) NOT NULL,
id_type INT NOT NULL,
CONSTRAINT FK_tmp_Msg_Error_id_type
FOREIGN KEY (id_type)
REFERENCES Shop_Msg_Error_Type (id_type),
code VARCHAR(50) NOT NULL,
msg VARCHAR(4000) NOT NULL
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
display_order INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NOT NULL
, code VARCHAR(50) NOT NULL
, msg VARCHAR(4000) NOT NULL
);
-- Argument validation
IF a_id_supplier IS NULL THEN
INSERT INTO tmp_Msg_Error (
guid, id_type, msg
)
VALUES
(a_guid, v_id_error_type_bad_data, 'Supplier ID must not be null')
;
END IF;
IF a_name_company IS NULL THEN
INSERT INTO tmp_Msg_Error (
guid, id_type, msg
)
VALUES
(a_guid, v_id_error_type_bad_data, 'Supplier company name must not be null')
;
END IF;
IF a_id_address IS NULL THEN
INSERT INTO tmp_Msg_Error (
guid, id_type, msg
)
VALUES
(a_guid, v_id_error_type_bad_data, 'Address ID must not be null')
;
END IF;
IF a_email IS NULL THEN
INSERT INTO tmp_Msg_Error (
guid, id_type, msg
)
VALUES
(a_guid, v_id_error_type_bad_data, 'Email must not be null')
;
END IF;
IF a_active IS NULL THEN
INSERT INTO tmp_Msg_Error (
guid, id_type, msg
)
VALUES
(a_guid, v_id_error_type_bad_data, 'Active must not be null')
;
END IF;
INSERT INTO tmp_Supplier (
id_supplier
, id_address
, id_currency
, name_company
, name_contact
, department_contact
, phone_number
, fax
, email
, website
, active
, name_error
, is_new
)
SELECT
S_T.id_supplier
, S_T.id_address
, S_T.id_currency
, S_T.name_company
, S_T.name_contact
, S_T.department_contact
, S_T.phone_number
, S_T.fax
, S_T.email
, S_T.website
, S_T.active
, IFNULL(S_T.name_company, IFNULL(S_T.email, IFNULL(S_T.website, IFNULL(S_T.name_contact, '(No Supplier)'))))
, IFNULL(S_T.id_supplier, 0) < 1
FROM partsltd_prod.Shop_Supplier_Temp S_T
WHERE GUID = a_guid
;
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error) THEN
SET v_is_new_supplier := CASE WHEN a_id_supplier <= 0 THEN 1 ELSE 0 END;
IF (v_is_new_supplier = 0 AND NOT EXISTS (SELECT * FROM Shop_Supplier S WHERE S.id_supplier = a_id_supplier)) THEN
INSERT INTO tmp_Msg_Error (
guid, id_type, msg
-- Validation
# id_address
IF EXISTS (
SELECT *
FROM tmp_Supplier t_S
LEFT JOIN partsltd_prod.Shop_Address A ON t_S.id_address = A.id_address
WHERE 1=1
AND (
t_S.id_address = 0
OR A.active = 0
)
VALUES
(a_guid, v_id_error_type_bad_data, CONCAT('Invalid supplier ID: ', a_id_supplier))
;
END IF;
END IF;
/*
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error) THEN
INSERT INTO tmp_Shop_Supplier (
id_supplier, name_company, name_contact, department_contact, id_address, phone_number, fax, email, website, id_currency, active
LIMIT 1
) THEN
INSERT INTO tmp_Msg_Error (
id_type
, code
, msg
)
VALUES
(a_id_supplier, a_name_company, a_name_contact, a_department_contact, a_id_address, a_phone_number, a_fax, a_email, a_website, a_id_currency, a_active)
/*
FROM Shop_Supplier S
WHERE (NOT v_has_filter_category OR C.id_category LIKE '%' || a_ids_category || '%')
AND (a_get_inactive_categories OR C.active)
*
;
SELECT
v_id_type_error_bad_data
, v_code_type_error_bad_data
, CONCAT(
'The following supplier(s) have an invalid or inactive Address: '
, GROUP_CONCAT(t_S.name_error SEPARATOR ', ')
) AS msg
FROM tmp_Supplier t_S
LEFT JOIN partsltd_prod.Shop_Address A ON t_S.id_address = A.id_address
WHERE 1=1
AND (
t_S.id_address = 0
OR A.active = 0
)
;
END IF;
*/
# id_currency
IF EXISTS (
SELECT *
FROM tmp_Supplier t_S
LEFT JOIN partsltd_prod.Shop_Currency C ON t_S.id_currency = C.id_currency
WHERE 1=1
AND (
t_S.id_currency = 0
OR C.active = 0
)
LIMIT 1
) THEN
INSERT INTO tmp_Msg_Error (
id_type
, code
, msg
)
SELECT
v_id_type_error_bad_data
, v_code_type_error_bad_data
, CONCAT(
'The following supplier(s) have an invalid or inactive Currency: '
, GROUP_CONCAT(t_S.name_error SEPARATOR ', ')
) AS msg
FROM tmp_Supplier t_S
LEFT JOIN partsltd_prod.Shop_Currency C ON t_S.id_currency = C.id_currency
WHERE 1=1
AND (
t_S.id_currency = 0
OR C.active = 0
)
;
END IF;
# name_company
IF EXISTS (SELECT * FROM tmp_Supplier t_S WHERE ISNULL(t_S.name_company) LIMIT 1) THEN
INSERT INTO tmp_Msg_Error (
id_type
, code
, msg
)
SELECT
v_id_type_error_bad_data
, v_code_type_error_bad_data
, CONCAT('The following supplier(s) do not have a name: ', GROUP_CONCAT(IFNULL(t_S.name_error, 'NULL') SEPARATOR ', ')) AS msg
FROM tmp_Supplier t_S
WHERE ISNULL(t_S.name_company)
;
END IF;
# email
IF EXISTS (SELECT * FROM tmp_Supplier t_S WHERE ISNULL(t_S.email) LIMIT 1) THEN
INSERT INTO tmp_Msg_Error (
id_type
, code
, msg
)
SELECT
v_id_type_error_bad_data
, v_code_type_error_bad_data
, CONCAT('The following supplier(s) do not have an email: ', GROUP_CONCAT(IFNULL(t_S.name_error, 'NULL') SEPARATOR ', ')) AS msg
FROM tmp_Supplier t_S
WHERE ISNULL(t_S.email)
;
END IF;
-- Permissions
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error) THEN
CALL p_shop_calc_user(v_guid_permission, v_id_user, v_id_permission_supplier, '');
/*
UPDATE tmp_Shop_Supplier t_S
INNER JOIN Shop_Calc_User_Temp TP
ON TP.GUID = v_guid_permission
SET tP.can_view = TP.can_view,
tP.can_edit = TP.can_edit,
tP.can_admin = TP.can_admin;
*/
SET v_has_permission := (SELECT can_edit FROM Shop_Calc_User_Temp WHERE GUID = v_guid_permission);
IF v_has_permission = 0 THEN
SET v_id_error_type_no_permission := (SELECT id_type FROM Shop_Msg_Error_Type WHERE code = 'NO_PERMISSION');
INSERT INTO tmp_Msg_Error (
guid, id_type, msg
)
SELECT
a_guid,
v_id_error_type_no_permission,
CONCAT('You do not have ', name, ' permissions.')
FROM Shop_Permission
WHERE id_permission = v_id_permission_supplier
;
END IF;
-- CALL p_shop_clear_calc_user(v_guid_permission);
DELETE FROM Shop_Calc_User_Temp
WHERE GUID = a_guid;
END IF;
IF a_debug = 1 THEN
SELECT
v_guid
, a_id_user
, FALSE -- get inactive users
, v_id_permission_supplier
, v_id_access_level_edit
, '' -- ids_product
, 0 -- a_debug
;
SELECT * from partsltd_prod.Shop_Calc_User_Temp;
END IF;
CALL p_shop_calc_user(
v_guid
, a_id_user
, FALSE -- get inactive users
, v_id_permission_supplier
, v_id_access_level_edit
, '' -- ids_product
, 0 -- a_debug
);
IF a_debug = 1 THEN
SELECT * from partsltd_prod.Shop_Calc_User_Temp WHERE GUID = a_guid;
END IF;
IF NOT EXISTS (SELECT can_view FROM partsltd_prod.Shop_Calc_User_Temp UE_T WHERE UE_T.GUID = v_guid) THEN
DELETE FROM tmp_Msg_Error;
INSERT INTO tmp_Msg_Error (
id_type
, code
, msg
)
VALUES (
v_id_type_error_no_permission
, v_code_type_error_no_permission
CONCAT('You do not have view permissions for ', (SELECT name FROM partsltd_prod.Shop_Permission WHERE id_permission = v_id_permission_supplier LIMIT 1))
)
;
END IF;
CALL partsltd_prod.p_shop_clear_calc_user( a_guid );
IF EXISTS ( SELECT * FROM tmp_Msg_Error LIMIT 1 ) THEN
DELETE FROM tmp_Supplier;
END IF;
-- Transaction
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error) THEN
INSERT INTO Shop_Sales_And_Purchasing_Change_Set (
comment,
updated_last_by,
updated_last_on
)
VALUES (
CONCAT(
'Save ',
CASE WHEN v_is_new_supplier = 1 THEN 'new ' ELSE '' END,
'Supplier - ',
a_comment
),
a_id_user,
CURRENT_TIME()
);
SET v_id_change_set := (SELECT id_change_set FROM Shop_Sales_And_Purchasing_Change_Set ORDER BY id_change_set DESC LIMIT 1);
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error) THEN
START TRANSACTION;
IF (v_is_new_supplier = 1) THEN
INSERT INTO Shop_Supplier (
-- id_supplier,
name_company, name_contact, department_contact, id_address, phone_number, fax, email, website, id_currency, active, id_change_set
)
VALUES
(
-- a_id_supplier,
a_name_company, a_name_contact, a_department_contact, a_id_address, a_phone_number, a_fax, a_email, a_website, a_id_currency, a_active, v_id_change_set
)
INSERT INTO partsltd_prod.Shop_Sales_And_Purchasing_Change_Set (
comment
, updated_last_by
, updated_last_on
)
VALUES (
a_comment
, a_id_user
, v_time_start
);
SET v_id_change_set := LAST_INSERT_ID();
INSERT INTO partsltd_prod.Shop_Supplier (
-- id_supplier,
id_address
, id_currency
, name_company
, name_contact
, department_contact
, phone_number
, fax
, email
, website
, active
, id_change_set
)
SELECT
t_S.id_address
, t_S.id_currency
, t_S.name_company
, t_S.name_contact
, t_S.department_contact
, t_S.phone_number
, t_S.fax
, t_S.email
, t_S.website
, t_S.active
v_id_change_set
FROM tmp_Supplier t_S
WHERE t_S.is_new = 1
;
UPDATE partsltd_prod.Shop_Supplier S
INNER JOIN tmp_Supplier t_S
ON S.id_supplier = t_S.id_supplier
AND t_S.is_new = 0
SET
S.id_address = t_S.id_address
, S.id_currency = t_S.id_currency
, S.name_company = t_S.name_company
, S.name_contact = t_S.name_contact
, S.department_contact = t_S.department_contact
, S.phone_number = t_S.phone_number
, S.fax = t_S.fax
, S.email = t_S.email
, S.website = t_S.website
, S.active = t_S.active
, S.id_change_set = v_id_change_set
/*
FROM Shop_Supplier S
WHERE (NOT v_has_filter_category OR C.id_category LIKE '%' || a_ids_category || '%')
AND (a_get_inactive_categories OR C.active)
S.name_company = a_name_company,
S.name_contact = a_name_contact,
S.department_contact = a_department_contact,
S.id_address = a_id_address,
S.phone_number = a_phone_number,
S.fax = a_fax,
S.email = a_email,
S.website = a_website,
S.id_currency = a_id_currency,
S.active = a_active,
S.id_change_set = v_id_change_set
*/
;
ELSE
UPDATE Shop_Supplier S
-- INNER JOIN tmp_Shop_Supplier t_S ON S.id_supplier = t_S.id_supplier
SET
/*
S.name_company = t_S.name_company,
S.name_contact = t_S.name_contact,
S.department_contact = t_S.department_contact,
S.id_address = t_S.id_address,
S.phone_number = t_S.phone_number,
S.fax = t_S.fax,
S.email = t_S.email,
S.website = t_S.website,
S.id_currency = t_S.id_currency,
S.active = t_S.active
*/
S.name_company = a_name_company,
S.name_contact = a_name_contact,
S.department_contact = a_department_contact,
S.id_address = a_id_address,
S.phone_number = a_phone_number,
S.fax = a_fax,
S.email = a_email,
S.website = a_website,
S.id_currency = a_id_currency,
S.active = a_active,
S.id_change_set = v_id_change_set
;
END IF;
IF EXISTS (SELECT * FROM tmp_Msg_Error) THEN
ROLLBACK;
ELSE
COMMIT;
END IF;
;
COMMIT;
END IF;
-- Returns
-- SET v_now = NOW();
# Errors
SELECT *
FROM tmp_Msg_Error
FROM tmp_Msg_Error t_ME
INNER JOIN partsltd_prod.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type
;
DROP TABLE tmp_Shop_Supplier;
DROP TABLE tmp_Msg_Error;
IF a_debug = 1 THEN
SELECT * from tmp_Supplier;
END IF;
DROP TEMPORARY TABLE tmp_Supplier;
DROP TEMPORARY TABLE tmp_Msg_Error;
IF a_debug = 1 THEN
CALL partsltd_prod.p_debug_timing_reporting ( v_time_start );
END IF;
END //
DELIMITER ;;

View File

@@ -1,266 +1,241 @@
/*
CALL p_shop_get_many_supplier (
'', # a_id_user
1, # a_get_all_supplier
0, # a_get_inactive_supplier
0, # a_get_first_supplier_only
'', # a_ids_supplier
);
*/
-- Clear previous proc
DROP PROCEDURE IF EXISTS p_shop_get_many_supplier;
DELIMITER //
CREATE PROCEDURE p_shop_get_many_supplier (
IN a_id_user INT,
IN a_get_all_supplier BIT,
IN a_get_inactive_supplier BIT,
IN a_get_first_supplier_only BIT,
IN a_ids_supplier VARCHAR(4000)
IN a_id_user INT
, IN a_get_all_supplier BIT
, IN a_get_inactive_supplier BIT
, IN a_ids_supplier TEXT
, IN a_debug BIT
)
BEGIN
-- Argument redeclaration
-- Variable declaration
DECLARE v_has_filter_supplier BIT;
DECLARE v_code_type_error_bad_data VARCHAR(50);
DECLARE v_code_type_error_no_permission VARCHAR(50);
DECLARE v_guid BINARY(36);
# DECLARE v_id_user VARCHAR(100);
# DECLARE v_ids_permutation_unavailable VARCHAR(4000);
DECLARE v_id_permission_supplier INT;
# DECLARE v_ids_product_permission VARCHAR(4000);
# DECLARE v_ids_permutation_permission VARCHAR(4000);
DECLARE v_has_filter_supplier BIT;
DECLARE v_id_access_level_view INT;
DECLARE v_now TIMESTAMP;
DECLARE v_id_minimum INT;
DECLARE v_code_error_data VARCHAR(50);
DECLARE v_id_permission_supplier INT;
DECLARE v_id_type_error_bad_data INT;
DECLARE v_id_type_error_no_permission INT;
DECLARE v_time_start TIMESTAMP(6);
SET v_time_start := CURRENT_TIMESTAMP(6);
SET v_guid := UUID();
SET v_id_access_level_view := (SELECT id_access_level FROM Shop_Access_Level WHERE code = 'VIEW' LIMIT 1);
SET v_code_error_data := (SELECT code FROM Shop_Msg_Error_Type WHERE code = 'BAD_DATA' LIMIT 1);
SET v_code_type_error_bad_data := (SELECT code FROM Shop_Msg_Error_Type WHERE code = 'BAD_DATA' LIMIT 1);
SET v_id_type_error_bad_data := (SELECT id_type FROM Shop_Msg_Error_Type WHERE code = v_code_type_error_bad_data LIMIT 1);
SET v_code_type_error_no_permission := (SELECT code FROM Shop_Msg_Error_Type WHERE code = 'NO_PERMISSION');
SET v_id_type_error_no_permission := (SELECT id_type FROM Shop_Msg_Error_Type WHERE code = v_code_type_error_no_permission);
SET v_id_permission_supplier := (SELECT id_permission FROM Shop_Permission WHERE code = 'STORE_SUPPLIER' LIMIT 1);
-- Argument validation + default values
IF a_id_user IS NULL THEN
SET a_id_user = '';
ELSE
SET a_id_user = TRIM(a_id_user);
END IF;
IF a_get_all_supplier IS NULL THEN
SET a_get_all_supplier = 1;
END IF;
IF a_get_inactive_supplier IS NULL THEN
SET a_get_inactive_supplier = 0;
END IF;
IF a_get_first_supplier_only IS NULL THEN
SET a_get_first_supplier_only = 0;
END IF;
IF a_ids_supplier IS NULL THEN
SET a_ids_supplier = '';
ELSE
SET a_ids_supplier = TRIM(REPLACE(a_ids_supplier, '|', ','));
END IF;
SET a_get_all_supplier := IFNULL(a_get_all_supplier, 0);
SET a_get_inactive_supplier := IFNULL(a_get_inactive_supplier, 0);
SET a_ids_supplier := TRIM(IFNULL(a_ids_supplier, ''));
-- Temporary tables
DROP TABLE IF EXISTS tmp_Shop_Supplier;
DROP TEMPORARY TABLE IF EXISTS tmp_Supplier;
CREATE TABLE tmp_Shop_Supplier (
id_supplier INT NOT NULL,
CONSTRAINT FK_tmp_Shop_Supplier_id_supplier
FOREIGN KEY (id_supplier)
REFERENCES Shop_Supplier(id_supplier),
active BIT NOT NULL,
rank_supplier INT NULL
CREATE TEMPORARY TABLE tmp_Supplier (
id_supplier INT NOT NULL
);
CREATE TABLE IF NOT EXISTS tmp_Msg_Error (
display_order INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
guid BINARY(36) NOT NULL,
id_type INT NOT NULL,
CONSTRAINT FK_tmp_Msg_Error_id_type
FOREIGN KEY (id_type)
REFERENCES Shop_Msg_Error_Type (id_type),
code VARCHAR(50) NOT NULL,
msg VARCHAR(4000) NOT NULL
);
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split (
substring VARCHAR(4000) NOT NULL
, as_int INT NULL
);
DELETE FROM tmp_Split;
-- Parse filters
SET v_has_filter_supplier = CASE WHEN a_ids_supplier = '' THEN 0 ELSE 1 END;
-- select v_has_filter_product, v_has_filter_permutation;
IF v_has_filter_supplier = 1 OR a_get_all_supplier = 1 THEN
CALL p_split(a_guid, a_ids_supplier, ',');
IF EXISTS (SELECT * FROM Split_Temp S_T LEFT JOIN Shop_Supplier S ON S_T.substring = S.id_supplier WHERE ISNULL(S.id_supplier)) THEN
INSERT INTO tmp_Msg_Error (
guid,
code,
msg
)
VALUES (
v_guid,
v_code_error_data,
CONCAT('Invalid supplier IDs: ', (SELECT GROUP_CONCAT(S.id_supplier) FROM Temp_Split TS LEFT JOIN Shop_Supplier S ON TS.substring = S.id_supplier WHERE ISNULL(S.id_supplier)))
)
;
ELSE
INSERT INTO tmp_Shop_Supplier (
id_supplier,
active,
rank_supplier
)
SELECT
S.id_supplier,
S.active,
RANK() OVER (ORDER BY id_supplier ASC) AS rank_supplier
FROM Shop_Supplier S
LEFT JOIN Split_Temp S_T ON S.id_supplier = S_T.substring
WHERE
(
a_get_all_supplier = 1
OR NOT ISNULL(S_T.substring)
)
AND (
a_get_inactive_supplier
OR S.active = 1
)
;
END IF;
DROP TABLE Split_Temp;
IF a_get_first_supplier_only THEN
DELETE t_S
FROM tmp_Shop_Supplier t_S
WHERE t_S.rank_supplier > 1 /*(
SELECT MIN(t_S.rank_supplier)
FROM tmp_Shop_Supplier t_S
) */
;
END IF;
IF a_debug = 1 THEN
SELECT
v_has_filter_supplier
;
END IF;
-- Permissions
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN
# SET v_id_user := (SELECT id_user FROM Shop_User WHERE name = CURRENT_USER());
SET v_id_permission_supplier := (SELECT id_permission FROM Shop_Permission WHERE code = 'STORE_SUPPLIER' LIMIT 1);
-- SELECT v_guid, a_id_user, false, v_id_permission_product, v_id_access_level_view, v_ids_permutation_permission;
-- select * from Shop_Calc_User_Temp;
CALL p_shop_calc_user(v_guid, a_id_user, FALSE, v_id_permission_supplier, v_id_access_level_view, '');
-- select * from Shop_Calc_User_Temp;
IF NOT EXISTS (SELECT can_view FROM Shop_Calc_User_Temp UE_T WHERE UE_T.GUID = v_guid) THEN
INSERT INTO tmp_Msg_Error (
guid,
code,
msg
)
VALUES (
v_guid,
v_code_error_data,
CONCAT('You do not have view permissions for ', (SELECT name FROM Shop_Permission WHERE id_permission = v_id_permission_supplier LIMIT 1))
)
;
END IF;
-- Suppliers
IF v_has_filter_supplier = 1 THEN
CALL partsltd_prod.p_split(a_guid, a_ids_supplier, ',', a_debug);
INSERT INTO tmp_Split (
substring
, as_int
)
SELECT
substring
, CONVERT(substring, DECIMAL(10,0)) AS as_int
FROM partsltd_prod.Split_Temp
WHERE 1=1
AND GUID = a_guid
AND NOT ISNULL(substring)
AND substring != ''
;
CALL partsltd_prod.p_clear_split_temp( a_guid );
END IF;
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN
IF EXISTS (
SELECT *
FROM tmp_Split t_S
LEFT JOIN partsltd_prod.Shop_Supplier S ON t_S.as_int = S.id_supplier
WHERE
ISNULL(t_S.as_int)
OR ISNULL(S.id_supplier)
OR (
S.active = 0
AND v_get_inactive_supplier = 0
)
) THEN
INSERT INTO tmp_Msg_Error (
id_type,
code,
msg
)
SELECT
v_id_type_error_bad_data,
v_code_type_error_bad_data,
CONCAT('Invalid or inactive Supplier IDs: ', IFNULL(GROUP_CONCAT(t_S.substring SEPARATOR ', '), 'NULL'))
FROM tmp_Split t_S
LEFT JOIN partsltd_prod.Shop_Supplier S ON t_S.as_int = S.id_supplier
WHERE
ISNULL(t_S.as_int)
OR ISNULL(S.id_supplier)
OR (
S.active = 0
AND v_get_inactive_supplier = 0
)
;
ELSE
INSERT INTO tmp_Supplier (
id_supplier
)
SELECT
S.id_supplier
FROM tmp_Split t_S
RIGHT JOIN partsltd_prod.Shop_Supplier S ON t_S.as_int = S.id_supplier
WHERE (
a_get_all_supplier = 1
OR (
v_has_filter_supplier = 1
AND NOT ISNULL(t_S.as_int)
)
)
AND (
a_get_inactive_supplier = 1
OR S.active = 1
)
;
END IF;
END IF;
-- select * from tmp_Shop_Product;
DELETE FROM tmp_Split;
-- Permissions
IF a_debug = 1 THEN
SELECT
v_guid
, a_id_user
, FALSE -- get inactive users
, v_id_permission_supplier
, v_id_access_level_view
, '' -- ids_product
, 0 -- a_debug
;
SELECT * from Shop_Calc_User_Temp;
END IF;
CALL p_shop_calc_user(
v_guid
, a_id_user
, FALSE -- get inactive users
, v_id_permission_supplier
, v_id_access_level_view
, '' -- ids_product
, 0 -- a_debug
);
IF a_debug = 1 THEN
SELECT * from Shop_Calc_User_Temp;
END IF;
IF NOT EXISTS (SELECT can_view FROM Shop_Calc_User_Temp UE_T WHERE UE_T.GUID = v_guid) THEN
DELETE FROM tmp_Msg_Error;
INSERT INTO tmp_Msg_Error (
, id_type
, code
, msg
)
VALUES (
v_id_type_error_no_permission
, v_code_type_error_no_permission
CONCAT('You do not have view permissions for ', (SELECT name FROM Shop_Permission WHERE id_permission = v_id_permission_supplier LIMIT 1))
)
;
END IF;
-- Returns
SET v_now := NOW();
IF EXISTS ( SELECT * FROM tmp_Msg_Error LIMIT 1 ) THEN
DELETE FROM tmp_Supplier;
END IF;
-- Returns
# Suppliers
SELECT
t_S.id_supplier,
S.id_address,
S.id_currency,
S.name_company,
name_contact,
department_contact,
id_address,
phone_number,
fax,
email,
website,
id_currency,
t_S.active
FROM tmp_Shop_Supplier t_S
S.name_contact,
S.department_contact,
S.phone_number,
S.fax,
S.email,
S.website,
S.active
FROM tmp_Supplier t_S
INNER JOIN Shop_Supplier S
ON t_S.id_supplier = S.id_supplier
;
# Errors
SELECT
/*
t_ME.display_order,
t_ME.guid,
t_ME.id_type,
t_ME.msg,
MET.code,
MET.name,
MET.description
*/
*
SELECT *
FROM tmp_Msg_Error t_ME
INNER JOIN Shop_Msg_Error_Type MET
ON t_ME.id_type = MET.id_type
WHERE guid = v_guid
INNER JOIN Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type
;
/*
# Return arguments for test
SELECT
a_ids_category,
a_get_inactive_category,
a_ids_product,
a_get_inactive_product,
a_get_first_product_only,
a_get_all_product,
a_ids_image,
a_get_inactive_image,
a_get_first_image_only,
a_get_all_image
;
*/
# select 'other outputs';
# select * from tmp_Shop_Product;
-- Clean up
DROP TABLE IF EXISTS tmp_Supplier;
IF a_debug = 1 THEN
SELECT * from tmp_Supplier;
END IF;
DROP TEMPORARY TABLE IF EXISTS tmp_Supplier;
DROP TEMPORARY TABLE IF EXISTS tmp_Msg_Error;
IF a_debug = 1 THEN
CALL p_debug_timing_reporting( v_time_start );
END IF;
END //
DELIMITER ;;
/*
CALL p_shop_get_many_supplier (
'auth0|6582b95c895d09a70ba10fef', # a_id_user
1, # a_get_all_supplier
0, # a_get_inactive_supplier
0, # a_get_first_supplier_only
'' # a_ids_supplier
1 -- 'auth0|6582b95c895d09a70ba10fef' # a_id_user
, 1 # a_get_all_supplier
, 0 # a_get_inactive_supplier
, '' # a_ids_supplier
, 0 # a_debug
);
select * from shop_supplier;
select * from shop_product;
select * from TMP_MSG_ERROR;
DROP TABLE TMP_MSG_ERROR;
insert into shop_product_change_set (comment)
values ('set product not subscription - test bool output to python');
update shop_product
set is_subscription = 0,
id_change_set = (select id_change_set from shop_product_change_set order by id_change_set desc limit 1)
where id_product = 1
/*
*/

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,625 +1,368 @@
-- Clear previous proc
DROP PROCEDURE IF EXISTS p_shop_get_many_manufacturing_purchase_order;
DELIMITER //
CREATE PROCEDURE p_shop_get_many_manufacturing_purchase_order (
IN a_id_user INT,
IN a_get_all_manufacturing BIT,
IN a_get_inactive_manufacturing BIT,
IN a_ids_manufacturing TEXT,
IN a_get_all_order BIT,
-- IN a_get_inactive_order BIT,
IN a_get_first_order_only BIT,
IN a_ids_order VARCHAR(4000),
IN a_get_inactive_category BIT,
IN a_ids_category VARCHAR(4000),
IN a_get_inactive_product BIT,
IN a_ids_product VARCHAR(4000),
IN a_get_inactive_permutation BIT,
IN a_ids_permutation VARCHAR(4000),
IN a_date_from TIMESTAMP,
IN a_date_to TIMESTAMP
IN a_get_inactive_order BIT,
IN a_ids_order TEXT,
IN a_ids_permutation TEXT,
IN a_date_from DATETIME,
IN a_date_to DATETIME,
IN a_debug BIT
)
BEGIN
-- Argument redeclaration
-- Variable declaration
DECLARE v_code_type_error_bad_data VARCHAR(50);
DECLARE v_code_type_error_no_permission VARCHAR(50);
DECLARE v_guid BINARY(36);
DECLARE v_has_filter_order BIT;
DECLARE v_has_filter_category BIT;
DECLARE v_has_filter_product BIT;
DECLARE v_has_filter_permutation BIT;
DECLARE v_has_filter_date_from BIT;
DECLARE v_has_filter_date_to BIT;
DECLARE v_guid BINARY(36);
# DECLARE v_id_user VARCHAR(100);
# DECLARE v_ids_permutation_unavailable VARCHAR(4000);
DECLARE v_ids_permission_manufacturing_purchase_order VARCHAR(4000);
DECLARE v_ids_product_permission VARCHAR(4000);
# DECLARE v_ids_permutation_permission VARCHAR(4000);
DECLARE v_id_access_level_view INT;
-- DECLARE v_now TIMESTAMP;
-- DECLARE v_id_minimum INT;
DECLARE v_code_error_data VARCHAR(50);
DECLARE v_id_type_error_data INT;
DECLARE v_ids_permission_manufacturing_purchase_order INT;
DECLARE v_id_type_error_bad_data INT;
DECLARE v_id_type_error_no_permission INT;
DECLARE v_time_start TIMESTAMP(6);
SET v_time_start := CURRENT_TIMESTAMP(6);
SET v_guid := UUID();
SET v_id_access_level_view := (SELECT id_access_level FROM Shop_Access_Level WHERE code = 'VIEW' LIMIT 1);
-- SET v_ids_permission_manufacturing_purchase_order := (SELECT id_permission FROM Shop_Permission WHERE code = 'SHOP_manufacturing_PURCHASE_ORDER' LIMIT 1);
SET v_code_error_data = 'BAD_DATA';
SET v_id_type_error_data := (SELECT id_type FROM Shop_Msg_Error_Type WHERE code = v_code_error_data);
SET v_code_type_error_bad_data := (SELECT code FROM Shop_Msg_Error_Type WHERE code = 'BAD_DATA' LIMIT 1);
SET v_id_type_error_bad_data := (SELECT id_type FROM Shop_Msg_Error_Type WHERE code = v_code_type_error_bad_data LIMIT 1);
SET v_code_type_error_no_permission := (SELECT code FROM Shop_Msg_Error_Type WHERE code = 'NO_PERMISSION');
SET v_id_type_error_no_permission := (SELECT id_type FROM Shop_Msg_Error_Type WHERE code = v_code_type_error_no_permission);
SET v_ids_permission_manufacturing_purchase_order := (SELECT id_permission FROM Shop_Permission WHERE code = 'STORE_SUPPLIER_PURCHASE_ORDER' LIMIT 1);
SET a_get_all_order := IFNULL(a_get_all_order, 1);
SET a_get_inactive_order := IFNULL(a_get_inactive_order, 0);
SET a_ids_order := TRIM(IFNULL(a_ids_order, ''));
SET a_ids_permutation := TRIM(IFNULL(a_ids_permutation, ''));
SET a_date_from := IFNULL(a_date_from, NULL);
SET a_date_to := IFNULL(a_date_to, NULL);
SET a_debug := IFNULL(a_debug, 0);
-- Argument validation + default values
IF a_id_user IS NULL THEN
SET a_id_user = '';
ELSE
SET a_id_user = TRIM(a_id_user);
END IF;
IF a_get_all_order IS NULL THEN
SET a_get_all_order = 1;
END IF;
/*
IF a_get_inactive_order IS NULL THEN
SET a_get_inactive_order = 0;
END IF;
*/
IF a_get_first_order_only IS NULL THEN
SET a_get_first_order_only = 0;
END IF;
IF a_ids_order IS NULL THEN
SET a_ids_order = '';
ELSE
SET a_ids_order = TRIM(REPLACE(a_ids_order, '|', ','));
END IF;
IF a_get_inactive_category IS NULL THEN
SET a_get_inactive_category = 0;
END IF;
IF a_ids_category IS NULL THEN
SET a_ids_category = '';
ELSE
SET a_ids_category = TRIM(REPLACE(a_ids_category, '|', ','));
END IF;
IF a_get_inactive_product IS NULL THEN
SET a_get_inactive_product = 0;
END IF;
IF a_ids_product IS NULL THEN
SET a_ids_product = '';
ELSE
SET a_ids_product = TRIM(REPLACE(a_ids_product, '|', ','));
END IF;
IF a_get_inactive_permutation IS NULL THEN
SET a_get_inactive_permutation = 0;
END IF;
IF a_ids_permutation IS NULL THEN
SET a_ids_permutation = '';
ELSE
SET a_ids_permutation = TRIM(REPLACE(a_ids_permutation, '|', ','));
END IF;
DROP TABLE IF EXISTS tmp_Manufacturing_Purchase_Order_Product_Link;
DROP TABLE IF EXISTS tmp_Manufacturing_Purchase_Order;
DROP TABLE IF EXISTS tmp_Product;
-- Temporary tables
DROP TABLE IF EXISTS tmp_Shop_Manufacturing_Purchase_Order_Product_Link;
DROP TABLE IF EXISTS tmp_Shop_Manufacturing_Purchase_Order;
DROP TABLE IF EXISTS tmp_Shop_Product;
CREATE TABLE tmp_Shop_Manufacturing_Purchase_Order (
id_order INT NOT NULL PRIMARY KEY,
/*
id_supplier_ordered INT NOT NULL,
CONSTRAINT FK_tmp_Shop_Manufacturing_Purchase_Order_id_supplier_ordered
FOREIGN KEY (id_supplier_ordered)
REFERENCES Shop_Supplier(id_supplier),
*/
cost_total_local FLOAT NOT NULL,
id_currency_cost INT NOT NULL,
value_produced_total_local FLOAT NOT NULL,
active BIT NOT NULL,
rank_order INT NOT NULL
CREATE TABLE tmp_Manufacturing_Purchase_Order (
id_order INT NOT NULL PRIMARY KEY
);
/*
CREATE TABLE tmp_Shop_Manufacturing_Purchase_Order_Product_Link (
CREATE TABLE tmp_Manufacturing_Purchase_Order_Product_Link (
id_link INT NOT NULL PRIMARY KEY,
id_order INT NOT NULL,
CONSTRAINT FK_tmp_manufacturing_Purchase_Order_Product_Link_id_order
FOREIGN KEY (id_order)
REFERENCES Shop_manufacturing_Purchase_Order(id_order),
id_permutation INT NOT NULL,
CONSTRAINT FK_tmp_manufacturing_Purchase_Order_Product_Link_id_permutation
FOREIGN KEY (id_permutation)
REFERENCES Shop_Product_Permutation(id_permutation),
cost_total_local FLOAT NOT NULL,
id_currency_cost INT NOT NULL,
quantity_used FLOAT NOT NULL,
id_unit_quantity INT NOT NULL,
CONSTRAINT FK_tmp_manufacturing_Purchase_Order_Product_Link_id_unit_quantity
FOREIGN KEY (id_unit_quantity)
REFERENCES Shop_Unit_Measurement(id_unit_measurement),
quantity_produced FLOAT NULL,
latency_delivery_days INT NOT NULL,
display_order INT NOT NULL
);
*/
CREATE TABLE tmp_Shop_Product (
id_category INT NOT NULL,
CONSTRAINT FK_tmp_Shop_Product_id_category
FOREIGN KEY (id_category)
REFERENCES Shop_Product_Category(id_category),
id_product INT NOT NULL,
CONSTRAINT FK_tmp_Shop_Product_id_product
FOREIGN KEY (id_product)
REFERENCES Shop_Product(id_product),
-- product_has_variations BIT NOT NULL,
id_permutation INT NULL,
CONSTRAINT FK_tmp_Shop_Product_id_permutation
FOREIGN KEY (id_permutation)
REFERENCES Shop_Product_Permutation(id_permutation),
active_category BIT NOT NULL,
active_product BIT NOT NULL,
active_permutation BIT NULL,
display_order_category INT NOT NULL,
display_order_product INT NOT NULL,
display_order_permutation INT NULL,
rank_permutation INT NOT NULL, # _in_category
# name VARCHAR(255) NOT NULL,
# description VARCHAR(4000) NOT NULL,
/*
price_GBP_full FLOAT NOT NULL,
price_GBP_min FLOAT NOT NULL,
*/
/*
latency_manufacture_days INT NOT NULL,
quantity_min FLOAT NOT NULL,
quantity_max FLOAT NOT NULL,
quantity_step FLOAT NOT NULL,
quantity_stock FLOAT NOT NULL,
is_subscription BIT NOT NULL,
id_unit_measurement_interval_recurrence INT,
CONSTRAINT FK_tmp_Shop_Product_id_unit_measurement_interval_recurrence
FOREIGN KEY (id_unit_measurement_interval_recurrence)
REFERENCES Shop_Interval_Recurrence(id_interval),
count_interval_recurrence INT,
id_stripe_product VARCHAR(100),
product_has_variations INT NOT NULL,
*/
can_view BIT,
can_edit BIT,
can_admin BIT
id_permutation INT NOT NULL
);
CREATE TABLE IF NOT EXISTS tmp_Msg_Error (
display_order INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
guid BINARY(36) NOT NULL,
id_type INT NOT NULL,
CONSTRAINT FK_tmp_Msg_Error_id_type
FOREIGN KEY (id_type)
REFERENCES Shop_Msg_Error_Type (id_type),
code VARCHAR(50) NOT NULL,
msg VARCHAR(4000) NOT NULL
);
-- Parse filters
SET v_has_filter_order = CASE WHEN a_ids_order = '' THEN 0 ELSE 1 END;
SET v_has_filter_category = CASE WHEN a_ids_category = '' THEN 0 ELSE 1 END;
SET v_has_filter_product = CASE WHEN a_ids_product = '' THEN 0 ELSE 1 END;
SET v_has_filter_permutation = CASE WHEN a_ids_permutation = '' THEN 0 ELSE 1 END;
SET v_has_filter_date_from = CASE WHEN ISNULL(a_date_from) THEN 0 ELSE 1 END;
SET v_has_filter_date_to = CASE WHEN ISNULL(a_date_to) THEN 0 ELSE 1 END;
-- select v_has_filter_product, v_has_filter_permutation;
IF v_has_filter_category = 1 THEN
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error WHERE guid = v_guid LIMIT 1) THEN
CALL p_split(a_guid, a_ids_category, ',');
IF EXISTS (SELECT * FROM Split_Temp TS LEFT JOIN Shop_Product_Category C ON TS.substring = C.id_category WHERE ISNULL(C.id_category)) THEN
INSERT INTO tmp_Msg_Error (
guid,
id_type,
code,
msg
)
SELECT
v_guid,
v_id_type_error_data,
v_code_error_data,
CONCAT('Invalid category IDs: ', IFNULL(GROUP_CONCAT(TS.substring SEPARATOR ', ') ,'NULL'))
FROM Split_Temp TS
LEFT JOIN Shop_Product_Category C ON TS.substring = C.id_category
WHERE ISNULL(C.id_category)
;
END IF;
DROP TABLE Temp_Split;
END IF;
END IF;
IF v_has_filter_product = 1 THEN
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error WHERE guid = v_guid LIMIT 1) THEN
CALL p_split(a_guid, a_ids_product, ',');
IF EXISTS (SELECT * FROM Split_Temp TS LEFT JOIN Shop_Product ON TS.substring = P.id_product WHERE ISNULL(P.id_product)) THEN
INSERT INTO tmp_Msg_Error (
guid,
id_type,
code,
msg
)
SELECT
v_guid,
v_id_type_error_data,
v_code_error_data,
CONCAT('Invalid product IDs: ', IFNULL(GROUP_CONCAT(TS.substring SEPARATOR ', ') ,'NULL'))
FROM Split_Temp TS
LEFT JOIN Shop_Product ON TS.substring = P.id_product
WHERE ISNULL(P.id_product)
;
END IF;
DROP TABLE Temp_Split;
END IF;
IF a_debug = 1 THEN
SELECT
v_has_filter_order
, v_has_filter_permutation
, v_has_filter_date_from
, v_has_filter_date_to
;
END IF;
-- Permutations
IF v_has_filter_permutation = 1 THEN
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error WHERE guid = v_guid LIMIT 1) THEN
CALL p_split(a_guid, a_ids_permutation, ',');
IF EXISTS (SELECT * FROM Split_Temp TS LEFT JOIN Shop_Product_Permutation PP ON TS.substring = PP.id_permutation WHERE ISNULL(PP.id_permutation)) THEN
INSERT INTO tmp_Msg_Error (
guid,
id_type,
code,
msg
)
SELECT
v_guid,
v_id_type_error_data,
v_code_error_data,
CONCAT('Invalid permutation IDs: ', IFNULL(GROUP_CONCAT(TS.substring SEPARATOR ', ') ,'NULL'))
FROM Split_Temp TS
LEFT JOIN Shop_Product_Permutation PP ON TS.substring = PP.id_permutation
WHERE ISNULL(PP.id_permutation)
;
END IF;
DROP TABLE Temp_Split;
END IF;
CALL partsltd_prod.p_split(a_guid, a_ids_permutation, ',', a_debug);
INSERT INTO tmp_Split (
substring
, as_int
)
SELECT
substring
, CONVERT(substring, DECIMAL(10,0)) AS as_int
FROM partsltd_prod.Split_Temp
WHERE 1=1
AND GUID = a_guid
AND NOT ISNULL(substring)
AND substring != ''
;
CALL partsltd_prod.p_clear_split_temp( a_guid );
END IF;
IF v_has_filter_category = 1 OR v_has_filter_product = 1 OR v_has_filter_permutation = 1 THEN
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error WHERE guid = v_guid LIMIT 1) THEN
INSERT INTO tmp_Shop_Product (
id_category,
id_product,
id_permutation,
active_category,
active_product,
active_permutation,
display_order_category,
display_order_product,
display_order_permutation
-- rank_permutation,
/*
name,
description,
/*
price_GBP_VAT_incl,
price_GBP_VAT_excl,
price_GBP_min,
*
latency_manufacture_days,
quantity_min,
quantity_max,
quantity_step,
quantity_stock,
is_subscription,
id_unit_measurement_interval_recurrence,
count_interval_recurrence,
id_stripe_product,
product_has_variations
*/
)
SELECT
P.id_category,
P.id_product,
-- P.has_variations AS product_has_variations,
PP.id_permutation,
C.active AS active_category,
P.active AS active_product,
PP.active AS active_permutation,
C.display_order AS display_order_category,
P.display_order AS display_order_product,
PP.display_order AS display_order_permutation
-- RANK() OVER (ORDER BY C.display_order, P.display_order, PP.display_order) AS rank_permutation, #PARTITION BY P.id_category # _in_category
/*
P.name,
PP.description,
/*
PP.price_GBP_VAT_incl,
PP.price_GBP_VAT_excl,
PP.price_GBP_min,
*
PP.latency_manufacture_days,
PP.quantity_min,
PP.quantity_max,
PP.quantity_step,
PP.quantity_stock,
PP.is_subscription,
PP.id_unit_measurement_interval_recurrence,
PP.count_interval_recurrence,
PP.id_stripe_product,
P.has_variations
*/
FROM Shop_Product P
INNER JOIN Shop_Product_Permutation PP
ON P.id_product = PP.id_product
INNER JOIN Shop_Product_Category C
ON P.id_category = C.id_category
WHERE
# permutations
(
(
NOT v_has_filter_permutation
OR FIND_IN_SET(PP.id_permutation, a_ids_permutation) > 0
)
AND (
a_get_inactive_permutation
OR PP.active = 1
)
)
# categories
AND (
(
NOT v_has_filter_category
OR FIND_IN_SET(P.id_category, a_ids_category) > 0
)
AND (
a_get_inactive_category
OR C.active = 1
)
)
# products
AND (
(
NOT v_has_filter_product
OR FIND_IN_SET(P.id_product, a_ids_product) > 0
)
AND (
a_get_inactive_product
OR P.active = 1
)
)
;
END IF;
END IF;
-- Get orders
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error WHERE guid = v_guid LIMIT 1) THEN
CALL p_split(a_guid, a_ids_order, ',');
IF v_has_filter_order AND EXISTS (SELECT * FROM Split_Temp TS LEFT JOIN Shop_Manufacturing_Purchase_Order MPO ON TS.substring = MPO.id_order WHERE ISNULL(MPO.id_order)) THEN
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN
IF EXISTS (
SELECT *
FROM tmp_Split t_S
LEFT JOIN partsltd_prod.Shop_Product_Permutation PP ON t_S.as_int = PP.id_permutation
WHERE
ISNULL(t_S.as_int)
OR ISNULL(PP.id_permutation)
OR PP.active = 0
) THEN
INSERT INTO tmp_Msg_Error (
guid,
id_type,
id_type,
code,
msg
)
SELECT
v_guid,
v_id_type_error_data,
v_code_error_data,
CONCAT('Invalid order IDs: ', IFNULL(GROUP_CONCAT(TS.substring SEPARATOR ', '), 'NULL'))
FROM Split_Temp TS
LEFT JOIN Shop_Manufacturing_Purchase_Order MPO ON TS.substring = MPO.id_order
WHERE ISNULL(MPO.id_order)
v_id_type_error_bad_data,
v_code_type_error_bad_data,
CONCAT('Invalid or inactive permutation IDs: ', IFNULL(GROUP_CONCAT(t_S.substring SEPARATOR ', '), 'NULL'))
FROM tmp_Split t_S
LEFT JOIN partsltd_prod.Shop_Product_Permutation PP ON t_S.as_int = PP.id_permutation
WHERE
ISNULL(t_S.as_int)
OR ISNULL(PP.id_permutation)
OR PP.active = 0
;
END IF;
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error WHERE guid = v_guid LIMIT 1) THEN
INSERT INTO tmp_Shop_Manufacturing_Purchase_Order ( -- _Product_Link
id_order,
-- active,
rank_order
ELSE
INSERT INTO tmp_Permutation (
id_permutation
)
SELECT
MPO.id_order,
-- MPO.active,
RANK() OVER (ORDER BY MPO.id_order ASC) AS rank_order
FROM Shop_Manufacturing_Purchase_Order MPO
INNER JOIN Split_Temp TS ON MPO.id_order = TS.substring
INNER JOIN Shop_manufacturing_Purchase_Order_Product_Link MPOPL ON MPO.id_order = MPOPL.id_order
INNER JOIN Shop_Product_Permutation PP ON MPOPL.id_permutation = PP.id_permutation
INNER JOIN Shop_Product P ON PP.id_product = P.id_product
INNER JOIN Shop_Product_Category C ON P.id_category = C.id_category
LEFT JOIN tmp_Shop_Product t_P ON MPOPL.id_permutation = t_P.id_permutation
WHERE
# order
(
(
v_has_filter_order = 0
OR (
# ID
FIND_IN_SET(MPO.id_order, a_ids_order) > 0
# date
AND (
(
v_has_filter_date_from = 0
OR MPO.created_on > a_date_from
)
AND (
v_has_filter_date_to = 0
OR MPO.created_on < a_date_to
)
)
)
)
# active
/*
AND (
a_get_inactive_order
OR MPO.active = 1
)
*/
)
# permutations
AND (
(
v_has_filter_category = 0
AND v_has_filter_product = 0
AND v_has_filter_permutation = 0
)
OR NOT ISNULL(t_P.id_permutation) -- MPO.id_permutation IN (SELECT DISTINCT id_permutation FROM tmp_Shop_Product)
PP.id_permutation
FROM tmp_Split t_S
RIGHT JOIN partsltd_prod.Shop_Product_Permutation PP ON t_S.as_int = PP.id_permutation
WHERE (
v_has_filter_permutation = 0
OR NOT ISNULL(t_S.as_int)
)
;
END IF;
DROP TABLE Split_Temp;
END IF;
DELETE FROM tmp_Split;
-- Manufacturing Purchase Orders
IF v_has_filter_order = 1 THEN
CALL partsltd_prod.p_split(a_guid, a_ids_order, ',', a_debug);
IF a_get_first_order_only THEN
DELETE t_MPO
FROM tmp_Shop_Manufacturing_Purchase_Order t_MPO
WHERE t_MPO.rank_order > (
SELECT MIN(t_MPO.rank_order)
FROM tmp_Shop_Manufacturing_Purchase_Order t_MPO
INSERT INTO tmp_Split (
substring
, as_int
)
SELECT
substring
, CONVERT(substring, DECIMAL(10,0)) AS as_int
FROM partsltd_prod.Split_Temp
WHERE 1=1
AND GUID = a_guid
AND NOT ISNULL(substring)
AND substring != ''
;
CALL partsltd_prod.p_clear_split_temp( a_guid );
END IF;
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN
IF EXISTS (
SELECT *
FROM tmp_Split t_S
LEFT JOIN partsltd_prod.Shop_Manufacturing_Purchase_Order SPO ON t_S.as_int = SPO.id_order
WHERE
ISNULL(t_S.as_int)
OR ISNULL(SPO.id_order)
OR (
SPO.active = 0
AND v_get_inactive_order = 0
)
) THEN
INSERT INTO tmp_Msg_Error (
id_type,
code,
msg
)
SELECT
v_id_type_error_bad_data,
v_code_type_error_bad_data,
CONCAT('Invalid or inactive Manufacturing Purchase Order IDs: ', IFNULL(GROUP_CONCAT(t_S.substring SEPARATOR ', '), 'NULL'))
FROM tmp_Split t_S
LEFT JOIN partsltd_prod.Shop_Manufacturing_Purchase_Order SPO ON t_S.as_int = SPO.id_order
WHERE
ISNULL(t_S.as_int)
OR ISNULL(SPO.id_order)
OR (
SPO.active = 0
AND v_get_inactive_order = 0
)
;
ELSE
INSERT INTO tmp_Manufacturing_Purchase_Order (
id_order
)
SELECT
SPO.id_order
FROM tmp_Split t_S
RIGHT JOIN partsltd_prod.Shop_Manufacturing_Purchase_Order SPO ON t_S.as_int = SPO.id_order
INNER JOIN partsltd_prod.Shop_Manufacturing_Purchase_Order_Product_Link SPOPL ON SPO.id_order = SPOPL.id_order
INNER JOIN tmp_Permutation t_PP ON SPOPL.id_permutation = t_PP.id_permutation
WHERE (
a_get_all_order = 1
OR (
v_has_filter_order = 1
AND NOT ISNULL(t_S.as_int)
)
OR (
v_has_filter_permutation = 1
AND NOT ISNULL(t_PP.id_permutation)
)
)
AND (
a_get_inactive_order = 1
OR SPO.active = 1
)
AND (
v_has_filter_date_from = 0
OR SPO.created_on > a_date_from
)
AND (
v_has_filter_date_to = 0
OR SPO.created_on < a_date_to
)
;
END IF;
END IF;
END IF;
DELETE FROM tmp_Split;
-- Permissions
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error WHERE guid = v_guid LIMIT 1) THEN
# SET v_id_user := (SELECT id_user FROM Shop_User WHERE name = CURRENT_USER());
SET v_ids_permission_manufacturing_purchase_order := (SELECT GROUP_CONCAT(id_permission SEPARATOR ',') FROM Shop_Permission WHERE code IN ('STORE_manufacturing', 'STORE_manufacturing_PURCHASE_ORDER'));
-- SET v_ids_permutation_permission := (SELECT GROUP_CONCAT(id_permutation SEPARATOR ',') FROM tmp_Shop_Product WHERE NOT ISNULL(id_permutation));
SET v_ids_product_permission := (SELECT GROUP_CONCAT(P.id_product SEPARATOR ',') FROM (SELECT DISTINCT id_product FROM tmp_Shop_Product WHERE NOT ISNULL(id_product)) P);
-- SELECT v_guid, a_id_user, false, v_id_permission_product, v_id_access_level_view, v_ids_permutation_permission;
-- select * from Shop_Calc_User_Temp;
CALL p_shop_calc_user(v_guid, a_id_user, FALSE, v_ids_permission_manufacturing_purchase_order, v_id_access_level_view, v_ids_product_permission);
-- select * from Shop_Calc_User_Temp;
IF NOT EXISTS (SELECT can_view FROM Shop_Calc_User_Temp UE_T WHERE UE_T.GUID = v_guid) THEN
INSERT INTO tmp_Msg_Error (
guid,
id_type,
code,
msg
)
SELECT
v_guid,
v_id_type_error_data,
v_code_error_data,
CONCAT('You do not have view permissions for ', GROUP_CONCAT(name SEPARATOR ', '))
FROM Shop_Permission
WHERE id_permission = v_ids_permission_manufacturing_purchase_order
;
END IF;
UPDATE tmp_Shop_Product t_P
INNER JOIN Shop_Calc_User_Temp UE_T
ON t_P.id_product = UE_T.id_product -- t_P.id_permutation = UE_T.id_permutation
AND UE_T.GUID = v_guid
SET t_P.can_view = UE_T.can_view,
t_P.can_edit = UE_T.can_edit,
t_P.can_admin = UE_T.can_admin
IF a_debug = 1 THEN
SELECT
v_guid
, a_id_user
, FALSE -- get inactive users
, v_id_permission_manufacturing_purchase_order
, v_id_access_level_view
, '' -- ids_product
, 0 -- a_debug
;
SELECT * from Shop_Calc_User_Temp;
END IF;
CALL p_shop_calc_user(
v_guid
, a_id_user
, FALSE -- get inactive users
, v_id_permission_manufacturing_purchase_order
, v_id_access_level_view
, '' -- ids_product
, 0 -- a_debug
);
IF a_debug = 1 THEN
SELECT * from Shop_Calc_User_Temp;
END IF;
IF NOT EXISTS (SELECT can_view FROM Shop_Calc_User_Temp UE_T WHERE UE_T.GUID = v_guid) THEN
DELETE FROM tmp_Msg_Error;
INSERT INTO tmp_Msg_Error (
, id_type
, code
, msg
)
VALUES (
v_id_type_error_no_permission
, v_code_type_error_no_permission
CONCAT('You do not have view permissions for ', (SELECT name FROM Shop_Permission WHERE id_permission = v_id_permission_manufacturing LIMIT 1))
)
;
# CALL p_shop_clear_calc_user(v_guid);
# DROP TABLE IF EXISTS Shop_Calc_User_Temp;
DELETE FROM Shop_Calc_User_Temp
WHERE GUID = v_guid
;
END IF;
-- select * from tmp_Shop_Product;
IF EXISTS ( SELECT * FROM tmp_Msg_Error LIMIT 1 ) THEN
DELETE FROM tmp_Manufacturing_Purchase_Order_Product_Link;
DELETE FROM tmp_Manufacturing_Purchase_Order;
END IF;
-- Returns
-- SET v_now := NOW();
# manufacturing Purchase Order
SELECT # *
t_MPO.id_order,
MPO.cost_total_local,
MPO.id_currency_cost,
MPO.value_produced_total_local,
t_MPO.active
FROM Shop_Manufacturing_Purchase_Order MPO
INNER JOIN tmp_Shop_Manufacturing_Purchase_Order t_MPO ON MPO.id_order = t_MPO.id_order
/*
# Manufacturings
SELECT
t_S.id_manufacturing,
S.name_company,
S.name_contact,
S.department_contact,
S.id_address,
S.phone_number,
S.fax,
S.email,
S.website,
S.id_currency,
t_S.active
FROM tmp_Manufacturing t_S
INNER JOIN Shop_Manufacturing S
ON t_S.id_manufacturing = S.id_manufacturing
;
*/
# Manufacturing Purchase Order
SELECT
t_SPO.id_order
, SPO.id_manufacturing_ordered
, SPO.id_currency_cost
, SPO.cost_total_local_VAT_excl
, SPO.cost_total_local_VAT_incl
, SPO.active
FROM tmp_Manufacturing_Purchase_Order t_SPO
INNER JOIN partsltd_prod.Shop_Manufacturing_Purchase_Order SPO ON SPO.id_order = t_SPO.id_order
;
# manufacturing Purchase Order Product Link
# Manufacturing Purchase Order Product Link
SELECT
MPOPL.id_link,
MPOPL.id_order,
MPOPL.id_permutation,
P.name as name_product,
MPOPL.cost_total_local,
MPOPL.id_currency_cost,
MPOPL.value_produced_total_local,
MPOPL.quantity_used,
MPOPL.id_unit_quantity,
MPOPL.quantity_produced,
MPOPL.latency_manufacture_days,
MPOPL.display_order
FROM Shop_manufacturing_Purchase_Order_Product_Link MPOPL
-- INNER JOIN tmp_Shop_Manufacturing_Purchase_Order_Product_Link t_MPOPL ON MPOPL.id_link = t_MPOPL.id_link
INNER JOIN tmp_Shop_Manufacturing_Purchase_Order t_MPO ON MPOPL.id_order = t_MPO.id_order
INNER JOIN Shop_Product_Permutation PP ON MPOPL.id_permutation = PP.id_permutation
INNER JOIN Shop_Product P ON PP.id_product = P.id_product
INNER JOIN Shop_Product_Category C ON P.id_category = C.id_category
ORDER BY MPOPL.id_order, C.display_order, P.display_order, PP.display_order
SPOPL.id_link
, SPOPL.id_order
, SPOPL.id_permutation
, fn_shop_get_product_permutation_name(SPOPL.id_permutation) AS name_permutation
, SPOPL.id_currency_cost
, SPOPL.id_unit_quantity
, SPOPL.quantity_ordered
, SPOPL.quantity_received
, SPOPL.latency_delivery_days
, SPOPL.display_order
, SPO.cost_total_local_VAT_excl
, SPO.cost_total_local_VAT_incl
, SPO.cost_unit_local_VAT_excl
, SPO.cost_unit_local_VAT_incl
FROM tmp_Manufacturing_Purchase_Order_Product_Link t_SPOPL
INNER JOIN partsltd_prod.Shop_Manufacturing_Purchase_Order_Product_Link SPOPL ON t_SPOPL.id_link = SPOPL.id_link
INNER JOIN tmp_Manufacturing_Purchase_Order t_SPO ON SPOPL.id_order = t_SPO.id_order
;
# Errors
SELECT
/*
t_ME.display_order,
t_ME.guid,
t_ME.id_type,
t_ME.msg,
MET.code,
MET.name,
MET.description
*/
*
SELECT *
FROM tmp_Msg_Error t_ME
INNER JOIN Shop_Msg_Error_Type MET
ON t_ME.id_type = MET.id_type
WHERE guid = v_guid
INNER JOIN Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type
;
/*
# Return arguments for test
SELECT
a_ids_category,
a_get_inactive_category,
a_ids_product,
a_get_inactive_product,
a_get_first_product_only,
a_get_all_product,
a_ids_image,
a_get_inactive_image,
a_get_first_image_only,
a_get_all_image
;
*/
# select 'other outputs';
# select * from tmp_Shop_Product;
-- Clean up
DROP TABLE IF EXISTS tmp_Shop_Manufacturing_Purchase_Order_Product_Link;
DROP TABLE IF EXISTS tmp_Shop_Manufacturing_Purchase_Order;
DROP TABLE IF EXISTS tmp_Shop_Product;
DELETE FROM Shop_Calc_User_Temp
WHERE GUID = v_guid
;
IF a_debug = 1 THEN
SELECT * from tmp_Manufacturing_Purchase_Order_Product_Link;
SELECT * from tmp_Manufacturing_Purchase_Order;
SELECT * from tmp_Manufacturing;
END IF;
DROP TEMPORARY TABLE IF EXISTS tmp_Manufacturing_Purchase_Order_Product_Link;
DROP TEMPORARY TABLE IF EXISTS tmp_Manufacturing_Purchase_Order;
DROP TEMPORARY TABLE IF EXISTS tmp_Manufacturing;
DROP TEMPORARY TABLE IF EXISTS tmp_Msg_Error;
IF a_debug = 1 THEN
CALL p_debug_timing_reporting( v_time_start );
END IF;
END //
DELIMITER ;;
@@ -628,31 +371,16 @@ DELIMITER ;;
CALL p_shop_get_many_manufacturing_purchase_order (
'', # a_id_user
1, # a_get_all_manufacturing
0, # a_get_inactive_manufacturing
'', # a_ids_manufacturing
1, # a_get_all_order
-- 0, # a_get_inactive_order
0, # a_get_first_order_only
'', # a_ids_order
0, # a_get_inactive_category
'', # a_ids_category
0, # a_get_inactive_product
'', # a_ids_product
0, # a_get_inactive_permutation
'', # a_ids_permutation
NULL, # a_date_from
NULL # a_date_to
, 0 # a_debug
);
select * from shop_image;
select * from shop_product;
select * from TMP_MSG_ERROR;
DROP TABLE TMP_MSG_ERROR;
insert into shop_product_change_set (comment)
values ('set product not subscription - test bool output to python');
update shop_product
set is_subscription = 0,
id_change_set = (select id_change_set from shop_product_change_set order by id_change_set desc limit 1)
where id_product = 1
*/

View File

@@ -39,7 +39,7 @@ BEGIN
# DECLARE v_ids_product_permission VARCHAR(4000);
# DECLARE v_ids_permutation_permission VARCHAR(4000);
DECLARE v_id_access_level_view INT;
DECLARE v_now TIMESTAMP;
DECLARE v_now DATETIME;
DECLARE v_id_minimum INT;
SET v_code_error_type_bad_data = 'BAD_DATA';

View File

@@ -23,8 +23,8 @@ CREATE PROCEDURE p_shop_get_many_customer_sales_order (
IN a_ids_product VARCHAR(4000),
IN a_get_inactive_permutation BIT,
IN a_ids_permutation VARCHAR(4000),
IN a_date_from TIMESTAMP,
IN a_date_to TIMESTAMP
IN a_date_from DATETIME,
IN a_date_to DATETIME
)
BEGIN
-- Argument redeclaration
@@ -43,7 +43,7 @@ BEGIN
DECLARE v_ids_product_permission VARCHAR(4000);
# DECLARE v_ids_permutation_permission VARCHAR(4000);
DECLARE v_id_access_level_view INT;
-- DECLARE v_now TIMESTAMP;
-- DECLARE v_now DATETIME;
-- DECLARE v_id_minimum INT;
DECLARE v_code_error_data VARCHAR(50);
DECLARE v_id_type_error_data INT;

View File

@@ -37,6 +37,7 @@ VALUES
, ('NO_PERMISSION', 'No permission', 'Not authorised')
, ('PRODUCT_AVAILABILITY', 'Product not available', 'Product not available')
, ('MYSQL_ERROR', 'MySQL error', 'MySQL execution error.')
, ('WARNING', 'Warning', 'Non-breaking error.')
;
# File Types

View File

@@ -38,7 +38,7 @@ DROP TABLE IF EXISTS Shop_User_Change_Set;
CREATE TABLE Shop_User_Change_Set (
id_change_set INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
comment VARCHAR(500),
updated_last_on TIMESTAMP,
updated_last_on DATETIME,
updated_last_by VARCHAR(100)
);
@@ -68,7 +68,7 @@ CREATE TABLE Shop_Access_Level (
priority INT NOT NULL,
active BIT NOT NULL DEFAULT 1,
display_order INT NOT NULL,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Access_Level_id_change_set
@@ -158,7 +158,7 @@ CREATE TABLE Shop_Permission_Group (
name VARCHAR(255),
active BIT NOT NULL DEFAULT 1,
display_order INT NOT NULL,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Permission_Group_id_change_set
@@ -253,7 +253,7 @@ CREATE TABLE Shop_Permission (
REFERENCES Shop_Access_Level(id_access_level),
active BIT NOT NULL DEFAULT 1,
display_order INT NOT NULL,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Permission_id_change_set
@@ -348,7 +348,7 @@ CREATE TABLE Shop_Role (
name VARCHAR(255),
active BIT NOT NULL DEFAULT 1,
display_order INT NOT NULL,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Role_id_change_set
@@ -448,7 +448,7 @@ CREATE TABLE Shop_Role_Permission_Link (
REFERENCES Shop_Access_Level(id_access_level)
ON UPDATE RESTRICT,
active BIT NOT NULL DEFAULT 1,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Role_Permission_Link_id_change_set
@@ -541,7 +541,7 @@ CREATE TABLE Shop_User (
name VARCHAR(255),
is_super_user BIT NOT NULL DEFAULT 0,
active BIT NOT NULL DEFAULT 1,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_User_id_change_set
@@ -635,7 +635,7 @@ CREATE TABLE Shop_User_Role_Link (
REFERENCES Shop_Role(id_role)
ON UPDATE RESTRICT,
active BIT NOT NULL DEFAULT 1,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_User_Role_Link_id_change_set
@@ -722,7 +722,7 @@ CREATE TABLE Shop_Address (
city VARCHAR(50) NOT NULL,
county VARCHAR(100) NOT NULL,
active BIT NOT NULL DEFAULT 1,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Address_id_change_set

View File

@@ -56,7 +56,7 @@ DROP TABLE IF EXISTS Shop_Product_Change_Set;
CREATE TABLE Shop_Product_Change_Set (
id_change_set INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
comment VARCHAR(500),
updated_last_on TIMESTAMP,
updated_last_on DATETIME,
updated_last_by VARCHAR(100)
);
@@ -84,9 +84,9 @@ CREATE TABLE File_Type (
code VARCHAR(50),
name VARCHAR(100),
extension VARCHAR(50),
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
updated_last_on TIMESTAMP,
updated_last_on DATETIME,
updated_last_by VARCHAR(100)
);
@@ -110,9 +110,9 @@ CREATE TABLE File_Type_Audit (
name_field VARCHAR(50),
value_prev VARCHAR(500),
value_new VARCHAR(500),
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
updated_last_on TIMESTAMP,
updated_last_on DATETIME,
updated_last_by VARCHAR(100)
);
@@ -181,7 +181,7 @@ SELECT * FROM File_Type_Audit;
CREATE TABLE Shop_General (
id_general INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
quantity_max FLOAT,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_General_id_change_set
@@ -254,7 +254,7 @@ CREATE TABLE Shop_Product_Category (
description VARCHAR(4000),
active BIT NOT NULL DEFAULT 1,
display_order INT NOT NULL,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Product_Category_id_change_set
@@ -347,7 +347,7 @@ CREATE TABLE Shop_Interval_Recurrence (
code VARCHAR(50),
name VARCHAR(255),
name_plural VARCHAR(256),
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Interval_Recurrence_id_change_set
@@ -448,7 +448,7 @@ CREATE TABLE Shop_Product (
id_stripe_price VARCHAR(100),
active BIT NOT NULL DEFAULT 1,
display_order INT NOT NULL,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Product_id_change_set
@@ -597,7 +597,7 @@ CREATE TABLE Shop_Variation_Type (
name_plural VARCHAR(256),
active BIT NOT NULL DEFAULT 1,
display_order INT NOT NULL,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Variation_Type_id_change_set
@@ -690,7 +690,7 @@ CREATE TABLE Shop_Variation (
name VARCHAR(255),
active BIT NOT NULL DEFAULT 1,
display_order INT NOT NULL,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Variation_id_change_set
@@ -782,7 +782,7 @@ CREATE TABLE Shop_Product_Variation_Link (
ON UPDATE RESTRICT,
active BIT NOT NULL DEFAULT 1,
display_order INT NOT NULL,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Product_Variation_Link_id_change_set
@@ -872,7 +872,7 @@ CREATE TABLE Shop_Image_Type (
name_plural VARCHAR(256),
active BIT NOT NULL DEFAULT 1,
display_order INT NOT NULL,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Image_Type_id_change_set
@@ -969,7 +969,7 @@ CREATE TABLE Shop_Image (
url VARCHAR(255),
active BIT NOT NULL DEFAULT 1,
display_order INT NOT NULL,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Image_id_change_set
@@ -1063,7 +1063,7 @@ CREATE TABLE Shop_Product_Image_Link (
REFERENCES Shop_Image(id_image)
ON UPDATE RESTRICT,
active BIT NOT NULL DEFAULT 1,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Product_Image_Link_id_change_set
@@ -1154,7 +1154,7 @@ CREATE TABLE Shop_Delivery_Option_Type (
quantity_max INT NOT NULL,
active BIT NOT NULL DEFAULT 1,
display_order INT NOT NULL,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Delivery_Option_Type_id_change_set
@@ -1263,7 +1263,7 @@ CREATE TABLE Shop_Delivery_Option (
ON UPDATE RESTRICT,
price_GBP FLOAT NOT NULL,
active BIT NOT NULL DEFAULT 1,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Delivery_Option_id_change_set
@@ -1352,7 +1352,7 @@ CREATE TABLE Shop_Delivery_Region (
name VARCHAR(200) NOT NULL,
active BIT NOT NULL DEFAULT 1,
display_order INT NOT NULL,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Delivery_Region_id_change_set
@@ -1443,7 +1443,7 @@ CREATE TABLE Shop_Product_Delivery_Region_Link (
REFERENCES Shop_Delivery_Region(id_region)
ON UPDATE RESTRICT,
active BIT NOT NULL DEFAULT 1,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Product_Delivery_Region_Link_id_change_set

View File

@@ -11,7 +11,7 @@ CREATE TABLE IF NOT EXISTS Shop_Interval_Recurrence (
name VARCHAR(255),
name_plural VARCHAR(256),
active BIT NOT NULL DEFAULT 1,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Interval_Recurrence_id_change_set

View File

@@ -19,7 +19,7 @@ CREATE TABLE IF NOT EXISTS Shop_Product_Variation_Type_Link (
ON UPDATE RESTRICT,
active BIT NOT NULL DEFAULT 1,
display_order INT NOT NULL,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Product_Variation_Type_Link_id_change_set

View File

@@ -26,7 +26,7 @@ CREATE TABLE IF NOT EXISTS Shop_Product_Variation_Link (
*/
active BIT NOT NULL DEFAULT 1,
display_order INT NOT NULL,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Product_Variation_Link_id_change_set

View File

@@ -23,7 +23,7 @@ CREATE TABLE IF NOT EXISTS Shop_Product_Delivery_Region_Link (
REFERENCES Shop_Delivery_Region(id_region)
ON UPDATE RESTRICT,
active BIT NOT NULL DEFAULT 1,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Product_Delivery_Region_Link_id_change_set

View File

@@ -10,7 +10,7 @@ CREATE TABLE IF NOT EXISTS ERP_Order (
code VARCHAR(50),
name VARCHAR(100),
extension VARCHAR(50),
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_customer INT NOT NULL,
CONSTRAINT FK_ERP_Order_id_customer

View File

@@ -24,7 +24,7 @@ CREATE TABLE IF NOT EXISTS Shop_User_Order (
REFERENCES Shop_Currency(id_currency)
ON UPDATE RESTRICT,
active BIT NOT NULL DEFAULT 1,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set_user INT,
CONSTRAINT FK_Shop_User_Order_id_change_set_user

View File

@@ -24,7 +24,7 @@ CREATE TABLE IF NOT EXISTS Shop_User_Order_Product_Link (
ON UPDATE RESTRICT,
quantity FLOAT NOT NULL,
active BIT NOT NULL DEFAULT 1,
created_on TIMESTAMP,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_User_Order_Product_Link_id_change_set

View File

@@ -42,7 +42,7 @@ BEGIN
DECLARE v_priority_admin INT;
/*
DECLARE v_ids_product_permission VARCHAR(500);
DECLARE v_now TIMESTAMP;
DECLARE v_now DATETIME;
*/
-- Parse arguments + get default values

View File

@@ -40,7 +40,7 @@ BEGIN
DECLARE v_ids_product_permission VARCHAR(500);
DECLARE v_id_access_level_view INT;
DECLARE v_has_filter_image BIT;
DECLARE v_now TIMESTAMP;
DECLARE v_now DATETIME;
DECLARE v_id_minimum INT;
DECLARE v_code_error_data VARCHAR(50);

View File

@@ -4961,7 +4961,7 @@ BEGIN
-- Argument redeclaration
-- Variable declaration
DECLARE v_has_filter_user BIT;
-- DECLARE v_now TIMESTAMP;
-- DECLARE v_now DATETIME;
-- Argument validation + default values
@@ -5137,7 +5137,7 @@ BEGIN
# DECLARE v_id_user VARCHAR(100);
DECLARE v_id_permission_product INT;
DECLARE v_ids_permutation_permission VARCHAR(4000);
DECLARE v_now TIMESTAMP;
DECLARE v_now DATETIME;
# DECLARE v_quantity_new INT;
DECLARE v_change_set_used BIT;
DECLARE v_id_change_set INT;
@@ -5956,7 +5956,7 @@ BEGIN
DECLARE v_ids_product_permission VARCHAR(4000);
DECLARE v_ids_permutation_permission VARCHAR(4000);
DECLARE v_id_access_level_view INT;
DECLARE v_now TIMESTAMP;
DECLARE v_now DATETIME;
DECLARE v_id_minimum INT;
SET v_guid := UUID();
@@ -7807,7 +7807,7 @@ BEGIN
DECLARE v_priority_access_level_admin INT;
DECLARE v_id_access_level INT;
DECLARE v_priority_access_level INT;
DECLARE v_now TIMESTAMP;
DECLARE v_now DATETIME;
DECLARE v_ids_row_delete VARCHAR(500);
DECLARE v_code_error_data VARCHAR(200);
DECLARE v_id_error_data INT;

View File

@@ -4961,7 +4961,7 @@ BEGIN
-- Argument redeclaration
-- Variable declaration
DECLARE v_has_filter_user BIT;
-- DECLARE v_now TIMESTAMP;
-- DECLARE v_now DATETIME;
-- Argument validation + default values
@@ -5137,7 +5137,7 @@ BEGIN
# DECLARE v_id_user VARCHAR(100);
DECLARE v_id_permission_product INT;
DECLARE v_ids_permutation_permission VARCHAR(4000);
DECLARE v_now TIMESTAMP;
DECLARE v_now DATETIME;
# DECLARE v_quantity_new INT;
DECLARE v_change_set_used BIT;
DECLARE v_id_change_set INT;
@@ -5956,7 +5956,7 @@ BEGIN
DECLARE v_ids_product_permission VARCHAR(4000);
DECLARE v_ids_permutation_permission VARCHAR(4000);
DECLARE v_id_access_level_view INT;
DECLARE v_now TIMESTAMP;
DECLARE v_now DATETIME;
DECLARE v_id_minimum INT;
SET v_guid := UUID();
@@ -7807,7 +7807,7 @@ BEGIN
DECLARE v_priority_access_level_admin INT;
DECLARE v_id_access_level INT;
DECLARE v_priority_access_level INT;
DECLARE v_now TIMESTAMP;
DECLARE v_now DATETIME;
DECLARE v_ids_row_delete VARCHAR(500);
DECLARE v_code_error_data VARCHAR(200);
DECLARE v_id_error_data INT;

File diff suppressed because one or more lines are too long

View File

@@ -69,7 +69,7 @@ export default class API {
*/
static async loginUser() {
let callback = {};
callback[keyCallback] = DOM.getHashPageCurrent();
callback[flagCallback] = DOM.getHashPageCurrent();
return await API.request(hashPageUserLogin, 'POST', callback);
}
@@ -81,7 +81,7 @@ export default class API {
static async getCategoriesByFilters(filtersJson) {
/*
let dataRequest = {};
dataRequest[keyForm] = filtersJson;
dataRequest[flagForm] = filtersJson;
return await API.request(hashGetStoreProductCategory, 'POST', dataRequest);
*/
// return await API.request(hashPageStoreProductCategories, 'GET', filtersJson);

View File

@@ -113,7 +113,7 @@ export default class BasePage {
// this.router.navigateToHash(hashPageUserLogin);
/*
let dataRequest = {};
dataRequest[keyCallback] = hashPageCurrent;
dataRequest[flagCallback] = hashPageCurrent;
console.log('sending data to user login controller: ');
console.log(dataRequest);
*/
@@ -121,7 +121,7 @@ export default class BasePage {
API.loginUser()
.then((response) => {
if (response.Success) {
this.router.navigateToUrl(response[keyCallback], null, false); // window.app.
this.router.navigateToUrl(response[flagCallback], null, false); // window.app.
} else {
DOM.alertError("Error", response.Message);
}

View File

@@ -120,16 +120,16 @@ export default class PageStoreBasket extends BasePage {
elForm = elOverlay.querySelector('form');
console.log('converting billing form to json\nform ID: ' + elForm.id);
ajaxData[keyForm] = convertForm2JSON(elForm); // formData; // form.serialize();
ajaxData[flagForm] = convertForm2JSON(elForm); // formData; // form.serialize();
let keys = [keyNameFull, keyPhoneNumber, keyPostcode, keyAddress1, keyAddress2, keyCity, keyCounty];
console.log('ajaxData:');
console.log(ajaxData);
ajaxData[keyForm][keyInfoIdentical] = getElementValueCurrent(elForm.querySelector('#' + keyInfoIdentical));
ajaxData[flagForm][keyInfoIdentical] = getElementValueCurrent(elForm.querySelector('#' + keyInfoIdentical));
for (var k in keys) {
if (idOverlayInfo == idOverlayInfoBilling && ajaxData[keyForm][keyInfoIdentical]) {
ajaxData[keyForm][keys[k]] = getElementValueCurrent(elFormDelivery.querySelector('#' + keys[k]));
if (idOverlayInfo == idOverlayInfoBilling && ajaxData[flagForm][keyInfoIdentical]) {
ajaxData[flagForm][keys[k]] = getElementValueCurrent(elFormDelivery.querySelector('#' + keys[k]));
} else {
ajaxData[keyForm][keys[k]] = getElementValueCurrent(elForm.querySelector('#' + keys[k]));
ajaxData[flagForm][keys[k]] = getElementValueCurrent(elForm.querySelector('#' + keys[k]));
}
}
console.log('ajaxData:');

View File

@@ -31,7 +31,7 @@ export default class StoreMixinPage {
elForm = document.querySelectorAll(idFormCurrency);
elSelector.addEventListener("change", function(event) {
ajaxData = {};
ajaxData[keyForm] = convertForm2JSON(elForm);
ajaxData[flagForm] = convertForm2JSON(elForm);
console.log('sending data to currency selector controller: '); console.log(ajaxData);
ajaxJSONData('select currency', mapHashToController(hashStoreSelectCurrency), ajaxData, function() { window.location.reload() }, false);
@@ -84,7 +84,7 @@ export default class StoreMixinPage {
elForm = document.querySelectorAll(idFormDeliveryRegion);
elSelector.addEventListener("change", function(event) {
ajaxData = {};
ajaxData[keyForm] = convertForm2JSON(elForm);
ajaxData[flagForm] = convertForm2JSON(elForm);
console.log('sending data to delivery region selector controller: '); console.log(ajaxData);
ajaxJSONData('select delivery region', mapHashToController(hashStoreSelectDeliveryRegion), ajaxData, function() { window.location.reload() }, false);
});
@@ -137,7 +137,7 @@ export default class StoreMixinPage {
elForm = document.querySelectorAll(idFormIsIncludedVAT);
elSelector.addEventListener("change", function(event) {
ajaxData = {};
ajaxData[keyForm] = convertForm2JSON(elForm);
ajaxData[flagForm] = convertForm2JSON(elForm);
console.log('sending data to include VAT controller: '); console.log(ajaxData);
ajaxJSONData('set include VAT', mapHashToController(hashStoreSetIsIncludedVAT), ajaxData, function() { window.location.reload() }, false);
});