Alan Fitch
07/18/2022, 5:54 PMMatt Bernstein
07/18/2022, 8:33 PMAlan Fitch
07/19/2022, 2:22 PMWITH relitems AS (
SELECT
transactionline.item,
transactionline.createdfrom AS transaction
FROM
transaction
INNER JOIN transactionline ON transaction.id = transactionline.transaction
INNER JOIN transaction as wo on wo.id = transactionline.createdfrom
WHERE
transactionline.mainline = 'F'
AND transaction.type = 'WOIssue' -- and transactionline.createdfrom = 186728
and wo.trandate between TO_DATE('05/01/2022') and TO_DATE('06/01/2022')
UNION
SELECT
transactionline.item,
transaction.id AS transaction
FROM
transaction
INNER JOIN transactionline ON transactionline.transaction = transaction.id
WHERE
transactionline.mainline = 'F' -- AND transactionline.transaction = 186728
AND transaction.type = 'WorkOrd'
and transactionline.quantity < 0
and transaction.trandate between TO_DATE('05/01/2022') and TO_DATE('06/01/2022')
UNION
SELECT
component.item,
transaction.id
FROM
transaction
INNER JOIN bomrevision ON transaction.billofmaterialsrevision = bomrevision.id
INNER JOIN bomrevisioncomponentmember AS component ON component.bomrevision = bomrevision.id -- WHERE
where
transaction.type = 'WorkOrd'
and transaction.trandate between TO_DATE('06/01/2022') and TO_DATE('06/01/2022')
),
issuelines AS (
SELECT
transactionline.createdfrom AS workorder,
transactionline.item,
SUM(transactionline.quantity) * -1 AS quantity
FROM
transaction
INNER JOIN transactionline ON transactionline.transaction = transaction.id
WHERE
transactionline.isinventoryaffecting = 'T'
AND transaction.type = 'WOIssue'
GROUP BY
transactionline.item,
transactionline.createdfrom
),
wolines AS (
SELECT
transactionline.item,
transactionline.quantity * -1 AS quantity,
transaction.id AS workorder
FROM
transaction
INNER JOIN transactionline ON transactionline.transaction = transaction.id
WHERE
transactionline.mainline = 'F'
AND transaction.type = 'WorkOrd'
),
bomlines AS (
SELECT
transaction.id as workorder,
components.item,
components.quantity * buom.conversionrate as bomquantity,
(components.quantity * buom.conversionrate) * mainline.quantity as totalquantity
FROM
transaction
INNER JOIN transactionline as mainline ON mainline.transaction = transaction.id
AND mainline.mainline = 'T'
INNER JOIN bomrevision ON bomrevision.id = transaction.billofmaterialsrevision
INNER JOIN bomrevisioncomponentmember AS components ON components.bomrevision = bomrevision.id
INNER JOIN unitstypeuom as buom on buom.internalid = components.units
)
SELECT
relitems.item,
item.itemid,
item.displayname,
item.description,
issuelines.quantity AS issuequantity,
wolines.quantity AS woquantity,
bomlines.totalquantity as quantityperbom
FROM
relitems
INNER JOIN item ON item.id = relitems.item
LEFT JOIN issuelines ON issuelines.item = relitems.item
AND issuelines.workorder = relitems.transaction
LEFT JOIN wolines ON wolines.item = relitems.item
AND wolines.workorder = relitems.transaction
LEFT JOIN bomlines on bomlines.workorder = relitems.transaction and bomlines.item = relitems.item
inner join transaction as wo on relitems.transaction = wo.id
dynamicl
07/19/2022, 6:31 PMmichoel
07/19/2022, 11:33 PMmichoel
07/19/2022, 11:34 PM