From 18ab3c16930b4849078489bcdc8bc3b3a89a775a Mon Sep 17 00:00:00 2001 From: aikai Date: Wed, 12 Jun 2024 10:07:52 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E7=8F=AD=E6=AC=A1=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E7=9A=84=E6=9C=BA=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../attendance/fixed/AttendanceFixedServiceImpl.java | 5 ++++- .../scheduling/AttendanceSchedulingServiceImpl.java | 6 +++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/fixed/AttendanceFixedServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/fixed/AttendanceFixedServiceImpl.java index 78b1e483..e3d3285a 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/fixed/AttendanceFixedServiceImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/fixed/AttendanceFixedServiceImpl.java @@ -70,12 +70,15 @@ public class AttendanceFixedServiceImpl implements AttendanceFixedService, Punch groupId = attendanceGroupId; attendanceFixedMapper.insertBatch(saveList); } + LocalDateTime now = LocalDateTime.now(); + int week = now.getDayOfWeek().getValue(); if (!editList.isEmpty()) { Map map = oldList.stream().collect(Collectors.toMap(AttendanceFixedDO::getWeekTime, a -> a)); for (AttendanceFixedDO attendanceFixedDO : editList) { AttendanceFixedDO item = map.get(attendanceFixedDO.getWeekTime()); boolean eqFlag = BeanUtil.isCommonFieldsEqual(attendanceFixedDO, item, "createTime", "updateTime", "creator", "updater", "deleted"); - if (!eqFlag) { + // -- 判断当天是周几是否和当前修改的时间为同一天 如果是的话则判断则提示立即生效 + if (!eqFlag && week == attendanceFixedDO.getWeekTime()) { groupId = attendanceGroupId; break; } diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/scheduling/AttendanceSchedulingServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/scheduling/AttendanceSchedulingServiceImpl.java index 2cd96979..37209f35 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/scheduling/AttendanceSchedulingServiceImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/scheduling/AttendanceSchedulingServiceImpl.java @@ -71,12 +71,16 @@ public class AttendanceSchedulingServiceImpl implements AttendanceSchedulingServ groupId = attendanceGroupId; schedulingMapper.insertBatch(saveList); } + //获取到当天是第几天 + String schedulingKey = Constants.SCHEDULING + Constants.UNDERLINE + attendanceGroupId; + String indexDayObj = stringRedisTemplate.opsForValue().get(schedulingKey); if (!editList.isEmpty()) { Map map = oldList.stream().collect(Collectors.toMap(AttendanceSchedulingDO::getIndexDay, a -> a)); for (AttendanceSchedulingDO attendanceSchedulingDO : editList) { AttendanceSchedulingDO item = map.get(attendanceSchedulingDO.getIndexDay()); boolean eqFlag = BeanUtil.isCommonFieldsEqual(attendanceSchedulingDO, item, "createTime", "updateTime", "creator", "updater", "deleted"); - if (!eqFlag) { + // -- 判断当天是修改的数据是否是当天 - 如果是的话则需要更新 + if (!eqFlag && (StrUtil.isNotEmpty(indexDayObj) && Integer.parseInt(indexDayObj) == attendanceSchedulingDO.getIndexDay())) { groupId = attendanceGroupId; break; }