diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/controller/AttDetailByMonthController.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/controller/AttDetailByMonthController.java index 5ebd225..76b7f60 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/controller/AttDetailByMonthController.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/controller/AttDetailByMonthController.java @@ -209,7 +209,12 @@ public class AttDetailByMonthController extends BaseController { dayTable.setEndDate(monthFirstAndLast.get(1)); if(bean.getOrgId() != null){ dayTable.setOrgId(String.valueOf(bean.getOrgId())); + }else{ + //受限于当前登录人 + if(bean.getOrgList() != null && !bean.getOrgList().isEmpty()){ + dayTable.setOrgList(bean.getOrgList()); } + } dayTable.setName(bean.getName()); headers.entrySet() .forEach(entry -> { @@ -218,9 +223,15 @@ public class AttDetailByMonthController extends BaseController { att.setAttCurrentMonth(bean.getAttCurrentMonth()); if(bean.getOrgId() != null){ att.setOrgId(Long.valueOf(bean.getOrgId())); + }else{ + //受限于当前登录人 + if(bean.getOrgList() != null && !bean.getOrgList().isEmpty()){ + att.setOrgList(bean.getOrgList()); + } } att.setUserName(bean.getName()); - List list = attendanceDetailsService.getOutCountList(att); + //存在人员换组织情况,先查人再去查工作外出 + List list = attendanceDetailsService.getOrgUserOutCountList(att); Sheet departmentSheet2 = exporter.createSheet(entry.getValue()); List departmentHeaders2 = Arrays.asList("序号", "考勤日期", "姓名", "所属部门", "打卡时间", "打卡地址"); exporter.addHeaderRowAndTitle(departmentSheet2, departmentHeaders2, title); diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/dao/AttendanceDetailsDao.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/dao/AttendanceDetailsDao.java index 567650e..8cc0ae0 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/dao/AttendanceDetailsDao.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/dao/AttendanceDetailsDao.java @@ -91,4 +91,6 @@ public interface AttendanceDetailsDao { List getAttDayReportDetailsListData(AttDataDetailsBean bean); List getAttCountList(AttDataDetailsBean bean); + + List getOrgUserOutCountList(@Param("bean") AttDataDetailsBean bean); } diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/service/AttendanceDetailsService.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/service/AttendanceDetailsService.java index 0be31f7..739ed7e 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/service/AttendanceDetailsService.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/service/AttendanceDetailsService.java @@ -105,4 +105,6 @@ public interface AttendanceDetailsService { List getAttDayList(AttDataDetailsBean bean); List getAttCountList(AttDataDetailsBean bean); + + List getOrgUserOutCountList(AttDataDetailsBean bean); } diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/service/AttendanceDetailsServiceImpl.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/service/AttendanceDetailsServiceImpl.java index 38e36c0..d79a2e3 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/service/AttendanceDetailsServiceImpl.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/service/AttendanceDetailsServiceImpl.java @@ -230,6 +230,11 @@ public class AttendanceDetailsServiceImpl implements AttendanceDetailsService { return attendanceDetailsDao.getAttCountList(bean); } + @Override + public List getOrgUserOutCountList(AttDataDetailsBean bean) { + return attendanceDetailsDao.getOrgUserOutCountList(bean); + } + public List getAttDayReportListAll(List list) { List allList = new ArrayList<>(); Map map = list.stream() diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/tasks/MsgTasks.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/tasks/MsgTasks.java index ed32c8b..480a4af 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/tasks/MsgTasks.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/tasks/MsgTasks.java @@ -163,15 +163,16 @@ public class MsgTasks { @Async public void getAttSettingHistoryTask(){ log.info("--------考勤设置历史时间消息推送定时器开启------"); - String startDate = "2024-10-01"; - String endDate = "2025-01-20"; + String startDate = DateUtil.today(); +// String endDate = "2025-01-19"; + String endDate = DateUtil.today(); List dateList = getStrDateListBetween(startDate, endDate); - if(dateList.isEmpty()){ - dateList.add(DateUtil.today()); - } for (String s : dateList) { List attList = noticeService.getAttSettingHistoryDate(s); - noticeService.insertAttSettingHistoryData(attList); + if(!attList.isEmpty()){ + noticeService.insertAttSettingHistoryData(attList); + } + } log.info("--------考勤设置历史时间消息推送定时器开启------"); } diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/download/ExportFileController.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/download/ExportFileController.java index 0b6821b..284fd68 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/download/ExportFileController.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/download/ExportFileController.java @@ -733,7 +733,8 @@ public class ExportFileController { } } att.setUserName(bean.getUserName()); - List list = attendanceDetailsService.getOutCountList(att); + //存在人员换组织情况,先查人再去查工作外出 + List list = attendanceDetailsService.getOrgUserOutCountList(att); Sheet departmentSheet2 = exporter.createSheet(entry.getValue()); List departmentHeaders2 = Arrays.asList("序号", "考勤日期", "姓名", "所属部门", "打卡时间", "打卡地址"); exporter.addHeaderRowAndTitle(departmentSheet2, departmentHeaders2, title); diff --git a/bonus-modules/bonus-system/src/main/resources/mapper/att/AttendanceDetailsMapper.xml b/bonus-modules/bonus-system/src/main/resources/mapper/att/AttendanceDetailsMapper.xml index 0f2ef28..7711606 100644 --- a/bonus-modules/bonus-system/src/main/resources/mapper/att/AttendanceDetailsMapper.xml +++ b/bonus-modules/bonus-system/src/main/resources/mapper/att/AttendanceDetailsMapper.xml @@ -431,6 +431,37 @@ att_current_time ASC + + update att_data_update set update_att_current_time = #{params.toWorkAttCurrentTime},