Пример #1
0
 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();
 }
Пример #2
0
 private function saveStatus($log, $logistic_name, $logistic_cust_code)
 {
     $log = $log->all();
     if (is_array($log) && count($log) > 0) {
         foreach ($log as $l) {
             if (isset($l['timestamp'])) {
                 $l['ts'] = new \MongoDate(strtotime($l['timestamp']));
             } else {
                 $l['ts'] = new \MongoDate();
             }
             $l['consignee_logistic_id'] = $logistic_name;
             $l['consignee_olshop_cust'] = $logistic_cust_code;
             \Threeplstatuses::insert($l);
         }
     }
 }
Пример #3
0
 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);
 }
Пример #4
0
 private function saveStatus($log, $logistic_name, $logistic_cust_code)
 {
     //SAP use individual AWB request
     if (is_array($log) && count($log) > 0) {
         $l = $log;
         if (isset($l['laststatus']['time'])) {
             $l['ts'] = new MongoDate(strtotime($l['laststatus']['time']));
         } else {
             $l['ts'] = new MongoDate();
         }
         $l['consignee_logistic_id'] = $logistic_name;
         $l['consignee_olshop_cust'] = $logistic_cust_code;
         Threeplstatuses::insert($l);
     }
 }
Пример #5
0
 private function saveStatusSingle($l, $logistic_name, $logistic_cust_code)
 {
     if (isset($l['timestamp'])) {
         $l['ts'] = new \MongoDate(strtotime($l['timestamp']));
     } else {
         $l['ts'] = new \MongoDate();
     }
     $l['consignee_logistic_id'] = $logistic_name;
     $l['consignee_olshop_cust'] = $logistic_cust_code;
     \Threeplstatuses::insert($l);
 }
Пример #6
0
 private function saveStatus($log, $logistic_name, $logistic_cust_code)
 {
     if (is_array($log) && count($log) > 0) {
         foreach ($log as $l) {
             if (isset($l['time'])) {
                 $l['ts'] = new MongoDate(strtotime($l['time']));
             } else {
                 $l['ts'] = new MongoDate();
             }
             $l['consignee_logistic_id'] = $logistic_name;
             $l['consignee_olshop_cust'] = $logistic_cust_code;
             if ($l['status'] == 'AWB TIDAK DITEMUKAN') {
                 Threeplstatuserror::insert($l);
             } else {
                 Threeplstatuses::insert($l);
             }
         }
     }
 }
Пример #7
0
 private function saveStatus($log, $logistic_name, $logistic_cust_code)
 {
     /*
     Array
     (
         [result_code] => 1
         [result_description] => success
         [data] => Array
             (
                 [order_no] => 2240
                 [order_date] => 2015-02-27 09:19:37
                 [service_name] => SAME DAY SERVICE
                 [status_code] => 3
                 [status_description] => Terkirim
                 [pickup_date] => 2015-02-27 00:00:00
                 [delivered_date] => 2015-02-27 12:45:00
                 [pickup_name] => Ibu Mei
                 [pickup_addess] => RS Siloam Hospital Kebon Jeruk, Lt. 1 Medical Checkup, Jl. Raya Perjuangan Kav. 8 Kebon Jeruk  Jakarta Barat DKI Jakarta  No. Ponsel: 085713331787 No. Kantor/Rumah: 02153695676
                 [destionation_name] => Ibu Stiyati
                 [destionation_addess] => AIA Financial Menara Falma Lt. 18, Jl. HR Rasuna Said Blok X-2 Kav. 6   Jakarta Selatan DKI Jakarta  No. Ponsel:  No. Kantor/Rumah:
                 [recipient_name] => bayu
                 [kurir_name] => Fachrul
                 [kurir_longitude] =>
                 [kurir_latitude] =>
                 [last_update] => 2015-02-27 12:45:00
             )
     
     )
     */
     $status = $log['data'];
     /*
     $st = Threeplstatuses::where('consignee_olshop_cust','=',$logistic_cust_code)
             ->where('awb','=',$status['order_no'])
             ->where('datetime',$status['last_update'])
             ->first();
     */
     //if($st){
     //}else{
     if (isset($status['last_update'])) {
         $status['ts'] = new MongoDate(strtotime($status['last_update']));
     } else {
         $status['ts'] = new MongoDate();
     }
     $status['result_code'] = $log['result_code'];
     $status['result_description'] = $log['result_description'];
     $status['awb'] = $status['order_no'];
     $status['consignee_logistic_id'] = $logistic_name;
     $status['consignee_olshop_cust'] = $logistic_cust_code;
     Threeplstatuses::insert($status);
     //}
 }
Пример #8
0
 private function saveStatus($log, $logistic_name, $logistic_cust_code)
 {
     if (is_array($log) && count($log) > 0) {
         foreach ($log as $l) {
             $l->ts = new MongoDate(strtotime($l->timestamp));
             $l->consignee_logistic_id = $logistic_name;
             $l->consignee_olshop_cust = $logistic_cust_code;
             $al = array();
             foreach ($l as $k => $vl) {
                 $al[$k] = $vl;
             }
             Threeplstatuses::insert($al);
             foreach ($l->pod as $p) {
                 $p->ts = new MongoDate(strtotime($l->timestamp));
                 $p->consignee_logistic_id = $logistic_name;
                 $p->consignee_olshop_cust = $logistic_cust_code;
                 $p->awb = $l->awb;
                 $pl = array();
                 foreach ($p as $pk => $pv) {
                     $pl[$pk] = $pv;
                 }
                 Threeplpictures::insert($pl);
             }
         }
     }
 }