['commission_config_id', 'master_worker_id', 'day_num', 'order_num', 'signing_date', 'signing_date_end'], 'like' => ['worker_number%', 'real_name%', 'mobile%'], ]; } /** * @notes 获取列表 * @return array * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException * @author likeadmin * @date 2024/12/16 17:37 */ public function lists(): array { return Db::name('master_worker_commission_notice')->alias('n') ->leftJoin('service_work sw', 'n.master_worker_id = sw.master_worker_id AND sw.create_time >= n.signing_date AND sw.create_time <= n.signing_date_end') ->leftJoin('master_worker mw', 'n.master_worker_id = mw.id') ->field([ 'n.id', 'n.commission_config_id', 'n.master_worker_id', 'n.day_num', 'n.order_num', 'n.signing_date', 'n.signing_date_end', 'mw.real_name', 'mw.nickname', 'mw.worker_number', 'mw.mobile', Db::raw("COUNT(sw.id) AS order_count"), Db::raw("MAX(sw.finished_time) max_time") ]) ->where($this->searchWhere) ->group('n.master_worker_id, n.id') ->limit($this->limitOffset, $this->limitLength) ->select()->toArray(); } /** * @notes 获取数量 * @return int * @author likeadmin * @date 2024/12/16 17:37 */ public function count(): int { return Db::name('master_worker_commission_notice')->alias('n') ->with('masterWorker') ->leftJoin('service_work sw', 'n.master_worker_id = sw.master_worker_id AND sw.create_time >= n.signing_date AND sw.create_time <= n.signing_date_end') ->field([ 'n.id', 'n.commission_config_id', 'n.master_worker_id', 'n.day_num', 'n.order_num', 'n.signing_date', 'n.signing_date_end', Db::raw("COUNT(sw.id) AS order_count"), Db::raw("MAX(sw.finished_time) max_time") ]) ->where($this->searchWhere) ->group('n.master_worker_id, n.id') ->count(); } }