| ID ▼ | 計画名 ▲ | 法人名 | 事業所名 | 作成者 | 対象講座数 | 割当先 | 状態 | 作成日 ▼ | |
|---|---|---|---|---|---|---|---|---|---|
| PLN-0251 | 2026年度 新人向け基礎研修計画 | 社会福祉法人◯◯会 | ◯◯デイサービス | 山田 太郎 | 8 | 事業所全体 | 進行中 | 2026-04-10 | |
| PLN-0250 | 感染症対策 全職員必修研修 2026 | 医療法人△△会 | △△グループホーム | 鈴木 花子 | 5 | 全職員 | 進行中 | 2026-04-08 | |
| PLN-0247 | リーダー職 マネジメント研修(前期) | 社会福祉法人□□福祉会 | □□訪問介護 | 田中 一郎 | 6 | 指定メンバー | 完了 | 2026-04-05 | |
| PLN-0246 | 虐待防止研修 年間計画 | 特定非営利活動法人◇◇ | ◇◇障害者支援施設 | 伊藤 美紀 | 4 | 全職員 | 進行中 | 2026-04-03 | |
| PLN-0244 | 秋季 認知症ケア 中堅職員研修 | 医療法人社団〇〇 | 〇〇デイサービスセンター | 高橋 直人 | 10 | 指定メンバー | 未開始 | 2026-04-01 | |
| PLN-0239 | 訪問介護員 スキルアップ研修 2026 | 社会福祉法人◯◯会 | ◯◯訪問介護ステーション | 渡辺 春菜 | 7 | 事業所全体 | 進行中 | 2026-05-15 | |
| PLN-0233 | 新任管理者向け マネジメント基礎コース | 医療法人△△会 | △△居宅介護支援 | 中村 誠一 | 9 | 指定メンバー | 完了 | 2026-06-01 | |
| PLN-0228 | グループホーム 冬期安全研修計画 | 社会福祉法人□□福祉会 | □□グループホーム第2 | 小林 恵子 | 3 | 全職員 | 未開始 | 2026-06-10 | |
| ID | 計画名 | 法人名 | 事業所名 | 作成者 | 対象講座数 | 割当先 | 状態 | 作成日 |
カスタムテーブル lms_member_plans のデータを読み取り専用で表示する WP_List_Table 継承クラス(LMS_Member_Plan_List_Table)を実装する。管理メニューは add_submenu_page() で「研修計画管理」親メニュー配下に「会員研修計画一覧」として登録(スラッグ: lms-member-plans)。フロントエンド(F-CORP-004 / F-SITE-004)で会員が作成したデータをそのまま参照するため、事務局からの直接編集・削除ボタンは一切設けない。行アクションは「表示」のみとし、詳細閲覧画面(別画面実装が必要)へのリンクを提供する。列: 計画ID / 計画名 / 法人名 / 事業所名 / 作成者 / 対象講座数 / 割当先 / 状態 / 作成日。ソート対応列: ID・計画名・対象講座数・作成日。
メニュー表示条件は current_user_can('manage_lms') または manage_lms_reports カスタム権限。事務局ロールにのみ付与し、会員アカウント(法人管理者・事業所管理者・個人)にはWP管理画面へのアクセス自体を禁止する。この画面はデータ閲覧専用のため edit_posts / delete_posts 系のcapabilityを要求しない設計にする。REST API経由での閲覧エンドポイント(GET /wp-json/lms/v1/member-plans)にも同一権限チェックを適用する。
参照するカスタムテーブルの主要カラム: plan_id(PK)、plan_name(計画名)、corp_id(法人ID・lms_corporationsテーブルとJOIN)、site_id(事業所ID・lms_sitesテーブルとJOIN)、author_user_id(作成者WPユーザーID)、lecture_count(対象講座数)、assign_type(割当先区分: all_site / specified_members)、plan_status(状態: active / completed / pending)、created_at(作成日時)。法人名・事業所名・作成者名は JOIN または個別クエリで解決する。状態ラベルのマッピング: active→「進行中」、completed→「完了」、pending→「未開始」。
一括操作(Bulk Actions): 「CSVエクスポート」のみ実装。選択した研修計画の一覧(計画名・法人・事業所・講座数・状態・作成日)をCSV形式でダウンロードする。編集・削除系の一括操作は設けない(閲覧専用)。行アクション(Row Actions): 「表示」のみ。対象計画の詳細閲覧画面へ遷移し、計画に含まれる講座リスト・割当先メンバー・受講進捗状況を確認できる。
表示列の選択: 計画名(必須・非表示不可) / 法人名 / 事業所名 / 作成者 / 対象講座数 / 割当先 / 状態 / 作成日。デフォルトはすべて表示。ページあたり表示件数: デフォルト20件、選択肢 10 / 20 / 50 / 100。set-screen-option フィルタで lms_member_plans_per_page キーとして get_user_meta() に保存。列幅が広いため将来的に列の並び替え(Screen Options)対応を検討する。
想定件数: 初年度約500法人×平均2計画=1,000件、5年後最大5,000〜10,000件規模。$wpdb->prepare() によるカスタムテーブルSQLで、ページネーション(LIMIT + OFFSET)を必ず適用し全件取得を禁止する。法人・事業所・作成日でのフィルタは WHERE句に直接展開せず $wpdb->prepare() でプレースホルダーを使用してSQLインジェクションを防止する。法人名・事業所名のJOINはINNER JOINまたはサブクエリで実装し、corp_id / site_id カラムにインデックスを設定して検索速度を確保する。一覧アクセス時はNonce検証(check_admin_referer())を適用する。CSVエクスポート時は出力するデータが事務局閲覧権限の範囲内に限定されることをクエリレベルで保証する。個人情報(作成者名)を含むCSVはダウンロード後に適切に管理するよう運用マニュアルに記載する。