606 lines
19 KiB
SQL
606 lines
19 KiB
SQL
|
|
|
|
|
|
|
|
-- Clear previous proc
|
|
DROP PROCEDURE IF EXISTS p_shop_save_permutation;
|
|
|
|
DROP TABLE IF EXISTS tmp_Shop_Manufacturing_Purchase_Order_Product_Link;
|
|
DROP TABLE IF EXISTS tmp_Msg_Error;
|
|
|
|
DELIMITER //
|
|
CREATE PROCEDURE p_shop_save_permutation (
|
|
IN a_guid VARCHAR(500),
|
|
IN a_id_user INT,
|
|
IN a_id_order INT,
|
|
-- IN a_id_supplier_ordered INT,
|
|
IN a_id_currency_cost INT,
|
|
IN a_active BIT,
|
|
IN a_comment VARCHAR(500)
|
|
)
|
|
BEGIN
|
|
DECLARE v_id_error_type_bad_data INT;
|
|
DECLARE v_code_error_type_bad_data VARCHAR(50);
|
|
DECLARE v_id_error_type_no_permission INT;
|
|
DECLARE v_code_error_type_no_permission VARCHAR(50);
|
|
DECLARE v_guid_permission BINARY(36);
|
|
-- DECLARE v_id_user VARCHAR(100);
|
|
DECLARE v_id_permission_manufacturing_purchase_order INT;
|
|
DECLARE v_id_access_level_EDIT INT;
|
|
DECLARE v_ids_product VARCHAR(4000);
|
|
DECLARE v_ids_product_no_permission VARCHAR(4000);
|
|
-- DECLARE v_id_order_new INT;
|
|
DECLARE v_id_change_set INT;
|
|
DECLARE v_is_new_manufacturing_purchase_order BIT;
|
|
|
|
SET SESSION sql_mode = sys.list_drop(@@session.sql_mode, 'ONLY_FULL_GROUP_BY');
|
|
|
|
SET v_code_error_type_bad_data = 'BAD_DATA';
|
|
SET v_id_error_type_bad_data := (SELECT id_type FROM Shop_Msg_Error_Type WHERE code = v_code_error_type_bad_data LIMIT 1);
|
|
SET v_code_error_type_no_permission = 'NO_PERMISSION';
|
|
SET v_id_error_type_no_permission := (SELECT id_type FROM Shop_Msg_Error_Type WHERE code = v_code_error_type_no_permission LIMIT 1);
|
|
SET v_guid_permission = UUID();
|
|
-- SET v_id_user = CURRENT_USER();
|
|
SET v_id_permission_manufacturing_purchase_order := (SELECT id_permission FROM Shop_Permission WHERE code = 'STORE_MANUFACTURING_PURCHASE_ORDER' LIMIT 1);
|
|
SET v_id_access_level_EDIT := (SELECT id_access_level FROM Shop_Access_Level WHERE code = 'EDIT');
|
|
|
|
-- Argument default values
|
|
IF a_guid IS NULL THEN
|
|
SET a_guid = UUID();
|
|
END IF;
|
|
IF a_active IS NULL THEN
|
|
SET a_active = 0;
|
|
END IF;
|
|
|
|
-- Temporary tables
|
|
/*
|
|
CREATE TABLE tmp_Shop_Supplier_Purchase_Order (
|
|
id_order INT NOT NULL PRIMARY KEY,
|
|
id_supplier_ordered INT NOT NULL,
|
|
CONSTRAINT FK_tmp_Shop_Supplier_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
|
|
);
|
|
*/
|
|
|
|
CREATE TABLE tmp_Shop_Manufacturing_Purchase_Order_Product_Link (
|
|
id_link INT NOT NULL PRIMARY KEY,
|
|
id_order INT NOT NULL,
|
|
/*
|
|
CONSTRAINT FK_tmp_Supplier_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_Manuf_Purch_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,
|
|
value_produced_total_local FLOAT NOT NULL,
|
|
quantity_used FLOAT NOT NULL,
|
|
id_unit_quantity INT NOT NULL,
|
|
CONSTRAINT FK_tmp_Manuf_Purch_Order_Product_Link_id_unit_quantity
|
|
FOREIGN KEY (id_unit_quantity)
|
|
REFERENCES Shop_Unit_Measurement(id_unit_measurement),
|
|
quantity_produced FLOAT NULL,
|
|
latency_manufacture_days INT NOT NULL,
|
|
display_order INT NOT NULL,
|
|
active BIT NOT NULL,
|
|
name_error VARCHAR(200) 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
|
|
);
|
|
|
|
|
|
-- Argument validation
|
|
# User ID
|
|
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error) THEN
|
|
IF ISNULL(a_id_user) OR NOT EXISTS (SELECT * FROM Shop_User WHERE id_user = a_id_user) THEN
|
|
INSERT INTO tmp_Msg_Error (
|
|
guid, id_type, code, msg
|
|
)
|
|
VALUES
|
|
(a_guid, v_id_error_type_bad_data, v_code_error_type_bad_data, CONCAT('Invalid User ID: ', IFNULL(a_id_user, 'NULL')))
|
|
;
|
|
END IF;
|
|
END IF;
|
|
|
|
# Order ID
|
|
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error) THEN
|
|
IF ISNULL(a_id_order) OR ((a_id_order > 0) AND NOT EXISTS (SELECT * FROM Shop_Manufacturing_Purchase_Order WHERE id_order = a_id_order)) THEN
|
|
INSERT INTO tmp_Msg_Error (
|
|
guid, id_type, code, msg
|
|
)
|
|
VALUES
|
|
(a_guid, v_id_error_type_bad_data, v_code_error_type_bad_data, CONCAT('Invalid Manufacturing Purchase Order ID: ', IFNULL(a_id_order, 'NULL')))
|
|
;
|
|
END IF;
|
|
END IF;
|
|
|
|
/*
|
|
# Supplier ID
|
|
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error) THEN
|
|
IF ISNULL(a_id_supplier_ordered) OR NOT EXISTS (SELECT * FROM Shop_Supplier WHERE id_supplier = a_id_supplier_ordered) THEN
|
|
INSERT INTO tmp_Msg_Error (
|
|
guid, id_type, code, msg
|
|
)
|
|
VALUES
|
|
(a_guid, v_id_error_type_bad_data, v_code_error_type_bad_data, CONCAT('Invalid supplier ID: ', IFNULL(a_id_supplier_ordered, 'NULL')))
|
|
;
|
|
END IF;
|
|
END IF;
|
|
*/
|
|
|
|
# Currency ID
|
|
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error) THEN
|
|
IF ISNULL(a_id_currency_cost) OR NOT EXISTS (SELECT * FROM Shop_Currency WHERE id_currency = a_id_currency_cost) THEN
|
|
INSERT INTO tmp_Msg_Error (
|
|
guid, id_type, code, msg
|
|
)
|
|
VALUES
|
|
(a_guid, v_id_error_type_bad_data, v_code_error_type_bad_data, CONCAT('Invalid currency ID: ', IFNULL(a_id_currency, 'NULL')))
|
|
;
|
|
END IF;
|
|
END IF;
|
|
|
|
# Comment
|
|
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error) THEN
|
|
IF ISNULL(a_comment) OR TRIM(a_comment) = '' THEN
|
|
INSERT INTO tmp_Msg_Error (
|
|
guid, id_type, code, msg
|
|
)
|
|
VALUES
|
|
(a_guid, v_id_error_type_bad_data, v_code_error_type_bad_data, 'A comment must be provided.')
|
|
;
|
|
END IF;
|
|
END IF;
|
|
|
|
|
|
-- Get data from Temp table
|
|
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error) THEN
|
|
SET v_is_new_manufacturing_purchase_order := CASE WHEN a_id_order <= 0 THEN 1 ELSE 0 END;
|
|
|
|
INSERT INTO tmp_Shop_Manufacturing_Purchase_Order_Product_Link (
|
|
id_link,
|
|
id_order,
|
|
id_permutation,
|
|
cost_total_local,
|
|
id_currency_cost,
|
|
quantity_used,
|
|
id_unit_quantity,
|
|
quantity_produced,
|
|
value_produced_total_local,
|
|
latency_manufacture_days,
|
|
display_order,
|
|
active,
|
|
name_error
|
|
)
|
|
/*
|
|
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)
|
|
*/
|
|
SELECT
|
|
MPOPL_T.id_link,
|
|
MPOPL_T.id_order,
|
|
MPOPL_T.id_permutation,
|
|
PP.cost_local * MPOPL_T.quantity_used AS cost_total_local,
|
|
MPOPL_T.id_currency_cost,
|
|
MPOPL_T.quantity_used,
|
|
MPOPL_T.id_unit_quantity,
|
|
MPOPL_T.quantity_produced,
|
|
(PP.cost_local + PP.profit_local_min) * MPOPL_T.quantity_produced AS value_produced_total_local,
|
|
MPOPL_T.latency_manufacture_days,
|
|
MPOPL_T.display_order,
|
|
MPOPL_T.active,
|
|
CONCAT(PP.id_permutation, ' - ', IFNULL(P.name ,'')) AS name_error
|
|
FROM Shop_Manufacturing_Purchase_Order_Product_Link_Temp MPOPL_T
|
|
INNER JOIN Shop_Product_Permutation PP ON MPOPL_T.id_permutation = PP.id_permutation
|
|
INNER JOIN Shop_Product P ON PP.id_product = P.id_product
|
|
WHERE MPOPL_T.GUID = a_guid
|
|
-- GROUP BY MPOPL_T.id_order, name_error, MPOPL_T.id_link
|
|
/*
|
|
group by
|
|
MPOPL_T.id_link,
|
|
MPOPL_T.id_order,
|
|
MPOPL_T.id_permutation,
|
|
cost_total_local,
|
|
MPOPL_T.id_currency_cost,
|
|
MPOPL_T.quantity_used,
|
|
MPOPL_T.id_unit_quantity,
|
|
MPOPL_T.quantity_produced,
|
|
value_produced_total_local,
|
|
MPOPL_T.latency_manufacture_days,
|
|
MPOPL_T.display_order,
|
|
MPOPL_T.active,
|
|
name_error
|
|
*/
|
|
-- GROUP BY id_link, P.id_product, PP.id_permutation
|
|
-- GROUP BY name_error, ID_LINK, cost_total_local, value_produced_total_local
|
|
;
|
|
DELETE MPOPL_T
|
|
FROM Shop_Manufacturing_Purchase_Order_Product_Link_Temp MPOPL_T
|
|
WHERE MPOPL_T.GUID = a_guid
|
|
;
|
|
END IF;
|
|
|
|
-- Invalid quantity used
|
|
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error) THEN
|
|
IF EXISTS (
|
|
SELECT *
|
|
FROM tmp_Shop_Manufacturing_Purchase_Order_Product_Link
|
|
WHERE
|
|
NOT ISNULL(quantity_used)
|
|
AND quantity_used < 0
|
|
) THEN
|
|
INSERT INTO tmp_Msg_Error (
|
|
guid, id_type, code, msg
|
|
)
|
|
SELECT
|
|
a_guid,
|
|
v_id_error_type_bad_data,
|
|
v_code_error_type_bad_data,
|
|
CONCAT('Invalid quantity used property for the following permutations: ', GROUP_CONCAT(t_MPOPL.name_error SEPARATOR ', '))
|
|
FROM tmp_Shop_Manufacturing_Purchase_Order_Product_Link t_MPOPL
|
|
WHERE t_MPOPL.quantity_used < 0
|
|
;
|
|
END IF;
|
|
END IF;
|
|
|
|
-- Invalid quantity produced
|
|
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error) THEN
|
|
IF EXISTS (
|
|
SELECT *
|
|
FROM tmp_Shop_Manufacturing_Purchase_Order_Product_Link
|
|
WHERE
|
|
NOT ISNULL(quantity_produced)
|
|
AND quantity_produced < 0
|
|
) THEN
|
|
INSERT INTO tmp_Msg_Error (
|
|
guid, id_type, code, msg
|
|
)
|
|
SELECT
|
|
a_guid,
|
|
v_id_error_type_bad_data,
|
|
v_code_error_type_bad_data,
|
|
CONCAT('Invalid quantity produced property for the following permutations: ', GROUP_CONCAT(t_MPOPL.name_error SEPARATOR ', '))
|
|
FROM tmp_Shop_Manufacturing_Purchase_Order_Product_Link t_MPOPL
|
|
WHERE t_MPOPL.quantity_produced < 0
|
|
;
|
|
END IF;
|
|
END IF;
|
|
|
|
-- Duplicates
|
|
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error) THEN
|
|
IF EXISTS (SELECT id_permutation, name_error, COUNT(*) FROM tmp_Shop_Manufacturing_Purchase_Order_Product_Link t_MPOPL GROUP BY id_permutation HAVING COUNT(*) > 1) THEN
|
|
INSERT INTO tmp_Msg_Error (
|
|
guid, id_type, code, msg
|
|
)
|
|
SELECT
|
|
a_guid,
|
|
v_id_error_type_bad_data,
|
|
v_code_error_type_bad_data,
|
|
CONCAT('Duplicate records: ', GROUP_CONCAT(t_MPOPLC.name_error SEPARATOR ', '))
|
|
FROM (SELECT id_permutation, name_error, COUNT(*) FROM tmp_Shop_Manufacturing_Purchase_Order_Product_Link t_MPOPL GROUP BY id_permutation HAVING COUNT(*) > 1) t_MPOPLC
|
|
;
|
|
END IF;
|
|
END IF;
|
|
|
|
|
|
-- Permissions
|
|
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error) THEN
|
|
SET v_ids_product := (
|
|
SELECT GROUP_CONCAT(G.id_product SEPARATOR ',')
|
|
FROM (
|
|
SELECT DISTINCT PP.id_product
|
|
FROM tmp_Shop_Manufacturing_Purchase_Order_Product_Link t_MPO
|
|
INNER JOIN Shop_Product_Permutation PP ON t_MPO.id_permutation = PP.id_permutation
|
|
) G
|
|
);
|
|
|
|
CALL p_shop_user_eval(v_guid_permission, a_id_user, 0, v_id_permission_manufacturing_purchase_order, v_id_access_level_edit, v_ids_product);
|
|
|
|
/*
|
|
UPDATE tmp_Shop_Supplier t_S
|
|
INNER JOIN Shop_User_Eval_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_User_Eval_Temp
|
|
WHERE
|
|
GUID = v_guid_permission
|
|
AND can_edit = 0
|
|
);
|
|
|
|
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_manufacturing_purchase_order
|
|
;
|
|
END IF;
|
|
*/
|
|
SET v_ids_product_no_permission := (
|
|
SELECT GROUP_CONCAT(PT.id_product SEPARATOR ',')
|
|
FROM Shop_User_Eval_Temp PT
|
|
WHERE
|
|
PT.can_edit = 0
|
|
AND NOT ISNULL(PT.id_product)
|
|
);
|
|
IF NOT ISNULL(v_ids_product_no_permission) THEN
|
|
INSERT INTO tmp_Msg_Error (
|
|
guid, id_type, code, msg
|
|
)
|
|
VALUES (
|
|
a_guid,
|
|
v_id_error_type_no_permission,
|
|
v_code_error_type_no_permission,
|
|
CONCAT('You do not have permission to edit the following product IDs: ', v_ids_product_no_permission)
|
|
)
|
|
;
|
|
END IF;
|
|
END IF;
|
|
|
|
-- Transaction
|
|
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error) THEN
|
|
START TRANSACTION;
|
|
INSERT INTO Shop_Sales_And_Purchasing_Change_Set (
|
|
comment,
|
|
updated_last_by,
|
|
updated_last_on
|
|
)
|
|
VALUES (
|
|
CONCAT(
|
|
'Save ',
|
|
CASE WHEN v_is_new_manufacturing_purchase_order = 1 THEN 'new ' ELSE '' END,
|
|
'Manufacturing Purchase Order - ',
|
|
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 (v_is_new_manufacturing_purchase_order = 1) THEN
|
|
INSERT INTO Shop_Manufacturing_Purchase_Order (
|
|
-- id_supplier_ordered,
|
|
cost_total_local,
|
|
id_currency_cost,
|
|
value_produced_total_local,
|
|
created_by,
|
|
id_change_set,
|
|
active
|
|
)
|
|
SELECT
|
|
-- a_id_supplier_ordered,
|
|
SUM(t_MPOPL.cost_total_local),
|
|
a_id_currency_cost,
|
|
SUM(t_MPOPL.value_produced_total_local),
|
|
a_id_user,
|
|
v_id_change_set,
|
|
a_active
|
|
FROM tmp_Shop_Manufacturing_Purchase_Order_Product_Link t_MPOPL
|
|
;
|
|
-- SET v_id_order_new
|
|
SET a_id_order := (SELECT id_order FROM Shop_Manufacturing_Purchase_Order ORDER BY id_order DESC LIMIT 1);
|
|
|
|
INSERT INTO Shop_Manufacturing_Purchase_Order_Product_Link (
|
|
id_order,
|
|
id_permutation,
|
|
cost_total_local,
|
|
value_produced_total_local,
|
|
id_currency_cost,
|
|
quantity_used,
|
|
id_unit_quantity,
|
|
quantity_produced,
|
|
latency_manufacture_days,
|
|
display_order,
|
|
active,
|
|
created_by,
|
|
id_change_set
|
|
)
|
|
SELECT
|
|
a_id_order, -- v_id_order_new,
|
|
id_permutation,
|
|
cost_total_local,
|
|
value_produced_total_local,
|
|
id_currency_cost,
|
|
quantity_used,
|
|
id_unit_quantity,
|
|
quantity_produced,
|
|
latency_manufacture_days,
|
|
display_order,
|
|
active,
|
|
a_id_user,
|
|
v_id_change_set
|
|
FROM tmp_Shop_Manufacturing_Purchase_Order_Product_Link t_MPOPL
|
|
;
|
|
ELSE
|
|
UPDATE Shop_Manufacturing_Purchase_Order MPO
|
|
INNER JOIN tmp_Shop_Manufacturing_Purchase_Order_Product_Link t_MPOPL ON MPO.id_order = t_MPOPL.id_order
|
|
SET
|
|
-- MPO.id_supplier_ordered = a_id_supplier_ordered,
|
|
MPO.cost_total_local = SUM(t_MPOPL.cost_total_local),
|
|
MPO.value_produced_total_local = SUM(t_MPOPL.value_produced_total_local),
|
|
MPO.id_currency = a_id_currency_cost,
|
|
MPO.id_change_set = v_id_change_set,
|
|
MPO.active = a_active
|
|
WHERE MPO.id_order = a_id_order
|
|
;
|
|
IF EXISTS (SELECT * FROM tmp_Shop_Manufacturing_Purchase_Order_Product_Link t_MPOPL INNER JOIN Shop_Manufacturing_Purchase_Order_Product_Link MPOPL ON t_MPOPL.id_link = MPOPL.id_link) THEN
|
|
UPDATE 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
|
|
SET
|
|
MPOPL.id_order = t_MPOPL.id_order,
|
|
MPOPL.id_permutation = t_MPOPL.id_permutation,
|
|
MPOPL.cost_total_local = t_MPOPL.cost_total_local,
|
|
MPOPL.value_produced_total_local = t_MPOPL.value_produced_total_local,
|
|
MPOPL.id_currency_cost = t_MPOPL.id_currency_cost,
|
|
MPOPL.quantity_used = t_MPOPL.quantity_used,
|
|
MPOPL.id_unit_quantity = t_MPOPL.id_unit_quantity,
|
|
MPOPL.quantity_produced = t_MPOPL.quantity_produced,
|
|
MPOPL.latency_manufacture_days = t_MPOPL.latency_manufacture_days,
|
|
MPOPL.display_order = t_MPOPL.display_order,
|
|
MPOPL.active = t_MPOPL.active,
|
|
MPOPL.id_change_set = v_id_change_set
|
|
;
|
|
ELSE
|
|
INSERT INTO Shop_Manufacturing_Purchase_Order_Product_Link (
|
|
id_order,
|
|
id_permutation,
|
|
cost_total_local,
|
|
value_produced_total_local,
|
|
id_currency_cost,
|
|
quantity_used,
|
|
id_unit_quantity,
|
|
quantity_produced,
|
|
latency_manufacture_days,
|
|
display_order,
|
|
active,
|
|
created_by,
|
|
id_change_set
|
|
)
|
|
SELECT
|
|
id_order,
|
|
id_permutation,
|
|
cost_total_local,
|
|
value_produced_total_local,
|
|
id_currency_cost,
|
|
quantity_used,
|
|
id_unit_quantity,
|
|
quantity_produced,
|
|
latency_manufacture_days,
|
|
display_order,
|
|
active,
|
|
a_id_user,
|
|
v_id_change_set
|
|
FROM tmp_Shop_Manufacturing_Purchase_Order_Product_Link t_MPOPL
|
|
WHERE t_MPOPL.id_link < 0
|
|
;
|
|
END IF;
|
|
END IF;
|
|
|
|
IF EXISTS (SELECT * FROM tmp_Msg_Error) THEN
|
|
ROLLBACK;
|
|
ELSE
|
|
COMMIT;
|
|
END IF;
|
|
END IF;
|
|
|
|
-- Returns
|
|
# SET v_now = NOW();
|
|
|
|
# Manufacturing Purchase Orders
|
|
SELECT *
|
|
FROM Shop_Manufacturing_Purchase_Order
|
|
WHERE
|
|
id_order = a_id_order
|
|
-- GUID = a_guid
|
|
;
|
|
|
|
# Manufacturing Purchase Order Product Links
|
|
SELECT *
|
|
FROM Shop_Manufacturing_Purchase_Order_Product_Link
|
|
WHERE
|
|
id_order = a_id_order
|
|
-- GUID = a_guid
|
|
;
|
|
|
|
# Errors
|
|
SELECT *
|
|
FROM tmp_Msg_Error
|
|
;
|
|
|
|
# DROP TABLE tmp_Shop_Manufacturing_Purchase_Order;
|
|
DROP TABLE tmp_Shop_Manufacturing_Purchase_Order_Product_Link;
|
|
DROP TABLE tmp_Msg_Error;
|
|
END //
|
|
DELIMITER ;;
|
|
|
|
|
|
/*
|
|
|
|
DELETE FROM Shop_Manufacturing_Purchase_Order_Product_Link_Audit;
|
|
DELETE FROM Shop_Manufacturing_Purchase_Order_Product_Link;
|
|
DELETE FROM Shop_Manufacturing_Purchase_Order_Product_Link_Temp;
|
|
DELETE FROM Shop_Manufacturing_Purchase_Order_Audit;
|
|
DELETE FROM Shop_Manufacturing_Purchase_Order;
|
|
|
|
INSERT INTO Shop_Manufacturing_Purchase_Order_Product_Link_Temp (
|
|
guid,
|
|
id_link,
|
|
id_order,
|
|
id_permutation,
|
|
cost_total_local,
|
|
id_currency_cost,
|
|
quantity_used,
|
|
id_unit_quantity,
|
|
quantity_produced,
|
|
latency_manufacture_days,
|
|
display_order,
|
|
active
|
|
)
|
|
VALUES
|
|
(
|
|
'NIPS', # guid
|
|
-1, # id_link,
|
|
-1, # id_order,
|
|
1, # id_permutation,
|
|
100, # cost_total_local,
|
|
1, # id_currency_cost,
|
|
1, # quantity_used,
|
|
1, # id_unit_quantity,
|
|
1, # quantity_produced,
|
|
14, # latency_manufacture_days ,
|
|
1, # display_order
|
|
1 # active
|
|
)
|
|
;
|
|
|
|
SELECT * FROM Shop_Manufacturing_Purchase_Order_Product_Link_Temp;
|
|
|
|
CALL p_shop_save_manufacturing_purchase_order (
|
|
'NIPS', # a_guid
|
|
'auth0|6582b95c895d09a70ba10fef', # a_id_user
|
|
-1, # a_id_order
|
|
1, # a_id_currency_cost
|
|
1, # a_active
|
|
'Initial data' # a_comment
|
|
);
|
|
|
|
SELECT * FROM Shop_Manufacturing_Purchase_Order_Product_Link_Temp;
|
|
|
|
DELETE FROM Shop_Manufacturing_Purchase_Order_Product_Link_Audit;
|
|
DELETE FROM Shop_Manufacturing_Purchase_Order_Product_Link;
|
|
DELETE FROM Shop_Manufacturing_Purchase_Order_Product_Link_Temp;
|
|
DELETE FROM Shop_Manufacturing_Purchase_Order_Audit;
|
|
DELETE FROM Shop_Manufacturing_Purchase_Order;
|
|
|
|
|
|
*/
|
|
|