以下、勤怠管理サーバ装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態1)
図1は、本実施の形態における勤怠管理システム1000のブロック図である。
勤怠管理システム1000は、勤怠管理サーバ装置1、一または二以上の打刻端末装置2、および一または二以上の表示端末装置3を備える。勤怠管理サーバ装置1と各打刻端末装置2とは、通信回線等を介して情報の通信可能となるよう接続される。また、勤怠管理サーバ装置1と各表示端末装置3とは、通信回線等を介して情報の通信可能となるよう接続される。通信回線は、無線または有線のいずれの通信回線であってもよく、両者が混在していてもよい。なお、図1においては、説明のため、打刻端末装置2が一つである場合を示しているが、打刻端末装置2は、二以上であってもよい。かかることは、表示端末装置3についても同様である。
勤怠管理サーバ装置1は、受信部101、勤怠情報格納部102、ユーザ領域管理情報格納部103、位置判断部104、蓄積部105、出力部106を備える。
打刻端末装置2は、位置情報取得部201、ユーザ識別子格納部202、操作受付部203、打刻判断部204、送信部205を備える。
勤怠管理サーバ装置1は、例えば、クラウドサーバ、ASPサーバ、またはコンピュータ等により実現される。ただし、勤怠管理サーバ装置1がどのような装置により実現されるかは問わない。
打刻端末装置2は、例えば、コンピュータ、携帯情報端末、いわゆるスマートフォン等の多機能携帯電話、携帯電話、タブレット型端末等により実現される。打刻端末装置2は、通常、無線通信によって情報の送受信を行なう装置である。ただし、有線通信によって情報の送受信を行なう装置であってもよい。ただし、打刻端末装置2がどのような装置により実現されるかは問わない。
表示端末装置3は、例えば、コンピュータ、携帯情報端末、いわゆるスマートフォン等の多機能携帯電話、携帯電話、タブレット型端末等により実現される。ただし、表示端末装置3がどのような装置により実現されるかは問わない。
受信部101は、位置付打刻情報を受信する。例えば、受信部101は、一以上の打刻端末装置2等から送信される位置付打刻情報を受信する。位置付打刻情報は、ユーザ識別子と、位置情報とを有する情報であって、ユーザ識別子が示すユーザの勤怠に関する打刻の情報である。位置付打刻情報は、例えば、打刻が行なわれたことを示す情報である。
ユーザ識別子は、ユーザを識別するための情報である。ここでのユーザは、例えば、勤怠の管理対象となるユーザである。ユーザは、例えば、社員等の雇用者である。ユーザ識別子は、例えば社員番号等のユーザに割り当てられた文字列(数字も含む)であってもよく、ユーザのメールアドレス等であってもよい。
位置情報は、例えば、打刻を行なった位置を示す情報である。位置情報は、例えば、対応するユーザ識別子、具体的には、同じ位置付打刻情報が有するユーザ識別子が示すユーザが打刻を行なった位置を示す情報である。位置情報は、位置を示すことが可能な情報であれば、どのような情報であってもよく、住所等であってもよく、緯度と経度との組合わせ等で表される座標等であってもよい。また、位置情報は、建物名を有していても良く、打刻端末装置2から送信される位置付打刻情報を受け付けたアクセスポイント等の座標、識別子、または住所等であってもよい。また、位置情報は、高さの情報を有していても良い。高さの情報は、高さを示すことが可能な情報であればどのような情報であってもよく、例えば、地表等の基準面からの高さである高度であってもよく、建築物等における階を示す情報であってもよい。なお、受信部101や後述する蓄積部105等は、受信部101が受信した位置情報である座標やアクセスポイント等の識別子等から、住所等の位置情報を変換しても良い。このように、異なる形式の情報に変換された位置情報も、実質的に同じ位置情報と考えてもよい。なお、座標やアクセスポイント等の識別子を変換して住所等を取得する処理は公知技術であるため、ここでは詳細な説明は省略する。なお、このような変換の際に、変換のサービスを提供する図示しないサーバ装置等を利用してもよい。なお、位置付打刻情報が有する位置情報であるアクセスポイント等の座標や識別子等は、アクセスポイントとなる中継装置等の装置が、打刻端末装置2等が送信する情報(例えば、ユーザ識別子を有する勤怠に関する打刻の情報)に対して付加した情報であってもよい。この場合の打刻端末装置2等が送信する情報は、例えば、後述する打刻情報であってもよい。
位置付打刻情報は、打刻の属性を示す情報である打刻属性情報を更に有していても良い。打刻の属性とは、打刻が、勤怠に関するどのような時刻の打刻であるかを示すものであり、打刻属性情報は、例えば、出勤時刻、退出時刻、外出時刻、再入時刻等の、打刻の属性名である。
位置付打刻情報は、時刻の情報を更に有していても良い。ここでの時刻は、例えば、打刻が行なわれた時刻である。また、位置付打刻情報は、日付の情報を更に有していてもよい。ここでの日付は、例えば、打刻が行なわれた日付である。
また、位置付打刻情報は、位置情報の取得手段を示す情報を更に有していても良い。位置情報の取得手段とは、例えば、Wi−Fi(登録商標)のアクセスポイント等の情報を用いて位置情報を取得する手段や、GPS(グローバル・ポジショニング・システム)等である。位置情報の取得手段を示す情報は、例えば、これらの手段を識別するための情報であり、例えば、GPSや、Wi−Fi(登録商標)等である。
なお、受信部101は、更に、打刻情報を受信してもよい。打刻情報は、例えば、打刻が行なわれたことを示す情報である。打刻情報は、例えば、ユーザ識別子を有する勤怠に関する打刻の情報であって、位置情報を有さない情報、または位置情報が「Null」である情報である。なお、「Null」の代わりに、「−1」等の位置を示さない情報や位置情報として用いられない情報等を用いるようにしてもよい。かかることは、以下においても同様である。打刻情報としては、例えば、位置付打刻情報から、位置情報を除いたもの、または位置情報の値を「Null」としたものと同様の情報が利用可能であり、ここでは、詳細な説明は省略する。
なお、受信部101は、例えば、予め指定されたネットワーク以外のネットワーク上において送信された打刻情報、特定のアクセスポイント以外のアクセスポイント等から送信された打刻情報、および移動通信システムを介して送信された打刻情報のうちの少なくとも一以上については、受信しないようにしてもよく、受信した打刻情報を破棄するようにしてもよい。予め指定されたネットワークは、例えば、勤怠管理サーバ装置1が接続されたLAN(ローカルエリアネットワーク)である。予め指定されたネットワークは、例えば、ユーザが勤務する社内の、勤怠管理サーバ装置1が接続されたLANである。なお、打刻情報が、これらのいずれかに相当するか否かは、例えば、打刻情報のヘッダの情報等から判断可能である。このような構成により、例えば、ユーザが勤務する社内のネットワーク上において送信した打刻情報は受信されるが、社外のネットワークから送信される打刻情報は受信できないようにすることができる。このため、例えば、受信部101は、社外のネットワークから位置付打刻情報だけを受信できるようにすることができる。
また、受信部101は、位置付打刻情報および打刻情報を受信した時刻に応じて、打刻属性情報を取得してもよい。例えば、位置付打刻情報および打刻情報を受信した時刻が、就業開始時刻前である場合、属性が出勤時刻であることを示す打刻属性情報を取得し、受信した時刻が、就業終了時刻後である場合、属性が退出時刻であることを示す打刻属性情報を取得してもよい。ここでの時刻は、勤怠管理サーバ装置1が有する図示しない時計や、NTP(ネットワーク・タイム・プロトコル)経由で受信部101等が受信した時刻等であってもよい。
なお、受信部101は、勤怠情報格納部102に格納されている位置付勤怠情報および勤怠情報の少なくとも一方を出力する操作や、後述する位置付勤怠情報と対応付けて出力される予め決められた情報を指定する操作等を更に受け付けても良い。
受信部101は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。受信部101は、通信デバイスを含むと考えても、含まないと考えても良い。
勤怠情報格納部102には、一または二以上の位置付勤怠情報が格納される。位置付勤怠情報は、受信部101が受信した位置付打刻情報が有するユーザ識別子および位置情報と、位置付打刻情報に対応する打刻された時刻の情報である一または二以上の打刻時刻情報と、を有する情報である。位置付打刻情報に対応する打刻された時刻は、受信部101が受信した位置付打刻情報が有する時刻の情報であってもよく、受信部101が位置付打刻情報を受信した時刻や、後述する蓄積部105が位置付勤怠情報を蓄積する際の時刻であってもよい。
位置付勤怠情報は、日付の情報を更に有していても良い。この日付は、例えば、打刻が行なわれた日付である。位置付勤怠情報が有する日付の情報は、例えば、受信部101が受信した位置付打刻情報が有する日付の情報であってもよく、受信部101が位置付打刻情報を受信した日付や、後述する蓄積部105が位置付勤怠情報を蓄積する際の日付であってもよい。
位置付勤怠情報は、更に、打刻属性情報を有していても良い。位置付勤怠情報が複数の打刻時刻情報を有する場合、位置付勤怠情報は、各打刻時刻情報に対応付けられた打刻属性情報を有することが好ましい。この打刻属性情報は、例えば、受信部101が受信した位置付打刻情報が有する打刻属性情報であってもよく、受信部101が位置付打刻情報を受信した時刻等に応じて取得した打刻属性情報であってもよく、後述する蓄積部105が位置付勤怠情報を蓄積する時刻に応じて取得した打刻属性情報であってもよい。
勤怠情報格納部102に格納される異なる打刻属性情報と対応付けられた二以上の打刻時刻情報を有する位置付勤怠情報は、後述する蓄積部105等が、ユーザ識別子および日付の情報が同じであって、異なる打刻属性情報と対応付けられた一の打刻時刻情報と位置情報とをそれぞれ有する複数の位置付勤怠情報を、重複するユーザ識別子および日付の情報を一つを除いて削除して結合した位置付勤怠情報であってもよい。あるいは、予め作成されたユーザ識別子と、日付の情報と、値が「Null」である位置情報と、複数の異なる打刻属性情報と対応付けられた値が「Null」である複数の打刻時刻情報と、この複数の打刻時刻情報とそれぞれ対応付けられた値が「Null」である複数の位置情報とを有する一以上の位置付勤怠情報の、打刻属性情報と対応付けられた「Null」の値を、受信部101が受信したユーザ識別子と、日付の情報とが一致する位置付打刻情報が有する打刻属性情報と同じ打刻属性情報と対応付けられた打刻時刻情報と位置情報とを、受信した位置付打刻情報が有する位置情報と、受信した位置付打刻情報に対応する打刻時刻情報とで順次更新していくようにしてもよい。受信した位置付打刻情報に対応する打刻時刻情報は、上記のように、受信した位置付打刻情報が有する打刻時刻情報であってもよく、受信部101が位置付打刻情報を受信した時刻の情報であってもよく、蓄積部105が位置付打刻情報を蓄積する時刻の情報であってもよい。
勤怠情報格納部102には、一以上の勤怠情報が更に格納されていてもよい。勤怠情報は、例えば、ユーザ識別子と、ユーザに対応する打刻された時刻の情報である一または二以上の打刻時刻情報と、を有している情報であって、位置情報が「Null」である、または位置情報を有さない情報である。位置情報が「Null」であることは、位置情報の値がないことと考えてもよい。勤怠情報は、例えば、上述した位置付勤怠情報において、位置情報を「Null」としたものと同様の構成の情報であって、上述した打刻情報が有するユーザ識別子等を有する情報である。なお、勤怠情報は、位置情報が「Null」である位置付勤怠情報と考えてもよい。例えば、勤怠情報は、位置情報が「Null」である位置付勤怠情報であって、位置付打刻情報が有するユーザ識別子の代わりに、上述した打刻情報が有するユーザ識別子等を有するようにした情報と考えてもよい。勤怠情報が有する時刻および日付および打刻属性情報等の一以上は、位置付勤怠情報と同様の処理により取得することができる。ただし、位置付打刻情報から日付や時刻や打刻属性情報を取得する処理において、位置付打刻情報の代わりに受信部101が受信した打刻情報を用いるものとする。
なお、位置付勤怠情報および勤怠情報は、上記で説明した情報以外の勤怠に関連した情報等を更に有していても良い。また、この情報は、どのようにして取得された情報であるかは問わない。例えば、位置付勤怠情報は、例えば、位置付打刻情報が有する出勤時刻および退出時刻の少なくとも一方を用いて算出した情報等を有していても良い。また、例えば、勤怠情報は、例えば、打刻情報が有する出勤時刻および退出時刻の少なくとも一方を用いて算出した情報等を有していても良い。
勤怠情報格納部102は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。かかることは、以下の他の格納部についても同様である。
ユーザ領域管理情報格納部103には、一以上のユーザ領域管理情報が格納される。ユーザ領域管理情報は、ユーザ識別子と、ユーザ識別子に対応する予め決められた領域を示す情報であるユーザ領域情報と、を有する情報である。ユーザ識別子に対応する予め決められた領域は、例えば、ユーザ識別子が示すユーザに対応付けられた予め決められた領域であってもよく、打刻がユーザ識別子が示すユーザに対して許可された領域であってもよい。例えば、対応するユーザ識別子が示すユーザが打刻を行なうことが雇用主等から許可されている領域である。ここでの領域は、例えば、ユーザの勤務先の領域であってもよく、ユーザが業務を行なう領域であってもよい。ここでの領域は、例えば、ユーザが派遣社員である場合は、ユーザの派遣先の領域であってもよく、ユーザが在宅勤務である場合は、ユーザの自宅等の居所の領域であってもよく、ユーザが出向している場合は、ユーザの出向先の領域であってもよい。また、ユーザにクライアント等への訪問予定または出張予定がある場合、領域は、ユーザの訪問先または出張先の領域であってもよい。一のユーザ領域管理情が有するユーザ領域情報は、対応するユーザ識別子が示すユーザにのみに打刻が許可された領域であることが好ましいが、対応するユーザ識別子を示すユーザと、他の一以上のユーザとに打刻が許可された領域であってもよい。例えば、対応するユーザ識別子が示すユーザを含む複数のユーザのグループに対応付けられた領域であってもよい。
ユーザ領域情報は、例えば、領域を特定可能な情報であればどのような情報であってもよい。例えば、ユーザ領域情報は、領域を特定するための、領域の輪郭を特定する一以上の座標であってもよい。例えば、ユーザ領域情報は、矩形の領域の四隅の座標であってもよく、輪郭上の複数の点の座標であってもよい。また、ユーザ領域情報は、例えば、領域内の一以上の点と、その点からの輪郭までの距離との組合わせ等であってもよい。また、ユーザ領域情報は、領域に含まれる複数の座標であってもよい。ただし、座標の分解能(例えば、座標で識別可能な最小距離)等は問わない。また、ユーザ領域情報は、住所等であってもよい。ただし、ここで用いられる住所の粒度は問わない。住所の粒度とは、住所の最小単位が、国レベル、地方レベル、県レベル、市区町村レベル、地名レベル、丁目レベル、番地レベル、建物レベル、および部屋レベル等のいずれであるかは問わない。ただし、上述した位置情報が住所である場合、ここでのユーザ領域情報である住所の粒度は、位置情報の粒度以上の粒度であることが好ましい。例えば、位置情報が、丁目レベルである場合、ユーザ領域情報である住所は、県レベル、市区町村レベル、丁目レベル等の丁目レベル以上の粒度のレベルであることが好ましい。なお、上述した位置情報が住所である場合も、同様に、住所の粒度はどのような粒度としてもよい。住所の粒度は、例えば、位置を判断する精度等に応じて設定すればよい。
なお、ユーザ毎に、打刻が許可されている領域を個別に管理しない場合、ユーザ領域管理情報格納部103は省略してもよい。
位置判断部104は、受信部101が受信した位置付打刻情報が有する位置情報が、予め決められた一または二以上の領域内の位置情報であるか否かを判断する。領域内の位置情報とは、具体的には、領域内の位置を示す位置情報である。位置判断部104は、例えば、判断結果に応じた情報を取得する。判断結果に応じた情報は、例えば、領域内の位置情報であることを示す情報および領域内の位置情報でないことを示す情報の少なくとも一方である。予め決められた領域とは、例えば、図示しない格納部等に予め格納された領域情報が示す領域である。この領域情報は、例えば、ユーザ識別子と対応付けられていない点を除けば、上述したユーザ領域情報と同様の情報である。この予め決められた領域とは、例えば、打刻が許可された領域である。この予め決められた領域とは、例えば、対応するユーザが制限されていない(言い換えれば、特定されていない)、打刻が許可されている領域である。予め決められた領域は、例えば、受信部101が受信する複数の位置付打刻情報がそれぞれ有する複数のユーザ識別子が示す複数のユーザが通常勤務する領域であってもよい。予め決められた領域は、例えば、企業の本社や、支社、工場、出向先、在宅勤務の場所等である。
位置付打刻情報が有する位置情報が座標であり、予め決められた領域が、その輪郭が、輪郭上の複数の座標で特定された領域である場合、位置付打刻情報が有する位置情報が、予め決められた領域内の位置情報であるか否かは、例えば、位置付打刻情報が有する位置情報である座標が、座標によって輪郭が特定された予め決められた領域内の座標であるか否かによって判断される。例えば、領域(領域の輪郭上の座標も含む)内の座標である場合、予め決められた領域内の位置情報であると判断して、位置判断部104は、この判断結果を示す情報を取得する。また、領域内の座標でなければ、予め決められた領域内の位置情報でないと判断して、この判断結果を示す情報を出力しても良く、判断結果を示す情報を出力しなくても良い。
また、位置付打刻情報が有する位置情報が住所であり、予め決められた領域を示す情報も住所である場合、位置付打刻情報が有する位置情報が、予め決められた領域内の位置情報であるか否かは、位置付打刻情報が有する位置情報である住所が、予め決められた領域内の住所に含まれる住所であるか否かによって判断され、住所が含まれる場合、領域内の位置情報であると判断され、予め決められた領域内の位置情報であることを示す判断結果を出力し、住所が含まれなければ、予め決められた領域内の位置情報であることを示す判断結果を出力しない。位置付打刻情報が有する位置情報である住所が、「A県B市C町一丁目」であり、予め決められた領域を示す情報である住所が「A県B市C町」である場合、位置判断部104により住所が含まれると判断され、予め決められた領域内の位置情報であることを示す判断結果を出力する。
位置判断部104は、位置情報が高さの情報を有する場合、位置情報が、予め決められた領域上の、予め決められた範囲の高さを有する空間内の位置情報であるか否かを判断してもよい。このような空間内の位置情報であるか否かの判断も、上述したような受信部101が受信した位置付打刻情報が有する位置情報が、予め決められた領域内の位置情報であるか否かを判断する処理の一態様と考えてよい。例えば、位置判断部104は、位置情報が、あらかじめ決められた領域上の、予め決められた範囲の高さ内の位置を示すか否かを判断する。そして、判断結果を示す情報を取得する。
位置判断部104は、受信部101が受信した位置付打刻情報が有するユーザ識別子に対応するユーザ領域情報をユーザ領域管理情報から取得し、位置付打刻情報が有する位置情報が、取得したユーザ領域情報が示す予め決められた領域内の位置情報であるか否かを判断してもよい。位置付打刻情報が有する位置情報が、取得したユーザ領域情報が示す予め決められた領域内の位置情報であるか否かの判断処理は、上述した位置付打刻情報が有する位置情報が、領域情報が示す予め決められた領域内の位置情報であるか否かの判断処理と同様であるため、ここでは省略する。
このように、受信部101が受信した位置付打刻情報が有する位置情報が、この位置付打刻情報が有するユーザ識別子に対応するユーザ領域情報が示す予め決められた領域内の情報であるか否かを判断することで、例えば、受信部101が受信した位置付打刻情報が、ユーザ毎に割り当てられた打刻が許可された領域において打刻を行なった結果として送信された位置付打刻情報であるか否かを、位置判断部104が判断することができる。
位置判断部104は、通常、受信部101が位置付打刻情報を受信した場合に、上記の判断処理を行なう。ただし、位置判断部104が上記の判断処理を行なうタイミングは問わない。例えば、予め決められたタイミングまたは不定のタイミングに、受信部101が受信した一以上の位置付打刻情報に対して、上記の判断処理をまとめて行なうようにしても良い。また、上記の判断処理は、予め決められた一定または不定の時間毎に繰返し行なうようにしても良い。なお、一度判断した位置付打刻情報については、位置判断部104は、再度判断を行なわなくて良い。
なお、受信部101が受信した位置付打刻情報が有する位置情報が、予め決められた領域内の位置を示すか否かを判断しない場合、位置判断部104は、省略してもよい。例えば、受信部101が受信した位置付打刻情報に対応する位置付勤怠情報を、位置情報に関係なく、後述する蓄積部105に蓄積させる場合、位置判断部104は省略してもよい。
蓄積部105は、位置付勤怠情報を勤怠情報格納部102に蓄積する。位置付勤怠情報は、受信部101が受信した位置付打刻情報が有するユーザ識別子および位置情報と、位置付打刻情報に対応する打刻時刻情報と、を有する情報である。位置付勤怠情報は、位置情報を有する勤怠に関する情報である。蓄積部105は、例えば、受信部101が受信した位置付打刻情報が有するユーザ識別子および位置情報と、位置付打刻情報に対応する打刻時刻情報と、を有する位置付勤怠情報を取得して、取得した位置付勤怠情報を、勤怠情報格納部102に蓄積する。蓄積部105は、更に、位置付打刻情報が有する位置情報の取得手段を示す情報を更に有する位置付勤怠情報を勤怠情報格納部102に蓄積してもよい。例えば、蓄積部105は、受信部101が受信した位置付打刻情報が有するユーザ識別子、位置情報および位置情報の取得手段を示す情報と、位置付打刻情報に対応する打刻時刻情報と、を有する位置付勤怠情報を取得して、取得した位置付勤怠情報を勤怠情報格納部102に蓄積してもよい。ここでの取得は、生成することと考えてもよく、作成することと考えてもよい。蓄積部105は、受信部101が受信した位置付打刻情報が有する時刻情報を打刻時刻情報として有する位置付勤怠情報を蓄積してもよく、受信部101が位置付打刻情報を受信した時刻の情報を取得して、この時刻の情報を打刻時刻情報として有する位置付勤怠情報を蓄積してもよく、蓄積部105が位置付勤怠情報を蓄積する際(例えば、蓄積する直前)の時刻の情報を取得して、この時刻の情報を打刻時刻情報として有する位置付勤怠情報を蓄積してもよい。ここでの時刻は、例えば、図示しない時計から取得しても良く、NTP等を介して取得してもよい。
また、蓄積部105は、日付の情報を更に有する位置付勤怠情報を蓄積しても良い。この日付は、例えば、打刻が行なわれた日付である。蓄積部105は、例えば、受信部101が受信した位置付打刻情報が有する日付の情報を取得して、この日付の情報を有する位置付勤怠情報を蓄積しても良く、受信部101が位置付打刻情報を受信した日付を取得して、この日付の情報を有する位置付勤怠情報を蓄積しても良く、蓄積部105が位置付勤怠情報を蓄積する際の日付を取得して、この日付の情報を有する位置付勤怠情報を蓄積しても良い。日付は、図示しないカレンダー等から取得しても良く、NTP等を介して取得しても良い。
また、蓄積部105は、打刻属性情報を更に有する位置付勤怠情報を蓄積しても良い。蓄積部105は、例えば、打刻時刻情報に対応する打刻属性情報を有する位置付勤怠情報を蓄積しても良い。位置付勤怠情報が複数の打刻時刻情報を有する場合、位置付勤怠情報は、各打刻時刻情報に対応付けられた打刻属性情報を有することが好ましい。蓄積部105は、例えば、受信部101が受信した位置付打刻情報が有する打刻属性情報を有する位置付勤怠情報を蓄積してもよい。また、蓄積部105は、受信部101が上述したように位置付打刻情報を受信した時刻等に応じて取得した打刻属性情報を有する位置付勤怠情報を蓄積してもよい。また、蓄積部105は、位置付勤怠情報を蓄積する際の時刻に応じて、打刻属性情報を取得し、取得した打刻属性情報を有する位置付勤怠情報を蓄積するようにしてもよい。蓄積部105は、例えば、位置付勤怠情報を蓄積する際の時刻(例えば、蓄積を行なう直前の時刻)が、就業開始時刻前である場合、属性が出勤時刻であることを示す打刻属性情報を取得し、蓄積する際の時刻が、就業終了時刻後である場合、属性が退出時刻であることを示す打刻属性情報を取得する。
蓄積部105は、ユーザ識別子および日付の情報が同じであって、異なる打刻属性情報と対応付けられた一の打刻時刻情報と位置情報とをそれぞれ有する複数の位置付勤怠情報を、重複するユーザ識別子および日付の情報を一つを除いて削除して結合した位置付勤怠情報を、勤怠情報格納部102に蓄積してもよい。結合される位置付勤怠情報は、例えば、既に勤怠情報格納部102に蓄積されている位置付勤怠情報および新たに蓄積される位置付勤怠情報の少なくとも一方である。また、蓄積部105は、予めユーザ識別子と、日付の情報と、値が「Null」である位置情報と、複数の異なる打刻属性情報と対応付けられた値が「Null」である複数の打刻時刻情報と、この複数の打刻時刻情報とそれぞれ対応付けられた値が「Null」である複数の位置情報とを有する一以上の位置付勤怠情報を取得して、勤怠情報格納部102に蓄積するとともに、この一以上の位置付勤怠情報の中に、受信部101が受信した位置付打刻情報が有するユーザ識別子と、日付の情報とが一致するものがある場合に、この一致する位置付勤怠情報の、受信部101が受信した位置付打刻情報が有する打刻属性情報と同じ打刻属性情報と対応付けられた値が「Null」である打刻時刻情報と位置情報とを、受信部101が受信した位置付打刻情報が有する位置情報と、受信した位置付打刻情報に対応する打刻時刻情報とで順次更新していくようにしてもよい。受信した位置付打刻情報に対応する打刻時刻情報は、上記のように、受信した位置付打刻情報が有する打刻時刻情報であってもよく、受信部101が位置付打刻情報を受信した時刻の情報であってもよく、蓄積部105が位置付打刻情報を蓄積する時刻の情報であってもよい。
蓄積部105は、更に、一以上の勤怠情報を勤怠情報格納部102に蓄積してもよい。蓄積部105は、例えば、勤怠情報を取得して、取得した勤怠情報を、勤怠情報格納部102に蓄積する。蓄積部105が蓄積する勤怠情報は、例えば、上述した位置付勤怠情報から位置情報を「Null」とした、または位置情報を除いたものと同様の情報であって、受信部101が受信した打刻情報が有するユーザ識別子等を有する情報である。勤怠情報は、例えば、上述した位置付勤怠情報を取得する処理において、位置付打刻情報の代わりに、受信部101が受信した打刻情報を用いて、位置情報を取得しない、あるいは値が「Null」である位置情報を加えるようにすることにより取得可能である。
蓄積部105は、例えば、位置判断部104の判断結果に応じて、位置判断部104が判断に用いた位置情報を有する位置付勤怠情報を蓄積するようにしてもよい。判断結果に応じて蓄積するということは、判断結果に応じて蓄積しないことも含むと考えてもよい。蓄積部105は、例えば、位置判断部104が、受信部101が受信した位置付打刻情報が有する位置情報が、予め決められた領域内の位置情報であると判断した場合に、この位置情報を有する位置付勤怠情報を勤怠情報格納部102に蓄積するようにしてもよい。また、位置情報でないと判断した場合には、この位置情報を有する位置付勤怠情報を勤怠情報格納部102に蓄積しないようにしてもよい。
蓄積部105は、例えば、上述したように、位置情報が高さの情報を有する場合において、位置判断部104が、位置付打刻情報が有する位置情報が予め決められた領域上の、予め決められた範囲の高さを有する空間内の位置情報であると判断した場合に、この位置情報を有する位置付勤怠情報を勤怠情報格納部102に蓄積するようにしてもよい。また、空間内の位置情報でないと判断した場合には、この位置情報を有する位置付勤怠情報を勤怠情報格納部102に蓄積しないようにしてもよい。
なお、位置判断部104が予め決められた領域内の位置情報であると判断しなかった場合に、蓄積部105が、蓄積しないということは、例えば、位置判断部104が蓄積してよいと判断しなかった場合に、受信部101が、受信した位置付打刻情報を、破棄することも含むと考えてもよい。
蓄積部105は、例えば、位置判断部104の判断結果を示す情報を有する位置付勤怠情報を、勤怠情報格納部102に蓄積するようにしてもよい。判断結果を示す情報は、例えば、予め決められた領域内の位置情報であることを示す情報、または予め決められた領域内の位置情報でないことを示す情報である。判断結果を示す情報は、予め決められた領域内の位置情報であるか否かを示すいわゆるフラグ等の情報であってもよい。なお、位置判断部104が予め決められた領域内の位置情報であると判断した場合に、予め決められた領域内の位置情報であると判断されたことを示す情報を有する位置付勤怠情報を蓄積し、位置判断部104が予め決められた領域内の位置情報でないと判断した場合には、このような情報を蓄積しないことも、判断結果を示す情報を有する位置付勤怠情報を蓄積することと考えてもよい。同様に、位置判断部104が予め決められた領域内の位置情報でないと判断した場合に、予め決められた領域内の位置情報でないと判断されたことを示す情報を有する位置付勤怠情報を蓄積し、位置判断部104が予め決められた領域内の位置情報であると判断した場合には、このような情報を蓄積しないことも、判断結果を示す情報を有する位置付勤怠情報を蓄積することと考えてもよい。
蓄積部105は、例えば、社内ネットワーク等の予め指定されたネットワーク上において送信された打刻情報や、特定の一以上のアクセスポイント等から送信された打刻情報については、この打刻情報に対応する勤怠情報を勤怠情報格納部102に蓄積し、予め指定されたネットワーク以外のネットワーク上において送信された打刻情報や、特定のアクセスポイント以外のアクセスポイント等から送信された打刻情報については、この打刻情報に対応する勤怠情報を勤怠情報格納部102に蓄積しないようにしてもよい。また、蓄積部105は、例えば、いわゆる3GやLTE等の移動通信システムを介して送信された打刻情報に対応する勤怠情報を、勤怠情報格納部102に蓄積しないようにしてもよい。なお、打刻情報が、これらのいずれかに相当するか否かは、例えば、打刻情報のヘッダの情報等から判断可能である。打刻情報に対応する勤怠情報とは、例えば、打刻情報が有するユーザ識別子等を有する勤怠情報である。このような構成とすることで、例えば、打刻情報については、予め指定されたネットワーク、例えば、ユーザが勤務する社内のネットワーク等から送信される打刻情報に対応する勤怠情報だけを勤怠情報格納部102に蓄積されるようにすることができる。なお、打刻情報がどのようなネットワークやアクセスポイント等を介して送信されたものであるか否か等は、例えば、打刻情報のヘッダ情報(図示せず)等から取得可能である。
また、蓄積部105は、上記で説明した情報以外の勤怠に関連した情報等を更に有する位置付勤怠情報および勤怠情報を取得して蓄積しても良い。また、蓄積部105が、上記で説明した情報以外の勤怠に関連した情報を、どのようにして取得するかは問わない。例えば、蓄積部105は、位置付勤怠情報は、例えば、位置付打刻情報が有する出勤時刻および退出時刻の少なくとも一方を用いて算出した情報等を有する位置付勤怠情報を取得して、勤怠情報格納部102に蓄積しても良い。。例えば、蓄積部105は、勤怠情報は、例えば、打刻情報が有する出勤時刻および退出時刻の少なくとも一方を用いて算出した情報等を有する勤怠情報を取得して、勤怠情報格納部102に蓄積しても良い。例えば、蓄積部105が蓄積する位置付勤怠情報および勤怠情報は、例えば、出勤時刻と、図示しない格納部等に予め格納されている会社の就業開始時刻とから蓄積部105が取得したユーザの遅刻時間等を有していても良く、退出時刻と、予め格納されている会社の就業終了時刻とから、蓄積部105が取得したユーザの残業時間(即ち時間外労働時間)等を有していてもよい。
なお、受信部101が受信した位置付打刻情報が、位置付勤怠情報と同様の情報で構成される場合、蓄積部105が受信した位置付打刻情報をそのまま位置付勤怠情報として取得して、蓄積してもよい。かかることは、打刻情報が、勤怠情報と同様の情報で構成される場合においても同様である。また、受信部101が受信した位置付打刻情報の一部が、位置付勤怠情報と同様の情報で構成される場合、蓄積部105が受信した位置付打刻情報の一部を位置付勤怠情報として取得して、蓄積してもよい。かかることは、打刻情報の一部が、勤怠情報と同様の情報で構成される場合においても同様である。
出力部106は、蓄積部105に蓄積された一以上の位置付勤怠情報を出力する。出力部106は、例えば、蓄積部105に蓄積された一以上の位置付勤怠情報および一以上の勤怠情報の少なくとも一方を出力する。出力部106は、例えば、蓄積部105に蓄積された位置付勤怠情報だけの出力を行なってもよい。例えば、出力部106は、蓄積部105に蓄積された一以上の位置付勤怠情報と一以上の勤怠情報との中から、位置付勤怠情報だけをフィルタリングして出力してもよい。例えば、受信部101等が受信した指示等に応じて、出力部106は、現在出力されている位置付勤怠情報と勤怠情報とのうちの、位置付勤怠情報だけを出力しても良い。位置付勤怠情報だけを出力するということは、例えば、位置付勤怠情報だけを出力し、勤怠情報を出力しないことである。位置付勤怠情報だけを出力するということは、例えば、位置付勤怠情報だけを配置した画面やウィンドウを出力することである。この位置付勤怠情報だけの出力は、位置付勤怠情報だけを出力する画面またはウィンドウを、現在位置付勤怠情報と勤怠情報とが出力されている画面またはウィンドウとは別に出力することであってもよい。また、出力部106は、予め指定された条件を満たす一以上の位置付勤怠情報および一以上の勤怠情報の少なくとも一方を出力してもよい。例えば、出力部106は、今日の日付を有する一以上の位置付勤怠情報および一以上の勤怠情報の少なくとも一方を出力してもよい。出力部106は、例えば、受信部101や、図示しない受付部等が受け付けた指示等に応じて、蓄積部105に蓄積された一以上の位置付勤怠情報および一以上の勤怠情報の少なくとも一方を出力する。例えば、出力部106は、受信部101や、図示しない受付部等が受け付けた指示が示す一以上の位置付勤怠情報を出力しても良く、指示が示す一以上の勤怠情報を出力してもよい。また、例えば、出力部106は、受信部101や、図示しない受付部等が受け付けた指示が示す一以上の位置付勤怠情報を出力しても良く、指示が示す一以上の勤怠情報を出力してもよい。また、出力部106は、例えば、受信部101や、図示しない受付部等が受け付けた条件が示す一以上の位置付勤怠情報を出力しても良く、条件が示す一以上の勤怠情報を出力してもよい。条件は、例えば、位置付勤怠情報および勤怠情報が有するユーザ識別子を特定する条件であってもよく、日付を特定する条件であってもよい。
出力部106は、同じ日付とユーザ識別子とを有する複数の位置付勤怠情報および勤怠情報を結合して出力しても良い。この場合、結合した情報に含まれる各打刻時刻情報や位置情報等には、結合前からそれぞれに対応付けられていた属性識別情報を対応付けて出力することが好ましい。また、結合の際には、重複する情報(例えば日付およびユーザ識別子)は、一つを除いて削除するようにしてもよい。
出力部106は、例えば、位置付勤怠情報と勤怠情報とを視覚的に区別可能となるよう出力しても良い。視覚的に区別可能となるよう出力することは、例えば、異なる態様で出力することであってもよい。位置付勤怠情報に、予め決められた情報を対応付けて出力しても良い。異なる態様で出力することは、例えば、文字色、文字の太さ、フォント、背景色、背景パターン、枠色、および枠パターン等の一以上が判断結果が異なるよう出力することであっても良い。出力部106は、例えば、位置付勤怠情報に、予め決められた情報を対応付けて出力することによって、位置付勤怠情報と勤怠情報とを視覚的に区別可能となるよう出力しても良い。例えば、出力部106は、蓄積部105に蓄積された一以上の位置付勤怠情報と一以上の勤怠情報とを出力するとともに、この位置付勤怠情報に、予め決められた情報を対応付けて出力してもよい。予め決められた情報は、例えば、位置付勤怠情報であることを示す情報である。予め決められた情報は、例えば、位置付勤怠情報を表示した場合に、視覚によって検出可能な情報である。予め決められた情報は、例えば、表示用の情報である。予め決められた情報は、例えば、位置付勤怠情報であることを示す予め決められた文字列等であってもよく、位置付勤怠情報であることを示す予め決められたアイコン等の画像やマーク等であってもよい。例えば、出力部106は、位置付勤怠情報および勤怠情報のいずれか一方をデフォルト等の表示とし、他方をデフォルトとは異なる態様で表示してもよい。
また、位置付勤怠情報の少なくとも一部に、対応する位置付勤怠情報が有する位置情報に対応付けられたリンク情報や、位置情報を取得して出力するためのスクリプトやプログラム等を対応付けるようにしてもよい。例えば、上記で出力される予め決められた情報に、対応する位置付勤怠情報が有する位置情報に対応付けられたリンク情報や、位置情報を取得して出力するためのスクリプトやプログラム等を対応付けるようにしてもよい。例えば、このような場合、位置付勤怠情報を、表示端末装置3等の、他の装置で出力(例えば、表示)している場合において、この予め決められた情報等に対して予め指定された操作、例えば、マウスクリックやタップ等を行なうことで、対応する位置情報を取得して出力することができる。このような操作は、例えば、図示しない受付部が受け付けても良く、上述した受信部101等が、このような操作の情報を受信してもよい。
なお、出力部106は、出力している予め決められた情報を指定する操作を受け付けた場合に、指定された予め決められた情報に対応する位置情報を用いて、この位置情報が示す位置を含む地図、例えば、位置情報が示す位置の周辺の地図の画像を取得して、この地図画像を出力してもよい。この地図画像は、例えば、位置情報に対応する地図画像であって、この位置情報が示す位置を強調した画像を有する地図画像であってもよい。
例えば、予め決められた情報には、対応する位置付勤怠情報が有する位置情報が示す位置を示した地図画像を取得して表示するための情報が対応付けられていてもよい。この地図画像を取得して表示するための情報は、例えば、位置情報に対応する地図画像であって、この位置情報が示す位置を強調した画像を有する地図画像を要求する情報や命令等を有する情報である。この情報は、例えば、地図画像の要求先を特定するいわゆるURL等の情報を更に有していても良い。
例えば、上記のような場合、予め決められた情報と対応付けられた位置付勤怠情報を、表示端末装置3等の勤怠管理サーバ装置1以外の装置において出力(例えば、表示)している場合において、この予め決められた情報に対して予め指定された操作、例えば、マウスクリックやタップ等を行なうことで、対応する位置情報が示す位置を強調する地図画像を、勤怠管理サーバ装置1以外の位置付勤怠情報を出力している装置において取得して、出力することができる。
なお、位置情報に対応する地図画像や、位置情報に対応する位置を強調した地図画像、例えば特定の位置にピンや、照準を示す画像を配置した地図画像を取得する技術としては、地図画像を提供するアプリケーションサービスサーバやナビゲーション等の技術等においては公知技術であるため、ここでは詳細な説明は省略する。
出力部106は、例えば、勤怠情報格納部102に格納されている位置付勤怠情報が有する位置情報が予め決められた領域内の位置情報であるか否かを判断し、判断結果に応じて、位置付勤怠情報を異なる態様で出力してもよい。例えば、出力部106は、勤怠情報格納部102に格納されている位置付勤怠情報が有する位置情報が予め決められた領域内の位置情報である場合と、予め決められた領域内の位置情報でない場合とで、位置付勤怠情報を異なる態様で出力してもよい。異なる態様で出力することは、例えば、視覚的に異なる態様で出力することである。異なる態様で出力することは、例えば、文字色、文字の太さ、フォント、背景色、背景パターン、枠色、および枠パターン等の一以上が判断結果が異なる位置付勤怠情報間で異なるよう出力することであっても良い。また、上記のような予め決められた情報を対応する位置に配置することであっても良い。なお、出力部106は、予め決められた領域内の位置情報であるもの、または位置情報でないもののいずれか一方をデフォルト等の表示とし、他方をデフォルトとは異なる態様で表示してもよい。
出力部106は、位置付勤怠情報および勤怠情報の少なくとも一方を出力するタイミングやトリガー等は問わない。例えば、図示しない受付部が、位置付勤怠情報および勤怠情報の少なくとも一方を出力する操作を受け付けた場合や、上述した受信部101等が、このような操作の情報を受信した場合に、出力してもよい。
また、出力部106は、例えば、位置付勤怠情報が有する位置情報の取得手段を示す情報を、受信部101等が受け付ける取得手段を示す情報を出力する操作に応じて出力してもよい。
ここでの出力とは、例えば、ディスプレイへの表示、プロジェクターを用いた投影、プリンタへの印字、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。例えば、ここでの出力は、勤怠管理サーバ装置1と接続されており、表示手段を有している端末装置(図示せず)に、位置付勤怠情報および勤怠情報の少なくとも一方を表示させるための情報を送信することであってもよい。出力部106は、ディスプレイ等の出力デバイスを含むと考えても含まないと考えても良い。出力部106は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
位置情報取得部201は、位置情報を取得する。位置情報は、打刻端末装置2の現在の位置を示す位置情報である。ここで取得する位置情報は、上述したような位置付打刻情報が有する位置情報と同様の位置情報である。取得する位置情報は座標であってもよく、座標等を用いて取得された住所等であってもよい。位置情報取得部201がどのように位置情報を取得するかは問わない。例えば、位置情報取得部201は、GPS等の位置情報を取得する手段を有しており、この手段を用いて、位置情報を取得しても良い。なお、GPS等は、位置情報取得部201の外部にアクセス可能に設けられていてもよい。また、位置情報取得部201は、後述する送信部205がアクセス可能なアクセスポイントの情報等を用いて、位置情報を取得しても良い。アクセスポイントの情報等を用いて現在位置の情報を取得する構成については、公知技術であるため、ここでは詳細な説明は省略する。
位置情報取得部201は、上述したような高さの情報を有する位置情報を取得しても良い。例えば、GPSであれば、高さの情報を有する位置情報を取得することが可能である。また、位置情報取得部201が、高度センサー等を有するようにし、この高度センサを用いて、高さの情報を取得しても良い。高度センサや、例えば、気圧等の変化を検出して高度の情報を取得する公知のセンサである。なお、高度センサは、位置情報取得部201の外部に設けられていてもよい。
位置情報取得部201が位置情報を取得するタイミングおよびトリガー等は問わない。例えば、位置情報取得部201は、予め決められた一定または不定のタイミングで位置情報を取得しても良く、ユーザが、打刻を行なうための操作を開始した場合(例えば、メニュー画面等を出力するための操作を行なった場合)に、位置情報を取得しても良い。
ユーザ識別子格納部202には、ユーザ識別子が格納される。ここで格納されるユーザ識別子は、上述したような位置付打刻情報が有するユーザ識別子と同様のユーザ識別子である。ユーザ識別子格納部202は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
操作受付部203は、打刻の操作を受け付ける。打刻とは、例えば、勤怠に関する入力である。打刻とは、例えば、勤務に関連した時間の開始または終了の時刻を記すための入力である。勤務に関連した時間の開始の時刻とは、例えば、出勤時刻、外出開始時刻、休憩開始時刻、及び残業開始時刻等の一以上である。勤務に関連した時間の開始の時刻とは、例えば、退出時刻、外出終了時刻、及び休憩終了時刻等の一以上である。操作受付部203が、どのように打刻の操作を受け付けるかは問わない。例えば、操作受付部203は、打刻の操作を受け付けるための予め決められたボタンが押された場合に、打刻の操作を受け付けてもよい。また、例えば、操作受付部203は、打刻の操作を受け付けるためのメニュー画面等を介して打刻の操作を受け付けてもよく、操作受付部203は、例えば、予め決められたキーボード等の操作により打刻の操作を受け付けても良い。また、音声入力で打刻を受け付けても良い。操作受付部203が受け付ける打刻は、どのような属性の打刻であってもよい。例えば、操作受付部203は、出勤時刻の打刻を受け付けてもよく、退出時刻の打刻を受け付けても良い。出勤時刻の打刻は、属性が出勤時刻である打刻と考えてもよい。退出時刻の打刻は、属性が退出時刻である打刻と考えてもよい。なお、打刻のためのメニュー画面等を表示する場合、打刻端末装置2は、メニュー画面等を表示する表示部(図示せず)を有していても良い。また、このメニュー画面等を表示するための操作は、操作受付部203が受け付けるようにしてもよい。
ここでの受け付けとは、キーボードやマウス、タッチパネルなどの入力デバイスから入力された情報の受け付けなどを含む概念である。入力手段は、キーボードやマウスやタッチパネルやメニュー画面によるもの等、何でも良い。操作受付部203は、タッチパネルやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
打刻判断部204は、位置情報取得部201が取得した位置情報が、予め決められた領域内の位置情報であるか否かを判断する。予め決められた領域は、例えば、図示しない格納部等に予め格納された領域情報が示す領域である。領域情報は、予め決められた領域を示す情報である。予め決められた領域とは、例えば、打刻が許可された領域である。予め決められた領域は、例えば、打刻端末装置2を利用するユーザに個別に対応付けられた予め決められた領域であってもよい。このような領域情報は、例えば、ユーザ識別子と対応付けられていない点を除けば、上述したユーザ領域情報と同様の情報である。また、予め決められた領域とは、例えば、複数のユーザに共通する領域であってもよい。例えば、予め決められた領域は、一の勤務先に勤務する複数のユーザに共通する領域(例えば、勤務先の領域等)であってもよい。また、予め決められた領域は、全てのユーザに共通する領域であってもよい。
なお、領域情報は、例えば、図示しない他のサーバ装置等から取得しても良い。例えば、勤怠管理サーバ装置1に対してユーザ識別子格納部202に格納されたユーザ識別子を送信し、勤怠管理サーバ装置1に、ユーザ領域管理情報格納部103から、送信されたユーザ識別子と対応付けられたユーザ領域情報を検索により取得して送信させ、打刻判断部204は、この送信されたユーザ領域情報が示す領域であるか否かを判断するようにしてもよい。
打刻判断部204が、位置情報取得部201が取得した位置情報が、予め決められた領域内の位置情報であるか否かを判断する処理は、上述した位置判断部104が行なう判断の処理と同様であるため、ここでは詳細な説明は省略する。
打刻判断部204は、例えば、操作受付部203が打刻の操作を受け付けた場合に、上記の判断の処理を行なう。ただし、判断の処理を行なうタイミングやトリガー等は問わない。例えば、打刻判断部204は、予め指定されたタイミングまたは任意のタイミング毎に、上記の判断処理を行なっても良い。また、打刻判断部204は、打刻の操作を受け付けるメニュー画面等を表示する操作を受け付けた場合に、上記のような判断を行なうようにしても良い。この場合、予め決められた領域内の位置情報でないと判断された場合、打刻の操作を受け付けるメニュー等を、随視しない表示部等に表示させないようにして,打刻を受け付けられないようにしても良い。
位置情報取得部201が高さを含む位置情報を取得する場合、打刻判断部204は、位置情報が、予め決められた領域上の、予め決められた範囲の高さを有する空間内の位置情報であるか否かを判断してもよい。このような判断処理も、上述した位置判断部104が行なう判断の処理と同様であるため、ここでは詳細な説明は省略する。
送信部205は、ユーザ識別子格納部202に格納されたユーザ識別子と、位置情報取得部201が取得した位置情報とを有する情報であって、ユーザ識別子が示すユーザの勤怠に関する打刻の情報である位置付打刻情報を、勤怠管理サーバ装置1に送信する。位置付打刻情報とは、打刻が行なわれたことを示す情報である。ただし、位置付打刻情報は、位置付打刻情報であることを示す情報を有していても良く、有していなくても良い。例えば、位置付打刻情報は、少なくとも、ユーザ識別子と、位置情報とを有する情報である。送信部205は、打刻の操作が行なわれた時刻の打刻時刻情報を取得して、この打刻時刻情報を有する位置付打刻情報を送信してもよい。打刻の操作が行なわれた時刻は、例えば,打刻の操作を受け付けた時刻であってもよく、その前後の時刻である。打刻時刻情報は、例えば、図示しない時計やNTP等から取得可能である。また、打刻時刻情報は、送信が行なわれる時刻の情報であってもよい。ただし、勤怠管理サーバ装置1が、打刻時刻情報を取得する場合は、打刻時刻情報は取得しなくても良い。
また、送信部205が送信する位置付打刻情報は、操作受付部203が受け付けた打刻の属性を示す打刻属性情報を更に有していても良い。例えば、打刻の操作を行なうための操作メニュー画面や、ボタン等に、これらを操作することにより受け付ける打刻の属性を示す打刻属性情報を対応付けておくようにし、操作受付部203が、操作を受け付けた操作メニュー等に予め対応付けられた打刻属性情報を取得して、送信部205に引き渡し、送信部205が引き渡された打刻属性情報を有する位置付打刻情報を取得しても良い。また、送信部205は、上述した受信部101等と同様に、打刻の操作を受け付けたタイミング(例えば、時間帯等)から、打刻属性情報を取得しても良い。
送信部205は、例えば、操作受付部203が打刻の操作を受け付けた場合であって、打刻判断部204が予め決められた領域内の位置情報であると判断した場合に、ユーザ識別子格納部202に格納されたユーザ識別子と、位置情報取得部201が取得した位置情報とを有する情報であって、ユーザ識別子が示すユーザの勤怠に関する打刻の情報である位置付打刻情報を、勤怠管理サーバ装置1に送信する。なお、操作受付部203が打刻の操作を受け付けたタイミングと、打刻判断部204が予め決められた領域内の位置情報であると判断したタイミングとの前後関係は問わない。例えば、送信部205は、打刻の操作を受け付けた直後に、予め決められた領域内の位置情報であると判断された場合に、位置付打刻情報を送信してもよく、例えば、予め決められた領域内の位置情報であると判断された直後に、打刻の操作を受け付けた場合に、位置付打刻情報を送信してもよい。なお、操作受付部203が打刻の操作を受け付けていない場合、送信部205は、位置付打刻情報を、勤怠管理サーバ装置1に送信しなくてよい。また、打刻判断部204が、予め決められた領域内の位置情報でないと判断した場合、送信部205は、位置付打刻情報を、勤怠管理サーバ装置1に送信しなくてよい。
また、送信部205は、操作受付部203が打刻の操作を受け付けた場合であって、打刻判断部204が上述したように空間内の位置情報であると判断した場合に、上記と同様に、位置情報を有する位置付勤怠情報を送信するようにしてもよい。
なお、打刻判断部204が予め決められた領域内の位置情報でないと判断した場合、送信部205が位置付打刻情報を勤怠管理サーバ装置1に送信しないということは、結果的に送信部205が位置付打刻情報を送信しないことであればよい。例えば、送信部205が位置付打刻情報を勤怠管理サーバ装置1に送信しないということは、送信部205が、取得した位置付打刻情報を送信しないことであってもよく、送信部205が、位置付打刻情報を取得しないことであっても良い。また、操作受付部203が位置付打刻情報を取得するために用いられる打刻の操作を受け付けないことであってもよく、位置情報取得部201が位置付打刻情報を取得するために用いられる位置情報を取得しないことであっても良い。例えば、送信部205が位置付打刻情報を勤怠管理サーバ装置1に送信しないということは、例えば、打刻判断部204が打刻操作を受け付ける直前等に、打刻判断部204が、予め決められた領域内の位置情報でないと判断した場合に、打刻の操作を受け付けるためのメニュー画面が表示されないようにしたり、打刻の操作を受け付けるためのボタン等を無効としたりすること等により、操作受付部203が打刻の操作を受け付けないようにすることであってもよい。
送信部205は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。送信部205は、通信デバイスを含むと考えても、含まないと考えても良い。なお、送信部205は、位置付打刻情報を取得するための処理を行なうためのMPUやメモリ等を有していても良い。
なお、打刻端末装置2が、打刻判断部204の判断結果に応じて、位置付打刻情報を送信する場合、勤怠管理サーバ装置1の位置判断部104等は省略してもよい。また、位置付打刻情報が有する位置情報を用いて位置判断部104等により行なわれる位置付勤怠情報を蓄積するか否か等の判断や、出力部106が、位置付勤怠情報が有する位置情報に応じて、位置付勤怠情報を異なる態様で出力する処理等は、省略してもよい。
また、打刻端末装置2が、勤怠管理サーバ装置1に接続する際に認証処理等を行なう処理部等を有していても良いことはいうまでもない。
なお、本実施の形態においては、打刻情報を送信するための一以上の端末装置(図示せず)を有していても良い。この端末装置は、例えば、上述した打刻端末装置2において、位置情報を取得する位置情報取得部201、打刻判断部204を省略し、操作受付部203が打刻の操作を受け付けた場合に送信部205がユーザ識別子格納部202に格納されたユーザ識別子を有する打刻情報を送信するようにしたものである。また、この端末装置の一以上は、ユーザ識別子を有するカード等を用いて打刻が可能ないわゆるタイムレコーダ等であってもよい。ただし、この端末装置は、例えば、勤怠管理サーバ装置1と同じLANに接続されるものとする。例えば、この端末装置には、勤怠管理サーバ装置1と同じLANに接続する設定だけを有する端末装置であってもよく、このLANにだけ接続が許可されている端末装置であってもよい。なお、この端末装置と、上記の打刻端末装置2とが一の装置で実現されてもよい。この場合、共通化可能な部分は、共通化しても良い。
表示端末装置3は、出力部106が出力する位置付勤怠情報、勤怠情報、および地図情報等の一以上の情報を受信して表示する端末装置である。この表示端末装置は3、例えば、操作を受け付ける端末操作受付部(図示せず)、操作の情報を勤怠管理サーバ装置1に送信する端末送信部(図示せず)、勤怠管理サーバ装置1が出力、具体的には送信する情報を受信する端末受信部(図示せず)、および端末受信部が受信下情報を表示する表示部(図示せず)等を備えたものである。なお、サーバに対して操作の情報を送信したり、サーバから送信される情報を受信して表示したりするする構成等は、通常のサーバ、クライアントシステム等においては公知技術であるため、ここでは詳細な説明は省略する。なお、この表示端末装置3と、上述した打刻情報を送信するための一以上の端末装置とが一の装置で実現されてもよい。また、この端末装置と、打刻端末装置2とが一の装置で実現されてもよい。この場合、共通化可能な部分は、共通化しても良い。
なお、出力部106が出力する情報を表示端末装置3により表示しない場合等においては、表示端末装置3は省略してもよい。
次に、勤怠管理システム1000の勤怠管理サーバ装置1の動作の一例について図2のフローチャートを用いて説明する。
(ステップS101)受信部101は、位置付打刻情報を受信したか否かを判断する。受信した場合、ステップS102に進み、受信していない場合、ステップS105に進む。
(ステップS102)位置判断部104は、ステップS101で受信した位置付打刻情報が有するユーザ識別子と対応付けてユーザ領域管理情報格納部103に格納されているユーザ領域情報を取得する。
(ステップS103)位置判断部104は、ステップS101で受信した位置付打刻情報が有する位置情報が、ステップS102で取得したユーザ領域情報が示す領域内の情報であるか否かを判断する。そして、判断結果を示す情報を取得する。
(ステップS104)蓄積部105は、ステップS101で受信した位置付打刻情報を用いて、ステップS103で取得した判断結果を示す情報を有する位置付勤怠情報を取得し、勤怠情報格納部102に蓄積する。この位置付勤怠情報は、例えば、判断結果を示す情報に加えて、位置付打刻情報が有する打刻時刻情報、打刻時刻情報の属性識別情報、位置情報、および位置情報の取得手段を示す情報を有する情報である。そして、ステップS101に戻る。
(ステップS105)受信部101は、打刻情報を受信したか否かを判断する。受信した場合、ステップS106に進み、受信していない場合、ステップS107に進む。
(ステップS106)蓄積部105は、ステップS105で受信した打刻情報を用いて勤怠情報を取得し、取得した勤怠情報を、勤怠情報格納部102に蓄積する。
(ステップS107)勤怠管理サーバ装置1の受信部101等が、勤怠情報格納部102に格納されている位置付勤怠情報および勤怠情報を出力する操作を受信したか否かを判断する。操作を受信するとは、例えば、操作を示す情報を受信することである。かかることは以下においても同様である。受信した場合、ステップS108に進み、受信していない場合、ステップS101に戻る。
(ステップS108)出力部106は、勤怠情報格納部102に格納されている位置付勤怠情報および勤怠情報を出力する。また、このとき、位置付勤怠情報に対して、予め決められた情報を対応付けて出力する。また、ステップS103で取得した判断結果を示す情報毎に、対応する位置付勤怠情報を異なる態様で出力する。
(ステップS109)勤怠管理サーバ装置1の受信部101等が、現在出力されている位置付勤怠情報だけを出力する操作を受信したか否かを判断する。受信した場合、ステップS110に進み、受信していない場合、ステップS115に進む。
(ステップS110)出力部106は、現在出力されている位置付勤怠情報だけを出力する。例えば、現在出力されている位置付勤怠情報だけを配置した画面またはウィンドウを、別の画面で位置付勤怠情報だけを配置した画面またはウィンドウを出力する。また、このとき、各位置付勤怠情報に対して、予め決められた情報を対応付けて出力する。なお、各位置付勤怠情報に対して、それぞれに対応する位置情報の取得手段を示す情報を対応付けて出力してもよい。取得手段を示す情報は、例えば、取得手段を示す文字列や、取得手段に対応付けられたアイコン等の画像である。
(ステップS111)受信部101等が、位置付勤怠情報に対応付けて出力された情報を指定する操作を示す情報を受信したか否かを判断する。受信した場合、ステップS112に進み、受け付けていない場合、ステップS114に進む。
(ステップS112)出力部106は、ステップS111で受信した操作が指定する予め決められた情報に対応する位置付勤怠情報が有する位置情報を取得し、この位置情報が示す位置を示す地図の画像を、予め決められた地図画像を提供するサーバ装置(図示せず)等から取得し、取得した地図の画像を出力する。
(ステップS113)受信部101等が、地図画像の出力を終了する操作を受信したか否かを判断する。この指示は、例えば、地図画像を閉じるボタンを押す操作を示す情報である。受信した場合、地図画像の出力を終了して、ステップS111に戻り、受け付けていない場合、ステップS113に戻る。
(ステップS114)受信部101等が、ステップS110で出力した位置付勤怠情報だけの出力を終了する操作を受信したか否かを判断する。受信した場合、出力を終了して、ステップS103に戻り、受信していない場合、ステップS111に戻る。
(ステップS115)受信部101等が、位置付勤怠情報に対応付けて出力された情報を指定する操作を示す情報を受信したか否かを判断する。受信した場合、ステップS116に進み、受け付けていない場合、ステップS119に進む。
(ステップS116)出力部106は、ステップS115で受信した操作が指定する予め決められた情報に対応する位置付勤怠情報が有する位置情報を取得し、この位置情報が示す位置を示す地図の画像を、予め決められた地図画像を提供するサーバ装置(図示せず)等から取得し、取得した地図の画像を出力する。
(ステップS117)受信部101等が、地図画像の出力を終了する操作を受信したか否かを判断する。受信した場合、地図画像の出力を終了して、ステップS109に戻り、受け付けていない場合、ステップS117に戻る。
(ステップS118)受信部101等が、ステップS108で出力した位置付勤怠情報および勤怠情報の出力を終了する操作を受信したか否かを判断する。受信した場合、出力を終了して、ステップS101に戻り、受信していない場合、ステップS109に戻る。
図2のフローチャートにおいては、例えば、電源オフや処理終了の割り込みにより処理は終了する。
なお、ステップS104で判断結果を示す情報を有する位置付勤怠情報を蓄積する代わりに、ステップS103において領域内の位置情報であると判断された位置情報を有する位置付打刻情報を用いて取得された位置付勤怠情報だけを蓄積するようにしてもよい。
次に、勤怠管理システム1000の打刻端末装置2の動作の一例について図3のフローチャートを用いて説明する。なお、ここでは、一例として、打刻判断部204を用いた処理を行なわない場合を例に挙げて説明する。
(ステップS201)位置情報取得部201は、位置情報を取得する。既に位置情報が取得されている場合、例えば、新たに取得された位置情報で、既に取得されていた位置情報を更新する。
(ステップS202)操作受付部103は、一の属性の打刻を受け付けたか否かを判断する。受け付けた場合、ステップS203に進み、受け付けていない場合、ステップS201に戻る。
(ステップS203)送信部205は、ステップS201で取得した位置情報を有する位置付打刻情報を取得する。この位置付打刻情報は、例えば、打刻を受け付けた時刻を示す打刻時刻情報と日付とを有する位置付打刻情報である。また、この位置付打刻情報は、例えば、更に、位置情報を取得した手段を示す情報を有する位置付打刻情報であってもよい。また、この位置付打刻情報は、ステップS202で受け付けた操作が示す打刻の属性を示す属性識別情報を有していても良い。
(ステップS104)送信部205は、ステップS203で取得した位置付打刻情報を、勤怠管理サーバ装置1に送信する。そして、ステップS201に戻る。
図3のフローチャートにおいては、例えば、電源オフや処理終了の割り込みにより処理は終了する。
なお、図3のフローチャートにおいて、ステップS201等の直前や直後に、一の属性の打刻を受け付けるためのメニュー画面を表示するための操作を受け付けたか否かを判断する処理ステップ等を追加し、操作を受け付けた場合に、ステップS201またはステップS202等に進むようにしてもよい。
また、図3に示したフローチャートにおいては、打刻判断部204を用いた処理を行なわない場合を例に挙げて説明したが、本発明においては、打刻判断部204を用いた処理等を行なうようにしてもよい。例えば、ステップS203の処理の直前に、打刻判断部204が、ステップS201で取得した位置情報が、予め決められた領域内の位置情報であるか否かを判断する処理ステップを加え、予め決められた領域内の位置情報である場合に、ステップS203に進み、予め決められた領域内の位置情報でない場合、エラー表示等を行なって、ステップS201に戻るようにしてもよい。また、上記のように、メニュー画面を表示するための操作を受け付けた場合に、打刻判断部204が、位置情報取得部201が取得した取得した位置情報が、予め決められた領域内の位置情報であるか否かを判断する処理ステップを、ステップS201の直後等に加え、予め決められた領域内の位置情報であると判断された場合にのみ、メニュー画面を表示する、あるいは、打刻を受付可能な状態となるようにしてもよい。
また、このように、打刻判断部204を用いた処理を行なう場合、図2に示したフローチャートの、ステップS102からステップS104までの処理等は省略可能である。
なお、打刻情報を送信するための一以上の端末装置(図示せず)の動作は、例えば、図3に示したフローチャートのステップS201を省略し、ステップS203で位置付打刻情報を取得して、ステップS204で位置付打刻情報を送信するの代わりに、ステップS203で付打刻情報を取得して、ステップS204で付打刻情報を送信するようにした動作である。
以下、本実施の形態における勤怠管理システム1000の具体的な動作について説明する。勤怠管理システム1000の概念図は図1である。なお、この具体例においては、打刻端末装置2において、打刻判断部204による判断の処理を行なわない場合を例に挙げて説明する。このため、打刻端末装置2は、打刻判断部204を省略してもよい。
まず、打刻端末装置2を保持するユーザAが、出張先の企業であるB社の本社の7階に出勤し、出勤時刻を打刻するためのメニュー画面を表示する操作を行なったとする。なお、ここでは、打刻端末装置2は、いわゆるスマートフォンであるとする。また、ユーザAのユーザ識別子は、「U1001」であり、このユーザ識別子が予めユーザ識別子格納部202に蓄積されているものとする。
図4は、打刻端末装置2のタッチパネル2aに表示された出勤時刻を打刻するためのメニュー画面の一例を示す図である。
操作受付部203がユーザから、出勤時刻を打刻するためのメニュー画面を表示する操作を受け付けると、打刻端末装置2の図示しない表示部はタッチパネル2aに、図4に示すような出勤時刻を打刻するためのメニュー画面を表示する。
位置情報取得部201は、図4に示したメニュー画面を表示する操作を受け付けた時点から、現在位置の位置情報を取得する処理を、予め決められた一定または不定のタイミングで繰り返す。ここで取得する位置情報は、例えば、打刻端末装置2が有するGPSにより取得される高さの情報を含む座標の情報であるとする。例えば、位置情報取得部201が取得した最新の位置情報は、(x01、y01、z01)であるとする。ここでは、xは緯度、yは経度、zは高度であるとする。なお、x01、y01、z01等は、それぞれ、座標を示す任意の値であるとする。かかることは、以下の座標についても同様である。
ユーザAが、タッチパネル2aに表示された打刻のためのボタン50を押すと、送信部205は、図示しない時計等から現在時刻「8:40」を取得したとする。また、図示しないカレンダー等から、現在の日付「2016/10/20」を取得したとする。また、送信部205は、図4に示したメニュー画面に予め対応付けられていた属性指定情報である「出勤時刻」を取得する。また、位置情報を取得した手段であるGPSを示す情報を、図示しない格納部等から読出す。この取得した手段を示す情報は、例えば、「GPS」という文字列であるとする。そして、送信部205は、この現在時刻を示す打刻時刻情報と、現在の日付と、属性指定情報である「出勤時刻」と、ユーザ識別子格納部202に格納されているユーザ識別子「U1001」と、位置情報取得部201が取得した最新の位置情報(x01、y01、z01)と、位置情報を取得した手段を示す情報「GPS」とを有する位置付打刻情報を取得する。そして、送信部205は、取得した位置付勤怠情報を、勤怠管理サーバ装置1に、移動通信システム(図示せず)を介して送信する。
なお、属性が「出勤時刻」以外の打刻情報を入力する際も、タッチパネル2aに表示されるメニュー画面および打刻時刻情報と対応付けられる属性指定情報が異なる点等を除けば、上記の出勤時刻の打刻の場合と同様である。
図5は、ユーザ領域管理情報格納部103に予め格納されているユーザ領域管理情報を示す図である。ユーザ領域管理情報は、「ユーザID」と、「ユーザ領域」という属性を有してる。「ユーザID」は、ユーザ識別子である。「ユーザ領域」は、ユーザ領域情報である。ユーザ領域情報は、ここでは、高さを有する領域である空間を示す情報であり、具体的には、空間の形状を示す複数の座標で構成されている。空間の形状は、空間の輪郭と考えてもよい。例えば、空間の形状を示す複数の座標は、直方体等の空間が有する複数の隅の座標である。各座標は、上記と同様に、緯度と、経度と、高度とを有するものとする。ここでは、各レコード(行)が、それぞれ、ユーザ領域管理情報であるとする。
勤怠管理サーバ装置1の受信部101が、ユーザAの打刻端末装置2から位置付打刻情報を受信すると、位置判断部104は、受信した位置付打刻情報から、ユーザ識別子「U1001」を取得し、図5に示しユーザ領域管理情報から、「ユーザID」の値が、取得したユーザ識別子「U1001」と一致するレコードを検出し、検出したレコードの「ユーザ領域」の値である複数の座標である(x11、y11、z11)、(x12、y12、z12)等を、ユーザ領域情報として取得する。ここでは、例えば、ユーザ識別子「U1001」と対応付けられてユーザ領域管理情報格納部103に格納されているユーザ領域情報は、上述したユーザAの出張先の企業であるB社の本社の7階の空間の形状を示す複数の座標であるとする。
位置判断部104は、受信部101が受信した位置付打刻情報が有する位置情報である(x01、y01、z01)が、上記で取得したユーザ領域情報が示す領域(ここでは、空間)に含まれるか否かを判断する。ここでは、例えば、含まれると判断されたとする。このため、ここでは、一例として、位置判断部104が、判断結果を示す情報を蓄積部105に対して引き渡す。ここでは、例えば、判断結果を示す情報が、位置情報がユーザ領域情報が示す領域に含まれる場合の値が「1」、含まれない場合の値が「0」であるフラグの情報であり、ここでは、含まれるため、値が「1」であるとする。、
蓄積部105は、受信部101がユーザAの打刻端末装置2から受信した位置付打刻情報を用いて、位置判断部104の判断結果を示す情報を有する位置付勤怠情報を取得し、取得した位置付勤怠情報を、勤怠情報格納部102に蓄積する。具体的には、蓄積部105は、位置付打刻情報が有する現在時刻を示す打刻時刻情報「8:40」と、現在の日付「2016/10/20」と、属性指定情報である「出勤時刻」と、ユーザ識別子「U1001」と、位置情報(x01、y01、z01)と、位置情報を取得した手段を示す情報「GPS」と、位置判断部104が取得した判断結果を示す情報である「1」とを有する位置付勤怠情報を取得し、取得した位置付勤怠情報を、勤怠情報格納部102に蓄積する。
図6は、勤怠情報格納部102に格納されている位置付勤怠情報と、勤怠情報とを管理する勤怠情報管理表を示す図(図6(a))、および行が追加された勤怠情報管理表を示す図(図6(b))である。勤怠情報管理表は、「日付」、「時刻」、「打刻属性」、「ユーザID」、「位置情報」、「取得手段」、および「判断結果」という属性を有している。「日付」は打刻が行なわれた日付、「時刻」は打刻が行なわれた時刻であり、打刻時刻情報に相当する。「打刻属性」は打刻の属性であり、打刻属性情報に相当する。「ユーザID」はユーザ識別子、「位置情報」は位置情報であり、ここでは高さを有する座標である。「取得手段」は位置情報の取得手段を示す情報であり、「GPS」はGPSにより取得されたことを示し、「WF」はWi−Fi(登録商標)を用いて取得されたことを示す。「判断結果」は、位置判断部104による判断結果を示すフラグの情報であり、「1」は、予め決められた領域内の位置であることを示し、「0」は、予め決められた領域内の位置でないこと示している。ここでは、各レコード(行)が、一の位置付勤怠情報、または勤怠情報に相当する。なお、勤怠情報の「位置情報」、「取得手段」、および「判断結果」の値は「Null」であり、図6では空欄で示されている。
例えば、上記のような位置付勤怠情報が蓄積されると、勤怠情報管理表は、図6(a)に示すようになる。
勤怠管理サーバ装置1は、更に、この勤怠管理サーバ装置1と同じLAN上の図示しない端末装置から、打刻情報を受信したとする。受信した打刻情報が、打刻時刻情報「8:41」と、現在の日付「2016/10/20」と、属性指定情報である「出勤時刻」と、ユーザ識別子格納部202に格納されているユーザ識別子「U1051」とを有する情報であるとすると、蓄積部105は、受信した打刻情報を用いて、打刻時刻情報「8:41」と、現在の日付「2016/10/20」と、属性指定情報である「出勤時刻」と、ユーザ識別子「U1051」とを有する勤怠情報を取得し、取得した勤怠情報を、勤怠情報格納部102に蓄積する。このとき「位置情報」、「取得手段」、および「判断結果」の値は「Null」として、勤怠情報管理表に蓄積する。これにより、勤怠情報管理表は、図6(b)に示すようになる。
ここで、ユーザの勤怠を管理する管理者が、一の表示端末装置3を介して、勤怠管理サーバ装置1に対して、勤怠情報格納部に格納されている勤怠情報および位置付勤怠情報であって、対応する「ユーザID」が、「U1001」であり、「日付」が「2016/9/16」から「2016/10/16」の範囲である勤怠情報および位置付勤怠情報を表示する操作を行なったとすると、この操作に対応する操作の情報が、表示端末装置3から、勤怠管理サーバ装置1に対して送信され、この操作の情報を受信部101が受信する。
受信部101がこの操作の情報を受信すると、出力部106は、図6(b)に示した勤怠情報管理表から、「ユーザID」が、「U1001」であり、「日付」が「2016/9/16」から「2016/10/16」であるレコードを検出する。そして、出力部106は、検出したレコードにおいて、「日付」が同じであるレコードの組を検出し、検出した各組において、それぞれのレコードが有する「時刻」と「打刻属性」と「取得手段」と「判断結果」との値の組を結合するとともに、「日付」と「ユーザID」との組を一つだけ残すことによって、属性の異なる複数の打刻時刻情報を有する位置付勤怠情報および勤怠情報を取得する。ここでは、例えば、一の日付を有するレコードとして、対応する「打刻属性」が「出勤時刻」である「時刻」と、「打刻属性」が「退出時刻」である「時刻」とを有するレコード(行)が取得される。
図7は、出力部106が上記のようにして取得した、属性の異なる複数の打刻時刻情報を有する位置付勤怠情報および勤怠情報を管理する結合管理表を示す図である。結合管理表は、「日付」、「ユーザID」、「打刻属性A」、「時刻A」、「位置情報A」、「手段A」、「結果A」、「打刻属性B」、「位置情報B」、「手段B」、および「結果B」という属性を有している。「日付」、「ユーザID」については、図6と同様である。「打刻属性A」は、第一の打刻の属性であり、ここでは、「出勤時刻」であるとする。「時刻A」、「位置情報A」、「手段A」、および「結果A」は、それぞれ、「打刻属性A」、即ち「出勤時刻」という第一の打刻の属性と対応付けられた打刻の時刻、位置情報の取得手段を示す情報、および位置判断部104による判断結果を示すフラグの情報である。「打刻属性B」は、第二の打刻の属性であり、ここでは、「退出時刻」であるとする。「時刻B」、「位置情報B」、「手段B」、および「結果B」は、それぞれ、「打刻属性B」、即ち「退出時刻」という打刻の属性と対応付けられた打刻の時刻、位置情報の取得手段を示す情報、および位置判断部104による判断結果を示すフラグの情報である。結合管理表は、例えば、勤怠情報格納部102や、図示しないメモリ等に格納される。ここでの格納は一時記憶であってもよく、一時記憶でなくてもよい。なお、ここでは、属性が異なる二つの打刻時刻情報を有する位置付勤怠情報および勤怠情報を結合した場合を示したが、属性が異なる三以上の打刻時刻情報を有する位置付勤怠情報および勤怠情報を結合するようにしてもよい。
そして、図7に示した結合管理表が有する情報を表示するための情報を取得する。出力部106は、対応する「判断結果」が「1」である「時刻」と、「0」である「時刻」とが、異なる態様となる表示用のデータを生成する。ここでは、値が「1」である「判断結果」を含むレコードの背景色を異なる色に設定する。また、対応する「位置情報」が存在する「時刻」に対応付する位置(例えば、「時刻」に隣接する位置)に、予め決められた情報である画像を配置した表示用のデータを生成する。対応する「位置情報」が存在するとは、ここでは、「位置情報」が「Null」である場合を除くものとする。なお、この画像には、それぞれが対応する「位置情報」や、「位置情報」に対応する地図画像を取得するためのURLやクエリ等の情報を対応付けておくようにしてもよい。また、ここでは、表示用のデータには、「位置情報」、「判断結果」を表示するための情報は含まないようにしているが、含むようにしてもよい。なお、ここで取得する表示用のデータは、表示が可能なデータであれば、どのようなデータであってもよく、例えば、画像データであってもよく、HTML等のマークアップ言語等で記述されたデータであってもよい。
そして、出力部106は、このようにして取得した表示用のデータを、上記の操作を受け付けた表示端末装置3に対して送信する。
上記の表示用のデータを受信した表示端末装置3は、図示しないモニタ等に、表示用のデータを用いて表示を行なう。これにより、ユーザID」が、「U1001」であり、「日付」が「2016/9/16」から「2016/10/16」の範囲である位置付勤怠情報および勤怠情報を、表示端末装置3に表示させることができる。なお、位置付勤怠情報および勤怠情報の少なくとも一方を出力する際には、それぞれの情報の一部だけを出力するようにしても良く、このような場合も、位置付勤怠情報および勤怠情報の少なくとも一方を出力することと考えてもよい。
図8は、表示端末装置3による位置付勤怠情報および勤怠情報の表示例を示す図である。
ここでは、図8に示すように、位置付勤怠情報の打刻時刻情報の横のセルには、予め決められた情報である画像81が表示されている。また、ここでは、「日付」が「2016/9/16」である位置付勤怠情報のレコード(行)82の背景色が、他の位置付勤怠情報とは異なる背景色で示されている。ここでは、位置情報の取得手段も表示されているため、例えば、位置情報の精度等を考慮して、ユーザが打刻した状況が適切な状況であるか否かを判断することができる。また、例えば、位置情報を取得した手段を示す情報が、GPSであることを示していれば、ユーザが社外で打刻したと判断し、Wi−Fi(登録商標)であることを示していれば、社内で打刻したと判断するようにして、本来、社内で打刻すべきユーザが社外から打刻していることを判断することができ、ユーザの打刻位置が適切であるか否かを判断することができる。なお、図においては、上記以外の情報、例えば曜日等の情報や、「外出1時刻」等の情報も表示される例を示しているが、上記以外の情報の表示は省略してもよい。
ここで、管理者が、ユーザが打刻した場所を確認するために、表示されている一の画像81を指定する操作(例えばマウス等でクリックする操作等)を行なったとすると、この画像81を指定する操作の情報(例えば、クリックされた座標の情報やクリックされた画像の識別子等)を、表示端末装置3が勤怠管理サーバ装置1に送信する。
勤怠管理サーバ装置1が、この画像81を指定する操作を受け付けると、勤怠管理サーバ装置1は、この画像に対応する位置情報を位置付勤怠情報から取得し、予め決められた位置情報に対応した地図情報を出力するアプリケーションサービスサーバ(図示せず)等に、この識別する情報に対応する位置情報である座標を送信して、対応する地図画像を取得する。取得する地図画像は、この位置情報が予め決められた画像等で強調表示された地図画像であるとする。そして、勤怠管理サーバ装置1は、取得した地図画像を表示端末装置3に送信する。
表示端末装置3は、受信した地図画像を図示しないモニタ等に表示する。
図9は、表示端末装置3が表示する地図画像の表示例を示す図である。このように表示が行なわれることで、ユーザが打刻した位置を地図で確認することができる。
ここで、地図の表示を終了する操作を行なった後、更に、上記の管理者が、現在表示されている位置付勤怠情報および勤怠情報のうちの、位置付勤怠情報だけを表示するための操作を表示端末装置3に行なったとすると、この操作の情報が、勤怠管理サーバ装置1に送信され、出力部106は、上記で表示用のデータを取得するために結合して取得した位置付勤怠情報および勤怠情報から、位置付勤怠情報を有するものだけを取得し、この位置付勤怠情報を有する情報を表示するための情報を取得する。例えば、上記と同様に、位置情報と対応付けられた打刻時刻情報の横に予め決められた画像81を配置した表示用のデータを生成する。画像81には、画像81を識別する識別子等を、例えば、非表示となるよう対応付けておく。そして、出力部106は、取得した表示用のデータを表示端末装置3に送信する。
表示端末装置3は、受信した表示用のデータを図示しないモニタ等に表示する。ここでは、上記で表示された位置付勤怠情報と、勤怠情報とを有する画像とは、異なるウィンドウに、受信した表示用のデータを表示する。
図10は、表示端末装置3による位置付勤怠情報85の表示例を示す図である。
図10においては、図8と同様に、位置付勤怠情報の打刻時刻情報の横のセルには、予め決められた情報である画像81が表示されている。このような出力により、位置付勤怠情報だけを確認することが可能となる。
なお、図10の画像81の一つを指定する操作を行なった場合も、図8の画像81の一つを指定する操作を行なった場合と同様に、地図画像が表示されるが、ここでは、説明は省略する。
以上、本実施の形態によれば、位置付勤怠情報が有する位置情報を用いて、ユーザが適切な位置から勤怠に関する打刻を行なったか否かを判断することができる。
(変形例)
なお、上記実施の形態において、打刻端末装置2の操作受付部203を省略するとともに、打刻判断部204が、位置情報取得部201が取得した位置情報が、予め決められた領域内の位置情報であると判断した場合に、送信部205が、ユーザ識別子格納部202に格納されたユーザ識別子と、位置情報取得部201が取得した位置情報とを有する情報であって、このユーザ識別子が示すユーザの勤怠に関する打刻の情報である位置付打刻情報を、勤怠管理サーバ装置1に送信するようにしてもよい。なお、この場合、例えば、打刻判断部204が、一定または不定の時間間隔ごとに上記の判断を繰り返すか、位置情報が位置情報を取得する毎等の予め決められたトリガー毎に上記の判断を行なうか、または、特定の時刻等に上記の判断を行なうようにすることが必要となる。
このような構成とすることにより、予め決められた領域に入った場合に、自動的に、位置付勤怠情報を送信することができる。
なお、この変形例においては、同日に、同じ属性と対応付けられた位置付打刻情報が、繰返し送信されることを避けるため、例えば、打刻判断部204が、毎日の、就業時間の開始時刻および終了時刻のそれぞれ前後の特定の一回の時間にだけ、予め決められた領域内の位置情報であるか否かを判断し、その判断によって、予め決められた領域内の位置情報であると判断した場合に、送信部205が、位置付打刻情報を送信するようにしてもよい。
また、位置情報取得部201が、予め決められた一定の間隔または任意の間隔で、位置情報の取得を繰り返すとともに、打刻判断部204は、位置情報取得部201が取得した位置情報が、予め決められた領域内の位置となったか否かを予め決められた一定の間隔または任意の間隔で繰返し判断し、位置情報が示す位置が、予め決められた領域外から、予め決められた領域内に入ったと判断した場合に、位置付勤怠情報を取得して送信するようにしてもよい。
また、例えば、予め決められた時間帯に送信部205が一度だけ位置付打刻情報を送信できるようにしてもよい。例えば、午前中と午後にそれぞれ一度だけ、位置付打刻情報を送信できるようにし、一度、一の時間帯に、位置付打刻情報を送信した場合、送信済であることを示すフラグ等の情報を図示しない格納部等に蓄積することで、再度の送信を防ぐようにしてもよい。
なお、例えば、位置付勤怠情報を送信する時間帯に応じて、送信する位置付勤怠情報が有する勤怠属性情報を変更するようにしてもよい。例えば、午前中に位置付勤怠情報を送信する場合には、出勤時刻であることを示す勤怠属性情報を対応付け、午後に位置付勤怠情報を送信する場合には、退出時刻であることを示す勤怠属性情報を対応付けるようにしてもよい。
(実施の形態2)
図13は、本実施の形態における勤怠管理システム1000aのブロック図である。
勤怠管理システム1000aは、上記実施の形態1の勤怠管理システム1000において、勤怠管理サーバ装置1に代えて、勤怠管理サーバ装置1aを備えるようにしたものである。なお、打刻端末装置2および表示端末装置3については、上記実施の形態1と同様であるため、ここでは詳細な説明は省略する。
勤怠管理サーバ装置1aは、上記実施の形態1の勤怠管理サーバ装置1において、蓄積部105の代わりに、蓄積部105aを設け、現地打刻時刻取得部107、休日情報取得部108、ルール格納部109、ルール処理部110、領域判断部111、および手当支給部112を更に備えるようにしたものである。
現地打刻時刻取得部107は、受信部101が受信した位置付打刻情報が有する位置情報を用いて、現地打刻時刻情報を取得する。現地打刻時刻情報は、受信部101が受信した位置付打刻情報に対応する打刻時刻情報であって、この位置付打刻情報が有する位置情報が示す位置の地方時で表された打刻された時刻の情報である。位置付打刻情報が有する位置情報は、例えば、打刻が行なわれた位置の位置情報である。地方時とは、ある地域、または地点の時刻である。位置情報が示す位置の地方時とは、例えば、位置情報が示す位置のいわゆる現地時刻と考えてもよい。現地打刻時刻情報は、例えば、打刻が行なわれた日付の情報も含むと考えてよい。現地打刻時刻情報は、このような地方時で表された打刻された時刻の情報である点を除けば、打刻時刻情報と同様の情報であり、ここでは詳細な説明は省略する。
例えば、受信部101が位置付打刻情報を受信した時刻を示す情報を、打刻が行なわれた時刻として用いる場合、現在打刻取得部107は、例えば、受信部101が位置付打刻情報を受信した時刻であって、位置付打刻情報が有する位置情報が示す位置の地方時で表された時刻の情報を、現地打刻時刻情報として取得する。現在打刻取得部107は、例えば、受信部101が位置付打刻情報を受信した時点において、位置付打刻情報が有する位置情報が示す位置の地方時で表された現在の時刻の情報を、現地打刻時刻情報として取得する。なお、受信した時点の現在の時刻は、受信した時点の直後等の現在の時刻であってもよい。例えば、現地打刻時刻取得部107は、受信部101が受信した位置付打刻情報が有する位置情報を用いて、この位置情報が示す位置を含むタイムゾーンを特定し、そして、この特定したタイムゾーンの標準時で表された位置付打刻情報を受信した時刻を示す情報を、位置情報が示す位置の地方時で表された打刻された時刻の情報である現地打刻時刻情報として取得する。タイムゾーンとは、共通の標準時を使う領域である。標準時とは、例えば、ある国または地域で共通に使われる地方時である。タイムゾーンは、標準時間帯、時間帯、または等時帯とも呼ばれる場合がある。そして、このタイムゾーンの標準時で表された打刻された時刻の情報である現地打刻時刻情報を取得する。
まず、タイムゾーンを特定する処理について説明する。例えば、位置付打刻情報が有する位置情報が、GPS等で取得された座標の情報である場合、予め、各タイムゾーンの輪郭を示す座標群の情報を図示しない格納部等に格納しておくようにし、現地打刻時刻取得部107は、この各タイムゾーンの輪郭の情報から、位置付打刻情報が有する位置情報が示す位置が含まれている輪郭の情報を検出することで、打刻が行なわれた位置を含むタイムゾーンを特定する。また、予め、各タイムゾーンを複数のエリアに分割し、この分割した各エリアの輪郭を示す座標群の情報を対応付けて図示しない格納部等に格納しておくようにし、現地打刻時刻取得部107は、上記の図示しない格納部に格納された分割された各エリアの輪郭の情報を用いて、上記で分割されたエリアの中から、GPS等で取得された座標の情報を含むエリアを検出し、検出した一のエリアと対応付けられたタイムゾーンを特定するようにしても良い。ここでの特定とは、例えば、タイムゾーンの識別子等を取得することであってもよく、タイムゾーンの輪郭を示す座標群等を検出することであっても良く、タイムゾーンに含まれるエリアを検出することであっても良い。タイムゾーンの識別子としては、例えば、タイムゾーンに割り当てられた名称やコードが用いられる。かかることは以下においても同様である。
また、例えば、位置付打刻情報が有する位置情報が、位置の名称を示す情報である場合、予め、図示しない格納部に、複数の位置の名称を示す情報と各名称が示す位置を含むタイムゾーンの識別子とをそれぞれ対応付けて有する情報を格納しておくようにし、この情報から、位置付打刻情報が有する位置情報である位置の名称を示す情報と一致する位置の名称と対応付けられたタイムゾーンの識別子を取得するようにしてもよい。ここでの位置の名称を示す情報は、例えば、国名や、地域名、住所等の位置の名称を示す情報である。また、ここでの位置とは、領域と考えても良く、地点と考えてもよく、その粒度は問わない。予め格納されている位置の名称を示す情報は、階層を示す情報であっても良く、この場合、例えば、上位の特定の階層までの名称が一致する場合、名称同士が一致していると考えてもよい。例えば、位置の名称を示す情報が住所の情報である場合、国名から都道府県までの文字列が一致すれば、位置の名称が一致していると判断してもよい。なお、位置の名称を、座標の情報に変換して、この座標を用いて、上記と同様の処理によりタイムゾーンを特定しても良い。
なお、現地打刻時刻取得部107は、座標の情報や、住所の情報の入力を受け付けて、これらが示す地域や地点を含むタイムゾーンの識別子等を取得するサービス等を提供するアプリケーションサービスサーバ(図示せず)等を利用して、ネットワーク経由で、位置付打刻情報が有する位置情報から、タイムゾーンの識別子を取得するようにしても良い。
上記のようにタイムゾーンを特定した後、現地打刻情報取得部107は、位置付打刻情報を受信部101が受信した時点の、上記で特定されたタイムゾーンの標準時を、打刻が行なわれた時刻を示す現地打刻時刻情報として取得する。例えば、現地打刻情報取得部107は、上記で特定されたタイムゾーンの現在時刻を現地打刻時刻情報として取得する。例えば、各タイムゾーンの時刻を出力する時計(図示せず)や、各タイムゾーンの時刻を出力するNTP(ネットワークタイムプロトコル)サーバ(図示せず)等のうちの、上記で特定されたタイムゾーンに対応する時計やNTPサーバ等から、現在の時刻を取得する。複数のタイムゾーンに対応する現在時刻を取得する処理は公知技術であるため、ここでは詳細な説明は省略する。
また、例えば、現地打刻情報取得部107は、勤怠管理サーバ装置1aの基準として設定されているタイムゾーンにおける現在の時刻を、勤怠管理サーバ装置1aが有する図示しない時計等から取得するとともに、上記で特定したタイムゾーンと、勤怠管理サーバ装置1aの基準として設定されているタイムゾーンとの時差を取得し、取得した現在の時刻をこの時差を用いて変換して、上記で特定したタイムゾーンの標準時で表された現在の時刻を現地打刻時刻情報として取得しても良い。ここでの変換は、補正等と考えてもよい。勤怠管理サーバ装置1aの基準として設定されているタイムゾーンとは、例えば、勤怠の管理の基準となる場所を含むタイムゾーンである。勤怠管理サーバ装置1aの基準として設定されているタイムゾーンとは、例えば、勤怠管理サーバ装置1aを利用するユーザの本拠地を含むタイムゾーンと考えても良く、勤怠管理サーバ装置1aを利用するユーザの普段の勤務地またはユーザが通常所属する場所を含むタイムゾーンと考えてもよい。ただし、基準として設定されるタイムゾーンとしては、上記以外のどのようなタイムゾーンを設定しても良い。
通常、各タイムゾーンには、各タイムゾーン内の標準時のUTC(協定世界時)に対する時差が対応付けられているため、このUTCに対する時差の情報を、予め各タイムゾーンと対応付けて、図示しない格納部に蓄積しておくようにする。そして、上記で特定されたタイムゾーンの標準時のUTCに対する時差を、この図示しない格納部等から取得し、取得したUTCに対する時差と、勤怠管理サーバ装置1aの基準として設定されているタイムゾーンの標準時のUTCに対する時差とを用いて、この2つのタイムゾーン間の時差を算出する。算出した時差を用いて、勤怠管理サーバ装置1aの基準として設定されているタイムゾーンにおける現在の時刻を、上記で特定されたタイムゾーンの標準時で表した時刻に変換(例えば、減算)することにより現地打刻時刻情報を取得してもよい。
例えば、現地打刻情報取得部107は、位置付打刻情報が有する位置情報が示す位置を含むタイムゾーンを特定した後、特定されたタイムゾーンと、勤怠管理サーバ装置1aの基準として設定されている位置(例えば、勤怠管理サーバ装置1aが配置されている位置)を含むタイムゾーンとの時差を取得する。例えば、各タイムゾーンの標準時を、UTCと、UTCとの時差で表した情報(例えば、「UTC+時差」で表した情報)を、各タイムゾーンと対応付けて図示しない格納部に予め蓄積しておくようにし、上記で特定されたタイムゾーンにおける標準時をUTCと、UTCとの時差で表した情報と、勤怠管理サーバ装置1aの基準として設定されているタイムゾーンにおける標準時を、UTCと、UTCとの時差で表した情報と、を、図示しない格納部等から取得し、この標準時の差を算出し、算出したタイムゾーン間の時差で、位置付打刻情報が有する打刻の時刻の情報を変換(例えば、減算)して現地打刻時刻情報を取得する。例えば、勤怠管理サーバ装置1aの基準として設定されているタイムゾーンの標準時は、「UTC+08:00」で表せたとし、上記で特定された位置付打刻情報が有する位置情報が示す位置を含むタイムゾーンの標準時が、「UTC+07:00」で表せたとし、位置付打刻情報が有する打刻の時刻の情報が「5月25日10:12」であったとすると、タイムゾーン間の時差は、「01:00」となるため、現地打刻情報取得部107が取得する現地打刻時刻情報は、位置付打刻情報が有する打刻の時刻から「01:00」だけ減算した時刻である「5月25日09:12」を示す情報となる。なお、勤怠管理サーバ装置1aの基準として設定されているタイムゾーンの標準時をUTCと、UTCとの時差で表した情報は、予め図示しない格納部等に蓄積しておくようにしても良い。
また、現地打刻情報取得部107は、受信部101が位置付打刻情報を受信した時点の、勤怠管理サーバ装置1aの基準として設定されているタイムゾーンの標準時で表された時刻を取得し、このタイムゾーンに対応するUTCとの時差を示す情報を用いて、この標準時で表された時刻に対応するUTCの時刻を取得し、上記で位置情報を用いて特定されたタイムゾーンに対応するUTCとの時差を示す情報を用いて、この取得した時刻を、上記特定されたタイムゾーンの時刻に変換することで、現地打刻時刻情報を取得するようにしても良い。
なお、このUTCに対する時差の情報を、予め各タイムゾーンと対応付けて、図示しない格納部に蓄積しておく代わりに、勤怠管理サーバ装置1aの基準として設定されているタイムゾーンに対する各タイムゾーンの時差の情報を、各タイムゾーンと対応付けて図示しない格納部に予め蓄積するようにし、現地打刻情報取得部107は、この格納部から、位置付打刻情報が有する位置情報により特定されたタイムゾーンに対応する時差の情報を取得して、この時差の情報で、位置付打刻情報が有する打刻の時刻の情報を変換することで、位置付打刻情報が有する位置情報が示す位置の地方時で表された現地打刻時刻情報を取得するようにしてもよい。
なお、各タイムゾーンの識別子として、各タイムゾーンの標準時とUTCとの時差を有する情報を用いる場合(例えば、UTC+時差等を識別子として用いる場合)、上記のように位置付打刻情報が有する位置情報が示す位置を含むタイムゾーンを特定して、特定したタイムゾーンの識別子を取得することで、特定されたタイムゾーンの標準時の、UTCに対する時差を、この識別子から容易に取得することができる。
また、複数のタイムゾーンの輪郭を示す情報または複数のタイムゾーンを構成する複数のエリアの輪郭を示す情報と、各タイムゾーンの標準時とUTCとの時差を有する情報とを有する情報から、位置付打刻情報が有する位置情報を含む領域の輪郭を示す情報を検出し、検出した輪郭を示す情報と対応付けられたタイムゾーンの標準時とUTCとの時差を有する情報を取得し、この情報を用いて、上記のように勤怠管理サーバ装置1aが位置するタイムゾーンの標準時との時差を取得しても良い。この場合、位置付打刻情報が有する位置情報を含む領域の輪郭を示す情報を検出することが、位置付打刻情報が有する位置情報を含むタイムゾーンを特定することであると考えてもよい。
なお、現地打刻情報取得部107は、位置付打刻情報が有する位置情報により特定されたタイムゾーンが、勤怠管理サーバ装置1aの基準として設定されているタイムゾーンと一致する場合、勤怠管理サーバ装置1aの基準として設定されているタイムゾーンにおける現在の時刻の情報を変換せずにそのまま現地打刻時刻情報として取得するようにしても良い。
なお、受信部101が受信した位置付打刻情報に、例えば、勤怠管理サーバ装置1aの基準として設定されたタイムゾーンの標準時で表された打刻の時刻の情報が含まれている場合においては、現地打刻情報取得部107は、上記のようにタイムゾーンを特定した後に、受信部101が受信した位置付打刻情報に含まれる打刻の時刻の情報を、上記で特定されたタイムゾーンの標準時で表すことによって、この標準時で表した時刻の情報を現地打刻時刻情報として取得しても良い。この場合、上記と同様の処理により、特定したタイムゾーンと、勤怠管理サーバ装置1aの基準として設定されたタイムゾーンとの時差を取得し、この時差を用いて、位置付打刻情報が有する打刻の情報を、打刻が行なわれた位置を含むタイムゾーンの標準時に変換するようにすることで、現地打刻時刻情報を取得することができる。
また、例えば、位置付打刻情報が有する位置情報がGPS等で取得した座標の情報である場合、上記のようにタイムゾーン等を特定せずに、この座標の情報から、この座標が示す位置の現在時刻の情報を現地打刻時刻情報として取得するようにしてもよい。座標の情報からこの座標が示す位置の現在時刻の情報を取得する処理は、例えば、特許文献である特開2006−29960号公報等に開示されているように公知技術であるため、ここでは詳細な説明は省略する。また、例えば、位置付打刻情報が有する位置情報が位置の名称を示す情報である場合、この位置の名称を座標に変換し、変換した座標を用いて、上記と同様にタイムゾーンを特定せずに、この座標が示す位置の現在時刻の情報を現地打刻時刻情報として取得するようにしてもよい。
なお、現地打刻情報取得部107は、位置付打刻情報が有する位置情報により特定されたタイムゾーンが、勤怠管理サーバ装置1aの基準として設定されているタイムゾーンと一致する場合、位置付打刻情報が有する打刻の時刻の情報を変換せずにそのまま現地打刻時刻情報として取得するようにしても良い。
また、上記の代わりに、現地打刻時刻取得部107は、座標の情報や、位置の名称の情報の入力を受け付けて、これらが示す位置や領域の現在時刻を提供するアプリケーションサービスサーバ(図示せず)等を利用して、ネットワーク経由で、位置付打刻情報が有する位置情報から、この位置情報が示す位置の位置付打刻情報を受信した時点の時刻である現地打刻時刻情報を取得するようにしても良い。この場合、現地打刻時刻取得部107、あるいは、勤怠管理サーバ装置1aは、座標の情報や、位置の名称の情報の送信や、時刻の情報を受信する通信手段(図示せず)を有していても良い。
なお、上記で示した現地打刻時刻情報を取得する処理およびタイムゾーンを特定する処理等は一例であり、現地打刻情報取得部107は、例えば、上記で示した処理以外の処理により現地打刻時刻情報を取得しても良く、タイムゾーンを特定しても良い。
蓄積部105aは、受信部101が受信した位置付打刻情報について現地打刻時刻取得部107が取得した現地打刻時刻情報を上述した打刻時刻情報として有する位置付勤怠情報を取得し、勤怠情報格納部102に蓄積する。受信部101が受信した位置付打刻情報について現地打刻時刻取得部107が取得した現地打刻時刻情報とは、例えば、上述したように、受信部101が受信した位置付打刻情報が有する位置情報を用いて現地打刻時刻取得部107が取得した現地打刻時刻情報である。打刻時刻情報として、現地打刻時刻取得部107が取得した現地打刻時刻情報を用いる点を除けば、蓄積部105aの構成は、上記実施の形態1の蓄積部105と同様であるため、ここでは詳細な説明は省略する。
休日情報取得部108は、位置付勤怠情報が有する位置情報を用いて、この位置情報に対応する位置の休日の情報を取得する。休日の情報は、例えば、休日の日付である。ここでの休日は、国や州等の領域毎に設定される公的な休日である。また、ユーザが属する企業や団体等の休日であって、国や州等の領域毎に設定される休日であっても良い。ここでの休日の情報は、勤怠管理サーバ装置1aの基準として設定されていない領域の休日の、勤怠管理サーバ装置1aの基準として設定されている領域の休日との差分の情報であってもよい。差分の情報である休日の情報は、例えば、勤怠管理サーバ装置1aの基準として設定されている領域では休日に設定されている日のうちの1以上を、休日から除外する情報であっても良い。また、差分の情報である休日の情報は、例えば、勤怠管理サーバ装置1aの基準として設定されている領域では休日に設定されていない日のうちの1以上を、休日に指定する情報であっても良い。勤怠管理サーバ装置1aの基準として設定されている領域とは、例えば、勤怠の管理の基準となる領域である。勤怠管理サーバ装置1aの基準として設定されている領域とは、例えば、勤怠管理サーバ装置1aを利用するユーザの本拠地を含む領域と考えても良く、勤怠管理サーバ装置1aを利用するユーザの普段の勤務地またはユーザが通常所属する場所を含む領域と考えてもよい。ただし、基準として設定される領域としては、どのような領域を設定しても良い。なお、基準として設定される領域は、例えば、領域内においては休日が同じとなる領域であることが好ましい。
なお、ここでの位置付勤怠情報が有する位置情報は、蓄積部105aが取得した位置付勤怠情報が有する位置情報であっても良く、蓄積部105aが蓄積した位置付勤怠情報が有する位置情報であっても良い。また、位置付勤怠情報が有する位置情報は、この位置付勤怠情報に対応した位置付打刻情報が有する位置情報と実質的に同じものであることから、位置付勤怠情報が有する位置情報の代わりに、この位置付勤怠情報に対応する位置付打刻情報が有する位置情報を用いるようにしても良く、このような位置情報も、位置付勤怠情報が有する位置情報の一態様と考えてもよい。かかることは、後述する領域判断部111が判断の対象とする位置を示す位置付勤怠情報が有する位置情報についても同様である。
休日情報取得部108は、位置付勤怠情報から位置情報を取得し、取得した位置情報に対応する位置の休日の情報を取得する。例えば、位置付勤怠情報が有する位置情報が、国名や住所等の位置の名称の情報である場合、この名称の情報を用いて、国名等の上記で取得した位置情報が示す位置と休日が同じとなる領域を示す情報(以下、領域特定情報と称す)を取得し、領域特定情報と対応付けられて予め図示しない格納部等に格納されてる休日の情報から、上記で取得した領域特定情報に対応付けられた休日の情報を検索等により取得する。
休日情報取得部108は、例えば、上記の領域特定情報と対応付けて図示しない格納部に予め格納されている休日の情報から、位置の名称の情報を用いて取得した領域特定情報と対応付けられた休日の情報を検索により取得する。なお、上記の領域特定情報と休日の情報との1または2以上の組が格納されている図示しない休日の情報を提供するサーバ装置等に、上記の領域特定情報を送信することで、サーバ装置等からこの領域特定情報に対応する休日の情報を取得しても良い。
位置の名称の情報が、国名等の領域特定情報を有する場合、この名称の情報から領域特定情報を取得しても良い。また、位置の名称の情報が、国名等の領域特定情報を有さない場合、この位置の名称の情報を用いて、検索等により領域特定情報を取得しても良い。位置の名称の情報を用いて、国名や州名等の領域特定情報を取得する検索処理等は地図検索の技術等として公知であるため、ここでは詳細な説明は省略する。
また、位置付勤怠情報が有する位置情報が、GPS等で取得された座標の情報である場合、この座標から、検索等により上記のような領域特定情報を取得しても良い。座標の情報を用いて、国名や州名等の領域特定情報を取得する検索処理等は地図検索の技術等として公知であるため、ここでは詳細な説明は省略する。
また、予め領域を示す座標群と、休日の情報とを対応付けた情報を、図示しない格納部等に蓄積しておくようにし、この格納部から、位置付勤怠情報が有する位置情報である座標の情報を含む領域と対応付けられた休日の情報を検索により取得するようにしても良い。
なお、位置情報に対応した休日の情報を取得する処理としては、スケジュール管理ソフトウェア等において公知の技術が利用可能である。
なお、勤怠管理サーバ装置1aの図示しない格納部等に、予め勤怠管理サーバ装置1aの基準として設定される領域の休日の情報が格納されている場合においては、休日情報取得部108は、位置付勤怠情報が有する位置情報が示す位置が、この勤怠管理サーバ装置1aの基準として設定される領域(例えば、同じ国や州等)と、休日が同じとなる領域内に位置するか否かを判断し、同じである場合には、休日の情報を取得しないようにしてもよい。
休日情報取得部108が休日の情報を取得するタイミング等は問わない。休日情報取得部108が位置付勤怠情報について取得した休日の情報は、例えば、この位置付勤怠情報が有するユーザ識別子と対応付けて、図示しない格納部等に蓄積するようにしてもよい。
なお、休日情報取得部108が、位置付勤怠情報から位置情報を取得する処理は、現地打刻時刻取得部107が位置付打刻情報から位置情報を取得する処理等と兼ねるようにしても良く、この場合、いずれか一方の処理が行なわれることを、両方の処理を行なうことと考えてもよい。かかることは、本実施の形態における他の共通する情報を取得する処理や実質的に同様な処理についても同様である。
ルール格納部109には、一または二以上のルール情報が格納される。ルール情報は、一以上の位置付勤怠情報に関するルールを示す情報である。ルール情報は、休日に関するルールを示す情報である。ルール情報は、例えば、位置付勤怠情報が、休日に関する位置付勤怠情報である場合に行なわれる1以上の処理を示す情報である。位置付勤怠情報に応じて行なわれる1以上の処理は、位置付勤怠情報に対して行なわれる1以上の処理であってもよい。ここでの休日に関して入力された位置付勤怠情報は、勤怠情報格納部102に格納されている位置付勤怠情報と考えても良く、蓄積部105aが取得し蓄積する位置付勤怠情報と考えてもよい。蓄積部105aが蓄積する一以上の位置付勤怠情報は、蓄積部105aが結果的に蓄積する1以上の位置付勤怠情報であってもよく、蓄積部105aが将来的に蓄積する1以上の位置付勤怠情報であっても良い。ルール格納部109にルール情報が格納されるタイミング等は問わない。なお、ルール情報は、蓄積部105aが取得した位置付勤怠情報に関するルール情報であっても良く、蓄積部105aが蓄積した位置付勤怠情報に関するルール情報であっても良い。また、位置付勤怠情報は位置付打刻情報を用いて取得されることから、位置付勤怠情報に関するルールを示すルール情報は、位置付勤怠情報の取得に用いられる位置付打刻情報についてのル−ル情報であってもよい。
休日に関して入力された位置付勤怠情報に応じて行なわれる1以上の処理は、どのような処理であっても良い。位置付勤怠情報に応じて行なわれる1以上の処理は、例えば、位置付勤怠情報の勤怠情報格納部102への蓄積を保留する処理(例えば、他の格納部に一時的に格納する処理等)や、位置付勤怠情報を破棄する処理等の位置付勤怠情報に対して行なわれる処理であっても良い。また、位置付勤怠情報に応じて行なわれる処理は、位置付勤怠情報に応じて予め決められた情報を、予め決められた出力先に出力することであっても良い。ここでの出力は、例えば、ディスプレイへの表示、プリンタへの印字、音出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラム等への処理結果の引渡し等を含む概念である。ここでの外部の装置への送信は、位置付勤怠情報が有するユーザ識別子が示すユーザに対応する送信先(例えば、ユーザ識別子が示すユーザの上席者や、管理者等の位置付勤怠情報の承認者)への電子メールやショートメッセージ等のメッセージの送信等である。例えば、位置付勤怠情報に応じて予め決められた情報を、予め決められた出力先に出力する処理は、例えば、休日に対して位置付勤怠情報が入力された場合に、この位置付勤怠情報が有するユーザ識別子が示すユーザに、休日出勤となる旨の通知や警告を出力する処理であっても良く、休日出勤が申請済であるか、あるいは承認を受けているか否かを確認する旨の通知や警告を出力する処理であっても良く、休日出勤に対応する代休の取得を指示する処理であっても良く、休日出勤に対応する代休の日付を受け付けるインターフェース等をユーザに対して出力する処理であっても良い。また、例えば、休日に対して位置付勤怠情報が入力された場合に、この位置付勤怠情報が有するユーザ識別子が示すユーザの承認者に対して、休日出勤が行なわれた旨の通知や警告を出力する処理であっても良く休日出勤の申請確認画面や、休日出勤の承認画面を出力する処理であっても良い。なお、ここでの出力は、上記の出力と同様である。出力される予め決められた情報は、例えば、予め固定されている情報の送信であっても良い。また、予め決められた情報は、予め用意されたテンプレート等を用いて位置付勤怠情報に応じて動的に作成される情報であっても良い。
ルール情報は、休日に関して入力された位置付勤怠情報についての判断条件等を示す情報を有していても良い。例えば、ルール情報は、休日に関して入力された位置付勤怠情報についての判断条件等を示す情報を有していても良い。例えば、ルール情報は、休日に関して入力された位置付勤怠情報が、休日に関して適切な位置付勤怠情報であるか否かを判断するための条件と、この判断条件を満たすか否かに応じて行なわれる処理とを示す情報である。ここでの適切な位置付勤怠情報は、例えば、法令等を遵守した位置付勤怠情報や、雇用主等の定めた規則を遵守した位置付勤怠情報である。雇用主等の定めた規則を遵守した位置付勤怠情報とは、例えば、上席者や管理者等の承認者の承認を受けている位置付勤怠情報である。また、休日に関して適切な位置付勤怠情報であるか否かを判断するということは、例えば、休日に関して不適切な位置付勤怠情報であるか否かを判断することであってもよい。ここでの不適切な位置付勤怠情報は、「Null」以外の情報が格納されていることを判断することであってもよい。なお、ここでは「Null」として説明しているが、「Null」の代わりに、データがないことを示す情報が格納されている場合も同様である。
ルール情報は、例えば、処理を行なうタイミングやトリガー等を指定する情報を有していてもよい。また、ルール情報は、判断対象となる位置付勤怠情報の属性等を指定する情報を有していても良い。
また、ルール情報は、判断対象となる勤怠情報に対応付けられた日付を特定可能な情報を有していても良い。日付を特定可能な情報とは、日付であってもよく、現在を基準とした日付を示す文字列、例えば「今日」、「明日」等であってもよい。日付を特定可能な情報は、一の日付を特定可能な情報であってもよく、複数の日付を特定可能な情報であってもよく、期間を特定可能な情報であってもよい。
ルール処理部110は、休日情報取得部108が位置付勤怠情報を用いて取得した休日の情報を用いて、この位置付勤怠情報が休日についての位置付勤怠情報であるか否かを判断する。そして、休日についての位置付勤怠情報であると判断された場合に、この位置付勤怠情報に関して、ルール格納部109に格納された1以上のルール情報に応じた処理を行なう。なお、位置付勤怠情報が休日についての位置付勤怠情報であるか否かを判断することは、位置付勤怠情報に対応する位置付勤怠情報(例えば、位置付勤怠情報の取得に用いられる位置付打刻情報)が休日についての位置付打刻情報であるか否かを判断することも含むと考えてもよい。ただし、この場合の判断には、位置付打刻情報を用いて現地打刻時刻取得部107が取得した現地打刻時刻情報を用いる必要がある。
例えば、ルール処理部110は、蓄積部105aが蓄積する位置付勤怠情報が示す日付が休日であるか否かを、この位置付勤怠情報を用いて取得した休日の情報を用いて判断する。位置付勤怠情報が示す日付とは、例えば、位置付勤怠情報が有する現地打刻時刻情報が有する日付である。例えば、ルール処理部110は、位置付勤怠情報が示す日付と一致する日付が、休日情報取得部108が位置付勤怠情報を用いて取得した休日の情報が示す日付の中にあるか否かを判断し、ある場合に、休日であると判断する。なお、休日情報取得部108が休日の情報を取得しなかった位置付勤怠情報については、予め勤怠管理サーバ装置1aが有する休日の情報を用いて、この位置付勤怠情報が有する現地打刻時刻情報が有する日付が、休日であるか否かを判断してもよい。また、位置付勤怠情報が休日についての位置付勤怠情報であるか否かの判断を行なうタイミングは問わない。例えば、このタイミングは、1以上のルール情報が示すタイミングであっても良い。
ルール処理部110は、位置付勤怠情報が示す日付が休日であると判断した場合、この位置付勤怠情報について、1以上のルール情報に応じた処理を行なう。なお、休日であると判断されなかった場合は、通常、ルール処理部110は、この位置付勤怠情報についてルール情報に応じた処理を行なわない。例えば、ルール情報が、休日出勤であることを位置付勤怠情報が有するユーザ識別子が示すユーザに電子メールで通知する処理である場合、ルール処理部110は、位置付勤怠情報が有するユーザ識別子に対応するメールアドレスを取得して、このメールアドレスに、休日出勤であることを示す情報を有する電子メールを送信する。メールアドレスは、例えば、ユーザ識別子とメールアドレスとを有する予め用意された複数の情報から検索により取得しても良い。また、ユーザ識別子がユーザのメールアドレスであれば、このメールアドレスを送信の宛先に用いる。
領域判断部111は、位置付勤怠情報が有する位置情報が示す位置が、国外の位置であるか否かを判断する。ここでの国外とは、基準となる国以外の国を意味する。基準となる国とは、例えば、上述したような勤怠管理サーバ装置1aの基準となる領域を含む国である。領域判断部111は、休日情報取得部108と同様に、位置付勤怠情報が有する位置情報を取得し、この位置情報が示す位置が、勤怠管理サーバ装置1aの基準となる領域を含む国の位置であるか否かを判断し、基準となる領域を含む国の位置でない場合、国外の位置であるとする判断結果を得る。また、基準となる領域を含む国の位置である場合、国内の位置であるとする判断結果を得る。この判断処理はどのような判断処理であっても良い。例えば、位置付勤怠情報が有する位置情報が、座標である場合、この座標が、予め取得しておいた勤怠管理サーバ装置1aの基準となる領域を含む国内の座標であるか否かを判断することによって、位置情報が示す位置が、勤怠管理サーバ装置1aの基準となる領域を含む国の位置であるか否かを判断する。また、位置付勤怠情報が有する位置情報が位置の名称である場合、この位置の名称が、予め取得しておいた勤怠管理サーバ装置1aの基準となる領域を含む国内の位置の名称であるか否かを検索等により判断する。例えば、位置付勤怠情報が有する位置情報が位置の名称である場合、この位置の名称を用いて、図示しない格納部等に格納されている地図情報等を用いて、この位置を含む国の国名を取得し、この国名が、勤怠管理サーバ装置1aの基準となる領域を含む国の国名と一致するか否かを判断してもよい。なお、この国外の位置であるか否かの判断は、例えば、一日に一回のみ行なうようにすること等により、後述する手当が重複して支給されることを防ぐようにすることが好ましい。
手当支給部112は、領域判断部111が国外の位置であると判断した場合に、上記の位置付勤怠情報が有するユーザ識別子が示すユーザに対して、予め指定された手当を支給する処理を行なう。予め指定された手当とは、例えば、海外出張手当、国外出張手当、海外赴任手当、またはこれに相当する手当である。予め指定された手当を支給する処理とは、ユーザの口座等に手当を振り込む処理であってもよい。この場合、ユーザの口座番号等は、予め、図示しない格納部等に登録しておくようにして、これを振り込みの際に適宜読み出すようにしてもよい。また、予め指定された手当を支給する処理は、手当の情報を格納する図示しない格納部に蓄積する処理であっても良い。ここでの手当の情報は、例えば、手当を支給するために必要な情報であり、ユーザ識別子と、支給する手当の項目名、手当の支給対象となる出張日等の日付を示す情報等を有する情報である。また、予め指定された手当を支給する処理とは、例えば、予め指定された手当の支給を要求する指示を、ユーザが属する企業等の経理の担当者等に送信する指示であっても良く、予め指定された手当をユーザに対して支給する指示を、経理の処理を行なうアプリケーションソフトウェア等に対して出力する指示であっても良い。この場合の経理の処理を行なうアプリケーションソフトウェアは、いわゆるクラウド型のアプリケーションソフトウェアであっても良い。この場合に出力される指示は、例えば、ユーザ識別子と、支給する手当の項目名と、手当の支給対象となる出張日等の日付を示す情報と、支給する金額等を有する情報である。予め指定された手当をユーザに対して支給する指示を出力するということは、予め指定された手当を支給するフラグを、支給対象のユーザのユーザ識別子に対して付与する指示であっても良い。なお、ここでの位置付勤怠情報が有するユーザ識別子は、実質的に、この位置付勤怠情報に対応する位置付打刻情報(例えば、位置付勤怠情報の取得に用いられた位置付打刻情報)が有するユーザ識別子と同じものであることから、上記で説明した位置付勤怠情報が有するユーザ識別子の代わりに、この位置付勤怠情報に対応する位置付打刻情報が有するユーザ識別子を用いても良く、このようなユーザ識別子も、ここでの位置付勤怠情報が有するユーザ識別子の一態様と考えてもよい。
次に、本実施の形態の勤怠管理サーバ装置1aの動作の一例について、図14のフローチャートを用いて説明する。なお、図14において図2と同一符号は、同一または相当する処理ステップを示しており、ここでは説明は省略する。
(ステップS301)現地打刻時刻取得部107は、ステップS101で受信した位置付打刻情報が有する位置情報を用いて、この位置情報が示す位置を含むタイムゾーンを特定し、このタイムゾーンに対応した打刻の時刻、即ちこのタイムゾーンの地方時で表された打刻の時刻を示す現地打刻時刻情報を取得する。ここでの時刻は、日付も有する情報であるとする。ここで取得された現地打刻時刻情報は、位置付勤怠情報の現地打刻時刻情報と考えてよい。例えば、位置付打刻情報が打刻された時刻の情報を有さない場合、現地打刻時刻取得部107は、位置付打刻情報を受信した時刻であって、上記で特定されたタイムゾーンの地方時で表された時刻を示す現地打刻時刻情報を取得する。また、例えば、位置付打刻時刻情報が勤怠管理サーバ装置1aに基準として設定されたタイムゾーンの標準時で表された打刻が行なわれた時刻を有する場合、現地打刻情報取得部107は、この打刻が行なわれた時刻を、上記で特定されたタイムゾーンと勤怠管理サーバ装置1aに基準として設定されたタイムゾーンとの時差に応じて変換して、上記で特定されたタイムゾーンの標準時で表された現地打刻時刻情報を取得する。
(ステップS302)蓄積部105aは、上記実施の形態のステップS104と同様に、位置付勤怠情報を取得し蓄積する。ただし、ここでは、蓄積部105aは、打刻の時刻として、ステップS301で取得した現地打刻時刻情報を有する位置付勤怠情報を取得し蓄積するようにする。
(ステップS303)休日情報取得部108は、ステップS302で蓄積部105aが蓄積した位置付勤怠情報が有する位置情報を用いて、この位置情報が示す位置を含む領域、例えば国や州等の休日の情報を取得する。
(ステップS304)ルール処理部109は、ステップS301で取得した現地打刻時刻情報が示す日付が、ステップS303で取得した休日の日付であるか否かを判断する。休日である場合、ステップS305に進み、休日でない場合、ステップS306に進む。
(ステップS305)ルール処理部109は、ルール格納部109に格納された1以上のルール情報に応じた処理を行なう。
(ステップS306)領域判断部111は、ステップS302で蓄積部105aが蓄積した位置付勤怠情報が有する位置情報を用いて、この位置情報が示す位置が国外であるか否かを判断する。国外である場合、ステップS307に進み、国外でない場合、ステップS101に戻る。
(ステップS307)手当支給部206は、予め決められた海外出張手当等の手当を支給する処理を行なう。そして、ステップS101に戻る。
なお、上記において、ステップS303からステップS307までの処理は、上記以外のタイミングで、勤怠情報格納部102に蓄積された位置付勤怠情報に対して行なうようにしても良い。
なお、本実施の形態の打刻端末装置2および表示端末装置3の動作については、上記実施の形態1と同様であるため、ここでは詳細な説明は省略する。
以下、本実施の形態の具体例について説明する。ただし、ここでは、上記実施の形態1の具体例において説明した位置判断部104および出力部106等の動作についての説明は適宜省略する。また、蓄積部105aの動作についても、蓄積部105と同様の操作については説明を適宜省略する。
東京に勤務するユーザBが、出張でシンガポールに移動し、打刻端末装置2が有する時計(図示せず)が示す時刻が2017年1月28日の午前9時50分の時点で、上記実施の形態1の具体例と同様に出勤時刻を打刻する操作を打刻端末装置2に対して行なったとする。ただし、ここでは、打刻端末装置2が有する時計は、出張前の東京の地方時に設定されたままであるとする。
打刻の操作に応じて、打刻端末装置2の送信部205は、ユーザAの現在地(ここでは、シンガポールの任意の地点)の位置情報である座標(x80、y80)と、上記の打刻が行なわれた時刻「2017年1月28日09時50分」と、ユーザBのユーザ識別子である「P1098」を含む位置付打刻情報を、ネットワーク経由で勤怠管理サーバ装置1aに送信する。
勤怠管理サーバ装置1aの受信部101が、ユーザBの打刻端末装置2から位置付打刻情報を受信すると、現地打刻時刻取得部107はこの位置付打刻情報が有する位置情報である座標(x80、y80)と、上記の打刻が行なわれた時刻「2017年1月28日09時50分」とを用いて、ユーザBが打刻を行なった際の地方時、即ちシンガポールの現地時刻を取得する。具体的には、現地打刻時刻取得部107は、図示しない格納部に格納されている複数のタイムゾーンの輪郭を示す座標群の情報と、各タイムゾーンの標準時をUTCとの時差で表した情報(具体的には、「UTC+時差」で表される情報)から、上記の座標(x80、y80)が含まれるタイムゾーンの輪郭を示す座標群の情報を検出し、検出した情報に対応付けられたタイムゾーンの標準時をUTCとの時差で表した情報である「UTC+08:00」を取得したとする。なお、ここでの各タイムゾーンの標準時をUTCとの時差で表した情報は、タイムゾーンの識別子と考えてもよい。
また、ここでは、勤怠管理サーバ装置1aの基準となる場所として、東京が設定されており、この東京についての標準時を、UTCとの時差で表した情報である「UTC+09:00」が予め上記と同様の処理により取得されて図示しない格納部に格納されているとすると、現地打刻時刻取得部107は、勤怠管理サーバ装置1aの基準として設定されている場所を含むタイムゾーンのUTCとの時差で表した情報である「UTC+09:00」を読み出し、この情報と、上記で取得した位置付打刻情報が有する位置情報に応じて取得したユーザBが打刻した位置を含むタイムゾーンの標準時をUTCとの時差で表した情報である「UTC+08:00」との差を算出して、勤怠管理サーバ装置1aの基準となる場所と、ユーザBが打刻した位置との時差である「01:00」を取得する。
位置付打刻情報が有する打刻が行なわれた時刻が、勤怠管理サーバ装置1aの基準となる場所の地方時で表された時刻、すなわち、勤怠管理サーバ装置1aの基準となる場所を含むタイムゾーンの標準時で表された時刻であることから、現地打刻時刻取得部107は、上記で取得した時差「01:00」を用いて、位置付打刻情報が有する打刻が行なわれた時刻を変換して、ユーザBが打刻を行なった位置の地方時で表された打刻の時刻を示す現地打刻時刻情報を取得する。具体的には、位置付打刻情報が有する打刻の時刻「2017年1月28日の午前9時50分」から、上記の時差「01:00」を減算して、現地時の打刻の時刻「2017年1月28日の午前8時50分」を示す現地打刻時刻情報を取得する。
そして、蓄積部105aは、上記で取得したユーザBが打刻を行なった位置の地方時を示す現地打刻時刻情報を、打刻時刻情報として有する位置付勤怠情報を、勤怠情報格納部102に蓄積する。
休日情報取得部107は、図示しない格納部に予め格納されている複数の国名と、各国の輪郭を示す座標群の情報から、上記で蓄積された位置付勤怠情報が有する位置情報である座標(x80、y80)を含む国名である「シンガポール」を検索により取得する。そして、図示しない格納部に格納されている複数の国名と各国の休日の情報とを有する情報から「シンガポール」の休日の情報を取得する。ここで取得する休日の情報は、例えば、予め指定された1日以上の範囲の休日の情報であり、ここでは、この休日の情報を取得しようとする取得日を含む一年分の休日の情報であるとする。なお、既に同じ国について、この取得日を含む休日の情報が取得済である場合、再度の取得は行なわなくても良い。また、この取得する範囲は、例えば、休日の情報を用いた処理を行なう対象となる位置付勤怠情報が、現在の位置付勤怠情報であるか、過去の位置付勤怠情報であるか等により異なる。また、ここで取得する範囲は、過去の期間を含んでも良い。なお、位置付勤怠情報が有する位置情報を用いる代わりに、この位置付勤怠情報に対応する位置付打刻情報(例えば、蓄積部105aがこの位置付打刻情報を用いるために用いた位置付打刻情報)が有する位置情報を用いてもよい。
そして、ルール処理部110は、取得した休日の情報が示す日付に、上記で蓄積した位置付勤怠時刻情報が有する現地打刻時刻情報が示す時刻「2017年1月28日の午前8時50分」が有する日付である「2017年1月28日」が含まれているか否かを判断する。ここでは、現地打刻時刻情報が示す時刻が有する日付が含まれているとすると、ルール処理部110は、蓄積された位置付勤怠情報が、ユーザBが打刻を行なった国である「シンガポール」では休日となっている日についての位置付勤怠情報であると判断する。
このため、ルール処理部110は、ルール格納部109に格納されているルール情報を読み出す。ここでは、ルール格納部109には、1つのルール情報が予め格納されているとする。この1つのルール情報は「位置付勤怠情報が有するユーザ識別子が示すユーザの打刻端末装置2に、予め用意されたメッセージを表示させる処理」というルールをそれぞれ示す情報であるとする。なお、ここでは、説明のため、ルール情報が示すルールを、自然言語で表しているが、ルール情報は、例えば、これらの自然言語に相当する一以上の関数や、メソッド名や、「if」、「then」等で示される制御構文等で構成されていてもよい。また、ルールは、これらの自然言語に対応する判断処理等を行うためのアルゴリズムであっても良い。
ルール処理部110は、位置付勤怠情報からユーザBのユーザ識別子を取得し、このユーザ識別子に対応するメッセージの送信先を示す情報を、ユーザ識別子と送信先を示す情報とを対応付けて有する複数の情報から検索により取得する。この送信先を示す情報は、例えば、ユーザBのログインに用いられるログインIDであるとする。そして、この送信先に、予め図示しない格納部に格納されているメッセージである「休日出勤となる点をご留意下さい。代休の取得日が決まりましたらご指定下さい。」を送信する。
ここでは、一例として、打刻端末装置2が、メッセージを受信する受信部(図示せず)と、受信したメッセージを表示する表示部(図示せず)とを備えているとすると、ユーザBが利用する打刻端末装置2の受信部は、勤怠管理サーバ装置1aから送信される上記のメッセージを受信し、表示部が受信したメッセージを図示しないモニタ等に表示する。これにより、ユーザBに休日出勤となる点について注意を喚起できるとともに、休日出勤の代休の取得を促すことができる。
次に、領域判断部111は、上記で蓄積された位置付勤怠情報が有する位置情報を用いて、ユーザBが打刻を行なった位置が、勤怠管理サーバ装置1aの基準として設定されている国である日本の国外であるか否かを判断する。ここでは、領域判断部111は、ルール処理部110と同様の処理を行なって、位置情報に対応する国名である「シンガポール」を取得し、この国名が、上記の日本と一致するか否かを判断する。そして、一致しないため、国外であると判断する。このため、領域判断部111は、予め決められた手当を支給する処理を行なう。予め決められた手当は、ここでは、「海外出張手当」という項目名の手当であるとする。具体的には、領域判断部111は、予め設定された経理の処理を行なうアプリケーションソフトウェア(図示せず)に対して、国外出張手当を支給する処理を行なう指示を送信する。この指示は、位置付勤怠情報が有するユーザ識別子「P1098」と、支給する手当の項目名である「海外出張手当」と、位置付勤怠情報が有する現地打刻時刻情報が示す日付とを有する情報であるとする。なお、位置付勤怠情報の位置情報を用いる代わりに、この位置付勤怠情報に対応する位置付打刻情報が有する位置情報を用いてもよい。
この指示に応じて、経理の処理を行なうアプリケーションソフトウェアは、ユーザ識別子が「P1098」であるユーザに、「海外出張手当」という項目の手当を支給する処理を行なう。このような処理に応じて、経理の処理を行なうアプリケーションソフトウェアが手当を支給する処理、例えば、手当をユーザの給料に追加する処理等を行なうことは公知技術であるため、詳細な処理の説明は省略する。なお、同じユーザに対して、既に同じ日付についての「海外出張手当」という項目の手当を支給する処理が行なわれている場合は、経理の処理を行なうアプリケーションソフトウェアは、この処理は行なわなくても良い。また、上記で取得した国名が、日本と一致する場合は、国内と判断し、上記のような手当を支給する処理は行なわない。
なお、領域判断部111は、ルール処理部110が取得した位置付勤怠情報が有する位置情報に対応する国名を取得しても良く、この場合、ルール処理部110が位置情報に対応する国名を取得する処理は、領域判断部111が位置情報に対応する国名を取得する処理を兼ねているものと考えてもよい。
以上、本実施の形態においては、上記実施の形態1と同様の効果を奏するとともに、ユーザが打刻を行なった位置の地方時で表された打刻の時刻である現地打刻時刻情報を有する位置付勤怠情報を取得し蓄積することができる。
また、ユーザが打刻を行なった位置の休日の情報を取得して、この休日の情報を用いて、ユーザの打刻が休日に行なわれたか否かを判断することにより、ユーザが打刻を行なった日付が、ユーザが打刻を行なった位置を含む領域の休日である場合に適切な処理を行なうことができる。
また、ユーザが国外に勤務している場合に、国外出張手当等の手当を適切な支給することができる。
なお、上記各実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
また、上記実施の形態の勤怠管理サーバ装置1が、通信回線等を介して表示端末装置3等を用いることで表示等を行なう場合について説明したが、勤怠管理サーバ装置1が、通信回線等を介さずに、図示しない入力デバイス等から入力を受け付けたり、図示しないモニタ等を用いて画面を出力したりするようにしてもよい。
また、上記各実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。その実行時に、プログラム実行部は、格納部(例えば、ハードディスクやメモリ等の記録媒体)にアクセスしながらプログラムを実行してもよい。
なお、上記実施の形態における勤怠管理サーバ装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、ユーザ識別子と、位置情報とを有する情報であって、ユーザ識別子が示すユーザの勤怠に関する打刻の情報である位置付打刻情報が有するユーザ識別子および位置情報と、位置付打刻情報に対応する打刻された時刻の情報である打刻時刻情報と、を有する位置付勤怠情報が格納される勤怠情報格納部にアクセス可能なコンピュータを、位置付打刻情報を受信する受信部と、受信部が受信した位置付打刻情報が有するユーザ識別子および位置情報と、位置付打刻情報に対応する打刻時刻情報と、を有する位置付勤怠情報を、勤怠情報格納部に蓄積する蓄積部と、勤怠情報格納部に格納された一以上の位置付勤怠情報を出力する出力部として機能させるためのプログラムである。
また、このプログラムは、ユーザ識別子が格納されるユーザ識別子格納部にアクセス可能なコンピュータを、位置情報を取得する位置情報取得部と、打刻の操作を受け付ける操作受付部と、位置情報取得部が取得した位置情報が、予め決められた領域内の位置情報であるか否かを判断する打刻判断部と、操作受付部が打刻の操作を受け付けた場合であって、打刻判断部が予め決められた領域内の位置情報であると判断した場合に、ユーザ識別子格納部に格納されたユーザ識別子と、位置情報取得部が取得した位置情報とを有する情報であって、ユーザ識別子が示すユーザの勤怠に関する打刻の情報である位置付打刻情報を、勤怠管理サーバ装置に送信する送信部として機能させるためのプログラムである。
また、このプログラムは、ユーザ識別子が格納されるユーザ識別子格納部にアクセス可能なコンピュータを、位置情報を取得する位置情報取得部と、位置情報取得部が取得した位置情報が、予め決められた領域内の位置情報であるか否かを判断する打刻判断部と、打刻判断部が、予め決められた領域内の位置情報であると判断した場合に、ユーザ識別子格納部に格納されたユーザ識別子と、位置情報取得部が取得した位置情報とを有する情報であって、ユーザ識別子が示すユーザの勤怠に関する打刻の情報である位置付打刻情報を、勤怠管理サーバ装置に送信する送信部として機能させるためのプログラムである。
なお、上記プログラムにおいて、上記プログラムが実現する機能には、ハードウェアでしか実現できない機能は含まれない。例えば、情報を取得する取得部や、情報を出力する出力部などにおけるモデムやインターフェースカードなどのハードウェアでしか実現できない機能は、上記プログラムが実現する機能には含まれない。
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
図11は、上記プログラムを実行して、上記各実施の形態による勤怠管理サーバ装置を実現するコンピュータの外観の一例を示す模式図である。上記各実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムによって実現されうる。
図11において、コンピュータシステム900は、CD−ROM(Compact Disk Read Only Memory)ドライブ905を含むコンピュータ901と、キーボード902と、マウス903と、モニタ904とを備える。
図12は、コンピュータシステム900の内部構成を示す図である。図12において、コンピュータ901は、CD−ROMドライブ905に加えて、MPU(Micro Processing Unit)911と、ブートアッププログラム等のプログラムを記憶するためのROM912と、MPU911に接続され、アプリケーションプログラムの命令を一時的に記憶すると共に、一時記憶空間を提供するRAM(Random Access Memory)913と、アプリケーションプログラム、システムプログラム、及びデータを記憶するハードディスク914と、MPU911、ROM912等を相互に接続するバス915とを備える。なお、コンピュータ901は、LANへの接続を提供する図示しないネットワークカードを含んでいてもよい。
コンピュータシステム900に、上記各実施の形態による勤怠管理サーバ装置等の機能を実行させるプログラムは、CD−ROM921に記憶されて、CD−ROMドライブ905に挿入され、ハードディスク914に転送されてもよい。これに代えて、そのプログラムは、図示しないネットワークを介してコンピュータ901に送信され、ハードディスク914に記憶されてもよい。プログラムは実行の際にRAM913にロードされる。なお、プログラムは、CD−ROM921、またはネットワークから直接、ロードされてもよい。
プログラムは、コンピュータ901に、上記各実施の形態による勤怠管理サーバ装置の機能を実行させるオペレーティングシステム(OS)、またはサードパーティプログラム等を必ずしも含んでいなくてもよい。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいてもよい。コンピュータシステム900がどのように動作するのかについては周知であり、詳細な説明は省略する。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。