| | |
| | | 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; |
| | |
| | | ), ScheduleClassesStaffDto.class); |
| | | |
| | | //这里 如果没有员工排班 那么就认为 员工一直在上班 |
| | | if (scheduleClassesStaffs == null || scheduleClassesStaffs.size() < 1) { |
| | | if (ListUtil.isNull(scheduleClassesStaffs)) { |
| | | scheduleClassesStaffDto.setWork(true); |
| | | return scheduleClassesStaffDto; |
| | | } |
| | |
| | | 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); |
| | |
| | | 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); |
| | |
| | | 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); |
| | | |