• 締切済み

勤怠管理 コアタイムのデータ管理 Java & PostgreSQL

Java+PostgreSQLを使い、勤怠管理システムを作成中です。 システムではコアタイムを複数設定でき、環境にあわせた勤怠管理が できるようにしたいです。 従業員の勤怠集計はコアタイムを基準に、早出、基本時間、遅刻、残業を 算出できるようにしたいです。 現在、DBスキーマとテーブルに対応するJavaエンティティの定義を進めて いますが、型をどのようにすれば集計が楽になるかわからず困っています。 悩んでいるのが、日付をまたいだコアタイムを設定するとき、PostgreSQLの time型では23:59を超える時刻を扱えないため、 開始 > 終了 という データを登録する必要があり、計算が複雑になることです。 考えているものとしては、2つあります。 1) PostgreSQLの型:time Javaの型:java.sql.Time 2) PostgreSQLの型:integer(分であらわす。9:00であれば、540) Javaの型:Integer(分であらわす。9:00であれば、540) 1)は前述での計算が複雑になる問題があり、2)は、やり方がスマートでは ないような気がします。 どのような定義にすれば妥当でしょうか。 アドバイスや過去の事例等あれば、ご教授下さい。

  • Java
  • 回答数3
  • ありがとう数2

みんなの回答

回答No.3

#2です。 単に、どの勤務も同じ時刻に勤務を開始し、同じ時刻に定時勤務が終了するように、時刻をずらしただけです。 シフトに関わらず、たとえば以下のように画一的に判断でき、コアタイムや勤務が深夜0:00をまたぐことがなくなりますので、人間が見たときにわかりやすい、ということです。また、引き算するときも単純に引けますし。 例)  5:00以前は早出  14:00以降は残業  20:00までに残業が終了するはず 基準時点からの経過分数を持つなら、20年で10,540,800だから十分保存できますが、8,735,250分経過とか言われてもぴんとこないな、と思ったしだい。 それだったら、各シフトの勤務開始時刻からの経過分数に直したほうがよさそうです。07:00が420なのか31:00とみて1860なのか、判断するのが嫌なものですから。

回答No.2

勤務ごとにコアタイムの計算だけ、何時間か進ませた/遅らせた時間を別に持つというのは変でしょうか。 これならコアタイムは必ず9:00~13:00とかになります。 #サマータイムが無ければ、他所の国の現地時間とみなしてJSTに直すという手も使えるんですが[^^; A勤務は 7:00~15:00 B勤務は13:00~21:00(-6h) C勤務は19:00~03:00(-12h) D勤務は01:00~09:00(+6h)

hokuro777
質問者

補足

ご回答ありがとうございます。 これはコアタイムの開始と終了をそのまま持つ設計と比較して、 どういうメリットがあるでしょうか。 早出、基本時間、遅刻、残業をなどの算出が楽になるのでしょうか。

noname#111181
noname#111181
回答No.1

「UNIX時間」にしたらいかがですか。

hokuro777
質問者

補足

00:00を基準としたUNIX時間を定義するということですね。 9:00~17:00なら、540~1020 21:00~05:00なら、1260~1740 (UNIX時間ではないですが、上記はわかりやすく1分を1と定義) これなら計算が楽になりそうです。

関連するQ&A

  • 【労務】あなたの会社はどのような勤怠管理を行っていますか?

    【労務】あなたの会社はどのような勤怠管理を行っていますか? 会社で勤怠管理のシステムの見直しを行っています。現在、Notesというソフトの中に入っている(?)勤務表に始業時刻と、終業時刻を記入し、翌月に前月の勤務表を申請して、各サイトの総務部が勤務表から手動計算して、手当計算しています。手動計算がかなり手間で、問題になっているのですが、それを見直すため、下記の2点質問させてください。 (1)みなさんの会社はどのような勤怠管理を行っていますでしょうか? (こんなものを使って勤務時間を管理していて、こういうふうに集計している等) (2)勤務表として労基法で求められる最低限のことは? 勤怠管理システム見直しにあたり、広く情報を集めようと思い、投稿しました。 ご返事お待ちしています。

  • 勤怠管理について

    現在アルバイトをしていますが(庶務関係)、 急慮、総務の社員さんが産休に入る事になり、勤怠管理を引き継ぐ事になりました。 そこで質問なんですが、勤怠の管理はアルバイトがしてもいいものなのかという疑問と エクセルでの管理することになりますが、表計算もくちゃくちゃなところもあり、時間計算も手入力が多く(有給、半休、代休、遅刻等)大変です。 他の業務もかかえておりここに集中してやることもゆっくりできず、やや重荷にもなっています。 従業員も50人以下で少ないほうですが、 タイムカードの時間も確実なものではなく、PCで打刻するシステムで 漏れがあったり、時間に誤りがあったりすることも多く、 チェックして修正してもらうこともしばしばです。 社員さんがタイムカードに関してややルーズなの面もあります。 本来なら、出勤、退勤の時間と有給はきちんとしていただきたいのですが、 アルバイトの身でみなさんに言いづらい所もあります。 勤怠管理はお給料の元になるので本当は社員さんに管理していただきたいのですが、 みなさんの会社の総務はどんなかんじでしょうか? 自分で改善方法を考えるしかないのでしょうか? アドバイスをお願いします。

  • 勤怠管理・給与計算ソフト

    複数の店舗があり、各店舗の従業員の大半はその店舗に固定なのですが、幾人かは他店にヘルプで勤務することが多々あります。 例えば、10:00~14:00はA店、16:00~20:00はB店など。各店舗ごとに残業も発生しますし、シフトによっては深夜勤務もあります。 給与計算は各店舗ごとではなくまとめておこなっており、各店舗での勤怠管理を簡略化し、適正な給与計算をスムーズに行ないたいと考えています。 ネットで検索をかけてみた所、上記のような状況に対応するシステムが、一社を除いて見当たりませんでした。 POS等導入しておらず、各店舗でのタイムカードを手で集計しているのが現状ですが、なるべく予算をかけずに導入できるソフト・システムを紹介して下さい。

  • お勧めの勤怠管理システム

    お世話になります。勤怠管理システムを探しております。 現在は打刻タイムカード、勤怠台帳による手作業集計、 給与システムへの手入力という流れで3人×3日の作業量です。 必要用件としては (1)IC非接触型カード対応専用端末での打刻(PC上ではない)  (KingGim社のクロックオンのような機能) (2)自動集計・修正機能(PCまたはサーバ上での作業) (3)残業・休出などの申請と承認機能 (4)給与システム(スマイルα)へのデータ受け渡し 以上、4機能があれば十分です。 KingGim社のクロックオンシステムに承認機能が付けば望みどおりです。 この変のシステムに詳しい方からのご回答をお願いします。

  • 勤怠管理・給与計算について

    今月から総務に配属になり勤怠管理・給与計算を担当する事になったのですが、給与支給日が月末締め翌月15日支払です。つまり15日間もかかるのです給与計算に、現状は会社規模300名(内正社員50名、残りはパートです)支店が15店舗程あり本社に毎月月初めにタイムカードが郵送又はFAXされてきてそれをエクセルに入力し、その後TKCという会計ソフトに入力して 給与計算を行っています。パートの割合が多くタイムカードもそれぞれの支店でバラバラ、毎月人の出入りも激しく、パートの出勤退勤時間もまちまちでそれをひとりひとりエクセルで集計しているので非常に時間が掛かりま す。それにタイムカードは勤務時間の合計すら出ません。パートは時給制ではなく歩合制の人がほとんどです。なんとか時間を掛けず・効率よく業務が出来る方法は手段は無いものでしょうか?このような会社で実際に給与計算・勤怠管理をされている方や、知識のある方がいましたら是非教えてください。またタイムカードと連動させて給与計算を行えるソフトなどは無いのでしょうか? どうかお願いします。

  • あなたの会社での勤怠データ集計は、自動ですか?それとも、手計算ですか?

    あなたの会社での勤怠データ集計は、自動ですか?それとも、手計算ですか? 総務部所属の者です。弊社(200人程度)の勤怠管理は、Notesというグループウェアを使用して、各事業所毎(Max50人くらい)入力した勤務データを月毎に手動でエクセルに集計して、給与計算をしています。一部、交代勤務や早出が無い一般職、役職者は残業時間の合計欄を読み取って、すぐに集計出来るのですが、勤務が変則な場合が多く、手計算して別事業所とWチェックを行っており、非常に手間が掛かっています。総務部の先輩に簡略化できないものかと相談すると、過去にNotesを利用して、自動計算を試みたが、複雑過ぎて不可能だったとこのと。そこで、他の会社どのように勤怠データの集計を行っておられるのか気になり、質問させて頂いた次第です。私の会社は、○○というグループウェアを使用して勤務表の自動集計をしている、一方、勤怠データは手計算で毎月大変、といった、愚痴的なもので構いませんので、ご意見お待ちしています。

  • 労務管理?について

    専門職のパートで週3日働いています。 会社の出退勤の管理が複雑すぎ、申請系の業務に時間を割かれています。 そこまで管理の徹底が必要なのか、またはこれまでの職場では総務がやってくれていたと思うので、自分で管理することに驚いています。 契約→月、水、金曜日、10:00〜16:00 通常 ①勤怠管理システムに勤務予定を書き込む ②当日タイムカードを押す(紙) ③勤怠管理システムのタイムカードを入力 タイムカードが重複しており、必要なのか疑問です 月→火曜に振替出勤した場合 ①勤怠管理システムで申請をする ②勤怠管理システム予定に月曜に欠勤、振替日を入力、火曜に月曜の振替分であることを入力 ③勤怠管理システムのタイムカードに②と同様に両日とも但し書きを記入する 有給時も同様の作業が生じます。 この申請した上にスケジュールやタイムカードに但し書きをする、しかも契約日、振替日両日に但し書をする作業が結構負担に感じます、、、これなら出勤簿を紙でする方がまだマシです。 労務管理についてよく知らないので、これらのことは一般的に会社ではどうしているのか伺いたくて質問しました。 パートタイムで振替勤務等する上では致し方ないのでしょうか。

  • 社員の勤怠管理でタイムカードなどで管理をすることが法律などで義務付けさ

    社員の勤怠管理でタイムカードなどで管理をすることが法律などで義務付けされていますか? 派遣社員なので日々出社時間と退社時間は派遣元が管理する用紙に記入してますが受け入れる会社側ではタイムレコーダなどありません。社員の健康管理面など労働した時間を管理するシステムができていることが必要ですか。

  • 勤怠 休憩時間

    勤怠 休憩時間 勤怠集計表をエクセルで作成していますが、1日の勤務時間合計の計算式が判りません。  A     B         C       D 日にち  開始時間  終了時間  時間計 時間計へ1時間の休憩時間を引いた計算式で、 =B2-C2-TIME(1,0,0) 終了時間が12時の時は、休憩時間は無しで計算したいのですが、どなたか教えて下さい。

  • 勤怠集計表の計算式について教えて頂きたいのですが、 

    勤怠集計表の計算式について教えて頂きたいのですが、  1日の勤務時間が7時間30分の勤怠集計表を作成しています。休憩時間は1時間です。    A        B      C    D   日にち  開始時間 終了時間 時間計 例  7/1   9:00 17:30 7:30 計へは、1時間休憩時間を引いた計算式の IF(C2<=$C$1,C2-B2,C2-B2-TIME(1,0,0)) ※C1へ12:00と入力 この場合、開始時間が13時以降の時も1時間の休憩を取ってしまいます。 13時以降の開始の時、休憩時間を挟まない計算式を教えて下さい。

専門家に質問してみよう