Example #1
0
 public function deliveryOrder($returpener_id)
 {
     $get = DoReturpener::where('returpener_id', $returpener_id);
     if ($get->count() == 0) {
         if (DoReturpener::count() == 0) {
             $numb = '001/JIU/' . romawi()[date('n')] . '/' . date('Y');
         } else {
             $last = DoReturpener::orderBy('dorp_id', 'DESC')->take(1)->pluck('dorp_no');
             $path = explode('/', $last);
             $preffix = '';
             $path[0]++;
             for ($x = 0; $x < 3 - strlen($path[0]); $x++) {
                 $preffix .= '0';
             }
             $numb = $preffix . $path[0] . '/JIU/' . romawi()[date('n')] . '/' . date('Y');
         }
         DoReturpener::create(['returpener_id' => $returpener_id, 'dorp_no' => $numb]);
     } else {
         $row = $get->first();
         $numb = $row->dorp_no;
     }
     #Update status to 'DO has been created'
     $get = Returpener::find($returpener_id);
     $get->returpener_status = 6;
     $get->save();
     #End
     #Reduce material's stock
     $mats = Returpeners::getMatData($returpener_id);
     foreach ($mats as $mat) {
         if ($mat->returpeners_is_reduced == 2) {
             #Reducing stock...
             $eachMat = Material::find($mat->mat_id);
             $eachMat->mat_stock_akhir = $eachMat->mat_stock_akhir - $mat->returpeners_jml;
             $eachMat->save();
             #End
             #Update is_reduced field
             $each = Returpeners::find($mat->returpeners_id);
             $each->returpeners_is_reduced = 1;
             $each->save();
             #End
         }
     }
     #End
     $data = ['asset' => new Assets(), 'title' => 'Print Retur Delivery Order', 'head' => Returpener::fetchHead($returpener_id), 'sub' => Returpeners::fetch($returpener_id), 'numb' => $numb];
     return view('printing.do', $data);
 }
Example #2
0
 public function acceptanceReturAcceptanceStore(Request $req)
 {
     $parentData = ['returpener_id' => $req->input('returpener_id'), 'peneretur_date' => $req->input('peneretur_date'), 'userid_input' => $this->_user->hak_akses, 'qa_check' => 1, 'visibility' => 1];
     $parent = Peneretur::create($parentData);
     foreach ($_POST['returpeners_id'] as $returpeners_id) {
         if (!empty($_POST['penereturs_jml_' . $returpeners_id])) {
             $vals = ['peneretur_id' => $parent->peneretur_id, 'returpeners_id' => $returpeners_id, 'penereturs_jml' => $_POST['penereturs_jml_' . $returpeners_id]];
             Penereturs::create($vals);
             if (!empty($_POST['mat_id_' . $returpeners_id])) {
                 $mat = MatModel::find($_POST['mat_id_' . $returpeners_id]);
                 $mat->mat_stock_akhir = $mat->mat_stock_akhir + $_POST['penereturs_jml_' . $returpeners_id];
                 $mat->save();
             }
         }
     }
     #Checking for update is_closed
     $sub = Returpeners::fetch($req->input('returpener_id'));
     $el = array();
     foreach ($sub as $row) {
         $diterima = countReturDiterima($row->returpeners_id);
         $rest = $row->returpeners_jml - $diterima;
         if ($rest > 0) {
             array_push($el, 'open');
         }
     }
     if (!in_array('open', $el)) {
         $get = Returpener::find($req->input('returpener_id'));
         $get->is_closed = 1;
         $get->save();
     }
     #End of checking
     Session::flash('inserted', '<div class="info success">Penerimaan Returan Material telah diinput.</div>');
     return redirect('material/acceptance/retur/acceptance');
 }