/** * Execute the job. * * @return void */ public function handle() { try { \DB::begintransaction(); $me = \Me::data()->id_karyawan; $retur = data_retur::create(['tipe' => 2, 'id_po' => $this->req['id_po'], 'id_vendor' => $this->req['id_vendor'], 'id_karyawan' => $me]); data_po::find($this->req['id_po'])->update(['status' => 2]); foreach ($this->req['id_barang'] as $i => $id_barang) { if (!empty($this->req['qty'][$i])) { data_retur_item::create(['id_retur' => $retur->id_retur, 'id_barang' => $id_barang, 'id_satuan' => $this->req['id_satuan'][$i], 'qty' => $this->req['qty'][$i], 'qty_lg' => $this->req['qty'][$i]]); // Log Stok data_log_barang::create(['id_barang' => $id_barang, 'qty' => $this->req['qty'][$i], 'id_gudang' => 0, 'kondisi' => 2, 'tipe' => 5, 'id_parent' => $retur->id_retur, 'id_karyawan' => $me]); // Update stok $barang = data_barang::find($id_barang); $barang->out = $barang->out + $this->req['qty'][$i]; $barang->save(); // Update data PO items $itm = data_po_item::where('id_po', $this->req['id_po'])->where('id_item', $id_barang)->first(); $qpo = $itm->qty + $this->req['qty'][$i]; data_po_item::where('id_po', $this->req['id_po'])->where('id_item', $id_barang)->update(['qty' => $qpo, 'status' => 1]); } } $format = 'EX-RTN-'; $kode = $format . \Format::code($retur->id_retur); $retur->no_retur = $kode; $retur->save(); \Loguser::create('Membuat Retur Pembelian dengan No. ' . $kode); \DB::commit(); return ['result' => true, 'label' => 'success', 'err' => 'Return Pembelian berhasil dibuat dengan No. ' . $kode]; } catch (\Exception $e) { \DB::rollback(); return ['result' => false, 'label' => 'danger', 'err' => $e->getMessage()]; } }
/** * Execute the job. * * @return void */ public function handle() { try { \DB::begintransaction(); $me = \Me::data()->id_karyawan; $retur = data_retur::create(['tipe' => 1, 'id_gudang_asal' => $this->req['id_gudang'], 'id_karyawan' => $me]); foreach ($this->req['id_barang'] as $i => $id_barang) { if (!empty($this->req['qty'][$i])) { data_retur_item::create(['id_retur' => $retur->id_retur, 'id_barang' => $id_barang, 'id_satuan' => $this->req['id_satuan'][$i], 'qty' => $this->req['qty'][$i], 'qty_lg' => $this->req['qty'][$i]]); // Log Stok data_log_barang::create(['id_barang' => $id_barang, 'qty' => $this->req['qty'][$i], 'id_gudang' => 0, 'kondisi' => 1, 'tipe' => 4, 'id_parent' => $retur->id_retur, 'id_karyawan' => $me]); // Log Stok data_log_barang::create(['id_barang' => $id_barang, 'qty' => $this->req['qty'][$i], 'id_gudang' => $this->req['id_gudang'], 'kondisi' => 2, 'tipe' => 4, 'id_parent' => $retur->id_retur, 'id_karyawan' => $me]); // Update stok Gudang besat $barang = data_barang::find($id_barang); $barang->in = $barang->in + $this->req['qty'][$i]; $barang->save(); // Update Stok sub gudang $gudang = data_item_gudang::where('id_barang', $id_barang)->where('id_gudang', $this->req['id_gudang'])->first(); $gd = data_item_gudang::find($gudang->id_item_gudang); $gd->out = $gudang->out + $this->req['qty'][$i]; $gd->save(); } } $format = 'IN-RTN-'; $kode = $format . \Format::code($retur->id_retur); $retur->no_retur = $kode; $retur->save(); \Loguser::create('Membuat Retur Gudang dengan No. ' . $kode); \DB::commit(); return ['result' => true, 'label' => 'success', 'err' => 'Return Gudang berhasil dibuat dengan No. ' . $kode]; } catch (\Exception $e) { \DB::rollback(); return ['result' => false, 'label' => 'danger', 'err' => $e->getMessage()]; } }
public function getAllretur(Request $req) { if ($req->ajax()) { $res = []; $out = ''; $items = data_retur::forvendor($req->id, $req->all())->paginate($req->limit); if ($items->total() > 0) { $no = $items->currentPage() == 1 ? 1 : $items->perPage() * $items->currentPage() - $items->perPage() + 1; foreach ($items as $item) { $out .= ' <tr> <td>' . $no . '</td> <td>' . $item->no_retur . '</td> <td>' . $item->no_po . '</td> <td> </td> <td> ' . \Format::indoDate2($item->created_at) . '<br /> <small class="text-muted">' . \Format::hari($item->created_at) . ', ' . \Format::jam($item->created_at) . '</small> </td> <td> <a class="btn btn-white" href="' . url('returvendor/print/' . $item->id_retur) . '" target="_blank"><i class="fa fa-print"></i></a> </td> </tr> '; $no++; } } else { $out = ' <tr> <td colspan="5">Tidak ditemukan!</td> </tr> '; } $res['content'] = $out; $res['pagin'] = $items->render(); return json_encode($res); } }
public function getPrintexcel(Request $req) { $kd_barang = data_barang::where('id_barang', $req->barang)->select('kode')->first(); $gudang = ref_gudang::find($req->gudang); \Excel::create('Kartu_Stok_' . str_replace('-', '_', str_slug($gudang->nm_gudang)) . '_' . $kd_barang->kode . '_' . date('d_F_Y'), function ($excel) use($req) { if ($req->barang == 0) { return redirect()->back()->withNotif(['label' => 'danger', 'err' => 'Item tidak ditemukan!']); } $items = []; // Data Barang $barang = data_item_gudang::join('data_barang', 'data_barang.id_barang', '=', 'data_item_gudang.id_barang')->join('ref_satuan', 'ref_satuan.id_satuan', '=', 'data_barang.id_satuan')->where('data_item_gudang.status', 1)->where('data_item_gudang.id_gudang', $req->gudang)->where('data_item_gudang.id_barang', $req->barang)->where('data_barang.tipe', $req->tipe)->select('data_barang.nm_barang', 'data_barang.kode', 'data_item_gudang.in', 'data_item_gudang.out', 'ref_satuan.nm_satuan')->first(); if ($barang == null) { return redirect()->back()->withNotif(['label' => 'danger', 'err' => 'Item tidak ditemukan!']); } //Sisa per priode $sisapriode = data_log_barang::sisapriode($req->all())->get(); //dd($sisapriode); $sisa = 0; foreach ($sisapriode as $sp) { if ($sp->kondisi == 1) { $sisa += $sp->qty; } else { $sisa -= $sp->qty; } } $lastsisa = $sisa; // Log stok $logs = data_log_barang::kartostokbyitem($req->all())->get(); foreach ($logs as $item) { if ($item->tipe == 1) { $parent = data_skb::find($item->id_parent); } else { if ($item->tipe == 2) { //$parent = data_spbm::find($item->id_parent); $parent = data_spbm::join('data_spbm_item', 'data_spbm_item.id_spbm', '=', 'data_spbm.id_spbm')->where('data_spbm_item.id_barang', $req->barang)->where('data_spbm.id_spbm', $item->id_parent)->select('data_spbm.*', 'data_spbm_item.tgl_exp')->first(); } else { if ($item->tipe == 3) { $parent = data_penyesuaian_stok::find($item->id_parent); } else { if ($item->tipe == 4) { $parent = data_retur::find($item->id_parent); } else { if ($item->tipe == 5) { $parent = data_retur::find($item->id_parent); } } } } } if ($item->kondisi == 1) { $lastsisa += $item->qty; } else { $lastsisa -= $item->qty; } $items[] = ['tipe' => $item->tipe, 'parent' => $parent, 'kondisi' => $item->kondisi, 'qty' => $item->qty, 'sisa' => $lastsisa, 'oleh' => $item->nm_depan . ' ' . $item->nm_belakang]; } $jenis = [1 => 'SKB', 2 => 'Good Receive', 3 => 'Penyesuaian', 4 => 'Retur Gudang', 5 => 'Retur Pembelian']; // Parameters $params = ''; foreach ($req->all() as $par => $val) { if ($par != '_token') { $params .= $par . '=' . $val . '&'; } } $param = rtrim($params, '&'); $gudang = ref_gudang::find($req->gudang); $data = ['barang' => $barang, 'items' => $items, 'req' => $req, 'jenis' => $jenis, 'param' => $params, 'gudang' => $gudang]; $excel->sheet('New sheet', function ($sheet) use($data) { $sheet->loadView('Print.Pengadaan.SubGudang.Excel', $data); }); })->export('xlsx'); }
public function getPrint($id) { if (empty($id) || !is_numeric($id)) { return redirect('/returgudang')->withNotif(['label' => 'danger', 'err' => 'Tidak ditemukan!']); } $retur = data_retur::join('ref_gudang', 'ref_gudang.id_gudang', '=', 'data_retur.id_gudang_asal')->where('id_retur', $id)->first(); $items = data_retur_item::join('data_barang', 'data_retur_item.id_barang', '=', 'data_barang.id_barang')->join('ref_satuan', 'ref_satuan.id_satuan', '=', 'data_retur_item.id_satuan')->where('data_retur_item.id_retur', $id)->get(); return view('Print.Pengadaan.Retur.printRetur', ['retur' => $retur, 'items' => $items]); }
public function getPrintpdf(Request $req) { $day = \Format::selisih_hari($req->dari, $req->sampai); if ($day > 31) { return redirect()->back()->withNotif(['label' => 'danger', 'err' => 'Pencarian tidak boleh lebih dari 30 hari!']); } if ($req->barang == 0) { return redirect()->back()->withNotif(['label' => 'danger', 'err' => 'Item tidak ditemukan!']); } $items = []; // Data Barang $barang = data_barang::join('ref_satuan', 'ref_satuan.id_satuan', '=', 'data_barang.id_satuan')->where('id_barang', $req->barang)->select('data_barang.*', 'ref_satuan.nm_satuan')->first(); //Sisa per priode $sisapriode = data_log_barang::sisapriode($req->all())->get(); //dd($sisapriode); $sisa = 0; foreach ($sisapriode as $sp) { if ($sp->kondisi == 1) { $sisa += $sp->qty; } else { $sisa -= $sp->qty; } } $lastsisa = $barang->stok_awal + $sisa; $aftersisa = $lastsisa; // Log stok $logs = data_log_barang::kartostokbyitem($req->all())->get(); foreach ($logs as $item) { if ($item->tipe == 1) { $parent = data_skb::find($item->id_parent); } else { if ($item->tipe == 2) { $parent = data_spbm::find($item->id_parent); } else { if ($item->tipe == 3) { $parent = data_penyesuaian_stok::find($item->id_parent); } else { if ($item->tipe == 4) { $parent = data_retur::find($item->id_parent); } else { if ($item->tipe == 5) { $parent = data_retur::find($item->id_parent); } } } } } if ($item->kondisi == 1) { $lastsisa += $item->qty; } else { $lastsisa -= $item->qty; } $items[] = ['tipe' => $item->tipe, 'parent' => $parent, 'kondisi' => $item->kondisi, 'qty' => $item->qty, 'sisa' => $lastsisa, 'oleh' => $item->nm_depan . ' ' . $item->nm_belakang]; } $jenis = [1 => 'SKB', 2 => 'Good Receive', 3 => 'Penyesuaian', 4 => 'Retur Gudang', 5 => 'Retur Pembelian']; $r = array('barang' => $barang, 'items' => $items, 'req' => $req, 'lastsisa' => $aftersisa, 'jenis' => $jenis); $pdf = PDF::loadView('Print.Pengadaan.KartuStok.pdfKS', $r); return $pdf->stream(); //$file = 'KartuStok-'.date('Y-m-d').'.pdf'; //return $pdf->download($file); }