Skip to content

SC-015 機種台数変化一覧ショートコード

概要

  • 指定期間・ホールにおいて、db_daily_article_kishu_count_delta に登録された台数前日比変化を一覧表示する。
  • period_startperiod_end(期間)・hall(ホール名)を属性で受け取り、KishuCountDeltaListConverter でバリデーション・DTO 変換後、KishuCountDeltaListControllerKishuCountDeltaListService 経由でデータを取得、Twig で HTML にレンダリングする。
  • 期間は最大 366 日(period_startperiod_end かつ差が 366 日以内)。SC-010 と同型。
  • 表示対象は 変化検出済み行のみcount_delta_vs_previous_day !== 0 で DB に存在する行)。前後同数・前日ホール欠損は行が無いため表示されない。新台(+N)・撤去(-N)・既存機種の増減は登録・表示される(issue-2070-kishu-count-delta-design.md 参照)。

外部インターフェース

ショートコードタグ

  • タグ名: [kishu_count_delta_list]
  • 入力例: [kishu_count_delta_list period_start="20240101" period_end="20240131" hall="アイランド秋葉原"]

属性一覧

属性役割必須
period_start集計開始日(YYYY-MM-DD / YYYY/MM/DD / YYYYMMDD 形式、2020年〜当年)
period_end集計終了日(同上、period_start 以降かつ 366 日以内)
hall対象ホール名(HallEnum 対応)

出力

内容
日付period_key(表示は Y年n月j日 形式)
機種名kishu
前日比符号付き差分(例: +2台-1台
  • ソート: period_key DESC → kishu ASC(ADM-016 一覧と同順)
  • 0 件: 空状態メッセージ(KishuCountDeltaListMessages::NO_DATA
  • 読取上限: 2000 行(超過時は先頭 2000 行のみ表示。Repository 定数で制御)

エラー

条件ユーザー向け挙動メッセージ / ログ
period_start / period_end 未指定または空ErrorHandler の返す文言ValidationExceptionMessages::VALIDATION_DATE_REQUIRED
日付が不正な形式・範囲外同上ValidationExceptionMessages::VALIDATION_DATE_INVALID_*
period_start > period_end同上ValidationExceptionKishuCountDeltaListMessages::PERIOD_ORDER
期間が 366 日超同上ValidationExceptionKishuCountDeltaListMessages::PERIOD_MAX_DAYS
hall 未指定または不正値同上ValidationException(HallEnum 照合失敗)
コントローラー・サービスの \ExceptionErrorHandler の返す文言ErrorHandler::handle_error() 経由

今後の更新で崩してはいけないところ(互換性契約)

公開契約(Breaking change 扱い)

  • ショートコード名 kishu_count_delta_list を変更しない
  • 属性名 period_start / period_end / hall を変更しない