|
@@ -233,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,"2024-03-26",withBeisen.get().getUserId(), beisenConfig.getAppKey(), beisenConfig.getAppSecret());
|
|
|
+ JSONArray allOverTimeList = BeiSenUtils.getOverTimeList(createDate,beisenConfig.getAppKey(),beisenConfig.getAppSecret(),1,100);
|
|
|
//获取当前数据下的人员工号对应到工时管家
|
|
|
Optional<User> first = userList.stream().filter(f -> f.getJobNumber().equals(withBeisen.get().getJobNumber())).findFirst();
|
|
|
System.out.println("考勤数据:"+item.toString());
|
|
@@ -248,19 +248,10 @@ 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())).collect(Collectors.toList());
|
|
|
- System.out.println("加班时长数据:"+overTimeList.toString());
|
|
|
- for (JSONObject jsonObject : overTimeList) {
|
|
|
- System.out.println("加班开始时间:"+jsonObject.getString("overTimeStartTime"));
|
|
|
- System.out.println("加班结束时间:"+jsonObject.getString("overTimeEndTime"));
|
|
|
- }
|
|
|
+ List<JSONObject> overTimeList = overTimeStream.filter(a -> a.getString("StaffId").equals(beisen.get().getUserId())
|
|
|
+ && a.getIntValue("ApproveStatus") == 2).collect(Collectors.toList());
|
|
|
if(overTimeList.size()>0){
|
|
|
- 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();
|
|
|
+ double actualOverTimeDuration = overTimeList.stream().mapToDouble(i -> i.getDouble("ActualOverTimeDuration")).sum();
|
|
|
if(workDay){
|
|
|
workTime= workTime+actualOverTimeDuration;
|
|
|
}else {
|