Example #1
0
 /**
  * Execute the job.
  *
  * @return void
  */
 public function handle()
 {
     try {
         \DB::begintransaction();
         /* KREDIT */
         data_jurnal::create(['id_faktur' => $this->req['id_faktur'], 'id_coa_ledger' => $this->req['id_coa_ledger'], 'tanggal' => date('Y-m-d', strtotime($this->req['tanggal'])), 'deskripsi' => $this->req['deskripsi'], 'id_payment_methode' => $this->req['id_payment_methode'], 'tipe' => 2, 'total' => $this->req['total']]);
         /* DEBET */
         data_jurnal::create(['id_faktur' => $this->req['id_faktur'], 'id_coa_ledger' => $this->req['perkiraan'], 'tanggal' => date('Y-m-d', strtotime($this->req['tanggal'])), 'deskripsi' => $this->req['deskripsi'], 'id_payment_methode' => $this->req['id_payment_methode'], 'tipe' => 1, 'total' => $this->req['total']]);
         $faktur = data_faktur::find($this->req['id_faktur']);
         if ($this->req['total'] == $this->req['total_old']) {
             $faktur->status = 2;
         } else {
             $faktur->status = 1;
         }
         $faktur->amount_due = $faktur->amount_due + $this->req['total'];
         $faktur->save();
         /* KREDIT */
         $coa = ref_coa_ledger::find($this->req['id_coa_ledger']);
         $coa->balance = $coa->balance + $this->req['total'];
         $coa->save();
         /* DEBET */
         $kira = ref_coa_ledger::find($this->req['perkiraan']);
         $kira->balance = $kira->balance + $this->req['total'];
         $kira->save();
         \DB::commit();
         return ['label' => 'success', 'err' => 'Payment berhasil dilakukan'];
     } catch (\Exception $e) {
         \DB::rollback();
         return ['label' => 'danger', 'err' => $e->getMessage()];
     }
 }
 public function getPrint($id)
 {
     if (empty($id)) {
         return redirect('/fakturpembelian');
     }
     $faktur = data_faktur::views($id)->first();
     $items = data_faktur_item::byfaktur($id)->get();
     if ($faktur->status == 3) {
         return redirect('/fakturpembelian');
     }
     $status = [0 => ['label' => 'danger', 'err' => 'Unpaid'], 1 => ['label' => 'info', 'err' => 'Partially Paid'], 2 => ['label' => 'primary', 'err' => 'Paid'], 3 => ['label' => 'important', 'err' => 'Batal']];
     $jurnals = data_jurnal::faktur($id)->get();
     return view('Akutansi.FakturPembelian.print', ['faktur' => $faktur, 'items' => $items, 'status' => $status, 'jurnals' => $jurnals]);
 }