Progress Corticon
【Corticon Tech コラム】
No.19 「休み明けの出社日はいつだ?」 (2017年8月10日)
|
残暑お見舞い、申し上げます。
皆さんは、もうCorticonの世界を体験されましたか?
このコラムでは、今までにいくつかのサンプルルールをご紹介してきました。
これらのサンプルを実際に試して、ルールを作っていただけると嬉しいです。
まだCorticonを触ったことがない方は、是非、
こちら
から無償評価版をダウンロードしてください。
インストール手順はとても簡単です。ダウンロードしたファイルを解凍後、インストーラを実行するだけです。
チュートリアルも同梱していますので、まずは、そのチュートリアルに沿って実際に操作してみてください。
そして、このブログでこれまでに紹介したサンプル、これからも紹介していくサンプルを、
是非皆さんのお手元でも作ってみてください。
一部のギークな著者のコラムではCorticonの奥深さを味わえるサンプルを提供していますし、
もう少しノーマルな著者のコラムではCorticonの簡単さを楽しんでいただくサンプルを提供しています。
ぜひ、いろいろなサンプルを試して楽しんでくださいね。
さて、今回のお題は、「休み明けの出社日はいつだ?」です。
皆さんの夏季休暇や冬期休暇はいつでしょうか?一斉の全社休業でしょうか?
それとも各人が各人のタイミングで休暇を取得するのでしょうか?
アシストの夏季休暇は、後者のスタイルです。
じつは、本日のチームミーティングの際に、同僚のツラゴノフスキー氏が長めの夏休みをとることが分かりました。
そこで、次回のミーティングを設定するために、彼の次の出社日を知る必要があります。
せっかくなので、Corticonを使ってツラゴノフスキー氏の夏休み明け出社日を算出することにしました。
語彙はこんなかんじです。
語彙
|
ツラゴノフスキー氏は、8月の休みの予定をつぎのように立てました。
土日、祝日を除く業務日で休暇を取得する日を指定します。
休暇前出社日は2017-08-04です。
入力データ
|
2017年の国民の祝日のリストはCorticon内で生成することにします。
もちろん、外から祝日データとして受け取ることもできます。
出社日の次の日が、土日 / 国民の祝日 / その他の各種休暇 いずれかであるかどうかを判定します。
休みが続くこともあるため、次の日が休みの間はこの処理を繰り返す必要があります。
Corticonで、この繰り返しをどのように処理しましょうか。
ルールフロー
|
今回は、ルールフロー内のサブフローの単位でループ(繰り返し)処理を行うことにしました(図の青〇)。
ループ処理の中では次のことを行います。
・出社日の翌日が土曜日?
・出社日の翌日が日曜日?
・出社日の翌日が祝日?
・出社日の翌日が申請した休暇日?
つまり、出社日の翌日が休日でもなく祝日でもなく休暇日でもなければ、次回の出社日となるわけです。
出社日の翌日を求めるために“次の出社日に+1する”ルールシートがあります。
このループの指定は、ルールフロー上のルールシート、ルールフロー、サブフローに対して設定可能です。
それぞれのルールシートを見ていきましょう。
ルールシート:国民の祝日エンティティ作成
|
ここでは、2017年の祝日エンティティを作成しつつ、出社日を次の出社日に移送しています。
次に、ループの指定をしたサブルールフロー「土日・祝日・個人休暇チェック」内にある
3つのルールシートをみてみましょう。
ルールシート:土日チェック
|
ここでは、Corticonがもつ演算子 dayOfWeek を使用して土日判定をしています。
ルールシート:国民の祝日チェック
|
ここでは、ルールフロー内の最初で作成した国民の祝日データを使っています。
ルールシート:個人の休暇チェック
|
これら3つのルールシートを1つのサブフローとしてまとめ、この単位でループが実行されます。ルールフロー上で指定するループが終了する条件は、ルールシートのフィルタで設定します。無限ループを避けるための安全機構として、デフォルトでは最大100回までですが、プロパティの設定で変更可能です。
各ルールシートのフィルタ条件を満たさない場合、サブフロー「土日・祝日・個人休暇チェック」を終了して、
次のルールシートに処理が移ります。
ルールシート:次の出社日に+1する
|
ここで、知りたかった「次の出社日」が求められます。
最後に、今回は結果に国民の祝日リストを返す必要はないので、不要な国民の祝日エンティティを削除します。
ルールシート:国民の祝日エンティティ削除
|
上のルールフローをテスト実行します。
テストシート
|
ということで、
ツラゴノフスキー氏の次の出社日がわかりましたので、次回ミーティングは、8月21日と決定しました!!
なお、上記出力結果には、fire(データを判定) したルールシート名とルール列番号を
ルールメッセージに表示しています。
ルールメッセージに、この情報を付加することで実行したルールをトレースしやすくなります。
この設定方法については、弊社
サポートサイト
から、以下のFAQにてご確認ください。
FAQ NO#23142
「ルール実行時に、ルールメッセージに実行したルールシート名とルール番号を表示する方法について」
弊社
サポートサイト
には、このほかにも、有益なFAQや技術資料等々がございますので、是非活用してください。
著者紹介
|
株式会社アシスト 情報基盤技術統括部 技術4部 |
「Corticon Tech コラム」記事一覧
- 2022.11.16アシスト、DXに欠かせないルールべースAI「Progress Corticon」の新バージョン6.3を提供開始
- 2022.4.7アシストがProgress社製品の販売活動において「Progress Accelerate Partner Distributor」を受賞
- 2022.2.16生命保険エコシステム リリース第2弾 「生命保険給付金支払いプラットフォーム」採用2社目
- 2021.11.17生命保険エコシステム リリース第1弾 「生命保険給付金支払いプラットフォーム」始動
- 2021.9.6アシスト、「GOLD Cloud Platformコンピテンシー」取得で、Microsoft Azure上での業務自動化を強力に支援