set @localxml=
(SELECT
OrderItems.OrderNo "OrderNo" --"h - OrderNo" -- 0
,OrderItems.[LineNo] "LineNo" --"h - LineNo" -- 1
,OrderItems.[ItemId] "ItemId" --"h - ItemId" -- 2
,OrderItems.[CscuName] "CscuName" --"h - CskuName" -- 3
,OrderItems.[VariantCode] "VariantCode" --"h - VarCode" -- 4
,OrderItems.[Quantity] "Quantity" --"int - Количество" -- 5
,OrderItems.[ItemName] "ItemName" --"txt - Название" -- 6
,case when isnull(OrderItems.[VariantName], '')='' then OrderItems.[VariantCode] else OrderItems.[VariantName] end
"VariantName" --"txt - Размер" -- 7
,OrderItems.[PriceInclVat] "PriceInclVat" --"money - Цена" -- 8
--,OrderItems.[CouponInclVat] "CouponInclVat" --"money - Купон" -- 9
,q3.AmountCP "CouponInclVat" --"money - Купон" -- 9
,OrderItems.[VatPercent] "VatPercent" --"int - Ставка НДС" --10
,OrderItems.[VatAmount] "VatAmount" --"money - Сумма НДС" --11
,OrderItems.[PriceExclVat] "PriceExclVat" --"h - Цена без НДС" --12
,OrderItems.[CouponExclVat] "CouponExclVat" --"h - Купон без НДС" --13
,case when OrderItems.[url]='' then '' else
case when charindex(',', OrderItems.[url], 1)=0 then OrderItems.[url] else SUBSTRING(OrderItems.[url], 1, charindex(',', OrderItems.[url], 1)-1) end
end "url" --"h - url" --14
,Orders.CampaignName "CampaignName" --"h - Акция" --15
,OrderItems.[Quantity] "MaxQuantity" --"h - MaxQuantity" --16
,Orders.CampaignCode "CampaignCode" --"h - CampaignCode" --17
,OrderItems.[ItemDescription] "ItemDescription" --"h - ItemDescription" --18
,OrderItems.Changed "Changed" --"h - Changed" --19
--,isnull(ROUND((OrderItems.PriceInclVat+OrderItems.CouponInclVat)* convert(float, (Orders.CashlessDiscount))/100, 0), 0) "DiscountCashLess" --"h - DiscountCashLess" --20
,isnull(q2.AmountBN, 0) "DiscountCashLess" --"h - DiscountCashLess" --20
,isnull(OrderItems.[LPAmount], 0) "LPAmount"
,isnull(OrderItems.[LPToAdd], 0) "LPToAdd"
,isnull(q4.[AvaibleQty],0) "InWare"
,isnull(q5.Reason,0) PCID
,isnull(q5.ReasonDescr,'') PCD
, OrderItems.PriceInclVat+OrderItems.CouponInclVat+isnull(OrderItems.LPAmount,0) InSite
from
(
select
OrderNo,
Host,
CashlessDiscount,
PaymentMethod,
CampaignName,
CampaignCode
from @Order
)Orders
left join
(
SELECT [OrderNo]
,[Host]
,[LineNo]
,[ItemId]
,[CscuName]
,[VariantCode]
,[Quantity]
,[VatPercent]
,[VatAmount]
,[PriceExclVat]
,[PriceInclVat]
,[CouponExclVat]
,[CouponInclVat]
,[ItemName]
,[VariantName]
,[url]
,[ItemDescription]
,[Changed]
,[LPAmount]
,LPToAdd
FROM [dbo].[cc_OrderItems](nolock)
)OrderItems
on OrderItems.OrderNo=@OrderNo and OrderItems.Host=@Host
outer apply
(
select isnull(sum([Amount]),0) AmountBN
from
(
Select distinct CSCU, Variant, DiscountType, Amount
from
(
select distinct *
from MO.[dbo].[cc_Order_HeadDiscount](nolock) q
where [OrderNo]=@OrderNo
and [OrderType]=(select top 1 [ShortName] from MO.[dbo].[cc_Ref_OrderTypes](nolock) where [id]=@OT)
and Id=(select max(Id) from MO.[dbo].[cc_Order_HeadDiscount](nolock) where [OrderNo]=@OrderNo and [OrderType]=q.OrderType)
) t1
left join MO.[dbo].[cc_Order_HeadDiscountItems](nolock) t2
on t1.Id=t2.idHead
) z1
where DiscountType='PAYMENT'
and CSCU=OrderItems.[CscuName]
and Variant=OrderItems.[VariantCode]
) q2
outer apply
(
select isnull(sum([Amount]),0) AmountCP
from
(
Select distinct CSCU, Variant, DiscountType, Amount
from
(
select distinct *
from MO.[dbo].[cc_Order_HeadDiscount](nolock) q
where [OrderNo]=@OrderNo
and [OrderType]=(select top 1 [ShortName] from MO.[dbo].[cc_Ref_OrderTypes](nolock) where [id]=@OT)
and Id=(select max(Id) from MO.[dbo].[cc_Order_HeadDiscount](nolock) where [OrderNo]=@OrderNo and [OrderType]=q.OrderType)
) t1
left join MO.[dbo].[cc_Order_HeadDiscountItems](nolock) t2
on t1.Id=t2.idHead
) z2
where DiscountType not in ('PAYMENT','LOYAL')
and CSCU=OrderItems.[CscuName]
and Variant=OrderItems.[VariantCode]
) q3
outer apply
( select top 1 *
from [KupiVIP].[dbo].[v_AvaibleQty]
where [Item No_]=OrderItems.CscuName and [Variant Code]=OrderItems.VariantCode
) q4
outer apply
(
select top 1 [Reason],
(select top 1 [Description] from [dbo].[cc_Ref_PartialCancel](nolock) where [id]=p.Reason) ReasonDescr
from [dbo].[cc_ItemsChange_Log](nolock) p
where [OrderNo]=OrderItems.OrderNo
and [Host]=OrderItems.Host
and [Cscu]=OrderItems.CscuName
and [Varcode]=OrderItems.VariantCode
order by [Date] desc
) q5
where OrderItems.[OrderNo]=@OrderNo and OrderItems.[Host]=@Host
order by OrderItems.OrderNo, OrderItems.[LineNo]
for xml path('Item'), root('Items'))
Comments
0 B
|👍
/👎
0 B
|👍
/👎