以下、勤怠情報処理装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態)
図1は、本実施の形態における勤怠情報処理システム1000のブロック図である。
勤怠情報処理システム1000は、勤怠情報処理装置1、一または二以上の打刻装置2、一または二以上の第一情報処理端末3、および一または二以上の第二情報処理端末4を備える。勤怠情報処理装置1と打刻装置2とは、通信回線等を介して通信可能となるよう接続される。勤怠情報処理装置1と第一情報処理端末3とは、通信回線等を介して通信可能となるよう接続される。勤怠情報処理装置1と第二情報処理端末4とは、通信回線等を介して通信可能となるよう接続される。ここでの通信回線は、無線または有線のいずれの通信回線であってもよく、両者が混在していてもよい。なお、図1においては、説明のため、打刻装置2、第一情報処理端末3、および第二情報処理端末4がそれぞれ一つである場合を示しているが、打刻装置2、第一情報処理端末3、および第二情報処理端末4のそれぞれは、二以上であってもよい。
勤怠情報処理装置1は、勤怠情報格納部101、出力部102、操作受付部103、入力画面出力部104、入力受付部105、蓄積部106、承認画面出力部107、受付部108、状況更新部109、及び勤怠情報蓄積部110を備える。
勤怠情報処理装置1は、例えば、サーバ装置である。勤怠情報処理装置1は、例えば、クラウドサーバ、ASPサーバ、またはコンピュータ等により実現される。ただし、勤怠情報処理装置1がどのような装置により実現されるかは問わない。
勤怠情報格納部101には、勤怠に関する情報である一または二以上の勤怠情報が格納される。勤怠情報は、例えば、ユーザ識別子と、日付の情報と、このユーザ識別子が示すユーザの勤怠に関する一または二以上の時間の情報を有する情報である。ユーザ識別子は、ユーザを識別する情報である。ユーザ識別子は、例えば、ユーザの社員番号等のユーザに割り当てられた文字列や、ユーザのメールアドレスや、ユーザ名等である。ユーザは、例えば、社員等の雇用者である。ここでの文字列は、数字も含むと考えてもよい。一の勤怠情報は、例えば、この勤怠情報が有するユーザ識別子が示すユーザの勤怠に関する情報である。また、一の勤怠情報は、例えば、この勤怠情報が有する日付の情報が示す日付の勤怠に関する情報である。勤怠情報が有する時間は、一の期間であってもよく、一の時点を示す時刻であってもよい。また、ここでの時間は、日付の情報を有していても良く、有していなくても良い。時間の情報が日付の情報を有する場合、この時間の情報に含まれる日付の情報を勤怠情報が有する日付の情報と考えてもよい。勤怠情報が有する時間の情報は、例えば、この時間の属性を示す情報(例えば、属性名等)と対応付けられていてもよい。勤怠情報が有する時間の属性は、時間の種類や分類と考えてもよい。勤怠情報が有する1以上の時間の属性は、例えば、出勤時刻、退出時刻、勤務時間、残業時間、遅刻時間、早退時間、普通残業時間、深夜残業時間および休日残業時間等のいずれかである。例えば、一の勤怠情報は、異なる属性の時間の情報を有していてもよい。勤怠情報が有する時間の属性を示す情報は、どのように時間の情報と対応付けられていてもよく、例えば、各勤怠情報が時間の情報とその属性を示す情報との一または二以上の組を有していてもよい。また、勤怠情報が有している一または二以上の時間の情報の配列順番が、時間の属性を示す情報と対応付けられていてもよい。なお、勤怠情報格納部101に一の属性の勤怠情報だけが格納されている場合等のように、勤怠情報の属性を特定可能な場合、属性名は省略してもよい。
出勤時刻とは、例えば、ユーザが勤務先等に出勤した時刻である。出勤時刻は、例えば、出社時刻と考えてもよい。出勤時刻は、例えば、ユーザが出張先等の勤務先以外の場所等で、一日の業務開始の打刻等を行なった時刻であってもよい。退出時刻は、例えば、ユーザが勤務先等から退出した時刻である。退出時刻は、退勤時刻と考えてもよい。退出時刻は、ユーザが出張先等の勤務先以外の場所等で、一日の業務終了の打刻等を行なった時刻であってもよい。出勤時間は、例えば、ユーザの一日の出勤していた時間である。この時間は、期間である。出勤時間は、休憩等の時間を含んでもよく含まなくてもよい。遅刻時間は、例えば、遅刻した時間であり、例えば、ユーザの出勤時刻と業務の始業時刻との差を示す時間である。早退時間は、例えば、早退した時間であり、例えば、業務の終業時刻とのユーザの退出時刻との差を示す時間である。深夜残業時間は、例えば、ユーザの一日の、深夜残業を行なった時間である。普通残業時間は、例えば、ユーザの一日の、深夜残業時間以外の残業の時間である。なお、深夜残業時間と、普通残業時間とを合わせた時間を残業時間と考えてもよい。また、勤怠情報は、属性が外出時間や、外出時刻(即ち外出の開始時刻)、再入時刻(外出からの帰社時刻)等である時間の情報を有していても良い。なお、残業は時間外労働と考えてもよい。また、普通残業時間、および深夜残業時間は、それぞれ、普通時間外労働時間、および深夜時間外労働時間と考えてもよい。
勤怠情報が有する1以上の時間の情報は、値がないものであってもよい。一の時間の情報の値がないということは、例えば、一の時間の情報の値として、値がないことを示す情報を有することも含む概念である。値がないことを示す情報は、例えば、「Null」等の予め決められた情報であってもよく、「−1」等の値として不適切な情報であってもよい。なお、以下においては、説明を簡単にするために、一の時間の情報に値がない場合に、一例として、この情報の値として「Null」を用いる場合があるが、この場合の「Null」は、値がないことや、値がないことを示す他の情報と適宜置き換えてもよい。
勤怠情報格納部101に勤怠情報等がどのように格納されるかは問わない。例えば、後述する勤怠情報蓄積部110により勤怠情報が蓄積されてもよい。また、勤怠情報格納部101には、予め決められたタイミングまたはトリガーに応じて、勤怠情報蓄積部110等により、予め決められたユーザ識別子と、最新の日付とを有しており、時間の情報の値が「Null」である一以上の勤怠情報が作成されて蓄積されるようにしてもよい。予め決められたタイミングは、例えば、予め決められた時刻(例えば、24時等)である。また、予め決められたトリガーとなる操作は、予め決められた時刻以降に最初に勤怠情報処理装置1を起動する操作や、勤怠情報格納部101に格納されている勤怠情報や勤怠管理情報や、これらを管理するデータベース(図示せず)等に最初にアクセスする操作等である。
勤怠情報格納部101に格納される1以上の勤怠情報のうちの、少なくとも後述する入力受付部105が入力を受け付けた勤怠情報は、例えば、承認状況情報と対応付けられて格納されている。承認状況情報は、承認状況を示す情報である。承認状況を示す情報とは、例えば、入力受付部105が入力を受け付けて、蓄積部106により勤怠情報格納部101に蓄積された勤怠情報の状況が、予め決められた承認を行なうユーザによって、承認済みであるか否かを示す情報であってもよく、承認済であるか、未承認であるかを示す情報であってもよく、承認済であるか、未承認であるか、否認されたかを示す情報であってもよい。予め決められた承認を行なうユーザについては、後述する。入力受付部105が入力を受け付けて蓄積された勤怠情報とは、例えば、入力受付部105が入力を受け付けた勤怠情報の少なくとも一部を含む勤怠情報であってもよい。例えば、入力受付部105が入力を受け付けた勤怠情報は、入力受付部105が入力を受け付けた勤怠情報を用いて一部が更新された勤怠情報であってもよい。承認状況情報は、どのように、勤怠情報と対応付けられていてもよい。例えば、承認状況情報と、勤怠情報、あるいは勤怠情報の識別子とを有する情報が、勤怠情報格納部101等に格納されていてもよい。また、勤怠情報が、承認状況情報を有していても良い。
ここでの格納は、例えば、一時記憶を含む概念である。勤怠情報格納部101は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。かかることは、他の格納部についても同様である。
出力部102は、勤怠情報格納部101に格納された一または二以上の勤怠情報の一覧表を出力する。一覧表の出力とは、例えば、一覧表が配置された画面の出力である。一覧表は、勤怠情報のリストや、勤怠情報が配置されたスプレッドシートや、マトリクス状に配置された勤怠情報等も含む概念である。勤怠情報の一覧表は、例えば、図示しない格納部等に格納されたテンプレートに、勤怠情報を配置して作成される。出力部102は、勤怠情報格納部101に格納された複数の勤怠情報のうちの一部の一覧表を出力してもよい。例えば、出力部102は、所定のユーザ識別子を有する勤怠情報を出力してもよく、所定の期間内の日付を有する勤怠情報を出力しても良く、所定のユーザ識別子と所定の期間内の日付を有する勤怠情報を出力しても良い。ここでの所定のユーザ識別子および所定の期間は、例えば、勤怠情報の出力を指示するユーザが指定したユーザ識別子および期間である。これらのユーザ識別子および期間の指定は、例えば、後述する受付部108を介して第一情報処理端末等から受付可能である。ここでの期間は、例えば、1日以上の長さを有する期間である。ここでの勤怠情報の出力を指示するユーザは、例えば、勤怠情報格納部101に格納されている1以上の勤怠情報が有するユーザ識別子が示すユーザであり、例えば、対応する勤怠情報が勤怠情報格納部101に蓄積されているユーザである。
出力部102は、勤怠情報の一覧表として、勤怠情報が有する一部の情報だけの一覧表を出力しても良い。例えば、出力部102は、勤怠情報が有する属性が異なる二以上の時間の情報のうちの一部と、勤怠情報が有する日付およびユーザ識別子を有する一覧表を出力しても良い。
出力部102は、各勤怠情報に対して、勤怠情報の入力画面を出力するためのボタンを配置した勤怠情報の一覧表を出力しても良い。一の勤怠情報に対して配置されたボタンは、例えば、この勤怠情報に関連した勤怠情報の入力画面を出力するためのボタンである。例えば、出力部102は、出力対象となる1以上の勤怠情報のうちの、少なくとも一の属性に対応する時間情報がない(例えば値が「Null」である)勤怠情報に対して、この勤怠情報を更新するための勤怠情報を受け付ける入力画面を出力するためのボタンを配置した勤怠情報の一覧表を取得して出力してもよい。このボタンは、例えば、このような入力画面に対するリンク情報と対応づけられたボタンであってもよく、このような入力画面を出力するための指示やスクリプトと対応づけられたボタンであっても良い。なお、出力部102は、出力対象となる1以上の勤怠情報の全てに対して、この勤怠情報を更新するための勤怠情報を受け付ける入力画面を出力するためのボタンを配置した勤怠情報を出力してもよい。
出力部102は、例えば、勤怠情報の一覧表を出力する際に、承認状況情報と対応付けられた勤怠情報を、承認状況が識別可能(例えば、視覚的に識別可能)となるよう出力する。承認状況が識別可能となるよう出力することは、例えば、承認状況情報に応じたアイコン等の画像を、承認状況情報と対応付けられた勤怠情報と対応付けて表示(例えば、勤怠情報が表示される領域内や、勤怠情報の近傍等に表示)することであってもよく、承認状況情報に応じた背景色や文字色、装飾、フォント、文字サイズ等を有する勤怠情報を出力することであってもよく、どのように視覚的に識別可能な勤怠情報を出力しても良い。
勤怠情報の一覧表の出力とは、勤怠情報の一覧表を表示するための情報の出力と考えてもよい。勤怠情報を表示するための情報とは、例えば、XML、HTML等のマークアップ言語等で記述された情報や、スプレッドシートや、専用のアプリケーションソフトウェアで表示可能な情報や、画像データ等である。
出力部102が勤怠情報の一覧表を出力するタイミングやトリガー等は問わない。例えば、出力部102は、後述する操作受付部103が、勤怠情報を出力する操作を受け付けた場合に、勤怠情報を出力する。
勤怠情報の一覧表の出力は、第一情報処理端末3等への、一以上の勤怠情報の送信と、第一情報処理端末3等へのこの勤怠情報の一覧表を出力する指示の送信との組み合わせ等であっても良い。
なお、出力部102は、勤怠情報の一覧表の出力以外に、勤怠情報の入力画面等を出力するためのメニュー画面(図示せず)等を出力してもよい。例えば、出力部102は、おこのようなメニュー画面をユーザの操作等に応じて出力してもよい。
ここでの出力は、通常は、第一情報処理端末3等の外部の装置への送信であるが、ディスプレイへの表示、プロジェクターを用いた投影、プリンタへの印字、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどであってもよい。かかることは、後述する入力画面出力部104においても同様である。
出力部102は、通信手段や、ディスプレイ等の出力デバイスを含むと考えても含まないと考えても良い。出力部102は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。かかることは、後述する入力画面出力部104においても同様である。なお、出力部102は、勤怠情報の出力用の情報を作成するためのMPUや、RAM等の構成を更に有していても良い。
操作受付部103は、勤怠情報の入力画面を出力する出力操作を受け付ける。操作受付部103は、例えば、勤怠情報の入力画面を出力する出力操作として、二以上の異なる出力操作を受け付ける。二以上の異なる出力操作は、例えば、出力部102が出力する勤怠情報の一覧表に関して行われる出力操作と、それ以外の出力操作とを含む。操作受付部103は、出力操作の一つとして、例えば、図示しない予め用意されたメニュー画面等から、勤怠情報の入力画面を出力する操作を受け付けても良い。また、操作受付部103は、出力操作の一つとして、出力部102が出力する勤怠情報の一覧表に含まれている一または二以上の勤怠情報の一つについて、この勤怠情報を更新するために用いる勤怠情報の入力画面の出力操作を受け付けても良い。この一の勤怠情報を更新するために用いる勤怠情報の入力画面を出力する操作は、上述したように、出力部102が出力する勤怠情報の一覧表の、一の勤怠情報に対応づけられた入力画面を出力するためのボタンに対して行なわれる予め決められた操作(例えば、マウスクリックやタップ等の操作)であっても良い。勤怠情報の出力に対して対応づけられた入力画面を出力するためのボタンは、例えば、一の勤怠情報が配置された行や列、領域に配置されたボタンである。また、この操作は、出力部102が出力する勤怠情報のうちの一つを選択した状態で行われるいわゆるコンテクストメニュー等のメニューを用いた操作であっても良い。
操作受付部103は、例えば、勤怠情報格納部101に格納されている勤怠情報の一覧表を出力する操作を受け付けても良い。勤怠情報の一覧表を出力する操作は、例えば、出力対象の勤怠情報が有するユーザ識別子を有していても良く、出力対象の勤怠情報が有する1以上の日付を指定する情報を有していても良く、これらの両方を有していても良い。1以上の日付を指定する情報は、期間を指定する情報であってもよい。また、操作受付部103は、勤怠情報の出力を終了する操作を受け付けてもよい。また、後述する勤怠情報の入力画面の出力を終了する操作を受け付けても良い。
また、操作受付部103は、勤怠情報の入力画面を出力する操作を受け付けるためのメニュー画面を出力する操作や、このメニュー画面から勤怠情報の入力画面を出力する操作を受け付けても良い。
ここでの出力操作等の操作の受け付けは、通常、勤怠情報の入力を行うユーザ等が利用する第一情報処理端末3等の外部の装置からの有線もしくは無線の通信回線を介した操作の情報等の受信であるが、キーボードやマウス、タッチパネルなどの入力デバイスから入力された情報の受け付け、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された情報の受け付けなどを含む概念である。入力受付部105は、例えば、通信手段や、キーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
入力画面出力部104は、操作受付部103が受け付けた出力操作に応じて勤怠情報の入力画面を出力する。具体的には、入力画面出力部104は、操作受付部103が受け付けた出力操作が、出力部102が出力する勤怠情報の一覧表に含まれる勤怠情報(例えば、一覧表の一の勤怠情報)に関する入力画面の出力操作であるか否かに応じて、予め入力されている値が異なる入力画面を出力する。例えば、入力画面出力部104は、操作受付部103が受け付けた出力操作が、出力部102が出力する勤怠情報の一覧表に含まれる勤怠情報に関する出力操作であるか、出力部102等が出力するメニュー画面から受け付けた入力画面の出力操作であるかに応じて、予め入力されている値が異なる入力画面を出力する。なお、勤怠情報の一覧表に含まれる勤怠情報に関する入力画面の出力操作は、勤怠情報の一覧表の出力時(例えば表示時)に行なわれる入力画面の出力操作も含むと考えてもよく、含まないと考えてもよい。
例えば、入力画面出力部104は、操作受付部103が受け付けた出力操作が、出力部102が出力する勤怠情報の一覧表に含まれる勤怠情報(例えば、一覧表の一の勤怠情報)に関する入力画面の出力操作である場合、この勤怠情報が有する値が入力された入力画面を出力する。入力画面出力部104は、更に、上記の勤怠情報に関連する値が、予め入力された入力画面を出力してもよい。一の勤怠情報が有する値は、一の勤怠情報から取得した値である。一の勤怠情報から取得した値は、例えば、一の勤怠情報の日付や、一以上の時間の情報である。勤怠情報が有する値は、勤怠情報が有する情報と考えてもよい。入力画面に入力された勤怠情報が有する値は、勤怠情報が有する値を間接的に示す値を含むと考えてもよく、一の勤怠情報が有する情報を用いて得られた値(例えば、勤怠情報が有する情報を用いて算出された値)等を含むと考えてもよく、含まないと考えてもよい。一の勤怠情報に関連する値は、例えば、一の勤怠情報のうちの、値がない(あるいは値がないことを示す情報を有する)時間の情報の種類を示す値であってもよく、この値を間接的に示す値等であってもよい。例えば、入力画面出力部104は、一の勤怠情報の「出勤時刻」の値がない場合、または一の勤怠情報が「出勤時刻」の値がないことを示す情報を有する場合に、入力画面が入力を受け付ける時間の情報が、「出勤時刻」の値であることを示す値が選択されたボタン等を有する入力画面を、一の勤怠情報に関連する値が入力された入力画面として出力してもよい。
入力画面とは、勤怠情報の入力に用いられる画面である。ここでの入力画面は、例えば、勤怠情報格納部101に格納されている勤怠情報を更新するために用いられる入力画面である。例えば、この入力画面は、勤怠情報を構成する日付の情報と、ユーザ識別子と、一以上の属性の時間の情報とが入力される入力画面であり、例えば、これらを入力するための入力部品を有する入力画面である。入力部品とは、例えば勤怠情報を構成する一以上の情報を入力するための一以上の入力フィールド、一以上の情報を入力するための選択メニュー、一以上の情報を入力するための選択ボタン等である。入力されている値が異なるとは、例えば、一方の入力画面の値が入力可能な一以上の入力部品には値が入力されており、この値が入力されている入力部品に対応する他方の入力画面の一以上の入力部品には、値が入力されていない、あるいは値がないことを示す値が入力されていることである。入力画面に入力されている値とは、入力部品に設定されている値であり、例えば、入力フィールドに配置されている値であってもよく、選択ボタン(例えば、ラジオボタン)の選択値であってもよく、チェックボックスの選択値(例えば、チェックの有無の値)であってもよく、リストの選択値、タブ画面の選択等であってもよい。予め入力されている値は、予め入力されている情報と考えてもよい。
例えば、操作受付部103が受け付けた出力操作が、出力部102が出力する勤怠情報の一覧表に含まれる一の勤怠情報に関する出力操作である場合、入力画面出力部104は、この一の勤怠情報に含まれる日付の情報、ユーザ識別子、および一以上の時間の情報が、例えば、予め入力された値として有する入力画面、例えば、予め入力された値として配置された入力画面を取得して出力する。
また、操作受付部103が受け付けた出力操作が、勤怠情報の一覧表に含まれる一の勤怠情報に関する出力操作でない場合、入力画面出力部104は、例えば、勤怠情報格納部101に格納されている勤怠情報から取得した値が入力されていない入力画面を出力する。ここでの勤怠情報格納部101に格納されている勤怠情報から取得した値が入力されていないとは、勤怠情報格納部101に格納されている特定の勤怠情報から取得した値が入力されていないことも含むと考えてもよく、含まないと考えてもよい。例えば、入力画面出力部104は、不特定の勤怠情報やランダムに選ばれた勤怠情報から取得された値が入力された入力画面を表示するようにしてもよい。
操作受付部103が受け付けた出力操作が、勤怠情報の一覧表に含まれる一の勤怠情報に関する出力操作でない場合(例えば、メニュー画面を利用した出力操作である場合)、入力画面出力部104は、例えば、勤怠情報の一覧表に含まれる勤怠情報について出力する入力画面と同じレイアウトの入力画面であって、日付の情報、ユーザ識別子、および一以上の時間の情報が入力されていない入力画面を取得して出力するようにしてもよい。例えば、入力画面出力部104は、入力画面により入力可能な値の全てが予め入力されていない入力画面を取得して出力しても良い。なお、操作受付部103が受け付けた出力操作が、出力部102が出力する勤怠情報の一覧表が有する一の勤怠情報に関する出力操作でない場合に、出力する入力画面は、この出力操作を行ったユーザ識別子が予め入力された入力画面であっても良く、入力画面を用いて入力を行なう日付が入力された入力画面であってもよい。また、操作受付部103が受け付けた出力操作が、勤怠情報の一覧表の一の勤怠情報に関する出力操作でない場合に、承認画面出力部107は、勤怠情報格納部101に格納されている特定の勤怠情報が有する情報が入力されていない勤怠情報の入力画面を出力しても良い。例えば、承認画面出力部107は、勤怠情報格納部101に格納されている特定の勤怠情報と関係のない時間の情報および日付の情報が配置された入力画面を出力するようにしても良い。
操作受付部103が受け付けた出力操作が、一の勤怠情報に関する出力操作である場合において、この勤怠情報に、一以上の属性に対応する時間の情報等がない、あるいは時間がないことを示す情報を有する場合、入力画面の、この属性に対応する時間の情報を受け付けるための入力部品には、値が入力されていなくてもよく、値が無いことを示す情報が入力されていても良く、デフォルト等で決められている値が入力されていてもよい
操作受付部103が受け付けた出力操作が、出力部102が出力する勤怠情報の一覧表に含まれる勤怠情報についての出力操作である場合に出力する入力画面と、このような勤怠情報に関する入力操作でない場合に出力する入力画面とは、入力されている値に関する部分を除いて、外観が同じ入力画面、またはレイアウトが同じ入力画面であることが好ましい。例えば、これらの入力画面は、同じテンプレートを用いて作成される入力画面である。テンプレートから入力画面を作成する処理や、画面の作成に用いるテンプレートについては、公知技術であるため、ここでは詳細な説明は省略する。テンプレートは、例えば、図示しない格納部に予め格納されている。かかることは、他のテンプレートについても同様である。
例えば、入力画面出力部104は、操作受付部103が受け付けた出力操作が、出力部102が出力する勤怠情報の一覧表の一の勤怠情報に関する出力操作である場合には、この出力部102が出力する勤怠情報が有する情報の少なくとも一部、好ましくは、勤怠情報のうちの、入力画面が有する入力部品に対応する全ての情報を取得して配置した入力画面を出力し、出力部102が出力する勤怠情報に関する出力操作で無い場合には、デフォルト等で指定された情報が配置された入力画面を出力する。但し、勤怠情報から取得した情報と、デフォルト等に応じて取得した情報とが、結果的に、同じ情報となっても良い。例えば、それぞれの情報の一部の情報、例えば、出力操作を行ったユーザのユーザ識別子が結果的に同じ情報となっても良い。
入力画面に予め入力されている情報は編集可能な情報であってもよく、編集不可の情報であってもよく、これらが混在していてもよい。
なお、入力画面を出力するということは、第一情報処理端末3に、入力画面を出力させる指示や、入力画面に予め入力しておく情報等を出力することと考えても良い。
入力画面出力部104は、操作に応じた入力画面を出力するための情報を作成するためのMPUや、RAM等の構成を更に有していても良い。
入力受付部105は、入力画面出力部104が出力する入力画面を介して勤怠情報の入力を受け付ける。ここで受け付ける勤怠情報は、勤怠情報格納部101に既に格納されている勤怠情報を更新するために用いられる勤怠情報であってもよい。ここでの更新は、追記であってもよく、上書きであってもよく、変更であっても良い。例えば、ここで受け付ける勤怠情報は、勤怠情報格納部101に既に格納されている勤怠情報が有する情報のうちの、更新対象となる一部の情報であっても良く、更新対象となる情報以外の情報も含んでいても良い。例えば、ここで受け付ける勤怠情報は、勤怠情報の時間の情報のうちの、値が無い部分、あるいは値が無いことを示す情報を有する部分に、値を入力するための情報であってもよい。このように一部の情報だけを受け付ける場合も、ここでは、勤怠情報を受け付けることと考える。入力画面を介して受け付ける勤怠情報は、日付の情報と、ユーザ識別子と、一以上の属性の時間の情報である。なお、この一以上の属性の時間の情報は、勤怠情報格納部101に格納されている同じ日付の情報とユーザ識別子とを有する勤怠情報が有する時間の情報のうちの、値がない、あるいは値がないことを示す情報を有する時間の情報のみであってもよい。
ここでの勤怠情報の入力の受け付けは、通常、第一情報処理端末3等の外部の装置からの有線もしくは無線の通信回線を介した受信であるが、キーボードやマウス、タッチパネルなどの入力デバイスから入力された情報の受け付け、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された情報の受け付けなどを含む概念である。入力受付部105は、例えば、通信手段や、キーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
蓄積部106は、入力受付部105が受け付けた勤怠情報を、勤怠情報格納部101に蓄積する。ここでの蓄積は、例えば、勤怠情報の更新も含む概念である。例えば、蓄積部106は、勤怠情報格納部101に格納されている入力受付部105が受け付けた勤怠情報と同じ日付およびユーザ識別子を有する勤怠情報を、入力受付部105が受け付けた勤怠情報で更新する。更新時には、入力受付部105が受け付けた勤怠情報と異なる部分だけを更新してもよく、一致している部分も更新しても良い。
蓄積部106は、通常、MPUやメモリ等から実現され得る。蓄積部106の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
承認画面出力部107は、入力受付部105が入力を受け付けた勤怠情報について承認画面を出力する。承認画面は、承認のための入力を受け付けるための画面である。ここでの入力受付部105が入力を受け付けた勤怠情報とは、入力受付部105が入力を受け付けた勤怠情報により更新された勤怠情報と考えてもよい。承認画面は、例えば、入力受付部105が入力を受け付けた勤怠情報により更新された勤怠情報についての承認を行うための画面と考えても良い。一の承認画面は、例えば、一の勤怠情報についての承認を受け付ける画面である。
また、承認画面出力部107は、現在の日付を取得して、この現在の日付について予め決められた条件を満たす期間の日付を有する一または二以上の勤怠情報を選択して出力する。現在の日付とは、勤怠情報を選択して出力するタイミングが含まれる日付やトリガー等を受け付けた日付である。現在の日付は、例えば、承認画面を出力する時点を含む日付である。現在の日付は、例えば、図示しない時計やカレンダー等から取得可能である。例えば、承認画面出力部107は、承認画面と勤怠情報とを同時に出力することが好ましいが、同時に出力しなくても良い。選択して出力するということは、例えば、条件を用いて検索された勤怠情報を出力することである。承認画面出力部107は、例えば、選択した勤怠情報を、上述したような勤怠情報の一覧表として出力する。
承認画面出力部107は、入力受付部105が入力を受け付けた勤怠情報のうちの、承認を行うユーザが指定する一の勤怠情報について承認画面を出力する。この指定は、例えば、後述する受付部108等を介して、承認を行うユーザが利用する第二情報処理端末等から入力される勤怠情報を指定する情報による指定であってもよく、入力デバイス等を介して受付部108等が受け付けた指定であっても良い。この指定は、承認画面出力部107が出力する勤怠情報の一覧表に配置された一以上の勤怠情報について受け付けた指定であってもよい。承認を行うユーザとは、例えば、入力受付部105が入力を受け付けた勤怠情報が有するユーザ識別子が示すユーザの上司や上長である。ただし、承認を行うユーザは、例えば、入力受付部105が入力を受け付けた勤怠情報が有するユーザ識別子が示すユーザ以外のユーザであれば、どのようなユーザであるかは問わない。
承認画面がどのようなタイミングで出力されるかは問わない。例えば、後述する受付部108等が、予め決められた条件を満たす期間内の日付を有する一または二以上の勤怠情報を出力する操作を受け付けた場合に、承認画面出力部107は、この一または二以上の勤怠情報の一つに含まれる入力受付部105が受け付けた勤怠情報(例えば、縫う力受付部105が受け付けた勤怠情報を用いて更新された勤怠情報)に対応する承認画面を出力しても良い。また、例えば、後述する受付部108等が、承認を行うユーザから承認画面を出力する操作等を受け付けた場合に、承認画面出力部107は、承認画面を出力する。また、承認画面出力部107が出力する入力受付部105が入力を受け付けた勤怠情報のうちの一つに対応する承認画面を出力する指示を受け付けた場合に、この勤怠情報についての承認画面を出力しても良い。
また、予め決められた条件を満たす期間の日付を有する一または二以上の勤怠情報を出力するタイミング等も問わない。例えば、承認を行うユーザが承認画面を出力する操作等を行った場合に、予め決められた条件を満たす期間の日付を有する一または二以上の勤怠情報を出力してもよく、ユーザが予め決められた条件を満たす期間の日付を有する一または二以上の勤怠情報を出力する指示を行った場合に出力するようにしてもよい。
承認画面は、例えば、勤怠情報に対して承認を行うためのボタン等を有している。承認画面は、更に、勤怠情報を否認するボタン等を有していても良い。承認画面には、例えば、承認の対象となる勤怠情報が有する情報が配置されていることが好ましい。承認画面は、例えば、図示しないテンプレート等を用いて作成され、出力される。
承認画面出力部107による勤怠情報の出力は、例えば、上述した出力部による勤怠情報の出力と同様である。例えば、承認画面出力部107は、現在の日付について予め決められた条件を満たす期間の日付を有する勤怠情報を、勤怠情報格納部101から取得して、出力する。
現在の日付について予め決められた条件を満たす期間は、例えば、現在の日付を基準として、予め決められた条件を満たすと判断される期間である。また、現在の日付について予め決められた条件を満たす期間は、例えば、現在の日付を含む勤怠に関する期間であってもよく、現在の日付よりも前の、現在の日付に最も近い勤怠に関する期間であってもよい。また、現在の日付について予め決められた条件を満たす期間は、現在に日付を用いて決定される予め決められた条件を満たす期間と考えてもよい。現在の日付について予め決められた条件を満たす期間を、例えば、単位期間と呼ぶようにしてもよい。また、現在の日付について予め決められた条件を満たす期間は、ユーザが指定する日付を含む勤怠に関する期間であってもよく、ユーザが指定する日付の直前の勤怠に関する期間であってもよい。予め決められた条件を満たす期間の日付は、この勤怠に関する期間の開始日から現在の日付またはその直前の日付までの日付であってよく、勤怠に関する期間の開始日から終了日までの日付である。勤怠に関する期間は、例えば、勤怠情報を集計する集計期間や、勤怠情報を確定する期間、勤怠情報の提出期間等である。勤怠に関する期間は、例えば、月ごとの勤怠情報を集計する集計期間や、勤怠情報を確定する期間、勤怠情報の提出期間等である。ただし、予め決められた条件を満たす期間が、どのような条件を満たす期間であるかは問わない。例えば、この条件を示す情報は、例えば、図示しない格納部等に予め格納されている。この条件を示す情報は、例えば、期間を特定するための条件式(例えば、現在の日付等を利用して期間の開始日および終了日を特定するための条件式)等であっても良い。例えば、一の企業における勤怠情報の集計期間が、毎月の15日から、次の月の14日までであったと場合に、予め決められた条件を満たす期間の日付は、現在の日付の直前の15日から、現在の日付までの期間内の日付(ただし、現在に日付が15日である場合は、現在の日付)である。
承認画面出力部107は、例えば、未承認であることを示す承認状況情報と対応づけられた勤怠情報を、入力受付部105が入力を受け付けた承認が必要な勤怠情報(例えば、入力受付部105が入力を受け付けた勤怠情報により更新された承認が必要な勤怠情報)であると判断して承認画面を出力してもよい。
承認画面出力部107は、出力部102と同様に、例えば、勤怠情報を出力する際に、承認状況情報と対応付けられた勤怠情報を、承認状況が識別可能(例えば、視覚的に識別可能)となるよう出力してもよい。
ここでの出力は、通常は、承認を行うユーザ等が利用する第二情報処理端末4等の外部の装置への送信であるが、ディスプレイへの表示、プロジェクターを用いた投影、プリンタへの印字、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどであってもよい。
承認画面出力部107は、通信手段や、ディスプレイ等の出力デバイスを含むと考えても含まないと考えても良い。承認画面出力部107は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。なお、承認画面出力部107は、勤怠情報の出力用の情報を作成するためのMPUや、RAM等の構成を更に有していても良い。
受付部108は、承認画面出力部107が出力する承認画面を介して、勤怠情報の承認に関する指示を受け付ける。例えば、承認に関する指示は、承認画面に対応する勤怠情報に対して承認を行う指示であってもよく、否認する指示であってもよく、承認を保留する指示であってもよい。受付部108は、承認に関する指示をどのように受け付けても良い。例えば、受付部108は、承認画面出力部107が出力する承認画面が有する承認を行うためのボタンの操作(例えばボタンを押す操作)に応じて、承認を行う指示をうけつける。また、例えば、受付部108は、承認画面出力部107が出力する承認画面が有する否認を行うためのボタンの操作(例えばボタンを押す操作)に応じて、否認を行う指示を受け付ける。
受付部108は、例えば、承認画面を出力する指示等を受け付けても良い。例えば、受付部108は、一のユーザ識別子及び日付の少なくとも一方と対応付けられた承認画面を出力する指示を受け付けても良い。また、受付部108は、予め決められた条件を満たす期間の日付を有する勤怠情報を選択して出力する指示を受け付けても良い。この勤怠情報を選択して出力する指示は、予め決められた条件を満たす期間の日付を有する勤怠情報であって、承認状況情報と対応付けられた勤怠情報を選択して出力する指示であってもよい。ここで受け付ける指示は、ユーザ識別子を指定する情報を有するものであってもよい。
ここでの承認に関する指示等の受け付けは、通常、第二情報処理端末4等の外部の装置からの有線もしくは無線の通信回線を介した受信である。また、打刻情報の受付は、通常、打刻装置等の外部の装置からの有線もしくは無線の通信回線を介した受信である。ただし、これらの受付は、キーボードやマウス、タッチパネルなどの入力デバイスから入力された情報の受け付け、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された情報の受け付け等であってもよい。受付部108は、例えば、通信手段や、キーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
受付部108は、一または二以上の打刻情報を受け付けても良い。受付部108が打刻情報をどのように受け付けるかは問わない。受付部108は、例えば、後述する一以上の打刻装置2が送信する打刻情報を受信しても良い。
状況更新部109は、受付部108が受け付けた承認に関する指示に応じて、この指示に対応する勤怠情報に対応づけられた承認状況情報を更新する。例えば、未承認であることを示す承認状況情報と対応づけられた勤怠情報に対して、受付部108が承認を行う指示を受け付けた場合に、この勤怠情報に対応づけられた承認状況情報を承認であることを示す承認状況情報に更新する。また、例えば、未承認であることを示す承認状況情報と対応づけられた勤怠情報に対して、受付部108が否認を行う指示を受け付けた場合に、この勤怠情報に対応づけられた承認状況情報を否認であることを示す承認状況情報に更新する。なお、承認状況情報に変更が不要である場合、更新を行わないようにしても良い。
勤怠情報蓄積部110は、受付部108が受け付けた打刻情報に応じた勤怠情報を勤怠情報格納部101に蓄積する。例えば、受付部108が受け付けた打刻情報が日付の情報とユーザ識別子と、打刻の種類を示す情報と、打刻された時刻の情報を有する場合に、勤怠情報蓄積部110は、この勤怠情報が有する日付の情報とユーザ識別子と、この勤怠情報が有する打刻の時刻とその種類を示す情報を、勤怠情報が有する一の時間とその種類を示す情報として有する勤怠情報を、蓄積する。なお、打刻情報が日付の情報を有さない場合等においては、受付部108が打刻情報を受け付けた日付を有する勤怠情報を蓄積しても良い。また、打刻情報が時刻の情報を有さない場合等においては、受付部108が打刻情報を受け付けた時刻を一の時間として有する勤怠情報を蓄積しても良い。ここでの勤怠情報の蓄積は、値がない、あるいは値が無いことを示す情報を有する勤怠情報を、上記の打刻情報が有する情報等を用いて更新することも含むと考えても良い。例えば、ここでの蓄積は、受付部108が受け付けた打刻情報と同じ日付の情報とユーザ識別子とを有する勤怠情報を、この打刻情報が有する値で更新することであっても良い。
打刻装置2は、打刻画面表示部201、端末操作受付部202、及び打刻送信部203を備える。
打刻装置2は、例えば、コンピュータ、携帯情報端末、いわゆるスマートフォン等の多機能携帯電話、携帯電話、タブレット型端末等により実現される。ただし、打刻装置2がどのような装置により実現されるかは問わない。
打刻画面表示部201は、打刻入力画面を表示する。打刻入力画面は、打刻を受け付けるための画面である。打刻とは、例えば、勤怠に関する入力である。打刻とは、例えば、勤務に関連した時間の開始または終了の時刻を記すための入力である。勤務に関連した時間の開始の時刻とは、例えば、出勤時刻、外出開始時刻、休憩開始時刻、及び残業開始時刻等の一以上である。勤務に関連した時間の開始の時刻とは、例えば、退出時刻、外出終了時刻、及び休憩終了時刻等の一以上である。
打刻画面表示部201は、受け付ける打刻の種類に応じて異なる態様となる打刻ボタンを有する打刻入力画面を表示する。打刻ボタンは、打刻を受け付けるためのボタンである。打刻の種類とは、例えば、出勤時刻の打刻、退出時刻の打刻、外出開始刻の打刻、外出終了時刻の打刻、および残業開始時刻の打刻等である。受け付ける打刻の種類に応じて異なる態様となる打刻ボタンは、例えば、受け付ける打刻の種類に応じて色が異なる打刻ボタンである。色が異なる打刻ボタンは、例えば、打刻ボタンの少なくとも一部の色が変化することである。例えば、打刻ボタンの色が異なるとなるいうことは、打刻ボタンの背景色が異なるであってもよく、打刻ボタン上に、異なる色の画像や、線等が配置されていることであっても良い。ここでの色は、打刻ボタンに対応する打刻の種類によって予め決められた色であることが好ましい。例えば、打刻画面表示部201は、打刻ボタンの表示色の属性(例えば、スタイルシートのボタンの色の属性等)を変更することで、打刻ボタンの少なくとも一部の色を打刻入力画面が受け付ける打刻の種類に応じた色に変更してもよい。また、図示しない格納部等から異なる色の打刻ボタンの画像を選択して取得し、打刻入力画面に配置することで、打刻ボタンの少なくとも一部の色を打刻入力画面が受け付ける打刻の種類に応じた色に変更してもよい。
打刻画面表示部201が表示する打刻入力画面を介して受け付ける打刻の種類は、例えば、後述する端末操作受付部202が、ユーザ等から受け付ける操作によって決定される。打刻画面表示部201は、例えば、端末操作受付部202が受け付けた打刻の種類を選択する操作が示す打刻の種類に対応した態様の打刻ボタンを有する打刻入力画面を表示する。なお、打刻画面表示部201は打刻の種類を選択する操作を受け付けるためのボタンである二以上の選択ボタン等を有する打刻入力画面を表示してもよい。二以上の選択ボタンは、例えば、異なる打刻の種類と対応付けられたボタンである。打刻の種類と対応付けられているということは、打刻の種類を示す情報と対応付けられていることと考えてもよい。
打刻画面表示部201が打刻入力画面を表示するタイミングやトリガー等は問わない。例えば、打刻画面表示部201は、打刻装置2の起動直後に打刻入力画面を出力しても良く、後述する端末操作受付部202が、打刻入力画面を出力する操作を受け付けた場合に、打刻入力画面を出力してもよい。
打刻画面表示部201は、モニタ等を含むと考えても含まないと考えても良い。打刻画面表示部201は、モニタのドライバーソフトまたは、モニタのドライバーソフトとモニタ等で実現され得る。
端末操作受付部202は、打刻入力画面が有する打刻ボタンを介して、打刻ボタンに対応する種類の打刻を受け付ける。例えば、出勤時刻の打刻ボタンを介して打刻を受け付けた場合、端末操作受付部202は、出勤時刻の打刻を受け付ける。また、例えば、退出時刻の打刻ボタンを介して打刻を受け付けた場合、端末操作受付部202は、退出時刻の打刻を受け付ける。
端末操作受付部202は、打刻入力画面が有する打刻ボタンを介して受け付ける打刻の種類を変更する操作を更に受け付けても良い。端末操作受付部202は、例えば、上述した打刻入力画面が有する選択ボタンを介して打刻の種類を選択する操作を受け付ける。この場合の種類を選択する操作は、例えば、打刻入力画面が有する選択ボタン等を押す操作である。
ここでの入力手段は、タッチパネルやキーボードやマウスやメニュー画面によるもの等、何でも良い。端末操作受付部202は、タッチパネルやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
打刻送信部203は、端末操作受付部202が受け付けた打刻に応じた打刻情報を取得する。打刻情報は、例えば、打刻を行ったユーザ識別子と、打刻を受け付けた打刻ボタンに対応する打刻の種類を示す情報を有する情報である。打刻の種類を示す情報は、例えば、打刻が、出勤時刻の打刻であること、または退出時刻の打刻であること等を示す情報である。打刻情報は、打刻が行われた日付の情報を更に有していてもよく、打刻を受け付けた時刻の情報を更に有していても良い。
打刻送信部203は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。打刻送信部203は、通信デバイスを含むと考えても、含まないと考えても良い。
第一情報処理端末3は、例えば、勤怠情報の入力を行うユーザ等が利用する情報処理端末である。第一情報処理端末3は、例えば、コンピュータ、携帯情報端末、いわゆるスマートフォン等の多機能携帯電話、携帯電話、タブレット型端末等により実現される。ただし、第一情報処理端末3がどのような装置により実現されるかは問わない。
第一情報処理端末3は、第一情報処理端末3が有する図示しない第一受信部により、出力部102が出力する勤怠情報の一覧表を受信し、受信した勤怠情報の一覧表を、図示しない第一表示部により表示する。また、第一情報処理端末3は、例えば、図示しない第一受信部等により、入力画面出力部104が出力する入力画面を受信し、この入力画面を、第一表示部により表示し、この入力画面を介して図示しない第一受付部等から勤怠情報の入力を受け付け、受け付けた勤怠情報を、図示しない第一送信部から勤怠情報処理装置1に送信する。第一受信部および第一送信部は、例えば、通信手段や、通信手段のドライバ等により実現される。また、第一受付部は、上述した端末操作受付部202等と同様の構成により実現される。また、第一表示部は、上述した打刻画面表示部201と同様の構成により実現される。
第二情報処理端末4は、例えば、承認を行うユーザ等が利用する情報処理端末である。第二情報処理端末4は、例えば、コンピュータ、携帯情報端末、いわゆるスマートフォン等の多機能携帯電話、携帯電話、タブレット型端末等により実現される。ただし、第二情報処理端末4がどのような装置により実現されるかは問わない。
第二情報処理端末4は、例えば、承認画面出力部107が出力する承認画面と、勤怠情報とを、第二情報処理端末4が有する図示しない第二受信部により受信し、受信した承認画面と、勤怠情報とを、図示しない第二表示部により表示する。また、第二情報処理端末4は、第二表示部により表示される承認画面を介して、図示しない第二受付部により承認に関する指示を受け付け、この承認に関する指示を、図示しない第二送信部により、勤怠情報処理装置1に送信する。第二受信部は、上述した第一受信部と同様の構成により実現される。また、第二送信部は、上述した第一送信部と同様の構成により実現される。また、第二受付部は、上述した第一受付部等と同様の構成により実現される。また、第二表示部は、上述した第二表示部等と同様の構成により実現される。
次に、勤怠情報処理システム1000の勤怠情報処理装置1の動作の一例について図2のフローチャートを用いて説明する。
(ステップS101)操作受付部103は、勤怠情報の一覧表を出力する操作を受け付けたか否かを判断する。この操作は、勤怠情報が有するユーザ識別子を指定する操作を有していても良い。受け付けた場合、ステップS102に進み、受け付けていない場合、ステップS108に進む。
(ステップS102)出力部102は、勤怠情報格納部101から一覧表として出力する1以上の勤怠情報を取得する。取得する勤怠情報は、例えば、ステップS101で指定を受け付けたユーザ識別子を有する勤怠情報である。そして、取得した勤怠情報の中から、承認状況情報と対応付けられた勤怠情報を検出する。
(ステップS103)出力部102は、ステップS102で取得した勤怠情報の一覧表を作成し、出力する。出力部102は、例えば、一覧表を作成する際に、承認状況情報と対応付けられた勤怠情報に承認状況情報に応じた画像(例えば、アイコン)等を対応付けて配置し、この画像を配置した一覧表を出力する。
(ステップS104)操作受付部103は、出力部102が出力する一の勤怠情報に対して、勤怠情報の入力画面を出力する操作を受け付けたか否かを判断する。ここでの勤怠情報の入力画面は、例えば、既に格納されている勤怠情報を更新するために用いられる勤怠情報の入力画面である。受け付けた場合、ステップS105に進み、受け付けていない場合、ステップS104に戻る。なお、受け付けていない場合、一覧表の出力を終了する操作を受け付けたか否かを更に判断し、受け付けた場合に、一覧表の出力を終了して、ステップS101に戻り、受け付けていない場合に、ステップS104に戻るようにしてもよい。
(ステップS105)入力画面出力部104は、ステップS104で受け付けた操作に対応する勤怠情報が有する情報が、入力画面が有する1以上の入力フィールドやボタン等の入力部品の値として予め入力された勤怠情報の入力画面を出力する。
(ステップS106)入力受付部105は、ステップS105で出力された入力画面を介して勤怠情報の入力を受け付けたか否かを判断する。受け付けた場合、ステップS107に進み、受け付けていない場合、ステップS106に戻る。なお、受け付けていない場合、入力画面の出力を終了する操作を受け付けたか否かを判断し、受け付けた場合に、ステップS104に戻り、受け付けていない場合に、ステップS106に戻るようしてもよい。
(ステップS107)蓄積部106は、ステップS106で受け付けた勤怠情報を、未承認であることを示す承認状況情報と対応付けて勤怠情報格納部101に蓄積する。ここでの勤怠情報の蓄積は、例えば、ステップS105で出力された入力画面に対応付けられた勤怠情報格納部101に既に格納されている勤怠情報の更新である。そして、勤怠情報の一覧の出力を終了して、ステップS101に戻る。
(ステップS108)操作受付部103は、出力部102等が出力するメニュー画面を介して、勤怠情報の入力画面を出力する操作を受け付けたか否かを判断する。受け付けた場合、ステップS109に進み、受け付けていない場合、ステップS112に進む。
(ステップS109)入力画面出力部104は、勤怠情報格納部101に格納されている特定の勤怠情報の情報が予め入力されていない入力画面を表示する。ただし、結果的に、勤怠情報格納部101に格納されている勤怠情報と一致する情報が、表示する入力画面に配置されていたとしても、この一致する情報が勤怠情報から取得したものでなければ、ここでは、特定の勤怠情報の情報が入力されていない勤怠情報と考えてもよい。例えば、入力画面を出力する操作を行なったユーザが利用する第一情報処理端末3等から受け付けたユーザ識別子が、入力画面に入力されている場合、この入力画面は、特定の勤怠情報の情報が入力されていない入力画面と考えてもよい。
(ステップS110)入力受付部105は、ステップS109で出力した入力画面を介して勤怠情報を受け付けたか否かを判断する。受け付けた場合、ステップS111に進み、受け付けていない場合、ステップS110に戻る。なお、受け付けていない場合、入力画面の出力を終了する操作を受け付けたか否かを判断し、受け付けた場合に、ステップS101に戻り、受け付けていない場合に、ステップS110に戻るようしてもよい。
(ステップS111)蓄積部106は、ステップS110で受け付けた勤怠情報を、未承認であることを示す承認状況情報と対応付けて勤怠情報格納部101に蓄積する。ここでの勤怠情報の蓄積は、例えば、勤怠情報格納部101に既に格納されている勤怠情報のうちの、ステップS110で受け付けた勤怠情報と同じ日付とユーザ識別子とを有する勤怠情報の更新である。そして、ステップS101に戻る。
(ステップS112)受付部108は、承認画面を出力する指示を受け付けたか否かを判断する。受け付けた場合、ステップS113に進み、受け付けていない場合、ステップS119に進む。承認画面を出力する指示は、承認の対象となる勤怠情報を指定する情報を有していても良い。なお、承認画面を出力する指示を受け付ける代わりに、予め決められた条件を満たす期間の勤怠情報を出力する指示を受け付けても良い。この指示は、勤怠情報が有するユーザ識別子を指定する情報を有していても良い。
(ステップS113)承認画面出力部107は、承認画面を出力する。また、承認画面出力部107は、予め決められた条件を満たす期間内の日付を有する勤怠情報を選択して出力する。承認画面出力部107が出力する承認画面は、ステップS112等においてユーザ等から指定された勤怠情報に対応する承認画面であってもよく、予め決められた条件を満たす期間内の任意、あるいは、最新や最も古い日付と対応付けられた勤怠情報に対応する承認画面であってもよい。承認画面出力部107は、例えば、予め決められた条件を満たす期間内の日付を有する勤怠情報であって、ステップS112で指定されたユーザ識別子を有する勤怠情報を出力する。なお、承認画面出力部107は、ステップ102と同様に、上記で選択した勤怠情報の中から、承認状況情報と対応付けられた勤怠情報を検出し、ステップS103と同様に、承認状況情報と対応付けられた勤怠情報に対応する位置に、承認状況情報に応じた画像(例えば、アイコン)を更に出力してもよい。
(ステップS114)受付部108は、ステップS113で出力した承認画面を介して、勤怠情報の承認に関する指示を受け付けたか否かを判断する。受け付けた場合、ステップS115に進み、受け付けていない場合、ステップS114に戻る。
(ステップS115)状況更新部109は、ステップS114において受け付けた承認に関する情報を用いて、ステップS113で出力した承認画面に対応する勤怠情報に対応付けられた承認状況情報を更新する。
(ステップS116)受付部108は、承認画面出力部107が出力している勤怠情報のうちの、ステップS115で更新された承認状況情報と対応付けられた勤怠情報とは異なる勤怠情報についての承認画面を出力する指示を受け付けたか否かを判断する。受け付けた場合、ステップS117に進み、受け付けていない場合、ステップS118に進む。
(ステップS117)承認画面出力部107は、ステップS116で指定された承認画面を出力する。そして、ステップS114に戻る。
(ステップS118)受付部108は、承認画面と、勤怠情報との出力を終了する指示を受け付けたか否かを判断する。受け付けた場合、出力を終了して、ステップS101に戻り、受け付けていない場合、ステップS116に戻る。
(ステップS119)受付部108は、打刻情報を受け付けたか否かを判断する。受け付けた場合、ステップS120に進み、受け付けていない場合、ステップS101に戻る。
(ステップS120)勤怠情報蓄積部110は、ステップS119で受け付けた打刻情報に応じた勤怠情報を、勤怠情報格納部101に蓄積する。そして、ステップS101に戻る。
なお、ここでは、説明を省略するが、勤怠情報処理装置1の出力部102等が、勤怠情報格納部101に格納された1以上の勤怠情報を、一覧表以外の態様で出力する処理等を行なっても良い。
なお、図2のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に、勤怠情報処理システム1000の打刻装置2の動作の一例について図3のフローチャートを用いて説明する。
(ステップS201)打刻画面表示部201は、打刻入力画面を表示する。例えば、デフォルト等で予め決められた種類の打刻を受け付けるための打刻ボタンであって、この受け付ける打刻の種類に対応した態様の打刻ボタンを有する打刻入力画面を表示する。打刻の種類に対応した態様の打刻ボタンは、例えば、打刻の種類に応じた色の打刻ボタンである。打刻画面表示部201は、例えば、打刻入力画面を出力する時刻に応じた種類の打刻を受け付けるための打刻ボタンを有する打刻入力画面を表示してもよい。例えば、出力する時刻が、企業等の出勤時刻以前の時刻であれば、出勤時刻を受け付けるための打刻ボタンを有する打刻入力画面を表示し、退出時刻以降の時刻であれば、退出時刻を受け付けるための打刻ボタンを有する打刻入力画面を表示してもよい。
(ステップS202)端末操作受付部202が、打刻の種類を選択する操作を受け付けたか否かを判断する。受け付けた場合、ステップS203に進み、受け付けていない場合、ステップS204に進む。
(ステップS203)打刻画面表示部201は、ステップS202で受け付けた操作に応じた種類の打刻を受け付けるための打刻ボタンであって、受け付ける打刻の種類に応じた態様を有する打刻ボタンで、打刻入力画面に配置されていた打刻ボタンを更新する。打刻ボタンを更新することは、打刻ボタンを更新した新たな打刻入力画面を表示する。
(ステップS204)端末操作受付部202は、打刻画面に表示される打刻ボタンを介して打刻の操作を受け付けたか否かを判断する。受け付けた場合、ステップS205に進み、受け付けていない場合、ステップS202に戻る。
(ステップS205)打刻送信部203は、ステップS203で受け付けた打刻の操作に応じた打刻情報を取得して勤怠情報処理装置1に送信する。そして、処理を終了する。
以下、簡単に、第一情報処理端末3の動作の一例について説明する。第一情報処理端末3の図示しない第一受信部が、出力部102が出力する勤怠情報の一覧表を受信し、受信した勤怠情報の一覧表を、図示しない第一表示部により表示する。また、第一情報処理端末3は、例えば、図示しない第一受信部等により、入力画面出力部104が出力する入力画面を受信し、この入力画面を、第一表示部により表示する。また、この入力画面を介して図示しない第一受付部等から勤怠情報の入力を受け付け、受け付けた勤怠情報を、図示しない第一送信部から勤怠情報処理装置1に送信する。
以下、簡単に、第二情報処理端末4の動作の一例について説明する。第二情報処理端末4は、例えば、承認画面出力部107が出力する承認画面と、勤怠情報と、を図示しない第二受信部により受信し、受信した承認画面と勤怠情報とを、図示しない第二表示部により表示する。また、第二情報処理端末4は、承認画面出力部107が出力する承認画面を図示しない第二受信部により受信し、この承認画面を、図示しない第二表示部により表示し、この承認画面を介して承認に関する指示を、図示しない第二受付部により受け付け、この承認に関する指示を、図示しない第二送信部により、勤怠情報処理装置1に送信する。
以下、本実施の形態における勤怠情報処理システム1000の具体的な動作について説明する。勤怠情報処理システム1000の概念図は図1である。ここでは、まず、勤怠情報の一覧を出力する動作、勤怠情報の入力画面を出力する動作の例について説明する。
図4は、勤怠情報格納部101に格納されている勤怠情報を管理する勤怠情報管理表である。勤怠情報管理表は、「勤怠ID」、「ユーザID」、「日付」、「曜日」、「出勤時刻」、「退出時刻」、「出勤時間」、「外出時刻」、「再入時刻」という属性を有している。ここでは、勤怠情報管理表の一のレコード(行)が、一の勤怠情報に相当する。「勤怠ID」は、勤怠情報を識別するための識別子である。「ユーザID」は、ユーザ識別子である。「日付」および「曜日」は、日付および曜日の情報である。「出勤時刻」は、出勤時刻である。「退出時刻」は、退出時刻である。「出勤時間」は、出勤時間である。出勤時間は、勤務時間と考えてもよい。この「出勤時間」は、例えば、予めデフォルトの値「8時間00分」が入力されており、同じレコードの「退出時刻」から、「出勤時刻」を減算して得られた時間が、この値と異なる場合、減算して得られた時間で更新される。「外出時刻」は、外出時刻である。「再入時刻」は、再入時刻である。上記の「出勤時刻」、「退出時刻」、「出勤時間」、「外出時刻」、「再入時刻」は、勤怠情報が有する異なる種類の時間の情報である。なお、これらのうちの「出勤時間」だけが、期間であり、その他は、時刻である。各レコードの値が空欄である部分は、対応する属性値がない部分である。なお、空欄とする代わりに、「Null」等の値がないことを示す情報が格納されているようにしてもよい。なお、勤怠情報は、これ以外の勤怠に関する時間の情報を有していても良い。
図5は、勤怠情報と承認状況情報との対応関係を示す表である承認管理表の一例を示す図である。承認管理表は、「勤怠ID」と、「承認」と、「事由」と、「申請日付」と、「種類」という項目を有している。「勤怠ID」は、図4の「勤怠ID」に対応する情報である。「承認」は、承認に関する情報であり、承認済であることを示す「承認済」、承認されなかった、つまり否認されたことを示す「否認」、承認自体が行なわれていない「未承認」のいずれかの値が格納されている。「事由」は、承認が必要な勤怠情報の入力や更新が生じた事由である。「申請日付」は、承認が必要な勤怠情報の入力や更新が行なわれた日付である。「種類」は、勤怠情報が有する時間の情報のうちの、承認が必要な時間の種類を示す情報であり、「出勤」は出勤時刻を示し、「退出」は退出時刻を示す。この「種類」は、例えば、入力画面出力部104が出力する入力画面から入力された勤怠情報により更新された時間の情報の種類をである。
現在の日付に最も近い次の締日に提出される勤怠情報を確認したいと考えたユーザ識別子が「5001」であるユーザが、第一情報処理端末3を介して、勤怠情報処理装置1の操作受付部103に、勤怠情報の一覧表を出力する指示を入力したとする。この指示は、ユーザ識別子「5001」と対応付けられた勤怠情報の一覧表を有する指示であるとする。
操作受付部103が、ユーザ識別子「5001」と対応付けられた勤怠情報の一覧表を出力する指示を受け付けると、出力部102は、勤怠情報格納部101から、「ユーザID」が「5001」である勤怠情報を取得する。取得する勤怠情報は、例えば、一覧表を出力する指示を受け付けた現在の日付と、その16日前の日付との間の日付を有する直近の17件の勤怠情報であるとする。現在の日付が、「2016/7/6」であったとすると、出力部102は、ここでは、例えば、「勤怠ID」が「1001002」から「1001018」までの勤怠情報を取得する。この期間は、例えば、デフォルトで決められているものとする。
出力部102は、取得した勤怠情報の中から、承認状況情報と対応付けられた勤怠情報を検出する。具体的には、図5に示した承認管理表に、上記で取得した勤怠情報のそれぞれが有する「勤怠ID」と一致する「勤怠ID」を有するレコード(行)があるか否かを判断し、一致するものがある場合、その「承認」の値を各勤怠情報について取得する。例えば、ここでは、「勤怠ID」が「1001005」である勤怠情報について、「承認済」という「承認」の値が取得され、「勤怠ID」が「1001006」である勤怠情報について、「未承認」という「承認」の値が取得されたとする。
出力部102は、上記で取得した勤怠情報を各行(レコード)に配置した一覧表を作成し、出力する。例えば、一覧表を表示するための情報を、勤怠情報を出力する指示の送信元となる第一情報処理端末3に送信する。なお、一覧表の、上記の「承認」の値が取得された勤怠情報のレコードには、この「承認」の値に対応する画像であるアイコンを配置する。また、一覧表の各レコードには、入力画面を出力するためのボタンを配置する。なお、アイコンやボタン等の情報は、例えば、図示しない格納部に予め格納されているものを読み出すことで取得する。また、ここでは、「曜日」が「土」および「日」である勤怠情報以外の勤怠情報であって、「出勤時刻」または「退出時刻」の値がない勤怠情報の、この値がない部分に対応する欄の背景色を、他とは異なる背景色とした一覧表を作成して表示する。
図6は、出力部102が出力する勤怠情報の一覧表を示す図である。この一覧表は、例えば、第一情報処理端末3の図示しないモニタ等に表示される。図6においては、画像61は「承認済」であることを示すアイコンであり、画像62は、「未承認」であることを示すアイコンである。また、各勤怠情報の列に対して設けられたボタン63が、入力画面を出力するためのボタンである。また、列64は、勤怠情報の「出勤時刻」の属性値が配置される列であり、列65は、勤怠情報の「退出時刻」の属性値が配置される列であり、列66は、勤怠情報の「出勤時間」の属性値が配置される列である。欄64aは、「出勤時刻」の値がない欄であり、欄65aは、「退出時刻」の値がない欄である。なお、ここでは、説明の便宜上、勤怠情報に含まれていない情報や入力欄等を備えた一覧表を示しているが、これらの情報は適宜省略してもよい。
次に、ユーザが第一情報処理端末3に対して、図6に示した勤怠情報の一覧表の「日付」が「7/30」である勤怠情報の入力画面を出力するための出力操作、具体的には、この勤怠情報に対応付けられたボタン63aを押す操作を行なったとすると、第一情報処理端末3から、この操作の情報が、勤怠情報処理装置1に送信される。
勤怠情報処理装置1の操作受付部103が、上記の操作の情報を受信すると、入力画面出力部104は、操作の情報が示すボタン63aと対応付けられた「日付」が「2016/6/30」であり、「勤怠ID」が「1001012」である勤怠情報の情報をテンプレート等に配置して勤怠情報の入力画面を取得する。そして、取得した入力画面を出力する。例えば、入力画面の情報を、第一情報処理端末3に送信する。送信された入力画面は、第一情報処理端末3により表示される。
図7は、入力画面出力部104が出力する入力画面70を示す図である。入力画面70は、勤怠情報の申請日の入力フィールド71、勤怠情報の入力を行なうユーザの所属を示す情報が入力フィールド72、勤怠情報の入力を行なうユーザのユーザ識別子およびユーザ名の入力フィールド73、勤怠情報の申請事由を選択するボタン74、申請する勤怠情報の日付の入力フィールド75、申請する勤怠情報の時間の種類を指定するボタン76、申請する勤怠情報の時間(ここでは時刻)を入力する入力フィールド77、申請を行なうボタン78を有している。ここでの申請は、勤怠情報の入力と考えてもよい。
ここでは、操作受付部104が受け付けた出力操作が、勤怠情報の一覧表に出力されている一の勤怠情報についての出力操作であるため、入力画面出力部104は、この一の勤怠情報が有する情報に対応する値、および勤怠情報に関連する値が、予め入力された入力画面を出力する。例えば、入力画面出力部104は、図7に示すように、入力画面70の入力フィールド71に、勤怠情報の「日付」である「2016/7/30」と、「曜日」である「水」とを入力し、入力フィールド73には、「ユーザID」である「5001」と、この「ユーザID」に対応付けられて図示しない格納部等に格納されているユーザの氏名を入力し、入力フィールド71には、「ユーザID」である「5001」に対応付けられて図示しない格納部に格納されているユーザの所属を示す情報を入力した入力画面70を出力する。また、入力画面出力部104は、勤怠情報の一覧表の「日付」が「2016/6/30」である勤怠情報に「出勤時刻」の値がないことを検出して、この検出結果に応じて、出力する入力画面70のボタン74については、「未打刻」に対応するボタンを押した状態とし、日付の入力フィールド75には、出力操作により指定された勤怠情報の「日付」である「2016/6/30」が入力し、申請する勤怠情報の時間の種類を指定するボタン76は、「出勤」に対応するボタンを押した状態とし、申請する勤怠情報の時間(ここでは時刻)を入力する入力フィールド77には、「出勤時刻」の候補として、予め決められた値、例えば、ユーザが勤務する企業の出勤時刻である「9:00」を入力しておくようにする。なお、入力画面を出力する指示を入力したユーザのユーザ識別子等は、例えば、勤怠情報処理装置1にログインしたユーザのアカウント等から取得すればよい。かかることは、メニュー画面から入力画面を出力する場合についても同様である。
そして、ユーザが、第一情報処理端末3を介して、図7に示した入力画面に入力された情報を必要に応じて編集し、入力を確定するボタン74を押すと、入力された勤怠情報が、勤怠情報処理装置1に送信される。ここでの編集は、例えば、入力フィールド77の値を予め入力されていた「9:00」から「7:45」に変更する操作であったとする。入力受付部105がこの勤怠情報を受け付ける(例えば受信する)と、蓄積部106は、受信した勤怠情報を用いて、入力画面出力部104が出力する入力画面に対応する勤怠情報、即ち「勤怠ID」が「1001012」である勤怠情報を更新する。例えば、蓄積部106は、変更がある情報を上書きする。これにより、例えば、「勤怠ID」が「1001012」である勤怠情報の「出勤時刻」の値が、値がない状態から、値が「7:45」である状態に更新される。
また、この「勤怠ID」が「1001012」である勤怠情報が、入力画面を介して受け付けた勤怠情報により更新されたため、蓄積部106は、「勤怠ID」の属性値が「1001012」であり、「承認」の属性値が「未承認」であり、「事由」の属性値が、上記の入力画面70のボタン74が示す値「未打刻」であり、「申請日付」が上記の入力画面の申請日および曜日の入力フィールド71内の申請日の値である「2016/7/6」であり、「種類」の属性値が、入力画面70のボタン76が示す値「出勤」であるレコード(行)を、図5に示した承認管理表に追記される。これにより、ユーザによって更新された勤怠情報を、未承認の状態として登録されることとなる。
ここで、例えば、上記のような勤怠情報の一覧表に出力された勤怠情報の一つに対応したボタン63aを押して勤怠情報の入力画面を出力する代わりに、メニュー画面を操作して勤怠情報の入力画面を出力する場合について説明する。
図8は、勤怠情報の入力画面を出力するためのメニュー項目81を含むメニュー画面の出力例を示す図である。このメニュー画面を出力するための情報は、第一情報処理端末3が予め有していてもよく、第一情報処理端末3が勤怠情報処理装置1から適宜受信してもよい。
例えば、ユーザが図8に示すようなメニュー画面を第一情報処理端末3に表示させ、このメニュー画面の勤怠情報の入力画面を出力するためのメニュー項目81を選択する操作を行なったとすると、入力画面を出力する指示が勤怠情報処理装置1に送信され、入力受付部105がこの指示を受け付けると、入力画面出力部104は、勤怠情報の入力画面を取得して表示する。
図9は、入力画面出力部104が出力する勤怠情報の入力画面90を示す図である。入力画面90は、図7に示した入力画面70と同様の入力フィールドおよびボタン等を有している。ここでは、入力画面を出力する指示が、メニュー画面を用いて入力された指示であるため、入力画面出力部104は、図7と同様に、入力画面70の入力フィールド71に、勤怠情報の「日付」である「2016/7/30」と、「曜日」である「水」とを入力し、入力フィールド73には、「ユーザID」である「5001」と、この「ユーザID」に対応付けられて図示しない格納部等に格納されているユーザの氏名を入力し、入力フィールド71には、「ユーザID」である「5001」に対応付けられて図示しない格納部に格納されているユーザの所属を示す情報を入力した入力画面70を出力する。ただし、メニュー画面に対する操作の場合、入力する勤怠情報の日付等が特定できないため、その他の、入力フィールド75,77には、値を入力せず、ボタン74および76も未選択の状態とした入力画面70を出力する。
なお、入力画面を出力する指示が、メニュー画面を用いたものであるか否かはどのように判断してもよい。例えば、メニュー画面を用いた入力画面を出力する指示と、その他の入力画面を出力する指示とが予め異なっているようにして、それぞれの指示に応じて、入力されている情報等が異なる入力画面をそれぞれ出力するようにしてもよい。また、メニュー画面を用いた入力画面を出力する指示とその他の入力画面を出力する指示とが異なる識別子等を有しているようにし、この識別子によって、入力画面を出力する指示が、メニュー画面を用いたものであるか否かを判断してもよい。
そして、ユーザが、第一情報処理端末3を介して、図9に示した入力画面90に入力された情報を必要に応じて編集し、入力を確定するボタン74を押すと、入力された勤怠情報が、勤怠情報処理装置1に送信され、入力受付部105がこの勤怠情報を受け付ける(例えば受信する)。蓄積部106は、受信した勤怠情報を用いて、入力画面出力部104が出力する入力画面90に対応する勤怠情報を更新する。例えば、変更がある情報を上書きする。
例えば、図9に示した入力画面90において、勤怠情報の申請事由を選択するボタン74のうちの、「未打刻」のボタンを押し、申請する勤怠情報の日付の入力フィールド75に、日付「2016/7/1」を入力し、申請する勤怠情報の時間の種類を指定するボタン76のうちの「退出」に対応するボタンを押し、申請する勤怠情報の時間(ここでは時刻)を入力する入力フィールド77に、申請したい退出時刻である「17:10」を入力し、申請を行なうボタン78を押すと、蓄積部106は、この入力された情報に応じて、「ユーザID」が「5001」であって、「日付」が「2016/7/1」である勤怠情報、つまり「勤怠ID」が「1001013」である勤怠情報の更新を行なう。例えば、勤怠情報のうちの、入力された勤怠情報と異なる情報を更新(例えば、上書き)する。
また、この「勤怠ID」が「1001013」である勤怠情報が、入力画面90を介して受け付けた勤怠情報により更新されたため、蓄積部106は、「勤怠ID」の属性値が「1001013」であり、「承認」の属性値が「未承認」であり、「事由」の属性値が、上記の入力画面のボタン74が示す値である「未打刻」であり、「申請日付」が上記の入力画面の申請日および曜日の入力フィールド71の申請日の値「2016/7/6」であり、「種類」の属性値が、入力画面90のボタン76が示す値「出勤」であるレコード(行)を、図5に示した承認管理表に追記される。これにより、ユーザによって更新された勤怠情報を、未承認の状態として登録されることとなる。
次に、勤怠情報の承認を行なう動作の例について説明する。ここでは、説明の便宜上、勤怠情報格納部101に格納されている勤怠情報が、図4に示した勤怠情報管理表が有している勤怠情報とは異なる場合を例に挙げて説明する。また、勤怠情報格納部101等に格納されている承認状況情報についても、図5の示した承認管理表が有する承認状況情報とは異なるものとする。
図10は、出力部102による、勤怠情報格納部101に格納された「ユーザID」が「5001」である勤怠情報の一覧表の、出力例を示す図である。この出力例は、配置されている値等を除けば、図6の一覧表の出力例と同様のものである。
例えば、「ユーザID」が「5001」であるユーザの上司が、第二情報処理端末4を介して、このユーザの勤怠情報であって、次回の勤怠情報の集計時に集計対象となる勤怠情報のうちの未承認である勤怠情報に対して承認を行なうための画面を出力する操作を行なったとすると、「ユーザID」が「5001」であるユーザの勤怠情報の承認を行なうための画面を出力する指示が、勤怠情報処理装置1に送信される。
勤怠情報処理装置1の受付部108が、第二情報処理端末4から承認を行なうための画面を出力する指示を受け付けると、承認画面出力部107は、勤怠情報格納部101に格納されている勤怠情報から、「ユーザID」が「5001」であって、「日付」が、予め決められた条件を満たす期間の日付である勤怠情報を検索等により取得する。「ユーザID」が「5001」であるユーザの勤怠情報の集計期間が、一の月の16日から、次の月の15日までであり、ここでの予め決められた条件を満たす期間の日付は、「日付」が、現在の日付を含む勤怠情報の集計期間の開始日(ここでは、現在の日付の直前の「16日」であるとする)から現在の日付までの期間内の日付に設定されているとする。ここでは、例えば、現在の日付が「2015/10/9」であったとすると、承認画面出力部107は、「ユーザID」が「5001」であって、「日付」が、「2015/9/16」から、「2015/10/9」までの期間内の値である勤怠情報を、勤怠情報格納部101から読み出す。
また、承認画面出力部107は、図5に示した承認状況情報と同様の承認状況情報において、上記で読み出した各勤怠情報と「勤怠ID」の値が一致するレコードがあるか否かを順次判断し、一致するレコードがある場合、このレコード「承認」の値を取得する。そして、承認画面出力部107は、図6と同様の、読み出した勤怠情報を配置した一覧表を作成する。この一覧表においても、図6と同様に、対応する承認状況情報が検出された勤怠情報については、この承認状況情報に対応した画像であるアイコンを図6と同様に表示する。また、このアイコンのうちの、対応する承認状況情報が「未承認」であることを示す勤怠情報に対応付けられたアイコン上には、承認画面を出力するための透明なボタン(図示せず)を配置する。このボタンを押した場合、このボタンに対応する勤怠情報についての承認画面が出力される。例えば、新たな承認画面を既に出力されている他の承認画面に換えて出力してもよく、新たな承認画面を既に出力されている他の承認画面に重ねて、または並べて出力してもよい。なお、アイコン上にボタンを配置する代わりに、承認画面を出力するためのボタンを、一覧表の、対応する承認状況情報が「未承認」である勤怠情報に対応する位置に配置してもよい。そして、このアイコンに配置されたボタンが押された場合に、受付部108が承認画面を出力する指示を受け付けて、対応する勤怠情報についての承認画面を出力するようにしても良い。
なお、ここでは、予め決められた条件を、自然言語で表しているが、この条件は、例えば、これらの自然言語に相当する一以上の関数や、メソッド名や、「if」、「then」等で示される制御構文等で構成されていてもよい。また、この条件は、これらの自然言語に対応する判断処理等を行うためのアルゴリズムであっても良い。
また、承認画面出力部107は、上記で検出した対応する承認状況情報が「未承認」であることを示す勤怠情報のうちの一つについての、承認画面を取得し、出力する。具体的には、対応する承認状況情報が「未承認」であることを示す勤怠情報であって、「日付」が最も古い勤怠情報に対応する承認状況情報の、「事由」と、「申請日付」と、「種類」の値を取得し、さらに、この「日付」が最も古い勤怠情報から、取得した「種類」に対応する時間の情報を取得し、これらを配置した承認画面を取得し、出力する。ここでは、例えば、上記で検出した対応する承認状況情報が「未承認」であることを示す勤怠情報のうちの「日付」が最も古い勤怠情報が、「日付」が「2015/9/21」である勤怠情報であったとすると、承認画面出力部107は、この勤怠情報の「勤怠ID」を取得し、取得した「勤怠ID」と対応付けられた「事由」、「申請日付」、「種類」とを申請管理表から取得し、更に、この「種類」に対応する時間の情報を、「日付」が「2015/9/21」である勤怠情報から取得する。種類に対応する時間の情報は、例えば、種類が「出勤」である場合、勤怠情報が有する「出勤時刻」の値であり、種類が「退出」である場合、勤怠情報が有する「退出時刻」の値である。また、「ユーザID」に対応するユーザ名やユーザの所属を示す情報を取得する。そして、承認画面出力部107は、取得した情報を配置した画面であって、承認を受け付けるボタンと、否認を受け付けるためのボタンとを有する承認画面を、図示しないテンプレート等を用いて取得する。
そして、承認画面出力部107は、上記で取得した勤怠情報等を配置した一覧表と、上記で取得した承認画面とを出力する。例えば、一覧表と承認画面を表示するための情報を、上記の第二情報処理端末4に送信する。第二情報処理端末4は、この情報を用いて、一覧表と承認画面とを図示しないモニタ等に表示する。
図11は、承認画面出力部107が出力する承認画面80と、予め決められた条件を満たす期間内の日付を有する勤怠情報との出力例を示す図である。この出力例は、例えば、第二情報処理端末4による表示である。例えば、承認画面80は、「申請日付」が配置された欄81、承認の対象となる勤怠情報を入力したユーザの所属の欄82、ユーザの氏名の欄83、「事由」が配置された欄84、「日付」、「種類」およびこの種類に対応する時間(ここでは時刻)の情報とが配置され欄85,承認するためのボタン86、否認するためのボタン87を有している。
そして、承認を行なうユーザが、第二情報処理端末4を操作して、承認するためのボタン86を押すと、この勤怠情報を承認することを指示する情報が、勤怠情報処理装置1に送信され、この情報を受付部108が受け付けると、受け付けた情報に応じて、この勤怠情報に対応付けられた承認状況情報の「承認」の値を、「未承認」から、「承認済」に更新する。
また、承認を行なうユーザが、第二情報処理端末4を操作して、否認するためのボタン87を押すと、この勤怠情報を否認することを指示する情報が、勤怠情報処理装置1に送信され、この情報を受付部108が受け付けると、受け付けた情報に応じて、この勤怠情報に対応付けられた承認状況情報の「承認」の値を、「未承認」から、「否認」に更新する。
なお、上記においては、承認状況情報の「承認」の値が、「未承認」または「否認」である場合にも、出力部102や承認画面出力部107が出力する勤怠情報の一覧表において、入力画面出力部104が出力する入力画面を介して入力された勤怠情報(例えば、入力され更新された勤怠情報)の時間の情報(例えば、「出勤時刻」の値、および「退出時刻」の値)を出力するようにしたが、承認状況情報の「承認」の値が、「未承認」または「否認」である場合、承認状況情報の「種類」に対応する勤怠情報の時間の値を出力しないようにしてもよい。例えば、一覧表に配置される一の勤怠情報に対応する承認状況情報の「承認」の値が、「未承認」であって、「種類」の値が「退出」である場合、出力部102や承認画面出力部107等は、勤怠情報の一覧表を出力する際に、この一の勤怠情報の「退出時刻」の欄に、値を表示しない、あるいは値がないことを示す情報を表示するようにしてもよい。
次に、打刻装置2を用いて打刻を行なう場合の動作について説明する。
図12は、打刻装置2が表示する「出勤時刻」の打刻を行なうための打刻入力画面の表示例を示す図(図12(a))、「退出時刻」の打刻を行なうための打刻入力画面の表示例を示す図(図12(b))、「外出時刻」の打刻を行なうための打刻入力画面の表示例を示す図(図12(c))、「再入時刻」の打刻を行なうための打刻入力画面の表示例を示す図(図12(d))である。
例えば、打刻装置2のユーザが打刻を行なうための打刻入力画面を出力する操作を行なうと、打刻画面表示部201は、打刻入力画面を図示しないモニタに表示する。ここでは、例えば、打刻画面表示部201は、デフォルトの打刻入力画面として、図12(a)に示すような「出勤時刻」の打刻を行なうための打刻入力画面を表示する。打刻入力画面は、打刻を受け付けるための打刻ボタン50と、打刻ボタン50を介して受け付ける打刻の種類を選択する選択ボタン51a〜51dを有している。選択ボタン51aは、打刻の種類として「出勤時刻」を選択するボタンであり、選択ボタン51bは、打刻の種類として「退出時刻」を選択するボタンであり、選択ボタン51cは、打刻の種類として「外出時刻」を選択するボタンであり、選択ボタン51dは、打刻の種類として「再入時刻」を選択するボタンであるとする。各選択ボタン51a−51dには、それぞれのボタンに対応する打刻の種類を示す文字列が配置されているものとする。
図12(a)においては、打刻ボタン50全体(ただし、文字部分を除く)が青色で表示されているものとする。また、ここでは、「出勤時刻」を選択する選択ボタン51aも、文字列を除く全体が、打刻ボタン50と同じ青色で表示されているものとする。この状態で、打刻ボタン50をユーザが押す操作を行なうと、端末操作受付部202が打刻ボタン50を押す操作を受け付け、打刻送信部203は、打刻の種類が「出勤時刻」であることを示す打刻情報を、勤怠情報処理装置1に送信する。打刻情報は、例えば、打刻の種類が「出勤時刻」であることを示す情報と、打刻装置2のユーザのユーザ識別子と、打刻が行なわれた時刻と日付の情報とを有する情報である。この時刻の情報は、図示しない時計等から取得される。日付は、例えば、図示しないカレンダー等から取得される。ただし、打刻情報は、時刻または日付の情報を有していなくても良い。この場合、勤怠情報処理装置1が、打刻情報を受信した時刻または日付を、打刻が行なわれた時刻または日付の情報として取得すればよい。勤怠情報処理装置1の受付部108が打刻情報を受け付けると、勤怠情報蓄積部110は、この打刻情報が有するユーザ識別子と、打刻が行なわれた日付と、打刻が行なわれた時刻とを勤怠情報として蓄積する。打刻が行なわれた時刻は、打刻情報が有する打刻の種類を示す情報が示す種類の時間の情報として蓄積される。
ここで、例えば、打刻画面表示部201が表示する打刻画面が、図12(a)に示す状態である場合において、ユーザが、「退出時刻」を選択する選択ボタン51bを押す操作を行なうと、端末操作受付部202は、選択ボタン51bを押す操作を受け付け、打刻画面表示部201は、図12(b)に示すように、打刻ボタン50全体(ただし、文字部分を除く)の色を、青色から黄色に変更して表示する。また、ここでは、「退出時刻」を選択する選択ボタン51bも、文字列を除く全体を打刻ボタン50と同じ黄色で表示する。この状態で、打刻ボタン50をユーザが押す操作を行なうと、端末操作受付部202が打刻ボタン50を押す操作を受け付け、打刻送信部203は、打刻の種類が「退出時刻」であることを示す打刻情報を勤怠情報処理装置1に送信する。その後の打刻情報を用いた処理については、上記と同様である。
また、同様に、ユーザが、「外出時刻」を選択する選択ボタン51cを押す操作を行なうと、端末操作受付部202は、選択ボタン51cを押す操作を受け付け、打刻画面表示部201は、図12(c)に示すように、打刻ボタン50全体(ただし、文字部分を除く)の色を、黄色から赤色に変更して表示する。また、ここでは、「外出時刻」を選択する選択ボタン51cも、文字列を除く全体を打刻ボタン50と同じ赤色で表示する。この状態で、打刻ボタン50をユーザが押す操作を行なうと、端末操作受付部202が打刻ボタン50を押す操作を受け付け、打刻送信部203は、打刻の種類が「外出時刻」であることを示す打刻情報を勤怠情報処理装置1に送信する。その後の打刻情報を用いた処理については、上記と同様である。
また、同様に、ユーザが、「再入時刻」を選択する選択ボタン51dを押す操作を行なうと、端末操作受付部202は、選択ボタン51dを押す操作を受け付け、打刻画面表示部201は、図12(d)に示すように、打刻ボタン50全体(ただし、文字部分を除く)の色を、赤色から緑色に変更して表示する。また、ここでは、「再入時刻」を選択する選択ボタン51cも、文字列を除く全体を打刻ボタン50と同じ緑色で表示する。この状態で、打刻ボタン50をユーザが押す操作を行なうと、端末操作受付部202が打刻ボタン50を押す操作を受け付け、打刻送信部203は、打刻の種類が「再入時刻」であることを示す打刻情報を勤怠情報処理装置1に送信する。その後の打刻情報を用いた処理については、上記と同様である。
また、同様に、ユーザが、「出勤時刻」を選択する選択ボタン51aを押す操作を行なうと、端末操作受付部202は、選択ボタン51aを押す操作を受け付け、打刻画面表示部201は、図12(a)に示すように、打刻ボタン50全体(ただし、文字部分を除く)の色を、緑色から青色に変更して表示する。また、ここでは、「出勤時刻」を選択する選択ボタン51aも、文字列を除く全体を打刻ボタン50と同じ青色で表示する。
なお、ここで示した打刻ボタン50の色の組合わせは一例であり、打刻の種類に応じて打刻ボタン50の色を異なる色とすることができれば、打刻ボタン50の色の組合わせは、上記以外の色の組合わせであってもよい。
以上、本実施の形態によれば、勤怠に関する情報を、適切に入力させることができる。
例えば、メニュー画面等から勤怠情報の入力画面を出力した場合と、勤怠情報の一覧表に配置されている勤怠情報について勤怠情報の入力画面を出力した場合とで、入力画面に予め入力されている情報を異なる情報として、情報の入力を状況に応じて容易に行なえるようにすることができる。
また、勤怠情報の一覧表に含まれる勤怠情報に対して、承認の状況を示す情報を出力することができ、承認の有無等を容易に判断することができ、例えば、承認の入力や承認の要請を行なうことを促すこと等が可能となる。
また、例えば、入力された勤怠情報の承認を行なう際に、予め決められた期間の勤怠情報だけを選択して出力することができ、承認の確認等を容易に行えるようにすることができる。
また、打刻ボタンの態様を、打刻する時間の種類に応じた態様として表示することができ、打刻時等に、打刻の種類が正しいか否かを視覚的に容易に確認することができる。
なお、上記実施の形態において、打刻装置2、第一情報処理端末3、および第二情報処理端末4の少なくとも二以上の一の装置で実現するようにしてもよい。
なお、上記実施の形態においては、主として、勤怠情報処理装置1がサーバクライアントシステムにおけるサーバ装置であり、出力部や受付部等が、通信回線を介して入力を受け付けたり、画面を出力したりする場合を例に挙げて説明したが、勤怠情報処理装置1は、スタンドアロンの装置であってもよい。
なお、上記実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
また、上記実施の形態において、一の装置に存在する2以上の通信手段(出力部、入力画面出力部など)は、物理的に一の媒体で実現されても良いことは言うまでもない。
また、上記各実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。その実行時に、プログラム実行部は、格納部(例えば、ハードディスクやメモリ等の記録媒体)にアクセスしながらプログラムを実行してもよい。
なお、上記実施の形態における勤怠情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、勤怠に関する情報である勤怠情報が格納される勤怠情報格納部にアクセス可能なコンピュータを、勤怠情報格納部に格納された勤怠情報の一覧表を出力する出力部と、勤怠情報の入力画面を出力する出力操作を受け付ける操作受付部と操作受付部が受け付けた出力操作に応じて勤怠情報の入力画面を出力する入力画面出力部と、入力画面出力部が出力する入力画面を介して勤怠情報の入力を受け付ける入力受付部と、入力受付部が受け付けた勤怠情報を、勤怠情報格納部に蓄積する蓄積部として機能させ、入力画面出力部は、操作受付部が受け付けた出力操作が、出力部が出力する一覧表に含まれる勤怠情報に関する出力操作であるか否かに応じて、予め入力されている値が異なる入力画面を出力するプログラムである。
上記各実施の形態における打刻装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、打刻を受け付けるためのボタンであって、受け付ける打刻の種類に応じて異なる態様となる打刻ボタンを有する打刻入力画面を表示する打刻画面表示部と、打刻入力画面が有する打刻ボタンを介して、打刻ボタンに対応する種類の打刻を受け付ける端末操作受付部と、端末操作受付部が受け付けた打刻の種類を示す情報を有する打刻情報を、上記実施の形態の勤怠情報処理装置に送信する送信部として機能させるためのプログラムである。
なお、上記プログラムにおいて、上記プログラムが実現する機能には、ハードウェアでしか実現できない機能は含まれない。例えば、情報を取得する取得部や、情報を出力する出力部などにおけるモデムやインターフェースカードなどのハードウェアでしか実現できない機能は、上記プログラムが実現する機能には含まれない。
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
図13は、上記プログラムを実行して、上記実施の形態による勤怠情報処理装置を実現するコンピュータの外観の一例を示す模式図である。上記実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムによって実現されうる。
図13において、コンピュータシステム900は、CD−ROM(Compact Disk Read Only Memory)ドライブ905を含むコンピュータ901と、キーボード902と、マウス903と、モニタ904とを備える。
図14は、コンピュータシステム900の内部構成を示す図である。図14において、コンピュータ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がどのように動作するのかについては周知であり、詳細な説明は省略する。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。