zss
2024-08-01 30a143f368dd2ff6e9c27b9d5dd17923ffed03ae
system-run/src/main/java/com/yuanchu/mom/backup/MysqlDataBackup.java
@@ -1,10 +1,14 @@
package com.yuanchu.mom.backup;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.yuanchu.mom.dto.PerformanceShiftAddDto;
import com.yuanchu.mom.mapper.DepartmentLimsMapper;
import com.yuanchu.mom.mapper.EnumMapper;
import com.yuanchu.mom.pojo.DepartmentLims;
import com.yuanchu.mom.pojo.Enums;
import com.yuanchu.mom.pojo.PerformanceShift;
import com.yuanchu.mom.pojo.User;
import com.yuanchu.mom.service.DepartmentLimsService;
import com.yuanchu.mom.service.EnumService;
import com.yuanchu.mom.service.PerformanceShiftService;
import com.yuanchu.mom.service.UserService;
@@ -81,6 +85,9 @@
    @Resource
    private UserService userService;
    @Resource
    private DepartmentLimsMapper  departmentLimsMapper;
    /**
     * 每天晚上23点05秒执行 【  0 0 4 1/1 * ? 】
@@ -200,10 +207,10 @@
    /**
     * 定时任务,每个月1号的00:00:00
     * 定时任务,每个月1号的00:00:00给下一个月排班
     * 给每个人都进行排班(默认早班)
     */
    //@Scheduled(cron = "0 0 0 1 *?")
    @Scheduled(cron = "0 0 0 1 * ?")
    //@Scheduled(cron = "0/20 * * * * ?")
    private void timerCreateSchedule(){
        System.out.println("开始给每个人进行排班,默认早班======start");
@@ -213,12 +220,12 @@
        List<Enums> shiftType = enumService.selectEnumByCategory("班次类型");
        List<String> collect = shiftType.stream().filter(enums -> enums.getLabel().equals("早")).map(enums -> enums.getValue()).collect(Collectors.toList());
        performanceShiftAddDto.setShift(collect.get(0));
        //人员--所有人
        String userIds = userService.getDeviceManager().stream().map(user -> user.getId().toString()).distinct().collect(Collectors.joining(","));
        //人员--(departlims表的两个实验室的人)
        String userIds = userService.getUser().stream().map(user -> user.getId().toString()).distinct().collect(Collectors.joining(","));
        performanceShiftAddDto.setUserId(userIds);
        //周次--当月所有
        // 获取当前日期
        LocalDate today = LocalDate.now();
        LocalDate today = LocalDate.now().plusMonths(1);
        // 获取本月的第一天和最后一天
        LocalDate firstDayOfMonth = today.with(TemporalAdjusters.firstDayOfMonth());
        LocalDate lastDayOfMonth = today.with(TemporalAdjusters.lastDayOfMonth());