浏览代码

北森当日考勤加班获取

Min 1 年之前
父节点
当前提交
636c896d7b

+ 4 - 13
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/UserWithBeisenController.java

@@ -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 {