Kaynağa Gözat

修改北森考勤获取接口

seyason 1 yıl önce
ebeveyn
işleme
97bea41508

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

@@ -234,11 +234,11 @@ public class UserWithBeisenController {
         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());
         //获取当前数据下的人员工号对应到工时管家
-        String cardNumber = item.getString("staffId");
-        Optional<User> first = userList.stream().filter(f -> f.getJobNumber().equals(cardNumber)).findFirst();
+        Optional<User> first = userList.stream().filter(f -> f.getJobNumber().equals(withBeisen.get().getJobNumber())).findFirst();
+        System.out.println("考勤数据:"+item.toString());
         //todo: 获取早晚打卡时间
-        String firstCard = item.getString("firstCard");
-        String lastCard = item.getString("lastCard");
+        String firstCard = item.getString("firstCardIncludeFillCheck").split(" ")[1];
+        String lastCard = item.getString("lastCardIncludeFillCheck").split(" ")[1];
         //获取最晚下班时间
         if(first.isPresent()){
             boolean workDay = WorkDayCalculateUtils.isWorkDay(LocalDate.parse(createDate,df));
@@ -249,6 +249,10 @@ public class UserWithBeisenController {
             if(beisen.isPresent()){
                 List<JSONObject> overTimeList = overTimeStream.filter(a -> a.getString("StaffId").equals(beisen.get().getUserId())
                         && a.getIntValue("ApproveStatus") == 2).collect(Collectors.toList());
+                System.out.println("加班时长数据:"+overTimeList.toString());
+                for (JSONObject jsonObject : overTimeList) {
+                    System.out.println("加班时长:"+jsonObject.getDouble("ActualOverTimeDuration"));
+                }
                 if(overTimeList.size()>0){
                     double actualOverTimeDuration = overTimeList.stream().mapToDouble(i -> i.getDouble("ActualOverTimeDuration")).sum();
                     if(workDay){
@@ -271,6 +275,8 @@ public class UserWithBeisenController {
             }
             userFvTimeService.saveOrUpdate(userFvTime);
             msg.setData(userFvTime);
+        } else {
+            msg.setError("未找到对应员工信息:staffId="+withBeisen.get().getUserId());
         }
         return msg;
     }