add 首页 镇地图统计信息接口,第二页 物流信息统计接口

This commit is contained in:
chenbo 2023-12-04 18:42:46 +08:00
parent b7491efc4a
commit a18877ec46
3 changed files with 52 additions and 0 deletions

View File

@ -83,4 +83,37 @@ class Logistics extends BaseController
$detail['status'] = app()->make(Order::class)->getStatusDesc($detail['status']);
return app('json')->success($detail);
}
// 第二页 物流信息统计
public function logisticsCount()
{
// 查询镇辖区内配送订单最多的配送员
// 先从供销系统 查出镇下边的所有配送员-小组服务公司的负责人
$serviceGroupCompanyIds = Db::connect('work_task')->name('company')
->where(['street'=> $this->streetCode, 'company_type'=>18])
->column('id');
$userIdList = Db::connect('work_task')->name('user')
->whereIn('company_id', $serviceGroupCompanyIds)
->where(['group_id'=>5])
->column('id');
// 从物流系统 查物流订单排序 确定谁是 镇辖区内配送订单最多的配送员
$topCourier = Db::connect('logistics')->name('logistics')
->field(['courier_id','courier_name','COUNT(order_id) AS order_count'])
->whereIn('courier_id', $userIdList)
->group('courier_id')
->order('order_count DESC')
->find();
// 返查配送员的物流配送订单统计信息
// 待取货数
$topCourier['pending_order_count'] = Db::connect('logistics')->name('logistics')->where(['status'=>0, 'courier_id'=>$topCourier['courier_id']])->count();
// 配送中数
$topCourier['delivering_order_count'] = Db::connect('logistics')->name('logistics')->where(['status'=>1, 'courier_id'=>$topCourier['courier_id']])->count();
// 已完成数
$topCourier['finished_order_count'] = Db::connect('logistics')->name('logistics')->where([['status', 'in', [2,3]], 'courier_id'=>$topCourier['courier_id']])->count();
return app('json')->success($topCourier);
}
}

View File

@ -169,6 +169,7 @@ class Order extends BaseController
return $desc[$status];
}
// 配送商品排行榜
public function deliveredProductRanking()
{
// 查到镇级
@ -198,4 +199,19 @@ class Order extends BaseController
return app('json')->success($list);
}
// 首页 镇地图统计信息
public function townMapCount()
{
$townList = Db::connect('work_task')->name('geo_street')->field('street_name, street_code, lng, lat')->where('area_code', $this->areaCode)->select()->toArray();
foreach ($townList as &$town) {
// 店铺数
$town['mer_count'] = Db::name('merchant')->where('street_id', $town['street_code'])->count();
// 小组服务团队数
$town['service_group_count'] = Db::connect('work_task')->name('company')->where(['street'=> $town['street_code'], 'company_type'=>18])->count();
}
unset($town);
return app('json')->success(compact('townList'));
}
}

View File

@ -720,8 +720,11 @@ Route::group('api/', function () {
Route::get('curr_order_info', 'Order/currOrderInfo');
Route::get('order_ranking', 'Order/orderRanking');
Route::get('delivered_product_ranking', 'Order/deliveredProductRanking');
Route::get('town_map_count', 'Order/townMapCount');
Route::get('vehicle_list', 'Logistics/vehicleList');
Route::get('latest_logistics', 'Logistics/latestLogistics');
Route::get('logistics_count', 'Logistics/logisticsCount');
})->prefix('api.dataview.');
})->middleware(AllowOriginMiddleware::class)