日历的具体考勤和班次信息

This commit is contained in:
dy 2025-07-22 15:49:18 +08:00
parent 34d7b40645
commit c289a25829
9 changed files with 178 additions and 101 deletions

View File

@ -1,5 +1,6 @@
package org.dromara.property.controller; package org.dromara.property.controller;
import java.time.LocalDate;
import java.util.List; import java.util.List;
import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateTime;
@ -71,18 +72,6 @@ public class AttendanceArrangementController extends BaseController {
return R.ok(attendanceArrangementService.queryById(id)); return R.ok(attendanceArrangementService.queryById(id));
} }
/**
* 根据时间段查询排班列表
*/
@SaCheckPermission("Property:arrangement:query")
@GetMapping("/queryByTime")
public R<AttendanceArrangementVo> queryByTime(@NotNull(message = "开始时间不能为空")
@DateTimeFormat(pattern = "yyyy-MM-dd") @RequestParam("startTime") DateTime startTime) {
return R.ok(attendanceArrangementService.queryByTime(startTime));
}
/** /**
* 新增排班 * 新增排班
*/ */

View File

@ -5,6 +5,8 @@ import org.dromara.common.tenant.core.TenantEntity;
import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.annotation.*;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import java.time.LocalDate;
import java.util.Date; import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
@ -53,12 +55,12 @@ public class AttendanceArrangement extends TenantEntity {
/** /**
* 开始日期 * 开始日期
*/ */
private DateTime startDate; private LocalDate startDate;
/** /**
* 结束日期(仅date_type=3时有效) * 结束日期(仅date_type=3时有效)
*/ */
private DateTime endDate; private LocalDate endDate;
/** /**
* 状态0-未生效1-已生效 * 状态0-未生效1-已生效

View File

@ -12,6 +12,7 @@ import jakarta.validation.constraints.*;
import org.dromara.property.domain.AttendanceUserGroup; import org.dromara.property.domain.AttendanceUserGroup;
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDate;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
@ -57,13 +58,25 @@ public class AttendanceArrangementBo extends BaseEntity {
* 开始日期 * 开始日期
*/ */
@DateTimeFormat(pattern = "yyyy-MM-dd") @DateTimeFormat(pattern = "yyyy-MM-dd")
private DateTime startDate; private Date startDate;
/** /**
* 结束日期(仅date_type=3时有效) * 结束日期(仅date_type=3时有效)
*/ */
@DateTimeFormat(pattern = "yyyy-MM-dd") @DateTimeFormat(pattern = "yyyy-MM-dd")
private DateTime endDate; private Date endDate;
/**
* 前端传日历的开始时间和结束时间
*/
private LocalDate calendarStartDate;
private LocalDate calendarEndTimeDate;
/**
* 前端传某天的当前日期
*/
private Date currentDate;
/** /**
* 状态0-未生效1-已生效 * 状态0-未生效1-已生效

View File

@ -22,5 +22,7 @@ public class StatusConstant {
public static final Integer SINGLEDATE = 0; public static final Integer SINGLEDATE = 0;
public static final Integer DATERANGE = 1; public static final Integer DATERANGE = 1;
public static final Integer NORMAL = 1;
} }

View File

@ -1,22 +1,14 @@
package org.dromara.property.domain.vo; package org.dromara.property.domain.vo;
import java.util.Date;
import cn.hutool.core.date.DateTime;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.dromara.property.domain.AttendanceArrangement;
import cn.idev.excel.annotation.ExcelIgnoreUnannotated; import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
import cn.idev.excel.annotation.ExcelProperty; import cn.idev.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper; import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data; import lombok.Data;
import org.dromara.property.domain.AttendanceGroup; import org.dromara.property.domain.*;
import org.dromara.property.domain.AttendanceUserGroup;
import java.io.Serial; import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.time.LocalDate;
import java.util.List; import java.util.List;
@ -68,13 +60,13 @@ public class AttendanceArrangementVo implements Serializable {
* 开始日期 * 开始日期
*/ */
@ExcelProperty(value = "开始日期") @ExcelProperty(value = "开始日期")
private DateTime startDate; private LocalDate startDate;
/** /**
* 结束日期(仅date_type=3时有效) * 结束日期(仅date_type=3时有效)
*/ */
@ExcelProperty(value = "结束日期(仅date_type=3时有效)") @ExcelProperty(value = "结束日期(仅date_type=3时有效)")
private DateTime endDate; private LocalDate endDate;
/** /**
* 状态0-未生效1-已生效 * 状态0-未生效1-已生效
@ -84,7 +76,10 @@ public class AttendanceArrangementVo implements Serializable {
private List<AttendanceUserGroup> userGroupList; private List<AttendanceUserGroup> userGroupList;
private AttendanceGroup group; private AttendanceWeekSet weekSet;
private AttendanceShift shift;
private AttendanceScheduleCycle cycle;
} }

View File

@ -4,10 +4,13 @@ import cn.hutool.core.date.DateTime;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Select;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.property.domain.AttendanceArrangement; import org.dromara.property.domain.AttendanceArrangement;
import org.dromara.property.domain.bo.AttendanceArrangementBo;
import org.dromara.property.domain.vo.AttendanceArrangementVo; import org.dromara.property.domain.vo.AttendanceArrangementVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
import java.time.LocalDate;
import java.util.List; import java.util.List;
/** /**
@ -19,8 +22,11 @@ import java.util.List;
public interface AttendanceArrangementMapper extends BaseMapperPlus<AttendanceArrangement, AttendanceArrangementVo> { public interface AttendanceArrangementMapper extends BaseMapperPlus<AttendanceArrangement, AttendanceArrangementVo> {
@Select("SELECT * FROM attendance_arrangement WHERE start_date <= #{startTime} AND end_date >= #{startTime}") @Select("SELECT * FROM attendance_arrangement WHERE start_date <= #{startTime} AND end_date >= #{startTime}")
AttendanceArrangementVo selectVoByTime(DateTime startTime); AttendanceArrangementVo selectVoByTime(LocalDate startTime);
List<AttendanceArrangement> selectArrangementList(LocalDate calendarStartDate, LocalDate calendarEndTimeDate);
// List<AttendanceArrangement> selectArrangementList(AttendanceArrangementBo bo);
List<AttendanceArrangement> selectArrangementList(@Param("req") LambdaQueryWrapper<AttendanceArrangement> attendanceArrangementLambdaQueryWrapper);
} }

View File

@ -7,6 +7,7 @@ import org.dromara.property.domain.bo.AttendanceArrangementBo;
import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.PageQuery;
import java.time.LocalDate;
import java.util.Collection; import java.util.Collection;
import java.util.List; import java.util.List;
@ -68,6 +69,5 @@ public interface IAttendanceArrangementService {
*/ */
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid); Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
AttendanceArrangementVo queryByTime(DateTime startTime);
} }

View File

@ -2,6 +2,7 @@ package org.dromara.property.service.impl;
import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import com.alibaba.druid.sql.ast.statement.SQLIfStatement;
import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils; import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.TableDataInfo;
@ -13,17 +14,21 @@ import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.dromara.property.domain.*; import org.dromara.property.domain.*;
import org.dromara.property.domain.constant.StatusConstant; import org.dromara.property.domain.constant.StatusConstant;
import org.dromara.property.mapper.AttendanceFixedScheduleMapper; import org.dromara.property.domain.vo.AttendanceWeekSetVo;
import org.dromara.property.mapper.AttendanceUserGroupMapper; import org.dromara.property.mapper.*;
import org.dromara.property.mapper.AttendanceWeekSetMapper; import org.springframework.beans.BeanUtils;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.dromara.property.domain.bo.AttendanceArrangementBo; import org.dromara.property.domain.bo.AttendanceArrangementBo;
import org.dromara.property.domain.vo.AttendanceArrangementVo; import org.dromara.property.domain.vo.AttendanceArrangementVo;
import org.dromara.property.mapper.AttendanceArrangementMapper;
import org.dromara.property.service.IAttendanceArrangementService; import org.dromara.property.service.IAttendanceArrangementService;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDate;
import java.time.LocalTime;
import java.time.ZoneId;
import java.util.*; import java.util.*;
import java.util.stream.Collectors;
/** /**
* 排班Service业务层处理 * 排班Service业务层处理
@ -40,10 +45,14 @@ public class AttendanceArrangementServiceImpl implements IAttendanceArrangementS
private final AttendanceUserGroupMapper userGroupMapper; private final AttendanceUserGroupMapper userGroupMapper;
private final AttendanceFixedScheduleMapper fixedScheduleMapper; private final AttendanceGroupMapper attendanceGroupMapper;
private final AttendanceWeekSetMapper weekSetMapper; private final AttendanceWeekSetMapper weekSetMapper;
private final AttendanceShiftMapper attendanceShiftMapper;
private final AttendanceScheduleCycleMapper scheduleCycleMapper;
/** /**
* 查询排班 * 查询排班
* *
@ -73,6 +82,86 @@ public class AttendanceArrangementServiceImpl implements IAttendanceArrangementS
public TableDataInfo<AttendanceArrangementVo> queryPageList(AttendanceArrangementBo bo, PageQuery pageQuery) { public TableDataInfo<AttendanceArrangementVo> queryPageList(AttendanceArrangementBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<AttendanceArrangement> lqw = buildQueryWrapper(bo); LambdaQueryWrapper<AttendanceArrangement> lqw = buildQueryWrapper(bo);
Page<AttendanceArrangementVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw); Page<AttendanceArrangementVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
//1.在2号到10号有固定班制和排班制根据当前日期查询出所有的考勤组id
//查询指定日期在哪些排班中
List<AttendanceArrangement> arrangementList = baseMapper.selectList(Wrappers.<AttendanceArrangement>lambdaQuery().ge(AttendanceArrangement::getStartDate, bo.getCurrentDate()).le(AttendanceArrangement::getEndDate, bo.getCurrentDate()));
//根据排班查询出考勤组id
List<Long> groupIds = arrangementList.stream().map(AttendanceArrangement::getGroupId).distinct().toList();
// 2.循环将所有的考勤组id设置到考勤组中
//循环groupIds循环和AttendanceGroup中的id做对比如果有相同的则取出attendanceGroup中的所有数据
groupIds.forEach(
groupId -> {
//从数据库查询出当前考勤组的所有数据
AttendanceGroup group = attendanceGroupMapper.selectOne(Wrappers.<AttendanceGroup>lambdaQuery().eq(AttendanceGroup::getId, groupId));
// 3.查询出当前考勤组的所有数据从考勤组判断当前id是固定班制还是排班制
if (group.getAttendanceType().equals(StatusConstant.FIXEDSCHEDULE)) {
// 3.1固定班制将当前的日期转为周几然后与数据库中的班次周数作对比取出当前日期的班次信息
//将传来的日期参数转为周几
int week = DateUtil.dayOfWeek(bo.getCurrentDate());
//取出当前日期的周数与数据库中的班次周数作对比取出当前日期的班次信息
AttendanceWeekSet weekSet = weekSetMapper.selectOne(Wrappers.<AttendanceWeekSet>lambdaQuery().eq(AttendanceWeekSet::getGroupId, groupId).eq(AttendanceWeekSet::getDayOfWeek, week));
//将weekSet存到结果中
AttendanceArrangementVo arrangementVo = new AttendanceArrangementVo();
arrangementVo.setWeekSet(weekSet);
//根据weekSet取出id根据id查询出attendanceWeekSetShift表中的shiftId
Long shiftId = weekSet.getId();
//根据shiftId查询attendanceShift表中对应的id的数据
AttendanceShift shift = attendanceShiftMapper.selectById(shiftId);
//将shift存到结果中
arrangementVo.setShift(shift);
} else if (group.getAttendanceType().equals(StatusConstant.SHIFTSCHEDULE)) {
// 3.2排班制判断第一天是从几号开始循环判断判断当前是循环中的第几天取出当前天数的班次信息
//取出排班中的开始时间和结束时间
Date startDate = bo.getStartDate();
Date endDate = bo.getEndDate();
Date currentDate = bo.getCurrentDate();
//取出attendanceScheduleCycle表中的天数
Integer cycleDays = scheduleCycleMapper.selectOne(Wrappers.<AttendanceScheduleCycle>lambdaQuery().eq(AttendanceScheduleCycle::getGroupId, groupId)).getDayNumber();
//在startDate和endDate之间循环判端当前日期是cycleDays中的第几天
int cycleDay = 0;
while (startDate.before(currentDate) || endDate.after(currentDate)) {
cycleDay++;
startDate = DateUtil.offsetDay(startDate, 1);
//判断当前日期是clcleDays中的第几天
if (cycleDay > cycleDays) {
cycleDay = 1;
}
}
//根据cycleDay查询出当前日期的班次信息
AttendanceScheduleCycle cycle = scheduleCycleMapper.selectOne(Wrappers.<AttendanceScheduleCycle>lambdaQuery().eq(AttendanceScheduleCycle::getGroupId, groupId).eq(AttendanceScheduleCycle::getDayNumber, cycleDay));
//将cycle存到结果中
AttendanceArrangementVo arrangementVo = new AttendanceArrangementVo();
arrangementVo.setCycle(cycle);
}
}
);
// //1.根据当前日期查询出排班信息
// AttendanceArrangementVo arrangementvo = baseMapper.selectVoByTime(bo.getCurrentDate());
// //2.查询人员组的信息
// //根据开始时间查询出所有的排班id
// List<Long> scheduleIdList = baseMapper.selectList(Wrappers.<AttendanceArrangement>lambdaQuery().ge(AttendanceArrangement::getStartDate, bo.getCurrentDate())).stream().map(AttendanceArrangement::getId).collect(Collectors.toList());
// //根据排班的id查询出排班的人员详细信息
// List<AttendanceUserGroup> userGroupList = userGroupMapper.selectList(Wrappers.<AttendanceUserGroup>lambdaQuery().in(AttendanceUserGroup::getScheduleId, scheduleIdList));
// //将排班人员信息添加到排班信息中
// arrangementvo.setUserGroupList(userGroupList);
//
// //3.根据排班的id查询出排班的考勤组id
// List<Long> groupIds = baseMapper.selectList(Wrappers.<AttendanceArrangement>lambdaQuery().ge(AttendanceArrangement::getStartDate, bo.getCurrentDate())).stream().map(AttendanceArrangement::getGroupId).distinct().collect(Collectors.toList());
// //判断考勤组是排班制还是固定班制
// if (arrangementvo.getScheduleType().equals(StatusConstant.FIXEDSCHEDULE)) {
// //排班制
// //根据排班的id查询出排班的考勤组id
// List<AttendanceWeekSet> weekSetList = weekSetMapper.selectList(Wrappers.<AttendanceWeekSet>lambdaQuery().in(AttendanceWeekSet::getGroupId, groupIds));
// }
return TableDataInfo.build(result); return TableDataInfo.build(result);
} }
@ -84,26 +173,55 @@ public class AttendanceArrangementServiceImpl implements IAttendanceArrangementS
*/ */
@Override @Override
public List<AttendanceArrangementVo> queryList(AttendanceArrangementBo bo) { public List<AttendanceArrangementVo> queryList(AttendanceArrangementBo bo) {
//使用mybatis进行查询不使用mybatisPlus
//查询排班信息列表 //1.根据开始时间和结束时间查询所有的排班信息
List<AttendanceArrangement> list = baseMapper.selectArrangementList(buildQueryWrapper(bo)); List<AttendanceArrangement> arrangementList = baseMapper.selectList(Wrappers.<AttendanceArrangement>lambdaQuery().ge(AttendanceArrangement::getStartDate, bo.getCalendarStartDate()).le(AttendanceArrangement::getEndDate, bo.getCalendarEndTimeDate()));
//2.查询人员组的信息
//根据开始时间查询排班的id
List<Long> scheduleIdList = arrangementList.stream().map(AttendanceArrangement::getId).collect(Collectors.toList());
//根据排班的id查询出排班的人员详细信息
List<AttendanceUserGroup> userGroupList = userGroupMapper.selectList(Wrappers.<AttendanceUserGroup>lambdaQuery().in(AttendanceUserGroup::getScheduleId, scheduleIdList));
//3.将排班人员信息添加到排班信息中
return arrangementList.stream().map(arrangement -> {
AttendanceArrangementVo vo = MapstructUtils.convert(arrangement, AttendanceArrangementVo.class);
assert vo != null;
vo.setUserGroupList(userGroupList.stream().filter(userGroup -> userGroup.getScheduleId().equals(arrangement.getId())).collect(Collectors.toList()));
return vo;
}).collect(Collectors.toList());
// //判断参数是固定排班制还是排班制
// if (Objects.equals(bo.getScheduleType(), StatusConstant.FIXEDSCHEDULE)) {
// //固定班制
// //获取所有的排班信息
// List<AttendanceArrangement> arrangementList = baseMapper.selectList(Wrappers.<AttendanceArrangement>lambdaQuery().eq(AttendanceArrangement::getScheduleType, StatusConstant.FIXEDSCHEDULE));
// //判断排班信息是否在日历的开始时间和结束时间之间
// List<AttendanceArrangement> filterList = arrangementList.stream().filter(arrangement -> {
// LocalDate startDate = arrangement.getStartDate();
// LocalDate endDate = arrangement.getEndDate();
// return startDate.isAfter(calendarStartDate) && endDate.isBefore(calendarEndTimeDate);
// }).toList();
//
// //在日历的开始日期和结束日期之间则获取所有固定班次的考勤组id
// List<Long> groupIds = filterList.stream().map(AttendanceArrangement::getGroupId).distinct().collect(Collectors.toList());
// //根据考勤组id查询所有的固定班制
// List<AttendanceWeekSet> weekSetList = weekSetMapper.selectList(Wrappers.<AttendanceWeekSet>lambdaQuery().in(AttendanceWeekSet::getGroupId, groupIds));
//
// //根据固定班制的groupId查询出week_set_shift表中的数据
// List<AttendanceWeeksetShift> shiftList = weekSetList.stream().flatMap(weekSet -> weekSet.getWeeksetShiftList().stream()).toList();
//
// } else if (Objects.equals(bo.getScheduleType(), StatusConstant.SHIFTSCHEDULE)) {
// //排班制
// //获取所有的排班信息
// List<AttendanceArrangement> arrangementList = baseMapper.selectList(Wrappers.<AttendanceArrangement>lambdaQuery().eq(AttendanceArrangement::getScheduleType, StatusConstant.SHIFTSCHEDULE));
// }
// return voList;
return MapstructUtils.convert(list, AttendanceArrangementVo.class);
} }
private LambdaQueryWrapper<AttendanceArrangement> buildQueryWrapper(AttendanceArrangementBo bo) { private LambdaQueryWrapper<AttendanceArrangement> buildQueryWrapper(AttendanceArrangementBo bo) {
Map<String, Object> params = bo.getParams(); Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<AttendanceArrangement> lqw = Wrappers.lambdaQuery(); LambdaQueryWrapper<AttendanceArrangement> lqw = Wrappers.lambdaQuery();
@ -130,28 +248,6 @@ public class AttendanceArrangementServiceImpl implements IAttendanceArrangementS
//新增排班 //新增排班
AttendanceArrangement add = MapstructUtils.convert(bo, AttendanceArrangement.class); AttendanceArrangement add = MapstructUtils.convert(bo, AttendanceArrangement.class);
validEntityBeforeSave(add); validEntityBeforeSave(add);
// //判断排班类型是固定班制还是排班制
// assert add != null;
// if (Objects.equals(add.getScheduleType(), StatusConstant.FIXEDSCHEDULE)) {
// //固定班制
// //取出开始时间和结束时间循环插入
// DateTime startDate = DateUtil.beginOfDay(bo.getStartDate());
// DateTime endDate = DateUtil.endOfDay(bo.getEndDate());
// while (startDate.isBefore(endDate)) {
// //将startDate转换为周几
// int dayOfWeek = DateUtil.dayOfWeek(bo.getStartDate());
// //取出当前固定班次的周几和dayOfWeek比较如果相等则设置当前班次
// AttendanceWeekSet attendanceWeekSet = weekSetMapper.selectOne(Wrappers.<AttendanceWeekSet>lambdaQuery().eq(AttendanceWeekSet::getGroupId, bo.getGroupId()).eq(AttendanceWeekSet::getDayOfWeek, dayOfWeek));
//
// if (attendanceWeekSet != null) {
// //从attendanceWeekSet中取出当前周数
// int weekNum = attendanceWeekSet.getDayOfWeek();
// //设置开始时间为周数
// }
// }
//
//
// }
boolean flag = baseMapper.insert(add) > 0; boolean flag = baseMapper.insert(add) > 0;
if (flag) { if (flag) {
bo.setId(add.getId()); bo.setId(add.getId());
@ -220,31 +316,5 @@ public class AttendanceArrangementServiceImpl implements IAttendanceArrangementS
return baseMapper.deleteByIds(ids) > 0; return baseMapper.deleteByIds(ids) > 0;
} }
@Override
public AttendanceArrangementVo queryByTime(DateTime startTime) {
// //1.根据开始时间查询所有的排班信息
// AttendanceArrangementVo arrangementVo = baseMapper.selectVoByTime(startTime);
//
// //2.查询人员组的信息
// //根据开始时间查询排班的id
// Long scheduleId = baseMapper.selectOne(Wrappers.<AttendanceArrangement>lambdaQuery().ge(AttendanceArrangement::getStartDate, startTime)).getId();
// //根据排班的id查询出排班的人员详细信息
// List<AttendanceUserGroup> userGroupList = userGroupMapper.selectList(Wrappers.<AttendanceUserGroup>lambdaQuery().eq(AttendanceUserGroup::getScheduleId, scheduleId));
// //将排班人员信息添加到排班信息中
// arrangementVo.setUserGroupList(userGroupList);
//
//
//
//
// //3.根据开始时间查询出排班的考勤组id
// baseMapper.selectList(Wrappers.<AttendanceArrangement>lambdaQuery().ge(AttendanceArrangement::getStartDate, startTime)).getGroupId();
//
// Long groupId = baseMapper.selectOne(Wrappers.<AttendanceArrangement>lambdaQuery().ge(AttendanceArrangement::getStartDate, startTime)).getGroupId();
// //根据查询出来的考勤组id查询出考勤信息
//
//
// return arrangementVo;
return null;
}
} }

View File

@ -3,8 +3,8 @@
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.dromara.property.mapper.AttendanceArrangementMapper"> <mapper namespace="org.dromara.property.mapper.AttendanceArrangementMapper">
<select id="selectArrangementList" resultType="org.dromara.property.domain.AttendanceArrangement"> <select id="selectArrangementList" resultType="org.dromara.property.domain.AttendanceArrangement">
<foreach collection="req.selectList" item="select"> <foreach collection="req.selectList" item="select">
SELECT SELECT
aa.*, aa.*,
@ -17,7 +17,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
WHERE WHERE
aa.start_date = #{stateDate} aa.start_date = #{stateDate}
</foreach> </foreach>
</select> </select>
</mapper> </mapper>