This commit is contained in:
unknown 2023-09-04 10:18:49 +08:00
parent 16fe469711
commit 74ab85509b

View File

@ -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];
}