勤務日数が0になるとdiv/0エラー
Opened this issue · 9 comments
hanocha commented
締め日にほぼ確実に落ちる。
hanocha commented
対策 step.1 勤務中の場合の計算式を変える
出勤簿の中に「勤務中」が含まれている場合はその日の労働時間を無視したい。
「勤務中」表記でも労働時間はカウントされてしまうので、それをうまく除く必要がある。
「勤務中」がある場合、実働日数から1を引いて、さらに労働時間からその日の勤務時間を引く。
その値を使ってこれまでと同じ計算を行う。
対策 step.2 締め日の時の計算を考慮する
締め日に退勤した後は変わらず 0div 問題は発生する。
これはどうしようもないので、所定勤務日数 - (実働日数+全休数) が0の時の処理を別途追加するしかない気がする。
hanocha commented
勤務中に一回勤務表の取得をかけないと、どうやって「勤務中」ステータスを拾ってくるかがわからない・・・
hanocha commented
hanocha commented
j.main_page.xpath("//*[contains(./text(),'勤務中')]")
(edited)
[6:39]
勤務中の場合はNokogiriのオブジェクトが返ってくる
[6:41]
pry(main)> j.main_page.xpath("//*[contains(./text(),'勤務中')]")
=> []
[6:41]
勤務中でなければこんな感じになる
hanocha commented
出勤中だった場合の処理
- 実働日数
worked_days
から1を引く - 実働時間
worked_hours
から今日の労働時間を引く - 残り出勤可能日数に1足す(?)
仮
hanocha commented
出勤直後は実働日数が増加しない。
出勤中、かつ出勤後5分経過?したら実働日数が増えるのかもしれない。
実働時間も同様だが5分刻みかな…?
…あれ?実働日数…出勤日数?
hanocha commented
出勤後10分経過しても実労働時間、実働日数に変化なし。
どこから反映されるんだろう・・
hanocha commented
1時間経過を目安に機能を実装していいかもしれない
hanocha commented
本当に5分単位計上されるか確かめてから実働時間周りは実装する。
出勤可能日数は実働日数を使って計算しているので、実働日数から1引くだけでそっちも補正される。はず。