diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/AttendanceArrangementController.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/AttendanceArrangementController.java index e824ba5..45bcd77 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/AttendanceArrangementController.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/AttendanceArrangementController.java @@ -76,11 +76,13 @@ public class AttendanceArrangementController extends BaseController { */ @SaCheckPermission("Property:arrangement:query") @GetMapping("/queryByTime") - public R> queryByTime(@NotNull(message = "开始时间不能为空") - @DateTimeFormat(pattern = "yyyy-MM-dd") @RequestParam("startTime") DateTime startTime) { + public R queryByTime(@NotNull(message = "开始时间不能为空") + @DateTimeFormat(pattern = "yyyy-MM-dd") @RequestParam("startTime") DateTime startTime) { return R.ok(attendanceArrangementService.queryByTime(startTime)); } + + /** * 新增排班 */ diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/AttendanceUserGroupController.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/AttendanceUserGroupController.java index d50075d..0079ab1 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/AttendanceUserGroupController.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/AttendanceUserGroupController.java @@ -32,7 +32,7 @@ import org.dromara.common.mybatis.core.page.TableDataInfo; @Validated @RequiredArgsConstructor @RestController -@RequestMapping("/userGroup") +@RequestMapping("/AttendanceUserGroup") public class AttendanceUserGroupController extends BaseController { private final IAttendanceUserGroupService attendanceUserGroupService; diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/AttendanceShift.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/AttendanceShift.java index 8a7b2ec..d71f694 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/AttendanceShift.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/AttendanceShift.java @@ -1,5 +1,6 @@ package org.dromara.property.domain; +import cn.hutool.core.date.DateTime; import org.dromara.common.tenant.core.TenantEntity; import com.baomidou.mybatisplus.annotation.*; import lombok.Data; @@ -40,12 +41,12 @@ public class AttendanceShift extends TenantEntity { /** * 考勤开始时间 */ - private LocalTime startTime; + private DateTime startTime; /** * 考勤结束时间 */ - private LocalTime endTime; + private DateTime endTime; /** * 状态(0:off,1:on) @@ -60,12 +61,12 @@ public class AttendanceShift extends TenantEntity { /** * 休息开始时间 */ - private LocalTime restStartTime; + private DateTime restStartTime; /** * 休息结束时间 */ - private LocalTime restEndTime; + private DateTime restEndTime; } diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/AttendanceShiftBo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/AttendanceShiftBo.java index 37e04ea..cded8be 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/AttendanceShiftBo.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/AttendanceShiftBo.java @@ -1,5 +1,6 @@ package org.dromara.property.domain.bo; +import cn.hutool.core.date.DateTime; import org.dromara.property.domain.AttendanceShift; import org.dromara.common.mybatis.core.domain.BaseEntity; import org.dromara.common.core.validate.AddGroup; @@ -41,13 +42,13 @@ public class AttendanceShiftBo extends BaseEntity { * 考勤开始时间 */ @DateTimeFormat(pattern = "HH:mm:ss") - private LocalTime startTime; + private DateTime startTime; /** * 考勤结束时间 */ @DateTimeFormat(pattern = "HH:mm:ss") - private LocalTime endTime; + private DateTime endTime; /** * 状态(0:off,1:on) @@ -63,13 +64,13 @@ public class AttendanceShiftBo extends BaseEntity { * 休息开始时间 */ @DateTimeFormat(pattern = "HH:mm:ss") - private LocalTime restStartTime; + private DateTime restStartTime; /** * 休息结束时间 */ @DateTimeFormat(pattern = "HH:mm:ss") - private LocalTime restEndTime; + private DateTime restEndTime; } diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/AttendanceArrangementVo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/AttendanceArrangementVo.java index 3546b88..594cc8f 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/AttendanceArrangementVo.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/AttendanceArrangementVo.java @@ -11,6 +11,7 @@ import org.dromara.common.excel.annotation.ExcelDictFormat; import org.dromara.common.excel.convert.ExcelDictConvert; import io.github.linpeilie.annotations.AutoMapper; import lombok.Data; +import org.dromara.property.domain.AttendanceGroup; import org.dromara.property.domain.AttendanceUserGroup; import java.io.Serial; @@ -83,5 +84,7 @@ public class AttendanceArrangementVo implements Serializable { private List userGroupList; + private AttendanceGroup group; + } diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/AttendanceShiftVo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/AttendanceShiftVo.java index 0081a8d..ac256f9 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/AttendanceShiftVo.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/AttendanceShiftVo.java @@ -2,6 +2,8 @@ package org.dromara.property.domain.vo; import java.time.LocalTime; import java.util.Date; + +import cn.hutool.core.date.DateTime; import com.fasterxml.jackson.annotation.JsonFormat; import org.dromara.property.domain.AttendanceShift; import cn.idev.excel.annotation.ExcelIgnoreUnannotated; @@ -47,13 +49,13 @@ public class AttendanceShiftVo implements Serializable { * 考勤开始时间 */ @ExcelProperty(value = "考勤开始时间") - private LocalTime startTime; + private DateTime startTime; /** * 考勤结束时间 */ @ExcelProperty(value = "考勤结束时间") - private LocalTime endTime; + private DateTime endTime; /** * 状态(0:off,1:on) @@ -73,13 +75,13 @@ public class AttendanceShiftVo implements Serializable { * 休息开始时间 */ @ExcelProperty(value = "休息开始时间") - private LocalTime restStartTime; + private DateTime restStartTime; /** * 休息结束时间 */ @ExcelProperty(value = "休息结束时间") - private LocalTime restEndTime; + private DateTime restEndTime; } diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/AttendanceArrangementMapper.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/AttendanceArrangementMapper.java index 877af6a..f51228c 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/AttendanceArrangementMapper.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/AttendanceArrangementMapper.java @@ -1,9 +1,15 @@ package org.dromara.property.mapper; +import cn.hutool.core.date.DateTime; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; import org.dromara.property.domain.AttendanceArrangement; import org.dromara.property.domain.vo.AttendanceArrangementVo; import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; +import java.util.List; + /** * 排班Mapper接口 * @@ -12,4 +18,9 @@ import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; */ public interface AttendanceArrangementMapper extends BaseMapperPlus { + @Select("SELECT * FROM attendance_arrangement WHERE start_date <= #{startTime} AND end_date >= #{startTime}") + AttendanceArrangementVo selectVoByTime(DateTime startTime); + + List selectArrangementList(@Param("req") LambdaQueryWrapper attendanceArrangementLambdaQueryWrapper); + } diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/IAttendanceArrangementService.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/IAttendanceArrangementService.java index b0f9b5e..13e4bde 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/IAttendanceArrangementService.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/IAttendanceArrangementService.java @@ -68,5 +68,6 @@ public interface IAttendanceArrangementService { */ Boolean deleteWithValidByIds(Collection ids, Boolean isValid); - List queryByTime(DateTime startTime); + AttendanceArrangementVo queryByTime(DateTime startTime); + } diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/AttendanceArrangementServiceImpl.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/AttendanceArrangementServiceImpl.java index 1650d46..4ee2801 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/AttendanceArrangementServiceImpl.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/AttendanceArrangementServiceImpl.java @@ -11,9 +11,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.dromara.property.domain.AttendanceFixedSchedule; -import org.dromara.property.domain.AttendanceUserGroup; -import org.dromara.property.domain.AttendanceWeekSet; +import org.dromara.property.domain.*; import org.dromara.property.domain.constant.StatusConstant; import org.dromara.property.mapper.AttendanceFixedScheduleMapper; import org.dromara.property.mapper.AttendanceUserGroupMapper; @@ -21,7 +19,6 @@ import org.dromara.property.mapper.AttendanceWeekSetMapper; import org.springframework.stereotype.Service; import org.dromara.property.domain.bo.AttendanceArrangementBo; import org.dromara.property.domain.vo.AttendanceArrangementVo; -import org.dromara.property.domain.AttendanceArrangement; import org.dromara.property.mapper.AttendanceArrangementMapper; import org.dromara.property.service.IAttendanceArrangementService; import org.springframework.transaction.annotation.Transactional; @@ -46,6 +43,7 @@ public class AttendanceArrangementServiceImpl implements IAttendanceArrangementS private final AttendanceFixedScheduleMapper fixedScheduleMapper; private final AttendanceWeekSetMapper weekSetMapper; + /** * 查询排班 * @@ -53,7 +51,7 @@ public class AttendanceArrangementServiceImpl implements IAttendanceArrangementS * @return 排班 */ @Override - public AttendanceArrangementVo queryById(Long id){ + public AttendanceArrangementVo queryById(Long id) { //根据id查询排班人员信息 List userGroupList = userGroupMapper.selectList(Wrappers.lambdaQuery().eq(AttendanceUserGroup::getScheduleId, id)); //将排班人员信息添加到排班信息中 @@ -86,10 +84,26 @@ public class AttendanceArrangementServiceImpl implements IAttendanceArrangementS */ @Override public List queryList(AttendanceArrangementBo bo) { - LambdaQueryWrapper lqw = buildQueryWrapper(bo); - return baseMapper.selectVoList(lqw); + //使用mybatis进行查询,不使用mybatisPlus + //查询排班信息列表 + List list = baseMapper.selectArrangementList(buildQueryWrapper(bo)); + + + + + + return MapstructUtils.convert(list, AttendanceArrangementVo.class); } + + + + + + + + + private LambdaQueryWrapper buildQueryWrapper(AttendanceArrangementBo bo) { Map params = bo.getParams(); LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); @@ -181,7 +195,7 @@ public class AttendanceArrangementServiceImpl implements IAttendanceArrangementS /** * 保存前的数据校验 */ - private void validEntityBeforeSave(AttendanceArrangement entity){ + private void validEntityBeforeSave(AttendanceArrangement entity) { //TODO 做一些数据校验,如唯一约束 } @@ -195,7 +209,7 @@ public class AttendanceArrangementServiceImpl implements IAttendanceArrangementS @Transactional(rollbackFor = Exception.class) @Override public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { - if(isValid){ + if (isValid) { //TODO 做一些业务上的校验,判断是否需要校验 } @@ -207,7 +221,30 @@ public class AttendanceArrangementServiceImpl implements IAttendanceArrangementS } @Override - public List queryByTime(DateTime startTime) { - return List.of(); + public AttendanceArrangementVo queryByTime(DateTime startTime) { +// //1.根据开始时间查询所有的排班信息 +// AttendanceArrangementVo arrangementVo = baseMapper.selectVoByTime(startTime); +// +// //2.查询人员组的信息 +// //根据开始时间查询排班的id +// Long scheduleId = baseMapper.selectOne(Wrappers.lambdaQuery().ge(AttendanceArrangement::getStartDate, startTime)).getId(); +// //根据排班的id查询出排班的人员详细信息 +// List userGroupList = userGroupMapper.selectList(Wrappers.lambdaQuery().eq(AttendanceUserGroup::getScheduleId, scheduleId)); +// //将排班人员信息添加到排班信息中 +// arrangementVo.setUserGroupList(userGroupList); +// +// +// +// +// //3.根据开始时间查询出排班的考勤组id +// baseMapper.selectList(Wrappers.lambdaQuery().ge(AttendanceArrangement::getStartDate, startTime)).getGroupId(); +// +// Long groupId = baseMapper.selectOne(Wrappers.lambdaQuery().ge(AttendanceArrangement::getStartDate, startTime)).getGroupId(); +// //根据查询出来的考勤组id查询出考勤信息 +// +// +// return arrangementVo; + return null; } + } diff --git a/ruoyi-modules/Property/src/main/resources/mapper/Property/AttendanceArrangementMapper.xml b/ruoyi-modules/Property/src/main/resources/mapper/Property/AttendanceArrangementMapper.xml index 41fce87..e9d47aa 100644 --- a/ruoyi-modules/Property/src/main/resources/mapper/Property/AttendanceArrangementMapper.xml +++ b/ruoyi-modules/Property/src/main/resources/mapper/Property/AttendanceArrangementMapper.xml @@ -4,4 +4,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +