public function postLast() { $in = Input::get(); $orderid = trim($in['orderId']); $orderff = trim($in['orderFf']); $delivery_id = trim($in['delivery_id']); if (isset($in['delivery_id'])) { $order = Shipment::where('fulfillment_code', '=', $orderff)->where('no_sales_order', '=', $orderid)->where('delivery_id', '=', $delivery_id)->orderBy('pick_up_date', 'desc')->first(); } else { $order = Shipment::where('fulfillment_code', '=', $orderff)->where('no_sales_order', '=', $orderid)->orderBy('pick_up_date', 'desc')->first(); } $statuses = array(); if ($order) { if ($order->logistic_type == 'external') { $conf = Config::get('cs.' . $order->consignee_olshop_cust); if (!isset($conf['status'])) { $conf = Config::get('cs.default'); } $mdl = Threeplstatuses::where($conf['awb'], '=', strval($order->{$conf['order_awb']}))->where(function ($q) use($order) { $q->where('consignee_olshop_cust', '=', strval($order->consignee_olshop_cust))->orWhere('consignee_logistic_id', '=', strval($order->consignee_olshop_cust)); }); if (count($conf['group']) > 0) { foreach ($conf['group'] as $g) { $mdl = $mdl->groupBy($g); } } $mdl = $mdl->orderBy($conf['order'], 'desc'); if ($conf['status'] == 'single') { //$statuses = $mdl->take(1)->timeout(-1)->get(); $statuses = $mdl->timeout(-1)->first(); } else { if (count($conf['get']) > 0) { $statuses = $mdl->timeout(-1)->get($conf['get']); } else { $statuses = $mdl->timeout(-1)->get(); } } if ($statuses) { $statuses = $statuses->toArray(); } else { $statuses = array(); } //print_r($statuses); } $order->picList = $this->picList($order); } return View::make('cs.lastdetail')->with('order', $order)->with('status', $statuses)->render(); }
private function saveStatus($log, $logistic_name, $logistic_cust_code) { //SAP use individual AWB request $statuses = $log['shipment']['statuses']; if (is_array($statuses)) { foreach ($statuses as $stat) { $st = Threeplstatuses::where('consignee_olshop_cust', '=', $logistic_cust_code)->where('awb', '=', $log['shipment']['code'])->where('datetime', $stat['datetime'])->first(); if ($st) { } else { if (isset($stat['datetime'])) { $stat['ts'] = new MongoDate(strtotime($stat['datetime'])); } else { $stat['ts'] = new MongoDate(); } $stat['raw'] = 0; $stat['awb'] = $log['shipment']['code']; $stat['consignee_logistic_id'] = $logistic_name; $stat['consignee_olshop_cust'] = $logistic_cust_code; Threeplstatuses::insert($stat); } } } $stat = $log['shipment']; if (isset($stat['datetime'])) { $stat['ts'] = new MongoDate(strtotime($stat['datetime'])); } else { $stat['ts'] = new MongoDate(); } //$stat['raw'] = 1; //$stat['awb'] = $log['shipment']['code']; //$stat['consignee_logistic_id'] = $logistic_name; //$stat['consignee_olshop_cust'] = $logistic_cust_code; //Threeplstatuses::insert($stat); //$stat['timestamp'] = new \MongoDate(); //Threeplstatuslog::insert($stat); }