Example #1
0
 /**
  * Get Invoice Info
  *
  * @param \Illuminate\Database\Eloquent\Model
  * @return array $data
  */
 protected function _getInvoiceInfo($orderPayments)
 {
     $data = [];
     foreach ($orderPayments as $payment) {
         $temp = (array) $payment;
         // get user info
         $temp['user_info'] = \User::find($payment->user_id);
         /**
          ** Menentukan date invoice used, expired date dan expired on dengan Carbon
          */
         // get date of invoice used
         if ($payment->used_start == null) {
             if ($payment->pickup_date == null) {
                 $temp['date_invoice_used'] = $payment->delivery_date;
             } else {
                 $temp['date_invoice_used'] = $payment->pickup_date;
             }
         } else {
             $temp['date_invoice_used'] = $payment->used_start;
         }
         // get expired date of invoice
         $temp['expired_date'] = \Carbon\Carbon::parse($temp['date_invoice_used'])->addDays(31);
         // get interval day to expired date
         $now = \Carbon\Carbon::parse(date('Y-m-d'));
         $temp['expired_on'] = \Carbon\Carbon::parse($temp['expired_date'])->diffInDays($now, false);
         // get stuff invoice
         $temp['stuff'] = \OrderStuff::where('order_id', $payment->order_id)->whereNull('return_schedule_id')->select(['type', \DB::raw("COUNT(*) jumlah"), \DB::raw("if(type = 'box','" . \Config::get('thankspace.box.price') . "','" . \Config::get('thankspace.item.price') . "') price"), \DB::raw("(COUNT(*) * if(type = 'box','" . \Config::get('thankspace.box.price') . "','" . \Config::get('thankspace.item.price') . "')) subtotal"), \DB::raw("GROUP_CONCAT(description SEPARATOR ',') barang "), \DB::raw("GROUP_CONCAT(id SEPARATOR ',') ids ")])->groupBy('type')->get()->toArray();
         // set input for new invoice
         $temp['new_invoice_input'] = ['payment_reff' => $payment->invoice_code, 'used_start' => $temp['expired_date']->format('Y-m-d')];
         foreach ($temp['stuff'] as $val) {
             $type = $val['type'];
             $temp['new_invoice_input'][$type] = $val['jumlah'];
         }
         // new invoice
         $temp['new_invoice'] = null;
         if ($temp['next_invoice'] != null) {
             $temp['new_invoice'] = \OrderPayment::where('code', $temp['next_invoice'])->first();
         }
         // push to array for return data
         array_push($data, $temp);
     }
     return $data;
 }
Example #2
0
 public function storageUpdate()
 {
     $stuff = Input::get('stuff');
     foreach ($stuff as $key => $value) {
         $orderStuff = \OrderStuff::find($value['id']);
         $orderStuff->fill($value)->save();
     }
     return Redirect::route('user.dashboard');
 }
Example #3
0
 /**
  * Get order stuff
  *
  * @param  integer $id
  * @return \Illuminate\Database\Eloquent\Model
  */
 public function getStorageStuff($order_id)
 {
     return \OrderStuff::where('order_id', $order_id)->get();
 }