メールを送信する [3] 自動通知
最終更新日: 2020年3月14日
R8 | R9
処理日付時刻項目を用意する
年休申請モデルに「最後の処理日付時刻」項目を追加します。型は日付・時刻型(日付と時刻)とします。

「最後の処理日付時刻」の型は日付・時刻型(日付と時刻)とします。

関数 WF_LASTPROCESSDATE を適用します。最後にワークフローに何らかの処理(承認、決裁など)を行った日付時刻がセットされるようになります。データベースには保存しない、とします。

メール送信ジョブの定義
メール送信ジョブを用意します。ここではジョブ名を "NotifyRetentionLeaveWorkflowJob" としました。メールテンプレート項目に設定した値は、次節でメールテンプレートIDとして使います。
起動条件に次の式を用意します。この式は、申請または承認状態で、1日以上滞留しているデータのみを選択するものです。
AND(
OR(
EXACT(${flowstatus},"申請"),
EXACT(${flowstatus},"承認")
),
DATEDIF(TODAY(),${wflastprocessdate}, "D")>=1
)

メールテンプレートを用意する
ビルドしたアプリケーションで、送信メールの宛先や文面を用意します。メールテンプレートのIDは、図4で指定したメールテンプレート項目と同じとします。(ここでは "NotifyRetentionLeaveWorkflow" としています。)
宛先人の項目に、この休暇申請モデルが保持する、次のメールアドレスをプレースホルダ形式で指定します。件名、差出人、文面は任意に設定してください。
${leave_p.wfnextuseridmail}

メール送信ジョブの起動
用意していたメール送信ジョブの時間実行を指定します。実行は jobadmin アカウントが行うものとします。(jobadmin アカウントには、この休暇申請モデルのプリンシパルを与えておくとします。)

例
年休申請ワークフローを開始した例です。

ここで決裁しなかった場合、未決裁のデータについて、次の承認者へメールが送信されます。
