u
This commit is contained in:
@@ -7,10 +7,30 @@ SELECT
|
||||
m.[type],
|
||||
m.entity_id AS supplierId,
|
||||
m.external_number AS externalNumber,
|
||||
m.[date]
|
||||
m.[date],
|
||||
m.created_at AS createdAt,
|
||||
COUNT(ma.id) AS totalPositions,
|
||||
COUNT(CASE WHEN ma.id IS NOT NULL AND (
|
||||
(ma.amount > 0 AND COALESCE(ma_ledger.booked_amount, 0) >= ma.amount) OR
|
||||
(ma.amount <= 0 AND COALESCE(ma_ledger.booked_amount, 0) > 0)
|
||||
) THEN 1 END) AS completelyOnLedgerPositions
|
||||
FROM manifest m
|
||||
LEFT JOIN manifestarticle ma ON ma.manifest_id = m.id
|
||||
LEFT JOIN (
|
||||
SELECT manifestarticle_id, SUM(amount) AS booked_amount
|
||||
FROM ledger
|
||||
GROUP BY manifestarticle_id
|
||||
) ma_ledger ON ma_ledger.manifestarticle_id = ma.id
|
||||
WHERE m.company_id = @companyId
|
||||
AND m.[type] = @type
|
||||
GROUP BY
|
||||
m.id,
|
||||
m.[number],
|
||||
m.[type],
|
||||
m.entity_id,
|
||||
m.external_number,
|
||||
m.[date],
|
||||
m.created_at
|
||||
ORDER BY m.[date] DESC, m.id DESC
|
||||
`;
|
||||
|
||||
@@ -21,11 +41,31 @@ SELECT
|
||||
m.[type],
|
||||
m.entity_id AS supplierId,
|
||||
m.external_number AS externalNumber,
|
||||
m.[date]
|
||||
m.[date],
|
||||
m.created_at AS createdAt,
|
||||
COUNT(ma.id) AS totalPositions,
|
||||
COUNT(CASE WHEN ma.id IS NOT NULL AND (
|
||||
(ma.amount > 0 AND COALESCE(ma_ledger.booked_amount, 0) >= ma.amount) OR
|
||||
(ma.amount <= 0 AND COALESCE(ma_ledger.booked_amount, 0) > 0)
|
||||
) THEN 1 END) AS completelyOnLedgerPositions
|
||||
FROM manifest m
|
||||
LEFT JOIN manifestarticle ma ON ma.manifest_id = m.id
|
||||
LEFT JOIN (
|
||||
SELECT manifestarticle_id, SUM(amount) AS booked_amount
|
||||
FROM ledger
|
||||
GROUP BY manifestarticle_id
|
||||
) ma_ledger ON ma_ledger.manifestarticle_id = ma.id
|
||||
WHERE m.id = @id
|
||||
AND m.company_id = @companyId
|
||||
AND m.[type] = @type
|
||||
GROUP BY
|
||||
m.id,
|
||||
m.[number],
|
||||
m.[type],
|
||||
m.entity_id,
|
||||
m.external_number,
|
||||
m.[date],
|
||||
m.created_at
|
||||
`;
|
||||
|
||||
export const GET_DELIVERY_LINES = `
|
||||
@@ -45,9 +85,9 @@ ORDER BY ma.id
|
||||
`;
|
||||
|
||||
export const CREATE_MANIFEST = `
|
||||
INSERT INTO manifest (company_id, [number], [type], entity_id, external_number, [date])
|
||||
INSERT INTO manifest (company_id, [number], [type], entity_id, external_number, [date], created_at)
|
||||
OUTPUT INSERTED.id
|
||||
VALUES (@companyId, @number, @type, @entityId, @externalNumber, @date)
|
||||
VALUES (@companyId, @number, @type, @entityId, @externalNumber, @date, COALESCE(@createdAt, SYSUTCDATETIME()))
|
||||
`;
|
||||
|
||||
export const UPDATE_MANIFEST = `
|
||||
@@ -56,7 +96,8 @@ SET
|
||||
[number] = @number,
|
||||
entity_id = @entityId,
|
||||
external_number = @externalNumber,
|
||||
[date] = @date
|
||||
[date] = @date,
|
||||
created_at = COALESCE(@createdAt, created_at)
|
||||
WHERE id = @id
|
||||
AND company_id = @companyId
|
||||
AND [type] = @type
|
||||
|
||||
@@ -1,7 +1,19 @@
|
||||
export const CHECK_MANIFESTARTICLE_ACCESS = `
|
||||
SELECT ma.id, ma.sku
|
||||
SELECT
|
||||
ma.id,
|
||||
ma.sku,
|
||||
ma.amount AS lineAmount,
|
||||
ma.net,
|
||||
ma.rebate,
|
||||
ma.taxrate,
|
||||
m.id AS manifestId,
|
||||
m.[number] AS manifestNumber,
|
||||
m.[type] AS manifestType,
|
||||
m.external_number AS externalNumber,
|
||||
e.name AS supplierName
|
||||
FROM manifestarticle ma
|
||||
INNER JOIN manifest m ON ma.manifest_id = m.id
|
||||
LEFT JOIN entity e ON e.id = m.entity_id
|
||||
WHERE ma.id = @manifestarticleId AND m.company_id = @companyId;
|
||||
`;
|
||||
|
||||
|
||||
@@ -13,7 +13,8 @@ SELECT
|
||||
m.[type],
|
||||
m.entity_id AS entityId,
|
||||
m.external_number AS externalNumber,
|
||||
m.[date]
|
||||
m.[date],
|
||||
m.created_at AS createdAt
|
||||
FROM manifest m
|
||||
WHERE m.company_id = @companyId
|
||||
AND m.[type] = @type
|
||||
@@ -27,7 +28,8 @@ SELECT
|
||||
m.[type],
|
||||
m.entity_id AS entityId,
|
||||
m.external_number AS externalNumber,
|
||||
m.[date]
|
||||
m.[date],
|
||||
m.created_at AS createdAt
|
||||
FROM manifest m
|
||||
WHERE m.id = @id
|
||||
AND m.company_id = @companyId
|
||||
@@ -51,9 +53,9 @@ ORDER BY ma.id
|
||||
`;
|
||||
|
||||
export const CREATE_MANIFEST = `
|
||||
INSERT INTO manifest (company_id, [number], [type], entity_id, external_number, [date])
|
||||
INSERT INTO manifest (company_id, [number], [type], entity_id, external_number, [date], created_at)
|
||||
OUTPUT INSERTED.id
|
||||
VALUES (@companyId, @number, @type, @entityId, @externalNumber, @date)
|
||||
VALUES (@companyId, @number, @type, @entityId, @externalNumber, @date, COALESCE(@createdAt, SYSUTCDATETIME()))
|
||||
`;
|
||||
|
||||
export const UPDATE_MANIFEST = `
|
||||
@@ -62,7 +64,8 @@ SET
|
||||
[number] = @number,
|
||||
entity_id = @entityId,
|
||||
external_number = @externalNumber,
|
||||
[date] = @date
|
||||
[date] = @date,
|
||||
created_at = COALESCE(@createdAt, created_at)
|
||||
WHERE id = @id
|
||||
AND company_id = @companyId
|
||||
AND [type] = @type
|
||||
|
||||
@@ -565,6 +565,7 @@ BEGIN
|
||||
entity_id INT NULL,
|
||||
external_number NVARCHAR(100) NULL,
|
||||
[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
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user