This commit is contained in:
seb
2026-10-17 23:31:37 +02:00
parent ab42a3ffb4
commit 688fa4f3fd
19 changed files with 475 additions and 18 deletions

View File

@@ -1,6 +1,7 @@
/** Drop order = reverse of schema create dependency order. */
export const TABLES = [
'articlewarehousesummary',
'deliverysummary',
'shipmentsummary',
'quotesummary',

View File

@@ -161,3 +161,14 @@ WHERE e.id = @id
AND cg.company_id = @companyId
AND cg.name = @groupName
`;
export const CHECK_SUPPLIER_IN_USE = `
SELECT TOP 1 1 AS inUse
FROM manifest m
WHERE m.entity_id = @id AND m.company_id = @companyId
UNION ALL
SELECT TOP 1 1 AS inUse
FROM articlesupplier asup
INNER JOIN article a ON a.id = asup.article_id
WHERE asup.entity_id = @id AND a.company_id = @companyId;
`;

View File

@@ -619,7 +619,7 @@ BEGIN
pu FLOAT NOT NULL CONSTRAINT DF_articlesupplier_pu DEFAULT 1,
sort INT NOT NULL CONSTRAINT DF_articlesupplier_sort DEFAULT 0,
CONSTRAINT FK_articlesupplier_article FOREIGN KEY (article_id) REFERENCES article(id) ON DELETE CASCADE,
CONSTRAINT FK_articlesupplier_entity FOREIGN KEY (entity_id) REFERENCES entity(id) ON DELETE CASCADE,
CONSTRAINT FK_articlesupplier_entity FOREIGN KEY (entity_id) REFERENCES entity(id) ON DELETE NO ACTION,
CONSTRAINT FK_articlesupplier_tax FOREIGN KEY (tax_id) REFERENCES tax(id) ON DELETE NO ACTION,
CONSTRAINT UQ_articlesupplier_article_entity UNIQUE (article_id, entity_id),
CONSTRAINT UQ_articlesupplier_article_sort UNIQUE (article_id, sort)
@@ -643,7 +643,7 @@ BEGIN
[date] DATETIME2 NOT NULL CONSTRAINT DF_manifest_date DEFAULT SYSUTCDATETIME(),
created_at DATETIME2 NOT NULL CONSTRAINT DF_manifest_created_at DEFAULT SYSUTCDATETIME(),
CONSTRAINT FK_manifest_company FOREIGN KEY (company_id) REFERENCES company(id) ON DELETE NO ACTION,
CONSTRAINT FK_manifest_entity FOREIGN KEY (entity_id) REFERENCES entity(id) ON DELETE SET NULL
CONSTRAINT FK_manifest_entity FOREIGN KEY (entity_id) REFERENCES entity(id) ON DELETE NO ACTION
);
END
`;
@@ -1338,6 +1338,24 @@ BEGIN
END
`;
export const INIT_ARTICLEWAREHOUSESUMMARY = `
IF NOT EXISTS (SELECT * FROM sys.tables WHERE name = 'articlewarehousesummary')
BEGIN
CREATE TABLE articlewarehousesummary (
id INT IDENTITY(1,1) PRIMARY KEY,
article_id INT NOT NULL,
warehouse_id INT NOT NULL,
stock FLOAT NOT NULL CONSTRAINT DF_articlewarehousesummary_stock DEFAULT 0,
CONSTRAINT FK_articlewarehousesummary_article FOREIGN KEY (article_id) REFERENCES article(id) ON DELETE CASCADE,
CONSTRAINT FK_articlewarehousesummary_warehouse FOREIGN KEY (warehouse_id) REFERENCES warehouse(id) ON DELETE CASCADE,
CONSTRAINT UQ_articlewarehousesummary_article_warehouse UNIQUE (article_id, warehouse_id)
);
CREATE INDEX IX_articlewarehousesummary_warehouse
ON articlewarehousesummary (warehouse_id);
END
`;
export const INIT_MCP_CLIENT = `
IF NOT EXISTS (SELECT * FROM sys.tables WHERE name = 'mcp_client')
BEGIN
@@ -1485,6 +1503,7 @@ export const SCHEMA_SCRIPTS = [
INIT_QUOTESUMMARY,
INIT_SHIPMENTSUMMARY,
INIT_DELIVERYSUMMARY,
INIT_ARTICLEWAREHOUSESUMMARY,
INIT_MCP_CLIENT,
INIT_MCP_AUTH_CODE,
INIT_MCP_TOKEN,