Appearance
ADM-017 機種マスタ管理画面
概要
db_kishu_masterの一覧・新規登録・名称変更・統合(merge)・無効化を行う専用管理画面。- WordPress 設定サブメニューとして登録。操作はすべて 同一 URL への POST(リダイレクト+クエリ通知)。admin-ajax は使用しない。
- rename / merge / 無効化は確認ダイアログ必須。merge 実行前に影響件数プレビュー(ドライラン)を表示できる。
外部インターフェース
管理画面 URL
| 項目 | 値 |
|---|---|
| URL | /wp-admin/options-general.php?page=kishu-master-admin |
| メニュー名 | 機種マスタ |
| 権限 | manage_options |
フォーム POST(同期 CRUD / merge)
POST options-general.php?page=kishu-master-admin。
kishu_master_action 値 | 処理 |
|---|---|
add | 新規登録(upsert_by_names、重複は uk_name で拒否) |
rename | 名称変更(update_name、確認ダイアログ必須) |
deactivate | 無効化(is_active = 0、確認ダイアログ必須) |
merge_preview | 統合の影響件数プレビュー(ドライラン) |
merge | 統合実行(業務4テーブルの kishu_id 差し替え+旧行 DELETE、確認必須) |
Nonce フィールド: kishu_master_nonce(検証アクション: kishu_master_admin)
主な POST パラメータ
| フィールド | 操作 | 説明 |
|---|---|---|
kishu_master_id | rename / deactivate | 対象 ID |
kishu_master_name | add / rename | 機種名(必須、最大 255 文字) |
kishu_master_source_id | merge_preview / merge | 統合元 ID |
kishu_master_target_id | merge_preview / merge | 統合先 ID |
リダイレクト後クエリ(通知)
| クエリ | 内容 |
|---|---|
km_success | 1 / 0 |
km_msg | メッセージ(URL エンコード済みで渡る場合あり) |
編集・プレビュー用 GET
| GET パラメータ | 説明 |
|---|---|
km_edit | 名称変更対象 ID |
km_search | 機種名部分一致検索 |
km_merge_preview | 1 のときプレビュー結果表示 |
km_source_id | プレビュー対象の統合元 ID |
km_target_id | プレビュー対象の統合先 ID |
データ
テーブル: db_kishu_master
| カラム | 説明 |
|---|---|
id | 主キー |
name | 機種名(uk_name) |
is_active | 有効フラグ |
created_at / updated_at | タイムスタンプ |
一覧の参照件数サマリ
| 列名 | 参照先 |
|---|---|
| mapping | db_kishu_display_mapping.display_kishu 一致件数 |
| db2023 | db2023.kishu_id |
| summary | db_daily_article_kishu_single_day_summary.kishu_id |
| delta | db_daily_article_kishu_count_delta.kishu_id |
| birthday | db_birthday_kishu.kishu_id |
merge 時の業務テーブル更新
KishuIdBackfillRepository::update_kishu_id_from_to により次の4テーブルを更新する。
db2023db_daily_article_kishu_single_day_summarydb_daily_article_kishu_count_deltadb_birthday_kishu
更新後、KishuMasterRepository::delete_by_id で統合元マスタ行を物理削除する。
エラー
| 条件 | ユーザー向け挙動 | メッセージ / ログ |
|---|---|---|
| nonce 不正 | リダイレクト+エラー | Messages::AUTH_FAILED |
| 必須項目空・長さ超過 | リダイレクト+エラー | KishuMasterAdminMessages::* |
| 名称重複 | リダイレクト+エラー | ADD_DUPLICATE |
| merge 同一 ID | リダイレクト+エラー | MERGE_SAME_ID |
| merge DB 失敗 | リダイレクト+エラー | MERGE_FAILED(ErrorHandler にログ) |