Min 1 year ago
parent
commit
fee05009f0

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

@@ -174,14 +174,16 @@ public class UserWithBeisenController {
                     Double workTime=8.0;
                     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();
-                    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 -> i.getDouble("ActualOverTimeDuration")).sum();
-                        if(workDay){
-                            workTime= workTime+actualOverTimeDuration;
-                        }else {
-                            workTime= actualOverTimeDuration;
+                    if(beisen.isPresent()){
+                        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 -> i.getDouble("ActualOverTimeDuration")).sum();
+                            if(workDay){
+                                workTime= workTime+actualOverTimeDuration;
+                            }else {
+                                workTime= actualOverTimeDuration;
+                            }
                         }
                     }
                     UserFvTime userFvTime=new UserFvTime();

+ 10 - 8
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/task/TimingTask.java

@@ -2089,14 +2089,16 @@ public class TimingTask {
                     Double workTime=8.0;
                     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();
-                    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 -> i.getDouble("ActualOverTimeDuration")).sum();
-                        if(workDay){
-                            workTime= workTime+actualOverTimeDuration;
-                        }else {
-                            workTime= actualOverTimeDuration;
+                    if(beisen.isPresent()){
+                        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 -> i.getDouble("ActualOverTimeDuration")).sum();
+                            if(workDay){
+                                workTime= workTime+actualOverTimeDuration;
+                            }else {
+                                workTime= actualOverTimeDuration;
+                            }
                         }
                     }
                     UserFvTime userFvTime=new UserFvTime();