feat(system): 请假分组用户新增或删除时支持调用工作日历接口
- 新增 HolidayWorkingAgeService 依赖 - 在处理请假设置时,增加工作日历信息的查询和传递
This commit is contained in:
parent
39a13a84e9
commit
37168b4ae9
@ -14,6 +14,7 @@ import cn.iocoder.yudao.module.system.dal.dataobject.attendance.groupuser.Attend
|
|||||||
import cn.iocoder.yudao.module.system.dal.dataobject.attendance.punchrecord.AttendancePunchRecordDO;
|
import cn.iocoder.yudao.module.system.dal.dataobject.attendance.punchrecord.AttendancePunchRecordDO;
|
||||||
import cn.iocoder.yudao.module.system.dal.dataobject.holiday.holidaysetting.HolidaySettingDO;
|
import cn.iocoder.yudao.module.system.dal.dataobject.holiday.holidaysetting.HolidaySettingDO;
|
||||||
import cn.iocoder.yudao.module.system.dal.dataobject.holiday.holidaysettingrange.HolidaySettingRangeDO;
|
import cn.iocoder.yudao.module.system.dal.dataobject.holiday.holidaysettingrange.HolidaySettingRangeDO;
|
||||||
|
import cn.iocoder.yudao.module.system.dal.dataobject.holiday.holidayworkingage.HolidayWorkingAgeDO;
|
||||||
import cn.iocoder.yudao.module.system.dal.mysql.attendance.groupuser.AttendanceGroupUserMapper;
|
import cn.iocoder.yudao.module.system.dal.mysql.attendance.groupuser.AttendanceGroupUserMapper;
|
||||||
import cn.iocoder.yudao.module.system.dal.mysql.attendance.punchrecord.AttendancePunchRecordMapper;
|
import cn.iocoder.yudao.module.system.dal.mysql.attendance.punchrecord.AttendancePunchRecordMapper;
|
||||||
import cn.iocoder.yudao.module.system.service.attendance.punch.dto.AttendanceOnTheDayDTO;
|
import cn.iocoder.yudao.module.system.service.attendance.punch.dto.AttendanceOnTheDayDTO;
|
||||||
@ -21,6 +22,7 @@ import cn.iocoder.yudao.module.system.service.attendance.punchrecord.AttendanceP
|
|||||||
import cn.iocoder.yudao.module.system.service.holiday.holidaysetting.HolidaySettingService;
|
import cn.iocoder.yudao.module.system.service.holiday.holidaysetting.HolidaySettingService;
|
||||||
import cn.iocoder.yudao.module.system.service.holiday.holidaysettingrange.HolidaySettingRangeService;
|
import cn.iocoder.yudao.module.system.service.holiday.holidaysettingrange.HolidaySettingRangeService;
|
||||||
import cn.iocoder.yudao.module.system.service.holiday.holidayuserrecord.HolidayUserRecordService;
|
import cn.iocoder.yudao.module.system.service.holiday.holidayuserrecord.HolidayUserRecordService;
|
||||||
|
import cn.iocoder.yudao.module.system.service.holiday.holidayworkingage.HolidayWorkingAgeService;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import org.springframework.context.annotation.Lazy;
|
import org.springframework.context.annotation.Lazy;
|
||||||
import org.springframework.data.redis.core.StringRedisTemplate;
|
import org.springframework.data.redis.core.StringRedisTemplate;
|
||||||
@ -63,6 +65,8 @@ public class AttendanceGroupUserServiceImpl implements AttendanceGroupUserServic
|
|||||||
@Resource
|
@Resource
|
||||||
@Lazy
|
@Lazy
|
||||||
private HolidaySettingService holidaySettingService;
|
private HolidaySettingService holidaySettingService;
|
||||||
|
@Resource
|
||||||
|
private HolidayWorkingAgeService holidayWorkingAgeService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public AttendanceGroupUserCreateOrDelVO createOrDel(Long attendanceGroupId, List<Long> userIds) {
|
public AttendanceGroupUserCreateOrDelVO createOrDel(Long attendanceGroupId, List<Long> userIds) {
|
||||||
@ -97,11 +101,14 @@ public class AttendanceGroupUserServiceImpl implements AttendanceGroupUserServic
|
|||||||
List<Long> holidaySettingIds = holidaySettingRangeService.getHolidaySettingIdsByGroupId(attendanceGroupId);
|
List<Long> holidaySettingIds = holidaySettingRangeService.getHolidaySettingIdsByGroupId(attendanceGroupId);
|
||||||
|
|
||||||
if (CollUtil.isNotEmpty(holidaySettingIds)) {
|
if (CollUtil.isNotEmpty(holidaySettingIds)) {
|
||||||
|
List<HolidayWorkingAgeDO> holidayWorkingAgeDOS = holidayWorkingAgeService.selectBySettingIds(holidaySettingIds);
|
||||||
|
Map<Long, List<HolidayWorkingAgeDO>> holidayWorkingAgeDOMap = holidayWorkingAgeDOS.stream().collect(Collectors.groupingBy(HolidayWorkingAgeDO::getHolidaySettingId, Collectors.toList()));
|
||||||
|
|
||||||
List<HolidaySettingDO> holidaySettings = holidaySettingService.getHolidaySettingByIds(holidaySettingIds);
|
List<HolidaySettingDO> holidaySettings = holidaySettingService.getHolidaySettingByIds(holidaySettingIds);
|
||||||
Map<Long, HolidaySettingDO> holidaySettingMap = holidaySettings.stream().collect(Collectors.toMap(HolidaySettingDO::getId, holidaySettingDO -> holidaySettingDO));
|
Map<Long, HolidaySettingDO> holidaySettingMap = holidaySettings.stream().collect(Collectors.toMap(HolidaySettingDO::getId, holidaySettingDO -> holidaySettingDO));
|
||||||
for (HolidaySettingDO holidaySetting : holidaySettings) {
|
for (HolidaySettingDO holidaySetting : holidaySettings) {
|
||||||
holidayUserRecordService.grant(holidaySetting,
|
holidayUserRecordService.grant(holidaySetting,
|
||||||
items, holidaySettingMap.get(holidaySetting.getId()).getHolidayBalanceSettingDO(), ListUtil.empty(), true);
|
items, holidaySettingMap.get(holidaySetting.getId()).getHolidayBalanceSettingDO(), holidayWorkingAgeDOMap.get(holidaySetting.getId()), true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user