クラス管理の所属園児数の修正
状態: 2026年9月20日、ユーザーのモック確認と「OK、実装しよう」の依頼を受けて実装し、続く本番反映依頼により 同日9:29:22 JSTに本番配備を完了。配備版と実機確認の記録を参照。
要望と確認済みの原因
ユーザーは、クラス管理の所属園児数と園児一覧の人数が異なる原因の実機調査後に「修正しよう」と依頼した。
実機の読み取り専用調査で、退園児がクラス管理の人数に含まれていることを確認した。施設の個別集計結果は公開資料に含めない。以下の人数は、同じ不一致を検証するための再現用サンプルを示す。
本番版は 8e458f223e2b32b30675cfec78cb2464fcf1fc0e。クラス管理は classroom.children の全件数を表示し、園児一覧の初期表示は status == enrolled に絞るため、99人と97人の差が出る。
モックで合意した仕様
- クラス管理の「所属園児」は、各クラスの
status == enrolledの人数を表示する。卒園・退園は数えない。 - 判定は園児一覧と同じ在籍状況を使う。入退園日を使った新たな判定は追加しない。
- 在園児が0人のクラスも表示し、人数は0人とする。クラス未登録時の表示も保持する。
- 退園・卒園児の登録とクラスの関連は保持する。園児一覧で「すべて」「卒園」「退園」を選んだ場合は引き続き対象を表示する。
- 「所属園児」の見出し、クラスの表示順・追加・編集の操作は現行どおり。集計画面に保存操作はなく、画面を開いた時点の登録状況を反映する。
- クラス未設定の在園児はどのクラスにも数えない。その場合はクラス別合計と園児一覧全体が一致しない。
確認用モック
本番のクラス一覧・クラス編集テンプレートを基準とする。上部の表示切替・サンプル切替・比較集計は確認用で、本番UIへの追加案ではない。
実園児の個別情報を使わず、人数を再現した架空データのみで動く。外部通信・本番DB・送信処理は使用しない。
- 修正前/修正後の人数を切り替える。
- 通常、在園0人(退園・卒園のみ)、クラス未登録を切り替える。
- 既存のクラス名・表示順の入力欄を保持し、未入力・一部入力・入力エラーを試せる。
- 追加・編集の保存はモック内だけに反映する。キャンセル/一覧に戻るでは入力を反映しない。
モック名は classroom-enrolled-count-review.html。ブラウザーで修正前99人/修正後97人、在園0人、クラス未登録、必須項目エラー、追加したクラスの0人表示、編集のキャンセルを確認済み。本番の動作検証ではない。
実装と検証
クラス一覧の表示用に、既に読み込んでいる園児から在園数をクラスごとに計算し、テンプレートに渡す。園児の関連データにはフィルターや書き換えを行わず、DB変更・移行は不要。モックの確認用コントロールはアプリに追加していない。
- 修正前に、合意したモックの6クラス・在園97人/退園2人を再現したテストが失敗することを確認。
- 修正後、同じ条件で6・15・20・20・17・19人と表示され、園児一覧の在園97人と一致することを確認。
- 退園・卒園のみのクラスと新設クラスの0人表示、クラス未登録、クラス未設定の在園児の扱いを確認。
- 園児編集で在園→退園→卒園→在園と変更した後に、人数が再集計され、クラスの所属関係が保持されることを確認。
- 入退園日による別の絞り込みを加えず、園児一覧と同じ在籍状況で判定することを確認。
- 園児一覧の「すべて」「卒園」「退園」で記録を参照でき、一覧閲覧でデータが変わらないことを確認。
- クラス管理・園児一覧の関連テスト 17件成功。対象コードのRuffと差分の空白検査も成功。
本番配備では最新の配備記録と実機の版を確認し、現行本番を土台とする専用ブランチへ修正だけを取り込んだ。配備版の全体テスト754件が成功。既存機能とデータを保持した状態で本番へ反映し、実機の人数表示と在園数の一致を確認した。