|
|
|
@ -271,18 +271,23 @@ public class GetOvertimeDurationCmd extends AbstractCommonCommand<Map<String, Ob
|
|
|
|
|
* 当存在请假时,考虑扣除请假时长
|
|
|
|
|
*/
|
|
|
|
|
String forComputeStartTime = realityStartTime;
|
|
|
|
|
String forComputeAskForStartTime = kssj;
|
|
|
|
|
if (DateUtil.getTime(forComputeStartTime).compareTo(DateUtil.getTime(kssj)) <0){
|
|
|
|
|
if (CheckBoxEnum.CHECKED.getKey().equals(tqdkjrjb) && CheckBoxEnum.CHECKED.getKey().equals(ksjbbxydk)) {
|
|
|
|
|
//提前打卡记入分钟数
|
|
|
|
|
forComputeStartTime = realityStartTime;
|
|
|
|
|
forComputeAskForStartTime = realityStartTime;
|
|
|
|
|
}else {
|
|
|
|
|
if (startClockPointDTO.size()>0 && startClockPointDTO.get(0).getElasticTime() != null && !startClockPointDTO.get(0).getElasticTime().equals("")){
|
|
|
|
|
forComputeStartTime = startClockPointDTO.get(0).getElasticTime();
|
|
|
|
|
forComputeAskForStartTime = startClockPointDTO.get(0).getElasticTime();
|
|
|
|
|
}else {
|
|
|
|
|
forComputeStartTime = kssj;
|
|
|
|
|
forComputeAskForStartTime = kssj;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}else {
|
|
|
|
|
forComputeAskForStartTime = realityStartTime;
|
|
|
|
|
if (startClockPointDTO.size()>0 && startClockPointDTO.get(0).getElasticTime() != null && !startClockPointDTO.get(0).getElasticTime().equals("")){
|
|
|
|
|
forComputeStartTime = startClockPointDTO.get(0).getElasticTime();
|
|
|
|
|
}else {
|
|
|
|
@ -290,32 +295,36 @@ public class GetOvertimeDurationCmd extends AbstractCommonCommand<Map<String, Ob
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
String forComputeEndTime = realityEndime;
|
|
|
|
|
String forComputeAskForEndTime = jssj;
|
|
|
|
|
if (DateUtil.getTime(forComputeEndTime).compareTo(DateUtil.getTime(jssj)) >0){
|
|
|
|
|
if (CheckBoxEnum.CHECKED.getKey().equals(thdkjrjb) && CheckBoxEnum.CHECKED.getKey().equals(jsjbbxydk)) {
|
|
|
|
|
//推后打卡计入分钟数
|
|
|
|
|
forComputeEndTime = realityEndime;
|
|
|
|
|
|
|
|
|
|
forComputeAskForEndTime = realityEndime;
|
|
|
|
|
}else {
|
|
|
|
|
if (endClockPointDTO.size()>0 && endClockPointDTO.get(0).getElasticTime() != null && !endClockPointDTO.get(0).getElasticTime().equals("")){
|
|
|
|
|
forComputeEndTime = endClockPointDTO.get(0).getElasticTime();
|
|
|
|
|
forComputeAskForEndTime = endClockPointDTO.get(0).getElasticTime();
|
|
|
|
|
}else {
|
|
|
|
|
forComputeEndTime = jssj;
|
|
|
|
|
forComputeAskForEndTime = jssj;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}else {
|
|
|
|
|
forComputeAskForEndTime = realityEndime;
|
|
|
|
|
if (endClockPointDTO.size()>0 && endClockPointDTO.get(0).getElasticTime() != null && !endClockPointDTO.get(0).getElasticTime().equals("")){
|
|
|
|
|
forComputeEndTime = endClockPointDTO.get(0).getElasticTime();
|
|
|
|
|
}else {
|
|
|
|
|
forComputeEndTime = jssj;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
int askForLeaveTime = removeAskForLeave(scheduleMap,realityStartTime, realityEndime
|
|
|
|
|
int askForLeaveTime = removeAskForLeave(scheduleMap,forComputeAskForStartTime, forComputeAskForEndTime
|
|
|
|
|
, bdlx, askForLeaveList, askForLeaveItems, askForLeaveToOffsetAbnomaly);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 当存在外出时,考虑扣除外出时长
|
|
|
|
|
*/
|
|
|
|
|
int evectionTime = removeEvection(scheduleMap,realityStartTime, realityEndime
|
|
|
|
|
int evectionTime = removeEvection(scheduleMap,forComputeAskForStartTime, forComputeAskForEndTime
|
|
|
|
|
, bdlx, evectionList, evectionItems, evectionToOffsetAbnomaly);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|