地图派单

This commit is contained in:
todaywindy 2025-06-18 10:14:29 +08:00
parent d9b6788c22
commit 0103120071

View File

@ -6,6 +6,7 @@ use app\admin\model\Area;
use app\admin\model\AuthGroup; use app\admin\model\AuthGroup;
use app\admin\model\Item; use app\admin\model\Item;
use app\admin\model\Order; use app\admin\model\Order;
use app\admin\model\OrderDispatch;
use app\admin\model\WorkerItem; use app\admin\model\WorkerItem;
use app\common\controller\Backend; use app\common\controller\Backend;
use fast\Tree; use fast\Tree;
@ -319,7 +320,7 @@ class Worker extends Backend
$order_id = request()->get('order_id'); $order_id = request()->get('order_id');
$search = request()->get('search'); $search = request()->get('search');
list($where, $sort, $order, $offset, $limit) = $this->buildparams(); list($where, $sort, $order, $offset, $limit) = $this->buildparams();
$order = (new Order())->where('id',$order_id)->field(['id','lng','lat'])->select(); $order = (new Order())->where('id',$order_id)->field(['id','lng','lat','item_id'])->select();
if (!empty($order)) { if (!empty($order)) {
$order = $order[0]; $order = $order[0];
@ -339,9 +340,21 @@ ORDER BY distance;",[$order->lng,$order->lat]);
$worker_ids = array_column($worker_distance,'id'); $worker_ids = array_column($worker_distance,'id');
$worker_items_ids = (new WorkerItem())
->where('item_id', $order->item_id)
->whereIn('worker_id', $worker_ids)
->column('worker_id');
// $out_worker = OrderDispatch::where('order_id',$order->id)
// ->where('status',-30)->column('worker_id');
$out_worker_ids = array_intersect($worker_ids, $worker_items_ids);
// $out_worker_ids = array_values(array_diff($out_worker_ids, $out_worker));
$build = model('worker') $build = model('worker')
->where('status', 1) ->where('status', 1)
->whereIn('id', $worker_ids); ->whereIn('id', $out_worker_ids);
if ($search){ if ($search){