Advertisement
hokagemadura

Perubahan Stok / Inventori

Mar 22nd, 2017
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. select 0 as counter,
  2.     lokasi as lok,jenis,produk as nama,kode,uom,
  3.     sum(stok_awal) as stok_awal,
  4.     sum(stok_masuk) as stok_masuk,
  5.     sum(pemakaian)*-1 as pemakaian,
  6.     sum(waste)*-1 as waste,
  7.     (coalesce((select sum(movementqty)
  8.     from m_product mpr
  9.     join m_transaction mtr on mtr.m_product_id = mpr.m_product_id
  10.     join ad_org morg on morg.ad_org_id = mtr.ad_org_id
  11.     where mpr.ad_client_id = $P{CLIENT}
  12.     and mpr.name = produk
  13.     and morg.name = lokasi
  14.     and movementdate < $P{DATE1}),0)+
  15.     coalesce((select sum(movementqty)
  16.     from m_product mpr
  17.     join m_transaction mtr on mtr.m_product_id = mpr.m_product_id
  18.     join ad_org morg on morg.ad_org_id = mtr.ad_org_id
  19.     where mpr.ad_client_id = $P{CLIENT}
  20.     and mpr.name = produk
  21.     and morg.name = lokasi
  22.     and date(movementdate) between $P{DATE1} and $P{DATE2}),0)) as stok_akhir
  23. from
  24. (select lokasi,jenis,produk,kode,uom,0 as stok_awal,
  25.     coalesce(
  26.         case when movementtype ~ 'V\+|I\+|C\+'
  27.         then movementqty end,0
  28.         ) as stok_masuk,
  29.     coalesce(
  30.         case when movementtype ~ 'C\-|I\-|V\-' and chargeid != 1000020
  31.         then movementqty end,0) as pemakaian,
  32.     (coalesce(
  33.         case when chargeid = '1000020'
  34.         then movementqty end,0
  35.         )) as waste
  36. from
  37. (select org.name as lokasi,
  38.     ca.name as jenis,
  39.     pr.name as produk,
  40.     pr.value as kode,
  41.     coalesce(inv.c_charge_id,0) as chargeid,
  42.     movementtype,movementqty,
  43.     cu.uomsymbol as uom
  44. from m_product pr
  45. join m_transaction tr on tr.m_product_id = pr.m_product_id
  46. join c_uom cu on cu.c_uom_id = pr.c_uom_id
  47. join m_product_category ca on ca.m_product_category_id = pr.m_product_category_id
  48. left join m_inventoryline inv on inv.m_inventoryline_id = tr.m_inventoryline_id
  49. join m_inventory minv on minv.m_inventory_id = inv.m_inventory_id
  50. join ad_org org on org.ad_org_id = tr.ad_org_id
  51. left join c_charge ch on ch.c_charge_id = inv.c_charge_id
  52. where pr.ad_client_id = $P{CLIENT}
  53. and date(tr.movementdate) between $P{DATE1} and $P{DATE2}
  54. and case when $P{LOKASI} is null then org.ad_org_id != 0 else org.ad_org_id = $P{LOKASI} end
  55. and docstatus ~ 'CO|CL')
  56. as sub1
  57.  
  58. union all
  59.  
  60. select (select name from ad_org where ad_org_id = lokasiid) as lokasi,
  61.     (select name from m_product_category where m_product_category_id = idjenis) as jenis,
  62.     (select name from m_product where m_product_id = produkid) as produk,
  63.     (select value from m_product where m_product_id = produkid) as kode,
  64.     uom,
  65.     coalesce((select sum(movementqty)
  66.     from m_transaction
  67.     where m_product_id = produkid
  68.     and ad_org_id = lokasiid
  69.     and movementdate < $P{DATE1}),0) as stok_awal,
  70.     0 as stok_masuk, 0 as pemakaian, 0 as waste
  71. from
  72. (select org.ad_org_id as lokasiid,
  73.     pr.m_product_id as produkid,
  74.     m_product_category_id as idjenis,
  75.     (select uomsymbol from c_uom where c_uom_id = pr.c_uom_id) as uom
  76. from m_product pr
  77. join m_transaction tr on tr.m_product_id = pr.m_product_id
  78. join ad_org org on org.ad_org_id = tr.ad_org_id
  79. join m_inventoryline invl on invl.m_inventoryline_id = tr.m_inventoryline_id
  80. join m_inventory minv on minv.m_inventory_id = invl.m_inventory_id
  81. where pr.ad_client_id = $P{CLIENT}
  82. and case when $P{LOKASI} is null then org.ad_org_id != 0 else org.ad_org_id = $P{LOKASI} end
  83. and docstatus ~ 'CO|CL'
  84. group by pr.m_product_id,lokasiid) as uni
  85. ) as sub2
  86. group by lokasi,jenis,produk,kode,uom
  87. order by lokasi,kode
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement