From 2abeb50a50de2d2f27aa1273776c10a11938e61a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BD=A0=E7=9A=84=E5=90=8D=E5=AD=97?= <你的邮箱> Date: Fri, 10 Oct 2025 16:28:29 +0900 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E6=8C=87=E6=91=98=E5=AF=BE=E5=BF=9C?= =?UTF-8?q?=E3=80=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Admin/UsingStatusController.php | 2 +- app/Services/UsingStatusService.php | 76 ++-- .../views/admin/tag_issue/list.blade.php | 4 +- .../views/admin/using_status/index.blade.php | 2 +- .../views/auth/forgot-password.blade.php | 27 +- resources/views/auth/reset-password.blade.php | 22 +- resources/views/layouts/app.blade.php | 382 ++++++++++-------- 7 files changed, 291 insertions(+), 224 deletions(-) diff --git a/app/Http/Controllers/Admin/UsingStatusController.php b/app/Http/Controllers/Admin/UsingStatusController.php index dac10fc..55a5bac 100644 --- a/app/Http/Controllers/Admin/UsingStatusController.php +++ b/app/Http/Controllers/Admin/UsingStatusController.php @@ -160,7 +160,7 @@ class UsingStatusController extends Controller foreach ($stats as $stat) { $rows[] = [ (string) $stat->park_name, - (string) $stat->ptype_subject, + (string) $stat->psection_subject, (string) $stat->park_limit, (string) $stat->current_count, (string) $stat->available, diff --git a/app/Services/UsingStatusService.php b/app/Services/UsingStatusService.php index 9baa73a..1886d68 100644 --- a/app/Services/UsingStatusService.php +++ b/app/Services/UsingStatusService.php @@ -25,46 +25,50 @@ class UsingStatusService * @param int|null $parkId 駐輪場ID(null の場合は全て) * @return Collection */ - public function getUtilizationStats(?int $parkId = null): Collection - { - // park_number に車種IDが ptype_id で入っている前提 - // 異なる場合は 'pn.ptype_id' 部分を実テーブル定義に合わせて変更してください - $query = DB::table('park as p') - ->join('park_number as pn', 'p.park_id', '=', 'pn.park_id') - ->join('ptype as pt', 'pn.ptype_id', '=', 'pt.ptype_id') - ->select([ - 'p.park_id', - 'p.park_name', - 'pt.ptype_id', - 'pt.ptype_subject', - // 限界収容台数 - 'pn.park_limit', - // 現在収容台数 - DB::raw('COALESCE(pn.park_number, 0) as current_count'), - // 空き = 収容上限 - 現在 - DB::raw('GREATEST(0, COALESCE(pn.park_limit, 0) - COALESCE(pn.park_number, 0)) as available'), - // 利用率 = 現在 / 上限 * 100 - DB::raw("CASE - WHEN COALESCE(pn.park_limit, 0) > 0 - THEN ROUND((COALESCE(pn.park_number, 0) / pn.park_limit) * 100, 1) - ELSE 0 - END as usage_rate"), - ]) - ->where('p.park_close_flag', '!=', 1); + public function getUtilizationStats(?int $parkId = null): \Illuminate\Support\Collection +{ + // park_number に車種IDが ptype_id で入っている前提 + // 異なる場合は 'pn.ptype_id' 部分を実テーブル定義に合わせて変更してください - if (!empty($parkId)) { - $query->where('p.park_id', $parkId); - } + // ✅ Laravel 12対応:psectionテーブルから車種を取得するように変更 + $query = \DB::table('park as p') + ->join('park_number as pn', 'p.park_id', '=', 'pn.park_id') + // 旧: join('ptype as pt', 'pn.ptype_id', '=', 'pt.ptype_id') + ->leftJoin('psection as ps', 'pn.psection_id', '=', 'ps.psection_id') // ✅ 新しい車種取得方法 + ->select([ + 'p.park_id', + 'p.park_name', + // 'pt.ptype_id', + // 'pt.ptype_subject', + 'ps.psection_subject', // 車種(psection_subject)に変更 + // 限界収容台数 + 'pn.park_limit', + // 現在収容台数 + \DB::raw('COALESCE(pn.park_number, 0) as current_count'), + // 空き = 収容上限 - 現在 + \DB::raw('GREATEST(0, COALESCE(pn.park_limit, 0) - COALESCE(pn.park_number, 0)) as available'), + // 利用率 = 現在 / 上限 * 100 + \DB::raw("CASE + WHEN COALESCE(pn.park_limit, 0) > 0 + THEN ROUND((COALESCE(pn.park_number, 0) / pn.park_limit) * 100, 1) + ELSE 0 + END as usage_rate"), + ]) + ->where('p.park_close_flag', '!=', 1); - $results = $query - // 表示順:自転車 → 原付 → その他 - ->orderByRaw("CASE pt.ptype_subject WHEN '自転車' THEN 1 WHEN '原付' THEN 2 ELSE 3 END") - ->orderBy('p.park_name') - ->get(); - - return $results; + if (!empty($parkId)) { + $query->where('p.park_id', $parkId); } + $results = $query + // 表示順:自転車 → 原付 → その他 + ->orderByRaw("CASE ps.psection_subject WHEN '自転車' THEN 1 WHEN '原付' THEN 2 ELSE 3 END") + ->orderBy('p.park_name') + ->get(); + + return $results; +} + /** * 駐輪場一覧を取得(選択用) */ diff --git a/resources/views/admin/tag_issue/list.blade.php b/resources/views/admin/tag_issue/list.blade.php index a5aae6a..65ad871 100644 --- a/resources/views/admin/tag_issue/list.blade.php +++ b/resources/views/admin/tag_issue/list.blade.php @@ -41,7 +41,7 @@ alert('1件以上選択してください。'); return; } - if (confirm('未発送のタグ発送用宛名を印刷してよろしいですか?')) { + if (confirm('タグ発送用宛名を印刷してよろしいですか?')) { // 送信用form生成 var form = document.createElement('form'); form.method = 'POST'; @@ -174,7 +174,7 @@
- パスワード再発行に関するメールを送信します。登録済みユーザIDおよびメールアドレスを入力してください。
+ パスワード再発行に関するメールを送信します。
登録済みメールアドレスを入力してください。