私は部分的に従業員のタイムレコーダーであるアプリに取り組んでいます。それほど複雑ではありませんが、最初は正しい方向に向かっていることを確認したいと思います。私は現在このテーブル構造を持っています:
id - int
employee_id - int (fk)
timestamp - mysql timestamp
event_code - int (1 for clock in, 0 for clock out)
私はすべてが機能しています。最後のイベントが「出勤」だった場合、「出勤」ボタンのみが表示され、その逆も同様です。
私の問題は、従業員が1か月に何時間働いたか、また今年度(今年度の6月1日以降)の合計時間を示すレポートを実行する必要があることです。
クロックインとクロックアウトを同じレコードに保存し、2つのイベント間の作業分を計算して、それを「worked」という列に保存できるようです。次に、その従業員が合計時間を知るために、そのすべての列の合計を取得する必要があります。
私が持っている構造を維持するか、クロックインおよびクロックアウトイベントのペアごとにすべてを1行に移動する必要がありますか、それとも完全に欠落しているより良い方法がありますか?
ヒューマンエラーもタイムレコーダーの大きな問題であることを私は知っています。なぜなら、人々はしばしば出勤または退勤を忘れてしまい、どの構造がそれをより簡単に処理できるかわからないからです。
MySQLタイムスタンプは良いオプションですか、それともUNIXタイムスタンプを使用する必要がありますか?
アドバイス/指示をありがとう。
リッチ