• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:つまっています。。。)

時間外計算システムの実装方法

このQ&Aのポイント
  • 時間外計算システムを作成しています。テーブルには出勤日と退勤日のデータがあり、1日の時間外労働を計算する方法に悩んでいます。
  • 出勤日と退勤日の差を計算し、1日の時間外労働を求めます。ただし、時間外労働は1日に8時間以上、1週間に40時間以上の場合に該当します。
  • また、週ごとの時間外労働を計算する際には、退勤ページで7日分のデータを抽出して計算する方法を考えていますが、リロードされた際にデータが狂ってしまいます。どうすれば正確な計算ができるでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • singlecat
  • ベストアンサー率33% (139/418)
回答No.1

画面の遷移が解らないので少し伝わりにくいです。 テーブルは1種類のようですが、これだと処理が面倒なので、 各個人の月別の合計テーブルを作り、そこに1週目、2週目..毎に合計や超過(時間外)を 入れて計算すれば良いと思います。 >それだとリロードされた際に数値が狂ってしまいます。 狂わないと思いますが.... また、リロードが怖いなら、Redirectで画面遷移させる事をお勧めします。

drmada
質問者

お礼

とりあえず、横着せず、小分けにデータ入れれば良いといった感じですかね。やってみます。

drmada
質問者

補足

日ごと、週ごとに取り出すので、当然総数を得る場合、アップデート文は+させる必要があります。 +する処理を行った場合、リロードされた際、再度加算されてしまいます。

その他の回答 (3)

  • singlecat
  • ベストアンサー率33% (139/418)
回答No.4

>その方法を聞いてるのですが。送信画面の際、1日の計算は出来ても、1週間の計算が出来ないですよね? 方法は、#1で答えていますが。 計算はできますよ。というかできないと言う方が不思議です。

  • singlecat
  • ベストアンサー率33% (139/418)
回答No.3

>日ごと、週ごとに取り出すので、当然総数を得る場合、アップデート文は+させる必要があります。 >+する処理を行った場合、リロードされた際、再度加算されてしまいます。 設計として間違っています。 何度計算しても大丈夫なようにすべきです。

drmada
質問者

補足

その方法を聞いてるのですが。送信画面の際、1日の計算は出来ても、1週間の計算が出来ないですよね?

  • co_maam
  • ベストアンサー率65% (13/20)
回答No.2

技術的な質問に対して、前提条件が足りなすぎます。 まず、システムを作っているのであれば、システムの概要を説明すべきです。 実際、質問中に「退勤ページで…」とありますが、 そのページが一体どのようなページなのか読み取れません。 また、テーブルの中身を記述するのであれば、レコードの意味をを記述すべきですし、 数式を記述する場合は、数字の意味が読み取れる必要があります。 (今回で言うところの2+1の意味が不明です。) ※今回時間外労働時間は問題ないようですし、 恐らく2012/6/1~2012/6/3の日数かとは思いますが、 問題のある箇所にこのレベルの記述ではまずいです。 結論が後出しになりますが、質問者が現在どのような状況で、どのような問題があり、 どのような結論を望んでいるのかがわかりません。

drmada
質問者

補足

一日八時間超えたら時間外扱いなので、退勤と出勤日の差異を計算し、質問文の例は2日差がありますよね?しかし、当日含め3日ですから、引く時間は3日ぶんである必要があります。なので+1しています。

関連するQ&A

専門家に質問してみよう