Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- SELECT
- COUNT(DISTINCT no_po) AS po
- --, status
- , COUNT(CASE WHEN status = 'Tercapai' THEN status END) AS tercapai
- , COUNT(CASE WHEN status = 'Tidak Tercapai' THEN status END) AS tdk_tercapai
- , COUNT(CASE WHEN status = 'Belum Terkirim' THEN status END) AS blm_terkirim
- , COUNT(status) AS total
- , ROUND((COUNT(CASE WHEN status = 'Tercapai' THEN status END) * 100)::NUMERIC / COUNT(status), 2) AS tercapai_persen
- , ROUND((COUNT(CASE WHEN status = 'Tidak Tercapai' THEN status END) * 100)::NUMERIC / COUNT(status), 2) AS tdk_tercapai_persen
- , ROUND((COUNT(CASE WHEN status = 'Belum Terkirim' THEN status END) * 100)::NUMERIC / COUNT(status), 2) AS blm_terkirim_persen
- FROM
- (
- SELECT
- dn.name AS "dn_note",
- sp.date_done AS "sj_date",
- rp.display_name AS "add_name",
- so.name AS "no_po",
- so.date_order AS "tgl_po",
- dn.tanggal AS "tgl_kirim",
- --dn.state,
- CASE
- WHEN
- DATE_PART('month', dn.tanggal::date) - DATE_PART('month', so.date_order::date) = 0
- AND DATE_PART('days', dn.tanggal::date) - DATE_PART('days', so.date_order::date) <= 7
- THEN DATE_PART('days', dn.tanggal::date) - DATE_PART('days', so.date_order::date)
- ELSE NULL
- END AS "selisih",
- CASE
- WHEN sp.date_done IS NULL THEN 'Belum Terkirim'
- WHEN
- DATE_PART('month', dn.tanggal::date) - DATE_PART('month', so.date_order::date) = 0
- AND DATE_PART('days', dn.tanggal::date) - DATE_PART('days', so.date_order::date) <= 7
- AND sp.date_done IS NOT NULL
- THEN 'Tercapai'
- ELSE 'Tidak Tercapai'
- END AS "status"
- FROM
- delivery_note dn
- LEFT JOIN
- res_partner rp ON rp.id = dn.partner_id
- LEFT JOIN
- stock_picking sp on sp.note_id = dn.id
- LEFT JOIN
- order_preparation op ON op.id = dn.prepare_id
- LEFT JOIN
- sale_order so ON so.id = op.sale_id
- WHERE
- dn.state not in ('draft','cancel')
- AND dn.tanggal BETWEEN '2015-01-01' AND '2015-03-31'
- /*AND EXTRACT(YEAR FROM dn.tanggal) = 2015
- AND EXTRACT(MONTH FROM dn.tanggal) = 11
- AND EXTRACT(YEAR FROM so.date_order) = 2015
- AND EXTRACT(MONTH FROM so.date_order) = 11*/
- --AND rp.display_name ILIKE '%FREEPORT INDONESIA, PT%'
- --AND dn.name = '152300C/SBM-ADM/JH-HD/XI/15'
- --GROUP BY dn.name, sp.date_done, rp.display_name, so.date_order, dn.tanggal
- ) AS dn_kpi
- --GROUP BY status
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement