bisonn icon

Untitled

bisonn | PRO | 12/26/19 12:51:58 PM UTC | 0 ⭐ | 6944 👁️ | Never ⏰ | []
T-SQL |

5.37 KB

|

None

|

0 👍

/

0 👎

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

  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎

    
        
  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎