Commit e2613a57c35da61472fe97d51f6bb50c9a91a29c

Authored by YunaiV
1 parent 390b7d29

✨ feat(mes): 新增假期设置列表支持日期范围过滤功能

更新假期设置列表接口,支持可选的开始和结束日期参数,优化前端日历组件的数据获取逻辑,提升用户体验。
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/cal/holiday/MesCalHolidayController.java
... ... @@ -50,10 +50,14 @@ public class MesCalHolidayController {
50 50 }
51 51  
52 52 @GetMapping("/list")
53   - @Operation(summary = "获得所有假期设置列表", description = "日历组件使用,返回全量数据")
  53 + @Operation(summary = "获得假期设置列表", description = "支持可选日期范围过滤,不传则返回全量数据")
54 54 @PreAuthorize("@ss.hasPermission('mes:cal-holiday:query')")
55   - public CommonResult<List<MesCalHolidayRespVO>> getHolidayList() {
56   - List<MesCalHolidayDO> list = holidayService.getHolidayList();
  55 + public CommonResult<List<MesCalHolidayRespVO>> getHolidayList(
  56 + @RequestParam(value = "startDay", required = false)
  57 + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) LocalDateTime startDay,
  58 + @RequestParam(value = "endDay", required = false)
  59 + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) LocalDateTime endDay) {
  60 + List<MesCalHolidayDO> list = holidayService.getHolidayList(startDay, endDay);
57 61 return success(BeanUtils.toBean(list, MesCalHolidayRespVO.class));
58 62 }
59 63  
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/cal/holiday/vo/MesCalHolidayRespVO.java
... ... @@ -9,6 +9,9 @@ import java.time.LocalDateTime;
9 9 @Data
10 10 public class MesCalHolidayRespVO {
11 11  
  12 + @Schema(description = "编号", example = "1024")
  13 + private Long id;
  14 +
12 15 @Schema(description = "日期")
13 16 private LocalDateTime day;
14 17  
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/cal/holiday/vo/MesCalHolidaySaveReqVO.java
... ... @@ -24,4 +24,4 @@ public class MesCalHolidaySaveReqVO {
24 24 @Schema(description = "备注")
25 25 private String remark;
26 26  
27   - }
  27 +}
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/cal/holiday/MesCalHolidayMapper.java
... ... @@ -20,14 +20,9 @@ public interface MesCalHolidayMapper extends BaseMapperX&lt;MesCalHolidayDO&gt; {
20 20 return selectOne(MesCalHolidayDO::getDay, day);
21 21 }
22 22  
23   - default List<MesCalHolidayDO> selectList() {
  23 + default List<MesCalHolidayDO> selectList(LocalDateTime startDay, LocalDateTime endDay) {
24 24 return selectList(new LambdaQueryWrapperX<MesCalHolidayDO>()
25   - .orderByAsc(MesCalHolidayDO::getDay));
26   - }
27   -
28   - default List<MesCalHolidayDO> selectListByDayRange(LocalDateTime startDay, LocalDateTime endDay) {
29   - return selectList(new LambdaQueryWrapperX<MesCalHolidayDO>()
30   - .between(MesCalHolidayDO::getDay, startDay, endDay)
  25 + .betweenIfPresent(MesCalHolidayDO::getDay, startDay, endDay)
31 26 .orderByAsc(MesCalHolidayDO::getDay));
32 27 }
33 28  
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/cal/holiday/MesCalHolidayService.java
... ... @@ -23,17 +23,10 @@ public interface MesCalHolidayService {
23 23 Long saveHoliday(@Valid MesCalHolidaySaveReqVO saveReqVO);
24 24  
25 25 /**
26   - * 获得所有假期设置列表(用于日历显示,不分页)
  26 + * 获得假期设置列表
27 27 *
28   - * @return 假期设置列表
29   - */
30   - List<MesCalHolidayDO> getHolidayList();
31   -
32   - /**
33   - * 根据日期范围获得假期设置列表
34   - *
35   - * @param startDay 开始日期
36   - * @param endDay 结束日期
  28 + * @param startDay 开始日期(可选)
  29 + * @param endDay 结束日期(可选)
37 30 * @return 假期设置列表
38 31 */
39 32 List<MesCalHolidayDO> getHolidayList(LocalDateTime startDay, LocalDateTime endDay);
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/cal/holiday/MesCalHolidayServiceImpl.java
... ... @@ -41,13 +41,8 @@ public class MesCalHolidayServiceImpl implements MesCalHolidayService {
41 41 }
42 42  
43 43 @Override
44   - public List<MesCalHolidayDO> getHolidayList() {
45   - return holidayMapper.selectList();
46   - }
47   -
48   - @Override
49 44 public List<MesCalHolidayDO> getHolidayList(LocalDateTime startDay, LocalDateTime endDay) {
50   - return holidayMapper.selectListByDayRange(startDay, endDay);
  45 + return holidayMapper.selectList(startDay, endDay);
51 46 }
52 47  
53 48 @Override
... ...