一覧更新のAPIは「一覧更新グリッド」を設定したときに利用できます。処理は編集開始と更新実行の2段階で行います。

編集を開始します。

@RequestMapping(value="/rest/[modelid]/updatelist", method = GET)

パラメータ

編集データを絞り込むための検索条件を指定することができます。 検索条件は、フォーム画面と同様のパラメータを指定します。 指定がない場合は全件を対象とします。

http://localhost:8921/wagby/rest/model1/updatelist?model1_cp$002fpkey1jshparam=1001&model1_cp$002fpkey2jshparam=1001

また、検索時に指定できるパラメータも指定できます。

レスポンス (1) 成功

STATUS=200 OK

Content-Type: application/json;charset=UTF-8
{
    "result": {
        "size": 2,
        "next": 2,
        "nextPage": false,
        "prevPage": false,
        "current": 1,
        "pageSize": 10
    },
    "conditionp": {
        "pagesize": 10,
        "firstresult": 0,
        "sortkey": null,
        "jgroupid1jshparam": {
            "content": "",
            "formatted": "",
            "errorcode": ""
        },
        "jgroupid2jshparam": {
            "content": "",
            "formatted": "",
            "errorcode": ""
        },
        "jgroupname": {
            "content": null,
            "formatted": null,
            "errorcode": ""
        },
        "valid": {
            "content": null,
            "formatted": null,
            "errorcode": ""
        },
        "noselection_jshparam": []
    },
    "total": 2,
    "listulp": {
        "sortable": "",
        "sort": "",
        "order": "",
        "jfcdeleteable": true,
        "jfcinsertable": true,
        "jfccopyable": false,
        "jfcupdateable": true,
        "item": [
            {
                "jfclocked": true,
                "jfcedited": false,
                "jfcdelete": false,
                "jfcupdatetype": "update",
                "jfcpkey": "1000",
                "jfcpkeygroupnum": 0,
                "jfcdeleteable": true,
                "jfcinsertable": true,
                "jfccopyable": false,
                "jfceditable": true,
                "jfcerror": [],
                "jgroupid": {
                    "content": "1000",
                    "formatted": null,
                    "errorcode": ""
                },
                "jgroupname": {
                    "content": "aaaa",
                    "formatted": null,
                    "errorcode": ""
                },
                "valid": {
                    "content": null,
                    "formatted": null,
                    "errorcode": ""
                }
            },
            {
                "jfclocked": true,
                "jfcedited": false,
                "jfcdelete": false,
                "jfcupdatetype": "update",
                "jfcpkey": "1001",
                "jfcpkeygroupnum": 0,
                "jfcdeleteable": true,
                "jfcinsertable": true,
                "jfccopyable": false,
                "jfceditable": true,
                "jfcerror": [],
                "jgroupid": {
                    "content": "1001",
                    "formatted": null,
                    "errorcode": ""
                },
                "jgroupname": {
                    "content": "bbbb",
                    "formatted": null,
                    "errorcode": ""
                },
                "valid": {
                    "content": null,
                    "formatted": null,
                    "errorcode": ""
                }
            }
        ]
    },
    "errors": {
        "jfcinfo": [],
        "jfcerror": [],
        "jfcwarn": [],
        "jfcdebug": []
    },
    "entity": [
        {
            "jgroupid": 1000,
            "jgroupname": "aaaa",
            "level": null,
            "valid": null
        },
        {
            "jgroupid": 1001,
            "jgroupname": "bbbb",
            "level": null,
            "valid": null
        }
    ],
    "status": "updateListJgroup.input"
}

レスポンス (2) ロック失敗を含む例

STATUS=200 OK
返戻の内容を示します。この例では(編集データ2件を編集し)1件目のロックが失敗した場合を示しています。主キー1000番のデータが "jfclocked": false, "jfcedited": false となっています。この情報でロック失敗かどうかを判定してください。

Content-Type: application/json;charset=UTF-8
{
    "result": {
        "size": 2,
        "next": 2,
        "pageSize": 10,
        "nextPage": false,
        "prevPage": false,
        "current": 1
    },
    "conditionp": {
        "pagesize": 10,
        "firstresult": 0,
        "sortkey": null,
        "jgroupid1jshparam": {
            "content": "",
            "formatted": "",
            "errorcode": ""
        },
        "jgroupid2jshparam": {
            "content": "",
            "formatted": "",
            "errorcode": ""
        },
        "jgroupname": {
            "content": null,
            "formatted": null,
            "errorcode": ""
        },
        "valid": {
            "content": null,
            "formatted": null,
            "errorcode": ""
        },
        "noselection_jshparam": []
    },
    "total": 2,
    "listulp": {
        "sortable": "",
        "sort": "",
        "order": "",
        "jfcdeleteable": true,
        "jfcinsertable": true,
        "jfccopyable": false,
        "jfcupdateable": true,
        "item": [
            {
                "jfclocked": false,
                "jfcedited": false,
                "jfcdelete": false,
                "jfcupdatetype": "update",
                "jfcpkey": "1000",
                "jfcpkeygroupnum": 0,
                "jfcdeleteable": false,
                "jfcinsertable": true,
                "jfccopyable": false,
                "jfceditable": false,
                "jfcerror": [],
                "jgroupid": {
                    "content": "1000",
                    "formatted": null,
                    "errorcode": ""
                },
                "jgroupname": {
                    "content": "aaaa",
                    "formatted": null,
                    "errorcode": ""
                },
                "valid": {
                    "content": null,
                    "formatted": null,
                    "errorcode": ""
                }
            },
            {
                "jfclocked": true,
                "jfcedited": false,
                "jfcdelete": false,
                "jfcupdatetype": "update",
                "jfcpkey": "1001",
                "jfcpkeygroupnum": 0,
                "jfcdeleteable": true,
                "jfcinsertable": true,
                "jfccopyable": false,
                "jfceditable": true,
                "jfcerror": [],
                "jgroupid": {
                    "content": "1001",
                    "formatted": null,
                    "errorcode": ""
                },
                "jgroupname": {
                    "content": "bbbb",
                    "formatted": null,
                    "errorcode": ""
                },
                "valid": {
                    "content": null,
                    "formatted": null,
                    "errorcode": ""
                }
            }
        ]
    },
    "errors": {
        "jfcwarn": [],
        "jfcdebug": [],
        "jfcerror": [],
        "jfcinfo": []
    },
    "entity": [
        {
            "jgroupid": 1000,
            "jgroupname": "aaaa",
            "level": null,
            "valid": null
        },
        {
            "jgroupid": 1001,
            "jgroupname": "bbbb",
            "level": null,
            "valid": null
        }
    ],
    "status": "updateListJgroup.input"
}

更新をリフレッシュします。入力したデータの入力チェックや自動計算式の値の更新に利用してください。

リフレッシュでは、現在編集中のページのデータをフォーム形式で送信します。

@RequestMapping(value="/rest/[modelid]/updatelist/refresh", method = POST)

パラメータ

現在表示しているページの編集データを、フォーム画面と同様のパラメータを指定します。

送信するMIMEタイプの形式は "application/x-www-form-urlencoded" または "multipart/form-data" に対応しています。 JSON形式には対応しません。

jgroup_ulp$002fitem$005b1$005d$002f$0040jfcpkey: 1000
jgroup_ulp$002fitem$005b1$005d$002f$0040jfcpkeygroupnum: 0
jgroup_ulp$002fitem$005b1$005d$002f$0040jfceditable: true
jgroup_ulp$002fitem$005b1$005d$002fjgroupname: aaaa
jgroup_ulp$002fitem$005b1$005d$002fvalid: 
jgroup_ulp$002fitem$005b2$005d$002f$0040jfcpkey: 1001
jgroup_ulp$002fitem$005b2$005d$002f$0040jfcpkeygroupnum: 0
jgroup_ulp$002fitem$005b2$005d$002f$0040jfceditable: true
jgroup_ulp$002fitem$005b2$005d$002fjgroupname: bbbb
jgroup_ulp$002fitem$005b2$005d$002fvalid: 

削除

データの削除を行う際には "jfcdelete_<モデルID>_行インデックス" のパラメータを指定します。

jfcdelete_jgroup_1: on

レスポンス

「編集開始」と同様です。

更新を実行します。現在編集中のページのデータをフォーム形式で送信します。

@RequestMapping(value="/rest/[modelid]/updatelist", method = PUT, headers="Content-Type=application/x-www-form-urlencoded")
@RequestMapping(value="/rest/[modelid]/updatelist", method = PUT, headers="Content-Type=multipart/form-data")

パラメータ

「リフレッシュ」と同様です。

レスポンス - 更新がない場合

{
    "result": {
        "size": 2,
        "next": 2,
        "pageSize": 10,
        "nextPage": false,
        "prevPage": false,
        "current": 1
    },
    "conditionp": null,
    "total": 2,
    "listulp": null,
    "errors": {
        "jfcwarn": [],
        "jfcdebug": [],
        "jfcerror": [],
        "jfcinfo": [
            {
                "name": null,
                "content": "グループデータの更新はありませんでした。",
                "code": "info.updatelist.execute_message"
            }
        ]
    },
    "entity": null,
    "status": "updateListJgroup.normal"
}

レスポンス - 2件更新した場合

{
    "result": {
        "size": 2,
        "next": 2,
        "pageSize": 10,
        "nextPage": false,
        "prevPage": false,
        "current": 1
    },
    "conditionp": null,
    "total": 2,
    "listulp": null,
    "errors": {
        "jfcwarn": [],
        "jfcdebug": [],
        "jfcerror": [],
        "jfcinfo": [
            {
                "name": null,
                "content": "2件のグループデータを更新しました。",
                "code": "info.updatelist.execute_message"
            }
        ]
    },
    "entity": null,
    "status": "updateListJgroup.normal"
}

編集をキャンセルします。このときロックはすべて解除されます。更新処理は行われません。

@RequestMapping(value="/rest/[modelid]/updatelist/cancel")

パラメータ

なし

レスポンス

STATUS=200 OK

Content-Type: application/json;charset=UTF-8
{
    "result": {
        "size": 2,
        "next": 2,
        "pageSize": 10,
        "nextPage": false,
        "prevPage": false,
        "current": 1
    },
    "conditionp": null,
    "total": 2,
    "listulp": null,
    "errors": {
        "jfcinfo": [],
        "jfcerror": [],
        "jfcwarn": [],
        "jfcdebug": []
    },
    "entity": null,
    "status": "updateListJgroup.cancel"
}

指定したインデックス番号のデータに紐づけて新規登録を行います。インデックス番号は、現在のページのデータを0から番号付けした数値になります。データ件数-1までの値を指定できます。(件数が2件の場合はインデックスは0または1を指定できます。)

現在編集中のページのデータをフォーム形式で送信してください。

@RequestMapping(value="/rest/[modelid]/updatelist/insert/{index}")

パラメータ

「リフレッシュ」と同様です。

レスポンス

「リフレッシュ」と同様です。

レスポンス

データ2件を更新中に、/rest/jgroup/updatelist/insert/0を呼び出した場合は次のようになります。

{
    "result": {
        "size": 2,
        "next": 2,
        "pageSize": 10,
        "nextPage": false,
        "prevPage": false,
        "current": 1
    },
    "conditionp": null,
    "total": 2,
    "listulp": {
        "sortable": "",
        "sort": "",
        "order": "",
        "jfcdeleteable": true,
        "jfcinsertable": true,
        "jfccopyable": false,
        "jfcupdateable": true,
        "item": [
            {
                "jfclocked": true,
                "jfcedited": false,
                "jfcdelete": false,
                "jfcupdatetype": "insert",
                "jfcpkey": null,
                "jfcpkeygroupnum": 1,
                "jfcdeleteable": true,
                "jfcinsertable": true,
                "jfccopyable": false,
                "jfceditable": true,
                "jfcerror": [],
                "jgroupid": {
                    "content": "0",
                    "formatted": null,
                    "errorcode": ""
                },
                "jgroupname": {
                    "content": "",
                    "formatted": null,
                    "errorcode": ""
                },
                "valid": {
                    "content": null,
                    "formatted": null,
                    "errorcode": ""
                }
            },
            {
                "jfclocked": true,
                "jfcedited": true,
                "jfcdelete": false,
                "jfcupdatetype": "update",
                "jfcpkey": "1000",
                "jfcpkeygroupnum": 0,
                "jfcdeleteable": true,
                "jfcinsertable": true,
                "jfccopyable": false,
                "jfceditable": true,
                "jfcerror": [],
                "jgroupid": {
                    "content": "1000",
                    "formatted": null,
                    "errorcode": ""
                },
                "jgroupname": {
                    "content": "aaaa3",
                    "formatted": null,
                    "errorcode": ""
                },
                "valid": {
                    "content": null,
                    "formatted": null,
                    "errorcode": ""
                }
            },
            {
                "jfclocked": true,
                "jfcedited": true,
                "jfcdelete": false,
                "jfcupdatetype": "update",
                "jfcpkey": "1001",
                "jfcpkeygroupnum": 0,
                "jfcdeleteable": true,
                "jfcinsertable": true,
                "jfccopyable": false,
                "jfceditable": true,
                "jfcerror": [],
                "jgroupid": {
                    "content": "1001",
                    "formatted": null,
                    "errorcode": ""
                },
                "jgroupname": {
                    "content": "bbbb3",
                    "formatted": null,
                    "errorcode": ""
                },
                "valid": {
                    "content": null,
                    "formatted": null,
                    "errorcode": ""
                }
            }
        ]
    },
    "errors": {
        "jfcwarn": [],
        "jfcdebug": [],
        "jfcerror": [],
        "jfcinfo": []
    },
    "entity": [
        {
            "jgroupid": 0,
            "jgroupname": "",
            "level": null,
            "valid": null
        },
        {
            "jgroupid": 1000,
            "jgroupname": "aaaa3",
            "level": null,
            "valid": null
        },
        {
            "jgroupid": 1001,
            "jgroupname": "bbbb3",
            "level": null,
            "valid": null
        }
    ],
    "status": "updateListJgroup.input"
}

指定したインデックス番号のデータをコピー登録します。インデックス番号は現在のページのデータを0から番号付けした数値となり、データ件数-1までの値を指定できます。(件数が2件の場合はインデックスは0または1を指定できます。)

現在編集中のページのデータをフォーム形式で送信してください。

この API を利用する場合は、設定で "画面 > 一覧更新 > ボタン表示 > コピー登録ボタン" を有効にしてください。

@RequestMapping(value="/rest/[modelid]/updatelist/copy/{index}")

パラメータ

「リフレッシュ」と同様です。

レスポンス

「リフレッシュ」と同様です。

レスポンス

データ2件を更新中に、/rest/jgroup/updatelist/copy/1を呼び出した場合の例を示します。

{
    "result": {
        "size": 2,
        "next": 2,
        "pageSize": 10,
        "nextPage": false,
        "prevPage": false,
        "current": 1
    },
    "conditionp": null,
    "total": 2,
    "listulp": {
        "sortable": "",
        "sort": "",
        "order": "",
        "jfcdeleteable": true,
        "jfcinsertable": true,
        "jfccopyable": true,
        "jfcupdateable": true,
        "item": [
            {
                "jfclocked": true,
                "jfcedited": true,
                "jfcdelete": false,
                "jfcupdatetype": "update",
                "jfcpkey": "1000",
                "jfcpkeygroupnum": 0,
                "jfcdeleteable": true,
                "jfcinsertable": true,
                "jfccopyable": true,
                "jfceditable": true,
                "jfcerror": [],
                "jgroupid": {
                    "content": "1000",
                    "formatted": null,
                    "errorcode": ""
                },
                "jgroupname": {
                    "content": "aaaa3",
                    "formatted": null,
                    "errorcode": ""
                },
                "valid": {
                    "content": null,
                    "formatted": null,
                    "errorcode": ""
                }
            },
            {
                "jfclocked": true,
                "jfcedited": true,
                "jfcdelete": false,
                "jfcupdatetype": "update",
                "jfcpkey": "1001",
                "jfcpkeygroupnum": 0,
                "jfcdeleteable": true,
                "jfcinsertable": true,
                "jfccopyable": true,
                "jfceditable": true,
                "jfcerror": [],
                "jgroupid": {
                    "content": "1001",
                    "formatted": null,
                    "errorcode": ""
                },
                "jgroupname": {
                    "content": "bbbb3",
                    "formatted": null,
                    "errorcode": ""
                },
                "valid": {
                    "content": null,
                    "formatted": null,
                    "errorcode": ""
                }
            },
            {
                "jfclocked": true,
                "jfcedited": false,
                "jfcdelete": false,
                "jfcupdatetype": "copy",
                "jfcpkey": "1001",
                "jfcpkeygroupnum": 1,
                "jfcdeleteable": true,
                "jfcinsertable": true,
                "jfccopyable": true,
                "jfceditable": true,
                "jfcerror": [],
                "jgroupid": {
                    "content": "1001",
                    "formatted": null,
                    "errorcode": ""
                },
                "jgroupname": {
                    "content": "bbbb3",
                    "formatted": null,
                    "errorcode": ""
                },
                "valid": {
                    "content": null,
                    "formatted": null,
                    "errorcode": ""
                }
            }
        ]
    },
    "errors": {
        "jfcinfo": [],
        "jfcwarn": [],
        "jfcdebug": [],
        "jfcerror": []
    },
    "entity": [
        {
            "jgroupid": 1000,
            "jgroupname": "aaaa3",
            "level": null,
            "valid": null
        },
        {
            "jgroupid": 1001,
            "jgroupname": "bbbb3",
            "level": null,
            "valid": null
        },
        {
            "jgroupid": 1001,
            "jgroupname": "bbbb3",
            "level": null,
            "valid": null
        }
    ],
    "status": "updateListJgroup.input"
}

次のページの編集を行います。現在編集中のページのデータをフォーム形式で送信してください。

@RequestMapping(value="/rest/[modelid]/updatelist/next", method = POST)

パラメータ

「リフレッシュ」と同様です。

レスポンス

「リフレッシュ」と同様です。 次ページのデータを返します。

前のページの編集を行います。現在編集中のページのデータをフォーム形式で送信してください。

@RequestMapping(value="/rest/[modelid]/updatelist/prev", method = POST)

パラメータ

「リフレッシュ」と同様です。

レスポンス

「リフレッシュ」と同様です。 前ページのデータを返します。

最初のページの編集を行います。現在編集中のページのデータをフォーム形式で送信してください。

@RequestMapping(value="/rest/[modelid]/updatelist/first", method = POST)

パラメータ

「リフレッシュ」と同様です。

レスポンス

「リフレッシュ」と同様です。 最初のデータを返します。

最後のページの編集を行います。現在編集中のページのデータをフォーム形式で送信してください。

@RequestMapping(value="/rest/[modelid]/updatelist/last", method = POST)

パラメータ

「リフレッシュ」と同様です。

レスポンス

「リフレッシュ」と同様です。 最初のデータを返します。

指定したページの編集を行います。現在編集中のページのデータをフォーム形式で送信してください。

@RequestMapping(value="/rest/[modelid]/updatelist/jump/{page}", method = POST)

検索・一覧データ取得での指定方法と同じパラメータを指定することができます。
firstresultに取得する検索結果の開始件数(レコード番号)を指定します。
検索結果の数より大きい数字を指定した場合は、最後のページ(last)を取得します。

レスポンス

「リフレッシュ」と同様です。 指定したページのデータを返します。