u
This commit is contained in:
@@ -668,41 +668,20 @@ SELECT
|
|||||||
SELECT 1 FROM articlelistarticle ala WITH (NOLOCK) WHERE ala.articlelist_id = a.articlelist_id
|
SELECT 1 FROM articlelistarticle ala WITH (NOLOCK) WHERE ala.articlelist_id = a.articlelist_id
|
||||||
) THEN COALESCE((
|
) THEN COALESCE((
|
||||||
SELECT CASE
|
SELECT CASE
|
||||||
WHEN MIN(COALESCE(comp_stock.stock, 0) / ala.count) < 0 THEN 0
|
WHEN MIN(COALESCE(aws_comp.stock, 0) / ala.count) < 0 THEN 0
|
||||||
ELSE FLOOR(MIN(COALESCE(comp_stock.stock, 0) / ala.count))
|
ELSE FLOOR(MIN(COALESCE(aws_comp.stock, 0) / ala.count))
|
||||||
END
|
END
|
||||||
FROM articlelistarticle ala WITH (NOLOCK)
|
FROM articlelistarticle ala WITH (NOLOCK)
|
||||||
LEFT JOIN (
|
LEFT JOIN articlewarehousesummary aws_comp WITH (NOLOCK)
|
||||||
SELECT ca.id AS comp_id, SUM(l.amount) AS stock
|
ON aws_comp.article_id = ala.article_id AND aws_comp.warehouse_id = w.id
|
||||||
FROM ledger l WITH (NOLOCK)
|
|
||||||
INNER JOIN manifestarticle ma WITH (NOLOCK) ON ma.id = l.manifestarticle_id
|
|
||||||
INNER JOIN manifest m WITH (NOLOCK) ON m.id = ma.manifest_id
|
|
||||||
INNER JOIN article ca WITH (NOLOCK) ON (
|
|
||||||
ma.sku = ca.sku
|
|
||||||
OR ma.sku IN (SELECT asup.sku FROM articlesupplier asup WITH (NOLOCK) WHERE asup.article_id = ca.id)
|
|
||||||
)
|
|
||||||
WHERE m.company_id = a.company_id
|
|
||||||
AND l.warehouse_id = w.id
|
|
||||||
GROUP BY ca.id
|
|
||||||
) comp_stock ON comp_stock.comp_id = ala.article_id
|
|
||||||
WHERE ala.articlelist_id = a.articlelist_id
|
WHERE ala.articlelist_id = a.articlelist_id
|
||||||
), 0)
|
), 0)
|
||||||
WHEN a.articlelist_id IS NOT NULL THEN 0
|
WHEN a.articlelist_id IS NOT NULL THEN 0
|
||||||
ELSE COALESCE(stock_calc.stock, 0)
|
ELSE COALESCE(aws.stock, 0)
|
||||||
END AS stock
|
END AS stock
|
||||||
FROM warehouse w WITH (NOLOCK)
|
FROM warehouse w WITH (NOLOCK)
|
||||||
LEFT JOIN (
|
LEFT JOIN articlewarehousesummary aws WITH (NOLOCK)
|
||||||
SELECT l.warehouse_id, SUM(l.amount) AS stock
|
ON aws.article_id = a.id AND aws.warehouse_id = w.id
|
||||||
FROM ledger l WITH (NOLOCK)
|
|
||||||
INNER JOIN manifestarticle ma WITH (NOLOCK) ON ma.id = l.manifestarticle_id
|
|
||||||
INNER JOIN manifest m WITH (NOLOCK) ON m.id = ma.manifest_id
|
|
||||||
WHERE m.company_id = a.company_id
|
|
||||||
AND (
|
|
||||||
ma.sku = a.sku
|
|
||||||
OR ma.sku IN (SELECT asup.sku FROM articlesupplier asup WITH (NOLOCK) WHERE asup.article_id = a.id)
|
|
||||||
)
|
|
||||||
GROUP BY l.warehouse_id
|
|
||||||
) stock_calc ON stock_calc.warehouse_id = w.id
|
|
||||||
WHERE w.company_id = a.company_id
|
WHERE w.company_id = a.company_id
|
||||||
ORDER BY w.sort ASC, w.name ASC
|
ORDER BY w.sort ASC, w.name ASC
|
||||||
FOR JSON PATH
|
FOR JSON PATH
|
||||||
@@ -715,15 +694,12 @@ SELECT
|
|||||||
COALESCE(os.customer_name, LTRIM(RTRIM(ISNULL(e.first_name + ' ', '') + ISNULL(e.name, '')))) AS customerName,
|
COALESCE(os.customer_name, LTRIM(RTRIM(ISNULL(e.first_name + ' ', '') + ISNULL(e.name, '')))) AS customerName,
|
||||||
ROUND(SUM(ma.amount) - COALESCE((
|
ROUND(SUM(ma.amount) - COALESCE((
|
||||||
SELECT SUM(ma_s.amount)
|
SELECT SUM(ma_s.amount)
|
||||||
FROM manifest m_s WITH (NOLOCK)
|
FROM shipmentsummary ss WITH (NOLOCK)
|
||||||
INNER JOIN manifestarticle ma_s WITH (NOLOCK) ON ma_s.manifest_id = m_s.id
|
INNER JOIN manifestarticle ma_s WITH (NOLOCK) ON ma_s.manifest_id = ss.manifest_id
|
||||||
LEFT JOIN shipmentsummary ss WITH (NOLOCK) ON ss.manifest_id = m_s.id
|
WHERE ss.company_id = m.company_id
|
||||||
WHERE m_s.company_id = m.company_id
|
AND ss.order_id = m.id
|
||||||
AND m_s.[type] = 'shipment'
|
|
||||||
AND ISNULL(ss.state, 'new') != 'cancelled'
|
AND ISNULL(ss.state, 'new') != 'cancelled'
|
||||||
AND m_s.[number] NOT LIKE '%#cancelled#%'
|
|
||||||
AND ma_s.sku = a.sku
|
AND ma_s.sku = a.sku
|
||||||
AND m_s.[number] LIKE m.[number] + COALESCE((SELECT prefix FROM numbers WITH (NOLOCK) WHERE company_id = m.company_id AND [type] = 'shipment'), '-L-') + '%'
|
|
||||||
), 0), 3) AS amount
|
), 0), 3) AS amount
|
||||||
FROM manifest m WITH (NOLOCK)
|
FROM manifest m WITH (NOLOCK)
|
||||||
INNER JOIN manifestarticle ma WITH (NOLOCK) ON ma.manifest_id = m.id
|
INNER JOIN manifestarticle ma WITH (NOLOCK) ON ma.manifest_id = m.id
|
||||||
@@ -736,15 +712,12 @@ SELECT
|
|||||||
GROUP BY m.id, m.[number], m.[date], m.company_id, os.customer_name, e.first_name, e.name
|
GROUP BY m.id, m.[number], m.[date], m.company_id, os.customer_name, e.first_name, e.name
|
||||||
HAVING (SUM(ma.amount) - COALESCE((
|
HAVING (SUM(ma.amount) - COALESCE((
|
||||||
SELECT SUM(ma_s.amount)
|
SELECT SUM(ma_s.amount)
|
||||||
FROM manifest m_s WITH (NOLOCK)
|
FROM shipmentsummary ss WITH (NOLOCK)
|
||||||
INNER JOIN manifestarticle ma_s WITH (NOLOCK) ON ma_s.manifest_id = m_s.id
|
INNER JOIN manifestarticle ma_s WITH (NOLOCK) ON ma_s.manifest_id = ss.manifest_id
|
||||||
LEFT JOIN shipmentsummary ss WITH (NOLOCK) ON ss.manifest_id = m_s.id
|
WHERE ss.company_id = m.company_id
|
||||||
WHERE m_s.company_id = m.company_id
|
AND ss.order_id = m.id
|
||||||
AND m_s.[type] = 'shipment'
|
|
||||||
AND ISNULL(ss.state, 'new') != 'cancelled'
|
AND ISNULL(ss.state, 'new') != 'cancelled'
|
||||||
AND m_s.[number] NOT LIKE '%#cancelled#%'
|
|
||||||
AND ma_s.sku = a.sku
|
AND ma_s.sku = a.sku
|
||||||
AND m_s.[number] LIKE m.[number] + COALESCE((SELECT prefix FROM numbers WITH (NOLOCK) WHERE company_id = m.company_id AND [type] = 'shipment'), '-L-') + '%'
|
|
||||||
), 0)) > 0
|
), 0)) > 0
|
||||||
ORDER BY m.[date] ASC, m.id ASC
|
ORDER BY m.[date] ASC, m.id ASC
|
||||||
FOR JSON PATH
|
FOR JSON PATH
|
||||||
|
|||||||
@@ -256,41 +256,20 @@ SELECT auth.*,
|
|||||||
SELECT 1 FROM articlelistarticle ala WHERE ala.articlelist_id = a.articlelist_id
|
SELECT 1 FROM articlelistarticle ala WHERE ala.articlelist_id = a.articlelist_id
|
||||||
) THEN COALESCE((
|
) THEN COALESCE((
|
||||||
SELECT CASE
|
SELECT CASE
|
||||||
WHEN MIN(COALESCE(comp_stock.stock, 0) / ala.count) < 0 THEN 0
|
WHEN MIN(COALESCE(aws_comp.stock, 0) / ala.count) < 0 THEN 0
|
||||||
ELSE CAST(MIN(COALESCE(comp_stock.stock, 0) / ala.count) AS INTEGER)
|
ELSE CAST(MIN(COALESCE(aws_comp.stock, 0) / ala.count) AS INTEGER)
|
||||||
END
|
END
|
||||||
FROM articlelistarticle ala
|
FROM articlelistarticle ala
|
||||||
LEFT JOIN (
|
LEFT JOIN articlewarehousesummary aws_comp
|
||||||
SELECT ca.id AS comp_id, SUM(l.amount) AS stock
|
ON aws_comp.article_id = ala.article_id AND aws_comp.warehouse_id = w.id
|
||||||
FROM ledger l
|
|
||||||
INNER JOIN manifestarticle ma ON ma.id = l.manifestarticle_id
|
|
||||||
INNER JOIN manifest m ON m.id = ma.manifest_id
|
|
||||||
INNER JOIN article ca ON (
|
|
||||||
ma.sku = ca.sku
|
|
||||||
OR ma.sku IN (SELECT asup.sku FROM articlesupplier asup WHERE asup.article_id = ca.id)
|
|
||||||
)
|
|
||||||
WHERE m.company_id = a.company_id
|
|
||||||
AND l.warehouse_id = w.id
|
|
||||||
GROUP BY ca.id
|
|
||||||
) comp_stock ON comp_stock.comp_id = ala.article_id
|
|
||||||
WHERE ala.articlelist_id = a.articlelist_id
|
WHERE ala.articlelist_id = a.articlelist_id
|
||||||
), 0)
|
), 0)
|
||||||
WHEN a.articlelist_id IS NOT NULL THEN 0
|
WHEN a.articlelist_id IS NOT NULL THEN 0
|
||||||
ELSE COALESCE(stock_calc.stock, 0)
|
ELSE COALESCE(aws.stock, 0)
|
||||||
END
|
END
|
||||||
)), '[]') FROM warehouse w
|
)), '[]') FROM warehouse w
|
||||||
LEFT JOIN (
|
LEFT JOIN articlewarehousesummary aws
|
||||||
SELECT l.warehouse_id, SUM(l.amount) AS stock
|
ON aws.article_id = a.id AND aws.warehouse_id = w.id
|
||||||
FROM ledger l
|
|
||||||
INNER JOIN manifestarticle ma ON ma.id = l.manifestarticle_id
|
|
||||||
INNER JOIN manifest m ON m.id = ma.manifest_id
|
|
||||||
WHERE m.company_id = a.company_id
|
|
||||||
AND (
|
|
||||||
ma.sku = a.sku
|
|
||||||
OR ma.sku IN (SELECT asup.sku FROM articlesupplier asup WHERE asup.article_id = a.id)
|
|
||||||
)
|
|
||||||
GROUP BY l.warehouse_id
|
|
||||||
) stock_calc ON stock_calc.warehouse_id = w.id
|
|
||||||
WHERE w.company_id = a.company_id
|
WHERE w.company_id = a.company_id
|
||||||
ORDER BY w.sort ASC, w.name ASC)),
|
ORDER BY w.sort ASC, w.name ASC)),
|
||||||
'undeliveredOrdersJson', json((
|
'undeliveredOrdersJson', json((
|
||||||
@@ -309,15 +288,12 @@ SELECT auth.*,
|
|||||||
COALESCE(os.customer_name, TRIM(COALESCE(e.first_name || ' ', '') || COALESCE(e.name, ''))) AS customerName,
|
COALESCE(os.customer_name, TRIM(COALESCE(e.first_name || ' ', '') || COALESCE(e.name, ''))) AS customerName,
|
||||||
ROUND(SUM(ma.amount) - COALESCE((
|
ROUND(SUM(ma.amount) - COALESCE((
|
||||||
SELECT SUM(ma_s.amount)
|
SELECT SUM(ma_s.amount)
|
||||||
FROM manifest m_s
|
FROM shipmentsummary ss
|
||||||
INNER JOIN manifestarticle ma_s ON ma_s.manifest_id = m_s.id
|
INNER JOIN manifestarticle ma_s ON ma_s.manifest_id = ss.manifest_id
|
||||||
LEFT JOIN shipmentsummary ss ON ss.manifest_id = m_s.id
|
WHERE ss.company_id = m.company_id
|
||||||
WHERE m_s.company_id = m.company_id
|
AND ss.order_id = m.id
|
||||||
AND m_s."type" = 'shipment'
|
|
||||||
AND COALESCE(ss.state, 'new') != 'cancelled'
|
AND COALESCE(ss.state, 'new') != 'cancelled'
|
||||||
AND m_s."number" NOT LIKE '%#cancelled#%'
|
|
||||||
AND ma_s.sku = a.sku
|
AND ma_s.sku = a.sku
|
||||||
AND m_s."number" LIKE m."number" || COALESCE((SELECT prefix FROM numbers WHERE company_id = m.company_id AND "type" = 'shipment'), '-L-') || '%'
|
|
||||||
), 0), 3) AS amount
|
), 0), 3) AS amount
|
||||||
FROM manifest m
|
FROM manifest m
|
||||||
INNER JOIN manifestarticle ma ON ma.manifest_id = m.id
|
INNER JOIN manifestarticle ma ON ma.manifest_id = m.id
|
||||||
@@ -330,15 +306,12 @@ SELECT auth.*,
|
|||||||
GROUP BY m.id, m."number", m."date", os.customer_name, e.first_name, e.name
|
GROUP BY m.id, m."number", m."date", os.customer_name, e.first_name, e.name
|
||||||
HAVING (SUM(ma.amount) - COALESCE((
|
HAVING (SUM(ma.amount) - COALESCE((
|
||||||
SELECT SUM(ma_s.amount)
|
SELECT SUM(ma_s.amount)
|
||||||
FROM manifest m_s
|
FROM shipmentsummary ss
|
||||||
INNER JOIN manifestarticle ma_s ON ma_s.manifest_id = m_s.id
|
INNER JOIN manifestarticle ma_s ON ma_s.manifest_id = ss.manifest_id
|
||||||
LEFT JOIN shipmentsummary ss ON ss.manifest_id = m_s.id
|
WHERE ss.company_id = m.company_id
|
||||||
WHERE m_s.company_id = m.company_id
|
AND ss.order_id = m.id
|
||||||
AND m_s."type" = 'shipment'
|
|
||||||
AND COALESCE(ss.state, 'new') != 'cancelled'
|
AND COALESCE(ss.state, 'new') != 'cancelled'
|
||||||
AND m_s."number" NOT LIKE '%#cancelled#%'
|
|
||||||
AND ma_s.sku = a.sku
|
AND ma_s.sku = a.sku
|
||||||
AND m_s."number" LIKE m."number" || COALESCE((SELECT prefix FROM numbers WHERE company_id = m.company_id AND "type" = 'shipment'), '-L-') || '%'
|
|
||||||
), 0)) > 0
|
), 0)) > 0
|
||||||
ORDER BY m."date" ASC, m.id ASC
|
ORDER BY m."date" ASC, m.id ASC
|
||||||
) uo
|
) uo
|
||||||
|
|||||||
Reference in New Issue
Block a user