From 18276e85394cd900df1b7040b27e3c1c424b357d Mon Sep 17 00:00:00 2001 From: chenbo <709206448@qq.com> Date: Tue, 5 Dec 2023 16:21:29 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E7=AC=AC=E4=BA=8C=E9=A1=B5=E7=89=A9?= =?UTF-8?q?=E6=B5=81=E7=BB=9F=E8=AE=A1=E4=BF=A1=E6=81=AF=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E8=BF=98=E6=98=AF=E5=8A=A8=E6=80=81=E6=9F=A5=E8=AF=A2=E4=B9=A1?= =?UTF-8?q?=E9=95=87=E8=AE=A2=E5=8D=95=E6=9C=80=E5=A4=9A=E7=9A=84=E9=85=8D?= =?UTF-8?q?=E9=80=81=E5=91=98=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controller/api/dataview/Logistics.php | 33 +++++++++++++++++++---- 1 file changed, 28 insertions(+), 5 deletions(-) diff --git a/app/controller/api/dataview/Logistics.php b/app/controller/api/dataview/Logistics.php index 26bbdfa2..cdc173ee 100755 --- a/app/controller/api/dataview/Logistics.php +++ b/app/controller/api/dataview/Logistics.php @@ -119,16 +119,39 @@ class Logistics extends BaseController // 第二页 物流信息统计 public function logisticsCount() { - $courierId = $this->request->param('courier_id'); + // 查询镇辖区内配送订单最多的配送员 + + // 先从供销系统 查出镇下边的所有配送员-小组服务公司的负责人 + $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(); + // 返查配送员的物流配送订单统计信息 // 待取货数 - $pending_order_count = Db::connect('logistics')->name('logistics')->where(['status'=>0, 'courier_id'=>$courierId])->count(); + $topCourier['pending_order_count'] = Db::connect('logistics')->name('logistics')->where(['status'=>0, 'courier_id'=>$topCourier['courier_id']])->count(); // 配送中数 - $delivering_order_count = Db::connect('logistics')->name('logistics')->where(['status'=>1, 'courier_id'=>$courierId])->count(); + $topCourier['delivering_order_count'] = Db::connect('logistics')->name('logistics')->where(['status'=>1, 'courier_id'=>$topCourier['courier_id']])->count(); // 已完成数 - $finished_order_count = Db::connect('logistics')->name('logistics')->where([['status', 'in', [2,3]], 'courier_id'=>$courierId])->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(compact('pending_order_count', 'delivering_order_count', 'finished_order_count')); + // 三轮车车牌号 根据配送员id反查公司id,公司id反查车牌号 + $courierCompanyId = Db::connect('work_task')->name('user')->where(['id'=>$topCourier['courier_id']])->value('company_id'); + $vehicleRent = Db::connect('work_task')->name('vehicle_rent')->where(['rent_company_id'=>$courierCompanyId])->find(); + $topCourier['car_id'] = $vehicleRent['car_id']; + $topCourier['car_license'] = $vehicleRent['car_license']; + return app('json')->success($topCourier); } // 第二页 地图 最新的10笔配送订单地址 以及最近一次取货地址发散