Znajduje się też w rpocedurze kontrolnej nr
[document].[test_balanceCheck]
@code='064'
SQL |
---|
| ;with documentRealizedQuantities as
(
select sum((case when dt.componentName = 'documentOut' then -1 else 1 end) * sign * itemQuantity) sumIQ
, orderLineID from document.documentLine dl
inner join document.document d on d.documentID = dl.documentID
inner join document.documenttype dt on dt.documentType = d.documentType and masterDocumentCategory = 'warehouse'
and dt.realizeOrder = 1
where dl.[status] = 1 --and dl.itemid ='3b58ebdb-669a-ea11-9546-d89d6719e0cb'
group by orderLineID
)
select
(ol.itemQuantity - drq.sumIQ ) total,
ol.orderLineStatus,
o.orderFullNR,
O.ORDERID,
ol.orderLineID,
ol.orderOrdinalNumber,
o.orderDate,
drq.sumIQ DOKUMENTY_IL,
ol.itemQuantity ZAMOWIENIE_IL,
ol.itemQuantityLeft ZAMOWIENIE_il_P ,
'update [document].[orderline] set itemQuantityLeft = ' + cast( (ol.itemQuantity - drq.sumIQ ) as varchar(12)) +' where orderlineid='''+
cast(ol.orderLineID as varchar(36)) + '''' SQL
from documentRealizedQuantities drq
left join document.orderLine ol on ol.orderLineID = drq.orderLineID
left join document.[order] o on o.orderID = ol.orderID
where
drq.sumIQ > (ol.itemQuantity - ol.itemQuantityLeft)
and ol.orderLineStatus = 3 --realizacja automatyczna
and o.orderdate > @date
|