package com.cloudroam.controller.v1; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.metadata.IPage; import com.cloudroam.bo.ProjectDailyBO; import com.cloudroam.common.LocalUser; import com.cloudroam.common.enumeration.DailyCommitEnum; import com.cloudroam.common.enumeration.DailyConfirmEnum; import com.cloudroam.common.enumeration.DailyStatusEnum; import com.cloudroam.common.util.PageUtil; import com.cloudroam.dto.projectDaily.*; import com.cloudroam.model.ProjectDailyDO; import com.cloudroam.model.UserDO; import com.cloudroam.service.MailService; import com.cloudroam.service.ProjectDailyService; import com.cloudroam.util.JsonUtil; import com.cloudroam.vo.CreatedVO; import com.cloudroam.vo.DeletedVO; import com.cloudroam.vo.PageResponseVO; import com.cloudroam.vo.UpdatedVO; import com.cloudroam.vo.projectDaily.ProjectDailyBoardVO; import com.cloudroam.vo.projectDaily.ProjectDailyHourVO; import com.cloudroam.vo.projectDaily.ProjectDailyStatisticsVO; import io.github.talelin.autoconfigure.exception.ForbiddenException; import io.github.talelin.autoconfigure.exception.NotFoundException; import io.github.talelin.core.annotation.Logger; import io.github.talelin.core.annotation.LoginRequired; import io.github.talelin.core.annotation.PermissionMeta; import io.github.talelin.core.annotation.PermissionModule; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.math.BigDecimal; import java.util.Date; import java.util.List; /** * @author generator@TaoJie * @since 2023-08-09 */ @RestController @RequestMapping("/v1/projectDaily/statistics") @Validated @PermissionModule(value = "工时统计") public class ProjectStatisticsController { @Autowired private ProjectDailyService projectDailyService; @GetMapping("/getActualHourStatistics") @PermissionMeta(value = "实际工时统计") @Logger(template = "{user.nickname} 查看了实际工时统计 ") @LoginRequired public List getActualHourStatistics( @Validated QueryProjectHourStatisticsDTO dto ) { return projectDailyService.getActualHourStatistics(dto); } @GetMapping("/getRoleHourStatistics") @PermissionMeta(value = "角色工时统计") @Logger(template = "{user.nickname} 查看了角色工时统计 ") @LoginRequired public List getRoleHourStatistics( @Validated QueryProjectHourStatisticsDTO dto ) { return projectDailyService.getRoleHourStatistics(dto); } @GetMapping("/getUserActualHourStatistics") @PermissionMeta(value = "用户工时统计") @Logger(template = "{user.nickname} 查看了用户工时统计 ") @LoginRequired public List getUserActualHourStatistics( @Validated QueryProjectHourStatisticsDTO dto ) { return projectDailyService.getUserActualHourStatistics(dto); } @GetMapping("/getEvaluateiActualHourStatistics") @PermissionMeta(value = "评估实际工时统计") @Logger(template = "{user.nickname} 查看了评估实际工时统计 ") @LoginRequired public List getEvaluateiActualHourStatistics( @Validated QueryProjectHourStatisticsDTO dto ) { return projectDailyService.getEvaluateiActualHourStatistics(dto); } }