diff --git a/Laravel/app/Http/Controllers/API/His/CheckItemController.php b/Laravel/app/Http/Controllers/API/His/CheckItemController.php new file mode 100644 index 0000000..b50a067 --- /dev/null +++ b/Laravel/app/Http/Controllers/API/His/CheckItemController.php @@ -0,0 +1,90 @@ +'all'){ + $data=[ + 'termClassId' => $termClassId, + ]; + $where=['termClassId'=>$termClassId]; + } + + $res=\Tools::Get($url,$data,'更新检查项目'); + if($res['code']==200){ + $res_data=$res['data']; + if(isset($res_data['list']) and !empty($res_data['list'])){ + $db_data=DB::table('s_check_item')->where($where)->get();//库里的数据 + //根据 接收数据的undrugId,和库里的item_code进行比对,如果库里存在则更新,如果库里没有则添加,如果库里有但是接收数据里没有则在库里标记is_del=0 + $db_map = []; + foreach ($db_data as $db_item) { + $db_map[$db_item->item_code] = $db_item; + } + + // 用于记录接收到的数据中的 item_code,方便后面判断哪些需要删除 + $received_ids = []; + + foreach ($res_data['list'] as $item) { + // 假设远程返回字段是 undrugId 和 undrugName,对应数据库字段是 item_code 和 item_name + $item_code = $item['undrugId']; + $item_name = $item['termName']; + + // 添加到接收 ID 列表 + $received_ids[] = $item_code; + + // 快速查找是否已存在该 item_code + if (isset($db_map[$item_code])) { + // 存在则更新 + DB::table('s_check_item') + ->where('item_code', $item_code) + ->update([ + 'termClassId'=>$item['termClassId'], + 'item_name' => $item_name, + 'item_desc' => $item_name, + 'is_del' => 0, // 取消删除标记 + ]); + } else { + // 不存在则插入新记录 + DB::table('s_check_item')->insert([ + 'termClassId'=>$item['termClassId'], + 'item_code' => $item_code, + 'item_name' => $item_name, + 'item_desc' => $item_name, + ]); + } + } + + // 处理数据库中存在但远程没有返回的数据,标记为删除 + foreach ($db_map as $item_code => $db_item) { + if (!in_array($item_code, $received_ids)) { + DB::table('s_check_item') + ->where('item_code', $item_code) + ->update([ + 'is_del' => 1 + ]); + } + } + + return \Yz::return(true,'更新检查项目成功',[]); + }else{ + return \Yz::echoError1('His接口返回数据为空'); + } + }else{ + return \Yz::echoError1('更新失败'); + } + } +} diff --git a/Laravel/app/Http/Controllers/API/His/EntrustController.php b/Laravel/app/Http/Controllers/API/His/EntrustController.php new file mode 100644 index 0000000..76c4b5b --- /dev/null +++ b/Laravel/app/Http/Controllers/API/His/EntrustController.php @@ -0,0 +1,15 @@ +$url, + 'get_data'=>$data_s, + ]; + $log_id=self::RequestLog($data,0,$mark); + $response = Http::get($url,$data_s); + if ($response->successful()) { + $res = $response->json(); + }else{ + $res=$response->body(); + } + $data=[ + 'response_data'=>$res + ]; + self::RequestLog($data,$log_id); + return $res; + } public static function Post($url, $data_string,$mark='') { $data=[ diff --git a/Laravel/routes/api.php b/Laravel/routes/api.php index 93a1cc8..e273186 100644 --- a/Laravel/routes/api.php +++ b/Laravel/routes/api.php @@ -120,6 +120,7 @@ Route::group(['middleware'=>['log']],function () { Route::post('admin/getMainDetail_duoren','App\Http\Controllers\API\Admin\YeWu\EntrustController@getMainDetail_duoren');//获取医嘱信息(支持多人) Route::post('admin/AutoYuYue','App\Http\Controllers\API\Admin\YeWu\PlanListController@AutoYuYue');//自动预约 + Route::post('admin/updateCheckItem','App\Http\Controllers\API\His\CheckItemController@UpdateCheckItem');//调用his更新检查项目 }); //H5端接口 diff --git a/Laravel/routes/web.php b/Laravel/routes/web.php index 08abe1d..03c8560 100644 --- a/Laravel/routes/web.php +++ b/Laravel/routes/web.php @@ -1,5 +1,6 @@ server('QUERY_STRING'); // 获取原始查询字符串 + return redirect("http://192.168.80.76/jq_page/appointment.html?".$queryString); + //parse_str(urldecode($queryString), $data); // 先 urldecode,再 parse_str 解析 + // dd($queryString); +// $regnum=$request->query('regnum'); +// $entrustid=$request->query('entrustid'); +// $episodeid=$request->query('episodeid'); +// $dotype=$request->query('dotype'); +// $appointment_type=$request->query('appointment_type'); + +// $data=[ +// 'regnum'=>$regnum, +// 'entrustid'=>$entrustid, +// 'episodeid'=>$episodeid, +// 'dotype'=>$dotype, +// 'appointment_type'=>$appointment_type, +// ]; +// dd($data); +}); + +