$this->userId, 'approval'=>1,//派单的时候默认审核了 ]; // 带徒师傅的工单 $lead_master_worker_id = TrainingWorkerTask::where('master_worker_id',$this->userId)->where('training_status',2) ->where('operate_status',0)->value('lead_master_worker_id'); if($lead_master_worker_id){ unset($where['master_worker_id']); $where[] = ['master_worker_id','in',[$this->userId,$lead_master_worker_id]]; } //条件搜索 $status = $this->params['status'] ?? 0; switch ($status){ case 0: $where[] = ['work_status','<>',1]; $where[] = ['service_status','in','0,1,2']; break; case 1: $where[] = ['work_status','<>',1]; $where[] = ['service_status','in','0,1,2']; // 创建 DateTime 对象并设置为今天午夜 $startOfDay = new DateTime('today midnight'); // 设置为今天最后一秒 $endOfDay = new DateTime('today midnight'); $endOfDay->modify('+1 day -1 second'); // 转换为时间戳 $startOfDayTimestamp = $startOfDay->getTimestamp(); $endOfDayTimestamp = $endOfDay->getTimestamp(); $where[] = ['appointment_time','between',[$startOfDayTimestamp, $endOfDayTimestamp]]; break; case 2: $where[] = ['work_status','<>',1]; $where[] = ['service_status','in','0,1,2']; // 创建一个 DateTime 对象表示当前时间 $dateNow = new DateTime(); // 修改这个对象以表示明天的午夜 $midnightTomorrow = clone $dateNow; $midnightTomorrow->modify('+1 day midnight'); // 修改这个对象以表示明天的最后一秒 $lastSecondTomorrow = clone $dateNow; $lastSecondTomorrow->modify('+1 day 23:59:59'); $midnightTimestamp = $midnightTomorrow->getTimestamp(); $lastSecondTimestamp = $lastSecondTomorrow->getTimestamp(); $where[] = ['appointment_time','between',[$midnightTimestamp, $lastSecondTimestamp]]; break; case 3: $where[] = ['work_status','<>',1]; $where['approval'] = 0; break; case 4: $where['work_status'] = 7; break; } $list = ServiceWork::where($where) ->where('work_pay_status','>',0) ->field(['id', 'work_sn', 'address', 'title', 'work_status', 'service_status', 'work_pay_status','appointment_time','receive_time','base_service_fee','service_fee','work_amount','third_type']) ->append(['work_status_text','service_status_text']) ->limit($this->limitOffset, $this->limitLength) ->order(['appointment_time' => 'asc'])//上门时间排序 ->select() ->toArray(); $this->count = ServiceWork::where($where)->count(); return $list; } /** * @notes 获取数量 * @return int * @author whitef * @date 2024/07/10 15:06 */ public function count(): int { return $this->count; } public function extend(): array { $team = MasterWorker::where('id', $this->userId)->find(); return ['team_id'=>$team['team_id'],'team_role'=>$team['team_role']]; } }