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,10 +50,14 @@ public class MesCalHolidayController {
50 } 50 }
51 51
52 @GetMapping("/list") 52 @GetMapping("/list")
53 - @Operation(summary = "获得所有假期设置列表", description = "日历组件使用,返回全量数据") 53 + @Operation(summary = "获得假期设置列表", description = "支持可选日期范围过滤,不传则返回全量数据")
54 @PreAuthorize("@ss.hasPermission('mes:cal-holiday:query')") 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 return success(BeanUtils.toBean(list, MesCalHolidayRespVO.class)); 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,6 +9,9 @@ import java.time.LocalDateTime;
9 @Data 9 @Data
10 public class MesCalHolidayRespVO { 10 public class MesCalHolidayRespVO {
11 11
  12 + @Schema(description = "编号", example = "1024")
  13 + private Long id;
  14 +
12 @Schema(description = "日期") 15 @Schema(description = "日期")
13 private LocalDateTime day; 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,4 +24,4 @@ public class MesCalHolidaySaveReqVO {
24 @Schema(description = "备注") 24 @Schema(description = "备注")
25 private String remark; 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,14 +20,9 @@ public interface MesCalHolidayMapper extends BaseMapperX&lt;MesCalHolidayDO&gt; {
20 return selectOne(MesCalHolidayDO::getDay, day); 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 return selectList(new LambdaQueryWrapperX<MesCalHolidayDO>() 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 .orderByAsc(MesCalHolidayDO::getDay)); 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,17 +23,10 @@ public interface MesCalHolidayService {
23 Long saveHoliday(@Valid MesCalHolidaySaveReqVO saveReqVO); 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 * @return 假期设置列表 30 * @return 假期设置列表
38 */ 31 */
39 List<MesCalHolidayDO> getHolidayList(LocalDateTime startDay, LocalDateTime endDay); 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,13 +41,8 @@ public class MesCalHolidayServiceImpl implements MesCalHolidayService {
41 } 41 }
42 42
43 @Override 43 @Override
44 - public List<MesCalHolidayDO> getHolidayList() {  
45 - return holidayMapper.selectList();  
46 - }  
47 -  
48 - @Override  
49 public List<MesCalHolidayDO> getHolidayList(LocalDateTime startDay, LocalDateTime endDay) { 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 @Override 48 @Override