package cn.iocoder.yudao.module.hrm.dal.mysql.attendance;
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
|
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
|
import cn.iocoder.yudao.module.hrm.dal.dataobject.attendance.HrmAttendanceSummaryDO;
|
import org.apache.ibatis.annotations.Mapper;
|
|
import java.util.List;
|
|
/**
|
* 考勤统计汇总 Mapper
|
*
|
* @author 超级管理员
|
*/
|
@Mapper
|
public interface HrmAttendanceSummaryMapper extends BaseMapperX<HrmAttendanceSummaryDO> {
|
|
default HrmAttendanceSummaryDO selectByUserIdAndYearMonth(Long userId, String yearMonth) {
|
return selectOne(new LambdaQueryWrapperX<HrmAttendanceSummaryDO>()
|
.eq(HrmAttendanceSummaryDO::getUserId, userId)
|
.eq(HrmAttendanceSummaryDO::getYearMonth, yearMonth));
|
}
|
|
default List<HrmAttendanceSummaryDO> selectListByDeptIdAndYearMonth(Long deptId, String yearMonth) {
|
return selectList(new LambdaQueryWrapperX<HrmAttendanceSummaryDO>()
|
.eq(HrmAttendanceSummaryDO::getDeptId, deptId)
|
.eq(HrmAttendanceSummaryDO::getYearMonth, yearMonth)
|
.orderByAsc(HrmAttendanceSummaryDO::getUserId));
|
}
|
|
default List<HrmAttendanceSummaryDO> selectListByYearMonth(String yearMonth) {
|
return selectList(new LambdaQueryWrapperX<HrmAttendanceSummaryDO>()
|
.eq(HrmAttendanceSummaryDO::getYearMonth, yearMonth)
|
.orderByAsc(HrmAttendanceSummaryDO::getDeptId)
|
.orderByAsc(HrmAttendanceSummaryDO::getUserId));
|
}
|
|
/**
|
* 按年月批量刷新应出勤天数(节假日配置变化后调用)
|
*
|
* @return 更新的记录数
|
*/
|
default int updateWorkDaysByYearMonth(String yearMonth, Integer workDays) {
|
return update(new HrmAttendanceSummaryDO(), new LambdaUpdateWrapper<HrmAttendanceSummaryDO>()
|
.set(HrmAttendanceSummaryDO::getWorkDays, workDays)
|
.eq(HrmAttendanceSummaryDO::getYearMonth, yearMonth));
|
}
|
|
}
|