|
@@ -23,6 +23,7 @@ import org.springframework.web.bind.annotation.RestController;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
+import java.time.Duration;
|
|
|
import java.time.LocalDate;
|
|
|
import java.time.LocalDateTime;
|
|
|
import java.time.LocalTime;
|
|
@@ -232,7 +233,7 @@ public class UserWithBeisenController {
|
|
|
return msg;
|
|
|
}
|
|
|
JSONObject item = BeiSenUtils.getAttendanceStatisticWithUser(createDate,withBeisen.get().getUserId(), beisenConfig.getAppKey(), beisenConfig.getAppSecret());
|
|
|
- JSONArray allOverTimeList = BeiSenUtils.getScheduledOverTimeRangeList(createDate,createDate,withBeisen.get().getUserId(), beisenConfig.getAppKey(), beisenConfig.getAppSecret());
|
|
|
+ JSONArray allOverTimeList = BeiSenUtils.getScheduledOverTimeRangeList(createDate,"2024-03-26",withBeisen.get().getUserId(), beisenConfig.getAppKey(), beisenConfig.getAppSecret());
|
|
|
//获取当前数据下的人员工号对应到工时管家
|
|
|
Optional<User> first = userList.stream().filter(f -> f.getJobNumber().equals(withBeisen.get().getJobNumber())).findFirst();
|
|
|
System.out.println("考勤数据:"+item.toString());
|
|
@@ -247,14 +248,19 @@ public class UserWithBeisenController {
|
|
|
Stream<JSONObject> overTimeStream = allOverTimeList.stream().map(elment -> (JSONObject) elment);
|
|
|
Optional<UserWithBeisen> beisen = userWithBeisenList.stream().filter(u -> u.getJobNumber() != null && u.getJobNumber().equals(first.get().getJobNumber())).findFirst();
|
|
|
if(beisen.isPresent()){
|
|
|
- List<JSONObject> overTimeList = overTimeStream.filter(a -> a.getString("StaffId").equals(beisen.get().getUserId())
|
|
|
- && a.getIntValue("ApproveStatus") == 2).collect(Collectors.toList());
|
|
|
+ List<JSONObject> overTimeList = overTimeStream.filter(a -> a.getString("staffID").equals(beisen.get().getUserId())).collect(Collectors.toList());
|
|
|
System.out.println("加班时长数据:"+overTimeList.toString());
|
|
|
for (JSONObject jsonObject : overTimeList) {
|
|
|
- System.out.println("加班时长:"+jsonObject.getDouble("ActualOverTimeDuration"));
|
|
|
+ System.out.println("加班开始时间:"+jsonObject.getString("overTimeStartTime"));
|
|
|
+ System.out.println("加班结束时间:"+jsonObject.getString("overTimeEndTime"));
|
|
|
}
|
|
|
if(overTimeList.size()>0){
|
|
|
- double actualOverTimeDuration = overTimeList.stream().mapToDouble(i -> i.getDouble("ActualOverTimeDuration")).sum();
|
|
|
+ double actualOverTimeDuration = overTimeList.stream().mapToDouble(i ->{
|
|
|
+ LocalDateTime overTimeStartTime = LocalDateTime.parse(i.getString("overTimeStartTime"), df1);
|
|
|
+ LocalDateTime overTimeEndTime = LocalDateTime.parse(i.getString("overTimeEndTime"), df1);
|
|
|
+ Duration between = Duration.between(overTimeStartTime, overTimeEndTime);
|
|
|
+ return between.toHours();
|
|
|
+ }).sum();
|
|
|
if(workDay){
|
|
|
workTime= workTime+actualOverTimeDuration;
|
|
|
}else {
|