package com.cloudroam.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.cloudroam.bo.ProjectDailyBO;
import com.cloudroam.bo.ProjectStatisticsBO;
import com.cloudroam.dto.meeting.MeetingPageDTO;
import com.cloudroam.dto.projectDaily.QueryProjectDailyDTO;
import com.cloudroam.dto.projectDaily.QueryProjectHourStatisticsDTO;
import com.cloudroam.dto.projectTask.QueryTaskDailyDTO;
import com.cloudroam.model.ProjectDailyDO;
import com.cloudroam.model.UserDO;
import com.cloudroam.vo.projectDaily.ProjectDailyHourVO;
import com.cloudroam.vo.projectDaily.ProjectDailyStatisticsVO;
import org.apache.ibatis.annotations.Param;
import java.util.Date;
import java.util.List;
/**
*
* Mapper 接口
*
*
* @author generator@TaoJie
* @since 2023-08-09
*/
public interface ProjectDailyMapperCustom extends BaseMapper {
IPage selectProjectDailyPage(Page page,
@Param("keyword") String keyword,
@Param("dailyDate") String dailyDate,
@Param("dailyType") String dailyType,
@Param("dailyStatus") String dailyStatus,
@Param("projectId") String projectId,
@Param("createUserId") String createUserId,
@Param("isCommit") Integer isCommit,
@Param("isConfirm") Integer isConfirm);
List selectProjectDailyList(@Param("createUserId") String createUserId,
@Param("dailyDate") String dailyDate,
@Param("projectId") String projectId,
@Param("startDate") String startDate,
@Param("endDate") String endDate
);
/**
* 有前一天未确认的日志
* @return
*/
List getYesterdayUncommittedProjectDailys(@Param("createUserId") String createUserId);
List getYesterdayUnconfirmedProjectDailys(@Param("createUserId") String createUserId);
List getTodayNoDailyPeoples();
List getYesterdayUncommittedProjectDailysPeoples();
List getYesterdayUncomfirmedProjectDailysPeoples();
int insertBatch(@Param("list") List list);
List getActualHoursStatistic(@Param("projectId") String projectId);
List getToadyUncomfirmedActualHoursProjectDailysPeoples(@Param("dailyDate") String dailyDate);
List getTodayUnConfirmedActualHours(@Param("createUserId") String createUserId, @Param("dailyDate") String todayString);
List getUnComfirmedPeoples(@Param("dailyDate") String dailyDate);
List getTodayUncommittedProjectDailysPeoples();
List getTodayUncommittedProjectDailys(@Param("createUserId") String createUserId);
Double getDailyDatePlanTime(@Param("dailyDate")String dailyDate, @Param("createUserId")String createUserId);
Double getDailyDateActualTime(@Param("dailyDate")String dailyDate,@Param("createUserId") String createUserId);
ProjectDailyHourVO existsHoursWithoutIds(@Param("createUserId") String createUserId,@Param("dailyDate") String dailyDate,@Param("idList") List idList);
void deleteDailysByDateUser(@Param("createUserId") String createUserId,@Param("dailyDate") Date dailyDate);
List getActualHourStatistics(QueryProjectHourStatisticsDTO dto);
List getEvaluateiActualHourStatistics(QueryProjectHourStatisticsDTO dto);
List getUserActualHourStatistics(QueryProjectHourStatisticsDTO dto);
List getRoleHourStatistics(QueryProjectHourStatisticsDTO dto);
/**
* 获取每日早会的进度状态
* @return
*/
List selectProjectDailyProcessList(QueryProjectDailyDTO queryProjectDailyDTO);
List selectProjectDailyProcessWithMeetingIdList(QueryProjectDailyDTO queryProjectDailyDTO);
List getDailyDateByMeetingId(MeetingPageDTO dto);
IPage selectProjectDailyTaskPage(Page page,@Param("dto") QueryProjectDailyDTO dto);
List getProjectDailyTaskInfo(@Param("taskId") String taskId, @Param("userId") String userId);
}