Advertisement
Guest User

Untitled

a guest
Mar 30th, 2017
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.24 KB | None | 0 0
  1. DECLARE @StationId int = 18
  2. DECLARE @getTypeId int = 0
  3.  
  4. DECLARE @IsSameProvinceWithSc bit = 0
  5. SELECT @IsSameProvinceWithSc = 1
  6. FROM dbo.Stations s
  7. INNER JOIN dbo.Stations s2 ON s2.CityID = s.CityID
  8. WHERE s.SID = @StationId AND s2.STID = 2 AND s2.Visible = 1
  9.  
  10. DECLARE @VinmartId TABLE (VinmartId int)
  11. DECLARE @VinmartConfig varchar(max) = ''
  12. SELECT @VinmartConfig = sc.[Value] FROM dbo.SystemConfigs sc WHERE sc.Name = 'VinmartMerchantId'
  13. INSERT INTO @VinmartId SELECT slti.[Value] FROM dbo.SplitListToINT(@VinmartConfig, ',') slti
  14.  
  15. DECLARE @TimeToPickup int = 0
  16. SELECT @TimeToPickup = CAST(sc.[Value] AS int) FROM dbo.SystemConfigs sc WHERE sc.Name = 'TimeToProcessPickup'
  17.  
  18.  
  19. SELECT
  20. po.ProductTypeId,
  21. po.MTID,
  22. cmw.MerchantWarehouseId AS ClientMerchantWarehouseId,
  23. po.PoId,
  24. cm.MerchantName,
  25. cmw.Name,
  26. CONCAT(cmw.Name + ' - ',
  27. ISNULL(STUFF((
  28. SELECT concat(N'; ' ,datepart(hh,wtm.TimeStart), ':' , format(datepart(mi,wtm.TimeStart),'00'), N'-', datepart(hh,wtm.TimeEnd), ':' , format(datepart(mi,wtm.TimeEnd),'00'))
  29. FROM dbo.WorkingTimeMWH wtm WITH (NOLOCK)
  30. WHERE DATEPART(DW, DATEADD(DAY,-1,GETDATE()))= wtm.DayWorking AND wtm.ClientMerchantWarehouseId = po.ClientMerchantWarehouseId AND wtm.Visible = 1
  31. ORDER BY wtm.TimeStart ASC
  32. FOR XML PATH ('')
  33. ), 1,2,''), ''), ' - ', FORMAT(cmw.MerchantWarehouseId, '000000')) AS PoGroup,
  34. po.RouteId,
  35. r.RouteName,
  36. po.SKUAmount,
  37. (SELECT COUNT(po2.PoId) FROM dbo.PurchaseOrder po2 WHERE po2.SoId = po.SoId AND po2.DeliveryFlowId = 3) AS TotalInboundPo,
  38. --po.TotalItemAmount,
  39. SUM(cp.CBM * pod.Amount) AS TotalSkuCbm,
  40. SUM(cp.Weight * pod.Amount) AS TotalWeight,
  41. SUM(pod.SellPrice * pod.Amount) AS AmountInclVat,
  42. DATEDIFF(Minute, GETDATE(), po.DeliveryDateFrom) AS RemainTime,
  43. s.SourceClientId,
  44. DATEADD(minute, CASE WHEN ISNULL(pof.PoFeeId, 0) IN (2,3) THEN - 1 ELSE 0 END, po.DeliveryDateFrom) AS DeliveryDateFrom,
  45. po.UID_COD,
  46. s.ClientSoId,
  47. s.SpecialNoteStatus,
  48. CASE WHEN s.SpecialNoteStatus = 1 THEN N'!'ELSE N'' END AS SpecialNoteStatusText,
  49. pod.Note,
  50. cm.MerchantId,
  51. DATEDIFF(Minute, GETDATE(), po.DeliveryDateFrom)+ CASE WHEN po.MerchantPickupDateFrom IS NOT NULL AND DATEDIFF(MINUTE, GETDATE(), po.MerchantPickupDateFrom) > @TimeToPickup THEN 1000000 WHEN ISNULL(pof.PoFeeId, 0) IN (2,3) THEN - 1 ELSE 0 END AS ProcessStatus,
  52. sde.SName,
  53. CASE WHEN ISNULL(pof.PoFeeId, 0) = 2 THEN N'CPN' WHEN ISNULL(pof.PoFeeId, 0) = 3 THEN N'GCĐ' ELSE N'' END AS DeliveryType,
  54. CASE WHEN (EXISTS (SELECT 1 FROM @VinmartId vi WHERE vi.VinmartId = cm.MerchantId) AND po.SID_Tally = po.SID_Destination) THEN 0
  55. WHEN @IsSameProvinceWithSc = 1 AND
  56. EXISTS (SELECT 1 FROM dbo.PurchaseOrder po2 WITH (NOLOCK)
  57. LEFT JOIN dbo.PickUpDetail pud WITH (NOLOCK) ON pud.PoId = po2.PoId
  58. LEFT JOIN dbo.PickUp pu WITH (NOLOCK) ON pu.PuId = pud.PuId
  59. LEFT JOIN dbo.Stations sp WITH (NOLOCK) ON sp.SID = pu.DestinationStationId
  60. WHERE po2.SoId = po.SoId AND po2.DeliveryFlowId = 3
  61. AND ((po2.SID_Tally <> po2.SID_Destination)
  62. OR (pu.PuId IS NOT NULL AND sp.STID = 2 AND po2.POStatusId > 1)))
  63. THEN 1 ELSE 0 END AS InBoundType,
  64. CASE WHEN EXISTS (SELECT 1 FROM @VinmartId vi WHERE vi.VinmartId = cm.MerchantId) THEN 1 ELSE 0 END AS IsSupermaket,
  65. s.CreateDatetime AS SoReceivedDateTime,
  66.  
  67. -- field để chuyển luồng giao hàng
  68. ISNULL(stM.StationId,0) [StationMerchant],
  69. ISNULL(dbo.Fuc_ConfigMerchantCate(cm.MerchantId,po.PoId),0) [ConfigMerchantCate],
  70. [dbo].[GetCatoragyforStationMerchant](po.PoId) [Catogary],
  71. Replace(ISNULL(stM.ProductTypeId, 0),' ','') [StrProductype],
  72. ISNULL(IsBulkySetup,0) AS [IsBulkySetup],
  73. ISNULL(IsBulkyNotSetup,0) AS [IsBulkyNotSetup],
  74. 0 as [IsRequireInstall],
  75. s.CustomerTypeName,
  76. --[dbo].[GetRequireInstallOfPo](po.ClientPoId) IsRequireInstall
  77.  
  78. po.MerchantPickupDateFrom AS DatePickupAgain,
  79. CASE WHEN po.MerchantPickupDateFrom IS NULL OR (po.MerchantPickupDateFrom IS NOT NULL AND DATEDIFF(MINUTE, GETDATE(), po.MerchantPickupDateFrom) <= @TimeToPickup) THEN 1 ELSE 0 END AS IsProcessPickup,
  80.  
  81. '' AS SAPInternalMerchantSONumber
  82.  
  83. FROM
  84. dbo.PurchaseOrder po WITH (NOLOCK)
  85. INNER JOIN dbo.PurchaseOrder_Detail pod WITH (NOLOCK) ON pod.PoId = po.PoId
  86. --INNER JOIN dbo.SO_Detail sd WITH (NOLOCK) ON pod.SODetailID = ISNULL(sd.SoDetailIdRoot, sd.SODetailID)
  87. INNER JOIN dbo.SO s WITH (NOLOCK) ON s.SOID = po.SoId
  88. INNER JOIN dbo.ClientMerchantWarehouse cmw WITH (NOLOCK) ON cmw.ClientMerchantWarehouseId = po.ClientMerchantWarehouseId
  89. --INNER JOIN ClientProductCategory cat with(nolock) ON cat.ClientProductCateId = pod.ClientProductCateId
  90. LEFT JOIN dbo.ClientProduct cp WITH (NOLOCK) ON cp.ClientProductId = pod.ClientProductId
  91. LEFT JOIN dbo.ClientMerchant cm WITH (NOLOCK) ON cm.ClientMerchantId = cmw.ClientMerchantId
  92. LEFT JOIN dbo.Routs r WITH (NOLOCK) ON po.RouteId = r.RoutId
  93. LEFT JOIN dbo.Stations sta WITH (NOLOCK) ON sta.SID = po.SID_Tally
  94. LEFT JOIN dbo.Stations sde WITH (NOLOCK) ON sde.SID = po.SID_Destination
  95. LEFT JOIN Station_Merchant stM WITH (NOLOCK) ON stm.ClientMerchantId = cmw.ClientMerchantId AND stM.ClientMerchantWarehouseId = po.ClientMerchantWarehouseId AND stm.Visible =1
  96. --LEFT JOIN ConfigMerchantCate cf WITH (NOLOCK) ON cf.MerchantId = m.MerchantId and cat.ClientCateId= cf.ClientCateId
  97. -------------------------------------------------
  98. LEFT JOIN (SELECT pofm.ClientPoId, MIN(pof.PoFeeId) AS PoFeeId
  99. FROM dbo.PurchaseOrder_Fee_Map pofm WITH (NOLOCK)
  100. INNER JOIN dbo.PurchaseOrder_Fee pof WITH (NOLOCK) ON pof.PoFeeId = pofm.PoFeeId
  101. WHERE pofm.PoFeeId > 1
  102. GROUP BY pofm.ClientPoId) pofm ON pofm.ClientPoId = po.ClientPoId
  103. LEFT JOIN dbo.PurchaseOrder_Fee pof WITH (NOLOCK) ON pof.PoFeeId = pofm.PoFeeId
  104. --------------------------------------------------------------------
  105. --LEFT JOIN dbo.PurchaseOrder_MerchantDate pomd WITH (NOLOCK) ON pomd.PoId = po.PoId
  106. WHERE
  107. po.DeliveryFlowId = 3
  108. AND po.POStatusId = 1
  109. AND po.Visible = 1
  110. AND po.UnitTransportId = 1
  111. AND po.SID_Tally = @StationId
  112. AND (
  113. (@getTypeId = 0 AND po.ProductTypeId IN (1, 2, 3)) OR
  114. (@getTypeId = 1 AND po.ProductTypeId = 4)
  115. )
  116. AND ISNULL(po.IsDropOff, 0) = 0
  117. AND po.SID_Destination != 0
  118. GROUP BY
  119. po.ProductTypeId,
  120. po.MTID,
  121. po.ClientMerchantWarehouseId,
  122. po.PoId,
  123. cm.MerchantName,
  124. cmw.Name,
  125. po.RouteId,
  126. r.RouteName,
  127. po.SKUAmount,
  128. --po.TotalItemAmount,
  129. s.SourceClientId,
  130. po.DeliveryDateFrom,
  131. po.UID_COD,
  132. s.ClientSoId,
  133. s.SpecialNoteStatus,
  134. pod.Note,
  135. sde.SName,
  136. cmw.MerchantWarehouseId,
  137. pof.PoFeeId,
  138. po.SoId,
  139. po.SID_Tally,
  140. po.SID_Destination,
  141. s.CreateDatetime,
  142. stM.ProductTypeId,
  143. IsBulkySetup,
  144. IsBulkyNotSetup,
  145. stM.StationId,
  146. s.CustomerTypeName,
  147. po.MerchantPickupDateFrom,
  148. cm.MerchantId
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement