開発者向けサポート

追加管理画面作成

マスタテーブルを作成し、SKでそのテーブルのメンテナンス画面を作成します。
このAPIを利用した実例について、 Apps活用事例 にて掲載しておりますので、こちらの内容と併せてご覧いただけますと幸いです。

この機能はアウトソースパートナー様のみご利用可能です。

DBにテーブルを作成

  • テーブル名は標準と名前が衝突しないようにする(接頭に店舗Noを付加する等)
  • 必ず「テーブル名_ID」がカラム名で、numeric(11,0)形式の主キーカラムを作成する
  • 使用できる型は numeric, varchar, text, timestampのみとする
  • 外部キー制約は使用しない
  • 必ず「SEQ_テーブル名_ID」という名前のシーケンスを作成する
  • indexを作成する際の名称は「IDX_[テーブル名_]カラム名」とする(複合インデックスの場合はカラム名を"_"でつなげる)

※SQLの区切り文字は"/"とする

CREATE TABLE SAMPLE_MST_TABLE(  SAMPLE_MST_TABLE_ID NUMERIC(11,0) NOT NULL,  SAMPLE_MST_TABLE_CD VARCHAR(100) NOT NULL,  SAMPLE_MST_TABLE_NAME TEXT,  SAMPLE_MST_TABLE_NUMBER NUMERIC(11,0),  SAMPLE_MST_TABLE_COMMENT TEXT,  REGIST_DATE TIMESTAMP,  UPDATE_DATE TIMESTAMP,  REGIST_USER_ID NUMERIC(11,0),  UPDATE_USER_ID NUMERIC(11,0),  CONSTRAINT PK_SAMPLE_MST_TABLE PRIMARY KEY (SAMPLE_MST_TABLE_ID))/CREATE SEQUENCE SEQ_SAMPLE_MST_TABLE_ID/CREATE INDEX IDX_SAMPLE_MST_TABLE_CD ON TABLE (SAMPLE_MST_TABLE_CD)

InstallBeanに追加

/src/jp/co/interfactory/ebisuapp/sample/command/InstallBean.javaに記述することで管理画面のタイトル等を設定できます。

		AdminScreenCustomize asc = new AdminScreenCustomize();		asc.setDispName("サンプル一覧");		asc.setKey1("SAMPLE_MST_TABLE");		asc.setAdminScreenCustomizePoint("admin_extra_screen/search");		asc.setOptionData("{\"tableDispName\":"サンプルマスタ"}");		is.add(asc);
setDispName
管理画面のタイトルを設定します。
setKey1
テーブルを識別する文字列を設定します。
setAdminScreenCustomizePoint
検索画面の場合:「admin_extra_screen/search」
登録画面の場合:「admin_extra_screen/input」
アップロード画面の場合:「admin_extra_screen/upload」
setOptionData
jsonデータを設定します。jsonファイルを別途用意しても構いません。※次項参照

jsonデータ作成

検索・登録・アップロード画面共通項目

description
画面に表示する説明文
tableName
テーブル名
tableDispName
テーブル日本語名
columnComments
カラムの説明を示したマッピング
columnDefinition
項目の定義
NAME
カラム名
DISP_NAME
画面表示名
DISP_COMMENT
画面コメント
CHECK_PROPERTY
1:半角文字列, 2:数値, 3:日付, 4:全角文字列
CHECK_NEED
必須の場合はtrueを設定
CHECK_INT_SIZE
整数部桁数(CHECK_PROPERTYが2の場合)
CHECK_DEC_SIZE
小数部桁数(CHECK_PROPERTYが2の場合)
CHECK_NEGATIVE_FLG
マイナスを許可する場合はtrueを設定(CHECK_PROPERTYが2の場合)
CHECK_BYTE_SIZE
半角文字を1、それ以外を2としてカウントした時の文字列の長さ(CHECK_PROPERTYが1,4の場合)
FORM_TYPE
0:ラベル,1:テキスト,2:プルダウン,3:チェックボックス,4:ラジオボタン,5:テキストエリア,6:パスワード
FORM_OPTION
選択肢(FORM_TYPEが2,3,4のとき) 値:表示,値:表示,…
DEFAULT_VALUE
新規登録時に初期表示する値
FORM_SIZE
テキスト項目横幅
FORM_MAXLENGTH
テキスト項目最大入力桁数
FORM_TEXTAREA_COLS
テキストエリア項目横幅
FORM_TEXTAREA_ROWS
テキストエリア項目縦幅
FORM_UPPER
入力された項目を自動的に大文字に変換する場合はtrueを設定
FORM_TRIM
入力された項目の先頭と末尾の空白を削除する場合はtrueを設定
FORM_IME_MODE
:何もしない,1:active(自動ON),2:inactive(自動OFF),3:disabled(強制OFF)
FORM_FREE
javascript、スタイルシート等を自由に記述
CHECK_BYTE_SIZE
最大文字数
SET_DATE_CHECK_FLAG
CHECK_PROPERTYを4にせずに、日付のチェックを行う場合はtrueを設定
CHECK_REGEX
入力された項目をチェックしたい場合に正規表現を記述
DATE_TIME_CALENDAR_FLAG
trueにすると日時カレンダーが表示されます。CHECK_PROPERTYは[1][4]のいずれかで利用してください。また、DBがtimestamp型の場合はsqlが正常に動かないので処理カスタマイズAPIでsqlのカスタマイズが必要になります。

検索画面

searchConditionColumnNameList
画面に表示する検索項目カラムのリスト
listColumnNames
画面に表示する検索結果カラムのリスト
csvColumnNames
検索結果をCSVファイルでダウンロードした際に表示するカラムのリスト
searchFirst
ページ表示時に初期検索結果を表示する場合はtrueを設定
searchResultAbove
検索結果を画面上部に表示する場合はtrueを設定
mustSearchNameList
検索条件として入力が必須のカラム
defaultOrderByStatement
昇順で並び替えるカラム
searchPageOnly
検索結果画面に編集ボタンを表示しない場合はtrueを設定
ajaxSelectColumnList
AjaxのSELECTを利用するカラムを設定(虫眼鏡アイコンが表示されます)
name
表示する項目
type
nameと異なるtypeの場合に設定(nameとtypeが同一の場合はnull設定)

登録画面

inputColumnsList
入力フォームを表示するカラムのリスト(登録した順に表示されます)
uniqueColumnsList
ユニークチェックを行うカラムの組み合わせ
ignoreHaitaDate
排他チェックに使用するカラム※設定しない場合は排他チェックを行いません(非推奨)
backForward
登録画面から「戻る」ボタンを押下した際の遷移先を設定できます。
検索画面:「search」
登録画面:「input」
メニュー画面:「admin_menu_selected」
{  "description": "ここではサンプルマスタの検索・照会を行います。",  "tableName": "SAMPLE_MST_TABLE",  "tableDispName": "サンプルマスタ",  "listColumnNames": ["SAMPLE_MST_TABLE_CD", "SAMPLE_MST_TABLE_NAME", "SAMPLE_MST_TABLE_NUMBER", "SAMPLE_MST_TABLE_COMMENT"],  "csvColumnNames": ["SAMPLE_MST_TABLE_CD", "SAMPLE_MST_TABLE_NAME", "SAMPLE_MST_TABLE_NUMBER", "SAMPLE_MST_TABLE_COMMENT", "REGIST_DATE", "UPDATE_DATE"],  "columnDefinition": [    {      "NAME": "SAMPLE_MST_TABLE_CD",      "CHECK_PROPERTY": 1,      "DISP_NAME": "サンプルマスタコード",      "CHECK_NEED": true,      "CHECK_BYTE_SIZE": 10,      "FORM_TYPE": 1,      "FORM_MAXLENGTH": 10,      "FORM_SIZE": 15,      "FORM_UPPER": true,      "FORM_TRIM": true    },    {      "NAME": "SAMPLE_MST_TABLE_NAME",      "CHECK_PROPERTY": 1,      "DISP_NAME": "サンプルマスタ名",      "CHECK_NEED": false,      "CHECK_BYTE_SIZE": 50,      "FORM_TYPE": 1,      "FORM_MAXLENGTH": 50,      "FORM_SIZE": 30    },    {      "NAME": "SAMPLE_MST_TABLE_NUMBER",      "CHECK_PROPERTY": 1,      "DISP_NAME": "サンプルマスタ番号",      "CHECK_NEED": false,      "CHECK_BYTE_SIZE": 10,      "FORM_TYPE": 1,      "FORM_MAXLENGTH": 10,      "FORM_SIZE": 20      "FORM_TRIM": true    },    {      "NAME": "ITEM_CD",      "CHECK_PROPERTY": 1,      "DISP_NAME": "商品コード",      "CHECK_NEED": true,      "CHECK_BYTE_SIZE": 50,      "FORM_TYPE": 1,      "FORM_MAXLENGTH": 50,      "FORM_SIZE": 20      "FORM_UPPER": true,      "FORM_TRIM": true    },  ],  "columnComments": {},  "searchConditionColumnNameList": ["SAMPLE_MST_TABLE_CD","SAMPLE_MST_TABLE_NAME"],  "searchFirst": true,  "searchResultAbove": false,  "mustSearchNameList": ["SAMPLE_MST_TABLE_CD"],  "searchPageOnly": true,  "defaultOrderByStatement": "SAMPLE_MST_TABLE_CD",  "ajaxSelectColumnList": [		{			"name": "SAMPLE_MST_TABLE_CD",			"type": "extra.SAMPLE_MST_TABLE.SAMPLE_MST_TABLE_CD"		}, {			"name": "ITEM_CD",			"type": "item_cd"		}	]}

アップロード画面

keyColumnNames
アップロード時のキーとして使用するカラムのリスト
csvColumnNames
アップロードするカラムの名前のリスト
isDeleteInsertMode
「追加登録 / 一括更新(洗い替え)」のラジオボタンが表示され、洗い替え処理を選択できるようになります。
isShowRegisteredDownloadButton
「登録済みデータダウンロード」ボタンが表示され、アップロード画面からでもcsvダウンロードができるようになります。
※検索一覧画面を利用しない場合でも別途検索一覧画面のjson定義が必要になります。
tableName
記載したテーブルがダウンロード対象となります(必須)
tableDispName
CSVのヘッダーで使用されます。記載がない場合はヘッダーが正しく表示されません。(任意)
csvColumnNames
記載がある場合出力する項目を設定できます。記載しない場合は全ての項目が出力されます。(任意)
※使用する場合は[columnDefinition]も記載しないと正しく機能しません。
columnDefinition
出力するCSVの情報を設定できます。
NAME:csvColumnNamesと同名のカラム名を記載してください。
DISP_NAME:記載した項目名がヘッダー項目に表示されます。
CHECK_PROPERTY:1~4のいずれかを記入してください。アップロード画面でのCSV出力にしか使用されない場合はどの数値を設定しても問題ありません。
{	description: "マスタの設定をします。",	tableName: "WISH_LIST",	tableDispName: "ウィッシュリストマスタ",	keyColumnNames: ["MEMBER_ID","ITEM_ITEMPROPERTY_CD"]	columnDefinition: [		{			"NAME": "WISH_LIST_ID",			"CHECK_PROPERTY": 2,			"DISP_NAME": "ID",			"CHECK_NEED": true,			"CHECK_INT_SIZE": 8,		},		{			"NAME": "MEMBER_ID",			"CHECK_PROPERTY": 2,			"DISP_NAME": "会員ID",			"CHECK_NEED": true,			"CHECK_INT_SIZE": 8,		},		{			"NAME": "ITEM_ITEMPROPERTY_CD",			"CHECK_PROPERTY": 1,			"DISP_NAME": "商品コード",			"CHECK_NEED": true,			"CHECK_BYTE_SIZE": 200,		},		{			"NAME": "ITEM_NAME",			"CHECK_PROPERTY": 4,			"DISP_NAME": "商品名",			"CHECK_NEED": true,			"CHECK_BYTE_SIZE": 10000,		},		{			"NAME": "WISH_LIST_COMMENT",			"CHECK_PROPERTY": 4,			"DISP_NAME": "コメント",			"CHECK_NEED": false,			"CHECK_BYTE_SIZE": 10000,		}	]}

別途jsonファイルを用意する場合は/webapp/WEB-INF/配下にjsonファイルを作成し、InstallBeanに下記のように記述します。

asc.setOptionData(new String(FileUtil.readFileToString(getRequestThreadLocal().getServletContext().getRealPath("WEB-INF/mst_sample_search.json"), "UTF-8")));

メニューマスタに項目を追加

※ご入用の際は当社サポートまでご依頼ください。
MENUテーブルにレコードを追加します。
MENU_PATHには"admin_extra_search?path=「アプリコード」/「テーブルを識別する文字列」"を設定します。

INSERT INTO MENU (MENU_ID, MENU_USE_KBN, MENU_KBN, MENU_TEXT, MENU_PATH, MENU_AUTH, MENU_CATEGORY, PARENT_MENU_ID, MENU_ORDER) VALUES(1001, 1, 1, 'サンプルマスタ管理', 'admin_extra_search?path=SAMPLE/SAMPLE_MST_TABLE', 'D', 'Item', 40, 118)/

免責事項

免責事項については こちら をご参照ください。

ここを見た方は他にもこんなページを見ています。