예제 #1
0
 $resHo = fetchData($qHo);
 $kodeorg = $resHo[0]['kodeorganisasi'];
 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'];
     $qCaco = selectQuery($dbname, 'keu_5caco', 'kodeorg,akunpiutang,akunhutang', "kodeorg in ('" . $param['kebun'] . "','" . $unitSumber . "')\r\n\t\t\t\t\t\t\t\t and jenis='" . $jenisCaco . "'");
     $resCaco = fetchData($qCaco);
     $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;
 foreach ($resBkm as $r) {
     $listNoTrans[$r['notransaksi']] = $r['notransaksi'];
 }
 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)
예제 #4
0
     $qJurnal = "SELECT SUM(jumlah) as nilai FROM " . $dbname . ".keu_jurnaldt WHERE LEFT(tanggal,7)<='" . substr($tanggal, 0, 6) . "' and noakun in (" . $strAkun . ")";
     $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'] . "';";