|
@@ -1102,20 +1102,20 @@ public class ReportController {
|
|
try {
|
|
try {
|
|
report.setStartTime(startTime).setEndTime(endTime);
|
|
report.setStartTime(startTime).setEndTime(endTime);
|
|
long time = sdf.parse(report.getEndTime()).getTime() - sdf.parse(report.getStartTime()).getTime();
|
|
long time = sdf.parse(report.getEndTime()).getTime() - sdf.parse(report.getStartTime()).getTime();
|
|
- //是否要扣除休息时间,如果是加班,则不需要扣除
|
|
|
|
- if (report.getIsOvertime() == 0) {
|
|
|
|
- int excludeTime = 0;
|
|
|
|
- if (excludeTimeList.size() > 0) {
|
|
|
|
- for (TimeAutoExclude exclude : excludeTimeList) {
|
|
|
|
- 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(endTime).getTime() - sdf.parse(startTime).getTime();
|
|
|
|
- }
|
|
|
|
|
|
+
|
|
|
|
+ int excludeTime = 0;
|
|
|
|
+ if (excludeTimeList.size() > 0) {
|
|
|
|
+ for (TimeAutoExclude exclude : excludeTimeList) {
|
|
|
|
+ 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(endTime).getTime() - sdf.parse(startTime).getTime();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ }
|
|
|
|
+ if (excludeTime > 0) {
|
|
time -= excludeTime;//去掉休息时间
|
|
time -= excludeTime;//去掉休息时间
|
|
}
|
|
}
|
|
|
|
|
|
@@ -1138,16 +1138,16 @@ public class ReportController {
|
|
WorktimeItem item = JSONObject.toJavaObject(jsonObject, WorktimeItem.class);
|
|
WorktimeItem item = JSONObject.toJavaObject(jsonObject, WorktimeItem.class);
|
|
long time = sdf.parse(item.getEndTime()).getTime() - sdf.parse(item.getStartTime()).getTime();
|
|
long time = sdf.parse(item.getEndTime()).getTime() - sdf.parse(item.getStartTime()).getTime();
|
|
//是否要扣除休息时间,如果是加班,则不需要扣除
|
|
//是否要扣除休息时间,如果是加班,则不需要扣除
|
|
- if (report.getIsOvertime() == 0) {
|
|
|
|
- int excludeTime = 0;
|
|
|
|
- if (excludeTimeList.size() > 0) {
|
|
|
|
- for (TimeAutoExclude exclude : excludeTimeList) {
|
|
|
|
- if (exclude.getStartTime().compareTo(item.getStartTime()) >= 0 && exclude.getEndTime().compareTo(item.getEndTime()) <= 0) {
|
|
|
|
- //落在休息时间范围内,需要计算去掉的时间
|
|
|
|
- excludeTime += sdf.parse(exclude.getEndTime()).getTime() - sdf.parse(exclude.getStartTime()).getTime();
|
|
|
|
- }
|
|
|
|
|
|
+ int excludeTime = 0;
|
|
|
|
+ if (excludeTimeList.size() > 0) {
|
|
|
|
+ for (TimeAutoExclude exclude : excludeTimeList) {
|
|
|
|
+ if (exclude.getStartTime().compareTo(item.getStartTime()) >= 0 && exclude.getEndTime().compareTo(item.getEndTime()) <= 0) {
|
|
|
|
+ //落在休息时间范围内,需要计算去掉的时间
|
|
|
|
+ excludeTime += sdf.parse(exclude.getEndTime()).getTime() - sdf.parse(exclude.getStartTime()).getTime();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ }
|
|
|
|
+ if (excludeTime > 0) {
|
|
time -= excludeTime;
|
|
time -= excludeTime;
|
|
}
|
|
}
|
|
|
|
|