Min пре 11 месеци
родитељ
комит
e7107bf634

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

@@ -254,7 +254,7 @@ public class UserWithBeisenController {
                                         //打卡获取到的加班时长大于加班单时长 需要在打卡体现的时长-打卡体现的加班时长+加班单时长
                                         workTime=workTime+o.getDouble("OverTimeDuration");
                                     }else{
-                                        workTime=workTime+divide.doubleValue();
+                                        workTime=workTime+round(divide.doubleValue(),0.5);
                                     }
                                 }else {
                                     //开始日期和结束日期是不相同的情况 说明是加班区间存在加班到第二天的情况
@@ -270,7 +270,7 @@ public class UserWithBeisenController {
                                         //打卡获取到的加班时长大于加班单时长 需要在打卡体现的时长-打卡体现的加班时长+加班单时长
                                         workTime=workTime+l;
                                     }else {
-                                        workTime=workTime+divide.doubleValue();
+                                        workTime=workTime+round(divide.doubleValue(),0.5);
                                     }
                                 }
                             }else if(LocalDateTime.parse(o.getString("StopDate"),df1).toLocalDate().isEqual(localDate)){
@@ -283,7 +283,7 @@ public class UserWithBeisenController {
                                         //打卡获取到的加班时长大于加班单时长 需要在打卡体现的时长-打卡体现的加班时长+加班单时长
                                         workTime=workTime+o.getDouble("OverTimeDuration");
                                     }else {
-                                        workTime=workTime+divide.doubleValue();
+                                        workTime=workTime+round(divide.doubleValue(),0.5);
                                     }
                                 }else {
                                     //开始日期和结束日期是不相同的情况 说明是加班区间存在加班到第二天的情况
@@ -299,7 +299,7 @@ public class UserWithBeisenController {
                                         //打卡获取到的加班时长大于加班单时长 需要在打卡体现的时长-打卡体现的加班时长+加班单时长
                                         workTime=workTime+l;
                                     }else {
-                                        workTime=workTime+divide.doubleValue();
+                                        workTime=workTime+round(divide.doubleValue(),0.5);
                                     }
                                 }
                             }
@@ -503,7 +503,8 @@ public class UserWithBeisenController {
                                 //打卡获取到的加班时长大于加班单时长 需要在打卡体现的时长-打卡体现的加班时长+加班单时长
                                 workTime=workTime+o.getDouble("OverTimeDuration");
                             }else{
-                                workTime=workTime+divide.doubleValue();
+                                //作为打卡获取到的加班时长 必须是0.5的倍数
+                                workTime=workTime+round(divide.doubleValue(),0.5);
                             }
                         }else {
                             //开始日期和结束日期是不相同的情况 说明是加班区间存在加班到第二天的情况
@@ -519,7 +520,7 @@ public class UserWithBeisenController {
                                 //打卡获取到的加班时长大于加班单时长 需要在打卡体现的时长-打卡体现的加班时长+加班单时长
                                 workTime=workTime+l;
                             }else {
-                                workTime=workTime+divide.doubleValue();
+                                workTime=workTime+round(divide.doubleValue(),0.5);
                             }
                         }
                     }else if(LocalDateTime.parse(o.getString("StopDate"),df1).toLocalDate().isEqual(localDate)){
@@ -532,7 +533,7 @@ public class UserWithBeisenController {
                                 //打卡获取到的加班时长大于加班单时长 需要在打卡体现的时长-打卡体现的加班时长+加班单时长
                                 workTime=workTime+o.getDouble("OverTimeDuration");
                             }else {
-                                workTime=workTime+divide.doubleValue();
+                                workTime=workTime+round(divide.doubleValue(),0.5);
                             }
                         }else {
                             //开始日期和结束日期是不相同的情况 说明是加班区间存在加班到第二天的情况
@@ -548,7 +549,7 @@ public class UserWithBeisenController {
                                 //打卡获取到的加班时长大于加班单时长 需要在打卡体现的时长-打卡体现的加班时长+加班单时长
                                 workTime=workTime+l;
                             }else {
-                                workTime=workTime+divide.doubleValue();
+                                workTime=workTime+round(divide.doubleValue(),0.5);
                             }
                         }
                     }
@@ -600,5 +601,12 @@ public class UserWithBeisenController {
         return msg;
     }
 
+    public static double round( double num, double multipleOf) {
+        if (num%multipleOf == 0){
+            return num;
+        }
+        return Math.floor(num / multipleOf) * multipleOf;
+    }
+
 }
 

+ 11 - 4
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/task/TimingTask.java

@@ -2329,7 +2329,7 @@ public class TimingTask {
                                         //打卡获取到的加班时长大于加班单时长 需要在打卡体现的时长-打卡体现的加班时长+加班单时长
                                         workTime=workTime+o.getDouble("OverTimeDuration");
                                     }else{
-                                        workTime=workTime+divide.doubleValue();
+                                        workTime=workTime+round(divide.doubleValue(),0.5);
                                     }
                                 }else {
                                     //开始日期和结束日期是不相同的情况 说明是加班区间存在加班到第二天的情况
@@ -2345,7 +2345,7 @@ public class TimingTask {
                                         //打卡获取到的加班时长大于加班单时长 需要在打卡体现的时长-打卡体现的加班时长+加班单时长
                                         workTime=workTime+l;
                                     }else {
-                                        workTime=workTime+divide.doubleValue();
+                                        workTime=workTime+round(divide.doubleValue(),0.5);
                                     }
                                 }
                             }else if(LocalDateTime.parse(o.getString("StopDate"),df1).toLocalDate().isEqual(localDate)){
@@ -2358,7 +2358,7 @@ public class TimingTask {
                                         //打卡获取到的加班时长大于加班单时长 需要在打卡体现的时长-打卡体现的加班时长+加班单时长
                                         workTime=workTime+o.getDouble("OverTimeDuration");
                                     }else {
-                                        workTime=workTime+divide.doubleValue();
+                                        workTime=workTime+round(divide.doubleValue(),0.5);
                                     }
                                 }else {
                                     //开始日期和结束日期是不相同的情况 说明是加班区间存在加班到第二天的情况
@@ -2374,7 +2374,7 @@ public class TimingTask {
                                         //打卡获取到的加班时长大于加班单时长 需要在打卡体现的时长-打卡体现的加班时长+加班单时长
                                         workTime=workTime+l;
                                     }else {
-                                        workTime=workTime+divide.doubleValue();
+                                        workTime=workTime+round(divide.doubleValue(),0.5);
                                     }
                                 }
                             }
@@ -2477,6 +2477,13 @@ public class TimingTask {
         }
     }
 
+    public static double round( double num, double multipleOf) {
+        if (num%multipleOf == 0){
+            return num;
+        }
+        return Math.floor(num / multipleOf) * multipleOf;
+    }
+
 
 
     @Scheduled(cron = "1 1 1 1 1 ?")