From 79ab1f3a621b1a34f0fe078805835162f2e3b315 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B2=A9=E4=BB=9488?= <> Date: Wed, 4 Feb 2026 21:47:59 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=BB=99=20pacs=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=20=E6=8A=A5=E5=88=B0=20=E5=8F=96=E6=B6=88=E6=8A=A5?= =?UTF-8?q?=E5=88=B0=EF=BC=8C=E8=B0=83=E6=95=B4=E5=8C=BB=E7=94=9F=E5=92=8C?= =?UTF-8?q?=E4=B8=BB=E4=BB=BB=E7=99=BB=E9=99=86=E5=90=8E=E8=B7=B3=E8=BD=AC?= =?UTF-8?q?=E7=9B=AE=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/API/Third/PacsController.php | 53 ++++++++++++++++++- Laravel/routes/api.php | 13 +++-- YiJi-admin/src/views/Index.vue | 2 +- 3 files changed, 61 insertions(+), 7 deletions(-) diff --git a/Laravel/app/Http/Controllers/API/Third/PacsController.php b/Laravel/app/Http/Controllers/API/Third/PacsController.php index fc42688..e2dc3fc 100644 --- a/Laravel/app/Http/Controllers/API/Third/PacsController.php +++ b/Laravel/app/Http/Controllers/API/Third/PacsController.php @@ -117,7 +117,7 @@ class PacsController extends Controller return \Yz::JsonReturn(true,'查询完成',$entrust_list); } - //pacs调用此接口通知已经报道 + //报到机调用此接口通知已经报道 public function SignIn(){ $orderNo = request('orderNo');//医嘱号 $checkNo = request('checkNo');//报道号(检查号) @@ -159,7 +159,7 @@ class PacsController extends Controller } } - //pacs调用此接口通知取消报道 + //报到机调用此接口通知取消报道 public function CancelSignIn(){ $orderNo = request('orderNo'); $entrust = DB::table('s_list')->where(['entrust_id' => $orderNo,'is_nullify'=>0,'is_del'=>0])->first(); @@ -177,4 +177,53 @@ class PacsController extends Controller } } + //Pacs调用此接口通知已经报道 给Pacs用,通知本系统到检(场景,不经过报到机直接人工窗口) + public function SignInOnPacs(){ + $orderNo = request('orderNo');//医嘱号 + $checkNo = request('checkNo');//报道号(检查号) + if(!isset($orderNo)) return \Yz::JsonError('医嘱号不能为空'); + if(!isset($checkNo)) return \Yz::JsonError('报道号不能为空'); + $entrust = DB::table('s_list')->where(['entrust_id' => $orderNo,'is_nullify'=>0,'is_del'=>0])->first(); + if(!$entrust) return \Yz::JsonError('未找到对应医嘱'); + if($entrust->list_status <> 1) return \Yz::JsonError('医嘱当前状态无法报道'); + $data = [ + 'list_status' => 2, + 'check_num' => $checkNo, + ]; + $u = DB::table('s_list')->where(['entrust_id' => $orderNo])->update($data); + if($u){ + $i_log = DB::table('s_list_log')->insert([ + 'list_id' =>$entrust->id, + 'reg_num' => $entrust->reg_num, + 'old_status' => $entrust->list_status, + 'new_status' => 2, + 'create_user' => '报到机接口', + 'note' => '报到成功', + 'data' => json_encode(['checkNo'=>$checkNo],JSON_UNESCAPED_UNICODE) + ]); + + return \Yz::JsonReturn(true,'报道成功',['orderNo'=>$orderNo]); + }else{ + return \Yz::JsonError('报道失败'); + } + + } + //Pacs调用此接口通知取消报道 给Pacs用,通知本系统取消报道(场景,不经过报到机直接人工窗口) + public function CancelSignInOnPacs(){ + $orderNo = request('orderNo'); + $entrust = DB::table('s_list')->where(['entrust_id' => $orderNo,'is_nullify'=>0,'is_del'=>0])->first(); + if(!$entrust) return \Yz::JsonError('未找到对应医嘱'); + if($entrust->list_status <> 2) return \Yz::JsonError('医嘱当前状态无法取消报道'); + $data = [ + 'list_status' => 1, + 'check_num' => '', + ]; + $u = DB::table('s_list')->where(['entrust_id' => $orderNo])->update($data); + if($u){ + return \Yz::JsonReturn(true,'取消报道成功',['orderNo'=>$orderNo]); + }else{ + return \Yz::JsonError('取消报道失败'); + } + } + } diff --git a/Laravel/routes/api.php b/Laravel/routes/api.php index bb93716..1211480 100644 --- a/Laravel/routes/api.php +++ b/Laravel/routes/api.php @@ -159,12 +159,17 @@ Route::group(['middleware'=>['xmllog'],'prefix'=>'v1'],function () { //对外接口,秦皇岛中医院 Route::group(['middleware'=>['log']],function () { Route::post('/CheckAppointment','App\Http\Controllers\API\Third\YiJiController@CheckAppointment' ); - Route::post('/PacsSignIn','App\Http\Controllers\API\Third\PacsController@SignIn' ); - Route::post('/PacsCancelSignIn','App\Http\Controllers\API\Third\PacsController@CancelSignIn' ); + Route::post('/PacsSignIn','App\Http\Controllers\API\Third\PacsController@SignIn' );//路径起名字有问题,实际是给报到机的 + Route::post('/PacsCancelSignIn','App\Http\Controllers\API\Third\PacsController@CancelSignIn' );//路径起名字有问题,实际是给报到机的 Route::post('/GetEntrustInfo','App\Http\Controllers\API\Third\PacsController@GetEntrustInfo' ); Route::post('/GetCheckPdf','App\Http\Controllers\API\PdfController@GetCheckPdf' ); + Route::post('/SignInOnPacs','App\Http\Controllers\API\Third\PacsController@PacsSignIn' );//给Pacs用,通知本系统到检(场景,不经过报到机直接人工窗口) + Route::post('/CancelSignInOnPacs','App\Http\Controllers\API\Third\PacsController@PacsCancelSignIn' );//给Pacs用,通知本系统取消到检(场景,不经过报到机直接人工窗口) + }); -Route::any('/PacsSaveApplyInfo','App\Http\Controllers\API\Third\CSharpController@PacsSaveApplyInfo' )->middleware('log');;//给pacs推送检查申请单 -Route::any('/PacsCancelApplyInfo','App\Http\Controllers\API\Third\CSharpController@PacsCancelApplyInfo' )->middleware('log');;//给pacs推送取消检查申请单 +Route::any('/PacsSaveApplyInfo','App\Http\Controllers\API\Third\CSharpController@PacsSaveApplyInfo' )->middleware('log');;//调用此接口给pacs推送检查申请单 +Route::any('/PacsCancelApplyInfo','App\Http\Controllers\API\Third\CSharpController@PacsCancelApplyInfo' )->middleware('log');;//调用此接口给pacs推送取消检查申请单 + + diff --git a/YiJi-admin/src/views/Index.vue b/YiJi-admin/src/views/Index.vue index 1d6a3e6..6c7fa09 100644 --- a/YiJi-admin/src/views/Index.vue +++ b/YiJi-admin/src/views/Index.vue @@ -225,7 +225,7 @@ sessionStorage.setItem('LoginUserInfo', JSON.stringify(res.info[0])) BaseUserInfo.value.img = import.meta.env.VITE_APP_FILE + BaseUserInfo.value.img let BingQu = [2]; //跳转住院主工作列表 - let QiTa = [3]; //跳转普通主工作列表 + let QiTa = [3,6,7]; //跳转普通主工作列表 let Guanli = [1, 5]; //管理员 if (QiTa.includes(res.info[0].group) && route.path == '/dashboard') { window.location.href = "./#/yewu/mainList"