调整查询资格接口

main
yanzai 2 years ago
parent 4dc01cea38
commit 289025c9c2

@ -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']

@ -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);
}
//获取个人预约记录详情

@ -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];
}

@ -1,5 +1,6 @@
<?php
namespace App\Services\Admin\YeWu;
use DateTime;
use Illuminate\Support\Facades\DB;
class AppointmentService
{
@ -46,4 +47,62 @@ class AppointmentService
return \Yz::Return(true,'',['list'=>$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;
}
}
}

@ -1,5 +1,6 @@
<?php
namespace App\Services\Admin\YeWu;
use App\Lib\HSM;
use Illuminate\Support\Facades\DB;
use App\Services\mH5\PersonService;
use Illuminate\Support\Facades\Storage;

@ -1,5 +1,6 @@
<?php
namespace App\Services\mH5;
use DateTime;
use Illuminate\Support\Facades\DB;
class PersonService
@ -42,7 +43,7 @@ class PersonService
}
//检测是否进行过免费体检
public function GetPersonRecode($arr){
public function GetPersonRecode($arr,$type=1){
$result=array();
$id_num='';
@ -68,7 +69,7 @@ class PersonService
//查询体检记录表 免费体检记录
$c=DB::table('examination_records as a') ->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);
}
}

Loading…
Cancel
Save