mirror of
https://github.com/grocy/grocy.git
synced 2025-04-29 01:32:38 +00:00
34 lines
1.4 KiB
SQL
34 lines
1.4 KiB
SQL
DROP TRIGGER default_qu_conversions;
|
|
CREATE TRIGGER products_default_qu_conversions AFTER INSERT ON products
|
|
BEGIN
|
|
-- Create product specific 1:1 conversions when QU stock != QU purchase/consume/price
|
|
-- and when no default QU conversion apply
|
|
|
|
-- with qu_id_stock != qu_id_purchase
|
|
INSERT INTO quantity_unit_conversions
|
|
(from_qu_id, to_qu_id, factor, product_id)
|
|
SELECT p.qu_id_purchase, p.qu_id_stock, 1, p.id
|
|
FROM products p
|
|
WHERE p.id = NEW.id
|
|
AND p.qu_id_stock != qu_id_purchase
|
|
AND NOT EXISTS(SELECT 1 FROM quantity_unit_conversions_resolved WHERE product_id = p.id AND from_qu_id = p.qu_id_stock AND to_qu_id = p.qu_id_purchase);
|
|
|
|
-- with qu_id_stock != qu_id_consume
|
|
INSERT INTO quantity_unit_conversions
|
|
(from_qu_id, to_qu_id, factor, product_id)
|
|
SELECT p.qu_id_consume, p.qu_id_stock, 1, p.id
|
|
FROM products p
|
|
WHERE p.id = NEW.id
|
|
AND p.qu_id_stock != qu_id_consume
|
|
AND NOT EXISTS(SELECT 1 FROM quantity_unit_conversions_resolved WHERE product_id = p.id AND from_qu_id = p.qu_id_stock AND to_qu_id = p.qu_id_consume);
|
|
|
|
-- with qu_id_stock != qu_id_price
|
|
INSERT INTO quantity_unit_conversions
|
|
(from_qu_id, to_qu_id, factor, product_id)
|
|
SELECT p.qu_id_price, p.qu_id_stock, 1, p.id
|
|
FROM products p
|
|
WHERE p.id = NEW.id
|
|
AND p.qu_id_stock != qu_id_price
|
|
AND NOT EXISTS(SELECT 1 FROM quantity_unit_conversions_resolved WHERE product_id = p.id AND from_qu_id = p.qu_id_stock AND to_qu_id = p.qu_id_price);
|
|
END;
|