Esempio n. 1
0
 /**
  * Execute the job.
  *
  * @return void
  */
 public function handle()
 {
     try {
         \DB::begintransaction();
         if ($this->req['id'] < 1) {
             $group = data_sph_grup::create(['id_pembuat' => \Me::data()->id_karyawan]);
         } else {
             $group = data_sph_grup::find($this->req['id']);
             \Loguser::create('Menambahkan Pengajuan pada SPH No. ' . $group->no_sph);
         }
         $sph = data_sph::create(['id_sph_grup' => $group->id_sph_grup, 'id_vendor' => $this->req['vendor'], 'deadline' => $this->req['deadline'], 'id_pembuat' => \Me::data()->id_karyawan, 'id_acc' => 0, 'diskon' => $this->req['gdiskon'], 'ppn' => $this->req['gppn'], 'adjustment' => $this->req['adjustment'], 'keterangan' => $this->req['ket']]);
         foreach ($this->req['id_prq_item'] as $i => $id_prq_item) {
             data_sph_item::create(['id_sph' => $sph->id_sph, 'id_prq' => $this->req['id_prq'][$i], 'id_item' => $this->req['id_barang'][$i], 'qty' => $this->req['qty'][$i], 'harga' => $this->req['harga'][$i], 'diskon' => $this->req['diskon'][$i], 'keterangan' => $this->req['kets'][$i], 'id_satuan' => $this->req['satuan'][$i]]);
             data_prq::find($this->req['id_prq'][$i])->update(['status' => 2]);
         }
         if ($this->req['id'] < 1) {
             $format = 'G-SPH/';
             $group->no_sph = $format . \Format::code($group->id_sph_grup);
             $group->save();
             \Loguser::create('Membuat Surat Pengajuan Harga dengan No. ' . $group->no_sph);
         }
         $fo = 'SPH/';
         $sph->no_sph_item = $fo . \Format::code($sph->id_sph);
         $sph->save();
         \DB::commit();
         return ['status' => true, 'err' => $group];
     } catch (\Exception $e) {
         \DB::rollback();
         return ['status' => false, 'err' => $e->getMessage()];
     }
 }
Esempio n. 2
0
 /**
  * Execute the job.
  *
  * @return void
  */
 public function handle()
 {
     try {
         \DB::begintransaction();
         $sph = data_sph::find($this->id);
         $grup = data_sph_grup::whereId_sph_grup($sph->id_sph_grup)->select('status')->first();
         if ($grup->status == 2) {
             throw new \Exception("Maaf SPH No. " . $sph->no_sph_item . " sudah kadaluarsa!", 1);
         }
         $nsph = data_sph::create(['id_sph_grup' => $sph->id_sph_grup, 'id_vendor' => $sph->id_vendor, 'deadline' => $sph->deadline, 'id_pembuat' => \Me::data()->id_karyawan, 'id_acc' => $sph->id_acc, 'diskon' => $sph->diskon, 'ppn' => $sph->ppn, 'pph' => $sph->pph, 'adjustment' => $sph->adjustment]);
         $items = data_sph_item::whereId_sph($this->id)->get();
         foreach ($items as $item) {
             data_sph_item::create(['id_sph' => $nsph->id_sph, 'id_prq' => $item->id_prq, 'id_item' => $item->id_item, 'qty' => $item->qty, 'harga' => $item->harga, 'diskon' => $item->diskon, 'ppn' => $item->ppn, 'pph' => $item->pph, 'id_satuan' => $item->id_satuan]);
         }
         $fo = 'ISPH/';
         $nsph->no_sph_item = $fo . \Format::code($nsph->id_sph);
         $nsph->save();
         \Loguser::create('Menduplikasi data SPH dari No. ' . $sph->no_sph_item);
         \DB::commit();
         return ['err' => 'SPH berhasil di duplikasi dengan No. ' . $nsph->no_sph_item];
     } catch (\Exception $e) {
         \DB::rollback();
         return ['err' => $e->getMessage()];
     }
 }
Esempio n. 3
0
 /**
  * Execute the job.
  *
  * @return void
  */
 public function handle()
 {
     try {
         \DB::begintransaction();
         $sph = data_sph::find($this->req['id']);
         $grup = data_sph_grup::whereId_sph_grup($sph->id_sph_grup)->select('status')->first();
         if ($grup->status == 2) {
             throw new \Exception("Maaf SPH No. " . $sph->no_sph_item . " sudah kadaluarsa!", 1);
         }
         $sph->update(['id_vendor' => $this->req['vendor'], 'deadline' => $this->req['deadline'], 'diskon' => $this->req['gdiskon'], 'ppn' => $this->req['gppn'], 'adjustment' => $this->req['adjustment'], 'keterangan' => $this->req['ket']]);
         data_sph_item::whereId_sph($this->req['id'])->delete();
         foreach ($this->req['id_sph_item'] as $i => $id_sph_item) {
             data_sph_item::create(['id_sph' => $this->req['id'], 'id_prq' => $this->req['id_prq'][$i], 'id_item' => $this->req['id_barang'][$i], 'qty' => $this->req['qty'][$i], 'harga' => $this->req['harga'][$i], 'diskon' => $this->req['diskon'][$i], 'keterangan' => $this->req['kets'][$i], 'id_satuan' => $this->req['satuan'][$i]]);
         }
         \Loguser::create('Memperbaharui data SPH No. ' . $sph->no_sph_item);
         \DB::commit();
         return ['status' => true, 'err' => $sph];
     } catch (\Exception $e) {
         \DB::rollback();
         return ['status' => false, 'err' => $e->getMessage()];
     }
 }
Esempio n. 4
0
 /**
  * Execute the job.
  *
  * @return void
  */
 public function handle()
 {
     try {
         \DB::begintransaction();
         $me = \Me::data()->id_karyawan;
         $sph = data_sph::find($this->req['id_sph']);
         $grup = data_sph_grup::whereId_sph_grup($sph->id_sph_grup)->select('status')->first();
         if ($grup->status == 2) {
             throw new \Exception("Maaf SPH No. " . $sph->no_sph_item . " sudah kadaluarsa!", 1);
         }
         // Create PO
         $po = data_po::create(['id_sph' => $this->req['id_sph'], 'id_vendor' => $sph->id_vendor, 'deadline' => $sph->deadline, 'id_pembuat' => $me, 'id_acc' => 0, 'adjustment' => $sph->adjustment, 'diskon' => $sph->diskon, 'ppn' => $sph->ppn, 'keterangan' => $sph->keterangan]);
         $items = data_sph_item::whereId_sph($this->req['id_sph'])->get();
         foreach ($items as $item) {
             data_po_item::create(['id_po' => $po->id_po, 'id_item' => $item->id_item, 'req_qty' => $item->qty, 'qty' => $item->qty, 'harga' => $item->harga, 'diskon' => $item->diskon, 'ppn' => $item->ppn, 'pph' => $item->pph, 'keterangan' => $item->keterangan, 'id_satuan' => $item->id_satuan, 'id_prq' => $item->id_prq]);
             // update Harga
             data_barang::find($item->id_item)->update(['harga_beli' => $item->harga]);
             // Update Log harga
             data_harga::create(['id_barang' => $item->id_item, 'harga' => $item->harga, 'keterangan' => 'Update berdasarkan PO', 'id_po' => $po->id_po, 'id_karyawan' => $me, 'tipe' => 1]);
             data_prq_item::whereId_prq($item->id_prq)->whereId_barang($item->id_item)->update(['status' => 2]);
         }
         $format = 'PO-';
         $po->no_po = $format . \Format::code($po->id_po);
         $po->save();
         // Update data SPH Grup
         data_sph_grup::find($this->req['id_sph_grup'])->update(['status' => 2]);
         // Update data sph
         $sph->status = 2;
         $sph->save();
         \Loguser::create('Menjadikan SPH denga No. ' . $sph->no_sph . ' menjadi PO dengan No. ' . $po->no_po);
         \DB::commit();
         return ['err' => 'Po Berhail di buat dengan No. ' . $po->no_po];
     } catch (\Exception $e) {
         \DB::rollback();
         return ['err' => $e->getMessage()];
     }
 }
Esempio n. 5
0
 public function getPrint($id)
 {
     $items = data_sph_item::join('data_prq', 'data_prq.id_prq', '=', 'data_sph_item.id_prq')->join('data_barang', 'data_barang.id_barang', '=', 'data_sph_item.id_item')->join('ref_satuan', 'ref_satuan.id_satuan', '=', 'data_barang.id_satuan')->where('data_sph_item.id_sph', $id)->select('data_prq.no_prq', 'data_barang.nm_barang', 'data_barang.id_barang', 'data_barang.kode', 'data_barang.in', 'data_barang.out', 'data_sph_item.*', 'ref_satuan.nm_satuan')->get();
     $sph = data_sph::find($id);
     $vendor = data_vendor::find($sph->id_vendor);
     $grup = data_sph_grup::whereId_sph_grup($sph->id_sph_grup)->select('status')->first();
     /* Matematika */
     $subtotal = 0;
     foreach ($items as $item) {
         $subtotal += ($item->harga - $item->harga * $item->diskon / 100) * $item->qty;
     }
     $diskon = $subtotal * $sph->diskon / 100;
     $aftdiskon = $subtotal - $diskon;
     $ppn = $aftdiskon * $sph->ppn / 100;
     $pph = $aftdiskon * $sph->pph / 100;
     $grandtotal = $aftdiskon + $ppn + $pph + $sph->adjustment;
     $matematika = ['subtotal' => $subtotal, 'diskon' => $diskon, 'aftdiskon' => $aftdiskon, 'ppn' => $ppn, 'pph' => $pph, 'grandtotal' => $grandtotal];
     // Status SPH
     $status = $grup->status == 2 && $sph->status == 1 ? true : false;
     return view('Print.Pembelian.SPH.PrintSPH', ['items' => $items, 'sph' => $sph, 'vendor' => $vendor, 'mtk' => $matematika, 'status' => $status]);
 }