wuxw
2025-01-03 adb33007bf87f63a893f90196a6087f9cafe34c7
service-store/src/main/java/com/java110/store/smo/impl/ScheduleClassesStaffV1InnerServiceSMOImpl.java
@@ -16,20 +16,20 @@
package com.java110.store.smo.impl;
import com.java110.dto.scheduleClasses.ScheduleClassesDto;
import com.java110.dto.scheduleClassesDay.ScheduleClassesDayDto;
import com.java110.dto.scheduleClassesTime.ScheduleClassesTimeDto;
import com.java110.dto.classes.ScheduleClassesDto;
import com.java110.dto.classes.ScheduleClassesDayDto;
import com.java110.dto.classes.ScheduleClassesTimeDto;
import com.java110.intf.store.IScheduleClassesDayV1InnerServiceSMO;
import com.java110.intf.store.IScheduleClassesV1InnerServiceSMO;
import com.java110.store.dao.IScheduleClassesStaffV1ServiceDao;
import com.java110.intf.store.IScheduleClassesStaffV1InnerServiceSMO;
import com.java110.dto.scheduleClassesStaff.ScheduleClassesStaffDto;
import com.java110.po.scheduleClassesStaff.ScheduleClassesStaffPo;
import com.java110.dto.classes.ScheduleClassesStaffDto;
import com.java110.po.classes.ScheduleClassesStaffPo;
import com.java110.utils.util.BeanConvertUtil;
import com.java110.core.base.smo.BaseServiceSMO;
import com.java110.dto.user.UserDto;
import com.java110.dto.PageDto;
import com.java110.utils.util.DateUtil;
import com.java110.utils.util.ListUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
@@ -137,7 +137,7 @@
                    ), ScheduleClassesStaffDto.class);
            //这里 如果没有员工排班 那么就认为 员工一直在上班
            if (scheduleClassesStaffs == null || scheduleClassesStaffs.size() < 1) {
            if (ListUtil.isNull(scheduleClassesStaffs)) {
                scheduleClassesStaffDto.setWork(true);
                return scheduleClassesStaffDto;
            }
@@ -203,16 +203,38 @@
        List<ScheduleClassesTimeDto> times = scheduleClassesDayDtos.get(0).getTimes();
        scheduleClassesStaffDto.setTimes(times);
        String startTime = null;
        String endTime = null;
        Date startTime = null;
        Date endTime = null;
        for (ScheduleClassesTimeDto time : times) {
            startTime = today + " " + time.getStartTime() + ":00";
            endTime = today + " " + time.getEndTime() + ":00";
//            startTime = today + " " + time.getStartTime() + ":00";
//            endTime = today + " " + time.getEndTime() + ":00";
            startTime = DateUtil.getDateFromStringA(today + " " + time.getStartTime() + ":00");
            endTime = DateUtil.getDateFromStringA(today + " " + time.getEndTime() + ":00");
            if (DateUtil.belongCalendar(scheduleClassesStaffDto.getToday(), DateUtil.getDateFromStringA(startTime), DateUtil.getDateFromStringA(endTime))) {
            if (endTime.getTime() < startTime.getTime()) {
                Calendar endTimeCal = Calendar.getInstance();
                endTimeCal.setTime(endTime);
                endTimeCal.add(Calendar.DAY_OF_MONTH, 1);
                endTime = endTimeCal.getTime();
            }
            if (DateUtil.belongCalendar(scheduleClassesStaffDto.getToday(), startTime,endTime)) {
                scheduleClassesStaffDto.setWork(true);
                return;
            }
            //todo 处理 排版为 22点-6点 当前时间为4点时情况 也就是 今日4点 永远不可能在当前日期的中 只能在昨日排版中
            endTime = DateUtil.getDateFromStringA(today + " " + time.getEndTime() + ":00");
            if (endTime.getTime() < startTime.getTime()) {
                Calendar startTimeCal = Calendar.getInstance();
                startTimeCal.setTime(startTime);
                startTimeCal.add(Calendar.DAY_OF_MONTH, -1);
                startTime = startTimeCal.getTime();
                if (DateUtil.belongCalendar(scheduleClassesStaffDto.getToday(), startTime, endTime)) {
                    scheduleClassesStaffDto.setWork(true);
                    return;
                }
            }
        }
        scheduleClassesStaffDto.setWork(false);
@@ -269,16 +291,39 @@
        List<ScheduleClassesTimeDto> times = scheduleClassesDayDtos.get(0).getTimes();
        scheduleClassesStaffDto.setTimes(times);
        String startTime = null;
        String endTime = null;
        Date startTime = null;
        Date endTime = null;
        for (ScheduleClassesTimeDto time : times) {
            startTime = today + " " + time.getStartTime() + ":00";
            endTime = today + " " + time.getEndTime() + ":00";
//            startTime = today + " " + time.getStartTime() + ":00";
//            endTime = today + " " + time.getEndTime() + ":00";
            if (DateUtil.belongCalendar(scheduleClassesStaffDto.getToday(), DateUtil.getDateFromStringA(startTime), DateUtil.getDateFromStringA(endTime))) {
            startTime = DateUtil.getDateFromStringA(today + " " + time.getStartTime() + ":00");
            endTime = DateUtil.getDateFromStringA(today + " " + time.getEndTime() + ":00");
            if (endTime.getTime() < startTime.getTime()) {
                Calendar endTimeCal = Calendar.getInstance();
                endTimeCal.setTime(endTime);
                endTimeCal.add(Calendar.DAY_OF_MONTH, 1);
                endTime = endTimeCal.getTime();
            }
            if (DateUtil.belongCalendar(scheduleClassesStaffDto.getToday(), startTime, endTime)) {
                scheduleClassesStaffDto.setWork(true);
                return;
            }
            //todo 处理 排版为 22点-6点 当前时间为4点时情况 也就是 今日4点 永远不可能在当前日期的中 只能在昨日排版中
            endTime = DateUtil.getDateFromStringA(today + " " + time.getEndTime() + ":00");
            if (endTime.getTime() < startTime.getTime()) {
                Calendar startTimeCal = Calendar.getInstance();
                startTimeCal.setTime(startTime);
                startTimeCal.add(Calendar.DAY_OF_MONTH, -1);
                startTime = startTimeCal.getTime();
                if (DateUtil.belongCalendar(scheduleClassesStaffDto.getToday(), startTime, endTime)) {
                    scheduleClassesStaffDto.setWork(true);
                    return;
                }
            }
        }
        scheduleClassesStaffDto.setWork(false);
@@ -346,6 +391,18 @@
                scheduleClassesStaffDto.setWork(true);
                return;
            }
            //todo 处理 排版为 22点-6点 当前时间为4点时情况 也就是 今日4点 永远不可能在当前日期的中 只能在昨日排版中
            endTime = DateUtil.getDateFromStringA(today + " " + time.getEndTime() + ":00");
            if (endTime.getTime() < startTime.getTime()) {
                Calendar startTimeCal = Calendar.getInstance();
                startTimeCal.setTime(startTime);
                startTimeCal.add(Calendar.DAY_OF_MONTH, -1);
                startTime = startTimeCal.getTime();
                if (DateUtil.belongCalendar(scheduleClassesStaffDto.getToday(), startTime, endTime)) {
                    scheduleClassesStaffDto.setWork(true);
                    return;
                }
            }
        }
        scheduleClassesStaffDto.setWork(false);