月報

勤怠管理システムの自作-月報参照画面

注意:仕様の参考として「労働基準法 第X条」という値が書かれていますが。正確である保証はありません。筆者は法律に関する資格を持たない素人です。

概要

月報を閲覧する画面です。
この画面を起点として、承認機能・修正機能・印刷機能へアクセスできます。

仕様

画面項目

一般的に使われている月報のレイアウトに合わせてあります。
特徴的な項目について記載します。

明細テーブル

項目説明
曜日単純に土日の色を変えているのではなく、カレンダーマスタの設定を使って色を変えています。
所定休日は青系、法定休日は赤系の色で表現しています。
この色使いは色覚に対する配慮が欠けている可能性があります。休日にはアイコンを表示するとか、「所」「法」の文字を表示するという仕組みがあると親切だと思います。
作業内容仕様バグの残りです。
私が使っているExcel月報では作業内容の入力欄が存在するので、なんとなく項目を設けてみました。
勤怠管理システムでは作業内容を日々入力するタイミングが無いため、この項目に値が入ることは有りません。
もしも顧客要望で「日々の作業内容も入力させたい」という話になった場合、どのタイミングで、どの画面から入力するのか?という問題が発生します。できる限り作業内容は入力しない仕様にするべきです。
チケット当システム独自の概念である「チケット」を表示します。
文字列部分がリンクになっていて、クリックするとチケットの詳細を閲覧できます。

合計テーブル

ここに表示されている数値が勤怠管理システムとして最も重要な値です。
この値を給与計算システムに連携します。
勤怠管理システムとしては時間を算出するだけで、割増賃金の計算や割増率の管理は給与計算システム側が何とかしてくれるという認識です。

項目説明
実労働時間実動時間の合計値です。
実労働時間 * 時給 の計算で一般的な給与の額になります。
超過労働時間いわゆる残業の時間です。
超過労働時間 * 時給 * (25% ~ 50%)で残業代を計算します。
労働基準法 第37条 ①
深夜労働時間労働時間帯と深夜時間帯で論理積を取るイメージです。
深夜労働時間 * 時給 * (25%~)で深夜労働代を計算します。
労働基準法 第37条 ④
休日労働時間労働時間帯と法定休日の時間帯で論理積を取るイメージです。
所定休日に働いた場合は超過労働時間としてカウントされます。
休日労働時間 * 時給 * (25% ~ 50%)で残業代を計算します。
労働基準法 第37条 ①
限度時間外
労働時間1
労使協定によって定められた限度時間を超えた分の時間です。
(基本的に1か月。場合によっては1日を超え3か月以内の期間。)
「3か月」と言っているのは、労働基準法 第36条 ⑤ で書かれている変形労働時間制の場合の入力に対応するため。
36協定届で、この時間に対する割増賃金率を入力する欄があります。
給与計算システム側で割増賃金率をかける対象の時間を持つための項目です。
限度時間外
労働時間2
労使協定によって定められた限度時間を超えた分の時間です。
(1年間)
こちらも、36協定届に記載した割増賃金率をかけるための時間を保持する項目です。
労働基準法 第36条 ②
法定時間外
労働2
超過労働が月60時間を超えた分の時間、
かつ、代替休暇に振り替えられていない分の時間です。
労働基準法 第37条 ③
振替前法定
時間外労働2
超過労働が月60時間を超えた分の時間です。
労働基準法 第37条 ①
休業時間休業チケットのポイントを合計した値です。
この時間が休業手当の対象になります。
労働基準法 第26条
有給チケット
ポイント
有給休暇、季節休暇、特別休暇など
有給フラグがONのチケットのポイントの合計値です。
単位:分
非常時払未使用です。
月の途中で月報を作った場合にONにするつもりでしたが
事業場の異動など、全てが非常時払いだとは限らず、少なくとも今の時点では非常時払いかどうかを見分ける必要がないという結論に至りました。

内部の実装に関して

当システム内で月報っぽいレイアウトを表示する画面は、参照・修正・承認・印刷の4画面があります。
内部的にはASP.Net MVCの「部分ビュー」という機能を使ってレイアウトを使いまわしています。ただし、印刷画面だけはレイアウトの基準が紙になるため、完全に独自のレイアウトを使っています。

タイトルとURLをコピーしました