SUM(CASE WHEN L.document_type ='生产领料' THEN ISNULL(L.roll_qty,0) ELSE 0 END ) qtyIssue,
SUM(CASE WHEN L.document_type ='生产退仓' THEN ISNULL(L.roll_qty,0) ELSE 0 END ) qtyReturn ,
CASE
WHEN (SUM(CASE WHEN L.document_type = '生产领料' THEN ISNULL(L.roll_qty, 0) ELSE 0 END)
- SUM(CASE WHEN L.document_type = '生产退仓' THEN ISNULL(L.roll_qty, 0) ELSE 0 END))
- ISNULL(vss.QtyRequired, 0) <![CDATA[<]]> 0
THEN 0
ELSE (SUM(CASE WHEN L.document_type = '生产领料' THEN ISNULL(L.roll_qty, 0) ELSE 0 END)
- SUM(CASE WHEN L.document_type = '生产退仓' THEN ISNULL(L.roll_qty, 0) ELSE 0 END))
- ISNULL(vss.QtyRequired, 0)
END AS qtyShouldReturn
FROM ShopOrder S
INNER JOIN SOBOM vss ON vss.Site = S.site and S.OrderNo = vss.OrderNo
LEFT JOIN Part P ON vss.Site = P.Site AND vss.ComponentPartNo = P.PartNo
LEFT JOIN UM U ON P.Site = U.Site AND P.UMID = U.UMID
LEFT JOIN StockTransactionLog L ON vss.Site = L.site AND vss.OrderNo = L.order_no AND vss.ItemNo = L.bom_item_no AND L.document_type IN ('生产领料','生产退仓')
<where>
vss.Site = P.Site AND vss.ComponentPartNo = P.PartNo
<iftest="site != null and site != ''">
AND vss.Site = #{site}
</if>
@ -827,6 +834,8 @@
AND vss.OrderNo = #{orderNo}
</if>
</where>
GROUP BY vss.Site, vss.OrderNo, vss.ItemNo, vss.ComponentPartNo, P.PartDescription, P.Spec, U.UMName, vss.QtyAssembly, vss.QtyFixedScrapt,