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.ProjectInfoBO;
import com.cloudroam.bo.ProjectUserStatisticsBO;
import com.cloudroam.bo.project.ProjectMinMaxDateBO;
import com.cloudroam.dto.projectInfo.QueryProjectInfoDTO;
import com.cloudroam.model.ProjectInfoDO;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
*
* Mapper 接口
*
*
* @author generator@TaoJie
* @since 2023-08-08
*/
public interface ProjectInfoMapperCustom {
IPage selectProjectInfoPage(Page page, @Param("keyword") String keyword,
@Param("status") String status,
@Param("stage") String stage,
@Param("type") String type
);
List getProjectHourStatistics( @Param("dto") QueryProjectInfoDTO dto);
ProjectInfoBO getDetailById( @Param("projectId") String id);
/**
* 获取看板的项目信息
* @param dto
* @return
*/
List getBoardProjectList(@Param("dto") QueryProjectInfoDTO dto);
/**
* 根据看板获取最小时间和最大时间
* @param projectIdList
* @return
*/
ProjectMinMaxDateBO getProjectMinMaxDateList(@Param("list") List projectIdList);
/**
* 获取默认的所有项目的最大最小时间
* @param projectIdList
* @return
*/
ProjectMinMaxDateBO getProjectMinMaxDateDefaultList(List projectIdList);
IPage selectProjectInfoPageByDTO(Page page, @Param("dto") QueryProjectInfoDTO dto);
List getReportList(@Param("dto") QueryProjectInfoDTO dto);
}