Procházet zdrojové kódy

考勤合并规则修改多打卡如果等于考勤可以通过

anderx před 1 rokem
rodič
revize
bb4cc71ce8

+ 14 - 12
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java

@@ -986,18 +986,20 @@ public class SysUserServiceImpl implements ISysUserService
         if (!list2.isEmpty()){
             //判定多打卡状态是否正常
             for (UserRecord e : list2) {
-                e.getRecordTime().toInstant();
-                LocalDateTime localDateTime = LocalDateTime.ofInstant(e.getRecordTime().toInstant(), ZoneId.systemDefault());
-                LocalDate localDate = localDateTime.toLocalDate();
-                List<ProjectStaffRecord> list3 = projectStaffRecordMapper.selectByDDUidAndTime(e.getDdUserId(), localDate);
-                BigDecimal sum = BigDecimal.ZERO;
-                for (ProjectStaffRecord e2 : list3) {
-                    sum = sum.add(BigDecimal.valueOf(e2.getCheckDuration()));
-                }
-                BigDecimal sum2 = BigDecimal.valueOf(e.getSumDuration());
-                if (sum.compareTo(sum2) != 0){
-                    String dateStr = DateUtils.parseStrYYYYnMMyDD(e.getRecordTime());
-                    return  AjaxResult.error(String.format("[%S]考勤[%S]存在多打卡,请处理后再提交",e.getName(),dateStr));
+                if (e.getStatus()==0){
+                    e.getRecordTime().toInstant();
+                    LocalDateTime localDateTime = LocalDateTime.ofInstant(e.getRecordTime().toInstant(), ZoneId.systemDefault());
+                    LocalDate localDate = localDateTime.toLocalDate();
+                    List<ProjectStaffRecord> list3 = projectStaffRecordMapper.selectByDDUidAndTime(e.getDdUserId(), localDate);
+                    BigDecimal sum = BigDecimal.ZERO;
+                    for (ProjectStaffRecord e2 : list3) {
+                        sum = sum.add(BigDecimal.valueOf(e2.getCheckDuration()));
+                    }
+                    BigDecimal sum2 = BigDecimal.valueOf(e.getSumDuration());
+                    if (sum.compareTo(sum2) != 0){
+                        String dateStr = DateUtils.parseStrYYYYnMMyDD(e.getRecordTime());
+                        return  AjaxResult.error(String.format("[%S]考勤[%S]存在多打卡,请处理后再提交",e.getName(),dateStr));
+                    }
                 }
             }
         }