ADD:新版排版接口
This commit is contained in:
+13
@@ -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<List<Integer>> scheduleShowV2(@RequestParam Integer year,
|
||||
@RequestParam Integer month,
|
||||
@RequestParam(required = false) String userId) {
|
||||
return Result.ok(emergencyScheduleApiService.scheduleShowV2(year, month, userId));
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
+4
@@ -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<Integer> scheduleShowV2(Integer year, Integer month, String userId);
|
||||
}
|
||||
|
||||
+30
@@ -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<Integer> 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<Date> schedules = schedulesNewMapper.scheduleTimes(year,month,userId);
|
||||
return convertSchedules(schedules);
|
||||
}
|
||||
|
||||
private List<Integer> convertSchedules(List<Date> 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) {
|
||||
// 默认排班
|
||||
|
||||
+6
@@ -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<EmergencySchedules>,MPJBaseMapper<EmergencySchedules> {
|
||||
|
||||
List<Date> scheduleTimes(@Param("year") Integer year,
|
||||
@Param("month") Integer month,
|
||||
@Param("userId") String userId);
|
||||
|
||||
}
|
||||
|
||||
+10
-1
@@ -1,5 +1,14 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.renkang.emergency.mapper.EmergencySchedulesNewMapper">
|
||||
|
||||
<select id="scheduleTimes" resultType="java.util.Date">
|
||||
SELECT DISTINCT t2.schedules_time
|
||||
FROM emergency_schedules_new_item t1
|
||||
LEFT JOIN emergency_new_schedules t2 ON t1.schedules_id = t2.id
|
||||
WHERE
|
||||
YEAR ( t2.schedules_time ) = #{year}
|
||||
AND MONTH ( t2.schedules_time ) = #{month}
|
||||
and t2.schedules_time is not null
|
||||
AND t1.user_id = #{userId}
|
||||
</select>
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user