mirror of
https://github.com/grocy/grocy.git
synced 2025-09-30 11:25:03 +00:00
35 lines
1.1 KiB
MySQL
35 lines
1.1 KiB
MySQL
![]() |
CREATE VIEW stock_edited_entries
|
||
|
AS
|
||
|
/*
|
||
|
Returns stock_id's which have been edited manually
|
||
|
*/
|
||
|
SELECT DISTINCT sl_add.stock_id
|
||
|
fROM stock_log sl_add
|
||
|
JOIN stock_log sl_edit
|
||
|
ON sl_add.stock_id = sl_edit.stock_id
|
||
|
AND sl_edit.transaction_type = 'stock-edit-new'
|
||
|
WHERE sl_add.transaction_type IN ('purchase', 'inventory-correction', 'self-production')
|
||
|
AND sl_add.amount > 0;
|
||
|
|
||
|
DROP VIEW stock_average_product_shelf_life;
|
||
|
CREATE VIEW stock_average_product_shelf_life
|
||
|
AS
|
||
|
SELECT
|
||
|
p.id,
|
||
|
CASE WHEN x.product_id IS NULL THEN -1 ELSE AVG(x.shelf_life_days) END AS average_shelf_life_days
|
||
|
FROM products p
|
||
|
LEFT JOIN (
|
||
|
SELECT
|
||
|
sl_p.product_id,
|
||
|
JULIANDAY(sl_p.best_before_date) - JULIANDAY(sl_p.purchased_date) AS shelf_life_days
|
||
|
FROM stock_log sl_p
|
||
|
WHERE (
|
||
|
(sl_p.transaction_type IN ('purchase', 'inventory-correction', 'self-production') AND sl_p.stock_id NOT IN (SELECT stock_id FROM stock_edited_entries))
|
||
|
OR (sl_p.transaction_type = 'stock-edit-new' AND sl_p.stock_id IN (SELECT stock_id FROM stock_edited_entries))
|
||
|
)
|
||
|
AND sl_p.undone = 0
|
||
|
|
||
|
) x
|
||
|
ON p.id = x.product_id
|
||
|
GROUP BY p.id;
|