params['worker_id'])){ $where[]= ['worker_id','=',$this->params['worker_id']]; } else{ $where[]= ['worker_id','=',$this->userId]; } if(isset($this->params['create_time']) && !empty($this->params['create_time'])){ $time = [strtotime($this->params['create_time'][0]), strtotime($this->params['create_time'][1])]; $where[] = ['create_time', 'between', $time]; } if(isset($this->params['month']) && !empty($this->params['month'])){ $firstDay =date("Y-m-d 00:00:00", strtotime("first day of {$this->params['month']}")); $lastDay = date("Y-m-d 23:59:59", strtotime("{$this->params['month']} +1 month -1 day")); $firstTime = strtotime($firstDay); $lastTime = strtotime($lastDay); $where[] = ['create_time','between',[$firstTime,$lastTime]]; } return $where; } public function lists(): array { $lists = MasterWorkerRetentionMoneyLog::where($this->searchWhere) ->where($this->queryWhere()) ->append(['action_text']) ->field(['id', 'sn','action','amount','remark','work_id','create_time','update_time']) ->order(['id' => 'desc']) ->select() ->toArray(); foreach ($lists as &$item) { $item['amount'] = $item['action_text'] . $item['amount']; } return $lists; } public function count(): int { return MasterWorkerRetentionMoneyLog::where($this->queryWhere())->count(); } }