操作
QA #747
未完了親チケットに表示する子チケットの進捗パーセンテージを小数点以下切り捨てで表示して欲しい
ステータス:
回答済
優先度:
通常
担当者:
-
カテゴリ:
-
対象バージョン:
-
開始日:
2017/12/09
期日:
進捗率:
0%
予定工数:
説明
■現象/要望
一つの親チケットに対して沢山の子チケットを登録している時に、子チケットが大方完了して
全体の進捗率が99.5%になると、親チケットの進捗が100%と表示されて
あたかも作業が全て終了したかの様に見えてしまいます。
小数点以下を四捨五入で計算している様なのですが、切り捨ての方がありがたいです。
対応方法はありますか。
奈良 裕記 さんが6年以上前に更新
残件あるのに100%と表示するのは誤認招きますね。(子チケットで200件超える場合ですが)
進捗率は親チケット自体にintで持っており(done_ratio 100%->100 )、
チケット編集保存に再計算されます。
下記箇所を変更すれば良いかと思います。(動作確認はしていません)
下記変更後に、親チケットを編集等で再計算させないと反映されません。
app/model/issue.rb
def recalculate_attributes_for(issue_id)
..
progress = done / (average * children.count)
p.done_ratio = progress.round
最後のround(四捨五入)を、floor(小さい方の整数へ変換)に変更
この変更により、進捗が0.5%以上1%未満の場合の表示が 1%→0%に変わりますが、
0.5%未満は従来から0ですし、問題は少ないでしょう。(数値が変わること以外)
これが問題になる場合には、progressの範囲により丸め処理を変更すれば良いこと。
奈良 裕記 さんが6年以上前に更新
- ステータス を 新規 から 回答済 に変更
本件、
p.done_ratio = progress.round → floor の修正で、4.0に取り込まれる予定です。
https://www.redmine.org/issues/27848
誤差でデグレードしないか心配ですが、、、、
操作