From d4df9cff0f991d497aac6eafa1393efd7660fbf4 Mon Sep 17 00:00:00 2001 From: fl <3098731433@qq.com> Date: Thu, 6 Mar 2025 16:16:48 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9C=88=E6=8A=A5=E8=A1=A8=E8=80=83=E5=8B=A4?= =?UTF-8?q?=E7=BB=84=E6=88=90=E6=B7=BB=E5=8A=A0=20=E6=9C=88=E6=8A=A5?= =?UTF-8?q?=E8=A1=A8=E6=9F=A5=E8=AF=A2=E7=BB=84=E7=BB=87=E5=A4=9A=E9=80=89?= =?UTF-8?q?=20=E6=9C=88=E6=8A=A5=E8=A1=A8=E5=AF=BC=E5=87=BA=E7=BB=84?= =?UTF-8?q?=E7=BB=87=E5=A4=9A=E9=80=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/att/entity/AttDataDetailsBean.java | 2 +- .../system/att/entity/AttDetailBean.java | 5 ++ .../att/entity/AttMonthDaysMakeUpBean.java | 50 +++++++++++++++++++ .../system/att/entity/AttMonthReportBean.java | 7 +++ .../system/att/entity/AttSourceDataBean.java | 6 +++ .../system/att/service/AttCalServiceImpl.java | 1 + .../system/download/ExportFileController.java | 14 +++--- .../mapper/att/AttDetailByMonthMapper.xml | 7 +++ .../mapper/att/AttSourceDataMapper.xml | 5 +- .../mapper/att/AttendanceDetailsMapper.xml | 29 +++++++++-- 10 files changed, 112 insertions(+), 14 deletions(-) create mode 100644 bonus-modules/bonus-system/src/main/java/com/bonus/system/att/entity/AttMonthDaysMakeUpBean.java diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/entity/AttDataDetailsBean.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/entity/AttDataDetailsBean.java index 5428039..6d3f3da 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/entity/AttDataDetailsBean.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/entity/AttDataDetailsBean.java @@ -20,7 +20,7 @@ public class AttDataDetailsBean { /** * 组织编号 */ - private List orgIds; + private List orgIds; /** * 组织名称 diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/entity/AttDetailBean.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/entity/AttDetailBean.java index 47b4631..be84d61 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/entity/AttDetailBean.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/entity/AttDetailBean.java @@ -39,6 +39,11 @@ public class AttDetailBean { */ private Long orgId; + /** + * 部门编号 + */ + private List orgIds; + /** * 考勤日期 diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/entity/AttMonthDaysMakeUpBean.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/entity/AttMonthDaysMakeUpBean.java new file mode 100644 index 0000000..d680de6 --- /dev/null +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/entity/AttMonthDaysMakeUpBean.java @@ -0,0 +1,50 @@ +package com.bonus.system.att.entity; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * 考勤天数组成 + * @author fl + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class AttMonthDaysMakeUpBean { + + /** + * 用户编号 + */ + private Long userId; + /** + * 考勤月 + */ + private String attCurrentMonth; + /** + * 出勤天数 + */ + private Integer attDays; + /** + * 考勤组 + */ + private String groupName; + /** + * 考勤规则 + */ + private String attRules; + /** + * 是否有节假日 + */ + private String isHaveHoliday; + + /** + * 开始时间 + */ + private String attStartDate; + /** + * 结束时间 + */ + private String attEndDate; + +} diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/entity/AttMonthReportBean.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/entity/AttMonthReportBean.java index badfdbc..8c54c8a 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/entity/AttMonthReportBean.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/entity/AttMonthReportBean.java @@ -17,12 +17,19 @@ public class AttMonthReportBean { */ private Long orgId; + /** + * 组织编号 + */ + private List orgIds; + /** * 组织名称 */ @Excel(name = "所属部门", sort = 2) private String orgName; + private String orgNames; + /** * 用户编号 */ diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/entity/AttSourceDataBean.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/entity/AttSourceDataBean.java index 75ca1da..9bc0338 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/entity/AttSourceDataBean.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/entity/AttSourceDataBean.java @@ -38,6 +38,12 @@ public class AttSourceDataBean { */ private String attCurrentDay; + /** + * 考勤月 + */ + private String attCurrentMonth; + + /** * 考勤时间 */ diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/service/AttCalServiceImpl.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/service/AttCalServiceImpl.java index a822d0d..6dc2bf1 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/service/AttCalServiceImpl.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/service/AttCalServiceImpl.java @@ -808,6 +808,7 @@ public class AttCalServiceImpl implements AttCalService { longBreakRecord.setName(record.getName()); longBreakRecord.setOrgId(attGroupBean.getOrgId()); longBreakRecord.setAttCurrentDay(record.getAttCurrentDay()); + longBreakRecord.setAttCurrentMonth(record.getAttCurrentDay().substring(0, 7)); longBreakRecord.setAttCurrentTime(v.get(i - 1).getAttCurrentTime() + " " + record.getAttCurrentTime()); longBreakRecord.setAttAddress(v.get(i - 1).getAttAddress() + " " + record.getAttAddress()); longBreakRecords.add(longBreakRecord); 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 3c4aa75..60667e6 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 @@ -683,7 +683,7 @@ public class ExportFileController { Map map = new LinkedHashMap<>(); map.put("序号", i + 1); map.put("姓名", attDayReportList.get(i).getUserName()); - map.put("所属部门", attDayReportList.get(i).getOrgName()); + map.put("所属部门", attDayReportList.get(i).getOrgNames()); map.put("考勤月", attDayReportList.get(i).getAttCurrentMonth()); map.put("打卡记录", attDayReportList.get(i).getClockingRecordNum()); map.put("应考勤天数", attDayReportList.get(i).getRequiredDays()); @@ -723,8 +723,8 @@ public class ExportFileController { dayTable.setStartDate(monthFirstAndLast.get(0)); dayTable.setEndDate(monthFirstAndLast.get(1)); dayTable.setName(bean.getUserName()); - if (bean.getOrgId() != null) { - dayTable.setOrgId(bean.getOrgId()); + if (bean.getOrgIds() != null) { + dayTable.setOrgIds(bean.getOrgIds()); }else{ //受限于当前登录人 if(bean.getOrgList() != null && !bean.getOrgList().isEmpty()){ @@ -738,8 +738,8 @@ public class ExportFileController { // att.setAttCurrentMonth(bean.getMonth()); att.setStartDate(monthFirstAndLast.get(0)); att.setEndDate(monthFirstAndLast.get(1)); - if (bean.getOrgId() != null) { - att.setOrgId(bean.getOrgId()); + if (bean.getOrgIds() != null) { + att.setOrgIds(bean.getOrgIds()); }else{ //受限于当前登录人 if(bean.getOrgList() != null && !bean.getOrgList().isEmpty()){ @@ -1359,7 +1359,7 @@ public class ExportFileController { dayTable.setName(bean.getUserName()); if (bean.getOrgId() != null || bean.getOrgIds() != null) { dayTable.setOrgId(bean.getOrgId()); - dayTable.setOrgList(bean.getOrgIds()); + dayTable.setOrgIds(bean.getOrgIds()); }else{ //受限于当前登录人 if(bean.getOrgList() != null && !bean.getOrgList().isEmpty()){ @@ -1374,7 +1374,7 @@ public class ExportFileController { att.setEndDate(bean.getEndDate()); if (bean.getOrgId() != null || bean.getOrgIds() != null) { att.setOrgId(bean.getOrgId()); - att.setOrgList(bean.getOrgIds()); + att.setOrgIds(bean.getOrgIds()); }else{ //受限于当前登录人 if(bean.getOrgList() != null && !bean.getOrgList().isEmpty()){ diff --git a/bonus-modules/bonus-system/src/main/resources/mapper/att/AttDetailByMonthMapper.xml b/bonus-modules/bonus-system/src/main/resources/mapper/att/AttDetailByMonthMapper.xml index 1046593..e7187ca 100644 --- a/bonus-modules/bonus-system/src/main/resources/mapper/att/AttDetailByMonthMapper.xml +++ b/bonus-modules/bonus-system/src/main/resources/mapper/att/AttDetailByMonthMapper.xml @@ -194,6 +194,13 @@ and vat.org_id = #{orgId} + + and vat.org_id in ( + + #{item} + + ) + and vat.org_id in ( diff --git a/bonus-modules/bonus-system/src/main/resources/mapper/att/AttSourceDataMapper.xml b/bonus-modules/bonus-system/src/main/resources/mapper/att/AttSourceDataMapper.xml index 6658d93..fcd8dbf 100644 --- a/bonus-modules/bonus-system/src/main/resources/mapper/att/AttSourceDataMapper.xml +++ b/bonus-modules/bonus-system/src/main/resources/mapper/att/AttSourceDataMapper.xml @@ -360,8 +360,11 @@ WHERE la.is_active = 1 AND la.examine_status = 1 AND sdd.dict_value IS NOT NULL - AND leave_start_date BETWEEN #{pushDate} - INTERVAL 15 DAY + AND + (leave_start_date BETWEEN #{pushDate} - INTERVAL 15 DAY and #{pushDate} + or #{pushDate} between leave_start_date and leave_end_date + ) ORDER BY leave_start_date 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 1b9549f..f10fc9d 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 @@ -314,15 +314,27 @@ WHERE adr.att_current_day BETWEEN #{startDate} AND #{endDate} +