u
This commit is contained in:
@@ -1,5 +1,9 @@
|
||||
/** Drop order = reverse of schema create dependency order. */
|
||||
export const TABLES = [
|
||||
'package',
|
||||
'shipping',
|
||||
'payment',
|
||||
'account',
|
||||
'articleattributevalue',
|
||||
'articleproperty',
|
||||
'attributevalue',
|
||||
|
||||
100
src/providers/mssql/queries/logistics.js
Normal file
100
src/providers/mssql/queries/logistics.js
Normal file
@@ -0,0 +1,100 @@
|
||||
export const CHECK_ACCOUNT_COMPANY = `
|
||||
SELECT id
|
||||
FROM account
|
||||
WHERE id = @accountId AND company_id = @companyId
|
||||
`;
|
||||
|
||||
export const CHECK_ENTITYADDRESS_COMPANY = `
|
||||
SELECT ea.id
|
||||
FROM entityaddress ea
|
||||
INNER JOIN entity e ON e.id = ea.entity_id
|
||||
INNER JOIN customergroup cg ON cg.id = e.customergroup_id
|
||||
WHERE ea.id = @entityaddressId AND cg.company_id = @companyId
|
||||
`;
|
||||
|
||||
export const CHECK_SHIPPING_COMPANY = `
|
||||
SELECT s.id
|
||||
FROM shipping s
|
||||
INNER JOIN manifest m ON m.id = s.manifest_id
|
||||
WHERE s.id = @shippingId AND m.company_id = @companyId
|
||||
`;
|
||||
|
||||
export const ACCOUNT_CREATE = `
|
||||
INSERT INTO account (company_id, [type], [name])
|
||||
OUTPUT INSERTED.id, INSERTED.company_id, INSERTED.[type], INSERTED.[name]
|
||||
VALUES (@companyId, @type, @name)
|
||||
`;
|
||||
|
||||
export const ACCOUNT_LIST = `
|
||||
SELECT id, company_id, [type], [name]
|
||||
FROM account
|
||||
WHERE company_id = @companyId
|
||||
ORDER BY [name] ASC, id ASC
|
||||
`;
|
||||
|
||||
export const ACCOUNT_DELETE = `
|
||||
DELETE FROM account
|
||||
WHERE id = @id AND company_id = @companyId
|
||||
`;
|
||||
|
||||
export const PAYMENT_CREATE = `
|
||||
INSERT INTO payment (account_id, manifest_id, [type], amount)
|
||||
OUTPUT INSERTED.id, INSERTED.account_id, INSERTED.manifest_id, INSERTED.[type], INSERTED.amount
|
||||
VALUES (@accountId, @manifestId, @type, @amount)
|
||||
`;
|
||||
|
||||
export const PAYMENT_LIST_BY_MANIFEST = `
|
||||
SELECT id, account_id, manifest_id, [type], amount
|
||||
FROM payment
|
||||
WHERE manifest_id = @manifestId
|
||||
ORDER BY id ASC
|
||||
`;
|
||||
|
||||
export const PAYMENT_DELETE = `
|
||||
DELETE FROM payment
|
||||
WHERE id = @id
|
||||
AND manifest_id IN (SELECT m.id FROM manifest m WHERE m.company_id = @companyId)
|
||||
`;
|
||||
|
||||
export const SHIPPING_CREATE = `
|
||||
INSERT INTO shipping (manifest_id, [number], [type], [state])
|
||||
OUTPUT INSERTED.id, INSERTED.manifest_id, INSERTED.[number], INSERTED.[type], INSERTED.[state]
|
||||
VALUES (@manifestId, @number, @type, @state)
|
||||
`;
|
||||
|
||||
export const SHIPPING_LIST_BY_MANIFEST = `
|
||||
SELECT id, manifest_id, [number], [type], [state]
|
||||
FROM shipping
|
||||
WHERE manifest_id = @manifestId
|
||||
ORDER BY id ASC
|
||||
`;
|
||||
|
||||
export const SHIPPING_DELETE = `
|
||||
DELETE FROM shipping
|
||||
WHERE id = @id
|
||||
AND manifest_id IN (SELECT m.id FROM manifest m WHERE m.company_id = @companyId)
|
||||
`;
|
||||
|
||||
export const PACKAGE_CREATE = `
|
||||
INSERT INTO package (shipping_id, entityaddress_id, [number], [type], [state], details)
|
||||
OUTPUT INSERTED.id, INSERTED.shipping_id, INSERTED.entityaddress_id, INSERTED.[number], INSERTED.[type], INSERTED.[state], INSERTED.details
|
||||
VALUES (@shippingId, @entityaddressId, @number, @type, @state, @details)
|
||||
`;
|
||||
|
||||
export const PACKAGE_LIST_BY_SHIPPING = `
|
||||
SELECT id, shipping_id, entityaddress_id, [number], [type], [state], details
|
||||
FROM package
|
||||
WHERE shipping_id = @shippingId
|
||||
ORDER BY id ASC
|
||||
`;
|
||||
|
||||
export const PACKAGE_DELETE = `
|
||||
DELETE FROM package
|
||||
WHERE id = @id
|
||||
AND shipping_id IN (
|
||||
SELECT s.id
|
||||
FROM shipping s
|
||||
INNER JOIN manifest m ON m.id = s.manifest_id
|
||||
WHERE m.company_id = @companyId
|
||||
)
|
||||
`;
|
||||
@@ -1094,6 +1094,65 @@ BEGIN
|
||||
END
|
||||
`;
|
||||
|
||||
export const INIT_ACCOUNT = `
|
||||
IF NOT EXISTS (SELECT * FROM sys.tables WHERE name = 'account')
|
||||
BEGIN
|
||||
CREATE TABLE account (
|
||||
id INT IDENTITY(1,1) PRIMARY KEY,
|
||||
company_id INT NOT NULL,
|
||||
[type] NVARCHAR(100) NOT NULL,
|
||||
[name] NVARCHAR(255) NOT NULL,
|
||||
CONSTRAINT FK_account_company FOREIGN KEY (company_id) REFERENCES company(id) ON DELETE CASCADE
|
||||
);
|
||||
END
|
||||
`;
|
||||
|
||||
export const INIT_PAYMENT = `
|
||||
IF NOT EXISTS (SELECT * FROM sys.tables WHERE name = 'payment')
|
||||
BEGIN
|
||||
CREATE TABLE payment (
|
||||
id INT IDENTITY(1,1) PRIMARY KEY,
|
||||
account_id INT NOT NULL,
|
||||
manifest_id INT NOT NULL,
|
||||
[type] NVARCHAR(100) NOT NULL,
|
||||
amount FLOAT NOT NULL,
|
||||
CONSTRAINT FK_payment_account FOREIGN KEY (account_id) REFERENCES account(id) ON DELETE CASCADE,
|
||||
CONSTRAINT FK_payment_manifest FOREIGN KEY (manifest_id) REFERENCES manifest(id) ON DELETE CASCADE
|
||||
);
|
||||
END
|
||||
`;
|
||||
|
||||
export const INIT_SHIPPING = `
|
||||
IF NOT EXISTS (SELECT * FROM sys.tables WHERE name = 'shipping')
|
||||
BEGIN
|
||||
CREATE TABLE shipping (
|
||||
id INT IDENTITY(1,1) PRIMARY KEY,
|
||||
manifest_id INT NOT NULL,
|
||||
[number] NVARCHAR(100) NOT NULL,
|
||||
[type] NVARCHAR(100) NOT NULL,
|
||||
[state] NVARCHAR(100) NOT NULL,
|
||||
CONSTRAINT FK_shipping_manifest FOREIGN KEY (manifest_id) REFERENCES manifest(id) ON DELETE CASCADE
|
||||
);
|
||||
END
|
||||
`;
|
||||
|
||||
export const INIT_PACKAGE = `
|
||||
IF NOT EXISTS (SELECT * FROM sys.tables WHERE name = 'package')
|
||||
BEGIN
|
||||
CREATE TABLE package (
|
||||
id INT IDENTITY(1,1) PRIMARY KEY,
|
||||
shipping_id INT NOT NULL,
|
||||
entityaddress_id INT NOT NULL,
|
||||
[number] NVARCHAR(100) NOT NULL,
|
||||
[type] NVARCHAR(100) NOT NULL,
|
||||
[state] NVARCHAR(100) NOT NULL,
|
||||
details NVARCHAR(MAX) NULL,
|
||||
CONSTRAINT FK_package_shipping FOREIGN KEY (shipping_id) REFERENCES shipping(id) ON DELETE CASCADE,
|
||||
CONSTRAINT FK_package_entityaddress FOREIGN KEY (entityaddress_id) REFERENCES entityaddress(id) ON DELETE NO ACTION
|
||||
);
|
||||
END
|
||||
`;
|
||||
|
||||
/** DDL scripts in dependency order for schema init. */
|
||||
export const SCHEMA_SCRIPTS = [
|
||||
INIT_META,
|
||||
@@ -1156,5 +1215,9 @@ export const SCHEMA_SCRIPTS = [
|
||||
INIT_FILE,
|
||||
INIT_MANIFESTATTACHMENT,
|
||||
INIT_MANIFESTATTACHMENT_TRIGGER,
|
||||
INIT_ACCOUNT,
|
||||
INIT_PAYMENT,
|
||||
INIT_SHIPPING,
|
||||
INIT_PACKAGE,
|
||||
];
|
||||
|
||||
|
||||
21
src/providers/sqlite3/queries/logistics.js
Normal file
21
src/providers/sqlite3/queries/logistics.js
Normal file
@@ -0,0 +1,21 @@
|
||||
import * as source from '../../mssql/queries/logistics.js';
|
||||
import { translateQueries } from './translate.js';
|
||||
|
||||
const queries = translateQueries(source, 'logistics');
|
||||
export const {
|
||||
CHECK_ACCOUNT_COMPANY,
|
||||
CHECK_ENTITYADDRESS_COMPANY,
|
||||
CHECK_SHIPPING_COMPANY,
|
||||
ACCOUNT_CREATE,
|
||||
ACCOUNT_LIST,
|
||||
ACCOUNT_DELETE,
|
||||
PAYMENT_CREATE,
|
||||
PAYMENT_LIST_BY_MANIFEST,
|
||||
PAYMENT_DELETE,
|
||||
SHIPPING_CREATE,
|
||||
SHIPPING_LIST_BY_MANIFEST,
|
||||
SHIPPING_DELETE,
|
||||
PACKAGE_CREATE,
|
||||
PACKAGE_LIST_BY_SHIPPING,
|
||||
PACKAGE_DELETE,
|
||||
} = queries;
|
||||
@@ -777,6 +777,53 @@ CREATE TABLE IF NOT EXISTS categoryattributevalue (
|
||||
);
|
||||
`;
|
||||
|
||||
export const INIT_ACCOUNT = `
|
||||
CREATE TABLE IF NOT EXISTS account (
|
||||
id INTEGER PRIMARY KEY,
|
||||
company_id INTEGER NOT NULL,
|
||||
"type" TEXT NOT NULL,
|
||||
"name" TEXT NOT NULL,
|
||||
FOREIGN KEY (company_id) REFERENCES company(id) ON DELETE CASCADE
|
||||
);
|
||||
`;
|
||||
|
||||
export const INIT_PAYMENT = `
|
||||
CREATE TABLE IF NOT EXISTS payment (
|
||||
id INTEGER PRIMARY KEY,
|
||||
account_id INTEGER NOT NULL,
|
||||
manifest_id INTEGER NOT NULL,
|
||||
"type" TEXT NOT NULL,
|
||||
amount REAL NOT NULL,
|
||||
FOREIGN KEY (account_id) REFERENCES account(id) ON DELETE CASCADE,
|
||||
FOREIGN KEY (manifest_id) REFERENCES manifest(id) ON DELETE CASCADE
|
||||
);
|
||||
`;
|
||||
|
||||
export const INIT_SHIPPING = `
|
||||
CREATE TABLE IF NOT EXISTS shipping (
|
||||
id INTEGER PRIMARY KEY,
|
||||
manifest_id INTEGER NOT NULL,
|
||||
"number" TEXT NOT NULL,
|
||||
"type" TEXT NOT NULL,
|
||||
"state" TEXT NOT NULL,
|
||||
FOREIGN KEY (manifest_id) REFERENCES manifest(id) ON DELETE CASCADE
|
||||
);
|
||||
`;
|
||||
|
||||
export const INIT_PACKAGE = `
|
||||
CREATE TABLE IF NOT EXISTS package (
|
||||
id INTEGER PRIMARY KEY,
|
||||
shipping_id INTEGER NOT NULL,
|
||||
entityaddress_id INTEGER NOT NULL,
|
||||
"number" TEXT NOT NULL,
|
||||
"type" TEXT NOT NULL,
|
||||
"state" TEXT NOT NULL,
|
||||
details TEXT,
|
||||
FOREIGN KEY (shipping_id) REFERENCES shipping(id) ON DELETE CASCADE,
|
||||
FOREIGN KEY (entityaddress_id) REFERENCES entityaddress(id) ON DELETE NO ACTION
|
||||
);
|
||||
`;
|
||||
|
||||
/** DDL scripts in dependency order for SQLite schema initialization. */
|
||||
export const SCHEMA_SCRIPTS = [
|
||||
INIT_META,
|
||||
@@ -836,4 +883,8 @@ export const SCHEMA_SCRIPTS = [
|
||||
INIT_FILE,
|
||||
INIT_MANIFESTATTACHMENT,
|
||||
INIT_MANIFESTATTACHMENT_TRIGGER,
|
||||
INIT_ACCOUNT,
|
||||
INIT_PAYMENT,
|
||||
INIT_SHIPPING,
|
||||
INIT_PACKAGE,
|
||||
];
|
||||
|
||||
Reference in New Issue
Block a user