本書は specification.md の「コンテンツ定義」セクションを詳細化したものである。
基本情報
| 項目 | 値 |
|---|
| コンテンツ名 | 休暇申請コンテンツ |
| コンテンツID | leave_request_content |
画面定義
画面定義一覧
| 画面種別 | 画面ID | パス種別 | スクリプトパス | 初期使用 | 備考 |
|---|
| 申請画面 | SCR-001 | スクリプト開発 | leave/apply/apply | ○ | imwUserDataIdはファンクション・コンテナで採番 |
| 再申請画面 | SCR-001 | スクリプト開発 | leave/apply/apply | ○ | 申請画面と同一。差戻しコメントを追加表示 |
| 処理画面 | SCR-002 | スクリプト開発 | leave/approve/approve | ○ | 申請内容を読み取り専用で表示 |
| 処理詳細画面 | SCR-003 | スクリプト開発 | leave/detail/detail | ○ | 参照のみ |
| 参照詳細画面 | SCR-004 | スクリプト開発 | leave/detail/detail | ○ | 処理詳細画面と同一画面を使用 |
画面項目定義
画面項目の詳細は specification.md - 画面項目定義 を参照。
ユーザプログラム定義
開発モデル
| 項目 | 値 |
|---|
| 開発モデル | スクリプト開発モデル(SSJS) |
| 画面技術 | JSSP(HTMLテンプレート + ファンクション・コンテナ) |
| ユーザプログラム | サーバサイドJavaScript(アクション処理 / 案件終了処理) |
アクション処理一覧
| プログラム名 | 配置パス | 対象ノード | 処理内容 |
|---|
| ActionProcess1 | leave/action/ActionProcess1.js | 申請ノード | 申請・再申請時のデータ保存・バリデーション・案件プロパティ設定 |
| ActionProcess2 | leave/action/ActionProcess2.js | 承認ノード | 承認終了時の残日数減算処理 |
ActionProcess1(申請ノード用)の処理詳細
| 処理種別 | ステップ | 処理内容 | 対応ルール |
|---|
| apply(申請) | 1 | ユーザパラメータから画面入力値を取得 | - |
| 2 | バリデーション: 取得日数 ≦ 残日数 | BR-001 |
| 3 | バリデーション: 半日有給時、開始日 = 終了日 | BR-002 |
| 4 | バリデーション: 開始日 ≧ 申請日 | BR-004 |
| 5 | バリデーション: 同一期間の重複申請なし | BR-007 |
| 6 | 検証エラー時、resultFlag = false + エラーメッセージを返却 | - |
| 7 | leave_request へ INSERT(キー: userDataId) | - |
| 8 | 案件プロパティ leave_days に取得日数を設定 | - |
| 9 | resultFlag = true を返却 | - |
| reapply(再申請) | 1 | ユーザパラメータから画面入力値を取得 | - |
| 2-6 | バリデーション実行(申請時と同様) | BR-001, 002, 004, 007 |
| 7 | leave_request を UPDATE(キー: userDataId) | - |
| 8 | 案件プロパティ leave_days を再設定 | - |
| 9 | resultFlag = true を返却 | - |
ActionProcess2(承認ノード用)の処理詳細
| 処理種別 | ステップ | 処理内容 | 対応ルール |
|---|
| approveEnd(承認終了) | 1 | userDataId をキーに leave_request からデータ取得 | - |
| 2 | leave_balance の取得済日数に取得日数を加算(UPDATE) | BR-005 |
| 3 | 残日数を再計算(付与日数 + 繰越日数 − 取得済日数) | - |
| 4 | resultFlag = true を返却 | - |
| その他(approve / deny / sendBack 等) | - | 業務データ操作不要。resultFlag = true を返却 | BR-006 |
案件終了処理
| プログラム名 | 配置パス | 処理内容 |
|---|
| MatterEndProcess | leave/action/MatterEndProcess.js | メール送信可否を返却(data = true で送信する) |
通知定義
通知方式
| 項目 | 値 |
|---|
| 通知方式 | メール通知 |
| 定義方式 | メッセージ定義(推奨方式) |
| IMBox通知 | 使用しない |
メール送信一覧
| 送信タイミング | 通知種別 | 送信先 | 件名例 |
|---|
| 申請時 | 処理依頼 | 上長 | 休暇申請が届きました |
| 承認時 | 処理結果通知 | 申請者 | 休暇申請が承認されました |
| 承認終了時 | 処理結果通知 | 申請者 | 休暇申請が最終承認されました |
| 差戻し時 | 処理結果通知 | 申請者 | 休暇申請が差し戻されました |
| 否認時 | 処理結果通知 | 申請者 | 休暇申請が否認されました |
置換文字列
メール本文内で以下の置換文字列を使用可能。
| 置換文字列 | 説明 |
|---|
| 案件プロパティ値 | leave_days(取得日数) |
| intra-mart URL | 処理画面・参照画面へのリンク |
案件プロパティ
| プロパティキー | 設定タイミング | 用途 |
|---|
| leave_days | 申請時 | 取得日数。メール置換文字列で使用 |
ルール定義
本ワークフローでは分岐ルートを使用しないため、ルール定義は設定しない。
関連ドキュメント