package com.cloudroam.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.cloudroam.bo.meeting.MeetingDateUserDaily; import com.cloudroam.bo.meeting.MeetingUserDaily; import com.cloudroam.bo.ProjectDailyBO; import com.cloudroam.bo.ProjectStatisticsBO; import com.cloudroam.bo.businessDaily.BusinessDailyBO; import com.cloudroam.dto.meeting.MeetingPageDTO; import com.cloudroam.dto.projectDaily.*; import com.cloudroam.dto.projectTask.QueryProjectTaskHoursDTO; import com.cloudroam.dto.projectTask.QueryTaskDailyDTO; import com.cloudroam.model.ProjectDailyDO; import com.baomidou.mybatisplus.extension.service.IService; import com.cloudroam.model.UserDO; import com.cloudroam.vo.projectDaily.ProjectDailyBoardVO; import com.cloudroam.vo.projectDaily.ProjectDailyHourVO; import com.cloudroam.vo.projectDaily.ProjectDailyStatisticsVO; import java.math.BigDecimal; import java.util.Date; import java.util.List; /** *

* 服务类 *

* * @author generator@TaoJie * @since 2023-08-09 */ public interface ProjectDailyService extends IService { boolean createProjectDaily(CreateOrUpdateProjectDailyDTO validator); IPage getProjectDailyPage(QueryProjectDailyDTO dto); boolean removeByIdLogic(String id, Date dailyDate); List getAllUsers(QueryProjectDailyDTO dto); ProjectDailyBoardVO getProjectDailyBoardList(QueryProjectDailyBoardDTO dto); /** * 有前一天未提交的日志 * @return userId */ List getYesterdayUncommittedProjectDailys(String userId); /** * 当天没有填写计划 * @return */ List getTodayNoDailyPeoples(); /** * 有前一天未确认的日志 * @return userId */ List getYesterdayUnconfirmedProjectDailys(String userId); List getYesterdayUncommittedProjectDailysPeoples(); List getYesterdayUncomfirmedProjectDailysPeoples(); boolean createProjectDailyBatch(List dailyDOList); List getActualHoursStatistic(String id); boolean commitBatch(CommitBatchDTO dto); List getProjectDailyList(QueryProjectDailyDTO dto); boolean confirmBatch(ConfirmBatchDTO projectDailyDTO); boolean unConfirmBatch(ConfirmBatchDTO projectDailyDTO); boolean unCommitProjectDaily(Date dailyDate, String userId); List getToadyUncomfirmedActualHoursProjectDailysPeoples(String dailyDate); List getTodayUnConfirmedActualHours(String createUserId, String dailyDay); boolean supplementaryProjectDailyBatch(List list); boolean createProjectDailyWithInit(CreateOrUpdateProjectDailyDTO validator); boolean updateProjectDailyWithValidator(CreateOrUpdateProjectDailyDTO validator); boolean updateProjectDailyWithInit(CreateOrUpdateProjectDailyDTO validator); boolean createProjectDailyBatchWithInit(CreateBatchDTO dto); boolean updateActualHours(CreateOrUpdateProjectDailyDTO validator); List getUnComfirmedPeoples(String dailyDate); List getUncommitDailyList(ConfirmBatchDTO dto); List getWaitConfirmDailyList(ConfirmBatchDTO dto); List getTodayUncommittedProjectDailysPeoples(); List getTodayUncommittedProjectDailys(String createUserId); boolean commit(String id); Double getDailyDatePlanTime(WorkTimeDTO dto); Double getDailyDateActualTime(WorkTimeDTO dto); ProjectDailyHourVO existsHours(DailyHourDTO dto); List getByDailyDate(String dailyDate); boolean updateActualHoursBatch(List dtoList); List getActualHourStatistics(QueryProjectHourStatisticsDTO dto); List getEvaluateiActualHourStatistics(QueryProjectHourStatisticsDTO dto); List getUserActualHourStatistics(QueryProjectHourStatisticsDTO dto); List getRoleHourStatistics(QueryProjectHourStatisticsDTO dto); List getProjectDailybyUserList(MeetingPageDTO dto); List getProjectBusinessDailybyMeetingId(MeetingPageDTO dto); List getProjectDailyMeetingbyUserList(MeetingPageDTO dto); List getDateDailyList(MeetingPageDTO dto); List getDailyDateByMeetingId(MeetingPageDTO dto); /** * 批量任务日志创建 * @param dto */ void createProjectDailyBatchWithTask(CreateBatchTaskDTO dto); QueryTaskDailyDTO getProjectDailyTaskInfo(String taskId, String userId); int getProjectTaskDailyUnCommited(String taskId, String userId); boolean existsProjectDaily(String taskId, Integer userId, Date dailyDate); void checkProjectDailyTaskPlanHours(String taskId); QueryProjectTaskHoursDTO getCommitedActualHoursStatisticByTaskId(String taskId); }