// Overhead KER - Kredit $dataResHPP['detail'][] = array('nojurnal' => $nojurnal, 'tanggal' => $tanggalJurnal, 'nourut' => $noUrut, 'noakun' => '7199999', 'keterangan' => 'Biaya Overhead alokasi KER ' . $ptUnit . ' ' . $param['periode'], 'jumlah' => $kerOverhead * -1, 'matauang' => 'IDR', 'kurs' => '1', 'kodeorg' => $unit, 'kodekegiatan' => '', 'kodeasset' => '', 'kodebarang' => $barang['pk'], 'nik' => '', 'kodecustomer' => '', 'kodesupplier' => '', 'noreferensi' => $noRef, 'noaruskas' => '', 'kodevhc' => '', 'nodok' => $noRef, 'kodeblok' => '', 'revisi' => '0', 'kodesegment' => $defSegment); $noUrut++; } if ($rpPkOut > 0) { // PK Dikirim - Debet $dataResHPP['detail'][] = array('nojurnal' => $nojurnal, 'tanggal' => $tanggalJurnal, 'nourut' => $noUrut, 'noakun' => '6410700', 'keterangan' => 'Harga Pokok Penjualan PK ' . $ptUnit . ' ' . $param['periode'], 'jumlah' => $rpPkOut, 'matauang' => 'IDR', 'kurs' => '1', 'kodeorg' => $unit, 'kodekegiatan' => '', 'kodeasset' => '', 'kodebarang' => $barang['pk'], 'nik' => '', 'kodecustomer' => '', 'kodesupplier' => '', 'noreferensi' => $noRef, 'noaruskas' => '', 'kodevhc' => '', 'nodok' => $noRef, 'kodeblok' => '', 'revisi' => '0', 'kodesegment' => $defSegment); $noUrut++; $dataResHPP['header']['totaldebet'] += $rpPkOut; $dataResHPP['header']['totalkredit'] += $rpPkOut; // PK Dikirim - Kredit $dataResHPP['detail'][] = array('nojurnal' => $nojurnal, 'tanggal' => $tanggalJurnal, 'nourut' => $noUrut, 'noakun' => '1150202', 'keterangan' => 'Harga Pokok Penjualan PK ' . $ptUnit . ' ' . $param['periode'], 'jumlah' => $rpPkOut * -1, 'matauang' => 'IDR', 'kurs' => '1', 'kodeorg' => $unit, 'kodekegiatan' => '', 'kodeasset' => '', 'kodebarang' => $barang['pk'], 'nik' => '', 'kodecustomer' => '', 'kodesupplier' => '', 'noreferensi' => $noRef, 'noaruskas' => '', 'kodevhc' => '', 'nodok' => $noRef, 'kodeblok' => '', 'revisi' => '0', 'kodesegment' => $defSegment); $noUrut++; } // Lakukan Jurnal $zJ->doJournal($ptUnit, $kodeJurnal, $dataResHPP, 1, "", false); // Insert ke Saldo Awal HPP $nxtBulan = $bulan < 12 ? $bulan + 1 : 1; $nxtTahun = $bulan < 12 ? $tahun : $tahun + 1; $nxtPeriod = $nxtTahun . '-' . str_pad($nxtBulan, 2, '0', STR_PAD_LEFT); $dataHpp = array(); // TBS $dataHpp[] = array('kodeorg' => $unit, 'periode' => $nxtPeriod, 'kodebarang' => $barang['tbs'], 'qtyawal' => $tbsQtyAkhir, 'rpawal' => $tbsRpAkhir); // CPO $dataHpp[] = array('kodeorg' => $unit, 'periode' => $nxtPeriod, 'kodebarang' => $barang['cpo'], 'qtyawal' => $cpoQtyAkhir, 'rpawal' => $cpoRpAkhir); // PK $dataHpp[] = array('kodeorg' => $unit, 'periode' => $nxtPeriod, 'kodebarang' => $barang['pk'], 'qtyawal' => $pkQtyAkhir, 'rpawal' => $pkRpAkhir); // Delete Saldo Awal HPP $qDelHPP = deleteQuery($dbname, 'keu_4hpp', "kodeorg='" . $unit . "' and periode='" . $nxtPeriod . "'"); if (!mysql_query($qDelHPP)) { echo "Delete HPP Error: " . mysql_error() . "\n";
$jumlah2 = $data['beratbersih'] * $dataDet['hargasatuan']; } // Prepare Data $dataRes = array(); $dataRes2 = array(); $dataRes['header'] = array('nojurnal' => $nojurnal, 'kodejurnal' => $kodeJurnal, 'tanggal' => $tanggalJ, 'tanggalentry' => date('Ymd'), 'posting' => '0', 'totaldebet' => $jumlah, 'totalkredit' => $jumlah * -1, 'amountkoreksi' => '0', 'noreferensi' => $param['notiket'], 'autojurnal' => '1', 'matauang' => 'IDR', 'kurs' => '1', 'revisi' => '0'); $dataRes['detail'][0] = array('nojurnal' => $nojurnal, 'tanggal' => $tanggalJ, 'nourut' => 1, 'noakun' => $paramJ['noakundebet'], 'keterangan' => 'Pengakuan Penjualan No. Tiket ' . $param['notiket'], 'jumlah' => $jumlah, 'matauang' => 'IDR', 'kurs' => '1', 'kodeorg' => $kodeorg, 'kodekegiatan' => '', 'kodeasset' => '', 'kodebarang' => $data['kodebarang'], 'nik' => '', 'kodecustomer' => $data['koderekanan'], 'kodesupplier' => $kodeSupp, 'noreferensi' => $param['notiket'], 'noaruskas' => '', 'kodevhc' => '', 'nodok' => $noinvoice, 'kodeblok' => '', 'revisi' => '0', 'kodesegment' => $defSegment); $dataRes['detail'][1] = array('nojurnal' => $nojurnal, 'tanggal' => $tanggalJ, 'nourut' => 2, 'noakun' => $paramJ['noakunkredit'], 'keterangan' => $resData[0]['beratbersih'], 'jumlah' => $jumlah * -1, 'matauang' => 'IDR', 'kurs' => '1', 'kodeorg' => $kodeorg, 'kodekegiatan' => '', 'kodeasset' => '', 'kodebarang' => $data['kodebarang'], 'nik' => '', 'kodecustomer' => '', 'kodesupplier' => $kodeSupp, 'noreferensi' => $param['notiket'], 'noaruskas' => '', 'kodevhc' => '', 'nodok' => $noinvoice, 'kodeblok' => '', 'revisi' => '0', 'kodesegment' => $defSegment); if (!empty($param['nokontrakDt'])) { //jika nokontrak menjadi induk,maka kontrak detailnya di buatkan jurnal $dataRes2['header'] = array('nojurnal' => $nojurnal2, 'kodejurnal' => $kodeJurnal, 'tanggal' => $tanggalJ, 'tanggalentry' => date('Ymd'), 'posting' => '0', 'totaldebet' => $jumlah2, 'totalkredit' => $jumlah2 * -1, 'amountkoreksi' => '0', 'noreferensi' => $param['notiket'] . $kodeorg2, 'autojurnal' => '1', 'matauang' => 'IDR', 'kurs' => '1', 'revisi' => '0'); $dataRes2['detail'][0] = array('nojurnal' => $nojurnal2, 'tanggal' => $tanggalJ, 'nourut' => 1, 'noakun' => $paramJ['noakundebet'], 'keterangan' => 'Pengakuan Penjualan No. Tiket ' . $param['notiket'] . $kodeorg2, 'jumlah' => $jumlah2, 'matauang' => 'IDR', 'kurs' => '1', 'kodeorg' => $kodeorg2, 'kodekegiatan' => '', 'kodeasset' => '', 'kodebarang' => $data['kodebarang'], 'nik' => '', 'kodecustomer' => $dataDet['koderekanan'], 'kodesupplier' => $kodeSupp, 'noreferensi' => $param['notiket'] . $kodeorg2, 'noaruskas' => '', 'kodevhc' => '', 'nodok' => $noinvoiceDet, 'kodeblok' => '', 'revisi' => '0', 'kodesegment' => $defSegment); $dataRes2['detail'][1] = array('nojurnal' => $nojurnal2, 'tanggal' => $tanggalJ, 'nourut' => 2, 'noakun' => $paramJ['noakunkredit'], 'keterangan' => $resData[0]['beratbersih'], 'jumlah' => $jumlah2 * -1, 'matauang' => 'IDR', 'kurs' => '1', 'kodeorg' => $kodeorg2, 'kodekegiatan' => '', 'kodeasset' => '', 'kodebarang' => $data['kodebarang'], 'nik' => '', 'kodecustomer' => '', 'kodesupplier' => $kodeSupp, 'noreferensi' => $param['notiket'] . $kodeorg2, 'noaruskas' => '', 'kodevhc' => '', 'nodok' => $noinvoiceDet, 'kodeblok' => '', 'revisi' => '0', 'kodesegment' => $defSegment); } // Do Journal $zJ->doJournal($data['kodept'], $kodeJurnal, $dataRes, $counter, "Pengakuan Penjualan"); if (!empty($param['nokontrakDt'])) { //jika nokontrak menjadi induk,maka kontrak detailnya di buatkan jurnal $zJ->doJournal($dataDet['kodept'], $kodeJurnal, $dataRes2, $counter2, "Pengakuan Penjualan"); } // Insert Pengakuan Penjualan $dataIns = array('notransaksi' => $data['notransaksi'], 'millcode' => $data['millcode'], 'tanggalpengakuan' => $tanggalJ, 'posting' => 1); $qCekData = selectQuery($dbname, 'keu_pengakuanjual', 'notransaksi', "notransaksi='" . $param['notiket'] . "' "); $resCekdata = fetchData($qCekData); if (!empty($resCekdata)) { $sdel = "delete from " . $dbname . ".keu_pengakuanjual where notransaksi='" . $param['notiket'] . "'"; if (!mysql_query($sdel)) { echo "Delete Transaksi Error: " . mysql_error() . "___" . $sdel; $zJ->rbJournal($nojurnal); } }
$nojurnal1 = $zJ->genNoJournal($tglFull, $unitSumber, $kodeJurnal, $counterJ1); $dataRes1 = array(); // R/K Header $dataRes1['header'] = array('nojurnal' => $nojurnal1, 'kodejurnal' => $kodeJurnal, 'tanggal' => $tglFull, 'tanggalentry' => date('Ymd'), 'posting' => '0', 'totaldebet' => $total, 'totalkredit' => $total, 'amountkoreksi' => '0', 'noreferensi' => $noRef, 'autojurnal' => '1', 'matauang' => 'IDR', 'kurs' => '1', 'revisi' => '0'); // R/K Detail $dataRes1['detail'] = array(); $dataRes1['detail'][] = array('nojurnal' => $nojurnal1, 'tanggal' => $tglFull, 'nourut' => 1, 'noakun' => $optCaco[$param['kebun']], 'keterangan' => 'Alokasi Biaya Bibit ' . $param['kebun'] . ' untuk kegiatan ' . $row['namakegiatan'], 'jumlah' => $total, 'matauang' => 'IDR', 'kurs' => '1', 'kodeorg' => $unitSumber, 'kodekegiatan' => '', 'kodeasset' => '', 'kodebarang' => '', 'nik' => '', 'kodecustomer' => '', 'kodesupplier' => '', 'noreferensi' => $noRef, 'noaruskas' => '', 'kodevhc' => '', 'nodok' => $noRef, 'kodeblok' => '', 'revisi' => '0', 'kodesegment' => $defSegment); // Biaya $dataRes1['detail'][] = array('nojurnal' => $nojurnal1, 'tanggal' => $tglFull, 'nourut' => 2, 'noakun' => $paramJ['noakunkredit'], 'keterangan' => 'Alokasi Biaya Bibit ' . $param['kebun'] . ' untuk kegiatan ' . $row['namakegiatan'], 'jumlah' => $total * -1, 'matauang' => 'IDR', 'kurs' => '1', 'kodeorg' => $unitSumber, 'kodekegiatan' => '', 'kodeasset' => '', 'kodebarang' => '', 'nik' => '', 'kodecustomer' => '', 'kodesupplier' => '', 'noreferensi' => $noRef, 'noaruskas' => '', 'kodevhc' => '', 'nodok' => $noRef, 'kodeblok' => '', 'revisi' => '0', 'kodesegment' => $defSegment); } /** * Proses Penjurnalan */ // Delete Jurnal dulu if ($sameUnit) { $whereDel = "nojurnal='" . $nojurnal . "'"; } else { $whereDel = "nojurnal in ('" . $nojurnal . "','" . $nojurnal1 . "')"; } $delJournal = deleteQuery($dbname, 'keu_jurnalht', $whereDel); if (!mysql_query($delJournal)) { exit("Hapus Jurnal Error: " . mysql_error()); } else { $zJ->doJournal($optPT[$param['kebun']], $kodeJurnal, $dataRes, $counterJ, "Alokasi Biaya Bibit"); $zJ->doJournal($optPT[$unitSumber], $kodeJurnal, $dataRes1, $counterJ1, "Alokasi Biaya Bibit"); } // Result $res = array('msg' => 'Proses Jurnal berhasil'); echo json_encode($res); break; }
$nojurnal = $zJ->genNoJournal($row['tanggal'], $_POST['kodeorg'], $kodeJurnal, $counter); $dataRes = array(); # Prep Header $dataRes['header'] = array('nojurnal' => $nojurnal, 'kodejurnal' => $kodeJurnal, 'tanggal' => $row['tanggal'], 'tanggalentry' => date('Ymd'), 'posting' => '1', 'totaldebet' => '0', 'totalkredit' => '0', 'amountkoreksi' => '0', 'noreferensi' => $row['notransaksi'], 'autojurnal' => '1', 'matauang' => 'IDR', 'kurs' => '1', 'revisi' => '0'); // Iterasi di Kebun Pakai Material $noUrut = 1; $totalJumlah = 0; foreach ($optMat[$row['notransaksi']] as $rMat) { // Detail (Kredit) $dataRes['detail'][] = array('nojurnal' => $nojurnal, 'tanggal' => $row['tanggal'], 'nourut' => $noUrut, 'noakun' => $optAkunMat[substr($rMat['kodebarang'], 0, 3)], 'keterangan' => 'Material BKM ' . $row['notransaksi'] . " " . $rMat['namabarang'], 'jumlah' => $rMat['hargarata'] * $rMat['kwantitas'] * -1, 'matauang' => 'IDR', 'kurs' => '1', 'kodeorg' => '', 'kodekegiatan' => '', 'kodeasset' => '', 'kodebarang' => $rMat['kodebarang'], 'nik' => '', 'kodecustomer' => '', 'kodesupplier' => '', 'noreferensi' => $row['notransaksi'], 'noaruskas' => '', 'kodevhc' => '', 'nodok' => '', 'kodeblok' => '', 'revisi' => '0', 'kodesegment' => $row['kodesegment']); $totalJumlah += $rMat['hargarata'] * $rMat['kwantitas']; $noUrut++; } // Detail (Debet) $dataRes['detail'][] = array('nojurnal' => $nojurnal, 'tanggal' => $row['tanggal'], 'nourut' => $noUrut, 'noakun' => $optAkunKeg[$row['kodekegiatan']], 'keterangan' => 'Material BKM ' . $row['notransaksi'], 'jumlah' => $totalJumlah, 'matauang' => 'IDR', 'kurs' => '1', 'kodeorg' => substr($row['kodeorg'], 0, 4), 'kodekegiatan' => $row['kodekegiatan'], 'kodeasset' => '', 'kodebarang' => '', 'nik' => '', 'kodecustomer' => '', 'kodesupplier' => '', 'noreferensi' => $row['notransaksi'], 'noaruskas' => '', 'kodevhc' => '', 'nodok' => '', 'kodeblok' => $row['kodeorg'], 'revisi' => '0', 'kodesegment' => $row['kodesegment']); $zJ->doJournal($pt, $kodeJurnal, $dataRes, $counter, "Pengeluaran Barang"); } } // Report BKM Check //echo '<pre>'; //print_r($optMat); //print_r($resBkm); } /************************************************************** * [START] Cek Nilai Material VS Jurnal *********************** **************************************************************/ // Get Kelompok Barang yang ada Akun $optKel = makeOption($dbname, 'log_5klbarang', "kode,noakun", "noakun!=''"); $listKel = $listAkun = array(); foreach ($optKel as $kode => $akun) { $listKel[] = $kode;
$sumY = $resBibit[0]['nilai']; } // Harga Rata2 $sumZ = $sumY > 0 ? $sumX / $sumY : 0; // Biaya $biaya = abs($jmlhBibitan) * $sumZ; // Get Kelompok Jurnal $counter = $cJournal->getCounter($_SESSION['org']['kodeorganisasi'], $kodeJurnal); $nojurnal = $cJournal->genNoJournal($tanggal, substr($kdOrg, 0, 4), $kodeJurnal, $counter); // Jurnal Header $dataRes['header'] = array('nojurnal' => $nojurnal, 'kodejurnal' => $kodeJurnal, 'tanggal' => $tanggal, 'tanggalentry' => date('Ymd'), 'posting' => '0', 'totaldebet' => $biaya, 'totalkredit' => $biaya, 'amountkoreksi' => '0', 'noreferensi' => $batchVar, 'autojurnal' => '1', 'matauang' => 'IDR', 'kurs' => '1', 'revisi' => '0'); // Jurnal Detail - Debet $dataRes['detail'][0] = array('nojurnal' => $nojurnal, 'tanggal' => $tanggal, 'nourut' => 1, 'noakun' => $paramJurnal['noakundebet'], 'keterangan' => 'Transplanting dari ' . $kdOrg . " ke " . $kdOrgTjn, 'jumlah' => $biaya, 'matauang' => 'IDR', 'kurs' => '1', 'kodeorg' => substr($kdOrg, 0, 4), 'kodekegiatan' => '', 'kodeasset' => '', 'kodebarang' => '', 'nik' => '', 'kodecustomer' => '', 'kodesupplier' => '', 'noreferensi' => $batchVar, 'noaruskas' => '', 'kodevhc' => '', 'nodok' => $batchVar, 'kodeblok' => $kdOrg, 'revisi' => '0', 'kodesegment' => $defSegment); // Jurnal Detail - Kredit $dataRes['detail'][1] = array('nojurnal' => $nojurnal, 'tanggal' => $tanggal, 'nourut' => 2, 'noakun' => $paramJurnal['noakunkredit'], 'keterangan' => 'Transplanting dari ' . $kdOrg . " ke " . $kdOrgTjn, 'jumlah' => $biaya * -1, 'matauang' => 'IDR', 'kurs' => '1', 'kodeorg' => substr($kdOrg, 0, 4), 'kodekegiatan' => '', 'kodeasset' => '', 'kodebarang' => '', 'nik' => '', 'kodecustomer' => '', 'kodesupplier' => '', 'noreferensi' => $batchVar, 'noaruskas' => '', 'kodevhc' => '', 'nodok' => $batchVar, 'kodeblok' => $kdOrg, 'revisi' => '0', 'kodesegment' => $defSegment); $cJournal->doJournal($_SESSION['org']['kodeorganisasi'], $kodeJurnal, $dataRes, $counter + 1, "Transplanting PN ke MN"); } //execute 2 query on one script $sDel = "update " . $dbname . ".bibitan_mutasi set post=1 where kodetransaksi='TMB' and batch='" . $batchVar . "' and kodeorg='" . $kdOrgTjn . "' and post='0' and tanggal='" . $_POST['tanggal'] . "' and flag='AUTO';"; if (!mysql_query($sDel)) { echo "DB Error : " . $sDel . "\n" . mysql_error($conn); } else { $su = "update " . $dbname . ".bibitan_mutasi set post=1 where kodetransaksi='" . $kodeTrans . "' and batch='" . $batchVar . "' and kodeorg='" . $kdOrg . "' and tujuan='" . $kdOrgTjn . "' and post='0' and tanggal='" . $_POST['tanggal'] . "';"; mysql_query($su); } } else { exit(" Error:" . $_SESSION['lang']['post'] . ""); } break; case 'postData3': $scek2 = "select sum(jumlah) as totalBibitan from " . $dbname . ".bibitan_mutasi where kodeorg='" . $kdOrg . "' and batch='" . $batchVar . "' and post=1 group by kodeorg";