all(), [ 'checkup_info.type' => 'required|integer', 'checkup_info.free_type' => 'required|integer', 'checkup_info.name' => 'required|string', 'checkup_info.sex' => 'required|integer', 'checkup_info.tel' => 'required|string', 'checkup_info.id_card_num' => 'required|string', 'checkup_info.doc_type_id' => 'required|integer', 'checkup_info.doc_type_name' => 'required|string', 'checkup_info.org_sn' => 'required|string', 'checkup_info.tijian_num' => 'required|string', 'checkup_info.tijian_time' => 'required|date', 'checkup_info.report_content' => 'required|array', 'checkup_info.report_content.*.item_name' => 'required|string', 'checkup_info.report_content.*.item_result' => 'required|string', 'checkup_info.report_content.*.item_range' => 'required|array', 'checkup_info.report_content.*.flag' => 'required|string', 'checkup_info.report_content.*.item_unit' => 'required|string', 'checkup_info.report_content.*.check_time' => 'required|date', 'checkup_info.result_status' => 'required|integer', 'checkup_info.shenhe_time' => 'required|date', 'checkup_info.result_content' => 'required|string', ]); if ($validator->fails()) { return \Yz::echoError1( $validator->errors()); } $checkupInfo = $request->input('checkup_info'); $checkupInfo['institution_sn']=$checkupInfo['org_sn']; $checkupInfo['industry_type']=$checkupInfo['doc_type_name']; $checkupInfo['register_time']=$checkupInfo['tijian_time']; $checkupInfo['issue_time']=null; $checkupInfo['expire_time']=null; $s=app()->make(HealthCheckupService::class); return $s->CreateRecord($checkupInfo); } //给第三的接口,上传体检结果pdf文档 public function UploadPdf(Request $request){ // 验证请求数据 $validator = Validator::make($request->all(), [ 'tijian_num' => 'required|string', 'org_sn' => 'required|string', 'files' => 'required|array', 'files.*' => 'required|file|mimes:pdf|max:2048',// 每个文件必须是PDF格式,且大小不超过2MB ]); if ($validator->fails()) { return \Yz::echoError1( $validator->errors()); } //查询体检号是否存在 $service=new OrgService(); $res=$service->GetOrgInfo($request->input('org_sn')); if($res['status']!==true){ return \Yz::echoError1($res['msg']); } //查询体检号是否存在 $checkupInfo=DB::table('examination_records') ->where([ 'tijian_num'=>$request->input('tijian_num'), 'institution_id'=>$res['data']->id, ])->orderBy('id','desc')->first(); if(!$checkupInfo){ return \Yz::echoError1("体检号不存在"); } if ($request->hasFile('files') && $request->file('files')) { $filesUrls=[]; foreach ($request->file('files') as $file) { // 检查文件是否有效 if ($file->isValid()) { // 定义存储路径 $path = 'uploads/pdfs/' . date('Ymd'); // 根据当前日期创建子目录 // 保存文件到磁盘 $filename = uniqid() . '_' . $file->getClientOriginalName(); $file->storeAs($path, $filename, 'public'); // 使用 'public' 磁盘 $filesUrls[]=env('APP_URL').'/storage/'.$path.'/'.$filename; } } $u=DB::table('examination_records')->where('id',$checkupInfo->id)->update(['pdfs'=>json_encode($filesUrls,JSON_UNESCAPED_UNICODE)]); if(!$u){ return \Yz::echoError1("上传文件失败"); } return \Yz::Return(true,'上传成功',[]); } return \Yz::echoError1("上传文件失败"); } }