Manage manual product compositions

This commit is contained in:
Cauê Faleiros
2026-08-14 14:28:47 -03:00
parent 2fb9092e05
commit 36981c9ac5
6 changed files with 305 additions and 14 deletions

View File

@@ -335,7 +335,20 @@ const listCompositionRows = async () => {
FROM product_compositions composition
JOIN product_composition_components component
ON component.product_composition_id = composition.id
WHERE composition.source = 'tiny_olist_v3'
WHERE composition.source IN ('tiny_olist_v3', 'manual')
AND NOT EXISTS (
SELECT 1
FROM product_compositions manual_composition
WHERE manual_composition.source = 'manual'
AND composition.source = 'tiny_olist_v3'
AND (
manual_composition.finished_tiny_product_id = composition.finished_tiny_product_id
OR (
COALESCE(manual_composition.finished_tiny_product_id, '') = ''
AND manual_composition.finished_product_sku = composition.finished_product_sku
)
)
)
ORDER BY composition.id, component.id;
`);
return result.rows;