diff --git a/Laravel/app/Http/Controllers/API/Admin/YeWu/DepartmentController.php b/Laravel/app/Http/Controllers/API/Admin/YeWu/DepartmentController.php index 2a94e7c..a41124b 100644 --- a/Laravel/app/Http/Controllers/API/Admin/YeWu/DepartmentController.php +++ b/Laravel/app/Http/Controllers/API/Admin/YeWu/DepartmentController.php @@ -94,4 +94,12 @@ public function Search() return $service->Search($keyword); } + //获取指定科室的下级科室列表(执行诊室) + public function GetChildrenDepartments() + { + $department_id = request('department_id'); + $service = new DepartmentService(); + return $service->GetChildrenDepartments($department_id); + } + } diff --git a/Laravel/app/Http/Controllers/API/PdfController.php b/Laravel/app/Http/Controllers/API/PdfController.php index 4abad0a..78e3983 100644 --- a/Laravel/app/Http/Controllers/API/PdfController.php +++ b/Laravel/app/Http/Controllers/API/PdfController.php @@ -37,7 +37,7 @@ public function CreateJianChaShenQingDanPdf() if (!is_array($OrderNoList)) return \Yz::JsonReturn("OrderNoList,应为数组"); $config=DB::table('configs')->where(['label'=>'开启申请单pdf'])->first(); if (!$config or $config->value<>1) return \Yz::JsonError("未开启申请单pdf"); - $generator = new \Picqer\Barcode\BarcodeGeneratorHTML(); + $generator = new \Picqer\Barcode\BarcodeGeneratorPNG(); $successCount=0; foreach ($OrderNoList as $orderNo) { $entrustInfo=DB::table('s_list as a')->where(['a.entrust_id'=>$orderNo,'a.list_status'=>1,'a.is_nullify'=>0]) @@ -45,7 +45,8 @@ public function CreateJianChaShenQingDanPdf() ->leftJoin('s_period as c','a.reservation_time','=','c.id') ->first(); if(!$entrustInfo) continue; - $tiaoma = $generator->getBarcode($entrustInfo->app_num, $generator::TYPE_CODE_128, 2, 40); + $barcodeContent = $entrustInfo->patient_type == 0 ? substr($entrustInfo->episodeid, -10) : $entrustInfo->reg_num; + $tiaoma = base64_encode($generator->getBarcode($barcodeContent, $generator::TYPE_CODE_128, 2, 40)); $source=null; if(!empty($entrustInfo->reservation_sources)){ diff --git a/Laravel/app/Services/Admin/YeWu/DepartmentService.php b/Laravel/app/Services/Admin/YeWu/DepartmentService.php index 7ff3dfe..1cc5b6f 100644 --- a/Laravel/app/Services/Admin/YeWu/DepartmentService.php +++ b/Laravel/app/Services/Admin/YeWu/DepartmentService.php @@ -223,4 +223,16 @@ public function Search($keyword) ->get(); return \Yz::Return(true, '查询成功', ['list' => $list]); } + + //获取指定科室的下级科室列表(执行诊室) + public function GetChildrenDepartments($department_id) + { + $list = DB::table('s_department') + ->where('pid', $department_id) + ->where('is_del', 0) + ->where('department_status', 1) + ->select('id', 'department_name') + ->get(); + return \Yz::Return(true, '查询成功', ['list' => $list]); + } } diff --git a/Laravel/app/Services/Admin/YeWu/DeptDeviceService.php b/Laravel/app/Services/Admin/YeWu/DeptDeviceService.php index 39e459f..e7e24ba 100644 --- a/Laravel/app/Services/Admin/YeWu/DeptDeviceService.php +++ b/Laravel/app/Services/Admin/YeWu/DeptDeviceService.php @@ -26,7 +26,8 @@ public function GetList($searchInfo, $page, $pageSize, $userid) } $count = $list->count(); - $items = $list->select('s_devices.*') + $items = $list->select('s_devices.*', 'sr.execute_department_id') + ->leftJoin('s_department_resources as sr', 's_department_resources_device.rsourece_id', '=', 'sr.id') ->orderBy('s_devices.id', 'desc') ->skip(($page - 1) * $pageSize) ->take($pageSize) @@ -53,16 +54,57 @@ public function Save($data, $userid) 'is_del' => 0, ]); //关联到当前科室 - DB::table('s_department_resources_device')->insert([ + $linkId = DB::table('s_department_resources_device')->insertGetId([ 'department_id' => $user->department_id, 'device_id' => $deviceId, ]); + //如果有执行诊室,创建资源记录并关联 + if (!empty($data['execute_department_id'])) { + $resourceId = DB::table('s_department_resources')->insertGetId([ + 'department_resources_name' => $data['device_name'], + 'department_id' => $user->department_id, + 'execute_department_id' => $data['execute_department_id'], + 'is_del' => 0, + ]); + DB::table('s_department_resources_device') + ->where('id', $linkId) + ->update(['rsourece_id' => $resourceId]); + } } else { //更新设备 DB::table('s_devices')->where('id', $data['id'])->update([ 'device_name' => $data['device_name'], 'status' => $data['status'] ?? 1, ]); + //如果有执行诊室,更新资源记录 + $link = DB::table('s_department_resources_device') + ->where('device_id', $data['id']) + ->where('department_id', $user->department_id) + ->first(); + if ($link) { + if (!empty($data['execute_department_id'])) { + if ($link->rsourece_id) { + //更新已有资源 + DB::table('s_department_resources') + ->where('id', $link->rsourece_id) + ->update([ + 'execute_department_id' => $data['execute_department_id'], + 'department_resources_name' => $data['device_name'], + ]); + } else { + //创建新资源并关联 + $resourceId = DB::table('s_department_resources')->insertGetId([ + 'department_resources_name' => $data['device_name'], + 'department_id' => $user->department_id, + 'execute_department_id' => $data['execute_department_id'], + 'is_del' => 0, + ]); + DB::table('s_department_resources_device') + ->where('id', $link->id) + ->update(['rsourece_id' => $resourceId]); + } + } + } } DB::commit(); return \Yz::Return(true, '保存成功'); diff --git a/Laravel/public/info.php b/Laravel/public/info.php new file mode 100644 index 0000000..61ace19 --- /dev/null +++ b/Laravel/public/info.php @@ -0,0 +1,2 @@ +检查预约回执单