diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/dao/AttSourceDataDao.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/dao/AttSourceDataDao.java index e345ca6..474513f 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/dao/AttSourceDataDao.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/dao/AttSourceDataDao.java @@ -253,4 +253,13 @@ public interface AttSourceDataDao { * @return */ void rollbackAttDataByLeave(HolidayBean bean); + + /** + * 查询今日是否有请假或私事外出情况 + * @param today + * @return + */ + List getNotFullAtt(String today); + + int updateMonthReportFullAtt(@Param("list") List list, @Param("month") int month); } 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 95ff0c6..26e3fb2 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 @@ -134,6 +134,10 @@ public class AttMonthReportBean { @Excel(name = "打卡记录", sort = 14) private int clockingRecordNum; + /**是否全勤*/ +// @Excel(name = "是否全勤", sort = 17) + private int isFullAtt; + /** * 自己项目部所在分公司下的所有项目部id */ diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/service/AttCalService.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/service/AttCalService.java index 71aa65d..bbc0c16 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/service/AttCalService.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/service/AttCalService.java @@ -143,4 +143,18 @@ public interface AttCalService { * @return */ void rollbackAttDataByLeave(HolidayBean o); + + /** + * 查询今日是否有请假或私事外出情况 + * @param today + * @return + */ + List getNotFullAtt(String today); + + /** + * 修改全勤 + * @param list + * @param month + */ + int updateMonthReportFullAtt(List list,int month); } 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 f005de8..b56832d 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 @@ -525,6 +525,27 @@ public class AttCalServiceImpl implements AttCalService { } } + /** + * 查询今日是否有请假或私事外出情况 + * @param today + * @return + */ + @Override + public List getNotFullAtt(String today) { + return attSourceDataDao.getNotFullAtt(today); + } + + /** + * 修改本月全勤状态 + * @param month + * @param list + * @return + */ + @Override + public int updateMonthReportFullAtt(List list,int month) { + return attSourceDataDao.updateMonthReportFullAtt(list,month); + } + /** * 查出每一个考勤组的应出勤天数以及考勤组的规则 * diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/tasks/NewAttTask.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/tasks/NewAttTask.java index 4349ba8..b4ecd9b 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/tasks/NewAttTask.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/tasks/NewAttTask.java @@ -14,6 +14,8 @@ import org.springframework.scheduling.annotation.Scheduled; import javax.annotation.Resource; import java.time.*; import java.time.format.DateTimeFormatter; +import java.util.Date; +import java.util.List; /** * @author zys @@ -180,13 +182,16 @@ public class NewAttTask { public void getMonthReportFullAttTask() { log.info("--------月报表--是否全勤定时器开启------"); String today = DateUtil.today(); - List list = attCalService.getNotFullAtt(today); - updateMonthReportData(today); + List list = attCalService.getNotFullAtt(today); + if(!list.isEmpty()){ + Date now = new Date(); // 当前日期时间 + int month = DateUtil.month(now) + 1; + attCalService.updateMonthReportFullAtt(list,month); + } 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 1b78871..2eac83c 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 @@ -740,7 +740,7 @@ public class ExportFileController { List attDayReportList = attendanceDetailsService.getAttMonthReportList(bean); Sheet departmentSheet1 = exporter.createSheet("月报表详情"); List departmentHeaders1 = Arrays.asList("序号", "姓名", "所属部门", "考勤月","打卡记录", "应考勤天数", "正常打卡天数", - "迟到天数", "早退天数", "旷工天数", "请假天数", "打卡地异常天数", "出入异常天数", "轮休天数", "临时外出天数", "出差天数", "培训天数", "外勤天数", "考勤天数备注"); + "迟到天数", "早退天数", "旷工天数", "请假天数", "打卡地异常天数", "出入异常天数", "轮休天数", "临时外出天数", "出差天数", "培训天数", "外勤天数", "考勤天数备注", "是否全勤"); exporter.addHeaderRowAndTitle(departmentSheet1, departmentHeaders1, title); List> departmentData1 = new ArrayList<>(); for (int i = 0; i < attDayReportList.size(); i++) { @@ -764,6 +764,7 @@ public class ExportFileController { map.put("培训天数", attDayReportList.get(i).getTrainNum()); map.put("外勤天数", attDayReportList.get(i).getOutsideAttNum()); map.put("考勤天数备注", attDayReportList.get(i).getRequiredDayRemark()); + map.put("是否全勤", attDayReportList.get(i).getIsFullAtt()==1?"是":"否"); departmentData1.add(map); } exporter.addDataRows(departmentSheet1, departmentData1, departmentHeaders1); diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/holiday/controller/HolidayController.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/holiday/controller/HolidayController.java index afc9b8f..70bb525 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/holiday/controller/HolidayController.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/holiday/controller/HolidayController.java @@ -32,6 +32,8 @@ import java.time.LocalDate; import java.time.format.DateTimeFormatter; import java.util.*; +import static jdk.nashorn.internal.runtime.regexp.joni.Config.log; + /** * 轮休、临时外出、请假 * 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 8e2b190..3c00f2d 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 @@ -624,4 +624,21 @@ AND examine_status = '1' + + + + update att_month_report set is_full_att = 0 where att_current_month = #{month} and user_id in + + #{item} + + \ No newline at end of file