USP_IF_OrderAbleQty_Q.sql 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. CREATE procedure [dbo].[USP_IF_OrderAbleQty_Q]
  2. @ProductNo bigint,
  3. @SKUCode nvarchar(20)
  4. AS
  5. /***********************************************************************
  6. *
  7. * Program : USP_IF_OrderqbleQty_Q - 주문가능 수량을 조회한다.
  8. *
  9. *
  10. * 작성일 : 2009/02/01
  11. * 작성자 : (주)COMMERCEWARE
  12. * 수정일 :
  13. * 수정자 :
  14. * 수정 시 주의할 점 : 2011.11.04. Febsy 관련 dbo.USP_IF_OrderAbleQtyForFebsy_Q 에서 호출함.
  15. *
  16. * 2019-11-15 구성근 가용존만 체크하는 뷰로 변경
  17. ***********************************************************************/
  18. BEGIN
  19. /* @SKUCode 코드값이 있으면 우선적으로 조회한다. */
  20. IF LEN(@SKUCode) > 0
  21. SELECT X.SKU_CODE as SKUCode
  22. , SUM(X.AQTY) - SUM(ABS(X.SLIP_CREATE_QTY)) - SUM(ABS(X.EOUT_CREATE_QTY)) - SUM(ABS(X.ALLOC_QTY)) as OrderableQty
  23. FROM (
  24. /* 창고 현재고 조회 변경 by gugu44 2019.11.06 */
  25. SELECT PRODUCT_NO as product_no
  26. , SKU_CODE as sku_code
  27. , LOC_QTY as aqty
  28. , 0 as slip_create_qty
  29. , 0 as cvs_qty
  30. , 0 as eout_create_qty
  31. , 0 as alloc_qty
  32. FROM istyle24_wms.dbo.VW_Stock_By_LocCode
  33. WHERE SKU_CODE = @SKUCode
  34. UNION ALL
  35. /* 출고 할당 수량 = 출하지시이후 출고확정되지 않은 상태의 수량 */
  36. SELECT S.PRODUCT_NO as product_no
  37. , S.SKU_CODE as sku_code
  38. , 0 as aqty
  39. , S.SLIP_CREATE_QTY as slip_create_qty
  40. , S.CVS_QTY as cvs_qty
  41. , S.EOUT_CREATE_QTY as eout_create_qty
  42. , 0 as alloc_qty
  43. FROM istyle24_wms.dbo.tlost06m s with (nolock)
  44. WHERE S.WH_CODE = '001'
  45. AND S.SKU_CODE = @SKUCode
  46. UNION ALL
  47. /* 배송지시수량 = 배송지시후 출하지시 안된 상태의 수량 */
  48. SELECT a.productno as product_no
  49. , a.skucode as sku_code
  50. , 0 as aqty
  51. , 0 as slip_create_qty
  52. , 0 as cvs_qty
  53. , 0 as eout_create_qty
  54. , allocqty as alloc_qty
  55. FROM istyle24_wmsif.dbo.TB_IF_OrderAllocStock a with (nolock)
  56. WHERE a.skucode = @SKUCode
  57. ) x
  58. GROUP BY X.SKU_CODE
  59. /* @SKUCode 코드값이 없으면 @ProductNo로 조회한다. */
  60. ELSE
  61. SELECT X.SKU_CODE as SKUCode
  62. , SUM(X.AQTY) - SUM(ABS(X.SLIP_CREATE_QTY)) - SUM(ABS(X.EOUT_CREATE_QTY))- SUM(ABS(X.ALLOC_QTY)) as OrderableQty
  63. FROM (
  64. /* 창고 현재고 조회 변경 by gugu44 2019.11.06 */
  65. SELECT PRODUCT_NO as product_no
  66. , SKU_CODE as sku_code
  67. , LOC_QTY as aqty
  68. , 0 as slip_create_qty
  69. , 0 as cvs_qty
  70. , 0 as eout_create_qty
  71. , 0 as alloc_qty
  72. FROM istyle24_wms.dbo.VW_Stock_By_LocCode
  73. WHERE PRODUCT_NO = @ProductNo
  74. UNION ALL
  75. /* 출고 할당 수량 = 출하지시이후 출고확정되지 않은 상태의 수량 */
  76. SELECT S.PRODUCT_NO as product_no
  77. , S.SKU_CODE as sku_code
  78. , 0 as aqty
  79. , S.SLIP_CREATE_QTY as slip_create_qty
  80. , S.CVS_QTY as cvs_qty
  81. , S.EOUT_CREATE_QTY as eout_create_qty
  82. , 0 as alloc_qty
  83. FROM istyle24_wms.dbo.tlost06m s with (nolock)
  84. WHERE S.WH_CODE = '001'
  85. AND S.PRODUCT_NO = @ProductNo
  86. UNION ALL
  87. /* 배송지시수량 = 배송지시후 출하지시 안된 상태의 수량 */
  88. SELECT A.PRODUCTNO as product_no
  89. , A.SKUCODE as sku_code
  90. , 0 as aqty
  91. , 0 as slip_create_qty
  92. , 0 as cvs_qty
  93. , 0 as eout_create_qty
  94. , ALLOCQTY as alloc_qty
  95. FROM istyle24_wmsif.dbo.TB_IF_OrderAllocStock a with (nolock)
  96. WHERE A.PRODUCTNO = @ProductNo
  97. ) X
  98. GROUP BY X.SKU_CODE
  99. END