['name', 'model'], ]; } /** * @notes 获取材料进场列表 * @return array * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException * @author likeadmin * @date 2024/02/28 13:41 */ public function lists(): array { $params = $this->request->get(); $where = []; if(isset($params['project_id']) && $params['project_id'] != ''){ $material_entry_ids = SupervisionMaterialEntry::where('project_id','=',$params['project_id'])->column('id'); $where[] = ['material_entry_id','in',$material_entry_ids]; } if(isset($params['theme']) && $params['theme'] != ''){ $material_entry_ids = SupervisionMaterialEntry::where('theme','like','%'.$params['theme'].'%')->column('id'); $where[] = ['material_entry_id','in',$material_entry_ids]; } if(isset($params['code']) && $params['code'] != ''){ $material_entry_ids = SupervisionMaterialEntry::where('code','like','%'.$params['code'].'%')->column('id'); $where[] = ['material_entry_id','in',$material_entry_ids]; } return SupervisionMaterialEntryDetail::withoutField('create_time,update_time,delete_time')->where($this->searchWhere)->where($where) ->limit($this->limitOffset, $this->limitLength) ->order(['id' => 'desc']) ->select()->each(function($data){ $material_entry = SupervisionMaterialEntry::field('project_id,company_id,code,theme,enter_time,enter_result,parallel_test')->where('id',$data['material_entry_id'])->findOrEmpty(); $project = SupervisionProject::field('project_name')->where('id',$material_entry['project_id'])->findOrEmpty(); $company = SupervisionParticipatingUnits::field('unit_name')->where('id',$material_entry['company_id'])->findOrEmpty(); $data['contract_brand_text'] = $data->contract_brand_text; $data['code'] = $material_entry['code']; $data['theme'] = $material_entry['theme']; $data['enter_result'] = $material_entry->enter_result_text; $data['parallel_test'] = $material_entry['parallel_test']; $data['parallel_test_text'] = $material_entry->parallel_test_text; $data['enter_time'] = $material_entry['enter_time']; $data['project_name'] = $project['project_name']; $data['company_name'] = $company['unit_name']; }) ->toArray(); } /** * @notes 获取材料进场数量 * @return int * @author likeadmin * @date 2024/02/28 13:41 */ public function count(): int { $params = $this->request->get(); $where = []; if(isset($params['project_id']) && $params['project_id'] != ''){ $material_entry_ids = SupervisionMaterialEntry::where('project_id','=',$params['project_id'])->column('id'); $where[] = ['material_entry_id','in',$material_entry_ids]; } if(isset($params['theme']) && $params['theme'] != ''){ $material_entry_ids = SupervisionMaterialEntry::where('theme','like','%'.$params['theme'].'%')->column('id'); $where[] = ['material_entry_id','in',$material_entry_ids]; } if(isset($params['code']) && $params['code'] != ''){ $material_entry_ids = SupervisionMaterialEntry::where('code','like','%'.$params['code'].'%')->column('id'); $where[] = ['material_entry_id','in',$material_entry_ids]; } return SupervisionMaterialEntryDetail::where($this->searchWhere)->where($where)->count(); } }