['master_worker_id', 'last_settlement_time', 'settlement_time', 'step_days', 'status', 'admin_id', 'remark','master_type','period_type'], ]; } public function queryWhere(){ $where = []; if(isset($this->params['settlement_time']) && empty($this->params['settlement_time'])){ $where[] = ['settlement_time', '=', '']; } /*if(isset($this->params['']) && $this->params['audit_state']!=''){ $ids = MasterWorker::where('audit_state',$this->params['audit_state'])->column('id'); $where[] = ['id', 'IN', $ids?:[0]]; //dd($ids); }*/ /*$infoWorkerIds = MasterWorkerInfo::where('audit_state',0)->column('worker_id'); $bankWorkerIds = BankAccount::where('audit_state',0)->column('worker_id'); $agreeWorkerIds = MasterWorkerAgree::where('audit_state',0)->column('worker_id'); $ids = array_merge($infoWorkerIds,$bankWorkerIds,$agreeWorkerIds);*/ /*if(isset($this->params['real_name']) && !empty($this->params['real_name'])){ $where[] = ['master_worker_id', 'IN', MasterWorker::where([['real_name', 'like', "%{$this->params['real_name']}%"]])->column('id')?:[0]]; } if(isset($this->params['nickname']) && !empty($this->params['nickname'])){ $where[] = ['master_worker_id', 'IN', MasterWorker::where([['nickname', 'like', "%{$this->params['nickname']}%"]])->column('id')?:[0]]; } if(isset($this->params['account']) && !empty($this->params['account'])){ $where[] = ['master_worker_id', 'IN', MasterWorker::where([['account', 'like', "%{$this->params['account']}%"]])->column('id')?:[0]]; }*/ return $where; } /** * 获取数据权限 * $this->adminInfo['data_rules'] * province city admin_id sale_group_id sale_id property_head_id */ public function queryDataWhere(){ $where = []; /*$data_rules = $this->adminInfo['data_rules']; if (isset($data_rules['province']) && !empty($data_rules['province'])) { $where[] = ['province','in' ,$data_rules['province']]; } if (isset($data_rules['city']) && !empty($data_rules['city'])) { $where[] = ['city','in' ,$data_rules['city']]; }*/ return $where; } /** * @notes 获取列表 * @return array * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException * @author likeadmin * @date 2025/06/09 10:33 */ public function lists(): array { $list = EngineerSettlementPermanently::with(['bankAccount','workerInfo','salaryItemPermanently'])->where($this->searchWhere)->where($this->queryWhere()) ->field(['*']) ->limit($this->limitOffset, $this->limitLength) ->order(['id' => 'desc']) ->select() ->toArray(); foreach ($list as &$item) { $item['all_salary'] = $this->getAllSalary($item['salaryItemPermanently']); } return $list; } /** * @notes 获取数量 * @return int * @author likeadmin * @date 2025/06/09 10:33 */ public function count(): int { return EngineerSettlementPermanently::where($this->searchWhere)->where($this->queryWhere())->count(); } public function getAllSalary($salaryItemPermanently): float { $all_salary = 0.00; foreach ($salaryItemPermanently as $item) { $all_salary += $item['term_amount']; } return $all_salary; } }