'CHT' THEN NVL(d.jml_spd, 0) ELSE NVL(c.jml_spd, 0) END AS jml_spd, a2.semester1,a2.semester2,a2.satuan_sms1,a2.satuan_sms2, volume_satuan_realisasi_1,volume_satuan_realisasi_2,volume_satuan_realisasi_3,volume_satuan_realisasi_4,volume_satuan_realisasi_5,volume_satuan_realisasi_6,volume_satuan_realisasi_7, volume_satuan_realisasi_8,volume_satuan_realisasi_9,volume_satuan_realisasi_10,volume_satuan_realisasi_11,volume_satuan_realisasi_12, jumlah_realisasi_1,jumlah_realisasi_2,jumlah_realisasi_3,jumlah_realisasi_4,jumlah_realisasi_5,jumlah_realisasi_6,jumlah_realisasi_7, jumlah_realisasi_8,jumlah_realisasi_9,jumlah_realisasi_10,jumlah_realisasi_11,jumlah_realisasi_12 FROM VW_BELANJA_REALISASI a LEFT JOIN BELANJA_REALISASI_RINCI a1 ON a.id=a1.belanja_realisasi_id LEFT JOIN ( SELECT BELANJA_REALISASI_ID,SUM(SEMESTER1) SEMESTER1,SUM(SEMESTER2) SEMESTER2, SUM(SATUAN_SMS1) SATUAN_SMS1,SUM(SATUAN_SMS2) SATUAN_SMS2 FROM ( SELECT BELANJA_REALISASI_ID,JUMLAH_REALISASI AS SEMESTER1, 0 AS SEMESTER2, VOLUME_SATUAN_REALISASI AS SATUAN_SMS1, 0 AS SATUAN_SMS2 FROM BELANJA_REALISASI_DETAIL WHERE SEMESTER = 1 UNION ALL SELECT BELANJA_REALISASI_ID,0 AS SEMESTER1, JUMLAH_REALISASI AS SEMESTER2, 0 AS SATUAN_SMS2, VOLUME_SATUAN_REALISASI AS SATUAN_SMS2 FROM BELANJA_REALISASI_DETAIL WHERE SEMESTER = 2 ) GROUP BY BELANJA_REALISASI_ID ) a2 ON a.id = a2.BELANJA_REALISASI_ID LEFT JOIN ( SELECT I_IDRSK,SUM(REALISASI) AS jml FROM MV_ANGGARAN_REALISASI_RSK WHERE C_ANGG_TAHUN = $ta GROUP BY I_IDRSK ) b ON a.kode_rsk = b.I_IDRSK LEFT JOIN ( SELECT id_rsk,count(id_rsk) as jml_spd FROM SAMASA.belanja_realisasi_spd WHERE TO_CHAR(TGL,'YYYY') = $ta GROUP BY id_rsk ) c ON a.kode_rsk = c.id_rsk LEFT JOIN ( SELECT C_OPD,C_SUBGIAT,COUNT(JML) AS jml_spd FROM ( SELECT C_OPD,C_SUBGIAT,SUM(V_SPD) AS JML FROM NEWSIPKD.TMSPDRINCIBLJ x LEFT JOIN NEWSIPKD.TMDPASUBGIAT y ON x.I_IDSUBGIAT = y.I_ID AND x.C_ANGG_TAHUN = $ta LEFT JOIN NEWSIPKD.TROPD z ON z.I_ID = y.I_IDOPD WHERE C_SUBGIAT IS NOT NULL GROUP BY C_OPD,C_SUBGIAT,I_IDSPD ) GROUP BY C_OPD,C_SUBGIAT ) d ON a.KODE_SUB_KEGIATAN = d.C_SUBGIAT AND a.KODE_SKPD = d.C_OPD ".$filter." ORDER BY a.KODE_SKPD, a.KODE_RSK "; $sqlstr.= $limit > 0?" OFFSET ".$offset." ROWS FETCH NEXT ".$limit." ROWS ONLY ":""; return $sqlstr; } public function tableDataReport($ta, $filter, $offset=0, $limit=0) { $ta = getTA(); $sqlstr = "SELECT a.*,NVL(b.jml,0) as jml, CASE WHEN a.jenis_dana = 'DBH' AND a.nama_subjenis_dana<>'CHT' THEN NVL(d.jml_spd, 0) ELSE NVL(c.jml_spd, 0) END AS jml_spd, a2.semester1,a2.semester2,a2.satuan_sms1,a2.satuan_sms2, volume_satuan_realisasi_1,volume_satuan_realisasi_2,volume_satuan_realisasi_3,volume_satuan_realisasi_4,volume_satuan_realisasi_5,volume_satuan_realisasi_6,volume_satuan_realisasi_7, volume_satuan_realisasi_8,volume_satuan_realisasi_9,volume_satuan_realisasi_10,volume_satuan_realisasi_11,volume_satuan_realisasi_12, jumlah_realisasi_1,jumlah_realisasi_2,jumlah_realisasi_3,jumlah_realisasi_4,jumlah_realisasi_5,jumlah_realisasi_6,jumlah_realisasi_7, jumlah_realisasi_8,jumlah_realisasi_9,jumlah_realisasi_10,jumlah_realisasi_11,jumlah_realisasi_12 FROM VW_BELANJA_REALISASI_REPORT a LEFT JOIN BELANJA_REALISASI_RINCI a1 ON a.id=a1.belanja_realisasi_id LEFT JOIN ( SELECT BELANJA_REALISASI_ID,SUM(SEMESTER1) SEMESTER1,SUM(SEMESTER2) SEMESTER2, SUM(SATUAN_SMS1) SATUAN_SMS1,SUM(SATUAN_SMS2) SATUAN_SMS2 FROM ( SELECT BELANJA_REALISASI_ID,JUMLAH_REALISASI AS SEMESTER1, 0 AS SEMESTER2, VOLUME_SATUAN_REALISASI AS SATUAN_SMS1, 0 AS SATUAN_SMS2 FROM BELANJA_REALISASI_DETAIL WHERE SEMESTER = 1 UNION ALL SELECT BELANJA_REALISASI_ID,0 AS SEMESTER1, JUMLAH_REALISASI AS SEMESTER2, 0 AS SATUAN_SMS2, VOLUME_SATUAN_REALISASI AS SATUAN_SMS2 FROM BELANJA_REALISASI_DETAIL WHERE SEMESTER = 2 ) GROUP BY BELANJA_REALISASI_ID ) a2 ON a.id = a2.BELANJA_REALISASI_ID LEFT JOIN ( SELECT I_IDRSK,SUM(REALISASI) AS jml FROM MV_ANGGARAN_REALISASI_RSK WHERE C_ANGG_TAHUN = $ta GROUP BY I_IDRSK ) b ON a.kode_rsk = b.I_IDRSK LEFT JOIN ( SELECT id_rsk,SUM(jumlah) as jml_spd FROM SAMASA.belanja_realisasi_spd WHERE TO_CHAR(TGL,'YYYY') = $ta GROUP BY id_rsk ) c ON a.kode_rsk = c.id_rsk LEFT JOIN ( SELECT C_OPD,C_SUBGIAT,COUNT(JML) AS jml_spd FROM ( SELECT C_OPD,C_SUBGIAT,SUM(V_SPD) AS JML FROM NEWSIPKD.TMSPDRINCIBLJ x LEFT JOIN NEWSIPKD.TMDPASUBGIAT y ON x.I_IDSUBGIAT = y.I_ID AND x.C_ANGG_TAHUN = $ta LEFT JOIN NEWSIPKD.TROPD z ON z.I_ID = y.I_IDOPD WHERE C_SUBGIAT IS NOT NULL GROUP BY C_OPD,C_SUBGIAT,I_IDSPD ) GROUP BY C_OPD,C_SUBGIAT ) d ON a.KODE_SUB_KEGIATAN = d.C_SUBGIAT AND a.KODE_SKPD = d.C_OPD ".$filter." ORDER BY a.KODE_SKPD, a.KODE_RSK "; $sqlstr.= $limit > 0?" OFFSET ".$offset." ROWS FETCH NEXT ".$limit." ROWS ONLY ":""; return $sqlstr; } public function akbRealisasi() { $ta = getTA(); $sqlstr = "SELECT * FROM MV_ASYNC_AKB_REALISASI WHERE TAHUN = $ta"; return $sqlstr; } }