GroupSession
いつもお世話になってます。かなり以前からタイムカードの運用を行っており、弊社では15分刻みで、打刻した時間を切り上げる運用をしています。例)「08:03」に打刻したら、「08:15」例)「10:19」に打刻したら、「10:30」例)「15:38」に打刻したら、「15:45」例)「17:46」に打刻したら、「18:00」これを実現するため、プログラムを修正していますが、バージョンが上がる度に修正が必要となり管理が大変になります。できれば次期バージョンにこのタイムカードの時間の丸め方法を管理者設定できるようにして欲しいです。どうぞ宜しくお願いします。
このご指摘興味深いですね。ー>いろいろ応用できそう 日本トータルシステムさんで採用いただけるかはわかりませんが、せっかくですのでプログラムの改修部分を公開されてはいかがでしょうか。賛同者が多ければ、誰かパッチを作ってくれるかもと期待^^;> いつもお世話になってます。> > かなり以前からタイムカードの運用を行っており、弊社では15分刻みで、打刻した時間を切り上げる運用をしています。> 例)「08:03」に打刻したら、「08:15」> 例)「10:19」に打刻したら、「10:30」> 例)「15:38」に打刻したら、「15:45」> 例)「17:46」に打刻したら、「18:00」> > これを実現するため、プログラムを修正していますが、バージョンが上がる度に修正が必要となり管理が大変になります。> > できれば次期バージョンにこのタイムカードの時間の丸め方法を管理者設定できるようにして欲しいです。> > どうぞ宜しくお願いします。> >
自分の投稿文を再度確認したところ、勘違いされないかと思い、追記します。※打刻時間は切り上げたりの操作はしていません。終了時間だけです。 なので、開始時間の切り上げ・切り捨て、終了時間の切り上げ・切り捨てを選択可能にして欲しい。うちでの運用方法1.タイムカードの打刻は開始・終了共にクリックした時間のままとする。2.始業時間と終了時間は共に切り上げにしている。3.GroupSessionの機能により、15分刻みにしている。上記の2.の終了時間が切り捨てになっていたので、切り上げるようにしています。以下 修正ソースコードです。修正したファイルは「TimecardBiz.java」です。 /** * <br>[機 能] 終業時間の調整を行う * <br>[解 説] 終業時間が入力単位と異なる場合、 終業時間の切捨てを行う * <br>[備 考] * @param outTime 終業時間 * @param interval 入力単位 * @return 終業時間 */ public static Time adjustOuttime(Time outTime, int interval) { if (outTime != null) {// 終業時間は切り上げとする MOD START// UDate adjustTime = UDate.getInstance(outTime.getTime());// if (adjustTime.getIntMinute() % interval != 0) {// adjustTime.addMinute(-1 * (adjustTime.getIntMinute() % interval));// return new Time(adjustTime.getTime());// } UDate adjustTime = UDate.getInstance(outTime.getTime()); if (adjustTime.getIntMinute() % interval != 0) { adjustTime.addMinute(interval - (adjustTime.getIntMinute() % interval)); return new Time(adjustTime.getTime()); }// 終業時間は切り上げとする MOD END } return outTime; }
TOP