No.19 「休み明けの出社日はいつだ?」
2017.08.10 Progress Corticon
本エントリーは株式会社アシスト様が寄稿したエントリー(https://www.ashisuto.co.jp/product/category/brms/progress_corticon/column/detail/brmstech19.html)を転載したものとなります。
|
|
残暑お見舞い、申し上げます。
皆さんは、もう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や技術資料等々がございますので、是非活用してください。
著者紹介
|
|
株式会社アシスト 情報基盤技術統括部 プログレス推進部 |



