Advertisement
aadddrr

Untitled

Aug 23rd, 2018
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. CREATE OR REPLACE FUNCTION f_get_latest_catalog_code_by_product_id_for_sdp(bigint)
  2.   RETURNS character varying AS
  3. $BODY$
  4. DECLARE
  5.     pMasterId       alias for $1;
  6.  
  7.     vResult         character varying;
  8.    
  9. BEGIN
  10.  
  11.     vResult := ' ';
  12.  
  13.     return vResult;
  14. END;
  15. $BODY$
  16.   LANGUAGE plpgsql VOLATILE
  17.   COST 100;
  18.  /
  19.  
  20.  /**
  21.  * Adrian, June 22, 2018
  22.  * Ambil product desc dari m_product_catalog
  23.  * Jika ada, ambil yang active = 'Y'
  24.  * Jika tidak ada, ambil yang active = 'N'
  25.  */
  26.  
  27. CREATE OR REPLACE FUNCTION f_get_product_description_for_sdp(bigint)
  28.   RETURNS character varying AS
  29. $BODY$
  30. DECLARE
  31.     pMasterId               alias for $1;
  32.  
  33.     vResult         character varying;
  34.    
  35. BEGIN
  36.  
  37.     vResult := ' ';
  38.  
  39.     return vResult;
  40. END;
  41. $BODY$
  42.   LANGUAGE plpgsql VOLATILE
  43.   COST 100;
  44.  /
  45.  
  46. /**
  47.  * Adrian, June 25, 2018
  48.  * View untuk product SDP
  49.  */
  50.  
  51. CREATE OR REPLACE VIEW vw_product_for_sdp AS
  52.     SELECT A.product_id, A.tenant_id, A.product_code, A.product_name,
  53.         COALESCE(B.barcode, '') AS barcode, D.ctgr_product_code, E.sub_ctgr_product_code,
  54.         COALESCE(C.weight, 0) AS weight, COALESCE(C.dimension_length, 0) AS dimension_length,
  55.         COALESCE(C.dimension_width, 0) AS dimension_width, COALESCE(C.dimension_height, 0) AS dimension_height,  
  56.         f_get_available_stock_for_sdp(A.product_id) AS available_stock,
  57.         F.style_product, f_get_size_name_by_code(F.size)::character varying(255) AS size, f_get_color_name_by_code(F.color)::character varying(255) AS color,
  58.         A.class_product,
  59.         COALESCE(H.product_ctgr_tree_name, ''::character varying(100)) AS category_name_lv0,
  60.         COALESCE(I.product_ctgr_tree_name, ''::character varying(100)) AS category_name_lv1,
  61.         COALESCE(J.product_ctgr_tree_name, ''::character varying(100)) AS category_name_lv2,
  62.         COALESCE(K.product_ctgr_tree_name, ''::character varying(100)) AS category_name_lv3,
  63.         f_get_brand_name(A.brand_id) AS brand_name,
  64.         f_get_product_description_for_sdp(A.product_id) AS product_description,
  65.         COALESCE(L.online_price, 0) AS online_price,
  66.         COALESCE(L.online_price, 0) AS online_sale_prices,
  67.         F.flg_manage_stock
  68.     FROM m_product A
  69.     INNER JOIN m_ctgr_product D ON A.ctgr_product_id = D.ctgr_product_id
  70.     INNER JOIN m_sub_ctgr_product E ON A.sub_ctgr_product_id = E.sub_ctgr_product_id
  71.     INNER JOIN m_product_custom F ON A.product_id = F.product_id
  72.     INNER JOIN m_product_ctgr_tree G ON A.sub_ctgr_product_id = G.product_ctgr_tree_id
  73.     LEFT JOIN m_product_online_price L ON A.tenant_id = L.tenant_id
  74.         AND f_get_latest_catalog_code_by_product_id_for_sdp(A.product_id) = L.catalog_code
  75.         AND F.style_product = L.style_product
  76.     LEFT JOIN m_product_barcode B ON A.product_id = B.product_id
  77.     LEFT JOIN m_product_weight_dimension C ON A.product_id = C.product_id
  78.     LEFT JOIN m_product_ctgr_tree H ON RPAD(LEFT(G.product_ctgr_tree_code, 1), 1, '#') = H.product_ctgr_tree_code
  79.     LEFT JOIN m_product_ctgr_tree I ON RPAD(LEFT(G.product_ctgr_tree_code, 3), 3, '#') = I.product_ctgr_tree_code
  80.     LEFT JOIN m_product_ctgr_tree J ON RPAD(LEFT(G.product_ctgr_tree_code, 5), 5, '#') = J.product_ctgr_tree_code
  81.     LEFT JOIN m_product_ctgr_tree K ON RPAD(LEFT(G.product_ctgr_tree_code, 7), 7, '#') = K.product_ctgr_tree_code;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement