lius
2023-07-12 dcffd347f5ab47d3d158afddb86249fe8bc7e3e7
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcVacationManagementServiceImpl.java
@@ -1,5 +1,6 @@
package org.jeecg.modules.mdc.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -8,12 +9,17 @@
import org.jeecg.modules.mdc.mapper.MdcVacationManagementMappper;
import org.jeecg.modules.mdc.service.IMdcEquipmentService;
import org.jeecg.modules.mdc.service.IMdcVacationManagementService;
import org.jeecg.modules.mdc.util.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletRequest;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.time.temporal.TemporalAdjusters;
import java.util.*;
/**
@@ -54,17 +60,6 @@
    @Override
    public IPage<MdcVacationManagement> pageList(String userId, Page page, HttpServletRequest req, MdcVacationManagement mdcVacationManagement) {
        //显示双休日
        Date vacationDate=mdcVacationManagement.getVacationDate();
        String type= mdcVacationManagement.getType();
        Calendar c=Calendar.getInstance();
        c.setTime(vacationDate);
        int day=c.get(Calendar.DAY_OF_WEEK)-1;
        System.out.println(day);
        if (day==6||day==7){
            System.out.println("双休日");
            mdcVacationManagement.setType("双休日");
        }
        //查询用户所拥有的设备信息
        List<String> equipmentIds=new ArrayList<>();
        if (StringUtils.isNotEmpty(mdcVacationManagement.getParentId()) && StringUtils.isEmpty(mdcVacationManagement.getEquipmentId())){
@@ -95,4 +90,25 @@
        }
        return this.baseMapper.pageList(page,mdcVacationManagement);
    }
    /**
     * 生成双休日
     */
    @Override
    public void generateWeekDays() {
        MdcVacationManagement mdcVacationManagement = this.baseMapper.selectOne(new LambdaQueryWrapper<MdcVacationManagement>().eq(MdcVacationManagement::getType, "双休日").orderByDesc(MdcVacationManagement::getVacationDate).last("limit 1"));
        // 获取生成开始时间和结束时间
        LocalDate startDate;
        LocalDate endDate;
        if (mdcVacationManagement == null) {
            startDate = LocalDate.now();
            endDate = LocalDate.of(DateUtils.getYear(), DateUtils.getMonth(), DateUtils.getDayOfMonth());
        } else {
            LocalDate vacationDate = mdcVacationManagement.getVacationDate().toInstant().atZone(ZoneId.systemDefault()).toLocalDate().plusMonths(1);
            startDate = vacationDate.with(TemporalAdjusters.firstDayOfMonth());
            endDate = vacationDate.with(TemporalAdjusters.lastDayOfMonth());
        }
        // 获取开始时间和结束时间的中间双休日集合
        List<Date> dateList = DateUtils.getWeekDays(startDate, endDate);
    }
}