2012-02-24 10 views
1

私はパンチクロックシステムをプログラムしました。私は、24時間で8時間以上働くと残業を受けるなど、カリフォルニアの残業ルールに従うように修正する必要があります。私は、計算に集中していないこれをやっていくためにどうやって行くのか困惑しています。時間を考慮して勤務時間のプログラミングロジックを決定する方法。

私たちのパンチは15分間隔で丸められています。つまり、8:00 AM、8:15 AM、8:30 AMなどにパンチインします。

+0

どのような形式でデータを保存していますか? –

+1

実際に計算されていますか?クイックグーグルは、カリフォルニアの残業ルールは、同じ日に8時間働くことに関連し、深夜にリセットすることを提案しています。 –

答えて

2

だから、もし誰かが月曜日午前8時から始まって、合計8時間働いて火曜日午前7時から始まり、1時間の時間外労働を得るのですか?

ある従業員の開始/終了日のタイムペアのリストがあるとします。このリストには、前の期間の開始/終了日のタイムペアが含まれていなければなりません。

  1. 現在の支払い期間から最初の開始/終了日の時間のペアを取得します。
  2. 前の開始/終了日の時間のペアを取得します。
  3. 前の開始から現在の開始までの時間間隔と時間を指定します。
  4. 間隔が24以上の場合は、次の現在の支払期間開始日/停止日時のペアを取得し、2に進みます。開始日/終了日のタイムペアがもうない場合は終了します。
  5. それ以外の場合は、間隔が24未満の場合は、現在の開始/終了日時のペアで超過時間を計算します。 (24 - インターバル)の貸し手と、現在の開始/終了日の時間の組に働いている時間の量。
  6. 次の現在の支払期間の開始/終了日の時間のペアを取得します。開始日/終了日のタイムペアがもうない場合は終了します。
  7. 以前の開始/終了日の時間のペアを保持します。
  8. 3に移動します。
関連する問題