1958 lines
73 KiB
Bash
1958 lines
73 KiB
Bash
|
#!/bin/bash
|
||
|
|
||
|
|
||
|
echo -e " \n----------- ACCEPTING NUMBER OF DAYS BEFORE THE RUN DATE FOR WHICH THE REPORT IS TO BE RUN --------------\n"
|
||
|
|
||
|
backDay=$1
|
||
|
|
||
|
echo $backDay
|
||
|
|
||
|
echo -e " \n------------- DATE IN THE REQUIRED FORMAT --------------\n"
|
||
|
reportDate=$(date -d"$backDay day ago" "+%Y-%m-%d")
|
||
|
date
|
||
|
echo 'reportDate'=$reportDate
|
||
|
|
||
|
|
||
|
echo "
|
||
|
|
||
|
DROP TABLE IF EXISTS public.manual_bundle_sku_data ;
|
||
|
|
||
|
|
||
|
CREATE TABLE public.manual_bundle_sku_data AS
|
||
|
SELECT upper(bundle_sku) Parent_sku ,
|
||
|
Upper(A.sku) child_sku ,
|
||
|
A.quantity child_quantity,
|
||
|
'Bundle' parent_sku_class,
|
||
|
cast(B.retail_price AS decimal(22,2)) bundle_retail_price,
|
||
|
cast(json_extract_path_text(C.tier_price,'07030fbe-5801-4318-9e97-fe33fa169894',TRUE) AS decimal(22,2)) bronze_price,
|
||
|
cast(json_extract_path_text(C.tier_price,'8eb95d6e-915a-4a91-9c12-fa43db995e19',TRUE) AS decimal(22,2)) silver_price,
|
||
|
cast(json_extract_path_text(C.tier_price,'bf645e97-8a48-4977-8367-e987489760f9',TRUE) AS decimal(22,2)) gold_price,
|
||
|
cast(C.retail_price AS decimal(22,2)) child_retail_price
|
||
|
FROM bundle_data_manual_new A
|
||
|
INNER JOIN raena_catalog_management.product B ON upper(A.bundle_sku) = upper(B.sku)
|
||
|
INNER JOIN raena_catalog_management.product C ON upper(A.sku) = upper(C.sku);
|
||
|
|
||
|
|
||
|
DROP TABLE IF EXISTS public.order_level_data;
|
||
|
|
||
|
|
||
|
CREATE TABLE public.order_level_data AS
|
||
|
SELECT DISTINCT external_id,
|
||
|
transaction_date+interval'7 hours' AS transaction_date,
|
||
|
discount_amount,
|
||
|
shipping_cost,
|
||
|
A.coupon_code,
|
||
|
reseller_tier_name,
|
||
|
CASE
|
||
|
WHEN flash_sale_id IS NOT NULL THEN 'Flash'
|
||
|
END Product_type,
|
||
|
order_loyalty_discount,
|
||
|
total_amount ,
|
||
|
total_retail_price ,
|
||
|
tier_discount,
|
||
|
total_dynamic_and_tier_price,
|
||
|
payment_amount,
|
||
|
coupon_applied_on,
|
||
|
is_campaign,
|
||
|
order_placed_by
|
||
|
FROM
|
||
|
(SELECT A.id AS external_id ,
|
||
|
(A.created_at) AS transaction_date ,
|
||
|
A.discount_amount,
|
||
|
applied_shipping_amount shipping_cost,
|
||
|
A.coupon_code,
|
||
|
json_extract_path_text(A.reseller_info,'tierName',TRUE) reseller_tier_name,
|
||
|
flash_sale_id,
|
||
|
loyalty_discount AS order_loyalty_discount,
|
||
|
total_amount ,
|
||
|
total_retail_price ,
|
||
|
tier_discount,
|
||
|
total_dynamic_and_tier_price,
|
||
|
payment_amount,
|
||
|
is_campaign,
|
||
|
order_placed_by
|
||
|
FROM raena_order_management.order A
|
||
|
WHERE payment_status='Paid'
|
||
|
AND cast(A.created_at+interval '7 hours' AS date) >='$reportDate' ) A
|
||
|
LEFT JOIN raena_order_management.discount_coupon C ON A.coupon_code = C.coupon_code;
|
||
|
|
||
|
|
||
|
SELECT max(created_at)
|
||
|
FROM raena_order_management.order ;
|
||
|
|
||
|
|
||
|
DROP TABLE IF EXISTS public.base_netsuite_stage1_V1;
|
||
|
|
||
|
|
||
|
CREATE TABLE public.base_netsuite_stage1_V1 AS
|
||
|
SELECT DISTINCT transaction_date transaction_date,
|
||
|
A.external_id,
|
||
|
CASE
|
||
|
WHEN cast(B.parent_sku AS varchar) = cast(D.parent_sku AS varchar) THEN D.child_sku
|
||
|
WHEN B.id = F.sales_sub_order_id THEN F.sku
|
||
|
ELSE B.parent_sku
|
||
|
END sku,
|
||
|
B.parent_sku parent_sku,
|
||
|
CASE
|
||
|
WHEN cast(B.parent_sku AS varchar) = cast(D.parent_sku AS varchar) THEN D.child_quantity*B.quantity
|
||
|
WHEN B.id = F.sales_sub_order_id THEN F.quantity
|
||
|
ELSE B.quantity
|
||
|
END quantity,
|
||
|
B.quantity parent_quantity,
|
||
|
CASE
|
||
|
WHEN cast(B.parent_sku AS varchar) = cast(D.parent_sku AS varchar) THEN D.child_retail_price
|
||
|
WHEN B.id = F.sales_sub_order_id THEN F.retail_price
|
||
|
ELSE B.retail_price
|
||
|
END retail_price,
|
||
|
B.retail_price parent_retail_price,
|
||
|
CASE
|
||
|
WHEN cast(B.parent_sku AS varchar) = cast(D.parent_sku AS varchar)
|
||
|
AND reseller_tier_name = 'BRONZE' THEN bronze_price
|
||
|
WHEN cast(B.parent_sku AS varchar) = cast(D.parent_sku AS varchar)
|
||
|
AND reseller_tier_name = 'SILVER' THEN silver_price
|
||
|
WHEN cast(B.parent_sku AS varchar) = cast(D.parent_sku AS varchar)
|
||
|
AND reseller_tier_name = 'GOLD' THEN gold_price
|
||
|
WHEN B.id = F.sales_sub_order_id THEN F.effective_wholesale_price
|
||
|
ELSE B.effective_wholesale_price
|
||
|
END effective_wholesale_price,
|
||
|
B.effective_wholesale_price parent_wholesale_price,
|
||
|
CASE
|
||
|
WHEN cast(B.parent_sku AS varchar) = cast(D.parent_sku AS varchar)
|
||
|
AND reseller_tier_name = 'BRONZE' THEN bronze_price
|
||
|
WHEN cast(B.parent_sku AS varchar) = cast(D.parent_sku AS varchar)
|
||
|
AND reseller_tier_name = 'SILVER' THEN silver_price
|
||
|
WHEN cast(B.parent_sku AS varchar) = cast(D.parent_sku AS varchar)
|
||
|
AND reseller_tier_name = 'GOLD' THEN gold_price
|
||
|
WHEN B.id = F.sales_sub_order_id THEN F.actual_wholesale_price
|
||
|
ELSE B.actual_wholesale_price
|
||
|
END actual_wholesale_price,
|
||
|
B.actual_wholesale_price parent_actual_wholesale_price,
|
||
|
CASE
|
||
|
WHEN B.id = F.sales_sub_order_id THEN F.coupon_discount
|
||
|
ELSE B.coupon_discount
|
||
|
END discount_price,
|
||
|
CASE
|
||
|
WHEN discount_amount > 0
|
||
|
AND A.coupon_code IS NULL
|
||
|
AND A.order_placed_by = 'admin'
|
||
|
AND coupon_applied_on IS NULL THEN 'Cart'
|
||
|
ELSE coupon_applied_on
|
||
|
END coupon_applied_on,
|
||
|
A.discount_amount,
|
||
|
0 Dynamic_price ,
|
||
|
0 parent_dynamic_price,
|
||
|
CASE
|
||
|
WHEN B.id = F.sales_sub_order_id THEN F.payment_amount
|
||
|
ELSE B.payment_amount
|
||
|
END payment_price,
|
||
|
A.payment_amount,
|
||
|
B.product_class,
|
||
|
coalesce(F.product_class,B.product_class) parent_product_class,
|
||
|
CASE
|
||
|
WHEN A.product_type = 'Flash'
|
||
|
AND B.parent_sku LIKE 'BAZ%' THEN 'Flash Bundle'
|
||
|
WHEN A.product_type = 'Flash'
|
||
|
AND B.parent_sku NOT LIKE 'BAZ%' THEN 'Flash'
|
||
|
WHEN B.parent_sku LIKE 'BAZ%' THEN 'Bundle'
|
||
|
ELSE 'Regular'
|
||
|
END AS product_type_class,
|
||
|
B.id sales_sub_order_id,
|
||
|
A.order_loyalty_discount,
|
||
|
B.loyalty_discount,
|
||
|
reseller_tier_name,
|
||
|
price_type,
|
||
|
a.is_campaign,
|
||
|
B.cogs_discount_type
|
||
|
FROM public.order_level_data A
|
||
|
LEFT JOIN raena_order_management.sales_sub_order B ON A.external_id = B.order_id and status <> 'Cancelled'
|
||
|
LEFT JOIN public.manual_bundle_sku_data D ON cast(B.parent_sku AS varchar) = cast(D.parent_sku AS varchar)
|
||
|
LEFT JOIN
|
||
|
(SELECT id ,
|
||
|
sales_sub_order_id ,
|
||
|
retail_price,
|
||
|
Sku ,
|
||
|
quantity,
|
||
|
effective_wholesale_price,
|
||
|
actual_wholesale_price,
|
||
|
coupon_discount,
|
||
|
payment_amount,
|
||
|
product_class,
|
||
|
loyalty_discount
|
||
|
FROM raena_order_management.sales_sub_order_parent_child ssopc
|
||
|
WHERE product_class = 'Bundle'
|
||
|
AND cast(created_at+interval'7 hours' AS date)>='$reportDate') F ON B.id = F.sales_sub_order_id
|
||
|
ORDER BY 1,
|
||
|
2;
|
||
|
|
||
|
|
||
|
DROP TABLE IF EXISTS public.base_netsuite_stage2_v1_base ;
|
||
|
|
||
|
|
||
|
CREATE TABLE public.base_netsuite_stage2_v1_base AS
|
||
|
SELECT transaction_date,
|
||
|
A.external_id,
|
||
|
A.sku,
|
||
|
parent_sku,
|
||
|
quantity,
|
||
|
parent_quantity,
|
||
|
retail_price,
|
||
|
parent_retail_price,
|
||
|
effective_wholesale_price,
|
||
|
parent_wholesale_price,
|
||
|
actual_wholesale_price,
|
||
|
discount_price,
|
||
|
coupon_applied_on,
|
||
|
discount_amount,
|
||
|
dynamic_price,
|
||
|
parent_dynamic_price,
|
||
|
payment_price,
|
||
|
payment_amount,
|
||
|
product_class,
|
||
|
parent_product_class,
|
||
|
product_type_class,
|
||
|
sales_sub_order_id,
|
||
|
CASE
|
||
|
WHEN cast(transaction_date AS date)< '2022-02-28'
|
||
|
AND A.external_id = B.external_id THEN B.final_loyalty_point
|
||
|
ELSE A.loyalty_discount
|
||
|
END loyalty_discount,
|
||
|
price_type,
|
||
|
is_campaign,
|
||
|
coalesce(C.applied_cogs,D.cogs-coalesce(promo,0)) cogs,
|
||
|
coalesce(cogs_type,CASE WHEN A.sku = D.sku
|
||
|
AND A.transaction_date::date BETWEEN D.created_at AND last_date
|
||
|
AND promo IS NOT NULL THEN 'Promo' ELSE 'Non-Promo' END) cogs_flag,
|
||
|
cogs_discount_type
|
||
|
FROM public.base_netsuite_stage1_V1 A
|
||
|
LEFT JOIN
|
||
|
(SELECT external_id ,
|
||
|
sku ,
|
||
|
final_loyalty_point
|
||
|
FROM public.final_loyalty_point) B ON A.external_id = B.external_id
|
||
|
AND A.sku = B.sku
|
||
|
LEFT JOIN
|
||
|
(SELECT distinct B.order_id ,
|
||
|
A.sku ,
|
||
|
A.applied_cogs ,
|
||
|
A.cogs_type
|
||
|
FROM raena_order_management.fulfillment_detail A
|
||
|
LEFT JOIN raena_order_management.sales_sub_order_shipment B ON A.shipment_id = B.id
|
||
|
WHERE applied_cogs IS NOT NULL) C ON A.sku = C.sku
|
||
|
AND A.external_id = C.order_id
|
||
|
LEFT JOIN
|
||
|
(SELECT sku,
|
||
|
cogs,
|
||
|
promo,
|
||
|
(created_at+interval'7 hours')::date created_at,
|
||
|
coalesce(lead((created_at+interval'7 hours')::date-interval'1 day' , 1) over (partition BY sku
|
||
|
ORDER BY sku,created_at),((CURRENT_DATE+interval'7 hours')+interval'1 day'))::date last_date
|
||
|
FROM raena_catalog_management.cogs_audit ca
|
||
|
ORDER BY 1 ,
|
||
|
4) D ON A.sku = D.sku
|
||
|
AND A.transaction_date::date BETWEEN D.created_at AND last_date;
|
||
|
|
||
|
|
||
|
DROP TABLE IF EXISTS public.base_netsuite_stage2_v1;
|
||
|
|
||
|
|
||
|
CREATE TABLE public.base_netsuite_stage2_v1 AS
|
||
|
SELECT transaction_date,
|
||
|
A.external_id,
|
||
|
A.sku,
|
||
|
parent_sku,
|
||
|
quantity quantity,
|
||
|
parent_quantity,
|
||
|
CASE
|
||
|
WHEN cogs = 0
|
||
|
OR cogs IS NULL
|
||
|
OR A.sku = D.sku THEN 0
|
||
|
ELSE retail_price
|
||
|
END retail_price,
|
||
|
CASE
|
||
|
WHEN cogs = 0
|
||
|
OR cogs IS NULL
|
||
|
OR A.sku = D.sku THEN 0
|
||
|
ELSE parent_retail_price
|
||
|
END parent_retail_price,
|
||
|
CASE
|
||
|
WHEN cogs = 0
|
||
|
OR cogs IS NULL
|
||
|
OR A.sku = D.sku THEN 0
|
||
|
ELSE effective_wholesale_price
|
||
|
END effective_wholesale_price,
|
||
|
CASE
|
||
|
WHEN cogs = 0
|
||
|
OR cogs IS NULL
|
||
|
OR A.sku = D.sku THEN 0
|
||
|
ELSE parent_wholesale_price
|
||
|
END parent_wholesale_price,
|
||
|
CASE
|
||
|
WHEN cogs = 0
|
||
|
OR cogs IS NULL
|
||
|
OR A.sku = D.sku THEN 0
|
||
|
ELSE actual_wholesale_price
|
||
|
END actual_wholesale_price,
|
||
|
CASE
|
||
|
WHEN cogs = 0
|
||
|
OR cogs IS NULL
|
||
|
OR A.sku = D.sku THEN 0
|
||
|
ELSE discount_price
|
||
|
END discount_price,
|
||
|
coupon_applied_on,
|
||
|
CASE
|
||
|
WHEN cogs = 0
|
||
|
OR cogs IS NULL
|
||
|
OR A.sku = D.sku THEN 0
|
||
|
ELSE discount_amount
|
||
|
END discount_amount,
|
||
|
CASE
|
||
|
WHEN cogs = 0
|
||
|
OR cogs IS NULL
|
||
|
OR A.sku = D.sku THEN 0
|
||
|
ELSE dynamic_price
|
||
|
END dynamic_price,
|
||
|
CASE
|
||
|
WHEN cogs = 0
|
||
|
OR cogs IS NULL
|
||
|
OR A.sku = D.sku THEN 0
|
||
|
ELSE parent_dynamic_price
|
||
|
END parent_dynamic_price,
|
||
|
CASE
|
||
|
WHEN cogs = 0
|
||
|
OR cogs IS NULL
|
||
|
OR A.sku = D.sku THEN 0
|
||
|
ELSE payment_price
|
||
|
END payment_price,
|
||
|
CASE
|
||
|
WHEN cogs = 0
|
||
|
OR cogs IS NULL
|
||
|
OR A.sku = D.sku THEN 0
|
||
|
ELSE payment_amount
|
||
|
END payment_amount,
|
||
|
product_class,
|
||
|
parent_product_class,
|
||
|
product_type_class,
|
||
|
sales_sub_order_id,
|
||
|
loyalty_discount,
|
||
|
price_type,
|
||
|
is_campaign,
|
||
|
CASE
|
||
|
WHEN A.sku = D.sku THEN 0
|
||
|
ELSE cogs
|
||
|
END cogs,
|
||
|
cogs_flag,
|
||
|
cogs_discount_type
|
||
|
FROM public.base_netsuite_stage2_v1_base A
|
||
|
LEFT JOIN
|
||
|
(SELECT DISTINCT sku
|
||
|
FROM raena_catalog_management.product
|
||
|
WHERE lower(name) LIKE '%not for sale%'
|
||
|
OR lower(name) LIKE '%free item%'
|
||
|
OR lower(name) LIKE '%free gift%') D ON A.sku = D.sku ;
|
||
|
|
||
|
|
||
|
DROP TABLE IF EXISTS public.base_netsuite_stage3_v1 ;
|
||
|
|
||
|
|
||
|
CREATE TABLE public.base_netsuite_stage3_v1 AS
|
||
|
SELECT A.* ,
|
||
|
CASE
|
||
|
WHEN dynamic_price>0 THEN dynamic_price
|
||
|
ELSE effective_wholesale_price
|
||
|
END final_wholesale_price,
|
||
|
CASE
|
||
|
WHEN coupon_applied_on <> 'Cart'
|
||
|
AND discount_price>0 THEN retail_price*quantity*(discount_amount) /sum(CASE WHEN discount_price>0
|
||
|
AND retail_price<>0 THEN retail_price*quantity END)over(partition BY A.external_id)
|
||
|
WHEN coupon_applied_on <> 'Cart'
|
||
|
AND discount_price=0 THEN 0
|
||
|
WHEN coupon_applied_on ='Cart'
|
||
|
AND discount_price>=0 THEN discount_price
|
||
|
|
||
|
WHEN coupon_applied_on ='Cart'
|
||
|
AND discount_price=0 THEN retail_price*quantity*(discount_amount) /sum(CASE WHEN retail_price<>0 THEN retail_price*quantity END)over(partition BY A.external_id)
|
||
|
END AS Final_discount ,
|
||
|
retail_price*quantity-coalesce(actual_wholesale_price,effective_wholesale_price)*quantity AS seller_margin,
|
||
|
CASE
|
||
|
WHEN product_type_class IN ('Flash Bundle',
|
||
|
'Flash') THEN 'Flash'
|
||
|
WHEN coupon_applied_on ='Cart'
|
||
|
AND price_type ='NEGOTIATED_PRICE' THEN 'Negotiated'
|
||
|
WHEN coupon_applied_on = 'Shipping Fee' THEN 'Shipping'
|
||
|
WHEN coupon_applied_on IS NOT NULL THEN 'Brand'
|
||
|
END discount_type
|
||
|
FROM public.base_netsuite_stage2_v1 A ;
|
||
|
|
||
|
|
||
|
DROP TABLE IF EXISTS public.base_netsuite_stage4_v1 ;
|
||
|
|
||
|
|
||
|
CREATE TABLE public.base_netsuite_stage4_v1 AS
|
||
|
SELECT A.* ,
|
||
|
CASE
|
||
|
WHEN (parent_product_class= 'Bundle'
|
||
|
OR product_type_class IN('Bundle',
|
||
|
'Flash Bundle'))
|
||
|
AND A.external_id = B.external_id
|
||
|
AND A.parent_sku = B.parent_sku THEN (effective_wholesale_price*quantity)-((cast(final_wholesale_price AS decimal(22,2))*quantity*(parent_wholesale_price*parent_quantity))/ttl_wholesale_price)
|
||
|
END AS additional_discount,
|
||
|
CASE
|
||
|
WHEN final_discount<>0 THEN final_discount-seller_margin
|
||
|
END AS effective_coupon_discount
|
||
|
FROM public.base_netsuite_stage3_v1 A
|
||
|
LEFT JOIN
|
||
|
(SELECT external_id ,
|
||
|
parent_sku ,
|
||
|
round(sum(retail_price*quantity))ttl_retail_price,
|
||
|
round(sum(final_wholesale_price*quantity))ttl_wholesale_price
|
||
|
FROM public.base_netsuite_stage3_v1
|
||
|
WHERE parent_product_class= 'Bundle'
|
||
|
OR product_type_class IN('Bundle',
|
||
|
'Flash Bundle')
|
||
|
GROUP BY external_id ,
|
||
|
parent_sku) B ON A.external_id = B.external_id
|
||
|
AND A.parent_sku = B.parent_sku;
|
||
|
|
||
|
DELETE
|
||
|
FROM public.base_netsuite_final
|
||
|
WHERE external_id IN
|
||
|
(SELECT DISTINCT external_id
|
||
|
FROM public.order_level_data);
|
||
|
|
||
|
|
||
|
INSERT INTO public.base_netsuite_final
|
||
|
SELECT A.external_id,
|
||
|
A.transaction_date transaction_date ,
|
||
|
A.discount_amount order_discount_amount,
|
||
|
A.shipping_cost ,
|
||
|
coupon_code ,
|
||
|
A.coupon_applied_on ,
|
||
|
reseller_tier_name tier,
|
||
|
B.sku product_sku,
|
||
|
B.quantity ,
|
||
|
retail_price,
|
||
|
B.seller_margin/B.quantity seller_margin,
|
||
|
((coalesce(retail_price,0)*quantity) -coalesce(seller_margin,0) -coalesce(effective_coupon_discount,0) -coalesce((CASE WHEN final_discount >0 THEN 0 ELSE actual_wholesale_price*quantity - effective_wholesale_price*quantity END),0) -(coalesce(additional_discount,0)) -coalesce(loyalty_discount,0))/quantity discounted_price,
|
||
|
cast(final_discount AS decimal(22,2))/quantity coupon_discount,
|
||
|
effective_coupon_discount/quantity effective_coupon_discount ,
|
||
|
loyalty_discount/quantity loyalty_discount,
|
||
|
coalesce(additional_discount,0)/quantity additional_discount,
|
||
|
CASE
|
||
|
WHEN (parent_product_class = 'Bundle'
|
||
|
AND product_type_class = 'Flash')
|
||
|
OR product_type_class = 'Flash Bundle' THEN 'Flash Bundle'
|
||
|
WHEN (parent_product_class = 'Flash'
|
||
|
OR product_type_class = 'Flash') THEN 'Flash'
|
||
|
WHEN (parent_product_class = 'Bundle'
|
||
|
OR product_type_class = 'Bundle')THEN 'Bundle'
|
||
|
ELSE 'Regular'
|
||
|
END item_type,
|
||
|
0 diff,
|
||
|
CASE
|
||
|
WHEN price_type IS NOT NULL THEN price_type
|
||
|
ELSE discount_type
|
||
|
END discount_type ,
|
||
|
CASE
|
||
|
WHEN final_discount >0 THEN 0
|
||
|
ELSE actual_wholesale_price*quantity - effective_wholesale_price*quantity
|
||
|
END promo_amount,
|
||
|
actual_wholesale_price,
|
||
|
effective_wholesale_price,
|
||
|
A.is_campaign,
|
||
|
'' sales_sub_order_id,
|
||
|
cogs_discount_type,
|
||
|
parent_sku
|
||
|
FROM public.order_level_data A
|
||
|
LEFT JOIN public.base_netsuite_stage4_v1 B ON A.external_id = B.external_id;
|
||
|
|
||
|
|
||
|
with sales_sub_order_table as(
|
||
|
select order_id , parent_sku ,quantity, payment_amount,payment_amount/quantity payment_amount_quantity
|
||
|
from raena_order_management.sales_sub_order sso
|
||
|
where order_id in ('OD1668674111980647REG','OD1669347541350078REG','OD1668588329391772REG')
|
||
|
)
|
||
|
update public.base_netsuite_final
|
||
|
set discounted_price =payment_amount_quantity
|
||
|
from public.base_netsuite_final G
|
||
|
Inner join sales_sub_order_table B on G.external_id = B.order_id
|
||
|
and G.product_sku = B.parent_sku ;
|
||
|
|
||
|
|
||
|
SELECT max(transaction_date) Netsuite_base_date
|
||
|
FROM public.base_netsuite_final;
|
||
|
|
||
|
|
||
|
|
||
|
DROP TABLE IF EXISTS public.gm_dimensions_stage1;
|
||
|
|
||
|
CREATE TABLE public.gm_dimensions_stage1 AS
|
||
|
SELECT distinct A.id AS external_id ,
|
||
|
shipping_province,
|
||
|
reseller_id ,
|
||
|
json_extract_path_text(A.reseller_info,'name',TRUE) reseller_name,
|
||
|
json_extract_path_text(A.reseller_info,'email',TRUE) reseller_email,
|
||
|
json_extract_path_text(A.reseller_info,'mobile',TRUE) reseller_mobile,
|
||
|
discount_type,
|
||
|
json_extract_path_text(A.reseller_info,'tierName',TRUE) reseller_tier_name,
|
||
|
--C.sku ,
|
||
|
shipping_to,
|
||
|
--C.name sku_name,
|
||
|
--brand_name ,
|
||
|
--product_type ,
|
||
|
--category_name,
|
||
|
case when provider='dsf' then 'DSF'
|
||
|
when provider='rdash360' then 'RDash'
|
||
|
when order_placed_by='merchant' then 'Merchant'
|
||
|
when order_placed_by='admin' then 'Admin Panel'
|
||
|
when order_placed_by='reseller' then 'App' end order_placed_by,
|
||
|
case
|
||
|
when is_campaign='true' then 'Campaign Order'
|
||
|
when is_consignment='true' then 'Consignment Order'
|
||
|
when provider='dsf' then 'DSF Order'
|
||
|
when order_placed_by='merchant' then 'Merchant Order'
|
||
|
when D.name is not null then 'Channel Order'
|
||
|
else 'Reseller Order' end order_type,
|
||
|
is_campaign
|
||
|
FROM raena_order_management.order A
|
||
|
LEFT JOIN raena_order_management.discount_coupon B ON A.coupon_code = B.coupon_code
|
||
|
LEFT JOIN raena_order_management.order_item C ON A.id = C.order_id
|
||
|
LEFT JOIN raena_order_management.channel D ON A.channel_id = D.id
|
||
|
WHERE payment_status ='Paid'
|
||
|
AND cast(A.created_at+interval'7 hours' AS date) >='$reportDate';
|
||
|
|
||
|
drop table if exists sku_gm_mapping;
|
||
|
|
||
|
create table sku_gm_mapping
|
||
|
as
|
||
|
select A.sku ,A.name sku_name,B.name brand_name,C.name as category_name,product_type
|
||
|
from raena_catalog_management.product A
|
||
|
left join raena_catalog_management.brand b on A.brand_id = B.id
|
||
|
left join raena_catalog_management.category c on A.category_id = C.id ;
|
||
|
|
||
|
|
||
|
DELETE
|
||
|
FROM public.GM_dashboard
|
||
|
WHERE external_id IN
|
||
|
(SELECT DISTINCT external_id
|
||
|
FROM public.gm_dimensions_stage1);
|
||
|
|
||
|
INSERT INTO public.GM_dashboard
|
||
|
SELECT A.external_id ,
|
||
|
B.transaction_date AS transaction_date,
|
||
|
B.order_discount_amount ,
|
||
|
B.shipping_cost ,
|
||
|
A.shipping_province,
|
||
|
B.coupon_code ,
|
||
|
A.discount_type ,
|
||
|
B.coupon_applied_on ,
|
||
|
brand_name,
|
||
|
category_name ,
|
||
|
product_type ,
|
||
|
product_sku sku,
|
||
|
sku_name ,
|
||
|
A.reseller_name ,
|
||
|
A.reseller_email ,
|
||
|
A.reseller_mobile ,
|
||
|
reseller_tier_name tier_name,
|
||
|
reseller_id ,
|
||
|
B.quantity,
|
||
|
B.retail_price ,
|
||
|
B.seller_margin ,
|
||
|
B.discounted_price ,
|
||
|
B.additional_discount ,
|
||
|
B.loyalty_discount ,
|
||
|
B.effective_coupon_discount,
|
||
|
B.item_type ,
|
||
|
order_placed_by ,
|
||
|
coalesce(C.applied_cogs,D.cogs-coalesce(promo,0)) cogs,
|
||
|
shipping_to order_recipient ,
|
||
|
CASE
|
||
|
WHEN brand_name IN ('LUXCRIME',
|
||
|
'SKINTIFIC',
|
||
|
'TRUEVE',
|
||
|
'SANIYE',
|
||
|
'BEAUDELAB',
|
||
|
'BRASOV',
|
||
|
'FACE REPUBLIC',
|
||
|
'SKIN1004',
|
||
|
'PREMIERE BEAUTE',
|
||
|
'ALLURA',
|
||
|
'LIPLAPIN',
|
||
|
'ROUNDLAB',
|
||
|
'FACE FLUX',
|
||
|
'DOLLGORAE',
|
||
|
'SKINUA',
|
||
|
'PUREFORET',
|
||
|
'SKINTIFIC',
|
||
|
'OHMYSKIN',
|
||
|
'FEAT FOR SKIN',
|
||
|
'SECONDATE',
|
||
|
'KYND',
|
||
|
'PURNAMA',
|
||
|
'BASE',
|
||
|
'LAVIE LASH',
|
||
|
'REI SKIN',
|
||
|
'USTRAA',
|
||
|
'BRUNBRUN PARISGLOWINC',
|
||
|
'SOONHAN',
|
||
|
'THE YEON',
|
||
|
'MIXSOON',
|
||
|
'KOSE COSMEPORT') THEN 'High GM'
|
||
|
WHEN brand_name IN ('W DRESSROOM',
|
||
|
'BEAUSTA',
|
||
|
'Dewycel',
|
||
|
'GLUTANEX',
|
||
|
'HISTOIRE NATURELLE',
|
||
|
'FORENCOS',
|
||
|
'BELLFLOWER',
|
||
|
'MAXCLINIC',
|
||
|
'INGRID',
|
||
|
'ONE THING',
|
||
|
'ITFER') THEN 'EL/PL'
|
||
|
END brand_type ,
|
||
|
Customer_type,
|
||
|
BB.gm_target,
|
||
|
B.discount_type discount_promo_type ,
|
||
|
promo_amount,
|
||
|
actual_wholesale_price,
|
||
|
effective_wholesale_price,
|
||
|
coalesce(cogs_type,CASE WHEN B.product_sku = D.sku
|
||
|
AND B.transaction_date::date BETWEEN D.created_at AND last_date
|
||
|
AND promo IS NOT NULL THEN 'Promo' ELSE 'Non-Promo' END) cogs_flag,
|
||
|
A.is_campaign,
|
||
|
CASE
|
||
|
WHEN A.external_id LIKE '%DSF%' THEN 'Yes'
|
||
|
ELSE 'No'
|
||
|
END AS DSF_Flag,
|
||
|
cogs_discount_type,
|
||
|
order_type,
|
||
|
parent_sku
|
||
|
FROM public.gm_dimensions_stage1 A
|
||
|
INNER JOIN public.base_netsuite_final B ON A.external_id =B.external_id
|
||
|
LEFT JOIN
|
||
|
(SELECT distinct B.order_id ,
|
||
|
A.sku ,
|
||
|
A.applied_cogs ,
|
||
|
A.cogs_type
|
||
|
FROM raena_order_management.fulfillment_detail A
|
||
|
LEFT JOIN raena_order_management.sales_sub_order_shipment B ON A.shipment_id = B.id
|
||
|
WHERE applied_cogs IS NOT NULL) C ON B.product_sku = C.sku
|
||
|
AND A.external_id = C.order_id
|
||
|
LEFT JOIN
|
||
|
(SELECT sku,
|
||
|
cogs,
|
||
|
promo,
|
||
|
(created_at+interval'7 hours')::date created_at,
|
||
|
coalesce(lead((created_at+interval'7 hours')::date-interval'1 day' , 1) over (partition BY sku
|
||
|
ORDER BY sku,created_at),((CURRENT_DATE+interval'7 hours')+interval'1 day'))::date last_date
|
||
|
FROM raena_catalog_management.cogs_audit ca
|
||
|
ORDER BY 1 ,
|
||
|
4) D ON B.product_sku = D.sku
|
||
|
AND B.transaction_date::date BETWEEN D.created_at AND last_date
|
||
|
LEFT JOIN
|
||
|
(SELECT DISTINCT id order_id,
|
||
|
CASE
|
||
|
WHEN customer_id IS NOT NULL
|
||
|
AND order_placed_by = 'admin' THEN 'Offline Dropshipper'
|
||
|
WHEN customer_id IS NOT NULL
|
||
|
AND order_placed_by <> 'admin' THEN 'Online Dropshipper'
|
||
|
WHEN customer_id IS NULL
|
||
|
AND order_placed_by <> 'admin' THEN 'Online Reseller'
|
||
|
WHEN customer_id IS NULL
|
||
|
AND order_placed_by = 'admin' THEN 'Offline Reseller'
|
||
|
END Customer_type
|
||
|
FROM raena_order_management.order) AA ON A.external_id = AA.order_id
|
||
|
LEFT JOIN
|
||
|
(SELECT DISTINCT SKU,
|
||
|
gm_target,
|
||
|
t.name AS tierName
|
||
|
FROM raena_gross_margin_management.gross_margin_config AA
|
||
|
LEFT JOIN raena_user_management.tier t ON cast(AA.gm_target_tier AS TEXT) =cast(t.id AS TEXT)) BB ON B.product_sku = BB.sku
|
||
|
AND A.reseller_tier_name =BB.tierName
|
||
|
left join sku_gm_mapping AAA on B.product_sku = AAA.sku
|
||
|
WHERE A.external_id NOT IN
|
||
|
(SELECT DISTINCT id
|
||
|
FROM raena_order_management.order
|
||
|
WHERE status IN ('Cancelled')
|
||
|
AND payment_status= 'Paid') ;
|
||
|
|
||
|
SELECT max(transaction_date) gm_dashboard_date
|
||
|
FROM public.GM_dashboard;
|
||
|
|
||
|
DROP TABLE IF EXISTS public.GM_dashboard_v1;
|
||
|
|
||
|
CREATE TABLE public.GM_dashboard_v1 AS
|
||
|
SELECT *
|
||
|
FROM public.GM_dashboard
|
||
|
WHERE external_id IN
|
||
|
(SELECT DISTINCT external_id
|
||
|
FROM public.gm_dimensions_stage1);
|
||
|
|
||
|
DELETE
|
||
|
FROM public.GM_dashboard
|
||
|
WHERE (lower(sku_name) LIKE '%not for sale%'
|
||
|
OR lower(sku_name) LIKE '%free item%'
|
||
|
OR lower(sku_name) LIKE '%free gift%'
|
||
|
OR cogs IS NULL
|
||
|
OR COGS =0)
|
||
|
AND external_id IN
|
||
|
(SELECT DISTINCT external_id
|
||
|
FROM public.gm_dimensions_stage1);
|
||
|
|
||
|
INSERT INTO public.GM_dashboard
|
||
|
SELECT external_id,
|
||
|
transaction_date,
|
||
|
order_discount_amount,
|
||
|
shipping_cost,
|
||
|
shipping_province,
|
||
|
coupon_code,
|
||
|
discount_type,
|
||
|
coupon_applied_on,
|
||
|
brand_name,
|
||
|
category_name,
|
||
|
product_type,
|
||
|
sku,
|
||
|
sku_name,
|
||
|
reseller_name,
|
||
|
reseller_email,
|
||
|
reseller_mobile,
|
||
|
tier_name,
|
||
|
reseller_id,
|
||
|
quantity,
|
||
|
0 retail_price,
|
||
|
0 seller_margin,
|
||
|
0 ,
|
||
|
0 ,
|
||
|
0,
|
||
|
0,
|
||
|
item_type,
|
||
|
order_placed_by,
|
||
|
0 cogs,
|
||
|
order_recipient,
|
||
|
brand_type,
|
||
|
customer_type,
|
||
|
gm_target,
|
||
|
discount_promo_type,
|
||
|
0 promo_amount,
|
||
|
0,
|
||
|
0,
|
||
|
cogs_flag,
|
||
|
is_campaign,
|
||
|
dsf_flag,
|
||
|
cogs_discount_type,
|
||
|
order_type,
|
||
|
parent_sku
|
||
|
FROM public.GM_dashboard_v1
|
||
|
WHERE (lower(sku_name) LIKE '%not for sale%'
|
||
|
OR lower(sku_name) LIKE '%free item%'
|
||
|
OR lower(sku_name) LIKE '%free gift%'
|
||
|
OR cogs IS NULL
|
||
|
OR COGS =0)
|
||
|
AND external_id IN
|
||
|
(SELECT DISTINCT external_id
|
||
|
FROM public.gm_dimensions_stage1);
|
||
|
|
||
|
|
||
|
|
||
|
DROP TABLE IF EXISTS public.business_dimensions_stage1;
|
||
|
|
||
|
CREATE TABLE public.business_dimensions_stage1 AS
|
||
|
SELECT A.id AS external_id ,
|
||
|
reseller_id,
|
||
|
customer_id,
|
||
|
cart_id,
|
||
|
A.flash_sale_id,
|
||
|
shipping_to,
|
||
|
payment_status,
|
||
|
A.status,
|
||
|
A.stock_type,
|
||
|
case when provider='dsf' then 'DSF'
|
||
|
when provider='rdash360' then 'RDash'
|
||
|
when order_placed_by='merchant' then 'Merchant'
|
||
|
when order_placed_by='admin' then 'Admin Panel'
|
||
|
when order_placed_by='reseller' then 'App' end order_placed_by,
|
||
|
case
|
||
|
when is_campaign='true' then 'Campaign Order'
|
||
|
when is_consignment='true' then 'Consignment Order'
|
||
|
when provider='dsf' then 'DSF Order'
|
||
|
when order_placed_by='merchant' then 'Merchant Order'
|
||
|
when E.name is not null then 'Channel Order'
|
||
|
else 'Reseller Order'
|
||
|
end order_type,
|
||
|
order_warehouse,
|
||
|
cast(channel_id AS text) channel_id ,
|
||
|
medium,
|
||
|
marketplace,
|
||
|
provider,
|
||
|
coalesce(cast(B.tier_id AS varchar),cast(C.tier_id AS varchar)) tier_id ,
|
||
|
json_extract_path_text(A.reseller_info,'city',TRUE) reseller_city,
|
||
|
json_extract_path_text(A.reseller_info,'province',TRUE) reseller_province,
|
||
|
json_extract_path_text(A.reseller_info,'name',TRUE) reseller_name,
|
||
|
json_extract_path_text(A.reseller_info,'email',TRUE) reseller_email,
|
||
|
json_extract_path_text(A.reseller_info,'mobile',TRUE) reseller_mobile,
|
||
|
json_extract_path_text(A.reseller_info,'store',TRUE) reseller_store,
|
||
|
json_extract_path_text(A.reseller_info,'tierName',TRUE) reseller_tier_name,
|
||
|
shipping_address_line1 ,
|
||
|
shipping_address_line2 ,
|
||
|
shipping_pincode ,
|
||
|
shipping_district,
|
||
|
shipping_city ,
|
||
|
shipping_province ,
|
||
|
is_bank_transfer ,
|
||
|
is_campaign ,
|
||
|
discount_type,
|
||
|
shipping_coupon_discount
|
||
|
FROM raena_order_management.order A
|
||
|
LEFT JOIN public.tier_name B ON A.id = B.id
|
||
|
LEFT JOIN raena_user_management.user C ON cast(A.reseller_id AS varchar) = cast(C.id AS varchar)
|
||
|
LEFT JOIN raena_order_management.discount_coupon D ON A.coupon_code = D.coupon_code
|
||
|
LEFT JOIN raena_order_management.channel E ON A.channel_id = E.id
|
||
|
WHERE cast(A.created_at+interval'7 hours' AS date) >='$reportDate' ;
|
||
|
|
||
|
|
||
|
|
||
|
DELETE
|
||
|
FROM public.business_report
|
||
|
WHERE external_id IN
|
||
|
(SELECT DISTINCT external_id
|
||
|
FROM public.business_dimensions_stage1);
|
||
|
|
||
|
INSERT INTO public.business_report
|
||
|
SELECT DISTINCT A.external_id,
|
||
|
cast(B.transaction_date AS date) created_date ,
|
||
|
B.order_discount_amount,
|
||
|
B.shipping_cost ,
|
||
|
coupon_code ,
|
||
|
D.name brand_name,
|
||
|
C.product_type,
|
||
|
E.name category_name,
|
||
|
C.name sku_name,
|
||
|
B.product_sku sku,
|
||
|
reseller_id,
|
||
|
customer_id,
|
||
|
cart_id,
|
||
|
A.flash_sale_id,
|
||
|
shipping_to,
|
||
|
payment_status,
|
||
|
status,
|
||
|
A.stock_type,
|
||
|
order_placed_by,
|
||
|
order_warehouse,
|
||
|
channel_id,
|
||
|
medium,
|
||
|
marketplace,
|
||
|
provider,
|
||
|
reseller_tier_name tier,
|
||
|
reseller_city,
|
||
|
reseller_name,
|
||
|
reseller_email,
|
||
|
reseller_mobile,
|
||
|
reseller_store,
|
||
|
shipping_address_line1 ,
|
||
|
shipping_address_line2 ,
|
||
|
shipping_pincode ,
|
||
|
shipping_district,
|
||
|
shipping_city ,
|
||
|
shipping_province ,
|
||
|
is_bank_transfer ,
|
||
|
a.is_campaign ,
|
||
|
C.Country,
|
||
|
B.quantity ,
|
||
|
B.retail_price,
|
||
|
seller_margin,
|
||
|
discounted_price,
|
||
|
loyalty_discount,
|
||
|
effective_coupon_discount ,
|
||
|
additional_discount,
|
||
|
item_type,
|
||
|
B.discount_type discount_promo_type,
|
||
|
promo_amount,
|
||
|
actual_wholesale_price,
|
||
|
effective_wholesale_price,
|
||
|
reseller_province,
|
||
|
CASE
|
||
|
WHEN A.external_id LIKE '%DSF%' THEN 'Yes'
|
||
|
ELSE 'No'
|
||
|
END DSF_flag,
|
||
|
CASE
|
||
|
WHEN brand_name IN ('LUXCRIME',
|
||
|
'SKINTIFIC',
|
||
|
'TRUEVE',
|
||
|
'SANIYE',
|
||
|
'BEAUDELAB',
|
||
|
'BRASOV',
|
||
|
'FACE REPUBLIC',
|
||
|
'SKIN1004',
|
||
|
'PREMIERE BEAUTE',
|
||
|
'ALLURA',
|
||
|
'LIPLAPIN',
|
||
|
'ROUNDLAB',
|
||
|
'FACE FLUX',
|
||
|
'DOLLGORAE',
|
||
|
'SKINUA',
|
||
|
'PUREFORET',
|
||
|
'SKINTIFIC',
|
||
|
'OHMYSKIN',
|
||
|
'FEAT FOR SKIN',
|
||
|
'SECONDATE',
|
||
|
'KYND',
|
||
|
'PURNAMA',
|
||
|
'BASE',
|
||
|
'LAVIE LASH',
|
||
|
'REI SKIN',
|
||
|
'USTRAA',
|
||
|
'BRUNBRUN PARISGLOWINC',
|
||
|
'SOONHAN',
|
||
|
'THE YEON',
|
||
|
'MIXSOON',
|
||
|
'KOSE COSMEPORT') THEN 'High GM'
|
||
|
WHEN brand_name IN ('W DRESSROOM',
|
||
|
'BEAUSTA',
|
||
|
'Dewycel',
|
||
|
'GLUTANEX',
|
||
|
'HISTOIRE NATURELLE',
|
||
|
'FORENCOS',
|
||
|
'BELLFLOWER',
|
||
|
'MAXCLINIC',
|
||
|
'INGRID',
|
||
|
'ONE THING',
|
||
|
'ITFER') THEN 'EL/PL'
|
||
|
END brand_type,
|
||
|
A.order_type
|
||
|
FROM public.business_dimensions_stage1 A
|
||
|
LEFT JOIN public.base_netsuite_final B ON A.external_id = B.external_id
|
||
|
LEFT JOIN raena_catalog_management.product C ON B.product_sku = C.sku
|
||
|
LEFT JOIN raena_catalog_management.brand D ON C.brand_id = D.id
|
||
|
LEFT JOIN raena_catalog_management.category E ON C.category_id = E.id
|
||
|
WHERE A.external_id NOT IN
|
||
|
( SELECT DISTINCT id
|
||
|
FROM raena_order_management.order
|
||
|
WHERE status IN ('Cancelled')
|
||
|
AND payment_status= 'Paid');
|
||
|
|
||
|
DROP TABLE IF EXISTS public.business_report_v1;
|
||
|
|
||
|
|
||
|
CREATE TABLE public.business_report_v1 AS
|
||
|
SELECT *
|
||
|
FROM public.business_report
|
||
|
WHERE external_id IN
|
||
|
(SELECT DISTINCT external_id
|
||
|
FROM public.business_dimensions_stage1);
|
||
|
|
||
|
DELETE
|
||
|
FROM public.business_report USING
|
||
|
(SELECT DISTINCT sku,
|
||
|
sku_name,
|
||
|
external_id
|
||
|
FROM public.gm_dashboard gd
|
||
|
WHERE lower(sku_name) LIKE '%not for sale%'
|
||
|
OR lower(sku_name) LIKE '%free item%'
|
||
|
OR lower(sku_name) LIKE '%free gift%'
|
||
|
OR cogs IS NULL
|
||
|
OR COGS =0) B
|
||
|
WHERE public.business_report.external_id = B.external_id
|
||
|
AND public.business_report.sku=B.sku
|
||
|
AND public.business_report.external_id IN
|
||
|
(SELECT DISTINCT external_id
|
||
|
FROM public.business_dimensions_stage1);
|
||
|
|
||
|
INSERT INTO public.business_report
|
||
|
SELECT external_id,
|
||
|
created_date,
|
||
|
order_discount_amount,
|
||
|
shipping_cost,
|
||
|
coupon_code,
|
||
|
brand_name,
|
||
|
product_type,
|
||
|
category_name,
|
||
|
sku_name,
|
||
|
sku,
|
||
|
reseller_id,
|
||
|
customer_id,
|
||
|
cart_id,
|
||
|
flash_sale_id,
|
||
|
shipping_to,
|
||
|
payment_status,
|
||
|
status,
|
||
|
stock_type,
|
||
|
order_placed_by,
|
||
|
order_warehouse,
|
||
|
channel_id,
|
||
|
medium,
|
||
|
marketplace,
|
||
|
provider,
|
||
|
tier,
|
||
|
reseller_city,
|
||
|
reseller_name,
|
||
|
reseller_email,
|
||
|
reseller_mobile,
|
||
|
reseller_store,
|
||
|
shipping_address_line1,
|
||
|
shipping_address_line2,
|
||
|
shipping_pincode,
|
||
|
shipping_district,
|
||
|
shipping_city,
|
||
|
shipping_province,
|
||
|
is_bank_transfer,
|
||
|
is_campaign,
|
||
|
country,
|
||
|
quantity,
|
||
|
0 retail_price,
|
||
|
0 seller_margin,
|
||
|
0 discount_price,
|
||
|
0 loyalty_discount,
|
||
|
0 effective_coupon_discount,
|
||
|
0 additional_discount,
|
||
|
item_type,
|
||
|
discount_promo_type,
|
||
|
0 promo_amount,
|
||
|
0 actual_wholesale_price,
|
||
|
0 effective_wholesale_price,
|
||
|
reseller_province,
|
||
|
dsf_flag,
|
||
|
brand_type,
|
||
|
order_type
|
||
|
FROM
|
||
|
(SELECT public.business_report_v1.*
|
||
|
FROM public.business_report_v1
|
||
|
INNER JOIN
|
||
|
(SELECT DISTINCT sku,
|
||
|
sku_name,
|
||
|
external_id
|
||
|
FROM public.gm_dashboard gd
|
||
|
WHERE lower(sku_name) LIKE '%not for sale%'
|
||
|
OR lower(sku_name) LIKE '%free item%'
|
||
|
OR lower(sku_name) LIKE '%free gift%'
|
||
|
OR cogs IS NULL
|
||
|
OR COGS =0) B ON public.business_report_v1.external_id = B.external_id
|
||
|
AND public.business_report_v1.sku=B.sku) A
|
||
|
WHERE external_id IN
|
||
|
(SELECT DISTINCT external_id
|
||
|
FROM public.business_dimensions_stage1);
|
||
|
|
||
|
SELECT max(created_date) business_date
|
||
|
FROM public.business_report;
|
||
|
|
||
|
DELETE
|
||
|
FROM public.OM_GM_DB_Product_category
|
||
|
WHERE external_Id IN
|
||
|
(SELECT DISTINCT external_id
|
||
|
FROM public.gm_dimensions_stage1);
|
||
|
|
||
|
|
||
|
INSERT INTO OM_GM_DB_Product_category
|
||
|
SELECT external_id,
|
||
|
transaction_date,
|
||
|
\"Time\",
|
||
|
order_discount_amount,
|
||
|
shipping_cost,
|
||
|
coupon_code ,
|
||
|
discount_type ,
|
||
|
coupon_applied_on ,
|
||
|
brand_name,
|
||
|
category_name ,
|
||
|
product_type ,
|
||
|
sku,
|
||
|
sku_name ,
|
||
|
reseller_name ,
|
||
|
reseller_email ,
|
||
|
base.reseller_mobile ,
|
||
|
tier_name ,
|
||
|
reseller_id ,
|
||
|
quantity ,
|
||
|
retail_price ,
|
||
|
seller_margin ,
|
||
|
discounted_price ,
|
||
|
additional_discount,
|
||
|
item_type ,
|
||
|
order_placed_by ,
|
||
|
cogs,
|
||
|
shipping_province ,
|
||
|
Flag ,
|
||
|
wholesale_price,
|
||
|
order_recipient,
|
||
|
brand_type,
|
||
|
Customer_type,
|
||
|
gm_target,
|
||
|
discount_promo_type,
|
||
|
promo_amount,
|
||
|
actual_wholesale_price,
|
||
|
effective_wholesale_price,
|
||
|
CASE
|
||
|
WHEN date_trunc('Month',base.transaction_date)::date = date_trunc('Month',first_install_date)::date
|
||
|
AND date_trunc('Month',base.transaction_date)::date = date_trunc('Month',First_transaction_date)::date THEN 'New'
|
||
|
WHEN date_trunc('Month',base.transaction_date)::date-date_trunc('Month',first_install_date)::date>= 30
|
||
|
AND date_trunc('Month',base.transaction_date)::date = date_trunc('Month',First_transaction_date)::date THEN 'Activation'
|
||
|
WHEN date_trunc('Month',base.transaction_date)::date-date_trunc('Month',first_install_date)::date>=30
|
||
|
AND date_trunc('Month',base.transaction_date)::date - date_trunc('Month',First_transaction_date)::date>=30 THEN 'Existing'
|
||
|
ELSE 'Na'
|
||
|
END AS New_existing_flag,
|
||
|
is_campaign,
|
||
|
dsf_flag,
|
||
|
cogs_flag,
|
||
|
cogs_discount_type,
|
||
|
order_type,
|
||
|
parent_sku
|
||
|
FROM
|
||
|
(SELECT A.external_id ,
|
||
|
cast(transaction_date AS date) transaction_date ,
|
||
|
concat(left(TO_char(transaction_date,'month'),3),date_part('year',transaction_date)) AS Time,
|
||
|
order_discount_amount ,
|
||
|
shipping_cost ,
|
||
|
coupon_code ,
|
||
|
discount_type ,
|
||
|
coupon_applied_on ,
|
||
|
D.brand_name,
|
||
|
D.category_name ,
|
||
|
D.product_type ,
|
||
|
A.sku,
|
||
|
D.name sku_name ,
|
||
|
reseller_name ,
|
||
|
reseller_email ,
|
||
|
reseller_mobile ,
|
||
|
tier_name ,
|
||
|
A.reseller_id ,
|
||
|
quantity ,
|
||
|
retail_price ,
|
||
|
seller_margin ,
|
||
|
discounted_price ,
|
||
|
additional_discount,
|
||
|
item_type ,
|
||
|
order_placed_by ,
|
||
|
A.cogs,
|
||
|
shipping_province ,
|
||
|
CASE
|
||
|
WHEN A.external_id = C.external_id THEN 'Yes'
|
||
|
ELSE 'No'
|
||
|
END Flag ,
|
||
|
CASE
|
||
|
WHEN tier_name='GOLD' THEN gold_price
|
||
|
WHEN tier_name ='SILVER' THEN silver_price
|
||
|
WHEN tier_name ='BRONZE' THEN bronze_price
|
||
|
ELSE retail_price-seller_margin
|
||
|
END wholesale_price,
|
||
|
order_recipient,
|
||
|
brand_type,
|
||
|
Customer_type,
|
||
|
gm_target,
|
||
|
discount_promo_type,
|
||
|
promo_amount,
|
||
|
actual_wholesale_price,
|
||
|
effective_wholesale_price,
|
||
|
is_campaign,
|
||
|
A.dsf_flag,
|
||
|
A.cogs_flag,
|
||
|
A.cogs_discount_type,
|
||
|
A.order_type,
|
||
|
parent_sku
|
||
|
FROM public.GM_dashboard A
|
||
|
LEFT JOIN
|
||
|
(SELECT DISTINCT external_id
|
||
|
FROM
|
||
|
(SELECT external_id,
|
||
|
discounted_price ,
|
||
|
sku ,
|
||
|
(((retail_price-seller_margin)*quantity) -(cogs*quantity))/(CASE WHEN retail_price<>0 THEN (retail_price-seller_margin)*quantity END) Pre_discount,
|
||
|
CASE WHEN discounted_price>0 THEN ((discounted_price*quantity) -(cogs*quantity))/(discounted_price*quantity) ELSE 0 END Post_discount
|
||
|
FROM public.GM_dashboard) A
|
||
|
WHERE Post_discount>Pre_discount) C ON A.external_id = C.external_id
|
||
|
LEFT JOIN
|
||
|
(SELECT DISTINCT Sku ,
|
||
|
A.name,
|
||
|
A.product_type,
|
||
|
C.name category_name ,
|
||
|
B.name brand_name
|
||
|
FROM raena_catalog_management.product A
|
||
|
LEFT JOIN raena_catalog_management.brand B ON A.brand_id = B.id
|
||
|
LEFT JOIN raena_catalog_management.category c ON A.category_id=C.id) D ON A.sku = D.sku
|
||
|
LEFT JOIN pricing_sheet P ON A.sku=p.skucode
|
||
|
WHERE cast(transaction_date AS date) >='$reportDate'
|
||
|
AND A.external_id NOT IN
|
||
|
(SELECT DISTINCT id
|
||
|
FROM raena_order_management.order
|
||
|
WHERE status IN ('Cancelled')
|
||
|
AND payment_status= 'Paid')) base
|
||
|
LEFT JOIN user_type_table flag ON replace(base.reseller_mobile,'+','')=flag.reseller_mobile;
|
||
|
|
||
|
SELECT max(transaction_date) om_gm_db_product_date
|
||
|
FROM public.OM_GM_DB_Product_category;
|
||
|
|
||
|
update public.gm_dashboard
|
||
|
set cogs_discount_type='BUY_N_GET_X'
|
||
|
where external_id in (select distinct external_id from public.gm_dashboard where sku like '______X');
|
||
|
|
||
|
update public.om_gm_db_product_category
|
||
|
set cogs_discount_type='BUY_N_GET_X'
|
||
|
where external_id in (select distinct external_id from public.om_gm_db_product_category where sku like '______X');
|
||
|
|
||
|
DELETE
|
||
|
FROM public.GM_GROWTH_TAB1
|
||
|
WHERE created_date >='$reportDate';
|
||
|
|
||
|
INSERT INTO public.GM_GROWTH_TAB1
|
||
|
SELECT tier,
|
||
|
created_date,
|
||
|
brand_name,
|
||
|
product_type,
|
||
|
category_name,
|
||
|
sku,
|
||
|
sku_name,
|
||
|
order_placed_by,
|
||
|
shipping_province,
|
||
|
shipping_to,
|
||
|
status,
|
||
|
channel_name,
|
||
|
reseller_name,
|
||
|
reseller_email,
|
||
|
base.reseller_mobile,
|
||
|
Number_of_Orders ,
|
||
|
RSP ,
|
||
|
wholesale_price ,
|
||
|
Payment_Price ,
|
||
|
Effective_Coupon_Discount,
|
||
|
Total_Loyalty_point,
|
||
|
additional_discount,
|
||
|
seller_margin,
|
||
|
AOV,
|
||
|
quantity,
|
||
|
discount_promo_type,
|
||
|
promo_amount,
|
||
|
actual_wholesale_price,
|
||
|
effective_wholesale_price,
|
||
|
reseller_province,
|
||
|
is_campaign,
|
||
|
dsf_flag,
|
||
|
brand_type,
|
||
|
CASE
|
||
|
WHEN date_trunc('Month',base.created_date)::date = date_trunc('Month',first_install_date)::date
|
||
|
AND date_trunc('Month',base.created_date)::date = date_trunc('Month',First_transaction_date)::date THEN 'New'
|
||
|
WHEN date_trunc('Month',base.created_date)::date-date_trunc('Month',first_install_date)::date>= 30
|
||
|
AND date_trunc('Month',base.created_date)::date = date_trunc('Month',First_transaction_date)::date THEN 'Activation'
|
||
|
WHEN date_trunc('Month',base.created_date)::date-date_trunc('Month',first_install_date)::date>=30
|
||
|
AND date_trunc('Month',base.created_date)::date - date_trunc('Month',First_transaction_date)::date>=30 THEN 'Existing'
|
||
|
ELSE 'Na'
|
||
|
END AS New_existing_flag,
|
||
|
external_id,
|
||
|
order_type
|
||
|
FROM
|
||
|
(SELECT tier,
|
||
|
created_date,
|
||
|
brand_name,
|
||
|
product_type,
|
||
|
category_name,
|
||
|
sku,
|
||
|
sku_name,
|
||
|
order_placed_by,
|
||
|
shipping_province,
|
||
|
shipping_to,
|
||
|
status,
|
||
|
channel_name,
|
||
|
reseller_name,
|
||
|
reseller_email,
|
||
|
reseller_mobile,
|
||
|
count(DISTINCT external_id) AS Number_of_Orders ,
|
||
|
sum(retail_price*quantity) RSP ,
|
||
|
sum((retail_price*quantity)-(seller_margin*quantity))wholesale_price ,
|
||
|
sum(discounted_price*quantity) AS Payment_Price ,
|
||
|
sum(effective_coupon_discount*quantity) AS Effective_Coupon_Discount,
|
||
|
sum(loyalty_discount*quantity)Total_Loyalty_point,
|
||
|
sum(additional_discount*quantity)additional_discount,
|
||
|
sum(seller_margin*quantity)seller_margin,
|
||
|
sum(discounted_price*quantity)/count(DISTINCT external_id) AS AOV,
|
||
|
sum(quantity) AS quantity,
|
||
|
discount_promo_type,
|
||
|
sum(promo_amount) promo_amount,
|
||
|
sum(actual_wholesale_price* quantity) actual_wholesale_price,
|
||
|
sum(effective_wholesale_price*quantity) effective_wholesale_price,
|
||
|
reseller_province,
|
||
|
is_campaign,
|
||
|
dsf_flag,
|
||
|
brand_type,
|
||
|
external_id,
|
||
|
order_type
|
||
|
FROM
|
||
|
(SELECT DISTINCT coalesce(a.tier,'NA') AS tier,
|
||
|
a.created_date,
|
||
|
brand_name,
|
||
|
product_type,
|
||
|
category_name,
|
||
|
sku,
|
||
|
sku_name,
|
||
|
order_placed_by,
|
||
|
shipping_province,
|
||
|
shipping_to,
|
||
|
status,
|
||
|
b.channel_name,
|
||
|
reseller_name,
|
||
|
reseller_email,
|
||
|
reseller_mobile,
|
||
|
external_id,
|
||
|
retail_price,
|
||
|
quantity,
|
||
|
seller_margin,
|
||
|
discounted_price,
|
||
|
effective_coupon_discount,
|
||
|
loyalty_discount,
|
||
|
additional_discount,
|
||
|
discount_promo_type,
|
||
|
promo_amount,
|
||
|
actual_wholesale_price,
|
||
|
effective_wholesale_price,
|
||
|
reseller_province,
|
||
|
is_campaign,
|
||
|
dsf_flag,
|
||
|
brand_type,
|
||
|
order_type,
|
||
|
row_number() over (partition BY external_id
|
||
|
ORDER BY external_id) AS R
|
||
|
FROM public.business_report a
|
||
|
LEFT JOIN
|
||
|
(SELECT DISTINCT A.id ,
|
||
|
channel_id ,
|
||
|
D.name channel_name
|
||
|
FROM raena_order_management.order A
|
||
|
LEFT JOIN
|
||
|
(SELECT id,
|
||
|
name
|
||
|
FROM raena_order_management.channel) D ON A.channel_id = D.id
|
||
|
WHERE cast(created_at AS date) >= '$reportDate'
|
||
|
AND channel_id IS NOT NULL) b ON a.external_id=b.id
|
||
|
WHERE payment_status='Paid'
|
||
|
AND created_date >= '$reportDate')
|
||
|
GROUP BY tier,
|
||
|
created_date,
|
||
|
brand_name,
|
||
|
product_type,
|
||
|
category_name,
|
||
|
sku,
|
||
|
sku_name,
|
||
|
order_placed_by,
|
||
|
shipping_province,
|
||
|
shipping_to,
|
||
|
status,
|
||
|
channel_name,
|
||
|
reseller_name,
|
||
|
reseller_email,
|
||
|
reseller_mobile,
|
||
|
external_id,
|
||
|
discount_promo_type,
|
||
|
reseller_province,
|
||
|
is_campaign,
|
||
|
dsf_flag,
|
||
|
brand_type,
|
||
|
order_type) base
|
||
|
LEFT JOIN user_type_table flag ON replace(base.reseller_mobile,'+','')=flag.reseller_mobile;
|
||
|
|
||
|
SELECT max(created_date) gm_growth_date
|
||
|
FROM public.GM_GROWTH_TAB1;
|
||
|
|
||
|
|
||
|
DROP TABLE IF EXISTS public.GM_GROWTH_TAB2;
|
||
|
|
||
|
|
||
|
CREATE TABLE public.GM_GROWTH_TAB2 AS
|
||
|
SELECT 'year' AS frequency,
|
||
|
cast(date_part('year',created_date) AS varchar) AS time,
|
||
|
cast(date_part('year',created_date) AS int) AS sort ,
|
||
|
*
|
||
|
FROM public.GM_GROWTH_TAB1
|
||
|
UNION
|
||
|
SELECT 'quarter' AS frequency,
|
||
|
To_char(created_date,'quarter') AS month_name,
|
||
|
date_part('quarter',created_date) AS sort ,
|
||
|
*
|
||
|
FROM public.GM_GROWTH_TAB1
|
||
|
UNION
|
||
|
SELECT 'month' AS frequency,
|
||
|
To_char(created_date,'month') AS month_name,
|
||
|
date_part('month',created_date) AS sort ,
|
||
|
*
|
||
|
FROM public.GM_GROWTH_TAB1
|
||
|
UNION
|
||
|
SELECT 'week' AS frequency,
|
||
|
To_char(created_date,'week') AS month_name,
|
||
|
cast(left(To_char(created_date,'week'),1) AS int) AS sort ,
|
||
|
*
|
||
|
FROM public.GM_GROWTH_TAB1
|
||
|
UNION
|
||
|
SELECT 'day' AS frequency,
|
||
|
cast(date_part('day',created_date) AS varchar) AS month_name,
|
||
|
cast(date_part('day',created_date) AS int) AS sort ,
|
||
|
*
|
||
|
FROM public.GM_GROWTH_TAB1
|
||
|
ORDER BY 3;
|
||
|
|
||
|
|
||
|
DROP TABLE IF EXISTS public.GM_GROWTH_TAB3;
|
||
|
CREATE TABLE public.GM_GROWTH_TAB3 AS
|
||
|
(
|
||
|
SELECT 'year' AS frequency,
|
||
|
'All' AS brand_name,
|
||
|
'All' AS product_type,
|
||
|
'All' AS category_name,
|
||
|
'All' AS sku,
|
||
|
'All' AS sku_name,tier_name,new_existing_flag,
|
||
|
cast(date_part('year',transaction_date) AS varchar) AS time,
|
||
|
cast(date_part('year',transaction_date) AS int) AS sort,o.status,
|
||
|
order_placed_by,reseller_email,shipping_province,order_recipient,transaction_date,order_type,
|
||
|
sum((quantity*discounted_price)-(cogs*quantity)) as Numerator,sum(quantity*discounted_price) as Denominator
|
||
|
from public.OM_GM_DB_Product_category a
|
||
|
inner join (select distinct id,status from raena_order_management."order") o on a.external_id=o.id
|
||
|
group by 7,8,9,10,11,12,13,14,15,16,17
|
||
|
union
|
||
|
SELECT 'year' AS frequency,
|
||
|
brand_name,
|
||
|
product_type,
|
||
|
category_name,
|
||
|
sku,
|
||
|
sku_name,tier_name,new_existing_flag,
|
||
|
cast(date_part('year',transaction_date) AS varchar) AS time,
|
||
|
cast(date_part('year',transaction_date) AS int) AS sort,o.status,
|
||
|
order_placed_by,reseller_email,shipping_province,order_recipient,transaction_date,order_type,
|
||
|
sum((quantity*discounted_price)-(cogs*quantity)) as Numerator,sum(quantity*discounted_price) as Denominator
|
||
|
from public.OM_GM_DB_Product_category a
|
||
|
inner join (select distinct id,status from raena_order_management."order") o on a.external_id=o.id
|
||
|
group by 2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17
|
||
|
)
|
||
|
union
|
||
|
(
|
||
|
SELECT 'quarter' AS frequency,
|
||
|
'All' AS brand_name,
|
||
|
'All' AS product_type,
|
||
|
'All' AS category_name,
|
||
|
'All' AS sku,
|
||
|
'All' AS sku_name,tier_name,new_existing_flag,
|
||
|
To_char(transaction_date,'quarter') AS month_name,
|
||
|
date_part('quarter',transaction_date) as sort ,o.status,
|
||
|
order_placed_by,reseller_email,shipping_province,order_recipient,transaction_date,order_type,
|
||
|
sum((quantity*discounted_price)-(cogs*quantity)) as Numerator,sum(quantity*discounted_price) as Denominator
|
||
|
from public.OM_GM_DB_Product_category a
|
||
|
inner join (select distinct id,status from raena_order_management."order") o on a.external_id=o.id
|
||
|
group by 7,8,9,10,11,12,13,14,15,16,17
|
||
|
union
|
||
|
SELECT 'quarter' AS frequency,
|
||
|
brand_name,
|
||
|
product_type,
|
||
|
category_name,
|
||
|
sku,
|
||
|
sku_name,tier_name,new_existing_flag,
|
||
|
To_char(transaction_date,'quarter') AS month_name,
|
||
|
date_part('quarter',transaction_date) as sort ,o.status,
|
||
|
order_placed_by,reseller_email,shipping_province,order_recipient,transaction_date,order_type,
|
||
|
sum((quantity*discounted_price)-(cogs*quantity)) as Numerator,sum(quantity*discounted_price) as Denominator
|
||
|
from public.OM_GM_DB_Product_category a
|
||
|
inner join (select distinct id,status from raena_order_management."order") o on a.external_id=o.id
|
||
|
group by 2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17
|
||
|
)
|
||
|
union
|
||
|
(
|
||
|
SELECT 'month' AS frequency,
|
||
|
'All' AS brand_name,
|
||
|
'All' AS product_type,
|
||
|
'All' AS category_name,
|
||
|
'All' AS sku,
|
||
|
'All' AS sku_name,tier_name,new_existing_flag,
|
||
|
To_char(transaction_date,'month') AS month_name,
|
||
|
date_part('month',transaction_date) as sort ,o.status,
|
||
|
order_placed_by,reseller_email,shipping_province,order_recipient,transaction_date,order_type,
|
||
|
sum((quantity*discounted_price)-(cogs*quantity)) as Numerator,sum(quantity*discounted_price) as Denominator
|
||
|
from public.OM_GM_DB_Product_category a
|
||
|
inner join (select distinct id,status from raena_order_management."order") o on a.external_id=o.id
|
||
|
group by 7,8,9,10,11,12,13,14,15,16,17
|
||
|
union
|
||
|
SELECT 'month' AS frequency,
|
||
|
brand_name,
|
||
|
product_type,
|
||
|
category_name,
|
||
|
sku,
|
||
|
sku_name,tier_name,new_existing_flag,
|
||
|
To_char(transaction_date,'month') AS month_name,
|
||
|
date_part('month',transaction_date) as sort ,o.status,
|
||
|
order_placed_by,reseller_email,shipping_province,order_recipient,transaction_date,order_type,
|
||
|
sum((quantity*discounted_price)-(cogs*quantity)) as Numerator,sum(quantity*discounted_price) as Denominator
|
||
|
from public.OM_GM_DB_Product_category a
|
||
|
inner join (select distinct id,status from raena_order_management."order") o on a.external_id=o.id
|
||
|
group by 2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17)
|
||
|
union
|
||
|
(
|
||
|
SELECT 'week' AS frequency,
|
||
|
'All' AS brand_name,
|
||
|
'All' AS product_type,
|
||
|
'All' AS category_name,
|
||
|
'All' AS sku,
|
||
|
'All' AS sku_name,tier_name,new_existing_flag,
|
||
|
To_char(transaction_date,'week') AS month_name,
|
||
|
cast(left(To_char(transaction_date,'week'),1) as int) AS sort ,o.status,
|
||
|
order_placed_by,reseller_email,shipping_province,order_recipient,transaction_date,order_type,
|
||
|
sum((quantity*discounted_price)-(cogs*quantity)) as Numerator,sum(quantity*discounted_price) as Denominator
|
||
|
from public.OM_GM_DB_Product_category a
|
||
|
inner join (select distinct id,status from raena_order_management."order") o on a.external_id=o.id
|
||
|
group by 7,8,9,10,11,12,13,14,15,16,17
|
||
|
union
|
||
|
SELECT 'week' AS frequency,
|
||
|
brand_name,
|
||
|
product_type,
|
||
|
category_name,
|
||
|
sku,
|
||
|
sku_name,tier_name,new_existing_flag,
|
||
|
To_char(transaction_date,'week') AS month_name,
|
||
|
cast(left(To_char(transaction_date,'week'),1) as int) AS sort ,o.status,
|
||
|
order_placed_by,reseller_email,shipping_province,order_recipient,transaction_date,order_type,
|
||
|
sum((quantity*discounted_price)-(cogs*quantity)) as Numerator,sum(quantity*discounted_price) as Denominator
|
||
|
from public.OM_GM_DB_Product_category a
|
||
|
inner join (select distinct id,status from raena_order_management."order") o on a.external_id=o.id
|
||
|
group by 2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17
|
||
|
)
|
||
|
union
|
||
|
(
|
||
|
SELECT 'day' AS frequency,
|
||
|
'All' AS brand_name,
|
||
|
'All' AS product_type,
|
||
|
'All' AS category_name,
|
||
|
'All' AS sku,
|
||
|
'All' AS sku_name,tier_name,new_existing_flag,
|
||
|
cast(date_part('day',transaction_date) as varchar) AS month_name,
|
||
|
cast(date_part('day',transaction_date) AS int) AS sort ,o.status,
|
||
|
order_placed_by,reseller_email,shipping_province,order_recipient,transaction_date,order_type,
|
||
|
sum((quantity*discounted_price)-(cogs*quantity)) as Numerator,sum(quantity*discounted_price) as Denominator
|
||
|
from public.OM_GM_DB_Product_category a
|
||
|
inner join (select distinct id,status from raena_order_management."order") o on a.external_id=o.id
|
||
|
group by 7,8,9,10,11,12,13,14,15,16,17
|
||
|
union
|
||
|
SELECT 'day' AS frequency,
|
||
|
brand_name,
|
||
|
product_type,
|
||
|
category_name,
|
||
|
sku,
|
||
|
sku_name,tier_name,new_existing_flag,
|
||
|
cast(date_part('day',transaction_date) as varchar) AS month_name,
|
||
|
cast(date_part('day',transaction_date) AS int) AS sort ,o.status,
|
||
|
order_placed_by,reseller_email,shipping_province,order_recipient,transaction_date,
|
||
|
order_type,
|
||
|
sum((quantity*discounted_price)-(cogs*quantity)) as Numerator,sum(quantity*discounted_price) as Denominator
|
||
|
from public.OM_GM_DB_Product_category a
|
||
|
inner join (select distinct id,status from raena_order_management."order") o on a.external_id=o.id
|
||
|
group by 2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17
|
||
|
)
|
||
|
ORDER BY 3;
|
||
|
|
||
|
DROP TABLE shipping_fee_base_table;
|
||
|
|
||
|
CREATE TABLE shipping_fee_base_table AS
|
||
|
SELECT A.order_id ,
|
||
|
sum(CASE WHEN A.sales_sub_order_shipment_id = C.reference_id THEN ((C.shipping_amount)/(C.order_weight))*(C.final_weight) ELSE B.shipping_amount END) shipping_amount
|
||
|
FROM
|
||
|
(SELECT DISTINCT order_id ,
|
||
|
sales_sub_order_shipment_id
|
||
|
FROM raena_order_management.sales_sub_order) A
|
||
|
LEFT JOIN raena_order_management.sales_sub_order_shipment B ON A.sales_sub_order_shipment_id = B.id
|
||
|
LEFT JOIN public.OM_Logistic_final_shipping C ON A.sales_sub_order_shipment_id = C.reference_id
|
||
|
GROUP BY A.order_id;
|
||
|
|
||
|
DROP TABLE public.shipping_fee_sku_base_stage1 ;
|
||
|
|
||
|
CREATE TABLE public.shipping_fee_sku_base_stage1 AS
|
||
|
SELECT A.order_id ,
|
||
|
A.id ,
|
||
|
coalesce(B.sku,A.parent_sku) Sku ,
|
||
|
A.sales_sub_order_shipment_id ,
|
||
|
coalesce((B.quantity*A.quantity),A.quantity) Quantity,
|
||
|
CASE
|
||
|
WHEN A.sales_sub_order_shipment_id=D.reference_id THEN ((D.shipping_amount)/(D.order_weight))*(D.final_weight)
|
||
|
ELSE C.shipping_amount
|
||
|
END shipping_amount ,
|
||
|
A.product_class
|
||
|
FROM raena_order_management.sales_sub_order A
|
||
|
LEFT JOIN raena_order_management.sales_sub_order_parent_child B ON A.id = B.sales_sub_order_id
|
||
|
LEFT JOIN raena_order_management.sales_sub_order_shipment C ON A.sales_sub_order_shipment_id = C.id
|
||
|
LEFT JOIN OM_Logistic_final_shipping D ON A.sales_sub_order_shipment_id=D.reference_id ;
|
||
|
|
||
|
DROP TABLE public.weight_sku_table;
|
||
|
|
||
|
CREATE TABLE public.weight_sku_table AS
|
||
|
SELECT sku,
|
||
|
CASE
|
||
|
WHEN weight>=volume_weight THEN weight
|
||
|
ELSE volume_weight
|
||
|
END weight
|
||
|
FROM
|
||
|
(SELECT a.sku,
|
||
|
weight,
|
||
|
(height*width*LENGTH)/6000 AS volume_weight
|
||
|
FROM raena_catalog_management.product a
|
||
|
WHERE CLASS<>'Bundle') A;
|
||
|
|
||
|
DROP TABLE public.shipping_fee_sku_base_stage2_v1;
|
||
|
|
||
|
CREATE TABLE public.shipping_fee_sku_base_stage2_v1 AS
|
||
|
SELECT order_id , sales_sub_order_shipment_id,
|
||
|
CASE
|
||
|
WHEN (sum(B.weight*Quantity))<1.3 THEN 1
|
||
|
WHEN (sum(B.weight*Quantity))>=1.3
|
||
|
AND (ABS(sum(B.weight*Quantity)) - FLOOR(ABS(sum(B.weight*Quantity)))) BETWEEN 0.3 AND 0.999999 THEN FLOOR(sum(B.weight*Quantity))+1
|
||
|
ELSE FLOOR(sum(B.weight*Quantity))
|
||
|
END AS sku_weight
|
||
|
FROM public.shipping_fee_sku_base_stage1 A
|
||
|
LEFT JOIN public.weight_sku_table B ON A.sku = B.sku
|
||
|
group by 1,2;
|
||
|
|
||
|
DROP TABLE public.shipping_fee_sku_base_stage2;
|
||
|
|
||
|
CREATE TABLE public.shipping_fee_sku_base_stage2 AS
|
||
|
SELECT A.*,
|
||
|
B.weight*sku_weight/sum(B.weight) over(partition by A.order_id , A.sales_sub_order_shipment_id ) Final_weight
|
||
|
FROM public.shipping_fee_sku_base_stage1 A
|
||
|
left join public.shipping_fee_sku_base_stage2_v1 C on A.order_id = C.order_id and A.sales_sub_order_shipment_id = C.sales_sub_order_shipment_id
|
||
|
LEFT join public.weight_sku_table B ON A.sku = B.sku ;
|
||
|
|
||
|
|
||
|
|
||
|
DROP TABLE public.shipping_fee_sku_base_stage3;
|
||
|
|
||
|
CREATE TABLE public.shipping_fee_sku_base_stage3 AS
|
||
|
SELECT A.*,
|
||
|
(Final_weight*coalesce(Calculated_shipping_fee,shipping_amount))/sum(Final_weight) over(partition BY A.sales_sub_order_shipment_id) new_shipment_amount
|
||
|
FROM public.shipping_fee_sku_base_stage2 A
|
||
|
left join public.calculated_ninja_jne_oct_shipping_fee B on A.order_id = B.order_id and A.sales_sub_order_shipment_id = B.reference_id ;
|
||
|
|
||
|
|
||
|
DROP TABLE sku_level_shipping_fee_final;
|
||
|
|
||
|
CREATE TABLE public.sku_level_shipping_fee_final AS
|
||
|
SELECT order_id ,
|
||
|
sku,
|
||
|
product_class ,
|
||
|
sum(new_shipment_amount) new_shipment_amount
|
||
|
FROM public.shipping_fee_sku_base_stage3
|
||
|
GROUP BY 1,
|
||
|
2,
|
||
|
3;
|
||
|
|
||
|
DROP TABLE public.shipping_fee_sku_base_old_stage1;
|
||
|
|
||
|
CREATE TABLE public.shipping_fee_sku_base_old_stage1 AS
|
||
|
SELECT external_id ,
|
||
|
A.sku ,
|
||
|
quantity,
|
||
|
shipping_cost ,
|
||
|
CASE
|
||
|
WHEN item_type LIKE '%Bundle%' THEN 'Bundle'
|
||
|
ELSE 'Product'
|
||
|
END product_class,
|
||
|
weight*Quantity sku_weight,
|
||
|
CASE
|
||
|
WHEN (weight*Quantity)<1.3 THEN 1
|
||
|
WHEN (weight*Quantity)>=1.3
|
||
|
AND (ABS((weight*Quantity)) - FLOOR(ABS((weight*Quantity)))) BETWEEN 0.3 AND 0.999999 THEN FLOOR((weight*Quantity))+1
|
||
|
ELSE FLOOR((weight*Quantity))
|
||
|
END AS final_weight
|
||
|
FROM gm_dashboard A
|
||
|
LEFT JOIN public.weight_sku_table B ON A.sku = B.sku;
|
||
|
|
||
|
DROP TABLE public.shipping_fee_sku_base_old_stage2;
|
||
|
|
||
|
CREATE TABLE public.shipping_fee_sku_base_old_stage2 AS
|
||
|
SELECT *,
|
||
|
(sku_weight*shipping_cost)/sum(sku_weight) over(partition BY external_id) new_shipment_amount
|
||
|
FROM public.shipping_fee_sku_base_old_stage1 ;
|
||
|
|
||
|
DROP TABLE public.sku_level_shipping_fee_old_final;
|
||
|
|
||
|
CREATE TABLE public.sku_level_shipping_fee_old_final AS
|
||
|
SELECT external_id ,
|
||
|
sku,
|
||
|
product_class ,
|
||
|
sum(new_shipment_amount) new_shipment_amount
|
||
|
FROM public.shipping_fee_sku_base_old_stage2
|
||
|
GROUP BY 1,
|
||
|
2,
|
||
|
3;
|
||
|
|
||
|
DROP TABLE IF EXISTS public.payment_order_stage;
|
||
|
|
||
|
CREATE TABLE public.payment_order_stage AS WITH NS AS
|
||
|
(SELECT 1 AS n
|
||
|
UNION ALL SELECT 2
|
||
|
UNION ALL SELECT 3
|
||
|
UNION ALL SELECT 4
|
||
|
UNION ALL SELECT 5
|
||
|
UNION ALL SELECT 6
|
||
|
UNION ALL SELECT 7
|
||
|
UNION ALL SELECT 8
|
||
|
UNION ALL SELECT 9
|
||
|
UNION ALL SELECT 10
|
||
|
UNION ALL SELECT 11
|
||
|
UNION ALL SELECT 12
|
||
|
UNION ALL SELECT 13
|
||
|
UNION ALL SELECT 14
|
||
|
UNION ALL SELECT 15
|
||
|
UNION ALL SELECT 16
|
||
|
UNION ALL SELECT 17
|
||
|
UNION ALL SELECT 18
|
||
|
UNION ALL SELECT 19
|
||
|
UNION ALL SELECT 20
|
||
|
UNION ALL SELECT 21
|
||
|
UNION ALL SELECT 22
|
||
|
UNION ALL SELECT 23
|
||
|
UNION ALL SELECT 24
|
||
|
UNION ALL SELECT 25)
|
||
|
SELECT id,
|
||
|
max(created_at) created_at,
|
||
|
replace(cast(substring(cast(TRIM(SPLIT_PART(B.order_ids , ',', NS.n))AS varchar),2,length(cast(TRIM(SPLIT_PART(B.order_ids , ',', NS.n))AS varchar))-2) AS varchar),'\"','') AS order_id
|
||
|
FROM NS
|
||
|
INNER JOIN raena_order_management.payment B ON NS.n <= REGEXP_COUNT(B.order_ids , ',') + 1
|
||
|
GROUP BY 1,
|
||
|
3;
|
||
|
|
||
|
DROP TABLE IF EXISTS public.payment_order;
|
||
|
|
||
|
CREATE TABLE public.payment_order AS
|
||
|
SELECT A.id ,
|
||
|
A.created_at,
|
||
|
A.order_id
|
||
|
FROM public.payment_order_stage A
|
||
|
INNER JOIN
|
||
|
(SELECT order_id ,
|
||
|
max(created_at) max_created_at
|
||
|
FROM public.payment_order_stage
|
||
|
GROUP BY order_id) B ON A.created_at= B.max_created_at
|
||
|
AND A.order_id = B.order_id;
|
||
|
|
||
|
select count(1) from public.payment_order;
|
||
|
|
||
|
drop table if exists om_app_admin_dump_table;
|
||
|
|
||
|
CREATE TABLE om_app_admin_dump_table AS
|
||
|
SELECT raena_order_management.order.id AS order_id,
|
||
|
dateadd(hour,7,raena_order_management.order.created_at) AS order_date,
|
||
|
dateadd(hour,7,raena_order_management.order.created_at) AS id_order_date,
|
||
|
status AS order_status,
|
||
|
Payment_status,
|
||
|
D.name AS channel_name,
|
||
|
cast(is_bank_transfer AS varchar) AS bank_transfer,
|
||
|
cast(is_campaign AS varchar) AS campaign,
|
||
|
dynamic_price,
|
||
|
total_dynamic_and_tier_price AS total_tier_price,
|
||
|
total_retail_price AS total_MRP,
|
||
|
tier_discount AS total_tier_discount,
|
||
|
discount_amount AS coupon_discount,
|
||
|
payment_amount,
|
||
|
shipping_amount AS Actual_shipping_amount,
|
||
|
applied_shipping_amount,
|
||
|
shipping_coupon_discount,
|
||
|
Earnings,
|
||
|
Coupon_code,
|
||
|
json_extract_path_text(reseller_info, 'name') AS Reseller_name,
|
||
|
json_extract_path_text(reseller_info, 'email') AS Reseller_email,
|
||
|
json_extract_path_text(reseller_info, 'mobile') AS Reseller_mobile,
|
||
|
concat(concat(concat(json_extract_path_text(reseller_info, 'addressLine1') || ' ,',json_extract_path_text(reseller_info, 'addressLine2') || ', '), concat(json_extract_path_text(reseller_info, 'city') || ' ,',json_extract_path_text(reseller_info, 'pincode') || ' ,')), json_extract_path_text(reseller_info, 'province')) AS Reseller_address,
|
||
|
json_extract_path_text(reseller_info, 'store') AS store_name,
|
||
|
json_extract_path_text(reseller_info,'tierName',TRUE) AS tier,
|
||
|
json_extract_path_text(customer_info, 'name') AS customer_name,
|
||
|
json_extract_path_text(customer_info, 'email') AS customer_email,
|
||
|
concat(concat(concat(json_extract_path_text(customer_info, 'addressLine1') || ' ,',json_extract_path_text(customer_info, 'addressLine2') || ', '), concat(json_extract_path_text(customer_info, 'city') || ' ,',json_extract_path_text(customer_info, 'pincode') || ' ,')), json_extract_path_text(customer_info, 'province')) AS customer_address,
|
||
|
Shipping_to AS Order_recipient,
|
||
|
shipping_address_line1 ,
|
||
|
shipping_address_line2 ,
|
||
|
shipping_city ,
|
||
|
shipping_district ,
|
||
|
shipping_sub_district ,
|
||
|
shipping_province ,
|
||
|
shipping_country_code ,
|
||
|
shipping_pincode ,
|
||
|
tracking_url ,
|
||
|
CASE
|
||
|
WHEN order_placed_by ='reseller' THEN 'App Order'
|
||
|
ELSE 'Admin'
|
||
|
END AS order_placed_by,
|
||
|
raena_order_management.order.stock_type AS product_stock_type,
|
||
|
sku AS product_sku,
|
||
|
oi.name AS product_name,
|
||
|
product_code,
|
||
|
date_key,
|
||
|
product_type,
|
||
|
batch,
|
||
|
country,
|
||
|
quantity,
|
||
|
wholesale_price ,
|
||
|
retail_price,
|
||
|
total_price,
|
||
|
Total_earnings,
|
||
|
raena_order_management.order.is_slash_price_enabled ,
|
||
|
Brand_name,
|
||
|
category_name,
|
||
|
product_class,
|
||
|
source_order_id ,
|
||
|
marketplace_provider_order_id AS provider_order_id,
|
||
|
medium,
|
||
|
marketplace,
|
||
|
provider,
|
||
|
C.id as payment_id,
|
||
|
0 total_cogs,
|
||
|
'NA' bundle_sku,
|
||
|
0 sku_level_shipping_fee
|
||
|
FROM raena_order_management.order
|
||
|
INNER JOIN raena_order_management.order_item oi ON raena_order_management.order .id=oi.order_id
|
||
|
left join public.payment_order C on raena_order_management.order.id=C.order_id
|
||
|
left join raena_order_management.channel D on raena_order_management.order.channel_id = D.id
|
||
|
WHERE raena_order_management.order.created_at <'2021-10-28'
|
||
|
UNION all
|
||
|
SELECT A.id AS order_id,
|
||
|
(A.created_at+interval '7 hours') AS order_date,
|
||
|
(A.created_at+interval '7 hours') AS id_order_date,
|
||
|
A.status AS order_status,
|
||
|
A.Payment_status,
|
||
|
D.name AS channel_name,
|
||
|
cast(A.is_bank_transfer AS varchar) AS bank_transfer,
|
||
|
cast(A.is_campaign AS varchar) AS campaign,
|
||
|
dynamic_price,
|
||
|
total_dynamic_and_tier_price AS total_tier_price,
|
||
|
total_retail_price AS total_MRP,
|
||
|
tier_discount AS total_tier_discount,
|
||
|
discount_amount AS coupon_discount,
|
||
|
GB.payment_amount,
|
||
|
coalesce(GB.new_shipping_amount_final,shipping_amount) AS Actual_shipping_amount,
|
||
|
applied_shipping_amount,
|
||
|
shipping_coupon_discount,
|
||
|
Earnings,
|
||
|
A.Coupon_code,
|
||
|
json_extract_path_text(reseller_info, 'name') AS Reseller_name,
|
||
|
json_extract_path_text(reseller_info, 'email') AS Reseller_email,
|
||
|
json_extract_path_text(reseller_info, 'mobile') AS Reseller_mobile,
|
||
|
concat(concat(concat(json_extract_path_text(reseller_info, 'addressLine1') || ' ,',json_extract_path_text(reseller_info, 'addressLine2') || ', '), concat(json_extract_path_text(reseller_info, 'city') || ' ,',json_extract_path_text(reseller_info, 'pincode') || ' ,')), json_extract_path_text(reseller_info, 'province')) AS Reseller_address,
|
||
|
json_extract_path_text(reseller_info, 'store') AS store_name,
|
||
|
json_extract_path_text(reseller_info,'tierName',TRUE) AS tier,
|
||
|
json_extract_path_text(customer_info, 'name') AS customer_name,
|
||
|
json_extract_path_text(customer_info, 'email') AS customer_email,
|
||
|
concat(concat(concat(json_extract_path_text(customer_info, 'addressLine1') || ' ,',json_extract_path_text(customer_info, 'addressLine2') || ', '), concat(json_extract_path_text(customer_info, 'city') || ' ,',json_extract_path_text(customer_info, 'pincode') || ' ,')), json_extract_path_text(customer_info, 'province')) AS customer_address,
|
||
|
Shipping_to AS Order_recipient,
|
||
|
shipping_address_line1 ,
|
||
|
shipping_address_line2 ,
|
||
|
shipping_city ,
|
||
|
shipping_district ,
|
||
|
shipping_sub_district ,
|
||
|
A.shipping_province ,
|
||
|
shipping_country_code ,
|
||
|
shipping_pincode ,
|
||
|
tracking_url ,
|
||
|
CASE
|
||
|
WHEN A.order_placed_by ='reseller' THEN 'App Order'
|
||
|
ELSE 'Admin'
|
||
|
END AS order_placed_by,
|
||
|
A.stock_type AS product_stock_type,
|
||
|
coalesce(GB.sku,oi.sku) AS product_sku,
|
||
|
coalesce(gb.sku_name,oi.name) AS product_name,
|
||
|
product_code,
|
||
|
date_key,
|
||
|
coalesce(GB.product_type,oi.product_type),
|
||
|
batch,
|
||
|
country,
|
||
|
coalesce(GB.quantity,oi.quantity),
|
||
|
coalesce(GB.actual_wholesale_price,oi.wholesale_price) ,
|
||
|
coalesce(GB.retail_price,oi.retail_price),
|
||
|
((GB.retail_price*GB.quantity)-(GB.seller_margin*GB.quantity)),
|
||
|
Total_earnings,
|
||
|
A.is_slash_price_enabled ,
|
||
|
coalesce(gb.brand_name,oi.Brand_name),
|
||
|
coalesce(gb.category_name,oi.category_name),
|
||
|
oi.product_class,
|
||
|
source_order_id ,
|
||
|
marketplace_provider_order_id AS provider_order_id,
|
||
|
medium,
|
||
|
marketplace,
|
||
|
provider,
|
||
|
C.id as payment_id,
|
||
|
(GB.cogs) as total_cogs,
|
||
|
case when oi.parent_sku is null then 'NA' else oi.parent_sku end bundle_sku,
|
||
|
new_shipping_amount sku_level_shipping_amount
|
||
|
FROM raena_order_management.order A
|
||
|
inner join (select AD.* ,
|
||
|
sum(new_shipping_amount) over(partition by AD.external_id) new_shipping_amount_final ,
|
||
|
sum(discounted_price*quantity) over(partition by AD.external_id) payment_amount
|
||
|
from (SELECT A.*,
|
||
|
discounted_price/count(1) over(partition BY A.external_id,A.sku,A.item_type,A.quantity) new_discounted_price,
|
||
|
actual_wholesale_price/count(1) over(partition BY A.external_id,A.sku,A.item_type,A.quantity) new_actual_wholesale_price ,
|
||
|
retail_price/count(1) over(partition BY A.external_id,A.sku,A.item_type,A.quantity) new_retail_price,
|
||
|
seller_margin/count(1) over(partition BY A.external_id,A.sku,A.item_type,A.quantity) new_seller_margin ,
|
||
|
cogs/count(1) over(partition BY A.external_id,A.sku,A.item_type,A.quantity) new_cogs,
|
||
|
(case when (case when item_type like '%Bundle%' then 'Bundle' else 'Product' end )=B.product_class
|
||
|
then B.new_shipment_amount else C.new_shipment_amount end)/count(1) over(partition BY A.external_id,A.sku,A.item_type) new_shipping_amount
|
||
|
FROM public.gm_dashboard A
|
||
|
left join public.sku_level_shipping_fee_final B
|
||
|
on a.external_id = B.order_id
|
||
|
and a.sku = B.sku
|
||
|
and (case when item_type like '%Bundle%' then 'Bundle' else 'Product' end )=B.product_class
|
||
|
left join public.sku_level_shipping_fee_old_final C
|
||
|
on a.external_id = C.external_id
|
||
|
and a.sku = C.sku
|
||
|
and (case when item_type like '%Bundle%' then 'Bundle' else 'Product' end )=C.product_class) AD
|
||
|
)GB
|
||
|
ON A.id = GB.external_id AND GB.sku not like 'BAZ%'
|
||
|
left JOIN (select A.*,B.sku parent_sku
|
||
|
from raena_order_management.order_item A
|
||
|
left join raena_order_management.order_item B on A.parent_item_id = B.id ) oi
|
||
|
ON GB.external_id=oi.order_id
|
||
|
AND OI.SKU not like 'BAZ%'
|
||
|
AND GB.sku=oi.sku
|
||
|
and GB.parent_sku= oi.parent_sku
|
||
|
left join public.payment_order C on A.id=C.order_id
|
||
|
left join raena_order_management.channel D on A.channel_id = D.id
|
||
|
WHERE cast(A.created_at+interval '7 hours' as date) >='2021-10-28' ;
|
||
|
|
||
|
|
||
|
|
||
|
DROP TABLE IF EXISTS public.remove_duplicate_from_app_admin;
|
||
|
|
||
|
|
||
|
CREATE TABLE public.remove_duplicate_from_app_admin AS
|
||
|
SELECT A.external_id,
|
||
|
wholesale_price_gm,
|
||
|
wholesale_price_app_admin,
|
||
|
wholesale_price_gm-wholesale_price_app_admin diff
|
||
|
FROM
|
||
|
(SELECT external_id ,
|
||
|
sum(discounted_price*quantity) P1,
|
||
|
sum((retail_price*quantity)-(seller_margin*quantity)) wholesale_price_gm
|
||
|
FROM public.gm_dashboard gd
|
||
|
GROUP BY external_id) A
|
||
|
FULL OUTER JOIN
|
||
|
(SELECT order_id ,
|
||
|
payment_amount p2,
|
||
|
sum(total_price) wholesale_price_app_admin
|
||
|
FROM public.om_app_admin_dump_table oaadt
|
||
|
GROUP BY order_id,
|
||
|
payment_amount) B ON A.external_id= B.order_id
|
||
|
WHERE wholesale_price_gm-wholesale_price_app_admin<>0;
|
||
|
|
||
|
|
||
|
DROP TABLE IF EXISTS public.dubplicate_record_app_admin;
|
||
|
|
||
|
|
||
|
CREATE TABLE public.dubplicate_record_app_admin AS
|
||
|
SELECT DISTINCT *
|
||
|
FROM public.om_app_admin_dump_table oaadt
|
||
|
WHERE order_id IN
|
||
|
(SELECT DISTINCT external_id
|
||
|
FROM public.remove_duplicate_from_app_admin);
|
||
|
|
||
|
|
||
|
DELETE
|
||
|
FROM public.om_app_admin_dump_table
|
||
|
WHERE order_id IN
|
||
|
(SELECT DISTINCT external_id
|
||
|
FROM public.remove_duplicate_from_app_admin);
|
||
|
|
||
|
INSERT INTO public.om_app_admin_dump_table
|
||
|
SELECT *
|
||
|
FROM public.dubplicate_record_app_admin;
|
||
|
|
||
|
|
||
|
|
||
|
" > /home/ec2-user/cronjob/Gm_dashboard/Final_GM_v2.sql
|
||
|
|
||
|
psql "host=raen-prd-sg-redshift-cluster.cdqj58hfx4p7.ap-southeast-1.redshift.amazonaws.com user=dbadmin dbname=analytics port=5439 password=5qCif6eyY3Kmg4z" -f /home/ec2-user/cronjob/Gm_dashboard/Final_GM_v2.sql
|
||
|
|
||
|
|
||
|
|