mirror of
https://gitlab.com/cief-data/dbt_cloud.git
synced 2026-08-19 04:14:00 +00:00
Fix logic for summing invoice value
This commit is contained in:
+25
-16
@@ -3,17 +3,23 @@ WITH stg_shipping__packing_list_invoice_payments AS (
|
||||
SELECT * FROM {{ ref('stg_shipping__packing_list_invoice_payments') }}
|
||||
),
|
||||
|
||||
|
||||
-- LOGIC
|
||||
remove_expired_invoice_payments AS (
|
||||
SELECT
|
||||
*
|
||||
|
||||
*,
|
||||
ROW_NUMBER() OVER (PARTITION BY packing_list_invoice_id ORDER BY payment_updated_datetime DESC) AS row_num
|
||||
|
||||
FROM stg_shipping__packing_list_invoice_payments
|
||||
|
||||
WHERE
|
||||
invoice_status != 'EXPIRED'
|
||||
AND
|
||||
payment_status NOT IN ('SUSPENDED','REJECTED')
|
||||
|
||||
QUALIFY
|
||||
row_num = 1
|
||||
|
||||
),
|
||||
|
||||
group_by_packing_list_ids AS (
|
||||
@@ -21,36 +27,36 @@ group_by_packing_list_ids AS (
|
||||
old_origin_warehouse_shipping_packing_list_id,
|
||||
invoice_sub_company_id,
|
||||
payment_sub_company_id,
|
||||
COUNT(DISTINCT(packing_list_invoice_id)) AS number_of_invoice,
|
||||
COUNT(DISTINCT(packing_list_payment_id)) AS number_of_payment,
|
||||
COUNT(DISTINCT(packing_list_invoice_id)) AS number_of_invoice,
|
||||
COUNT(DISTINCT(packing_list_payment_id)) AS number_of_payment,
|
||||
|
||||
SUM(invoice_number_of_shipping_fee) AS invoice_number_of_shipping_fee,
|
||||
SUM(invoice_average_shipping_fee_price_per_quantity)/SUM(invoice_number_of_shipping_fee) AS invoice_average_shipping_fee_price_per_quantity,
|
||||
SUM(invoice_number_of_shipping_fee) AS invoice_number_of_shipping_fee,
|
||||
SUM(invoice_average_shipping_fee_price_per_quantity)/SUM(invoice_number_of_shipping_fee) AS invoice_average_shipping_fee_price_per_quantity,
|
||||
SUM(invoice_total_shipping_fee_quantity) AS invoice_total_shipping_fee_quantity,
|
||||
SUM(invoice_total_shipping_fee_value_rm) AS invoice_total_shipping_fee_value_rm,
|
||||
SUM(invoice_number_of_min_cbm_charge) AS invoice_number_of_min_cbm_charge,
|
||||
SUM(invoice_average_min_cbm_charge_price_per_quantity)/SUM(invoice_number_of_min_cbm_charge) AS invoice_average_min_cbm_charge_price_per_quantity,
|
||||
SUM(invoice_number_of_min_cbm_charge) AS invoice_number_of_min_cbm_charge,
|
||||
SUM(invoice_average_min_cbm_charge_price_per_quantity)/SUM(invoice_number_of_min_cbm_charge) AS invoice_average_min_cbm_charge_price_per_quantity,
|
||||
SUM(invoice_total_min_cbm_charge_quantity) AS invoice_total_min_cbm_charge_quantity,
|
||||
SUM(invoice_total_min_cbm_charge_value_rm) AS invoice_total_min_cbm_charge_value_rm,
|
||||
SUM(invoice_number_of_over_weight_charge) AS invoice_number_of_over_weight_charge,
|
||||
SUM(invoice_average_over_weight_charge_price_per_quantity)/SUM(invoice_number_of_over_weight_charge) AS invoice_average_over_weight_charge_price_per_quantity,
|
||||
SUM(invoice_total_over_weight_charge_quantity) AS invoice_total_over_weight_charge_quantity,
|
||||
SUM(invoice_total_over_weight_charge_value_rm) AS invoice_total_over_weight_charge_value_rm,
|
||||
SUM(invoice_number_of_custom_charge) AS invoice_number_of_custom_charge,
|
||||
SUM(invoice_average_custom_charge_price_per_quantity)/SUM(invoice_number_of_custom_charge) AS invoice_average_custom_charge_price_per_quantity,
|
||||
SUM(invoice_number_of_custom_charge) AS invoice_number_of_custom_charge,
|
||||
SUM(invoice_average_custom_charge_price_per_quantity)/SUM(invoice_number_of_custom_charge) AS invoice_average_custom_charge_price_per_quantity,
|
||||
SUM(invoice_total_custom_charge_quantity) AS invoice_total_custom_charge_quantity,
|
||||
SUM(invoice_total_custom_charge_value_rm) AS invoice_total_custom_charge_value_rm,
|
||||
SUM(invoice_value_rm) AS invoice_value_rm,
|
||||
SUM(invoice_tax_rm) AS invoice_tax_rm,
|
||||
SUM(invoice_service_charge) AS invoice_service_charge,
|
||||
SUM(payment_value_rm) AS payment_value_rm,
|
||||
SUM(payment_tax_rm) AS payment_tax_rm,
|
||||
SUM(invoice_value_rm) AS invoice_value_rm,
|
||||
SUM(invoice_tax_rm) AS invoice_tax_rm,
|
||||
SUM(invoice_service_charge) AS invoice_service_charge,
|
||||
SUM(CASE WHEN payment_status = 'APPROVED' THEN payment_value_rm ELSE 0 END) AS payment_value_rm,
|
||||
SUM(CASE WHEN payment_status = 'APPROVED' THEN payment_tax_rm ELSE 0 END) AS payment_tax_rm,
|
||||
SUM(payment_service_charge_rm) AS payment_service_charge_rm,
|
||||
MAX(invoice_created_datetime) AS last_invoice_created_datetime,
|
||||
MAX(payment_created_datetime) AS last_payment_created_datetime,
|
||||
|
||||
'{{ modules.datetime.datetime.now(modules.pytz.timezone("Asia/Kuala_Lumpur")) }}' AS _dbt_ran_datetime
|
||||
|
||||
|
||||
FROM remove_expired_invoice_payments
|
||||
|
||||
GROUP BY
|
||||
@@ -60,8 +66,10 @@ group_by_packing_list_ids AS (
|
||||
|
||||
),
|
||||
|
||||
|
||||
-- FINAL
|
||||
final__int_shipping__packing_list_invoice_payments_group_by_packing_list_ids AS (
|
||||
|
||||
SELECT
|
||||
-- ids
|
||||
old_origin_warehouse_shipping_packing_list_id,
|
||||
@@ -104,6 +112,7 @@ final__int_shipping__packing_list_invoice_payments_group_by_packing_list_ids AS
|
||||
_dbt_ran_datetime
|
||||
|
||||
FROM group_by_packing_list_ids
|
||||
|
||||
)
|
||||
|
||||
SELECT * FROM final__int_shipping__packing_list_invoice_payments_group_by_packing_list_ids
|
||||
Reference in New Issue
Block a user