package com.qianwen.smartman.modules.smis.service; import com.baomidou.mybatisplus.extension.service.IService; import java.time.LocalDate; import java.time.LocalDateTime; import java.util.Date; import java.util.List; import java.util.Map; import com.qianwen.smartman.modules.smis.dto.CacheBuildDTO; import com.qianwen.smartman.modules.smis.dto.CalendarCacheDTO; import com.qianwen.smartman.modules.smis.dto.CalendarShiftDTO; import com.qianwen.smartman.modules.smis.dto.CalendarShiftDetailDTO; import com.qianwen.smartman.modules.smis.dto.CalendarShiftTimeSlicesDTO; import com.qianwen.smartman.modules.smis.dto.CurShiftDTO; import com.qianwen.smartman.modules.smis.dto.FactoryDayInfoDTO; import com.qianwen.smartman.modules.smis.dto.ShiftIndexInfoDTO; import com.qianwen.smartman.modules.smis.dto.ShiftInfoDTO; import com.qianwen.smartman.modules.smis.dto.ShiftSlicesCalendarCodeDTO; import com.qianwen.smartman.modules.smis.dto.ShiftSlicesClientCalendarCodesDTO; import com.qianwen.smartman.modules.smis.dto.ShiftSlicesClientDTO; import com.qianwen.smartman.modules.smis.dto.ShiftSlicesDTO; import com.qianwen.smartman.modules.smis.dto.TimestampToProductionTimeCacheDto; import com.qianwen.smartman.modules.smis.entity.ProductionCalendar; import com.qianwen.smartman.modules.smis.vo.CalendarAssociateWorkstationVO; import com.qianwen.smartman.modules.smis.vo.CalendarCopyVO; import com.qianwen.smartman.modules.smis.vo.CalendarSaveVO; import com.qianwen.smartman.modules.smis.vo.CalendarSimpleVO; import com.qianwen.smartman.modules.smis.vo.CalendarUpdateVO; import com.qianwen.smartman.modules.smis.vo.CalendarVO; import com.qianwen.smartman.modules.smis.vo.ShiftIndexNameVO; import com.qianwen.smartman.modules.smis.vo.ShiftTimeDetailVO; import com.qianwen.smartman.modules.mdc.dto.ShiftIndexNameDTO; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; public interface ICalendarService extends IService { ProductionCalendar saveCalendar(CalendarSaveVO calendarSaveVO); CalendarVO getCalendar(Long valueOf); /** * 修改生产日历数据 * @param calendarUpdateVO * @return */ ProductionCalendar updateCalendar(CalendarUpdateVO calendarUpdateVO); ProductionCalendar copyCalendar(CalendarCopyVO calendarCopyVO); ProductionCalendar saveYearCalendar(CalendarSaveVO calendarSaveVO); /** * 构建生产日历切片缓存对象 * @param cacheBuildDTO * @return */ List buildProductionTimeCache(CacheBuildDTO cacheBuildDTO); List getCalendarList(@RequestParam("tenantId") String tenantId); List getDaytimeList(@RequestParam("tenantId") String tenantId, @RequestParam("calendarCode") String calendarCode, @RequestParam("year") Integer year); List buildCalendarShift(@RequestBody CacheBuildDTO cacheBuildDTO); List getCurShift(@RequestParam("tenantId") String tenantId, @RequestParam("calendarCodeList") List calendarCodeList); Map getFactoryDayInfo(@RequestParam("date") LocalDateTime date, @RequestParam("tenantId") String tenantId, @RequestParam("calendarCodeList") List calendarCodeList); ShiftSlicesDTO getShiftSlices(@RequestBody ShiftSlicesClientDTO shiftSlicesClientDTO); List getShiftSlicesList(@RequestBody ShiftSlicesClientCalendarCodesDTO shiftSlicesClientCalendarCodesDTO); Long getShiftTimeWithoutRest(@RequestParam String calendarCode); ShiftIndexNameVO getShiftIndexName(); String getShiftIndexNameByCodeAndYear(String calendarCode, CalendarShiftTimeSlicesDTO calendarShiftTimeSlicesDTO); String expireCalendarInfo(); Boolean deleteCalendar(Long id); Long getShiftModelByFactoryDay(String calendarCode, LocalDate factoryDay); List getShiftDetailDates(String calendarCode, List dates); List getTimeShiftAll(String calendarCode, Date startTime, Date endTime); List getWorkstationShiftIndexListByDate(Long workstationId, LocalDate localDate); Boolean associateWorkstation(CalendarAssociateWorkstationVO calendarAssociateWorkstationVO); List queryShiftIndexName(String calendarCode, Integer year, String day); List listShiftInfo(List workstationIdList, LocalDate startDay, LocalDate endDay); }