diff --git a/Laravel/app/Http/Controllers/API/Admin/YeWu/AppointmentController.php b/Laravel/app/Http/Controllers/API/Admin/YeWu/AppointmentController.php index e0f3214..ecbcb52 100644 --- a/Laravel/app/Http/Controllers/API/Admin/YeWu/AppointmentController.php +++ b/Laravel/app/Http/Controllers/API/Admin/YeWu/AppointmentController.php @@ -35,7 +35,7 @@ class AppointmentController extends Controller $result['status']=false; $result['msg']='已体检过'; $result['info']=$c; - return \Yz::Return(false,'本年度已经体检过',['info'=>$c]); + return \Yz::Return(false,'本年度已经有体检登记记录',['info'=>$c]); }else{ $result['status']=true; $result['msg']='可以继续,本年度无免费体检记录'; @@ -50,6 +50,7 @@ class AppointmentController extends Controller 'id_card_num'=>$info['id_card_num'], 'sex'=>$info['sex'], 'tel'=>$info['tel'], + 'status'=>1, //'content'=>json_encode($info['content']), 'content'=>isset($info['content'])?json_encode($info['content'],JSON_UNESCAPED_UNICODE):'', 'fee_type'=>$info['fee_type'] diff --git a/Laravel/app/Http/Controllers/API/Admin/YeWu/HealthCheckupController.php b/Laravel/app/Http/Controllers/API/Admin/YeWu/HealthCheckupController.php index 3fbbe7b..4811204 100644 --- a/Laravel/app/Http/Controllers/API/Admin/YeWu/HealthCheckupController.php +++ b/Laravel/app/Http/Controllers/API/Admin/YeWu/HealthCheckupController.php @@ -3,6 +3,7 @@ namespace App\Http\Controllers\API\Admin\YeWu; use App\Http\Controllers\Controller; +use App\Services\Admin\YeWu\AppointmentService; use Illuminate\Http\Request; use App\Services\Admin\YeWu\HealthCheckupService; use App\Services\mH5\PersonService; @@ -33,8 +34,8 @@ class HealthCheckupController extends Controller public function CheckRequirements(){ $id_card_num=request('id_card_num'); $type=request('type');//体检类型 1,健康证2老年人 - $s=app()->make(PersonService::class); - return $s->GetPersonRecode(['id_num'=>$id_card_num]); + $s=app()->make(AppointmentService::class); + return $s->CheckAppointment($id_card_num,$type); } //获取个人预约记录详情 diff --git a/Laravel/app/Lib/HSM.php b/Laravel/app/Lib/HSM.php index 713de38..585da2f 100644 --- a/Laravel/app/Lib/HSM.php +++ b/Laravel/app/Lib/HSM.php @@ -23,7 +23,7 @@ class HSM $r_data=json_decode($encryptStr, true); // dd($r_data); if($r_data['status']==0){ - return ['encrypt_str'=>$r_data['body']['cipherData'],'status'=>true]; + return $r_data['body']['cipherData']; }else{ return ['status'=>false]; } @@ -41,7 +41,7 @@ class HSM $encryptStr=self::post($url,$data); $r_data=json_decode($encryptStr, true); if($r_data['status']==0){ - return ['decrypt_str'=>hex2bin($r_data['body']['plain']),'status'=>true]; + return hex2bin($r_data['body']['plain']); }else{ return ['status'=>false]; } diff --git a/Laravel/app/Services/Admin/YeWu/AppointmentService.php b/Laravel/app/Services/Admin/YeWu/AppointmentService.php index 0569748..8bae60f 100644 --- a/Laravel/app/Services/Admin/YeWu/AppointmentService.php +++ b/Laravel/app/Services/Admin/YeWu/AppointmentService.php @@ -1,5 +1,6 @@ $query,'count'=>$count[0]->c]); } + //检测是否有登记预约记录 + public function CheckAppointment($id_card_num,$type){ + if(strlen($id_card_num)>0){ + date_default_timezone_set('PRC'); + $currentYear = date('Y'); + $firstDay = date('Y-01-01', strtotime($currentYear)); + $lastDay = date('Y-12-31', strtotime($currentYear)); + + + //查询预约登记表 + if($type==2 and $this->isOver65($id_card_num)===false){ + return \Yz::echoError1("年龄不满足条件"); + } + $c=DB::table('appointment_record as a') + ->leftJoin('medical_institution as b', 'a.org_id', '=', 'b.id') + ->select(['a.id','a.org_id','a.id_card_num','a.created_at as insertime','b.org_name']) + ->where(['a.id_card_num'=>$id_card_num,'a.type'=>$type,['a.created_at','>=',$firstDay],['a.created_at','<=',$lastDay]])->whereIn('a.status',[1,2])->get(); + if(count($c)){ + $result['status']=false; + $result['msg']='已体检过'; + $result['info']=$c; + }else{ + $result['status']=true; + $result['msg']='可以继续,本年度无免费体检记录'; + $result['info']=$c; + } + + + }else{ + $result['status']=false; + $result['msg']='用户证件号未传'; + } + return $result; + + } + + function isOver65($idCard) { + // 从身份证号中提取出生日期 + $birthYear = substr($idCard, 6, 4); + $birthMonth = substr($idCard, 10, 2); + $birthDay = substr($idCard, 12, 2); + + // 将出生日期转换为日期对象 + $birthdate = new DateTime($birthYear . '-' . $birthMonth . '-' . $birthDay); + + // 获取当前日期 + $currentDate = new DateTime(); + + // 计算年龄差 + $ageDiff = $birthdate->diff($currentDate)->y; + + // 判断年龄是否大于65岁 + if ($ageDiff > 65) { + return true; + } else { + return false; + } + } } diff --git a/Laravel/app/Services/Admin/YeWu/HealthCheckupService.php b/Laravel/app/Services/Admin/YeWu/HealthCheckupService.php index 2a37449..d3ca735 100644 --- a/Laravel/app/Services/Admin/YeWu/HealthCheckupService.php +++ b/Laravel/app/Services/Admin/YeWu/HealthCheckupService.php @@ -1,5 +1,6 @@ join('medical_institution as b', 'a.institution_id', '=', 'b.id') - ->select(['a.id','a.institution_id','a.id_card_num','a.tijian_num','a.tijian_time','a.created_at as insertime','b.org_name'])->where([['a.id_card_num','=',$id_num],['a.fee_type','=',0],['a.created_at','>=',$firstDay],['a.created_at','<=',$lastDay]])->get(); + ->select(['a.id','a.institution_id','a.id_card_num','a.tijian_num','a.tijian_time','a.created_at as insertime','b.org_name'])->where([['a.id_card_num','=',$id_num],['a.created_at','>=',$firstDay],['a.created_at','<=',$lastDay]])->get(); if(count($c)>0){ $result['status']=false; $result['msg']='已体检过'; @@ -93,4 +94,8 @@ class PersonService if(!count($cha)>0) return \Yz::echoError1("未找到预约记录"); return \Yz::Return(true,'',$cha); } + + + + }