From f0b08fa752faa8059c885d82c4f77fb4a6310a3e Mon Sep 17 00:00:00 2001 From: "JinLu.Yin" <411641505@qq.com> Date: Mon, 13 Jun 2022 14:12:47 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8E=92=E7=8F=AD=E6=97=A5=E5=8E=86=E6=8E=92?= =?UTF-8?q?=E9=99=A4=E8=8A=82=E5=81=87=E6=97=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cal/controller/CalCalendarController.java | 28 ++++++++++++++++++- .../service/impl/CalCalendarServiceImpl.java | 16 +++++++---- .../com/ktg/mes/cal/utils/CalendarUtil.java | 2 +- 3 files changed, 39 insertions(+), 7 deletions(-) diff --git a/ktg-mes/src/main/java/com/ktg/mes/cal/controller/CalCalendarController.java b/ktg-mes/src/main/java/com/ktg/mes/cal/controller/CalCalendarController.java index 6f08a9d..def278a 100644 --- a/ktg-mes/src/main/java/com/ktg/mes/cal/controller/CalCalendarController.java +++ b/ktg-mes/src/main/java/com/ktg/mes/cal/controller/CalCalendarController.java @@ -1,11 +1,15 @@ package com.ktg.mes.cal.controller; +import cn.hutool.core.collection.CollUtil; import com.ktg.common.constant.UserConstants; import com.ktg.common.core.controller.BaseController; import com.ktg.common.core.domain.AjaxResult; import com.ktg.common.utils.StringUtils; import com.ktg.mes.cal.domain.CalCalendar; +import com.ktg.mes.cal.domain.CalHoliday; import com.ktg.mes.cal.service.ICalCalendarService; +import com.ktg.mes.cal.service.ICalHolidayService; +import com.ktg.mes.cal.utils.CalendarUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.GetMapping; @@ -14,6 +18,8 @@ import org.springframework.web.bind.annotation.RestController; import java.util.Date; import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; /** * 排班日历 @@ -28,6 +34,9 @@ public class CalCalendarController extends BaseController { @Autowired private ICalCalendarService calCalendarService; + @Autowired + private ICalHolidayService calHolidayService; + @PreAuthorize("@ss.hasPermi('mes:cal:calendar:list')") @GetMapping("/list") public AjaxResult getCalendars(CalCalendar calCalendar){ @@ -45,7 +54,24 @@ public class CalCalendarController extends BaseController { }else { days=calCalendarService.getCalendarByUser(day,calCalendar.getUserId()); } + return AjaxResult.success(getCalendarsWithoutHoliday(days)); + } - return AjaxResult.success(days); + + /** + * 过滤掉节假日 + * @param days + * @return + */ + private List getCalendarsWithoutHoliday(List days){ + CalHoliday param = new CalHoliday(); + List holidays = calHolidayService.selectCalHolidayList(param); + if(CollUtil.isNotEmpty(holidays)){ + List results = days.stream().filter( + calCalendar -> holidays.stream().filter(calHoliday -> calCalendar.getTheDay().equals(CalendarUtil.getDateStr(calHoliday.getTheDay()))).collect(Collectors.toList()).size()==0 + ).collect(Collectors.toList()); + return results; + } + return days; } } diff --git a/ktg-mes/src/main/java/com/ktg/mes/cal/service/impl/CalCalendarServiceImpl.java b/ktg-mes/src/main/java/com/ktg/mes/cal/service/impl/CalCalendarServiceImpl.java index 149ac01..9c57fab 100644 --- a/ktg-mes/src/main/java/com/ktg/mes/cal/service/impl/CalCalendarServiceImpl.java +++ b/ktg-mes/src/main/java/com/ktg/mes/cal/service/impl/CalCalendarServiceImpl.java @@ -2,18 +2,24 @@ package com.ktg.mes.cal.service.impl; import cn.hutool.core.collection.CollUtil; import com.ktg.mes.cal.domain.CalCalendar; +import com.ktg.mes.cal.domain.CalHoliday; import com.ktg.mes.cal.domain.CalTeamMember; import com.ktg.mes.cal.domain.CalTeamshift; import com.ktg.mes.cal.mapper.CalPlanMapper; +import com.ktg.mes.cal.mapper.CalTeamMemberMapper; import com.ktg.mes.cal.mapper.CalTeamshiftMapper; import com.ktg.mes.cal.service.ICalCalendarService; +import com.ktg.mes.cal.service.ICalHolidayService; import com.ktg.mes.cal.service.ICalTeamMemberService; import com.ktg.mes.cal.utils.CalendarUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.text.SimpleDateFormat; +import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.stream.Collectors; @Service public class CalCalendarServiceImpl implements ICalCalendarService { @@ -25,10 +31,12 @@ public class CalCalendarServiceImpl implements ICalCalendarService { private CalTeamshiftMapper calTeamshiftMapper; @Autowired - private ICalTeamMemberService calTeamMemberService; + private CalTeamMemberMapper calTeamMemberMapper; - /** + + + /** * 1.循环生成当前月份每一天的CalCalendar * 2.根据月份和班组类型查询合适的plan * 3.根据plan上的Shift_type和shift_method计算每个班组的班次 @@ -79,7 +87,7 @@ public class CalCalendarServiceImpl implements ICalCalendarService { CalTeamMember param = new CalTeamMember(); param.setUserId(userId); - List members = calTeamMemberService.selectCalTeamMemberList(param); + List members = calTeamMemberMapper.selectCalTeamMemberList(param); if(CollUtil.isNotEmpty(members)){ Long teamId = members.get(0).getTeamId(); calendars = CalendarUtil.getDays(day); @@ -98,6 +106,4 @@ public class CalCalendarServiceImpl implements ICalCalendarService { return calendars; } - - } diff --git a/ktg-mes/src/main/java/com/ktg/mes/cal/utils/CalendarUtil.java b/ktg-mes/src/main/java/com/ktg/mes/cal/utils/CalendarUtil.java index a5d503c..f872822 100644 --- a/ktg-mes/src/main/java/com/ktg/mes/cal/utils/CalendarUtil.java +++ b/ktg-mes/src/main/java/com/ktg/mes/cal/utils/CalendarUtil.java @@ -432,7 +432,7 @@ public class CalendarUtil { } - private static Date getNext(Date date) { + public static Date getNext(Date date) { Calendar calendar = Calendar.getInstance(); calendar.setTime(date); calendar.add(Calendar.DATE, 1);