INSERT INTO pendekatan_harga_jual VALUES (:id, :id_proyek, :no_kavling, :ket, :kategori, :lb, :lt, :hj_bangunan, :hb_tanah, :indeks_tanah, :h_dasar) UPDATE pendekatan_harga_jual SET id=:id, id_proyek=:id_proyek, no_kavling=:no_kavling, ket=:ket, kategori=:kategori, lb=:lb, lt=:lt, hj_bangunan=:hj_bangunan, hb_tanah=:hb_tanah, indeks_tanah=:indeks_tanah, h_dasar=:h_dasar WHERE id=:OLD_id DELETE FROM pendekatan_harga_jual WHERE :id INSERT INTO proyek VALUES (:id, :nama_proyek, :lokasi, :total_lt, :luas_jalan, :luas_taman, :lt_mushola, :tgl_mulai, :tgt_selesai_proyek, :bgt_1lt_rs, :bgt_1lt_rk, :bgt_2lt_rk, :hg_m2_tanah, :ket, :status) UPDATE proyek SET id=:id, nama_proyek=:nama_proyek, lokasi=:lokasi, total_lt=:total_lt, luas_jalan=:luas_jalan, luas_taman=:luas_taman, lt_mushola=:lt_mushola, tgl_mulai=:tgl_mulai, tgt_selesai_proyek=:tgt_selesai_proyek, bgt_1lt_rs=:bgt_1lt_rs, bgt_1lt_rk=:bgt_1lt_rk, bgt_2lt_rk=:bgt_2lt_rk, hg_m2_tanah=:hg_m2_tanah, ket=:ket, status=:status WHERE id=:OLD_id DELETE FROM proyek WHERE id=OLD_id INSERT INTO `target_penjualan` VALUES (:id, :id_proyek, :no_kavling, :bln_akad, :dp, :termin_1, :termin_2, :termin_3, :termin_4) UPDATE `target_penjualan` SET id=:id, id_proyek=:id_proyek, no_kavling=:no_kavling, bln_akad=:bln_akad, dp=:dp, termin_1=:termin_1, termin_2=:termin_2, termin_3=:termin_3, termin_4=:termin_4 WHERE id=:OLD_id DELETE FROM `target_penjualan` WHERE id=:id INSERT INTO cashflow_pembangunan VALUES (:id, :id_proyek, :no_kavling, :mulai_bangun) UPDATE cashflow_pembangunan SET id=:id, id_proyek=:id_proyek, no_kavling=:no_kavling, mulai_bangun=:mulai_bangun WHERE id=:OLD_id DELETE FROM cashflow_pembangunan WHERE id=:id INSERT INTO rab VALUES (:id, :id_proyek, :kode_rab, :uraian, :volume, :unit, :harga_satuan, :ket) UPDATE rab SET id=:id, id_proyek=:id_proyek, kode_rab=:kode_rab, uraian=:uraian, volume=:volume, unit=:unit, harga_satuan=:harga_satuan, ket=:ket WHERE id=:OLD_id DELETE FROM rab WHERE id=:id INSERT INTO bop VALUES (:id, :id_proyek, :kode_rab, :uraian, :volume_kumulatif, :volume_kuantiti, :unit, :harga_satuan, :ket) UPDATE bop SET id=:id, id_proyek=:id_proyek, kode_rab=:kode_rab, uraian=:uraian, volume_kumulatif=:volume_kumulatif, volume_kuantiti=:volume_kuantiti, unit=:unit, harga_satuan=:harga_satuan, ket=:ket WHERE id=:OLD_id DELETE FROM bop WHERE id=:id
$columnGroup->add(new ViewColumnGroup('Perumahan', array( $columns['nama_proyek'], $columns['lokasi'], $columns['total_lt'] ) )); $columnGroup->add(new ViewColumnGroup('Kavling', array( $columns['ls_tot_kav'], $columns['pc_kav'] ) )); $columnGroup->add(new ViewColumnGroup('Jalan', array( $columns['luas_jalan'], $columns['pc_jln'] ) )); $columnGroup->add(new ViewColumnGroup('Taman', array( $columns['luas_taman'], $columns['pc_tmn'] ) )); $columnGroup->add(new ViewColumnGroup('Mushola', array( $columns['lt_mushola'], $columns['pc_msl'] ) )); $columnGroup->add(new ViewColumnGroup('Target Timeline', array( $columns['tgl_mulai'], $columns['tgt_selesai_proyek'], $columns['tanggal_selesai'], $columns['status'] ) )); $columnGroup->add(new ViewColumnGroup('Budget', array( $columns['bgt_1lt_rs'], $columns['bgt_1lt_rk'], $columns['bgt_2lt_rk'] ) )); $columnGroup->add(new ViewColumnGroup('Luas Bangunan', array( $columns['ls_tot_bgn'], $columns['tot_ls_kav_komersil'], $columns['tot_ls_kav_sub_plus'], $columns['tot_ls_kav_subsidi'] ) ));
$columnGroup->add(new ViewColumnGroup('Kavling', array( $columns['id_proyek'], $columns['no_kavling'], $columns['ket'], $columns['kategori'] ) )); $columnGroup->add(new ViewColumnGroup('Luas', array( $columns['lb'], $columns['lt'] ) )); $columnGroup->add(new ViewColumnGroup('Harga Jual', array( $columns['hj_bangunan'], $columns['harga_tanah'] ) ));
$columnGroup->add(new ViewColumnGroup('Perumahan', array( $columns['id_proyek'], $columns['no_kavling'] ) )); $columnGroup->add(new ViewColumnGroup('Harga & Akad', array( $columns['harga_jual'], $columns['dp_nominal'], $columns['kpr'], $columns['bln_akad'] ) )); $columnGroup->add(new ViewColumnGroup('Jul-25', array( $columns['bln_4'] ) )); $columnGroup->add(new ViewColumnGroup('Aug-25', array( $columns['bln_5'] ) )); $columnGroup->add(new ViewColumnGroup('Sep-25', array( $columns['bln_6'] ) )); $columnGroup->add(new ViewColumnGroup('Oct-25', array( $columns['bln_7'] ) )); $columnGroup->add(new ViewColumnGroup('Nov-25', array( $columns['bln_8'] ) )); $columnGroup->add(new ViewColumnGroup('Dec-25', array( $columns['bln_9'] ) )); $columnGroup->add(new ViewColumnGroup('Jan-26', array( $columns['bln_10'] ) )); $columnGroup->add(new ViewColumnGroup('Feb-26', array( $columns['bln_11'] ) )); $columnGroup->add(new ViewColumnGroup('Mar-26', array( $columns['bln_12'] ) )); $columnGroup->add(new ViewColumnGroup('Apr-26', array( $columns['bln_13'] ) )); $columnGroup->add(new ViewColumnGroup('May-26', array( $columns['bln_14'] ) )); $columnGroup->add(new ViewColumnGroup('Jun-26', array( $columns['bln_15'] ) )); $columnGroup->add(new ViewColumnGroup('Jul-26', array( $columns['bln_16'] ) )); $columnGroup->add(new ViewColumnGroup('Aug-26', array( $columns['bln_17'] ) )); $columnGroup->add(new ViewColumnGroup('Sep-26', array( $columns['bln_18'] ) )); $columnGroup->add(new ViewColumnGroup('Oct-26', array( $columns['bln_19'] ) )); $columnGroup->add(new ViewColumnGroup('Nov-26', array( $columns['bln_20'] ) )); $columnGroup->add(new ViewColumnGroup('Dec-26', array( $columns['bln_21'] ) )); $columnGroup->add(new ViewColumnGroup('Jan-27', array( $columns['bln_22'] ) )); $columnGroup->add(new ViewColumnGroup('Feb-27', array( $columns['bln_23'] ) )); $columnGroup->add(new ViewColumnGroup('Mar-27', array( $columns['bln_24'] ) )); $columnGroup->add(new ViewColumnGroup('Apr-27', array( $columns['bln_25'] ) )); $columnGroup->add(new ViewColumnGroup('May-27', array( $columns['bln_26'] ) )); $columnGroup->add(new ViewColumnGroup('Jun-27', array( $columns['bln_27'] ) )); $columnGroup->add(new ViewColumnGroup('Jul-27', array( $columns['bln_28'] ) ));
$columnGroup->add(new ViewColumnGroup('Perumahan', array( $columns['id_proyek'], $columns['no_kavling'] ) )); $columnGroup->add(new ViewColumnGroup('Pembangunan', array( $columns['tot_bangunan'], $columns['mulai_bangun'] ) )); $columnGroup->add(new ViewColumnGroup('Aug-25', array( $columns['bln_5'] ) )); $columnGroup->add(new ViewColumnGroup('Sep-25', array( $columns['bln_6'] ) )); $columnGroup->add(new ViewColumnGroup('Oct-25', array( $columns['bln_7'] ) )); $columnGroup->add(new ViewColumnGroup('Nov-25', array( $columns['bln_8'] ) )); $columnGroup->add(new ViewColumnGroup('Dec-25', array( $columns['bln_9'] ) )); $columnGroup->add(new ViewColumnGroup('Jan-26', array( $columns['bln_10'] ) )); $columnGroup->add(new ViewColumnGroup('Feb-26', array( $columns['bln_11'] ) )); $columnGroup->add(new ViewColumnGroup('Mar-26', array( $columns['bln_12'] ) )); $columnGroup->add(new ViewColumnGroup('Apr-26', array( $columns['bln_13'] ) )); $columnGroup->add(new ViewColumnGroup('May-26', array( $columns['bln_14'] ) )); $columnGroup->add(new ViewColumnGroup('Jun-26', array( $columns['bln_15'] ) )); $columnGroup->add(new ViewColumnGroup('Jul-26', array( $columns['bln_16'] ) )); $columnGroup->add(new ViewColumnGroup('Aug-26', array( $columns['bln_17'] ) )); $columnGroup->add(new ViewColumnGroup('Sep-26', array( $columns['bln_18'] ) )); $columnGroup->add(new ViewColumnGroup('Oct-26', array( $columns['bln_19'] ) )); $columnGroup->add(new ViewColumnGroup('Nov-26', array( $columns['bln_20'] ) )); $columnGroup->add(new ViewColumnGroup('Dec-26', array( $columns['bln_21'] ) )); $columnGroup->add(new ViewColumnGroup('Jan-27', array( $columns['bln_22'] ) )); $columnGroup->add(new ViewColumnGroup('Feb-27', array( $columns['bln_23'] ) )); $columnGroup->add(new ViewColumnGroup('Mar-27', array( $columns['bln_24'] ) )); $columnGroup->add(new ViewColumnGroup('Apr-27', array( $columns['bln_25'] ) )); $columnGroup->add(new ViewColumnGroup('May-27', array( $columns['bln_26'] ) )); $columnGroup->add(new ViewColumnGroup('Jun-27', array( $columns['bln_27'] ) )); $columnGroup->add(new ViewColumnGroup('Jul-27', array( $columns['bln_28'] ) ));
$columnGroup->add(new ViewColumnGroup('Type / Luas', array( $columns['id_proyek'], $columns['no_kavling'], $columns['lb'], $columns['lt'], $columns['ket'] //$columns['kategori'] ) )); $columnGroup->add(new ViewColumnGroup('Perhitungan HPP', array( $columns['tanah_proyek'], $columns['pengolahan_lahan'], $columns['prasarana_sarana'], $columns['kontruksi_rumah'], $columns['perijinan_proyek'], $columns['legalitas_proyek'], $columns['legalitas_pjl_kav'], $columns['hpp'] ) )); $columnGroup->add(new ViewColumnGroup('Harga & Laba', array( $columns['harga_min_jual'], $columns['laba_kotor'], $columns['prosentase_laba'] ) ));
$columnGroup->add(new ViewColumnGroup('Type / Luas', array( $columns['id_proyek'], $columns['no_kavling'], $columns['lb'], $columns['lt'], $columns['ket'] //$columns['kategori'] ) )); $columnGroup->add(new ViewColumnGroup('HPP', array( $columns['hpp'] ) )); $columnGroup->add(new ViewColumnGroup('Biaya Operasional Proyek', array( $columns['mgt_pengawasan'], $columns['perlengkapan_ktr'], $columns['operasional_ktr'], $columns['operasional_pemasaran'], $columns['operasional_proyek'] ) ));
$columnGroup->add(new ViewColumnGroup('Pemasukan Penjualan', array( $columns['id_proyek'], $columns['pemasukan'], $columns['kum_act'], $columns['kum_tgt'], $columns['selisih'] ) )); $columnGroup->add(new ViewColumnGroup('(Bln 5) Aug-25', array( $columns['act_bln_5'], $columns['tgt_bln_5'] ) )); $columnGroup->add(new ViewColumnGroup('(Bln 6) Sep-25', array( $columns['act_bln_6'], $columns['tgt_bln_6'] ) )); $columnGroup->add(new ViewColumnGroup('(Bln 7) Oct-25', array( $columns['act_bln_7'], $columns['tgt_bln_7'] ) )); $columnGroup->add(new ViewColumnGroup('(Bln 8) Nov-25', array( $columns['act_bln_8'], $columns['tgt_bln_8'] ))); $columnGroup->add(new ViewColumnGroup('(Bln 9) Dec-24', array( $columns['act_bln_9'], $columns['tgt_bln_9'] ))); $columnGroup->add(new ViewColumnGroup('(Bln 10) Jan-25', array( $columns['act_bln_10'], $columns['tgt_bln_10'] ))); $columnGroup->add(new ViewColumnGroup('(Bln 11) Feb-25', array( $columns['act_bln_11'], $columns['tgt_bln_11'] ))); $columnGroup->add(new ViewColumnGroup('(Bln 12) Mar-25', array( $columns['act_bln_12'], $columns['tgt_bln_12'] ))); $columnGroup->add(new ViewColumnGroup('(Bln 13) Apr-25', array( $columns['act_bln_13'], $columns['tgt_bln_13'] ))); $columnGroup->add(new ViewColumnGroup('(Bln 14) May-25', array( $columns['act_bln_14'], $columns['tgt_bln_14'] ))); $columnGroup->add(new ViewColumnGroup('(Bln 15) Jun-25', array( $columns['act_bln_15'], $columns['tgt_bln_15'] ))); $columnGroup->add(new ViewColumnGroup('(Bln 16) Jul-25', array( $columns['act_bln_16'], $columns['tgt_bln_16'] ))); $columnGroup->add(new ViewColumnGroup('(Bln 17) Aug-25', array( $columns['act_bln_17'], $columns['tgt_bln_17'] ))); $columnGroup->add(new ViewColumnGroup('(Bln 18) Sep-25', array( $columns['act_bln_18'], $columns['tgt_bln_18'] ))); $columnGroup->add(new ViewColumnGroup('(Bln 19) Oct-25', array( $columns['act_bln_19'], $columns['tgt_bln_19'] ))); $columnGroup->add(new ViewColumnGroup('(Bln 20) Nov-25', array( $columns['act_bln_20'], $columns['tgt_bln_20'] ))); $columnGroup->add(new ViewColumnGroup('(Bln 21) Dec-25', array( $columns['act_bln_21'], $columns['tgt_bln_21'] )));
$columnGroup->add(new ViewColumnGroup('Modal Proyek', array( $columns['id_proyek'], $columns['rencana_modal'] ) )); $columnGroup->add(new ViewColumnGroup('Bln 0', array( $columns['bln_0'] ) )); $columnGroup->add(new ViewColumnGroup('Bln 1', array( $columns['bln_1'] ) )); $columnGroup->add(new ViewColumnGroup('Bln 2', array( $columns['bln_2'] ) )); $columnGroup->add(new ViewColumnGroup('Bln 3', array( $columns['bln_3'] ) )); $columnGroup->add(new ViewColumnGroup('Bln 4', array( $columns['bln_4'] ) )); $columnGroup->add(new ViewColumnGroup('Bln 5', array( $columns['bln_5'] ) )); $columnGroup->add(new ViewColumnGroup('Bln 6', array( $columns['bln_6'] ) )); $columnGroup->add(new ViewColumnGroup('Bln 7', array( $columns['bln_7'] ) )); $columnGroup->add(new ViewColumnGroup('Bln 8', array( $columns['bln_8'] ) )); $columnGroup->add(new ViewColumnGroup('Bln 9', array( $columns['bln_9'] ) )); $columnGroup->add(new ViewColumnGroup('Bln 10', array( $columns['bln_10'] ) )); $columnGroup->add(new ViewColumnGroup('Bln 11', array( $columns['bln_11'] ) )); $columnGroup->add(new ViewColumnGroup('Bln 12', array( $columns['bln_12'] ) )); $columnGroup->add(new ViewColumnGroup('Bln 13', array( $columns['bln_13'] ) )); $columnGroup->add(new ViewColumnGroup('Bln 14', array( $columns['bln_14'] ) )); $columnGroup->add(new ViewColumnGroup('Bln 15', array( $columns['bln_15'] ) )); $columnGroup->add(new ViewColumnGroup('Bln 16', array( $columns['bln_16'] ) )); $columnGroup->add(new ViewColumnGroup('Bln 17', array( $columns['bln_17'] ) )); $columnGroup->add(new ViewColumnGroup('Bln 18', array( $columns['bln_18'] ) )); $columnGroup->add(new ViewColumnGroup('Bln 19', array( $columns['bln_19'] ) )); $columnGroup->add(new ViewColumnGroup('Bln 20', array( $columns['bln_20'] ) )); $columnGroup->add(new ViewColumnGroup('Bln 21', array( $columns['bln_21'] ) ));
$columnGroup->add(new ViewColumnGroup('Pengembalian Modal Proyek', array( $columns['id_proyek'], $columns['pengembalian_modal'] ) )); $columnGroup->add(new ViewColumnGroup('Bln 0', array( $columns['bln_0'] ) )); $columnGroup->add(new ViewColumnGroup('Bln 1', array( $columns['bln_1'] ) )); $columnGroup->add(new ViewColumnGroup('Bln 2', array( $columns['bln_2'] ) )); $columnGroup->add(new ViewColumnGroup('Bln 3', array( $columns['bln_3'] ) )); $columnGroup->add(new ViewColumnGroup('Bln 4', array( $columns['bln_4'] ) )); $columnGroup->add(new ViewColumnGroup('Bln 5', array( $columns['bln_5'] ) )); $columnGroup->add(new ViewColumnGroup('Bln 6', array( $columns['bln_6'] ) )); $columnGroup->add(new ViewColumnGroup('Bln 7', array( $columns['bln_7'] ) )); $columnGroup->add(new ViewColumnGroup('Bln 8', array( $columns['bln_8'] ) )); $columnGroup->add(new ViewColumnGroup('Bln 9', array( $columns['bln_9'] ) )); $columnGroup->add(new ViewColumnGroup('Bln 10', array( $columns['bln_10'] ) )); $columnGroup->add(new ViewColumnGroup('Bln 11', array( $columns['bln_11'] ) )); $columnGroup->add(new ViewColumnGroup('Bln 12', array( $columns['bln_12'] ) )); $columnGroup->add(new ViewColumnGroup('Bln 13', array( $columns['bln_13'] ) )); $columnGroup->add(new ViewColumnGroup('Bln 14', array( $columns['bln_14'] ) )); $columnGroup->add(new ViewColumnGroup('Bln 15', array( $columns['bln_15'] ) )); $columnGroup->add(new ViewColumnGroup('Bln 16', array( $columns['bln_16'] ) )); $columnGroup->add(new ViewColumnGroup('Bln 17', array( $columns['bln_17'] ) )); $columnGroup->add(new ViewColumnGroup('Bln 18', array( $columns['bln_18'] ) )); $columnGroup->add(new ViewColumnGroup('Bln 19', array( $columns['bln_19'] ) )); $columnGroup->add(new ViewColumnGroup('Bln 20', array( $columns['bln_20'] ) )); $columnGroup->add(new ViewColumnGroup('Bln 21', array( $columns['bln_21'] ) ));
if ( ($part == PagePart::RecordCard && $mode == PageMode::ExportPdf) || ($part == PagePart::Grid && $mode == PageMode::PrintOneRecord) ) { // pengeluaran harga pokok produksi $hargaPokokProduksiDetail = array(); $hppId = GetApplication()->GetGETValue('pk0'); $sql1 = " SELECT p.nama_proyek, p.lokasi, hr.id_rab, hr.nama_rab, COALESCE(qrht.total_jumlah, 0) AS total_jumlah, ROUND( CASE WHEN qnpp.nilai_penerimaan_penjualan IS NOT NULL AND qnpp.nilai_penerimaan_penjualan > 0 THEN (COALESCE(qrht.total_jumlah, 0) / qnpp.nilai_penerimaan_penjualan * 100) ELSE 0 END, 2) AS persen, ROUND( CASE WHEN hr.id_rab = 'B3' THEN COALESCE(qrht.total_jumlah, 0) / ( SELECT COALESCE(SUM(qphj.lb), 1) FROM d6_mardin.query_pendekatan_harga_jual qphj WHERE qphj.id_proyek = p.id ) ELSE COALESCE(qrht.total_jumlah, 0) / 7266.0 END, 2) AS nilai_per_m2 FROM d6_mardin.head_ref hr LEFT JOIN d6_mardin.query_rab_head_total qrht ON hr.id_rab = qrht.id_rab LEFT JOIN d6_mardin.proyek p ON p.id = COALESCE(qrht.id_proyek) LEFT JOIN d6_mardin.query_nilai_penerimaan_penjualan qnpp ON qnpp.id = p.id WHERE p.id = %d AND qrht.total_jumlah IS NOT NULL AND qrht.total_jumlah > 0 ORDER BY hr.id_rab"; $this->GetConnection()->ExecQueryToArray(sprintf($sql1, $hppId), $hargaPokokProduksiDetail); // Ubah key 'sub jumlah' menjadi 'sub_total' (opsional jika query tidak bisa diubah) foreach ($hargaPokokProduksiDetail as &$itemHPP) { if (isset($itemHPP['total_jumlah'])) { $hppTotal = (int) $itemHPP['total_jumlah']; $itemHPP['total_jumlah'] = number_format($hppTotal, 0, ',', '.'); $nilaiPerM2 = (int) $itemHPP['nilai_per_m2']; $itemHPP['nilai_per_m2'] = number_format($nilaiPerM2, 0, ',', '.'); } } unset($itemHPP); // good practice // Hitung total $invoiceTotal = 0; foreach ($hargaPokokProduksiDetail as $hppDetail) { if (isset($hppDetail['sub_total'])) { $hppTotal += $hppDetail['sub_total']; } } // pengeluaran biaya manajemen dan operasional kantor $biayaOperasionalDetail = array(); $bopId = GetApplication()->GetGETValue('pk0'); $sql2 = " SELECT p.nama_proyek, p.lokasi, hr.id_rab, hr.nama_rab, COALESCE(qbht.total_jumlah, 0) AS total_jumlah, ROUND( CASE WHEN qnpp.nilai_penerimaan_penjualan IS NOT NULL AND qnpp.nilai_penerimaan_penjualan > 0 THEN (COALESCE(qbht.total_jumlah, 0) / qnpp.nilai_penerimaan_penjualan * 100) ELSE 0 END, 2) AS persen FROM d6_mardin.head_ref hr LEFT JOIN d6_mardin.query_bop_head_total qbht ON hr.id_rab = qbht.id_rab LEFT JOIN d6_mardin.proyek p ON p.id = COALESCE(qbht.id_proyek) LEFT JOIN d6_mardin.query_nilai_penerimaan_penjualan qnpp ON qnpp.id = p.id WHERE p.id = %d and qbht.total_jumlah IS NOT NULL and qbht.total_jumlah > 0 ORDER BY hr.id_rab"; $this->GetConnection()->ExecQueryToArray(sprintf($sql2, $bopId), $biayaOperasionalDetail); // Ubah key 'sub jumlah' menjadi 'sub_total' (opsional jika query tidak bisa diubah) foreach ($biayaOperasionalDetail as &$itemBop) { if (isset($itemBop['total_jumlah'])) { $bopTotal = (int) $itemBop['total_jumlah']; $itemBop['total_jumlah'] = number_format($bopTotal, 0, ',', '.'); } } unset($itemBop); // good practice // Hitung total $invoiceTotal = 0; foreach ($biayaOperasionalDetail as $bopDetail) { if (isset($bopDetail['sub_total'])) { $bopTotal += $bopDetail['sub_total']; } } // laba proyek sebelum pajak dan biaya modal $labaBeforeTaxDetail = array(); $labaBTId = GetApplication()->GetGETValue('pk0'); $sql3 = " SELECT (qnpp.nilai_penerimaan_penjualan - qnpp.harga_pokok_produksi - qnpp.biaya_operasional_kantor) as laba, round( (qnpp.nilai_penerimaan_penjualan - qnpp.harga_pokok_produksi - qnpp.biaya_operasional_kantor)/ qnpp.nilai_penerimaan_penjualan * 100, 2) as persen FROM d6_mardin.query_nilai_penerimaan_penjualan qnpp where qnpp.id = %d"; $this->GetConnection()->ExecQueryToArray(sprintf($sql3, $labaBTId), $labaBeforeTaxDetail); foreach ($labaBeforeTaxDetail as &$itemLaba) { if (isset($itemLaba['laba'])) { $labaTotal = (int) $itemLaba['laba']; $itemLaba['laba'] = number_format($labaTotal, 0, ',', '.'); } } unset($itemBop); // good practice // hitung total persen rab $rabPersen = array(); $rabPersenId = GetApplication()->GetGETValue('pk0'); $sql4 = " SELECT SUM(qrp.persen ) as persen FROM d6_mardin.query_rab_persen qrp WHERE qrp.id_proyek = %d"; $this->GetConnection()->ExecQueryToArray(sprintf($sql4, $rabPersenId), $rabPersen); // hitung total persen bop $bopPersen = array(); $bopPersenId = GetApplication()->GetGETValue('pk0'); $sql5 = " SELECT SUM(qbp.persen ) as persen FROM d6_mardin.query_bop_persen qbp WHERE qbp.id_proyek = %d"; $this->GetConnection()->ExecQueryToArray(sprintf($sql5, $bopPersenId), $bopPersen); // hitung semua total persentase $totalPersen = array(); $totalPersenId = GetApplication()->GetGETValue('pk0'); $sql6 = " SELECT (SELECT SUM(qbp.persen) FROM d6_mardin.query_bop_persen qbp ) + (SELECT SUM(qrp.persen ) FROM d6_mardin.query_rab_persen qrp ) + (SELECT ROUND( (qnpp.nilai_penerimaan_penjualan - qnpp.harga_pokok_produksi - qnpp.biaya_operasional_kantor ) / qnpp.nilai_penerimaan_penjualan * 100, 2) FROM d6_mardin.query_nilai_penerimaan_penjualan qnpp ) as persen"; $this->GetConnection()->ExecQueryToArray(sprintf($sql6, $totalPersenId), $totalPersen); // hitung zakat 2.5% $zakatDetail = array(); $zakatId = GetApplication()->GetGETValue('pk0'); $sql7 = " SELECT (( qnpp.nilai_penerimaan_penjualan - qnpp.harga_pokok_produksi - qnpp.biaya_operasional_kantor )* 0.025) as zakat FROM d6_mardin.query_nilai_penerimaan_penjualan qnpp WHERE qnpp.id = %d"; $this->GetConnection()->ExecQueryToArray(sprintf($sql7, $zakatId), $zakatDetail); foreach ($zakatDetail as &$itemZakat) { if (isset($itemZakat['zakat'])) { $zakatTotal = (int) $itemZakat['zakat']; $itemZakat['zakat'] = number_format($zakatTotal, 0, ',', '.'); } } unset($itemZakat); // good practice // target laba bersih proyek $labaBersih = array(); $labaBersihId = GetApplication()->GetGETValue('pk0'); $sql8 = " SELECT (qnpp.nilai_penerimaan_penjualan - qnpp.harga_pokok_produksi - qnpp.biaya_operasional_kantor ) - (( qnpp.nilai_penerimaan_penjualan - qnpp.harga_pokok_produksi - qnpp.biaya_operasional_kantor )* 0.025) as laba_bersih FROM d6_mardin.query_nilai_penerimaan_penjualan qnpp WHERE qnpp.id = %d"; $this->GetConnection()->ExecQueryToArray(sprintf($sql8, $labaBersihId), $labaBersih); foreach ($labaBersih as &$itemLabaBersih) { if (isset($itemLabaBersih['laba_bersih'])) { $labaBersihTotal = (int) $itemLabaBersih['laba_bersih']; $itemLabaBersih['laba_bersih'] = number_format($labaBersihTotal, 0, ',', '.'); } } unset($itemLabaBersih); // good practice // terhadap omset non ppn $omsetNonPPN = array(); $omsetNonPPNId = GetApplication()->GetGETValue('pk0'); $sql9 = " SELECT round(((qnpp.nilai_penerimaan_penjualan - qnpp.harga_pokok_produksi - qnpp.biaya_operasional_kantor ) - (( qnpp.nilai_penerimaan_penjualan - qnpp.harga_pokok_produksi - qnpp.biaya_operasional_kantor )* 0.025)) / (qnpp.nilai_penerimaan_penjualan ) * 100, 2) as omset_non_ppn FROM d6_mardin.query_nilai_penerimaan_penjualan qnpp WHERE qnpp.id = %d"; $this->GetConnection()->ExecQueryToArray(sprintf($sql9, $omsetNonPPNId), $omsetNonPPN); // terhadap nilai pokok tanah $nilaiPokokTanah = array(); $nilaiPokokTanahId = GetApplication()->GetGETValue('pk0'); $sql10 = " SELECT round ((SELECT qrht.total_jumlah FROM d6_mardin.query_rab_head_total qrht WHERE qrht.id_proyek = %d AND qrht.id_rab = 'A') / ( SELECT (qnpp.nilai_penerimaan_penjualan - qnpp.harga_pokok_produksi - qnpp.biaya_operasional_kantor ) - (( qnpp.nilai_penerimaan_penjualan - qnpp.harga_pokok_produksi - qnpp.biaya_operasional_kantor )* 0.025) as laba_bersih FROM d6_mardin.query_nilai_penerimaan_penjualan qnpp WHERE qnpp.id = %d ) * 100,2) as nilai_pokok_tanah"; $this->GetConnection()->ExecQueryToArray(sprintf($sql10, $nilaiPokokTanahId, $nilaiPokokTanahId), $nilaiPokokTanah); //Debug // echo '<pre>'; // print_r($hargaPokokProduksiDetail); // print_r($biayaOperasionalDetail); // print_r($labaBeforeTaxDetail); // print_r($rabPersen); // echo '</pre>'; // exit; // Kirim data ke template $params['HargaPokokProduksiDetail'] = $hargaPokokProduksiDetail; $params['BiayaOperasionalDetail'] = $biayaOperasionalDetail; $params['LabaBeforeTaxDetail'] = $labaBeforeTaxDetail; $params['RabPersen'] = $rabPersen; $params['BopPersen'] = $bopPersen; $params['TotalPersen'] = $totalPersen; $params['ZakatDetail'] = $zakatDetail; $params['LabaBersih'] = $labaBersih; $params['OmsetNonPPN'] = $omsetNonPPN; $params['NilaiPokokTanah'] = $nilaiPokokTanah; //$params['InvoiceNumber'] = 'RAB-' . sprintf('%03d', $invoiceId); $params['InvoiceSubtotal'] = number_format($invoiceTotal, 0, ',', '.'); //$params['InvoiceTax'] = $invoiceTotal * 0.06; // pajak 6% //$params['InvoiceTotal'] = $invoiceTotal + $params['InvoiceTax']; // Tentukan template yang digunakan if ($mode == PageMode::ExportPdf) { $result = 'kesimpulan_proyek_pdf.tpl'; } else { $result = 'kesimpulan_proyek_print.tpl'; } } if ($part == PagePart::PrintLayout && $mode == PageMode::PrintOneRecord) { $result = 'kesimpulan_proyek_print_layout.tpl'; }