From 74ab85509bdac2ea383b55fbd3c02a885d31e6d8 Mon Sep 17 00:00:00 2001 From: unknown <736250432@qq.com> Date: Mon, 4 Sep 2023 10:18:49 +0800 Subject: [PATCH] update --- app/adminapi/logic/vehicle/VehicleLogic.php | 78 ++++++++++++--------- 1 file changed, 44 insertions(+), 34 deletions(-) diff --git a/app/adminapi/logic/vehicle/VehicleLogic.php b/app/adminapi/logic/vehicle/VehicleLogic.php index a7f6957a..d77f20a3 100644 --- a/app/adminapi/logic/vehicle/VehicleLogic.php +++ b/app/adminapi/logic/vehicle/VehicleLogic.php @@ -107,7 +107,10 @@ class VehicleLogic extends BaseLogic //获取车辆状态 $carStatus = (new GpsLogic()) -> status($gpsCarInfo['data']['carId']); if($carStatus && $gpsCarHistory['code']==1){ - $gpsCarHistoryData[] = ['lat'=>$carStatus['data']['carStatus']['latc'],'lon'=>$carStatus['data']['carStatus']['lonc']]; + if(isset($carStatus['carStatus'])){ + $gpsCarHistoryData[] = ['lat'=>$carStatus['data']['carStatus']['latc'],'lon'=>$carStatus['data']['carStatus']['lonc']]; + } + } } $data['track_info'] = $gpsCarHistory&&$gpsCarHistory['code']==1 ? $gpsCarHistoryData : []; @@ -144,43 +147,50 @@ class VehicleLogic extends BaseLogic } public static function vehicleLogisticLists($params){ + $pageNo = isset($params['page_no']) ? $params['page_no'] : 1; + $pageSize = isset($params['page_size']) ? $params['page_size'] : 15; $info = Vehicle::field('id,license,status,type')->findOrEmpty($params['id'])->toArray(); $rent = VehicleRent::field('use_user_id,use_user_name,use_user_phone')->where('car_id',$info['id'])->findOrEmpty()->toArray(); $data = array_merge($info,$rent); - $data['total_package'] = Logistics::field('order_id')->where('courier_id',$data['use_user_id'])->where('status',1)->count(); - $goodsTotal = 0; - Logistics::field('order_id')->where('courier_id',$data['use_user_id'])->where('status',1)->select()->each(function($item)use(&$goodsTotal){ - $count = 0; - Product::field('product_num,cart_info')->where('order_id', $item['order_id'])->select()->each(function($pro_item)use(&$count){ - $pro_item['cart_info'] = json_decode($pro_item['cart_info'], true); - $pro_item['goods_name'] = $pro_item['cart_info']['product']['store_name']; - $pro_item['goods_unit'] = $pro_item['cart_info']['product']['unit_name']; - $count += $pro_item['product_num']; - unset($pro_item['cart_info']); - })->toArray(); - $case['count'] = $count; - $goodsTotal += $case['count']; - }); - $data['total_goods'] = $goodsTotal; - $pageNo = isset($params['page_no']) ? $params['page_no'] : 1; - $pageSize = isset($params['page_size']) ? $params['page_size'] : 15; - //获取物流信息 - $logistic = Logistics::field('order_id,order_sn,shop_name,user_name,receiver_address,qh_time,ps_time')->where('courier_id',$data['use_user_id'])->where('status',1)->page($pageNo,$pageSize)->order('qh_time desc')->select()->each(function($item){ - $qhTime = !empty($item['qh_time']) ? strtotime($item['qh_time']) : time(); - $diffTime = timeDiff($qhTime,time()); - $item['diff_time'] = $diffTime['day'].'天'.$diffTime['hour'].'小时'.$diffTime['min'].'分钟'.$diffTime['sec'].'秒'; - $product_count = 0; - //获取产品信息 - $item['products'] = Product::field('product_num,cart_info')->where('order_id', $item['order_id'])->select()->each(function($pro_item) use(&$product_count){ - $pro_item['cart_info'] = json_decode($pro_item['cart_info'], true); - $pro_item['goods_name'] = $pro_item['cart_info']['product']['store_name']; - $pro_item['goods_unit'] = $pro_item['cart_info']['product']['unit_name']; - $product_count += $pro_item['product_num']; - unset($pro_item['cart_info']); - return $pro_item; + if(!empty($rent)){ + $data['total_package'] = Logistics::field('order_id')->where('courier_id',$data['use_user_id'])->where('status',1)->count(); + $goodsTotal = 0; + Logistics::field('order_id')->where('courier_id',$data['use_user_id'])->where('status',1)->select()->each(function($item)use(&$goodsTotal){ + $count = 0; + Product::field('product_num,cart_info')->where('order_id', $item['order_id'])->select()->each(function($pro_item)use(&$count){ + $pro_item['cart_info'] = json_decode($pro_item['cart_info'], true); + $pro_item['goods_name'] = $pro_item['cart_info']['product']['store_name']; + $pro_item['goods_unit'] = $pro_item['cart_info']['product']['unit_name']; + $count += $pro_item['product_num']; + unset($pro_item['cart_info']); + })->toArray(); + $case['count'] = $count; + $goodsTotal += $case['count']; }); - $item['product_count'] = $product_count; - })->toArray(); + $data['total_goods'] = $goodsTotal; + //获取物流信息 + $logistic = Logistics::field('order_id,order_sn,shop_name,user_name,receiver_address,qh_time,ps_time')->where('courier_id',$data['use_user_id'])->where('status',1)->page($pageNo,$pageSize)->order('qh_time desc')->select()->each(function($item){ + $qhTime = !empty($item['qh_time']) ? strtotime($item['qh_time']) : time(); + $diffTime = timeDiff($qhTime,time()); + $item['diff_time'] = $diffTime['day'].'天'.$diffTime['hour'].'小时'.$diffTime['min'].'分钟'.$diffTime['sec'].'秒'; + $product_count = 0; + //获取产品信息 + $item['products'] = Product::field('product_num,cart_info')->where('order_id', $item['order_id'])->select()->each(function($pro_item) use(&$product_count){ + $pro_item['cart_info'] = json_decode($pro_item['cart_info'], true); + $pro_item['goods_name'] = $pro_item['cart_info']['product']['store_name']; + $pro_item['goods_unit'] = $pro_item['cart_info']['product']['unit_name']; + $product_count += $pro_item['product_num']; + unset($pro_item['cart_info']); + return $pro_item; + }); + $item['product_count'] = $product_count; + })->toArray(); + }else{ + $data['total_package'] = []; + $data['total_goods'] = []; + $logistic = []; + } + return ['basic'=>$data,'lists'=>$logistic,'count'=>$data['total_package'],'page_no'=>$pageNo,'page_size'=>$pageSize]; }