Min пре 1 година
родитељ
комит
44c51ed6c2

+ 10 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/UserFvTimeController.java

@@ -352,6 +352,7 @@ public class UserFvTimeController {
             }
         }
         List<UserFvTime> userFvTimeList=new ArrayList<>();
+        List<UserFvTime> userFvTimeUpdateList=new ArrayList<>();
         for (Map item : list) {
             Optional<User> user = userList.stream().filter(ul -> ul.getJobNumber() != null && ul.getJobNumber().equals(item.get("userId"))).findFirst();
             if(user.isPresent()){
@@ -367,8 +368,12 @@ public class UserFvTimeController {
                     bigDecimal=bigDecimal.subtract(new BigDecimal(1.5));
                 }
                 userFvTime.setWorkHours(bigDecimal.floatValue());
-                if(!allList.stream().anyMatch(al->al.getUserId().equals(user.get().getId())&&al.getWorkDate().equals(LocalDate.parse(String.valueOf(item.get("signDate")),date)))){
+                Optional<UserFvTime> first = allList.stream().filter(al -> al.getUserId().equals(user.get().getId()) && al.getWorkDate().equals(LocalDate.parse(String.valueOf(item.get("signDate")), date))).findFirst();
+                if(!first.isPresent()){
                     userFvTimeList.add(userFvTime);
+                }else {
+                    userFvTime.setId(first.get().getId());
+                    userFvTimeUpdateList.add(userFvTime);
                 }
             }
         }
@@ -376,6 +381,10 @@ public class UserFvTimeController {
             httpRespMsg.setError("验证失败");
             return httpRespMsg;
         }
+        if(!userFvTimeService.updateBatchById(userFvTimeUpdateList)){
+            httpRespMsg.setError("验证失败");
+            return httpRespMsg;
+        }
         User user = userMapper.selectById(request.getHeader("token"));
         TimeType timeType = timeTypeMapper.selectById(user.getCompanyId());
         List<UserFvTime> timeList = userFvTimeService.list(new QueryWrapper<UserFvTime>().between("work_date", startDate, endDate).eq("company_id", user.getCompanyId()).eq("user_id", user.getId()));

+ 7 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/task/TimingTask.java

@@ -705,6 +705,7 @@ public class TimingTask {
                 }
             }
             List<UserFvTime> userFvTimeList=new ArrayList<>();
+            List<UserFvTime> userFvTimeUpdateList=new ArrayList<>();
             for (Map item : list) {
                 Optional<User> user = userList.stream().filter(ul -> ul.getJobNumber() != null && ul.getJobNumber().equals(item.get("userId"))).findFirst();
                 if(user.isPresent()){
@@ -718,12 +719,17 @@ public class TimingTask {
                     BigDecimal bigDecimal=new BigDecimal(between.toHours());
                     bigDecimal=bigDecimal.subtract(new BigDecimal(1.5));
                     userFvTime.setWorkHours(bigDecimal.floatValue());
-                    if(!allList.stream().anyMatch(al->al.getUserId().equals(user.get().getId())&&al.getWorkDate().equals(LocalDate.parse(String.valueOf(item.get("signDate")),date)))){
+                    Optional<UserFvTime> first = allList.stream().filter(al -> al.getUserId().equals(user.get().getId()) && al.getWorkDate().equals(LocalDate.parse(String.valueOf(item.get("signDate")), date))).findFirst();
+                    if(!first.isPresent()){
                         userFvTimeList.add(userFvTime);
+                    }else {
+                        userFvTime.setId(first.get().getId());
+                        userFvTimeUpdateList.add(userFvTime);
                     }
                 }
             }
             userFvTimeService.saveBatch(userFvTimeList);
+            userFvTimeService.updateBatchById(userFvTimeUpdateList);
         }
     }