Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- WITH tt_cogs_price AS (
- SELECT A.ou_id, B.salesman_id, SUBSTRING(A.ref_doc_date, 1, 6) AS year_month,
- A.ref_item_id,
- SUM(
- CASE WHEN A.curr_code <> 'IDR' THEN
- CASE WHEN A.ref_doc_type_id IN (311, 312) THEN
- A.qty_dlv_so * D.price * f_commercial_rate(10 /*(tenantId)*/, A.ref_doc_date, D.curr_code, 'IDR')
- ELSE
- 0
- END
- ELSE
- CASE WHEN A.ref_doc_type_id IN (311, 312) THEN
- A.qty_dlv_so * D.price
- ELSE
- 0
- END
- END
- ) AS cogs_amount
- FROM sl_so_balance_invoice A
- INNER JOIN sl_so B ON A.so_id = B.so_id
- INNER JOIN sl_do_item C ON A.ref_item_id = C.do_item_id
- INNER JOIN sl_so_item_purchasing D ON C.ref_id = D.so_item_id
- WHERE A.ou_id = 10
- AND B.salesman_id = 2616
- AND SUBSTRING(A.ref_doc_date, 1, 6) = '201609'
- GROUP BY A.ou_id, B.salesman_id, SUBSTRING(A.ref_doc_date, 1, 6), A.ref_item_id
- ), tt_current_sales AS (
- SELECT A.ou_id, B.salesman_id, SUBSTRING(A.ref_doc_date, 1, 6) AS year_month,
- A.ref_item_id,
- SUM(
- CASE WHEN A.curr_code <> 'IDR' THEN
- CASE WHEN A.ref_doc_type_id IN (311, 312) THEN
- A.item_amount * f_commercial_rate(10 /*(tenantId)*/, A.ref_doc_date, A.curr_code, 'IDR')
- ELSE
- -1 * A.item_amount * f_commercial_rate(10 /*(tenantId)*/, A.ref_doc_date, A.curr_code, 'IDR')
- END
- ELSE
- CASE WHEN A.ref_doc_type_id IN (311, 312) THEN
- A.item_amount
- ELSE
- -1 * A.item_amount
- END
- END
- ) AS sales_amount
- FROM sl_so_balance_invoice A
- INNER JOIN sl_so B ON A.so_id = B.so_id
- INNER JOIN sl_do C ON A.ref_id = C.do_id
- INNER JOIN sl_so_item_purchasing D ON C.ref_id = D.so_item_id
- WHERE A.ou_id = 10 --ouId
- AND B.salesman_id = 2616 --salesmanId
- AND SUBSTRING(A.ref_doc_date, 1, 6) = '201609' --yearMonth
- GROUP BY A.ou_id, B.salesman_id, SUBSTRING(A.ref_doc_date, 1, 6), A.ref_item_id
- )
- SELECT A.ou_id, A.salesman_id, A.year_month, SUM(B.sales_amount - A.cogs_amount)
- FROM tt_cogs_price A
- LEFT OUTER JOIN tt_current_sales B ON A.ou_id = B.ou_id
- AND A.salesman_id = B.salesman_id
- AND A.year_month = B.year_month
- AND A.ref_item_id = B.ref_item_id
- GROUP BY A.ou_id, A.salesman_id, A.year_month
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement