Skip to content

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_idrename / deactivate対象 ID
kishu_master_nameadd / rename機種名(必須、最大 255 文字)
kishu_master_source_idmerge_preview / merge統合元 ID
kishu_master_target_idmerge_preview / merge統合先 ID

リダイレクト後クエリ(通知)

クエリ内容
km_success1 / 0
km_msgメッセージ(URL エンコード済みで渡る場合あり)

編集・プレビュー用 GET

GET パラメータ説明
km_edit名称変更対象 ID
km_search機種名部分一致検索
km_merge_preview1 のときプレビュー結果表示
km_source_idプレビュー対象の統合元 ID
km_target_idプレビュー対象の統合先 ID

データ

テーブル: db_kishu_master

カラム説明
id主キー
name機種名(uk_name)
is_active有効フラグ
created_at / updated_atタイムスタンプ

一覧の参照件数サマリ

列名参照先
mappingdb_kishu_display_mapping.display_kishu 一致件数
db2023db2023.kishu_id
summarydb_daily_article_kishu_single_day_summary.kishu_id
deltadb_daily_article_kishu_count_delta.kishu_id
birthdaydb_birthday_kishu.kishu_id

merge 時の業務テーブル更新

KishuIdBackfillRepository::update_kishu_id_from_to により次の4テーブルを更新する。

  • db2023
  • db_daily_article_kishu_single_day_summary
  • db_daily_article_kishu_count_delta
  • db_birthday_kishu

更新後、KishuMasterRepository::delete_by_id で統合元マスタ行を物理削除する。

エラー

条件ユーザー向け挙動メッセージ / ログ
nonce 不正リダイレクト+エラーMessages::AUTH_FAILED
必須項目空・長さ超過リダイレクト+エラーKishuMasterAdminMessages::*
名称重複リダイレクト+エラーADD_DUPLICATE
merge 同一 IDリダイレクト+エラーMERGE_SAME_ID
merge DB 失敗リダイレクト+エラーMERGE_FAILED(ErrorHandler にログ)