|
@@ -1107,9 +1107,12 @@ public class ReportController {
|
|
int excludeTime = 0;
|
|
int excludeTime = 0;
|
|
if (excludeTimeList.size() > 0) {
|
|
if (excludeTimeList.size() > 0) {
|
|
for (TimeAutoExclude exclude : excludeTimeList) {
|
|
for (TimeAutoExclude exclude : excludeTimeList) {
|
|
- if (exclude.getStartTime().compareTo(startTime) >= 0 && exclude.getEndTime().compareTo(endTime) <= 0) {
|
|
|
|
|
|
+ if (!(exclude.getEndTime().compareTo(startTime) < 0 || exclude.getStartTime().compareTo(endTime) > 0)) {
|
|
|
|
+ //有交叉的情况,结束时间取较早的,开始时间取较晚的
|
|
|
|
+ endTime = exclude.getEndTime().compareTo(endTime) <0 ? exclude.getEndTime() : endTime;
|
|
|
|
+ startTime = exclude.getStartTime().compareTo(startTime) > 0 ? exclude.getStartTime() : startTime;
|
|
//落在休息时间范围内,需要计算去掉的时间
|
|
//落在休息时间范围内,需要计算去掉的时间
|
|
- excludeTime += sdf.parse(exclude.getEndTime()).getTime() - sdf.parse(exclude.getStartTime()).getTime();
|
|
|
|
|
|
+ excludeTime += sdf.parse(endTime).getTime() - sdf.parse(startTime).getTime();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|