diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/api/controller/EmergencyScheduleApiController.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/api/controller/EmergencyScheduleApiController.java index c541023..95668db 100644 --- a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/api/controller/EmergencyScheduleApiController.java +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/api/controller/EmergencyScheduleApiController.java @@ -10,6 +10,8 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; +import java.util.List; + /** * 排班controller * @@ -44,4 +46,15 @@ public class EmergencyScheduleApiController { } + /** + * 年/月值班 展示 + */ + @GetMapping("/scheduleShow/v2") + public Result> scheduleShowV2(@RequestParam Integer year, + @RequestParam Integer month, + @RequestParam(required = false) String userId) { + return Result.ok(emergencyScheduleApiService.scheduleShowV2(year, month, userId)); + } + + } diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/api/service/EmergencyScheduleApiService.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/api/service/EmergencyScheduleApiService.java index 55fb432..7345183 100644 --- a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/api/service/EmergencyScheduleApiService.java +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/api/service/EmergencyScheduleApiService.java @@ -2,6 +2,8 @@ package com.renkang.emergency.api.service; import com.renkang.emergency.bean.response.ScheduleRecordShow; +import java.util.List; + /** * @author Junqiang Zhu * @date 2023-04-25 13:07 @@ -10,4 +12,6 @@ public interface EmergencyScheduleApiService { ScheduleRecordShow scheduleRecord(String year, String month, String userId); ScheduleRecordShow scheduleShow(Integer year, Integer month, String userId); + + List scheduleShowV2(Integer year, Integer month, String userId); } diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/api/service/impl/EmergencyScheduleApiServiceImpl.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/api/service/impl/EmergencyScheduleApiServiceImpl.java index bccf5b6..2f82ab1 100644 --- a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/api/service/impl/EmergencyScheduleApiServiceImpl.java +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/api/service/impl/EmergencyScheduleApiServiceImpl.java @@ -1,5 +1,6 @@ package com.renkang.emergency.api.service.impl; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; @@ -12,6 +13,7 @@ import com.renkang.emergency.constant.EmergencyConstants; import com.renkang.emergency.entity.ScheduleCustom; import com.renkang.emergency.entity.ScheduleDefault; import com.renkang.emergency.entity.ScheduleRecord; +import com.renkang.emergency.mapper.EmergencySchedulesNewMapper; import com.renkang.emergency.mapper.ScheduleCustomMapper; import com.renkang.emergency.mapper.ScheduleDefaultMapper; import com.renkang.emergency.mapper.ScheduleRecordMapper; @@ -37,6 +39,8 @@ public class EmergencyScheduleApiServiceImpl implements EmergencyScheduleApiServ private ScheduleCustomMapper scheduleCustomMapper; @Autowired private ScheduleDefaultMapper scheduleDefaultMapper; + @Autowired + private EmergencySchedulesNewMapper schedulesNewMapper; @Override public ScheduleRecordShow scheduleRecord(String year, String month, String userId) { @@ -94,6 +98,32 @@ public class EmergencyScheduleApiServiceImpl implements EmergencyScheduleApiServ return show; } + @Override + public List scheduleShowV2(Integer year, Integer month, String userId) { + if (ObjectUtil.isNull(year)) { + throw new RuntimeException("参数缺失 year"); + } + if (ObjectUtil.isNull(month)) { + throw new RuntimeException("参数缺失 month"); + } + if (StrUtil.isBlank(userId)) { + userId = GlobalUtils.getLoginUser().getId(); + } + // 查询排班记录 + List schedules = schedulesNewMapper.scheduleTimes(year,month,userId); + return convertSchedules(schedules); + } + + private List convertSchedules(List schedules) { + if (CollUtil.isEmpty(schedules)) { + return Collections.emptyList(); + } + return schedules.stream() + .map(DateUtil::dayOfMonth) + .distinct() + .sorted(Comparator.comparingInt(o -> o)) + .collect(Collectors.toList()); + } private ScheduleMonth getFutureMonth(Integer year, Integer month, String userId) { // 默认排班 diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/mapper/EmergencySchedulesNewMapper.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/mapper/EmergencySchedulesNewMapper.java index 1057c44..82b415d 100644 --- a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/mapper/EmergencySchedulesNewMapper.java +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/mapper/EmergencySchedulesNewMapper.java @@ -1,10 +1,12 @@ package com.renkang.emergency.mapper; +import java.util.Date; import java.util.List; import com.renkang.emergency.entity.EmergencySchedules; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.github.yulichang.base.MPJBaseMapper; +import org.apache.ibatis.annotations.Param; /** * @Description: 排班表 @@ -14,4 +16,8 @@ import com.github.yulichang.base.MPJBaseMapper; */ public interface EmergencySchedulesNewMapper extends BaseMapper,MPJBaseMapper { + List scheduleTimes(@Param("year") Integer year, + @Param("month") Integer month, + @Param("userId") String userId); + } diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/mapper/xml/EmergencySchedulesNewMapper.xml b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/mapper/xml/EmergencySchedulesNewMapper.xml index 0d9b004..ba17e9e 100644 --- a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/mapper/xml/EmergencySchedulesNewMapper.xml +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/mapper/xml/EmergencySchedulesNewMapper.xml @@ -1,5 +1,14 @@ - + \ No newline at end of file