(57)【要約】      （修正有）【課題】複数の事由が組み合わせで発生する場合の事由の登録および管理を容易とする就業時間計算方法等を提供する。【解決手段】ユーザに入力された、勤務時間帯と休憩時間帯と不在時間帯とによる各時間帯それぞれの開始時刻および終了時刻をそれぞれ示す複数の時刻情報と、不在の内容を示す事由種別と、を記憶部に記憶する。１日の時間に対して、記憶部に記憶された複数の時刻情報が示す時刻と、予め定められた時刻と、により区切った区切りを設定し、隣接する区切りに挟まれた区間を作成する。勤務時間帯、休憩時間帯および不在時間帯を、作成された区間毎に分割して分割時間帯を生成する。作成された区間それぞれのうち、１以上の分割時間帯を含む区間において、分割時間帯のうち最も高い優先度が設定された事由種別に対応する分割時間帯を、区間毎に選択する。選択された分割時間帯を、対応する事由種別が同一の分割時間帯毎に集計する。【選択図】図５
2019101636.tif 000002
【特許請求の範囲】
【請求項１】
制御部と記憶部とを備えた就業時間計算装置であって、
前記制御部は、
ユーザによる入力を受け付ける入力手段と、
前記入力手段により入力された、事由種別が勤務である勤務時間帯と、該事由種別が休憩である休憩時間帯と、該事由種別が不在に係る不在時間帯と、による各時間帯それぞれの開始時刻および終了時刻をそれぞれ示す複数の時刻情報と、該不在の内容を示す該事由種別と、を前記記憶部に記憶する記憶手段と、
１日の時間に対して、前記記憶部に記憶された前記複数の時刻情報が示す時刻と、予め定められた時刻と、により区切った区切りを設定し、隣接する該区切りに挟まれた区間を作成する作成手段と、
前記勤務時間帯、前記休憩時間帯および前記不在時間帯を、前記作成手段により作成された前記区間毎に分割して分割時間帯を生成する分割手段と、
前記作成手段により作成された前記区間それぞれのうち、１以上の前記分割時間帯を含む区間において、該分割時間帯のうち最も高い優先度が設定された前記事由種別に対応する該分割時間帯を、該区間毎に選択する選択手段と、
前記選択手段により選択された前記分割時間帯を、対応する前記事由種別が同一の該分割時間帯毎に集計する集計手段と、
を備えることを特徴とする就業時間計算装置。
【請求項２】
前記選択手段は、
前記事由種別と前記優先度とを関連付けた優先度マスタに基づき、前記分割時間帯を前記区間毎に選択する
ことを特徴とする請求項１に記載の就業時間計算装置。
【請求項３】
前記入力手段は、
前記勤務時間帯と、前記休憩時間帯と、前記不在時間帯と、の各時間帯のうち少なくとも２の時間帯が重複部分を持つ前記入力を受け付ける
ことを特徴とする請求項１または請求項２に記載の就業時間計算装置。
【請求項４】
前記入力手段は、
前記１日に対してそれぞれ複数の前記休憩時間帯および前記不在時間帯の前記入力を受け付け可能である
ことを特徴とする請求項１乃至請求項３の何れか１項に記載の就業時間計算装置。
【請求項５】
前記入力手段は、
前記不在の内容をさらに示す前記事由種別の前記入力を複数の前記不在時間帯毎に受け付け、
入力された該不在の内容を示す該事由種別が異なる複数の前記不在時間帯が重複部分を持つ前記入力を受け付け可能である
ことを特徴とする請求項４に記載の就業時間計算装置。
【請求項６】
前記入力手段は、
前記不在の内容をさらに示す前記事由種別を、該事由種別と前記不在の内容を示す不在事由とが関連付けられた不在事由マスタに基づき入力する
ことを特徴とする請求項１乃至請求項５の何れか１項に記載の就業時間計算装置。
【請求項７】
前記作成手段は、
それぞれ予め定められた就業時間帯および深夜時間帯それぞれの開始時刻および終了時刻を前記予め定められた時刻として前記区切りを設定し、
前記集計手段は、
前記就業時間帯および深夜時間帯それぞれの開始時刻および終了時刻に基づき、前記選択手段により選択された前記勤務時間帯を分割した前記分割時間帯を、さらに、就業時間帯内および就業時間帯外、ならびに、深夜時間帯内および深夜時間帯外で区別して集計する
ことを特徴とする請求項１乃至請求項６の何れか１項に記載の就業時間計算装置。
【請求項８】
前記入力手段は、
前記複数の時刻情報を、前記制御部が管理する最小時間単位で入力可能である
ことを特徴とする請求項１乃至請求項７の何れか１項に記載の就業時間計算装置。
【請求項９】
制御部と記憶部とを備えた就業時間計算装置で実行される就業時間計算方法であって、
前記制御部で実行される、
ユーザによる入力を受け付ける入力ステップと、
前記入力ステップにより入力された、事由種別が勤務である勤務時間帯と、該事由種別が休憩である休憩時間帯と、該事由種別が不在に係る不在時間帯と、による各時間帯それぞれの開始時刻および終了時刻をそれぞれ示す複数の時刻情報と、該不在の内容を示す該事由種別と、を前記記憶部に記憶する記憶ステップと、
１日の時間に対して、前記記憶部に記憶された前記複数の時刻情報が示す時刻と、予め定められた時刻と、により区切った区切りを設定し、隣接する該区切りに挟まれた区間を作成する作成ステップと、
前記勤務時間帯、前記休憩時間帯および前記不在時間帯を、前記作成ステップにより作成された前記区間毎に分割して分割時間帯を生成する分割ステップと、
前記作成ステップにより作成された前記区間それぞれのうち、１以上の前記分割時間帯を含む区間において、該分割時間帯のうち最も高い優先度が設定された前記事由種別に対応する該分割時間帯を、該区間毎に選択する選択ステップと、
前記選択ステップにより選択された前記分割時間帯を、対応する前記事由種別が同一の該分割時間帯毎に集計する集計ステップと、
を含むことを特徴とする就業時間計算方法。
【請求項１０】
制御部と記憶部とを備えた情報処理装置に実行させるための就業時間計算プログラムであって、
前記制御部に実行させるための、
ユーザによる入力を受け付ける入力ステップと、
前記入力ステップにより入力された、事由種別が勤務である勤務時間帯と、該事由種別が休憩である休憩時間帯と、該事由種別が不在に係る不在時間帯と、による各時間帯それぞれの開始時刻および終了時刻をそれぞれ示す複数の時刻情報と、該不在の内容を示す該事由種別と、を前記記憶部に記憶する記憶ステップと、
１日の時間に対して、前記記憶部に記憶された前記複数の時刻情報が示す時刻と、予め定められた時刻と、により区切った区切りを設定し、隣接する該区切りに挟まれた区間を作成する作成ステップと、
前記勤務時間帯、前記休憩時間帯および前記不在時間帯を、前記作成ステップにより作成された前記区間毎に分割して分割時間帯を生成する分割ステップと、
前記作成ステップにより作成された前記区間それぞれのうち、１以上の前記分割時間帯を含む区間において、該分割時間帯のうち最も高い優先度が設定された前記事由種別に対応する該分割時間帯を、該区間毎に選択する選択ステップと、
前記選択ステップにより選択された前記分割時間帯を、対応する前記事由種別が同一の該分割時間帯毎に集計する集計ステップと、
を含むことを特徴とする就業時間計算プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、就業時間計算装置、就業時間計算方法および就業時間計算プログラムに関する。
【背景技術】
【０００２】
特許文献１には、勤務時間帯を業務項目ごとに単位時間で量子化し、量子化された時間帯を勤務管理表上のセルに対応させ、セルを勤務管理表上に表示し、ポインティングデバイスを用いて、特定の業務項目について、時間軸方向を指定してセルの範囲を選択し、選択範囲のセルを表示して、特定の業務項目について、勤務時間が入力されたことを示し、ポインティングデバイスを用いて、特定の業務項目について、時間軸と反対方向を指定してセルの範囲を選択し、選択範囲のセルの表示を順に解除して、特定の業務項目について、勤務入力が取り消されたことを示すようにした勤怠入力方法が開示されている（段落「００２０」など参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−０６５５２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、有給休暇の時間単位での取得を可能とする制度の採用により、昼休憩を挟んで時間単位で有給休暇を取得するなど、１日の中で有給休暇、休憩といった複数の不在事由が組み合わせで発生し得る。従来の技術では、同一の時間帯に異なる不在事由を重複して登録しようとすると入力エラーとなる入力制御が一般的であった。そのため、１日の中で複数の不在事由が組み合わせで発生する場合、不在事由の登録を入力制御に合わせて工夫して行う必要があり、不在事由の登録、管理が複雑になってしまうという問題点があった。この問題点は、上述の特許文献１においても解決できていない。
【０００５】
本発明は、上記に鑑みてなされたものであって、複数の事由が組み合わせで発生する場合の事由の登録および管理を容易とすることを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本発明に係る就業時間計算装置は、制御部と記憶部とを備えた就業時間計算装置であって、制御部は、ユーザによる入力を受け付ける入力手段と、入力手段により入力された、事由種別が勤務である勤務時間帯と、事由種別が休憩である休憩時間帯と、事由種別が不在に係る不在時間帯と、による各時間帯それぞれの開始時刻および終了時刻をそれぞれ示す複数の時刻情報と、不在の内容を示す事由種別と、を記憶部に記憶する記憶手段と、１日の時間に対して、記憶部に記憶された複数の時刻情報が示す時刻と、予め定められた時刻と、により区切った区切りを設定し、隣接する区切りに挟まれた区間を作成する作成手段と、勤務時間帯、休憩時間帯および不在時間帯を、作成手段により作成された区間毎に分割して分割時間帯を生成する分割手段と、作成手段により作成された区間それぞれのうち、１以上の分割時間帯を含む区間において、分割時間帯のうち最も高い優先度が設定された事由種別に対応する分割時間帯を、区間毎に選択する選択手段と、選択手段により選択された分割時間帯を、対応する事由種別が同一の分割時間帯毎に集計する集計手段と、を備えることを特徴とする。
【０００７】
また、本発明に係る就業時間計算装置においては、選択手段は、事由種別と優先度とを関連付けた優先度マスタに基づき、分割時間帯を区間毎に選択することを特徴とする。
【０００８】
また、本発明に係る就業時間計算装置においては、入力手段は、勤務時間帯と、休憩時間帯と、不在時間帯と、の各時間帯のうち少なくとも２の時間帯が重複部分を持つ入力を受け付けることを特徴とする。
【０００９】
また、本発明に係る就業時間計算装置においては、入力手段は、１日に対してそれぞれ複数の休憩時間帯および不在時間帯の入力を受け付け可能であることを特徴とする。
【００１０】
また、本発明に係る就業時間計算装置においては、入力手段は、不在の内容をさらに示す事由種別の入力を複数の不在時間帯毎に受け付け、入力された不在の内容を示す事由種別が異なる複数の不在時間帯が重複部分を持つ入力を受け付け可能であることを特徴とする。
【００１１】
また、本発明に係る就業時間計算装置においては、入力手段は、不在の内容をさらに示す事由種別を、事由種別と不在の内容を示す不在事由とが関連付けられた不在事由マスタに基づき入力することを特徴とする。
【００１２】
また、本発明に係る就業時間計算装置においては、作成手段は、それぞれ予め定められた就業時間帯および深夜時間帯それぞれの開始時刻および終了時刻を予め定められた時刻として区切りを設定し、集計手段は、就業時間帯および深夜時間帯それぞれの開始時刻および終了時刻に基づき、選択手段により選択された勤務時間帯を分割した分割時間帯を、さらに、就業時間帯内および就業時間帯外、ならびに、深夜時間帯内および深夜時間帯外で区別して集計することを特徴とする。
【００１３】
また、本発明に係る就業時間計算装置においては、入力手段は、複数の時刻情報を、制御部が管理する最小時間単位で入力可能であることを特徴とする。
【００１４】
また、本発明に係る就業時間計算方法は、制御部と記憶部とを備えた就業時間計算装置で実行される就業時間計算方法であって、制御部で実行される、ユーザによる入力を受け付ける入力ステップと、入力ステップにより入力された、事由種別が勤務である勤務時間帯と、事由種別が休憩である休憩時間帯と、事由種別が不在に係る不在時間帯と、による各時間帯それぞれの開始時刻および終了時刻をそれぞれ示す複数の時刻情報と、不在の内容を示す事由種別と、を記憶部に記憶する記憶ステップと、１日の時間に対して、記憶部に記憶された複数の時刻情報が示す時刻と、予め定められた時刻と、により区切った区切りを設定し、隣接する区切りに挟まれた区間を作成する作成ステップと、勤務時間帯、休憩時間帯および不在時間帯を、作成ステップにより作成された区間毎に分割して分割時間帯を生成する分割ステップと、作成ステップにより作成された区間それぞれのうち、１以上の分割時間帯を含む区間において、分割時間帯のうち最も高い優先度が設定された事由種別に対応する分割時間帯を、区間毎に選択する選択ステップと、選択ステップにより選択された分割時間帯を、対応する事由種別が同一の分割時間帯毎に集計する集計ステップと、を含むことを特徴とする。
【００１５】
また、本発明に係る就業時間計算プログラムは、制御部と記憶部とを備えた情報処理装置に実行させるための就業時間計算プログラムであって、制御部に実行させるための、ユーザによる入力を受け付ける入力ステップと、入力ステップにより入力された、事由種別が勤務である勤務時間帯と、事由種別が休憩である休憩時間帯と、事由種別が不在に係る不在時間帯と、による各時間帯それぞれの開始時刻および終了時刻をそれぞれ示す複数の時刻情報と、不在の内容を示す事由種別と、を記憶部に記憶する記憶ステップと、１日の時間に対して、記憶部に記憶された複数の時刻情報が示す時刻と、予め定められた時刻と、により区切った区切りを設定し、隣接する区切りに挟まれた区間を作成する作成ステップと、勤務時間帯、休憩時間帯および不在時間帯を、作成ステップにより作成された区間毎に分割して分割時間帯を生成する分割ステップと、作成ステップにより作成された区間それぞれのうち、１以上の分割時間帯を含む区間において、分割時間帯のうち最も高い優先度が設定された事由種別に対応する分割時間帯を、区間毎に選択する選択ステップと、選択ステップにより選択された分割時間帯を、対応する事由種別が同一の分割時間帯毎に集計する集計ステップと、を含むことを特徴とする。
【発明の効果】
【００１６】
本発明によれば、複数の事由が組み合わせで発生する場合の事由の登録および管理が容易となるという効果を奏する。
【図面の簡単な説明】
【００１７】
【図１】図１は、複数の不在事由が組み合わせで発生する場合の既存の登録方法について概略的に説明するための図である。
【図２】図２は、複数の不在事由が組み合わせで発生する場合の既存の登録方法について概略的に説明するための図である。
【図３】図３は、実施形態に適用可能な就業時間計算システムの構成例を示す図である。
【図４】図４は、実施形態に係る就業時間計算装置に適用可能なハードウェア構成の例を示すブロック図である。
【図５】図５は、実施形態に係る就業時間計算装置の機能を説明するための機能ブロック図である。
【図６】図６は、実施形態に適用可能な、勤務情報データを入力、登録するための入力画面の例を示す図である。
【図７】図７は、実施形態に係る不在事由マスタの例を示す図である。
【図８】図８は、実施形態に係る優先度マスタの例を示す図である。
【図９】図９は、実施形態に係る就業時間計算装置における処理を示す一例のフローチャートである。
【図１０】図１０は、実施形態に係る事由明細データの例を概略的に示す図である。
【図１１】図１１は、実施形態に係る事由明細データを作成する例を模式的に示す模式図である。
【図１２】図１２は、実施形態に係る基準時刻明細データの例を概略的に示す図である。
【図１３】図１３は、実施形態に係る基準時刻明細データを作成する例を模式的に示す模式図である。
【図１４】図１４は、実施形態に係る事由明細分割データの例を概略的に示す図である。
【図１５】図１５は、実施形態に係る事由明細分割データを作成する例を模式的に示す模式図である。
【図１６】図１６は、実施形態に係る事由明細分割データを、１日の時間帯を分割するブロックを用いて表した図である。
【図１７】図１７は、実施形態に係るグルーピング処理について説明するための図である。
【図１８】図１８は、実施形態に係る事由明細分割抽出データの生成処理について説明するための図である。
【図１９】図１９は、実施形態に係る、事由明細分割抽出データから区間を抽出するための所定の集計条件の例を示す図である。
【図２０】図２０は、実施形態に係る集計方法について説明するための図である。
【図２１】図２１は、実施形態に係る、集計結果が表示された入力画面の例を示す図である。
【発明を実施するための形態】
【００１８】
以下に、本発明に係る就業時間計算装置、就業時間計算方法および就業時間計算プログラムの実施形態を、図面に基づいて詳細に説明する。なお、本実施形態によりこの発明が限定されるものではない。
【００１９】
［１．概要］
近年、「働き方改革」というキーワードで、労働時間の適正管理が重要性を増し、それに伴い勤怠管理システムに対する期待とニーズも高まっている。働き方改革では、例えば、労働者の正確な勤務状況を管理部門や所属上長が正確に把握し、過重労働を防止したり、定期的な休暇取得を促したり、といった改善を行う必要がある。そのため、労働者の日々の勤務状況を時間（分）単位で適切に登録し、管理する必要がある。
【００２０】
一方で、多様な働き方に合わせて有効な休暇取得を促すための施策として、時間単位で有給休暇（以下、時間有休と呼ぶ）を取得可能とする例も増えている。時間有休の利用方法の例としては、仕事と生活の調和を図る（日中の通院など）、メリハリのある働き方（仕事を調整して、普段より１時間早く帰る）、などが考えられる。
【００２１】
時間有休の導入により、１日の中で休暇、休憩のように複数の不在事由が組み合わせで発生するようになり、取得時間の組み合わせも多様化する。一方、複数の不在事由の組み合わせが発生する場合、既存の登録方法では管理が複雑になるという課題がある。これは、既存の登録方法では、同一の時間帯に異なる事由を重複して登録することができない（入力エラー）とする制御が一般的であり、入力制御に合わせてデータを分割して登録するなど、入力方法を調整する必要があるためである。
【００２２】
図１および図２を用いて、複数の不在事由が組み合わせで発生する場合の、既存の登録方法について、概略的に説明する。図１は、ある社員（社員ＩＤ「Ａ」の社員とする）のある日（２０１７年９月３日とする）の勤務スケジュールの例を示す。なお、以下では、時刻を２４時間表記にて記載する。また、社員ＩＤ「Ａ」の社員を、社員Ａと呼ぶ。
【００２３】
図１（ａ）の例では、勤務開始時刻が時刻「０９：００」、勤務終了時刻が時刻「１８：００」であって、休憩の開始時刻が時刻「１２：００」、終了時刻が時刻「１３：００」とされている。また、社員Ａは、休憩時間を挟んで、開始時刻を時刻「１１：００」、終了時刻を時刻「１４：００」として時間有休を取得している。すなわち、この場合の時間有休は、時刻「１２：００」から時刻「１３：００」までの休憩時間を含む。各時間は、図１（ｂ）に示されるように、時間有休による休暇時間が２時間（１２０分）、休憩時間が１時間（６０分）とされる。また、勤務開始時刻から終了時刻までの時間（９時間）からこれら休暇時間および休憩時間を差し引いた６時間（３６０分）が実労働時間となる。
【００２４】
図２は、図１（ａ）で示した勤務スケジュールを、既存技術を用いて登録する例を概略的に示している。図２（ａ）は、図１（ａ）の勤務スケジュールによる、社員Ａの実際の勤怠の様子を模式的に示す。社員Ａは、勤務開始時刻の時刻「０９：００」に勤務を開始し、時間有休の開始時刻の時刻「１１：００」に勤務を休止する。時間有休として取得された時刻「１１：００」〜時刻「１４：００」の間には、休憩時間（時刻「１２：００」〜時刻「１３：００」）が挟まれている。この休憩時間は、時間有休による休暇時間中の見做し休憩であって、社員Ａが元来持つ権利である。社員Ａは、時間有休の終了時刻の時刻「１４：００」から勤務を再開し、勤務終了時刻の時刻「１８：００」まで勤務を継続する。
【００２５】
図２（ｂ）を用いて、既存技術による登録方法の第１の例について説明する。この第１の例は、時間帯毎の事由を正しく登録する場合の例である。休憩時間（時刻「１２：００」〜時刻「１３：００」）が予め定められている場合、図２（ｂ）に示すように、時間有休を、休憩時間より前の時刻である時刻「１１：００」〜時刻「１２：００」の時間帯と、休憩時間より後の時刻である時刻「１３：００」〜時刻「１４：００」の時間帯とに分けて、勤務スケジュールに対してそれぞれ追加登録する。第１の例では、このように時間有休を２回に分けて登録することで、時間有休と休憩時間との重複登録を避けている。
【００２６】
図２（ｃ）を用いて、既存技術による登録方法の第２の例について説明する。この第２の例は、休憩時間を挟んで２つに分割される時間有休を１つに纏めて登録する例である。この場合、例えば本来時刻「１２：００」〜時刻「１３：００」である休憩時間をずらして時刻「１３：００」〜時刻「１４：００」とすることで、時間有休の時間長である２時間分の連続した時間帯（時刻「１１：００」〜時刻「１３：００」）を確保し、この時間帯に、時間有休を登録する。これにより、時間有休と休憩時間との重複登録を避けることができる。一方で、この第２の例では、時間有休の登録自体は１回分の登録で済むが、休憩の取得時間をずらす作業が必要になる。
【００２７】
なお、図１（ａ）で示した勤務スケジュールは、パターンの一例であって、実際は、「半日休と休憩」、「私用外出と休憩」、「私用外出と休暇」など事由の組み合わせおよび数の違いや、時間の重複具合の違いによって、様々な派生パターンが発生し得る。特に、図１（ａ）の例では、時刻「１１：００」、時刻「１２：００」、時刻「１３：００」のように、切りが良い時刻（この場合１時間単位）で事由が区切れているが、実際は、時刻「１１：１５」、時刻「１２：３０」、…のように、分単位で正確に管理される場合も想定が必要となる。
【００２８】
また、深夜時間帯（時刻「２２：００」〜翌日の時刻「０５：００」）の労働に対しては、労働基準法によって深夜割増賃金の支払いが義務付けられている。そのため、入力された労働、休憩および休暇の時間帯が深夜時間帯であるか否かの区別も必要となる。さらに、１日の標準の労働時間（所定労働時間）範囲外の労働について所定外の割増賃金を就業規則により定めている場合があるため、入力された労働、休憩および休暇の時間帯が所定外の時間帯か否かの区別も必要となる。
【００２９】
実施形態では、以下の方針により上述した課題を解決する。
・不在事由の種別毎に、複数の事由が重複した場合の優先度を設ける。
・勤怠情報を登録するための入力画面では、種類の異なる不在事由について、重複する時間帯を含んだ入力を許可する。
・勤怠情報登録後の集計処理内で、事由の区切れ目、重複、優先度を自動判定し、正しい内訳時間を算出する。
・事由の区切れ目以外に、所定労働の開始時刻および終了時刻、ならびに、深夜時間帯の開始時刻および終了時刻の区切れ目も判定し、所定外労働時間、深夜労働時間の集計も可能とする。
【００３０】
より具体的には、本実施形態では、重複部分を有する事由が異なる複数の時間帯の登録を許可し、これら複数の時間帯の開始時刻および終了時刻により各時間帯を分割し、各事由に設定される優先度に従い、分割された時間帯において重複する事由から１つを選択する。これにより、複数の事由が組み合わせで発生する場合であっても、それぞれの事由を分離した登録を簡易な登録方法にて実現できる。
【００３１】
［２．構成］
実施形態に係る就業時間計算装置の構成について説明する。図３は、実施形態に適用可能な就業時間計算システムの構成例を示す。実施形態に係る就業時間計算システムは、例えば、就労時間帯および不在事由に応じて賃金の計算が変わる、企業や店舗などの組織に用いて好適なものである。以下では、実施形態に係る就業時間計算システムが、企業に適用されるものとして説明を行う。
【００３２】
図３（ａ）は、就業時間計算システムが、ネットワーク３０に接続された、実施形態に係る就業時間計算装置１０と、サーバ２０とを含む例である。就業時間計算装置１０は、ディスプレイに、出退勤時刻、休憩時刻、不在時刻などの時刻情報を入力するための入力画面を表示させ、ユーザ（社員など）は、これらの時刻情報を、この入力画面に従い就業時間計算装置１０に対して直接的に入力する。
【００３３】
サーバ２０は、例えば社員情報を管理するための社員マスタを含み、就業時間計算装置１０に対して社員の情報を提供することができる。なお、サーバ２０の機能を就業時間計算装置１０に含めることも可能である。
【００３４】
図３（ｂ）は、図３（ａ）で説明した構成に対して、ネットワーク３０に接続される入力端末４０を追加した例である。就業時間計算装置１０は、ユーザが時刻情報を入力するための入力画面を表示させるための表示情報を、ネットワーク３０を介して、入力端末４０に送信する。入力端末４０は、就業時間計算装置１０から送られた表示情報に従いディスプレイに入力画面を表示させる。ユーザは、入力端末４０に表示された入力画面に従い時刻情報を入力する。入力端末４０は、入力された時刻情報を、ネットワーク３０を介して就業時間計算装置１０に送信する。
【００３５】
図４は、実施形態に係る就業時間計算装置１０に適用可能なハードウェア構成の例を示す。図４において、就業時間計算装置１０は、ＣＰＵ(Central  Processing  Unit)１０００と、ＲＯＭ(Read  Only  Memory)１００１と、ＲＡＭ(Random  Access  Memory)１００２と、グラフィックＩ／Ｆ（インタフェース）１００３と、ストレージ１００４と、入出力Ｉ／Ｆ１００５と、通信Ｉ／Ｆ１００６とを含み、これら各部がバス１０１０により互いに通信可能に接続される。このように、実施形態に係る就業時間計算装置１０は、情報処理装置としての一般的なコンピュータを用いて構成できる。
【００３６】
ストレージ１００４は、ハードディスクドライブやフラッシュメモリといった不揮発性の記憶媒体であって、ＣＰＵ１０００が動作するためのプログラムや、各種のデータが記憶される。ＣＰＵ１０００は、ストレージ１００４やＲＯＭ１００１に記憶されるプログラムに従い、ＲＡＭ１００２をワークメモリとして用いて、この就業時間計算処理装置１０の全体の動作を制御する。
【００３７】
グラフィックＩ／Ｆ１００３は、ＣＰＵ１０００によりプログラムに従い生成された表示制御信号を、ディスプレイ１０２０が対応可能な画像信号に変換して出力する。これにより、プログラムに従った画面をディスプレイ１０２０上に表示させることができる。
【００３８】
入出力Ｉ／Ｆ１００５は、外部機器との間でデータの入出力を行うインタフェースである。入出力Ｉ／Ｆ１００５としては、例えばＵＳＢ(Universal  Serial  Bus)を適用できる。図４の例では、入出力Ｉ／Ｆ１００５に対して、ユーザ操作に応じた制御信号を出力する入力デバイス１０２１が接続されている。入力デバイス１０２１からユーザ操作に応じて出力された制御信号は、入出力Ｉ／Ｆ１００５を介してＣＰＵ１０００に送られる。
【００３９】
入力デバイス１０２１は、キーボードやポインティングデバイスを適用できる。これに限らず、入力デバイス１０２１として、表示デバイスと一体的に構成されたタッチパネルを適用させてもよいし、音声入力を行うマイクロホンを適用させてもよい。入力デバイス１０２１としてマイクロホンを適用させる場合、入出力Ｉ／Ｆ１００５は、アナログ音声信号をディジタル音声信号に変換するＡ／Ｄ変換器を含む。また、入出力Ｉ／Ｆ１００５に対して、出力デバイスとしてプリンタやスピーカを接続することができる。出力デバイスとしてスピーカを適用させる場合、入出力Ｉ／Ｆ１００５は、ディジタル音声信号をアナログ音声信号に変換するＤ／Ａ変換器を含む。
【００４０】
通信Ｉ／Ｆ１００６は、ＣＰＵ１０００の指示に従い、ＬＡＮ(Local  Area  Network)やインターネットといったネットワークに対する通信を行う。
【００４１】
なお、サーバ２０、および、図３（ｂ）に示した入力端末４０は、図４の就業時間計算装置１０と同様の構成にて実現可能であるため、ここでの説明を省略する。
【００４２】
図５は、実施形態に係る就業時間計算装置１０の機能を説明するための機能ブロック図である。なお、図５は、図３（ａ）を用いて説明した構成を想定した機能ブロック図となっている。
【００４３】
図５において、就業時間計算装置１０は、制御部１１０と、記憶部１２０と、入出力Ｉ／Ｆ（インタフェース）部１３０と、通信Ｉ／Ｆ１４０部とを含む。これら制御部１１０、記憶部１２０、入出力Ｉ／Ｆ部１３０および通信Ｉ／Ｆ部１４０のうち、制御部１１０、入出力Ｉ／Ｆ部１３０および通信Ｉ／Ｆ部１４０は、ＣＰＵ１０００上で動作する就業時間計算プログラムが実行することで構成される。記憶部１２０は、例えばストレージ１００４およびＲＡＭ１００２の所定の記憶領域が用いられる。
【００４４】
なお、制御部１１０、記憶部１２０、入出力Ｉ／Ｆ部１３０および通信Ｉ／Ｆ部１４０の一部または全部を、互いに協働して動作するハードウェア回路により構成することも可能である。
【００４５】
記憶部１２０は、入力情報記憶部１２１およびデータ記憶部１２５を含むと共に、不在事由マスタ１２２および優先度マスタ１２３の各マスタが記憶される。これらのうち、入力情報記憶部１２１およびデータ記憶部１２５は、例えばＲＡＭ１００２またはストレージ１００４の所定領域が適用される。また、不在事由マスタ１２２および優先度マスタ１２３は、ストレージ１００４に不揮発に記憶される。
【００４６】
なお、図５では、記憶部１２０が社員マスタ１２４を含むように示されているが、社員マスタ１２４は、実際にはサーバ２０に記憶される。図５の例のように、社員マスタ１２４を就業時間計算装置１０が記憶していてもよい。
【００４７】
記憶部１２０において、入力情報記憶部１２１は、入力画面に従いユーザ（例えば社員）により入力された、事由種別および事由種別に対応する時刻情報などを含む勤務情報データが記憶される。
【００４８】
図６は、実施形態に適用可能な、勤務情報データを入力、登録するための入力画面の例を示す。図６（ａ）において、入力画面２００は、後述するＵＩ部１１１により生成され、例えばディスプレイ１０２０に表示されるもので、入力部２０００および２１００と、集計結果情報表示部２２００とを含む。入力部２０００は、入力画面２００に対して入力を行うユーザ（社員）の識別情報（社員ＩＤとする）と、日付とを入力するための各入力領域を含む。なお、日付は、例えば、就業時間計算装置１０が備えるカレンダ機能により自動的に入力されるようにしてもよい。
【００４９】
以下では、社員Ａが、２０１７年９月３日における勤務スケジュールを入力するものとして説明を行う。
【００５０】
入力部２１００は、勤務時間に関する情報として、事由種別「勤務」に対する出勤時刻および退勤時刻と、事由種別「休憩」に対する開始時刻および終了時刻と、事由種別「不在事由」に対する開始時刻および終了時刻と、を入力するための各入力領域２１０１、２１０２、２１０３1、２１０３2、…、２１０４1、２１０４2、…を含む。
【００５１】
入力画面２００に含まれる各入力領域について、より詳細に説明する。入力領域２１０１は、例えば勤務時間として定められた所定時間の開始時刻および終了時刻とを入力するための領域である。所定時間は、就業時間帯としてシステムによって予め定められた時間帯であって、この所定時間の開始時刻および終了時刻は、当該システムにより設定した値を予め入力しておくことができる。ここでいうシステムは、例えば、就業時間計算装置１０を含む就業管理システムであって、例えば企業などの組織により運用される。図６（ａ）の例では、入力領域２１０１に対し、所定時間の開始時刻および終了時刻として、時刻「０９：００」および時刻「１７：３０」がシステムにより予め入力されている。
【００５２】
入力領域２１０２は、事由種別が「勤務」に属する勤務時間帯の開始時刻および終了時刻を示す出勤時刻および退勤時刻を入力するための領域である。図６（ａ）の例では、出勤時刻および退勤時刻が出退実績として示されている。
【００５３】
入力領域２１０３1、２１０３2、…は、それぞれ、事由種別が「休憩」に属する休憩時間帯の開始時刻および終了時刻を入力するための領域である。図６（ａ）の例では、入力領域２１０３1、２１０３2、…として示されるように、１日の中に複数の休憩時間帯（休憩１、休憩２、…）を設定可能となっている。また、図６（ａ）の例では、「休憩１」で示される休憩時間帯は、開始時刻および終了時刻として、時刻「１２：００」および時刻「１３：００」がシステムにより予め入力されている。
【００５４】
入力領域２１０４1、２１０４2、…は、それぞれ、事由種別が「不在事由」に属する不在事由時間帯の不在事由、開始時刻および終了時刻を入力するための領域である。図６（ａ）の例では、入力領域２１０４1、２１０４2、…として示されるように、１日の中に複数の不在事由（不在事由１、不在事由２、…）を設定可能となっている。
【００５５】
なお、各入力領域２１０４1、２１０４2、…において、「事由」で示される領域は、不在事由の内容を入力するための領域である。当該領域は、詳細を後述する不在事由マスタ１２２に基づき複数の事由種別から選択された不在事由の内容が入力される。
【００５６】
入力情報記憶部１２１は、入力部２１００に含まれる各入力領域２１０１、２１０２、２１０３1、２１０３2、…、２１０４1、２１０４2、…に入力された各情報を、勤務情報データとして、入力部２０００に入力される社員ＩＤおよび日付と関連付けて記憶する。
【００５７】
入力画面２００において、集計結果情報表示部２２００は、上述した入力部２１００に含まれる各入力領域２１０１、２１０２、２１０３1、２１０３2、…、２１０４1、２１０４2、…に入力された値に基づき集計した集計結果である実績集計情報が表示される。図６（ａ）の例では、集計結果情報表示部２２００は、それぞれ所定内実労働時間、所定外実労働時間、実労働時間、深夜労働時間、休憩時間、有給休暇時間および不就労時間の集計結果を表示するための表示領域２２０１〜２２０７を含む。これら各表示領域２２０１〜２２０７に表示される各時間の集計方法については、後述する。
【００５８】
なお、図６の例では、入力画面２００は、各項目が横方向に並べられているが、これはこの例に限定されず、入力画面２００のレイアウトは任意である。例えば、各項目を縦方向に並べ、明細形式の画面としてもよい。また、入力情報記憶部１２１は、入力画面２００に入力された勤務情報データを、例えば入力画面２００に準じた構成のテーブルにより入力情報記憶部１２１に記憶する。
【００５９】
次に、実施形態に係る不在事由マスタ１２２について、より具体的に説明する。図７は、実施形態に係る不在事由マスタ１２２の例を示す。不在事由マスタ１２２は、不在に係る事由種別と、当該不在の内容を示す不在事由とが関連付けられて、予め記憶部１２０に記憶される。図７において、不在事由マスタ１２２は、レコードに「不在事由」、「不在単位区分」および「事由種別」の各項目を含み、ユーザの不在事由を定義する。項目「不在事由」は、不在事由の名称が定義される。図７の例では、項目「不在事由」に対して、「終日有休」、「前半有休」、「後半有休」、「時間有休」、「介護休暇」、「遅刻」および「終日欠勤」の各不在事由名が定義される。
【００６０】
上述した入力画面２００において、各入力領域２１０４1、２１０４2、…における「事由」で示される領域に入力される不在事由の内容は、この項目「不在事由」に定義される各不在事由名から選択される。
【００６１】
項目「不在単位区分」は、不在とする時間帯の単位が定義される。図７の例では、「終日」、「前半」、「後半」および「時間」が定義されている。これらのうち、「終日」、「前半」および「後半」は、勤務時間として規定される所定時間における、予め定められた時間帯を不在の単位とする。例えば、「終日」は、当該所定時間の開始時刻から終了時刻までの時間帯、「前半」および「後半」は、それぞれ、当該所定時間に対して規定される前半（例えば午前中）および後半（例えば午後）の時間帯を不在の単位とする。これら「終日」、「前半」および「後半」は、時間帯を固定的とするなどの入力制御が可能とされる。また、「時間」は、任意の時刻を設定可能であり、不在の単位の時間帯を固定しない。図７の例では、不在事由「終日有休」、「介護休暇」および「終日欠勤」の不在単位区間が「終日」、不在事由「前半有休」および「後半有休」の不在単位区間がそれぞれ「前半」および「後半」とされ、不在事由「時間有休」および「遅刻」の不在単位区間が「時間」とされている。
【００６２】
項目「事由種別」は、不在に係る事由種別であって、全ての事由種別のうち不在事由の、例えばその企業における制度上の種別を定義する。図７の例では、「有給休暇」、「無給休暇」および「不就労」の３種類の事由種別が定義されている。これらのうち、事由種別「有給休暇」および「無給休暇」はそれぞれ休暇として扱われ、「有給休暇」は既定の賃金が支払われる事由種別であり、「無給休暇」は賃金が支払われない事由種別である。一方、事由種別「不就労」は、休暇としては扱われない不在事由であって、賃金が支払われず、場合によっては罰則が課せられる事由種別である。
【００６３】
次に、実施形態に係る優先度マスタ１２３について、より具体的に説明する。図８は、実施形態に係る優先度マスタ１２３の例を示す。図８において、優先度マスタ１２３は、レコードに「事由種別」および「優先度」の各項目を含み、事由種別に対して優先度を関連付ける。図８の例では、項目「優先度」において最も優先度の高い優先度「１」から、最も優先度の低い優先度「４」まで、４段階に優先度が定義されている。この各優先度「１」〜「４」に対して、項目「事由種別」の定義される「休憩」、「有給休暇」、「無給休暇・不就労」および「勤務」がそれぞれ関連付けられている。
【００６４】
より詳細には、事由種別「休憩」は、一定以上の労働時間につき必ず付与される権利であって、最も高い優先度が設定される。事由種別「有給休暇」は、法令や就業規則の定めにより、特定の条件下で有給で取得する権利がある休暇であって、休憩の次に高い優先度が設定される。  事由種別「無給休暇」および「不就労」（図８では、「無給休暇・不就労」として纏めて示している）は、介護休暇、私用外出、欠勤、自己都合による遅刻など、無給扱いまたは罰則対象とみなされるような不在時間であって、休憩および不在に係る事由において、最も低い優先度が設定される。また、事由種別「勤務」は、上述の休憩および不在を全て控除した結果、実労働時間と看做される時間であって、他の休憩、不在事由と比べて最も低い優先度が設定される。
【００６５】
なお、優先度マスタ１２３において項目「事由種別」に定義される各事由種別に対する優先度の関連付けは、図８の例に限定されない。また、項目「事由種別」に定義される事由種別も、図８の例に限定されない。さらに、不在自由に対する優先度は、法令や就業規則を鑑みて優先度マスタなどによる設定切替にすることも可能だが、ユーザ（社員）が持つ権利の強い不在事由ほど優先度を高くするのが合理的である。
【００６６】
データ記憶部１２５は、例えば制御部１１０のワークエリアとして用いられる記憶領域であって、入力情報記憶部１２１に記憶される勤務情報データに応じた処理に基づき生成される、事由明細データ３００、基準時刻明細データ３１０、事由明細分割データ３２０および事由明細分割抽出データ３３０を含む各データが揮発的あるいは不揮発的に記憶される。これら事由明細データ３００、基準時刻明細データ３１０、事由明細分割データ３２０および事由明細分割抽出データ３３０の具体的な例については、後述する。
【００６７】
図５において、制御部１１０は、ＵＩ(User  Interface)部１１１と、記憶管理部１１２と、作成部１１３と、分割部１１４と、選択部１１５と、集計部１１６と、を含む。
【００６８】
ＵＩ部１１１は、上述した入力画面２００を生成し、生成した入力画面２００をディスプレイ１０２０に表示させる。また、ＵＩ部１１１は、入力画面２００に応じて入力された各データを受け付ける。例えば、ＵＩ部１１１は、入力画面２００において、入力部２０００に入力された社員ＩＤおよび日付情報と、入力部２１００の各入力領域に入力された勤務情報データとを、入出力Ｉ／Ｆ１００５を介して受け取る。ＵＩ部１１１は、受け取った社員ＩＤおよび日付情報、ならびに、勤務情報データを、記憶管理部１１２に渡す。
【００６９】
記憶管理部１１２は、記憶部１２０に記憶されるデータの管理、ならびに、記憶部１２０に対するデータの記憶および記憶部１２０からのデータの読み出しを制御する。例えば、記憶管理部１１２は、ＵＩ部１１１から渡された社員ＩＤ、日付情報および勤務情報データを、記憶部１２０に含まれる入力情報記憶部１２１に記憶する。また、記憶管理部１１２は、記憶部１２０に記憶されるデータ（例えば社員マスタ１２４）がサーバ２０上のデータである場合には、サーバ２０に対して、データの記憶および更新要求と、データの取得要求とを送信する。
【００７０】
作成部１１３は、入力画面２００に応じて入力された複数の時刻情報に基づき、ある社員（社員Ａとする）がある勤務日（２０１７年９月３日とする）において設定した事由種別を列挙して、各事由種別に対し、優先度と、開始時刻および終了時刻とを関連付けたデータである事由明細データ３００を作成する。作成部１１３は、さらに、生成した事由明細データ３００に含まれる複数の開始時刻および終了時刻と、予め定められた時刻とに従い、１日の時間に区切りを入れ、隣接する区切りに挟まれた区間を作成する（基準時刻明細データ３１０）。すなわち、作成部１１３は、１日の時間に対して、記憶部１２０の入力情報記憶部１２１に記憶された複数の時刻情報が示す時刻と、予め定められた時刻と、により区切った区切りを設定し、隣接する該区切りに挟まれた区間を作成する。
【００７１】
分割部１１４は、事由明細データ３００と基準時刻明細データ３１０とを所定の条件に従い結合し、１日の時間を、基準時刻明細データ３１０に基づき隣接する区切りに挟まれた区間に分割した事由明細分割データ３２０を生成する。すなわち、分割部１１４は、勤務時間帯、休憩時間帯および不在時間帯を、作成部１１３により作成された区間毎に分割して分割時間帯を生成する。
【００７２】
選択部１１５は、事由明細分割データ３２０に基づき、事由明細分割データ３２０で分割された各区間において、異なる事由種別が重複する区間毎に、最も高い優先度が関連付けられた事由種別を選択して事由明細分割抽出データ３３０を生成する。すなわち、選択部１１５は、作成部１１３により作成された区間それぞれのうち、１以上の分割時間帯を含む区間において、分割時間帯のうち最も高い優先度が設定された事由種別に対応する分割時間帯を、区間毎に選択する。
【００７３】
集計部１１６は、選択部１１５により選択された各分割時間帯を、対応する事由種別が同一の分割時間帯毎に集計する。集計結果は、ＵＩ部１１１により、入力画面２００に含まれる集計結果情報表示部２２００に表示される。これに限らず、ＵＩ部１１１は、集計結果を表示させる表示画面を入力画面２００とは別途に生成してもよい。また、集計部１１６は、集計結果を記憶部１２０に記憶してもよいし、ネットワーク３０を介して外部（例えばサーバ２０）に送信してもよい。
【００７４】
就業時間計算装置１０において、入出力Ｉ／Ｆ１３０部は、入力装置１５０および出力装置１５１が接続される。一例として、図３（ａ）に示した就業時間計算システムにおいては、入力装置１５０は、例えば図４における入力デバイス１０２１に対応し、入出力Ｉ／Ｆ部１３０は、入出力Ｉ／Ｆ１００５を制御して、入力デバイス１０２１から出力された制御信号に応じた入力データを生成し、制御部１１０に渡す。出力装置１５１は、例えば図４におけるディスプレイ１０２０であって、入出力Ｉ／Ｆ部１３０は、グラフィックＩ／Ｆ１００３を制御して、ＣＰＵ１０００により生成された表示制御信号を画像信号に変換してディスプレイ１０２０に供給する。
【００７５】
他の例として、図３（ｂ）に示した就業時間計算システムにおいては、入力端末４０に接続される入力デバイスおよびディスプレイを、それぞれ入力装置１５０および出力装置１５１に対応させることができる。
【００７６】
通信Ｉ／Ｆ部１４０は、図４における通信Ｉ／Ｆ１００６を制御して、ネットワーク３０に対する通信を行う。
【００７７】
就業時間計算装置１０は、通信Ｉ／Ｆ部１４０の制御により、ネットワーク３０を介してサーバ２０との間で通信を行うことができる。なお、記憶部１２０に記憶される各マスタは、サーバ２０に記憶させてもよい。
【００７８】
就業時間計算装置１０における実施形態に係る各機能を実現するための就業時間計算プログラムは、インストール可能な形式または実行可能な形式のファイルでコンピュータにて読み取り可能な記録媒体に記録して提供される。このコンピュータで読み取り可能な記録媒体としては、メモリーカード、ＵＳＢ(Universal  Serial  Bus)メモリ、ＳＤ(Secure  Digital)カード、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＥＰＲＯＭ(Erasable  Programmable  Read  Only  Memory)、ＥＥＰＲＯＭ（登録商標）(Electrically  Erasable  and  Programmable  Read  Only  Memory)、ＣＤ(Compact  Disk)、ＭＯ(Magneto-Optical  disk)、ＤＶＤ(Digital  Versatile  Disk)、および、Ｂｌｕ−ｒａｙ（登録商標）  Ｄｉｓｃなどの任意の可搬用の物理媒体を含むものとする。したがって、本明細書で以下に説明するような処理または処理方法を実行するためのプログラムを格納した記録媒体もまた本発明を構成することとなる。
【００７９】
これに限らず、当該就業時間計算プログラムを、インターネットなどのネットワークに接続されたコンピュータ上に格納し、当該ネットワークを介してダウンロードさせることにより提供してもよい。また、当該就業時間計算プログラムをインターネットなどのネットワークを経由して提供または配布するように構成してもよい。
【００８０】
当該就業時間計算プログラムは、制御部１１０（ＵＩ部１１１、記憶管理部１１２、作成部１１３、分割部１１４、選択部１１５および集計部１１６）、入出力Ｉ／Ｆ部１３０および通信Ｉ／Ｆ部１４０を含むモジュール構成となっている。実際のハードウェアとしては、ＣＰＵ１０００がＲＯＭ１００１などの記憶媒体から当該就業時間計算プログラムを読み出して実行することにより、上述した各部がＲＡＭ１００２などの主記憶装置上にロードされ、制御部１１０（ＵＩ部１１１、記憶管理部１１２、作成部１１３、分割部１１４、選択部１１５および集計部１１６）、入出力Ｉ／Ｆ部１３０および通信Ｉ／Ｆ部１４０が主記憶装置上に生成されるようになっている。
【００８１】
また、「プログラム」とは、任意の言語または記述方法にて記述されたデータ処理方法であり、ソースコードまたはバイナリコード等の形式を問わない。なお、「プログラム」は必ずしも単一的に構成されるものに限られず、複数のモジュールやライブラリとして分散構成されるものや、ＯＳ(Operating  System)に代表される別個のプログラムと協働してその機能を達成するものをも含む。
【００８２】
［３．実施形態に係る処理］
次に、実施形態に係る処理について説明する。図９は、実施形態に係る就業時間計算装置１０における処理を示す一例のフローチャートである。図９のフローチャートの実行に先立って、図６（ａ）を用いて説明した入力画面２００に応じて、ユーザ（社員）により、入力部２１００に含まれる各入力領域２１０１、２１０２、２１０３1、２１０３2、…、２１０４1、２１０４2、…に対して、所定時間と、出退勤時刻と、休憩の開始および終了時刻と、不在事由の開始および終了時刻と、を含む勤務情報データが入力される。なお、入力領域２１０３1、２１０３2、…、および、入力領域２１０４1、２１０４2、…への入力は、必要に応じて行われる。
【００８３】
上述した図６（ａ）の入力画面２００において、入力部２１００に含まれる各入力領域２１０２、２１０３1、２１０３2、…、２１０４1、２１０４2、…に、各時刻情報および不在事由が入力された例を、図６（ｂ）に示している。ここでは、図１（ａ）を用いて説明した勤務スケジュールに従い、各時刻情報および不在事由が入力されるものとする。
【００８４】
なお、図６（ａ）および図６（ｂ）の例では、入力部２０００の各入力領域、および、入力部２１００の入力領域２１０１および２１０３1は、システムにより予め各値が入力されているものとする。より具体的には、入力部２０００の各入力領域に対して、社員ＩＤ「Ａ」と、勤務日「２０１７／０９／０３」が、システムによりそれぞれ入力される。また、入力部２１００の入力領域２１０１に、所定時間の開始時刻として時刻「０９：００」が、終了時刻として時刻「１７：３０」が、システムによりそれぞれ入力される。さらに、入力領域２１０３1に対し、休憩１の休憩時間帯の開始時刻として時刻「１２：００」が、終了時刻として時刻「１３：００」が、システムによりそれぞれ入力される。
【００８５】
一方、入力領域２１０２、２１０３1、２１０３2、…、２１０４1、２１０４2、…のうち、システムにより予め入力がなされる入力領域２１０３1を除く各入力領域は、入力画面２００に従いユーザ（例えば社員Ａ）により各値が入力される。図６（ｂ）の例では、入力領域２１０２に対し、出勤時刻として時刻「０９：００」が、退勤時刻として時刻「１８：００」が社員Ａによりそれぞれ入力されている。また、入力領域２１０４1に対し、不在事由１の不在時間帯の開始時刻として時刻「１１：００」が、終了時刻として時刻「１４：００」がそれぞれ入力されている。また、入力領域２１０４1において、項目「事由」に対して、不在事由「時間有休」が入力されている。
【００８６】
ここで、図１（ａ）に示した勤務スケジュールでは、時間有休として取得された時間帯（時刻「１１：００」〜時刻「１４：００」）が、休憩として設定された時間帯（時刻「１２：００」〜時刻「１３：００」）を含んでいる。図６（ｂ）に例示されるように、入力画面２００において、入力領域２１０４1に、事由が不在事由である「時間有休」である不在時間帯の開始時刻および終了時刻として時刻「１１：００」および「１４：００」が入力される。また、入力領域２１０３1に、入力領域２１０４1に入力される不在時間帯に含まれる時間帯として、事由が「休憩」である休憩時間帯の開始時刻および終了時刻として時刻「１２：００」および「１３：００」が入力される。
【００８７】
このように、実施形態に係る入力画面２００は、入力領域２１０３1と入力領域２１０４1とに示されるように（それぞれ太枠を付して示す）、このような、異なる事由の、重複する時間帯の入力を許容する。
【００８８】
また、実施形態に係る入力画面２００は、不在事由を入力するための入力領域２１０４1、２１０４2、…についても、「事由」で示される領域に入力される不在事由の内容が異なれば、重複する時間帯の入力が許容される。例えば、入力画面２００は、入力領域２１０４1および２１０４2に、上述した「私用外出」による不在と、「休暇（時間有休）」による不在とを、時間帯を重複させて入力できる。
【００８９】
図６（ｂ）において、集計結果情報表示部２２００に含まれる各表示領域２２０１〜２２０７は、上述した入力部２１００に含まれる各入力領域２１０１、２１０２、２１０３1、２１０３2、…、２１０４1、２１０４2、…に入力された値に基づき集計した集計結果である実績集計情報が表示される。
【００９０】
図９の説明に戻り、ステップＳ１００で、作成部１１３は、ある社員（社員Ａとする）のある勤務日（２０１７年９月３日とする）について、入力画面２００に入力された勤務情報データを、ＵＩ部１１１から取得する。次のステップＳ１０１で、作成部１１３は、ステップＳ１００で取得した勤務情報データから、事由明細データ３００を生成する。次のステップＳ１０２で、作成部１１３は、ステップＳ１０１で生成した事由明細データ３００と、予め定められた所定労働時間および深夜労働時間に基づき、基準時刻明細データ３１０を生成する。
【００９１】
次のステップＳ１０３で、分割部１１４は、ステップＳ１０１で生成した事由明細データ３００と、ステップＳ１０２で生成した基準時刻明細データ３１０とを所定の条件に従い結合して、１日の時間帯を各区間に分割した事由明細分割データ３２０を生成する。次のステップＳ１０４で、選択部１１５は、ステップＳ１０３で生成した事由明細分割データ３２０を、１日の時間帯を分割した各区間の開始時刻の順位に従いグルーピングする。次のステップＳ１０５で、選択部１１５は、ステップＳ１０４でグルーピングした各グループ内で最も優先度の高い事由を抽出し、抽出された事由に対応する区間により事由明細分割抽出データ３３０を生成する。
【００９２】
次のステップＳ１０６で、集計部１１６は、ステップＳ１０５で生成された事由明細分割抽出データ３３０から、所定の集計条件に従い区間を抽出して、当該区間を実績として集計する。集計結果は、例えばＵＩ部１１１に渡されて入力画面２００の集計結果情報表示部２２００の各表示領域２２０１〜２２０７に表示される。また、集計結果は、記憶管理部１１２に渡されて、社員ＩＤおよび日付情報と関連付けられて記憶部１２０に記憶される。記憶管理部１１２は、集計結果を、社員ＩＤおよび日付情報と関連付けて、例えば社員マスタ１２４に記憶することができる。
【００９３】
［４．実施形態に係る処理の詳細］
次に、図９のフローチャートのステップＳ１００〜ステップＳ１０６の処理について、より詳細に説明する。
【００９４】
［４−１．ステップＳ１００］
ステップＳ１００において作成部１１３が取得する勤務情報データは、少なくとも、入力領域２１０１に入力された所定時間の開始時刻および終了時刻と、入力領域２１０２に入力された、勤務時間帯の開始時刻および終了時刻である出勤時刻および退勤時刻と、入力領域２１０３1に入力された休憩時間帯の開始時刻および終了時刻と、を含む。図６（ｂ）の例では、勤務情報データは、さらに、入力領域２１０４1に入力された、不在事由と、不在時間帯の開始時刻および終了時刻と、を含む。
【００９５】
［４−２．ステップＳ１０１］
ステップＳ１０１において、作成部１１３は、ステップＳ１００で取得した勤務情報データから事由明細データ３００を作成する。
【００９６】
図１０は、実施形態に係る事由明細データ３００の例を概略的に示す。図１０の例では、事由明細データ３００は、「社員」、「勤務日」、「事由種別」および「優先度」と、「開始時刻」および「終了時刻」との各項目を含むレコードによるテーブルとして示されている。これらのうち、項目「社員」および「勤務日」は、入力画面２００の入力領域２０００に入力される社員ＩＤおよび勤務日の値が、各レコードに共通の値として格納される。
【００９７】
図１０の例では、事由明細データ３００の各レコードは、入力画面２００における各入力領域２１０１、２１０２、２１０３1、２１０３2、…、２１０４1、２１０４2、…のうち、所定時間の入力領域２１０１を除く各入力領域毎に作成される。
【００９８】
項目「開始時刻」および「終了時刻」は、それぞれ、入力画面２００における各入力領域２１０２、２１０３1、２１０３2、…、２１０４1、２１０４2、…それぞれに入力された開始時刻および終了時刻（入力領域２１０２においては出勤時刻および退勤時刻）が格納される。項目「事由種別」は、そのレコードの項目「開始時刻」および「終了時刻」に格納される値に対応する事由種別が格納される。また、項目「優先度」は、そのレコードの項目「事由種別」に格納される事由種別に、優先度マスタ１２３において関連付けられる優先度が格納される。
【００９９】
図１１は、実施形態に係る作成部１１３が、図６（ｂ）の入力画面２００の各入力領域２１０１、２１０２、２１０３1、２１０３2、…、２１０４1、２１０４2、…に入力された値に基づき事由明細データ３００を作成する例を、模式的に示す。図１１の上段は、図６（ｂ）の入力画面２００の入力部２０００および２１００を抜粋して示し、下段は作成された事由明細データ３００の例を示している。
【０１００】
事由明細データ３００の第１レコードは、図中に太枠および矢印により示すように、入力領域２１０２に基づくレコードである。作成部１１３は、この第１レコードに対し、項目「開始時刻」および「終了時刻」に、入力領域２１０２に入力される勤務時間帯の開始時刻および終了時刻をそれぞれ格納し、項目「事由種別」に、入力領域２１０２に対応する事由種別「勤務」を格納する。また、作成部１１３は、優先度マスタ１２３に基づき、項目「優先度」に対して、事由種別「勤務」に対応する優先度「４」を格納する。
【０１０１】
作成部１１３は、図中に太枠および矢印により示すように、事由明細データ３００の第２レコードを、入力領域２１０３1の入力内容に基づき作成する。すなわち、作成部１１３は、項目「開始時刻」および「終了時刻」に、入力領域２１０３1に入力される勤務時間帯の開始時刻および終了時刻をそれぞれ格納し、項目「事由種別」に、入力領域２１０３1に対応する事由種別「休憩」を格納し、優先度マスタ１２３に基づき、項目「優先度」に、事由種別「休憩」に対応する優先度「１」を格納して、当該第２レコードを作成する。
【０１０２】
作成部１１３は、図中に太枠および矢印により示すように、事由明細データ３００の第３レコードを、入力領域２１０４1の入力内容に基づき作成する。すなわち、作成部１１３は、項目「開始時刻」および「終了時刻」に、入力領域２１０４1に入力される勤務時間帯の開始時刻および終了時刻をそれぞれ格納する。また、作成部１１３は、入力領域２１０４1における項目「事由」に入力された不在事由「時間有休」に基づき不在事由マスタ１２２を参照して、当該不在事由「時間有休」に対応する事由種別「有給休暇」を取得し、取得した事由種別「有給休暇」を項目「事由種別」に格納する。作成部１１３は、優先度マスタ１２３を参照して、この事由種別「有給休暇」に対応する優先度「２」を、項目「優先度」に格納して、当該第３レコードを作成する。
【０１０３】
この、事由明細データ３００の項目「事由種別」に格納すべき値は、各入力領域２１０１、２１０２、２１０３1、２１０３2、…、２１０４1、２１０４2、…について、作成部１１３において予め定めておくことができる。例えば、作成部１１３は、入力領域２１０２に対して事由種別「勤務」、入力領域２１０３1、２１０３2、…に対して事由種別「休憩」を予め定める。また、入力領域２１０４1、２１０４2、…については、項目「事由」に対する入力内容に基づき不在事由マスタ１２２を参照して事由種別を取得するように、予め定める。
【０１０４】
［４−３．ステップＳ１０２］
ステップＳ１０２において、作成部１１３は、ステップＳ１０１で生成した事由明細データ３００と、予め定められた所定労働時間および深夜労働時間に基づき、基準時刻明細データ３１０を生成する。
【０１０５】
図１２は、実施形態に係る基準時刻明細データ３１０の例を概略的に示す。図１２において、基準時刻明細データ３１０は、「社員」、「勤務日」、「基準時刻」および「順位」の各項目を含むレコードによるテーブルとして示されている。これらのうち、項目「社員」および「勤務日」は、入力画面２００の入力領域２０００に入力される社員ＩＤおよび勤務日の値が、各レコードに共通の値として格納される。
【０１０６】
項目「基準時刻」は、分割部１１４が事由明細分割データ３２０を生成するために１日の時間帯を分割する際の基準となる時刻を定義する。より具体的には、作成部１１３は、事由明細データ３００に含まれる各開始時刻および終了時刻と、システムにより予め定められた時刻とを、項目「基準時刻」の値として、時刻順に列挙する。予め定められた時刻は、例えば、勤務時間として定められた所定時間の開始時刻および終了時刻と、深夜時間帯の開始時刻および終了時刻と、を含む。項目「順位」は、各レコードについて、項目「基準時刻」に格納される時刻の若い方から順次増加する値を設定する。
【０１０７】
図１３は、実施形態に係る作成部１１３が、図６（ｂ）の入力画面２００の各入力領域２１０１、２１０２、２１０３1、２１０３2、…、２１０４1、２１０４2、…に入力された値と、図１１に示した事由明細データ３００と、に基づき基準時刻明細データ３１０を作成する例を、模式的に示す。図１３の上段が図６（ｂ）の入力画面２００における入力部２１００を、中段が事由明細データ３００を、下段が基準時刻明細データ３１０を、それぞれ示している。
【０１０８】
作成部１１３は、図中に太枠にて示されるように、入力画面２００において入力部２１００の入力領域２１０１にシステムにより入力される所定時間の開始時刻および終了時刻と、事由明細データ３００の各レコードに含まれる各開始時間および終了時間と、を取得する。作成部１１３は、取得した各開始時刻および終了時刻を項目「基準時刻」の値として含む各レコードを作成し、作成した各レコードの項目「順位」に対して、項目「基準時刻」に格納される時刻順に増加する値を格納する。
【０１０９】
基準時刻明細データ３１０は、入力領域２１０１に入力される開示時刻「０９：００」と、終了時刻「１７：３０」と、事由明細データ３００の項目「開始時刻」および「終了時刻」に格納される各時刻「０９：００」、「１８：００」、「１２：００」、「１３：００」、「１１：００」および「１４：００」と、システムにより設定される深夜時間帯の開始時刻「２２：００」および終了時刻「０５：００」と、が各レコードの項目「基準時刻」に、時刻順に格納される。項目「順位」は、各レコードの項目「基準時刻」の時刻の若い方から順に、「１」〜「９」の値が各レコードに格納される。
【０１１０】
図１３の例では、項目「順位」が値「１」のレコードは、項目「基準時刻」に、システム固定の値である深夜時間帯の終了時刻「０５：００」が格納される。項目「順位」が値「２」のレコードは、所定時間の開始時刻および出勤時刻である時刻「０９：００」が格納される。このように、異なる事由種別で同一の時刻については、１のレコードに纏めて格納する。項目「順位」が値「３」のレコードは、休憩の開始時刻である時刻「１１：００」が格納される。以降、項目「順位」が値「４」〜「９」についても同様に、有給休暇の開始時刻「１１：００と」、休憩の開始時刻「１２：００」と、休憩の終了時刻「１３：００」と、有給休暇の終了時刻「１４：００」と、所定時間の終了時刻「１７：３０」と、勤務終了時刻（退勤時刻）「１８：００」と、システム固定値である深夜時間帯の開始時刻「２２：００」と、が項目「基準時刻」にそれぞれ格納される。
【０１１１】
１日の時間帯は、基準時刻明細データ３１０により、項目「基準時刻」に格納される、時間的に隣接する時刻に挟まれた時間帯による区間に分割される。図１３の例では、１日の時間帯が、時刻「０５：００」〜時刻「０９：００」の時間帯による区間と、時刻「０９：００」〜時刻「１１：００」の時間帯による区間と、時刻「１１：００」〜時刻「１２：００」の時間帯による区間と、時刻「１２：００」〜時刻「１３：００」の時間帯による区間と、時刻「１３：００」〜時刻「１４：００」の時間帯による区間と、時刻「１４：００」〜時刻「１７：３０」の時間帯による区間と、時刻「１７：３０」〜時刻「１８：００」の時間帯による区間と、時刻「１８：００」〜時刻「２２：００」の時間帯による区間と、にそれぞれ分割される。
【０１１２】
また、図１３では省略されているが、１日の開始および終了の時刻を時刻「００：００」とした場合、時刻「２２：００」〜翌日の時刻「００：００」、および、時刻「００：００」〜時刻「０５：００」の各時間帯による各区間での分割もなされる。
【０１１３】
なお、項目「基準時刻」に格納される値の最小単位は、特に限定されない。例えば、項目「基準時刻」に格納される値の最小単位を５分や１０分としてもよいし、１分単位、秒単位などさらに細かい単位で値を格納してもよい。
【０１１４】
［４−４．ステップＳ１０３］
ステップＳ１０３において、分割部１１４は、ステップＳ１０１で生成した事由明細データ３００と、ステップＳ１０２で生成した基準時刻明細データ３１０と、を所定の条件に従い結合して、勤務時間帯、休憩時間帯および不在時間帯を各区間に分割した事由明細分割データ３２０を生成する。
【０１１５】
より具体的には、分割部１１４は、事由明細データ３００の各レコードに対して、項目「開始時刻」および「終了時刻」に格納される各値（開始時刻および終了時刻）に対して、項目「基準時刻」の値（基準時刻）が下記の式（１）の条件を満たす、基準時刻明細データ３１０のレコードを結合する。
開始時刻≦基準時刻＜終了時刻    …（１）
【０１１６】
図１４は、式（１）に従い事由明細データ３００と基準時刻明細データ３１０とを結合して生成した、実施形態に係る事由明細分割データ３２０の例を概略的に示す。図１４において、事由明細分割データ３２０は、「社員」、「勤務日」、「事由種別」、「優先度」、「開始時刻」、「終了時刻」、「分割開始時刻」、「分割開始順位」、「分割終了時刻」、および、「分割終了順位」の各項目を含むレコードによるテーブルとして示されている。これらのうち、項目「社員」および「勤務日」は、事由明細分割データ３２０のキーとなる項目であって、入力画面２００の入力領域２０００に入力される社員ＩＤおよび勤務日の値が、各レコードに共通の値として格納される。
【０１１７】
事由明細分割データ３２０において、項目「事由種別」、「優先度」、「開始時刻」および「終了時刻」は、結合された事由明細データ３００におけるレコードの項目である。項目「分割開始時刻」および「分割開始順位」は、それぞれ、結合された事由明細データ３００における、項目「事由種別」に示される事由種別の時間帯を、基準時刻明細データ３１０の各レコードにおける項目「基準時刻」に格納される各時刻に基づき分割した区間の開始時刻と、当該開始時刻の順位とが格納される。項目「分割終了時刻」および「分割終了順位」は、当該区間の終了時刻と、当該終了時刻の順位とが格納される。
【０１１８】
図１５は、実施形態に係る分割部１１４が、図１１に示した事由明細データ３００と、図１３に示した基準時刻明細データ３１０とを結合して事由明細分割データ３２０を作成する例を、模式的に示す。図１５の上段左側が事由明細データ３００を、上段右側が基準時刻明細データ３１０を、下段が事由明細分割データ３２０を、それぞれ示している。
【０１１９】
図１５において、事由明細データ３００は、事由種別「勤務」、「休憩」および「有給休暇」の３つのレコードを含んでいる。これらのうち、事由種別「勤務」のレコードを例にとって、事由明細分割データ３２０の生成方法について説明する。事由種別「勤務」のレコードは、項目「開始時刻」および「終了時刻」に対し、それぞれ開始時刻および終了時刻を示す時刻「０９：００」および「１８：００」が格納されている。これら時刻「０９：００」および「１８：００」に上述した式（１）を適用すると、基準時刻明細データ３１０において、順位「２」〜「７」の各レコードが式（１）を満足していることが分かる。
【０１２０】
すなわち、基準時刻明細データ３１０において、順位「１」のレコードの項目「基準時刻」に格納される時刻「５：００」は、開始時刻を示す時刻「０９：００」より前の時刻であり、式（１）を満たさない。基準時刻明細データ３１０における順位「２」のレコードの項目「基準時刻」に格納される時刻「０９：００」は、開始時刻を示す時刻「０９：００」と同一であり、式（１）を満たす。基準時刻明細データ３１０において、順位「３」〜「７」の各レコードの項目「基準時刻」は、時刻「１１：００」から時刻「１７：３０」までの時刻が格納され、これら各時刻は、開始時刻を示す時刻「０９：００」より後の時刻であり、且つ、終了時刻を示す時刻「１８：００」より前の時刻であるため、何れも式（１）を満たす。一方、基準時刻明細データ３１０において、順位「８」のレコードの項目「基準時刻」に格納される時刻「１８：００」は、終了時刻を示す時刻「１８：００」と同一であり、式（１）を満たさない。
【０１２１】
分割部１１４は、上述した式（１）による判定結果に従い、基準時刻明細データ３１０における、項目「順位」の値が「２」〜「７」の各レコードを、事由明細データ３００における、事由種別「勤務」のレコードに対して結合する（図１５中の矢印Ａ参照）。このとき、基準時刻明細データ３１０における項目「基準時刻」および「順位」に格納される各値を、事由明細分割データ３２０における項目「分割開始時刻」および「分割開始順位」にそれぞれ格納する（図１５中の矢印Ｂ参照）。
【０１２２】
さらに、分割部１１４は、基準時刻明細データ３１０において、事由明細データ３００に結合した各レコードの項目「順位」の値を１だけ大きい値にずらした値を項目「順位」の値とする各レコードを取得する。分割部１１４は、こうして取得した各レコードに含まれる項目「基準時刻」および「順位」に格納される各値を、事由明細分割データ３２０における項目「分割終了時刻」および「分割終了順位」にそれぞれ格納する（図１５中の矢印Ｃ参照）。
【０１２３】
事由明細データ３００における事由種別「休憩」および「有給休暇」の各レコードについても同様である。分割部１１４は、項目「開始時刻」および「終了時刻」に格納される各時刻と、基準時刻明細データ３１０の各レコードの項目「基準時刻」に格納される時刻とにより、式（１）に基づく条件判定を行い、条件を満たす基準時刻明細データ３１０のレコードを、事由明細データ３００における対象のレコードと結合する。また、分割部１１４は、基準時刻明細データ３１０における項目「基準時刻」および「順位」に格納される各値に基づき、事由明細分割データ３２０の項目「分割開始時刻」および「分割開始順位」、ならびに、「分割終了時刻」および「分割終了順位」に対して値を格納する。
【０１２４】
図１５の例では、事由明細データ３００における事由種別「勤務」のレコードにおける項目「開始時刻」および「終了時刻」の時刻「０９：００」および「１８：００」と、基準時刻明細データ３１０の項目「基準時刻」の各時刻に基づき、事由明細分割データ３２０において、項目「分割開始時刻」の値が時刻「０９：００」、「１１：００」、「１２：００」、「１３：００」、「１４：００」および「１７：３０」であり、項目「分割開始順位」のそれぞれ対応する値が順位「２」〜「７」である６のレコードが生成される。
【０１２５】
また、この６のレコードにおいて、それぞれの項目「分割終了時刻」の値が、基準時刻明細データ３１０における項目「基準時刻」の、項目「分割開始順位」の順位「２」〜「７」を１だけ大きい値にずらした順位「３」〜「８」に対応する各時刻「１１：００」、「１２：００」、「１３：００」、「１４：００」、「１７：３０」および「１８：００」とされる。また、当該６のレコードそれぞれの項目「分割終了順位」の値が、順位「３」〜「８」とされる。すなわち、例えば図１５に示す事由明細分割データ３２０の１番目のレコードにおいて、項目「分割開始時刻」、「分割開始順位」、「分割終了時刻」および「分割終了順位」の値が、それぞれ時刻「０９：００」、「２」、「１１：００」および「３」となる。
【０１２６】
同様に、事由明細データ３００における事由種別「休憩」のレコードにおける項目「開始時刻」および「終了時刻」の時刻「１２：００」および「１３：００」と、基準時刻明細データ３１０の項目「基準時刻」の各時刻に基づき、事由明細分割データ３２０において、項目「分割開始時刻」の値が時刻「１２：００」であり、項目「分割開始順位」の対応する値が順位「４」である１のレコードが生成される。この１のレコードにおいて、項目「分割終了時刻」の値が、基準時刻明細データ３１０における項目「基準時刻」の、項目「分割開始順位」の順位「４」を１だけ大きい値にずらした順位「５」に対応する時刻「１３：００」とされる。また、当該１のレコードの項目「分割終了順位」の値が、順位「５」とされる。
【０１２７】
さらに同様に、事由明細データ３００における事由種別「有給休暇」のレコードにおける項目「開始時刻」および「終了時刻」の時刻「１１：００」および「１４：００」と、基準時刻明細データ３１０の項目「基準時刻」の各時刻に基づき、事由明細分割データ３２０において、項目「分割開始時刻」の値が時刻「１１：００」、「１２：００」および「１３：００」であり、項目「分割開始順位」のそれぞれ対応する値が順位「３」〜「５」である３のレコードが生成される。この３のレコードにおいて、それぞれの項目「分割終了時刻」の値が、基準時刻明細データ３１０における項目「基準時刻」の、項目「分割開始順位」の順位「３」〜「５」を１だけ大きい値にずらした順位「４」〜「６」に対応する各時刻「１２：００」、「１３：００」および「１４：００」とされる。また、当該３のレコードそれぞれの項目「分割終了順位」の値が、順位「４」〜「６」とされる。
【０１２８】
なお、事由明細分割データ３２０の各レコードにおいて、項目「分割開始時刻」に格納される時刻と、項目「分割終了時刻」に格納される時刻とに挟まれた区間を、区間ａ〜ｊとして、図１５の事由明細分割データ３２０の右端に示している。
【０１２９】
具体的には、項目「事由種別」の値が「勤務」である各レコードにおいて、時刻「０９：００」および時刻「１１：００」に挟まれる区間ａと、時刻「１１：００」および時刻「１２：００」に挟まれる区間ｂと、時刻「１２：００」および時刻「１３：００」に挟まれる区間ｃと、時刻「１３：００」および時刻「１４：００」に挟まれる区間ｄと、時刻「１４：００」および時刻「１７：３０」に挟まれる区間ｅと、時刻「１７：３０」および時刻「１８：００」に挟まれる区間ｆと、が形成される。また、項目「事由種別」の値が「休憩」であるレコードにおいて、時刻「１２：００」および時刻「１３：００」に挟まれる区間ｇが形成される。さらに、項目「事由種別」の値が「有給休暇」である各レコードにおいて、時刻「１１：００」および時刻「１２：００」に挟まれる区間ｈと、時刻「１２：００」および時刻「１３：００」に挟まれる区間ｉと、時刻「１３：００」および時刻「１４：００」に挟まれる区間ｊと、が形成される。
【０１３０】
図１５を用いて説明した、分割部１１４による事由明細分割データ３２０の生成処理は、事由明細データ３００を、１日の勤怠計算上の区切れ目となる開始時刻および終了時刻で短冊状のブロックに分割する処理である。
【０１３１】
図１６は、図１５に示した実施形態に係る事由明細分割データ３２０を、１日の時間帯を分割するブロックを用いて表した図である。図１６において、各行は、各事由種別について、事由明細データ３００の項目「開始時刻」および「終了時刻」に従った時間帯が示されている。また、図１６では、１日の時間帯が、基準時刻明細データ３１０の項目「基準時刻」に格納される各時刻「０５：００」、「０９：００」、「１１：００」、「１２：００」、「１３：００」、「１４：００」、「１７：３０」、「１８：００」および「２２：００」に従い、隣接する時刻に挟まれる区間に基づくブロック（分割時間帯）に分割されている様子が示されている。
【０１３２】
このように、実施形態に係る分割部１１４は、１日の時間帯を、基準時刻明細データ３１０に格納される基準時刻を区切りとして分割する。これにより、分割された区間による各ブロックは、必ず、事由がある、および、事由が無い、の何れかの状態となる。したがって、同一時間帯の区間は、「該当する事由無し」、および、「該当する１件以上の事由がある」の何れかの状態となることが確定する。
【０１３３】
図１６の例では、時刻「００：００」〜時刻「０９：００」の時間帯、および、時刻「１８：００」〜翌日の時刻「００：００」の時間帯は、「該当する事由無し」の区間となっている。一方、時刻「０９：００」〜時刻「１１：００」の時間帯、および、時刻「１４：００」〜時刻「１８：００」の時間帯は、それぞれ「該当する１件の事由がある」区間となっている。また、時刻「１１：００」〜時刻「１２：００」、および、時刻「１３：００」〜時刻「１４：００」の時間帯は、それぞれ「該当する２件の事由がある」区間となっている。さらに、時刻「１２：００」〜時刻「１３：００」の時間帯は、「該当する３件の事由がある」区間となっている。
【０１３４】
なお、図１６の例では、各事由種別は、上の行から下の行に向けて、優先度が高くなるように並べられている。
【０１３５】
［４−５．ステップＳ１０４］
ステップＳ１０４で、選択部１１５は、ステップＳ１０３で生成した事由明細分割データ３２０を、１日の時間帯を分割した各区間の開始時刻の順位に従いグルーピングする。換言すれば、選択部１１５は、ステップＳ１０３で生成した事由明細分割データ３２０を、項目「社員」、「勤務日」および「分割開始時刻」の単位でグルーピングする。
【０１３６】
このとき、例えば図１５に示した事由明細分割データ３２０は、特定の社員ＩＤ「Ａ」の社員、および、特定の勤務日「２０１７年９月３日」に関するデータである。そのため、この事由明細分割データ３２０は、項目「社員」および「勤務日」に関するグルーピングが既に行われていると考えることができる。
【０１３７】
例えば、選択部１１５は、図１５に示した事由明細分割データ３２０において、項目「分割開始時刻」に格納される値が同一のレコードによりグループを形成し、各グループを、項目「分割開始順位」に格納される値の順に並べ替える。
【０１３８】
図１７を用いて、実施形態に係る、ステップＳ１０４によるグルーピング処理について説明する。図１７（ａ）は、このようにして事由明細分割データ３２０を並べ替えた事由明細分割データ３２０’の例を示す。図１７（ａ）の例では、項目「分割開始時刻」の値が時刻「０９：００」である１のレコードを含むグループＧ＃１と、当該値が時刻「１１：００」である２のレコードを含むグループＧ＃２と、当該値が時刻「１２：００」である３のレコードを含むグループＧ＃３と、当該値が時刻「１３：００」である２のレコードを含むグループＧ＃４と、当該値が時刻「１４：００」である１のレコードを含むグループＧ＃５と、当該値が時刻「１７：３０」である１のレコードを含むグループＧ＃６と、にグルーピングされている。
【０１３９】
図１７（ｂ）は、上述した図１６と対応する図であって、グルーピング処理をブロックを用いて模式的に示す。図１７（ｂ）に示されるように、時刻「０９：００」〜時刻「１１：００」の区間がグループＧ＃１に、時刻「１１：００」〜時刻「１２：００」の区間がグループＧ＃２に、時刻「１２：００」〜時刻「１３：００」の区間がグループＧ＃３に、時刻「１３：００」〜時刻「１４：００」の区間がグループＧ＃４に、時刻「１４：００」〜時刻「１７：３０」の区間がグループＧ＃５に、時刻「１７：３０」〜時刻「１８：００」の区間がグループＧ＃６に、それぞれグルーピングされていることが分かる。このように、ステップＳ１０４のグルーピング処理は、「該当する１件以上の事由がある」区間を、同一時間帯毎に纏める処理である。
【０１４０】
［４−６．ステップＳ１０５］
ステップＳ１０５で、選択部１１５は、ステップＳ１０４でグルーピングした各グループ内で最も優先度の高い事由を抽出し、抽出された事由に対応する区間により事由明細分割抽出データ３３０を生成する。図１８および上述した図１７（ａ）を用いて、ステップＳ１０５による、実施形態に係る事由明細分割抽出データ３３０の生成処理について説明する。
【０１４１】
ステップＳ１０５で、選択部１１５は、図１７（ａ）の事由明細分割データ３２０’の各グループＧ＃１〜Ｇ＃６において、項目「優先度」に最も高い優先度が格納されるレコードを抽出する。図１７（ａ）の例では、グループＧ＃１、Ｇ＃５およびＧ＃６は、それぞれ１のレコードしか含まないため、それぞれのレコード（区間ａ、ｅおよびｆに対応）が抽出される。それぞれ優先度「２」および「４」の２のレコードを含むグループＧ＃２は、優先度がより高い「２」とされているレコード（区間ｈに対応）が抽出される。それぞれ優先度「１」、「２」および「４」の３のレコードを含むグループＧ＃３は、優先度が最も高い「１」とされているレコード（区間ｇに対応）が抽出される。また、それぞれ優先度「２」および「４」の２のレコードを含むグループＧ＃４は、優先度がより高い「２」とされているレコード（区間ｊに対応）が抽出される。
【０１４２】
図１８（ａ）は、上述のようにして、選択部１１５により各グループＧ＃１〜Ｇ＃６において抽出された、最も優先度が高いレコードを纏めて生成した事由明細分割抽出データ３３０を示す。このように、事由明細分割抽出データ３３０は、各グループＧ＃１〜Ｇ＃６から１つずつ抽出された、それぞれ区間ａ、ｈ、ｇ、ｊ、ｅおよびｆに対応する６のレコードを含む。
【０１４３】
図１８（ｂ）は、上述した図１７（ｂ）に対してステップＳ１０５による処理を適用した例を示す。図１８（ｂ）において、各行が、上の行から下の行に向けて事由種別の優先度が高くなるように並べられているため、各グループＧ＃１〜Ｇ＃６において、「該当する１件以上の事由がある」区間に対応するブロックのうち最も下のブロックが抽出されることになる。図１８（ｂ）の例では、区間ａ、ｈ、ｇ、ｊ、ｅおよびｆに対応する各ブロックが抽出されている。この抽出された各ブロックに対応する事由および時間帯が、次のステップＳ１０６において、集計部１１６により集計に用いる事由および時間帯として採用される。
【０１４４】
図１８（ｂ）の例では、区間ａ、ｅおよびｆに対応する各ブロックが、採用される事由が「勤務」として抽出される。区間ｈおよびｊに対応するブロックが、採用される事由が「有給休暇」として抽出される。また、区間ｇに対応するブロックが、採用される事由が「休憩」として抽出される。なお、図１８（ｂ）において「×（バツ印）」を付して示される各ブロックは、各グループＧ＃１〜Ｇ＃６に属するブロックのうち、集計部１１６により集計に用いる事由および時間帯として採用されない事由および時間帯を示している。
【０１４５】
この結果、実施形態に係る就業時間計算装置１０では、異なる事由種別で重複する時間帯を含む登録を許可した場合であっても、図２（ｂ）を用いて説明した、時間帯毎の事由を正しく登録する、既存技術による登録方法の第１の例と同様のデータを、自動処理により生成することが可能である。
【０１４６】
［４−７．ステップＳ１０６］
ステップＳ１０６で、集計部１１６は、ステップＳ１０５で生成された事由明細分割抽出データ３３０から、所定の集計条件に従い区間を抽出して、当該区間を実績として集計する。なお、ここでいう区間は、例えば図１８（ｂ）などに示した各ブロックを指す。
【０１４７】
図１９は、実施形態に係る、ステップＳ１０６において集計部１１６が事由明細分割抽出データ３３０から区間を抽出するための所定の集計条件の例を示す。図１９の例では、集計先項目として、「所定内実労働時間」、「所定外実労働時間」、「実労働時間」、「深夜労働時間」、「休憩時間」、「有給休暇時間」および「不就労時間」の各項目が定義されている。これら各集計先項目は、例えば賃金の計算方法に基づき定義される。集計部１１６は、事由明細分割抽出データ３３０から、所定の集計条件を満たす区間（ブロック）を抽出し、抽出した区間の時間を集計する。
【０１４８】
これら各集計先項目の集計条件は、それぞれ下記となる。なお、下記の式（２）、式（３）および式（４）において、記号「∧」は論理積を表し、記号「∨」は論理和を表す。
【０１４９】
集計先項目「所定内実労働時間」は、下記の式（２）を満たす区間を抽出し、抽出した区間の時間を集計する。
（事由種別＝勤務）∧（所定時間の開始時刻≦分割開始時刻）∧（分割終了時刻≦所定時間の終了時刻）    …（２）
【０１５０】
集計先項目「所定外実労働時間」は、下記の式（３）を満たす区間を抽出し、抽出した区間の時間を集計する。
（事由種別＝勤務）∧｛（所定時間の開始時刻＞分割開始時刻）∨（所定時間の終了時刻＜分割終了時刻）｝    …（３）
【０１５１】
上述の式（２）および式（３）から分かるように、実施形態では、事由種別が「勤務」である区間について、その区間が所定時間内に含まれる場合と、所定時間外に含まれる場合とで区別して集計する。
【０１５２】
集計先項目「実労働時間」は、事由種別が「勤務」である区間を抽出し、抽出した区間の時間を集計する。
【０１５３】
集計先項目「深夜労働時間」は、下記の式（４）を満たす区間を抽出し、抽出した区間の時間を集計する。なお、式（４）において、時刻「０５：００」および時刻「２２：００」は、労働基準法により深夜割増賃金の支払いが義務付けられている時間帯の終了時刻および開始時刻である。
（事由種別＝勤務）∧｛（０５：００＞分割開始時刻）∨（２２：００＜分割終了時刻）｝    …（４）
【０１５４】
上述の式（４）から分かるように、実施形態では、事由種別が「勤務」である区間について、その区間が深夜労働時間帯に含まれる場合と、含まれない場合とで区別して集計する。
【０１５５】
集計先項目「休憩時間」は、事由種別が「休憩」である区間を抽出し、抽出した区間の時間を集計する。集計先項目「有給休暇時間」は、事由種別が「有給休暇」である区間を抽出し、抽出した区間の時間を集計する。また、集計先項目「不就労時間」は、事由種別が「不就労」である区間を抽出し、抽出した区間の時間を集計する。
【０１５６】
図２０を用いて、実施形態に係る集計部１１６による各区間の集計方法について説明する。図２０（ａ）は、上述した図１８（ｂ）と対応し、集計部１１６は、採用されるとして抽出された各ブロックについて、上述した集計条件に従い集計を行う。図２０（ｂ）は、各ブロックを図１９の集計先項目毎に抽出した例を示している。なお、所定時間の開始時刻および終了時刻は、それぞれ時刻「０９：００」および「１７：３０」であるものとする。また、図２０（ｂ）では、単位としての「時間」を「ｈ」により表している。
【０１５７】
図２０（ａ）における区間ａのブロックは、事由種別が「勤務」であり、分割開始時刻および分割終了時刻がそれぞれ時刻「０９：００」および時刻「１１：００」であって、上述の式（２）を満たしている。同様に、区間ｅのブロックは、事由種別が「勤務」であり、分割開始時刻および分割終了時刻がそれぞれ時刻「１４：００」および時刻「１７：３０」であって、上述の式（２）を満たしている。したがって、図２０（ｂ）の「所定内実労働時間」の行に示されるように、区間ａのブロックの時間「２時間」と、区間ｅのブロックの時間「３．５時間」とがそれぞれ所定内実労働時間として計算される。
【０１５８】
図２０（ａ）における区間ｆのブロックは、事由種別が「勤務」であり、分割開始時刻および分割終了時刻がそれぞれ時刻「１７：３０」および時刻「１８：００」である。これらのうち、分割終了時刻の時刻「１８：００」は、所定時間の終了時刻「１７：３０」より後の時刻であり、上述の式（３）を満たしている。したがって、図２０（ｂ）の「所定外実労働時間」の行に示されるように、区間ｆのブロックの時間「０．５時間」が所定外実労働時間として計算される。
【０１５９】
図２０（ａ）における区間ｈおよび区間ｊの各ブロックは、それぞれ事由種別が「有給休暇」であり、上述の集計先項目「有給休暇時間」の条件を満たしている。また、図１９の例では、集計先項目「有給休暇時間」については、時刻（時間）に関する条件は定義されていない。したがって、図２０（ｂ）に示されるように、区間ｈのブロックの時間「１時間」と、区間ｊのブロックの時間「１時間」とがそれぞれ有給休暇時間として計算される。
【０１６０】
図２０（ａ）における区間ｇのブロックは、事由種別が「休憩」であり、上述の集計先項目「休憩時間」の条件を満たしている。また、図１９の例では、集計先項目「休憩時間」については、時刻（時間）に関する条件は定義されていない。したがって、図２０（ｂ）の「休憩時間」の行に示されるように、区間ｇのブロックの時間「１時間」が休憩時間として計算される。
【０１６１】
集計部１１６は、このようにして計算された各時間を、集計先項目毎に集計する。集計結果を、図２０（ｂ）の右端に示す。具体的には、集計先項目「所定内実労働時間」は、「２時間＋３．５時間」として５．５時間が集計結果とされる。集計先項目「所定外実労働時間」は、０．５時間が集計結果とされる。集計先項目「休憩時間」は、１時間が集計結果とされる。また、集計先項目「有給休暇」は、「１時間＋１時間」として２時間が集計結果とされる。
【０１６２】
一方、図２０（ａ）の例では、不在事由が「遅刻」あるいは「終日欠勤」といった、事由種別が「不就労」である区間（ブロック）が存在しない。また、図２０（ａ）の例では、勤務時間帯が時刻「０９：００」〜時刻「１８：００」であって、勤務時間帯の先頭の区間ａのブロックの分割開始時刻、および、勤務時間帯の後端の区間ｆのブロックの分割終了時刻が、共に、上述の式（４）の条件を満たさず、集計先項目「深夜労働時間」に該当する区間（ブロック）が存在しない。したがって、図１９に示した、集計先項目「不就労時間」および「深夜労働時間」は、それぞれ０時間が計算される。
【０１６３】
なお、図１９に示した集計先項目および集計条件は、一例であって、この例に限定されない。すなわち、実際には、従業員の雇用形態、管理監督者と一般社員との違い、就業規則、採用制度（変形労働時間制、フレックスタイム制など）などに応じて、集計先項目および集計条件が設定される。
【０１６４】
集計部１１６は、上述のようにして集計先項目毎に集計された集計結果を、例えばＵＩ部１１１に渡す。ＵＩ部１１１は、集計部１１６から渡された集計結果を、例えば、図６を用いて説明した入力画面２００の集計結果情報表示部２２００に表示させる。
【０１６５】
図２１は、実施形態に係る、集計結果情報表示部２２００に集計結果が表示された入力画面２００の例を示す。図２１の例では、図中に太枠にて示されるように、集計結果情報表示部２２００の各表示領域２２０１〜２２０７に、図２０（ｂ）の右端に示した、所定内実労働時間、所定外実労働時間、実労働時間、深夜労働時間、休憩時間、有給休暇時間および不就労時間それぞれの集計結果「５時間３０分」、「０時間３０分」、「６時間００分」、「０時間００分」、「１時間００分」、「２時間００分」および「０時間００分」が、それぞれ表示されている。この集計結果は、図１（ａ）および図１（ｂ）を用いて説明した勤務スケジュールと一致する。
【０１６６】
これに限らず、ＵＩ部１１１は、集計部１１６による集計結果を入力画面２００とは異なる画面に表示させてもよい。また、集計部１１６は、集計結果をＵＩ部１１１に渡さずに、記憶部１２０に記憶させてもよい。また、集計部１１６は、集計結果を、入出力Ｉ／Ｆ部１３０から外部に出力してもよいし、通信Ｉ／Ｆ部１４０から、ネットワーク３０を介してサーバ２０に送信してもよい。
【０１６７】
以上説明したように、実施形態に係る就業時間計算装置１０は、各事由の開始時刻および終了時刻により１日の時間帯を区切り、各事由による時間帯を、時間的に隣接する区切りに挟まれた区間で分割している。また、各事由には、優先度を関連付けている。そのため、勤怠の不在事由の種類や、時間的に重複部分を持つ事由の数が増えても、事由に対して関連付ける優先度の判定を明確化することで、共通する手続きで対応が可能である。
【０１６８】
また、実施形態に係る就業時間計算装置１０は、各事由の開始時刻および終了時刻により１日の時間帯を区切った区間に基づき、各事由の集計を行っている。そのため、勤怠の最小管理単位を問わず、厳密な集計が可能となる。例えば、勤怠の最小管理単位は、１時間、３０分、１５分、５分、１分、…など、原理的には秒単位まで、任意に設定可能である。また、集計の計算量に対する最小管理単位の細かさの影響が抑制される。
【０１６９】
［５．他の実施形態］
本発明は、上述した実施形態以外にも、特許請求の範囲に記載した技術的思想の範囲内において種々の異なる実施形態にて実施されてよいものである。
【０１７０】
例えば、実施形態において説明した各処理のうち、自動にて行われるものとして説明した処理の全部または一部を手動にて行うこともでき、あるいは、手動にて行われるものとして説明した処理の全部または一部を公知の方法で自動にて行うこともできる。
【０１７１】
また、本明細書中や図面中で示した処理手順、制御手順、具体的名称、各処理の登録データや検索条件などのパラメータを含む情報、画面例、マスタ構成、データ構成については、特記する場合を除いて任意に変更することができる。
【０１７２】
さらに、上述では、実施形態に係る就業時間計算装置１０が１のコンピュータにより構成されるように説明したが、これはこの例に限定されない。すなわち、実施形態に係る就業時間計算装置１０は、複数のコンピュータを統合的に運用するシステムにて構成することもできる。
【０１７３】
さらにまた、装置の分散・統合の具体的形態は図示するものに限られず、その全部または一部を、各種の付加等に応じてまたは機能負荷に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。すなわち、上述した実施形態を任意に組み合わせて実施してもよく、実施形態を選択的に実施してもよい。
【産業上の利用可能性】
【０１７４】
本発明は、特に、企業や店舗などの勤怠管理の分野において有用である。
【符号の説明】
【０１７５】
１０  就業時間計算装置
２０  サーバ
３０  ネットワーク
１１０  制御部
１１１  ＵＩ部
１１２  記憶管理部
１１３  作成部
１１４  分割部
１１５  選択部
１１６  集計部
１２０  記憶部
１２１  入力情報記憶部
１２２  不在事由マスタ
１２３  優先度マスタ
２００  入力画面
３００  事由明細データ
３１０  基準時刻明細データ
３２０  事由明細分割データ
３３０  事由明細分割抽出データ
２０００，２１００  入力部
２２００  集計結果情報表示部
【図１】
2019101636.tif 000003
【図２】
2019101636.tif 000004
【図３】
2019101636.tif 000005
【図４】
2019101636.tif 000006
【図５】
2019101636.tif 000007
【図６】
2019101636.tif 000008
【図７】
2019101636.tif 000009
【図８】
2019101636.tif 000010
【図９】
2019101636.tif 000011
【図１０】
2019101636.tif 000012
【図１１】
2019101636.tif 000013
【図１２】
2019101636.tif 000014
【図１３】
2019101636.tif 000015
【図１４】
2019101636.tif 000016
【図１５】
2019101636.tif 000017
【図１６】
2019101636.tif 000018
【図１７】
2019101636.tif 000019
【図１８】
2019101636.tif 000020
【図１９】
2019101636.tif 000021
【図２０】
2019101636.tif 000022
【図２１】
2019101636.tif 000023