fix(sync): prevent kit/bax price sync from overwriting individual CRM prices
Three code paths could overwrite CRM list prices with wrong values when web unit (50 buc) differs from ROA unit (100 buc): - price_sync_service: kit path now skips components that have their own ARTICOLE_TERTI mapping (individual path handles them with correct ÷0.5) - validation_service: sync_prices_from_order now skips bax SKUs (cantitate_roa > 1) in addition to multi-component kits - pack_import_comenzi: skip negative kit discount (markup), ROUND prices to nzecimale_pretv decimals Also adds: - SQL script for 6 ARTICOLE_TERTI mappings (cantitate_roa=0.5) for cup articles where web=50buc, ROA=100buc/set - Oracle schema reference documentation Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
54
api/database-scripts/09_articole_terti_050.sql
Normal file
54
api/database-scripts/09_articole_terti_050.sql
Normal file
@@ -0,0 +1,54 @@
|
||||
-- ====================================================================
|
||||
-- 09_articole_terti_050.sql
|
||||
-- Mapări ARTICOLE_TERTI cu cantitate_roa = 0.5 pentru articole
|
||||
-- unde unitatea web (50 buc/set) ≠ unitatea ROA (100 buc/set).
|
||||
--
|
||||
-- Efect: price sync va calcula pret_crm = pret_web / 0.5,
|
||||
-- iar kit pricing va folosi prețul corect per set ROA.
|
||||
--
|
||||
-- 25.03.2026 - creat pentru fix discount negativ kit pahare
|
||||
-- ====================================================================
|
||||
|
||||
-- Pahar 6oz Coffee Coffee SIBA 50buc (GoMag) → 100buc/set (ROA)
|
||||
INSERT INTO articole_terti (sku, codmat, cantitate_roa, activ, sters, data_creare, id_util_creare)
|
||||
SELECT '1708828', '1708828', 0.5, 1, 0, SYSDATE, -3 FROM dual
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1 FROM articole_terti WHERE sku = '1708828' AND codmat = '1708828' AND sters = 0
|
||||
);
|
||||
|
||||
-- Pahar 8oz Coffee Coffee SIBA 50buc → 100buc/set
|
||||
INSERT INTO articole_terti (sku, codmat, cantitate_roa, activ, sters, data_creare, id_util_creare)
|
||||
SELECT '528795', '528795', 0.5, 1, 0, SYSDATE, -3 FROM dual
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1 FROM articole_terti WHERE sku = '528795' AND codmat = '528795' AND sters = 0
|
||||
);
|
||||
|
||||
-- Pahar 8oz Tchibo 50buc → 100buc/set
|
||||
INSERT INTO articole_terti (sku, codmat, cantitate_roa, activ, sters, data_creare, id_util_creare)
|
||||
SELECT '58', '58', 0.5, 1, 0, SYSDATE, -3 FROM dual
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1 FROM articole_terti WHERE sku = '58' AND codmat = '58' AND sters = 0
|
||||
);
|
||||
|
||||
-- Pahar 7oz Lavazza SIBA 50buc → 100buc/set
|
||||
INSERT INTO articole_terti (sku, codmat, cantitate_roa, activ, sters, data_creare, id_util_creare)
|
||||
SELECT '51', '51', 0.5, 1, 0, SYSDATE, -3 FROM dual
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1 FROM articole_terti WHERE sku = '51' AND codmat = '51' AND sters = 0
|
||||
);
|
||||
|
||||
-- Pahar 8oz Albastru JND 50buc → 100buc/set
|
||||
INSERT INTO articole_terti (sku, codmat, cantitate_roa, activ, sters, data_creare, id_util_creare)
|
||||
SELECT '105712338826', '105712338826', 0.5, 1, 0, SYSDATE, -3 FROM dual
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1 FROM articole_terti WHERE sku = '105712338826' AND codmat = '105712338826' AND sters = 0
|
||||
);
|
||||
|
||||
-- Pahar 8oz Paris JND 50buc → 100buc/set
|
||||
INSERT INTO articole_terti (sku, codmat, cantitate_roa, activ, sters, data_creare, id_util_creare)
|
||||
SELECT '10573080', '10573080', 0.5, 1, 0, SYSDATE, -3 FROM dual
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1 FROM articole_terti WHERE sku = '10573080' AND codmat = '10573080' AND sters = 0
|
||||
);
|
||||
|
||||
COMMIT;
|
||||
Reference in New Issue
Block a user