From 937442ede030ecac2451a47858288e7b9291c4f1 Mon Sep 17 00:00:00 2001 From: yanzai Date: Sat, 29 Jun 2024 23:26:17 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=BB=86=E8=8A=82=EF=BC=8Cad?= =?UTF-8?q?min=E5=A2=9E=E5=8A=A0=E7=B3=BB=E7=BB=9F=E5=8F=82=E6=95=B0?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../API/Admin/YeWu/ConfigsController.php | 38 +++++++++++ .../Admin/YeWu/HealthCheckupController.php | 60 ++++++++++++++++ .../Controllers/API/mH5/PersonController.php | 2 +- .../Admin/YeWu/HealthCheckupService.php | 3 +- Laravel/public/{report.pdf => aa.pdf} | Bin Laravel/routes/api.php | 3 + el-admin/src/api/api.js | 10 +++ el-admin/src/router/index.js | 7 ++ el-admin/src/views/SystemMngr/Configs.vue | 64 ++++++++++++++++++ 9 files changed, 185 insertions(+), 2 deletions(-) create mode 100644 Laravel/app/Http/Controllers/API/Admin/YeWu/ConfigsController.php rename Laravel/public/{report.pdf => aa.pdf} (100%) create mode 100644 el-admin/src/views/SystemMngr/Configs.vue diff --git a/Laravel/app/Http/Controllers/API/Admin/YeWu/ConfigsController.php b/Laravel/app/Http/Controllers/API/Admin/YeWu/ConfigsController.php new file mode 100644 index 0000000..5172fde --- /dev/null +++ b/Laravel/app/Http/Controllers/API/Admin/YeWu/ConfigsController.php @@ -0,0 +1,38 @@ +get('userid');//中间件产生的参数 + $group = $request->get('role');//中间件产生的参数 + if($group==1){ + $list=DB::table('configs')->get(); + return \Yz::Return(true,'',$list); + } + } + public function SaveConfig(Request $request) + { + $userid = $request->get('userid');//中间件产生的参数 + $group = $request->get('role');//中间件产生的参数 + $label=request('label'); + $value=request('value'); + if($group==1){ + $u=DB::table('configs')->where(['label'=>$label])->update([ + 'value'=>$value + ]); + if($u){ + return \Yz::Return(true,'操作成功',[]); + }else{ + return \Yz::echoError1("操作失败"); + } + + } + } +} diff --git a/Laravel/app/Http/Controllers/API/Admin/YeWu/HealthCheckupController.php b/Laravel/app/Http/Controllers/API/Admin/YeWu/HealthCheckupController.php index dfbab14..f27ce84 100644 --- a/Laravel/app/Http/Controllers/API/Admin/YeWu/HealthCheckupController.php +++ b/Laravel/app/Http/Controllers/API/Admin/YeWu/HealthCheckupController.php @@ -78,6 +78,66 @@ class HealthCheckupController extends Controller } } + + //对外接口,创建体检记录 姓名、电话、身份证、体检机构编码、体检号、pdfs + public function CreateCheckupPdf() + { + $id_card_num=request('id_card_num'); + $name=request('name'); + $tel=request('tel'); + $tijian_num=request('tijian_num'); + $type=request('type'); + $org_code=request('org_code'); + $pdfs=request('pdfs'); + if(!isset($tijian_num)) return \Yz::echoError1('体检号不能为空'); + if(!isset($id_card_num)) return \Yz::echoError1('身份证不能为空'); + if(!isset($pdfs)) return \Yz::echoError1('pdfs不能为空'); + if(!isset($org_code)) return \Yz::echoError1('机构码不能为空'); + $org_id=DB::table('medical_institution')->where('sn',$org_code)->first(); + if(!$org_id) return \Yz::echoError1('机构码不存在'); + + //检查体检流水号是否存在,存在禁止再次插入。 + $check_cunzai=DB::table('examination_records')->where('tijian_num',$tijian_num)->get(); + if(count($check_cunzai)>0) return \Yz::echoError1('此体检号已经存在,禁止创建'); + + //HSM加密 + $HSM_sfz =\App\Lib\HSM::HsmEncrypt($id_card_num); + if($HSM_sfz['status']!=true){ + return \Yz::echoError1('调用HSM加密失败'); + } + + if(isset($tel)){ + $HSM_tel =\App\Lib\HSM::HsmEncrypt($tel); + if($HSM_tel['status']!=true){ + return \Yz::echoError1('调用HSM加密失败'); + } + $tel=$HSM_tel['data']; + } + + $id_card_num=$HSM_sfz['data']; + $Hmac=\App\Lib\HSM::Hmac($name.$id_card_num.$tel.$org_id->id); + if($Hmac['status']!=true){ + return \Yz::echoError1('HMAC摘要失败'); + } + + $i=DB::table('examination_records')->insertGetId([ + "name"=>$name, + "tel"=>$tel, + "id_card_num"=>$id_card_num, + "type"=>$type, + "institution_id"=>$org_id->id, + "tijian_num"=>$tijian_num, + "pdfs"=>isset($pdfs)?json_encode($pdfs):'', + 'hmac'=>$Hmac['data'], + ]); + if($i){ + return \Yz::Return(true,'记录完成',["num"=>$tijian_num]); + }else{ + return \Yz::echoError1("操作失败"); + } + + } + //根据身份证号码查询体检记录列表 public function GetPersonCheckUpList(){ $id_card_num=request('id_card_num'); diff --git a/Laravel/app/Http/Controllers/API/mH5/PersonController.php b/Laravel/app/Http/Controllers/API/mH5/PersonController.php index 4c5e90a..5437b8e 100644 --- a/Laravel/app/Http/Controllers/API/mH5/PersonController.php +++ b/Laravel/app/Http/Controllers/API/mH5/PersonController.php @@ -44,7 +44,7 @@ class PersonController extends Controller //HSM解密 $HSM_sfz =\App\Lib\HSM::HsmDecrypt($info->id_card_num); if($HSM_sfz['status']!=true){ - return \Yz::echoError1('调用HSM加密失败'); + return \Yz::echoError1('调用HSM解密失败'); } $info->id_card_num=$HSM_sfz['data']; } diff --git a/Laravel/app/Services/Admin/YeWu/HealthCheckupService.php b/Laravel/app/Services/Admin/YeWu/HealthCheckupService.php index 3464cdd..08e204a 100644 --- a/Laravel/app/Services/Admin/YeWu/HealthCheckupService.php +++ b/Laravel/app/Services/Admin/YeWu/HealthCheckupService.php @@ -48,7 +48,8 @@ class HealthCheckupService ->where([ 'id_card_num'=>$CheckupInfo['id_card_num'], 'org_id'=>$org_id[0]->id, - 'status'=>1 + 'status'=>1, + 'org_code'=>$CheckupInfo['institution_sn'], ])->whereBetween('created_at',[$firstDay,$lastDay])->update(['status'=>2]); diff --git a/Laravel/public/report.pdf b/Laravel/public/aa.pdf similarity index 100% rename from Laravel/public/report.pdf rename to Laravel/public/aa.pdf diff --git a/Laravel/routes/api.php b/Laravel/routes/api.php index 86539aa..9465a6f 100644 --- a/Laravel/routes/api.php +++ b/Laravel/routes/api.php @@ -56,6 +56,8 @@ Route::group(['middleware'=>['checktoken','log'],'prefix'=>'v1'],function () { Route::post('admin/InstitutionGetList','App\Http\Controllers\API\Admin\YeWu\InstitutionController@GetList');//获取体检机构列表 Route::post('admin/InstitutionSavdSeting','App\Http\Controllers\API\Admin\YeWu\InstitutionController@SavdSeting');//保存机构设置 Route::post('admin/InstitutionGetSetingDetail','App\Http\Controllers\API\Admin\YeWu\InstitutionController@GetSetingDetail');//获取机构设置详情 + Route::post('admin/GetConfigs','App\Http\Controllers\API\Admin\YeWu\ConfigsController@GetConfigs');//获取设置 + Route::post('admin/SaveConfig','App\Http\Controllers\API\Admin\YeWu\ConfigsController@SaveConfig');//保存设置 }); @@ -86,6 +88,7 @@ Route::group(['middleware'=>['check.sign','log'],'prefix'=>'v1'],function () { Route::get('GetPersonCheckUpList','App\Http\Controllers\API\Admin\YeWu\HealthCheckupController@GetPersonCheckUpList');//查询个人查询体检记录列表 Route::get('GetPersonCheckUpDetail','App\Http\Controllers\API\Admin\YeWu\HealthCheckupController@GetPersonCheckUpDetail');//根据体检号查询体检详情 Route::post('CreateAppointment','App\Http\Controllers\API\Admin\YeWu\AppointmentController@CreateAppointment');//创建预约记录 + Route::post('CreateCheckupPdf','App\Http\Controllers\API\Admin\YeWu\HealthCheckupController@CreateCheckupPdf');//对外接口,创建体检记录 姓名、电话、身份证、体检机构编码、体检号、pdfs }); diff --git a/el-admin/src/api/api.js b/el-admin/src/api/api.js index 173109f..db4781d 100644 --- a/el-admin/src/api/api.js +++ b/el-admin/src/api/api.js @@ -148,4 +148,14 @@ export const InstitutionSavdSeting = (data={}) => { //获取机构设置详情 export const InstitutionGetSetingDetail = (data={}) => { return axios({url:import.meta.env.VITE_APP_API+'v1/admin/InstitutionGetSetingDetail',data:data}) +} + +//获取系统参数设置 +export const GetConfigs = (data={}) => { + return axios({url:import.meta.env.VITE_APP_API+'v1/admin/GetConfigs',data:data}) +} + +//保存系统参数设置 +export const SaveConfig = (data={}) => { + return axios({url:import.meta.env.VITE_APP_API+'v1/admin/SaveConfig',data:data}) } \ No newline at end of file diff --git a/el-admin/src/router/index.js b/el-admin/src/router/index.js index d6fa830..f6371d8 100644 --- a/el-admin/src/router/index.js +++ b/el-admin/src/router/index.js @@ -91,6 +91,13 @@ const router = createRouter({ name: 'ReportAppointmentList', component: AppointmentCount, meta: { title: '预约登记统计' } + },{ + path: '/systemMngr/Configs', + name: 'SystemConfigs', + component: () => import('../views/SystemMngr/Configs.vue'), + meta: { + title: '系统参数设置' + } }] }, diff --git a/el-admin/src/views/SystemMngr/Configs.vue b/el-admin/src/views/SystemMngr/Configs.vue new file mode 100644 index 0000000..1f40dbf --- /dev/null +++ b/el-admin/src/views/SystemMngr/Configs.vue @@ -0,0 +1,64 @@ + + + + + \ No newline at end of file