Appearance
ADM-020 ana-slo データ取得管理画面
概要
- 管理者・取込担当が通常のブラウザで開いた ana-slo.com のホール別データページ HTML を貼り付け(またはファイル選択し)、パースして db2023 に取り込む。ana-slo.com への自動取得は行わない。
- 取込の流れは ADM-011(min-repo HTML インポート)と同じ「HTML 貼り付け → 機種名の紐付け確認 → 取込」。
- 同じ取込を REST API-005 外部データ取込 REST(
data-import/v1/ana-slo/*)からも行える。HTML 検証・パース・紐付け保存・取込・履歴記録は画面と REST で同じDailyDataHtmlImportServiceを通す。 - 取り込んだ結果は ADM-011 と共通の取込履歴(option
slot_kouryaku_min_repo_import_history、取込元ana-slo)に記録する。
外部インターフェース
管理画面 URL
| 項目 | 値 |
|---|---|
| URL | /wp-admin/admin.php?page=ana-slo-data-admin |
| メニュー名 | ana-slo データ取得 |
| 権限 | import_ana_slo_html |
権限とロール
メニュー表示・画面表示・フォーム POST・最新日取得 AJAX のすべてで Capability import_ana_slo_html を要求する。
| ロール | 付与 |
|---|---|
administrator | 常に付与(AppCapabilityInstaller が毎回補完) |
min_repo_importer(min-repo 取込担当) | 既定で付与。ロールごとの付与は ADM-035 を正とする |
取り込めるホール
island / espasu / bigapple(DataImportSourceEnum::ANA_SLO->halls())。
フォーム POST(同期)
POST admin.php?page=ana-slo-data-admin。Nonce フィールド: ana_slo_nonce(検証アクション: ana_slo_admin)。
ana_slo_action 値 | 処理 |
|---|---|
import_html | HTML を検証・パースし、紐付け確認を表示 |
execute_confirmed_import | 紐付けを保存して取込 |
| フィールド | 説明 |
|---|---|
ana_slo_date | 対象日付 |
ana_slo_hall | 対象ホールキー |
ana_slo_html_value | ページ HTML |
ana_slo_html_encoded | Base64 送信時は 1 |
ana_slo_html_file | .html / .htm ファイルアップロード |
ana_slo_delete_existing | 同じ日付・ホールの既存データを削除してから取り込む場合は 1 |
ana_slo_mapping_*[] | 紐付け確認フォームの各行(機種名・mode・既存マスタ ID・新名) |
HTML の上限は 5MB(DailyDataHtmlImportConstants::MAX_HTML_LENGTH。ADM-011・API-005 と共通)。
AJAX
| action | 権限 | 内容 |
|---|---|---|
ana_slo_get_latest_day | import_ana_slo_html | ホールの db2023 最新日と翌日(API-005-3 と同じ値) |
リダイレクト後クエリ(通知)
| クエリ | 内容 |
|---|---|
asc_success | 1 / 0 |
asc_msg | 表示文言 |
エラー
| 条件 | ユーザー向け挙動 | メッセージ例 |
|---|---|---|
| 権限なし | 表示: wp_die / POST・AJAX: 拒否 | 権限メッセージ |
| nonce 不正 | リダイレクト | Messages::AUTH_FAILED |
| HTML 空 | リダイレクト | AnaSloMessages::HTML_PLEASE_INPUT |
| HTML Base64 復元失敗 | リダイレクト | AnaSloMessages::HTML_DECODE_FAILED |
| HTML 長さ超過 | リダイレクト | AnaSloMessages::HTML_TOO_LONG |
| 日付未入力・形式不正 | リダイレクト | AnaSloMessages::DATE_PLEASE_INPUT |
| ホール未選択・対象外 | リダイレクト | AnaSloMessages::HALL_PLEASE_SELECT |
| パース結果 0 件 | リダイレクト | AnaSloMessages::HTML_PARSE_EMPTY |
| 同じ日付・ホールの取込が実行中(REST・ADM-011 を含む) | リダイレクト | Messages::DAILY_DATA_IMPORT_LOCKED |
| DB エラーで取込ロックを取れない | リダイレクト | Messages::DAILY_DATA_IMPORT_LOCK_UNAVAILABLE |
変更履歴(設計書)
| 日付(JST) | 変更内容 | コード側の対応 |
|---|---|---|
| 2026-10-03 | 初版作成。権限を import_ana_slo_html に変更、REST(API-005)と共通処理化 | Issue #3873 |