if (!empty($param['nokontrakDt'])) { //jika nokontrak menjadi induk,maka kontrak detailnya di buatkan jurnal $qHo2 = selectQuery($dbname, 'organisasi', 'kodeorganisasi', "induk='" . $dataDet['kodept'] . "' and tipe='HOLDING'"); $resHo2 = fetchData($qHo2); $kodeorg2 = $resHo2[0]['kodeorganisasi']; } // Get Parameter Jurnal $paramJ = $zJ->getParam($_SESSION['org']['induk'], $kodeApp, $kodeJurnal); if (empty($paramJ)) { exit("Warning: Parameter Jurnal " . $kodeApp . " belum ada\n" . "Silahkan hubungi pihak IT"); } // Generate No Journal $tanggalJ = tanggalsystemn($param['tanggal']); $counter = $zJ->getCounter($data['kodept'], $kodeJurnal); $counter++; $nojurnal = $zJ->genNoJournal($tanggalJ, $kodeorg, $kodeJurnal, $counter); if (!empty($param['nokontrakDt'])) { //jika nokontrak menjadi induk,maka kontrak detailnya di buatkan jurnal $tanggalJ = tanggalsystemn($param['tanggal']); $counter2 = $zJ->getCounter($dataDet['kodept'], $kodeJurnal); $counter2++; $nojurnal2 = $zJ->genNoJournal($tanggalJ, $kodeorg2, $kodeJurnal, $counter2); } // Jumlah #jika include ppn maka nilai hargasatuan di kurangi dengan hargasatuan*10/100 if ($data['ppn'] == 1) { $data['hargasatuan'] = $data['hargasatuan'] / 1.1; } $jumlah = $data['beratbersih'] * $data['hargasatuan']; if (!empty($param['nokontrakDt'])) { //jika nokontrak menjadi induk,maka kontrak detailnya di buatkan jurnal
$optCaco = array(); foreach ($resCaco as $row) { if ($row['kodeorg'] == $param['kebun']) { $optCaco[$row['kodeorg']] = $row['akunhutang']; } else { $optCaco[$row['kodeorg']] = $row['akunpiutang']; } } } /** * Prepare Jurnal */ // Get Counter Jurnal $counterJ = $zJ->getCounter($optPT[$param['kebun']], $kodeJurnal); // Nomor Jurnal $nojurnal = $zJ->genNoJournal($tglFull, $param['kebun'], $kodeJurnal, $counterJ); // Data Jurnal $dataRes = array(); $noRef = 'ALB/' . $param['kebun'] . '/' . $param['periode']; $dataRes['header'] = array('nojurnal' => $nojurnal, 'kodejurnal' => $kodeJurnal, 'tanggal' => $tglFull, 'tanggalentry' => date('Ymd'), 'posting' => '0', 'totaldebet' => '0', 'totalkredit' => '0', 'amountkoreksi' => '0', 'noreferensi' => $noRef, 'autojurnal' => '1', 'matauang' => 'IDR', 'kurs' => '1', 'revisi' => '0'); $dataRes['detail'] = array(); $noUrut = 1; $total = 0; foreach ($resPres as $row) { $dataRes['detail'][] = array('nojurnal' => $nojurnal, 'tanggal' => $tglFull, 'nourut' => $noUrut, 'noakun' => $row['noakun'], 'keterangan' => 'Alokasi Biaya Bibit ' . $param['kebun'] . ' untuk kegiatan ' . $row['namakegiatan'], 'jumlah' => $row['hargasatuan'] * $row['bibit'], 'matauang' => 'IDR', 'kurs' => '1', 'kodeorg' => $param['kebun'], 'kodekegiatan' => $row['kodekegiatan'], 'kodeasset' => '', 'kodebarang' => '', 'nik' => '', 'kodecustomer' => '', 'kodesupplier' => '', 'noreferensi' => $noRef, 'noaruskas' => '', 'kodevhc' => '', 'nodok' => $noRef, 'kodeblok' => $row['kodeorg'], 'revisi' => '0', 'kodesegment' => $defSegment); $noUrut++; $total += $row['hargasatuan'] * $row['bibit']; } $dataRes['header']['totaldebet'] = $total; $dataRes['header']['totalkredit'] = $total; if ($sameUnit) {
} if (!empty($resBkm)) { // Get Pakai Material $qMat = "SELECT a.*,b.namabarang, c.hargarata\r\n\t\t\tFROM " . $dbname . ".`kebun_pakaimaterial` a\r\n\t\t\tLEFT JOIN " . $dbname . ".log_5masterbarang b ON a.kodebarang = b.kodebarang\r\n\t\t\tLEFT JOIN " . $dbname . ".log_transaksi_vw c ON a.notransaksi = c.notransaksireferensi and a.kodebarang = c.kodebarang\r\n\t\t\tWHERE a.notransaksi in ('" . implode("','", $listNoTrans) . "')"; $resMat = fetchData($qMat); $optMat = array(); foreach ($resMat as $r) { $optMat[$r['notransaksi']][] = $r; } // Iterasi tiap transaksi yang belum ada jurnal $kodeJurnal = 'INVK1'; foreach ($resBkm as $row) { // Get Counter $counter = $zJ->getCounter($pt, $kodeJurnal) + 1; // Generate No Jurnal $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");
$resJurnal = fetchData($qJurnal); $sumX = $resJurnal[0]['nilai']; // Get Saldo Bibit $qBibit = "SELECT SUM(jumlah) as nilai FROM " . $dbname . ".bibitan_mutasi WHERE kodeorg='" . $kdOrg . "'"; $resBibit = fetchData($qBibit); $sumY = 0; if (!empty($resBibit)) { $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);