package cn.wisenergy.service; import cn.wisenergy.model.dto.GetMonthlyCollectParam; import cn.wisenergy.model.dto.ProjectStatisticsByMonth; import cn.wisenergy.model.dto.UserWorkTimeStatisticsByProject; import cn.wisenergy.model.dto.WorkTimeAndCostCollect; import com.github.pagehelper.PageInfo; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import java.util.Date; import java.util.List; import java.util.Map; public interface StatisticsService { /** * 获取部门所有员工每天工时 * * @param param 参数对象 * @return */ PageInfo getDayWorkTimeOfMonth(GetMonthlyCollectParam param); /** * 获取用户本月填报和审批情况,权限为填报时只有填报情况 * * @param userId * @return */ Map<String,Object> getMonthlyStatistics(Integer userId); /** * 获取负责项目的工时汇总:花费工时,工时成本 * * @param userId */ List<WorkTimeAndCostCollect> getCurrentMonthWorkTimeCollect(Integer userId, String startTime); /** * 导出一个部门下员工一个月中每天的工时 * * @param param * @return */ HSSFWorkbook exportWorkTimeExcel(GetMonthlyCollectParam param); /** * 获取用户管理项目人员工时统计 * * @param startDate * @param endDate * @param isConclusion * @return */ List<UserWorkTimeStatisticsByProject> getUserWorkTimeStatisticsReport(Integer userId, Integer deptId, String startDate, String endDate, Integer isConclusion); /** * 获取项目统计 * * @param userId * @param deptId * @param year * @param projectId * @return */ List<ProjectStatisticsByMonth> getProjectStatistics(Integer userId, Integer deptId, Integer year, Integer projectId); /** * 获取某月需要填报的日期 * @param date * @param toToday * @return */ List<Date> currentMonthWorkDays(Date date, boolean toToday); }