erp_be/scripts/patch-items-item-code-hsn.sql

34 lines
776 B
PL/PgSQL

-- Items: ITEM document series for auto item_code generation
-- Run before deploying BE that auto-generates item_code via document_series.
BEGIN;
INSERT INTO document_series (code, prefix, current_number, padding, description, is_active)
SELECT
'ITEM',
'ITM-',
COALESCE((
SELECT COUNT(*)::int
FROM items
WHERE deleted_at IS NULL
), 0),
5,
'Item master code',
TRUE
WHERE NOT EXISTS (
SELECT 1 FROM document_series WHERE code = 'ITEM'
);
UPDATE document_series ds
SET current_number = GREATEST(
ds.current_number,
COALESCE((SELECT COUNT(*)::int FROM items WHERE deleted_at IS NULL), 0)
),
updated_at = NOW()
WHERE ds.code = 'ITEM';
COMMIT;
-- Verify:
-- SELECT code, prefix, current_number, padding FROM document_series WHERE code = 'ITEM';