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 e5d5597..65c3fdc 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 @@ -225,7 +225,7 @@ public interface AttSourceDataDao { * @param nowDate * @param i */ - void updateMonthReportRequiredDay(@Param("userId") String userId, @Param("nowDate") String nowDate, @Param("requiredDays") Long requiredDays); + void updateMonthReportRequiredDay(@Param("userId") String userId, @Param("nowDate") String nowDate, @Param("requiredDays") Long requiredDays, @Param("requiredDaysRemark") String requiredDaysRemark); /** * 查询考勤人员基础数据 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 8c54c8a..3b9f5b8 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 @@ -143,4 +143,7 @@ public class AttMonthReportBean { private String startMonth; /**结束月份*/ private String endMonth; + + /**考勤组成卑职*/ + private String requiredDaysRemark; } 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 fab889f..9461862 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 @@ -99,11 +99,13 @@ public interface AttCalService { /** * 修改月的应考勤天数 + * * @param userId * @param nowDate * @param i + * @param requiredDaysRemark */ - void updateMonthReportRequiredDay(String userId, String nowDate, Long i); + void updateMonthReportRequiredDay(String userId, String nowDate, Long i, String requiredDaysRemark); /** * 月半才第一次加入考勤组 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 6dc2bf1..991f9cc 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 @@ -6,22 +6,16 @@ import com.alibaba.fastjson2.JSONObject; import com.bonus.common.core.utils.DateTimeHelper; import com.bonus.common.core.utils.DateUtils; import com.bonus.common.core.utils.StringUtils; -import com.bonus.common.security.utils.SecurityUtils; -import com.bonus.system.api.domain.MapVo; -import com.bonus.system.api.domain.SysUser; import com.bonus.system.att.dao.AttGroupDao; import com.bonus.system.att.dao.AttSourceDataDao; -import com.bonus.system.att.dao.OrgChangeDao; import com.bonus.system.att.entity.*; import com.bonus.system.att.utils.AddressCoordinateFormatUtil; import com.bonus.system.att.utils.AttTimeUtil; import com.bonus.system.att.utils.WorkdayCalculator; -import com.bonus.system.dept.dao.ProDeptRoleDao; import lombok.extern.slf4j.Slf4j; import org.apache.commons.beanutils.BeanUtils; import org.mybatis.spring.SqlSessionTemplate; import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.time.Duration; @@ -338,13 +332,15 @@ public class AttCalServiceImpl implements AttCalService { /** * 修改月的应考勤天数 + * * @param userId * @param nowDate * @param i + * @param requiredDaysRemark */ @Override - public void updateMonthReportRequiredDay(String userId, String nowDate, Long i) { - attSourceDataDao.updateMonthReportRequiredDay(userId, nowDate, i); + public void updateMonthReportRequiredDay(String userId, String nowDate, Long i, String requiredDaysRemark) { + attSourceDataDao.updateMonthReportRequiredDay(userId, nowDate, i, requiredDaysRemark); } @Override diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/service/AttGroupServiceImpl.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/service/AttGroupServiceImpl.java index 5ec3f09..256743d 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/service/AttGroupServiceImpl.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/service/AttGroupServiceImpl.java @@ -172,6 +172,7 @@ public class AttGroupServiceImpl implements AttGroupService { addList.forEach(m -> { int i = attCalService.getMonthReportTempData(m.getUserId(),nowDate); AtomicLong requiredDays = new AtomicLong(); + StringBuilder requiredDaysRemark = new StringBuilder(); //查询历史考勤规则,方便分组计算 List dataList = attCalService.getAttSettingHistoryByUserAndDate(m.getUserId(),nowDate); //以最后一个考勤规则补全剩下当月日期所有考勤规则数据 @@ -208,13 +209,15 @@ public class AttGroupServiceImpl implements AttGroupService { List attDayList = WorkdayCalculator.getWorkDay(collect.get(0).getAttDay(), collect.get(0).getIsHaveHoliday(), holidays, v.get(0).getCurrentDay(),v.get(v.size()-1).getCurrentDay()); requiredDays.addAndGet(attDayList.size()); + requiredDaysRemark.append(v.get(0).getCurrentDay()).append("-").append(v.get(v.size()-1).getCurrentDay()) + .append("在").append(collect.get(0).getGroupName()).append(",应考勤").append(attDayList.size()).append("天;"); } }); } if(i>0){ //存在,属于修改考勤组需要修改月报表考勤天数 - attCalService.updateMonthReportRequiredDay(m.getUserId(),nowDate,requiredDays.get()); + attCalService.updateMonthReportRequiredDay(m.getUserId(),nowDate,requiredDays.get(),requiredDaysRemark.toString()); }else{ //查询人当前组织 List list = attCalService.getOrgDataByUserId(m.getUserId()); @@ -223,6 +226,7 @@ public class AttGroupServiceImpl implements AttGroupService { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM"); String currentYearMonth = sdf.format(new Date()); list.get(0).setAttCurrentMonth(currentYearMonth); + list.get(0).setRequiredDaysRemark(requiredDaysRemark.toString()); attCalService.insertMonthHalfReportTempData(list); } 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 fcd8dbf..c3e59dd 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 @@ -67,11 +67,13 @@ insert into att_month_report(user_id, name, org_id, org_name, att_current_month, - required_days) + required_days, required_day_remark + ) values (#{params.userId}, #{params.userName}, #{params.orgId}, #{params.orgName}, - #{params.attCurrentMonth}, #{params.requiredDays}) + #{params.attCurrentMonth}, #{params.requiredDays}, #{params.requiredDaysRemark} + ) @@ -180,7 +182,7 @@ update att_month_report - set required_days = #{requiredDays} + set required_days = #{requiredDays},required_day_remark = #{requiredDaysRemark} where user_id = #{userId} and att_current_month = DATE_FORMAT(#{nowDate}, '%Y-%m')