休息班扣除休息时长优化

nb0402
chenxu1234 1 year ago
parent 26948accc3
commit e0aab92179

@ -417,6 +417,8 @@ public class KQOverTimeRuleCalBiz {
// } // }
int across_mins = 0; int across_mins = 0;
String fromTimeCheck = "";
String toTimeCheck = "";
for(int i = 0 ; i < cross_time_list.size() ;) { for(int i = 0 ; i < cross_time_list.size() ;) {
int cross_fromtime_index = cross_time_list.get(i); int cross_fromtime_index = cross_time_list.get(i);
int cross_totime_index = cross_time_list.get(i + 1); int cross_totime_index = cross_time_list.get(i + 1);
@ -449,7 +451,8 @@ public class KQOverTimeRuleCalBiz {
String cross_totime = kqTimesArrayComInfo.getTimesByArrayindex(flow_cross_totime_index); String cross_totime = kqTimesArrayComInfo.getTimesByArrayindex(flow_cross_totime_index);
String cross_fromdate = realSplitDate; String cross_fromdate = realSplitDate;
String cross_todate = realSplitDate; String cross_todate = realSplitDate;
fromTimeCheck = cross_fromtime;
toTimeCheck = cross_totime;
boolean needSplitByTime = false; boolean needSplitByTime = false;
if(needSplitByTime){ if(needSplitByTime){
// 按照加班时长转调休的 时长设置 这个逻辑如果后面要开启来可以直接用的 // 按照加班时长转调休的 时长设置 这个逻辑如果后面要开启来可以直接用的
@ -558,11 +561,19 @@ public class KQOverTimeRuleCalBiz {
String searIdFrom = workTimeEntity.getSerialId(); String searIdFrom = workTimeEntity.getSerialId();
//如果是休班次,加班类型为休息日加班 //如果是休班次,加班类型为休息日加班
if (isRestSerial(searIdFrom,rs)) { if (isRestSerial(searIdFrom,rs)) {
kqLog.info("原始across_mins:"+across_mins); kqLog.info("原始across_mins:"+across_mins+"fromTimeCheck:"+fromTimeCheck+"toTimeCheck:"+toTimeCheck);
String signinTimeNew = kqTimesArrayComInfo.turn48to24Time(signinTime); String signinTimeNew = kqTimesArrayComInfo.turn48to24Time(signinTime);
String signoutTimeNew = kqTimesArrayComInfo.turn48to24Time(signoutTime); String signoutTimeNew = kqTimesArrayComInfo.turn48to24Time(signoutTime);
if(StringUtils.isNotBlank(fromTimeCheck)){
signinTimeNew = fromTimeCheck;
}
if(StringUtils.isNotBlank(toTimeCheck)){
signoutTimeNew = toTimeCheck;
}
Double newHours = recalculateOverTime(divide(String.valueOf(across_mins),"60"),searIdFrom, signinDate, signinTimeNew, signoutDate, signoutTimeNew, rs, singleRs); Double newHours = recalculateOverTime(divide(String.valueOf(across_mins),"60"),searIdFrom, signinDate, signinTimeNew, signoutDate, signoutTimeNew, rs, singleRs);
across_mins = newHours.intValue()*60; Double newMinsBy = newHours*60;
across_mins = newMinsBy.intValue();
kqLog.info("newHours:"+newHours+"mins:"+across_mins); kqLog.info("newHours:"+newHours+"mins:"+across_mins);
} }
@ -1014,7 +1025,8 @@ public class KQOverTimeRuleCalBiz {
String signinTimeNew = kqTimesArrayComInfo.turn48to24Time(signinTime); String signinTimeNew = kqTimesArrayComInfo.turn48to24Time(signinTime);
String signoutTimeNew = kqTimesArrayComInfo.turn48to24Time(signoutTime); String signoutTimeNew = kqTimesArrayComInfo.turn48to24Time(signoutTime);
Double newHours = recalculateOverTime(divide(String.valueOf(mins),"60"),searIdFrom, signinDate, signinTimeNew, signoutDate, signoutTimeNew, rs, singleRs); Double newHours = recalculateOverTime(divide(String.valueOf(mins),"60"),searIdFrom, signinDate, signinTimeNew, signoutDate, signoutTimeNew, rs, singleRs);
mins = newHours.intValue()*60; Double newMinsBy = newHours*60;
mins = newMinsBy.intValue();
kqLog.info("newHours:"+newHours+"mins:"+mins); kqLog.info("newHours:"+newHours+"mins:"+mins);
} }
@ -3527,6 +3539,4 @@ public class KQOverTimeRuleCalBiz {
bb.writeLog("====baseWriteLog-data:"+data); bb.writeLog("====baseWriteLog-data:"+data);
} }
} }

Loading…
Cancel
Save