package com.njcn.rdms.module.project.controller.admin.workreport.weekly.vo;

import com.njcn.rdms.module.project.controller.admin.workreport.common.vo.PersonalReportPlanItemRespVO;
import com.njcn.rdms.module.project.controller.admin.workreport.common.vo.PersonalReportReviewItemRespVO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;

@Schema(description = "管理后台 - 周报 Response VO")
@Data
public class WeeklyReportRespVO {

    private Long id;
    private Long reporterId;
    private String reporterName;
    private String reporterDeptName;
    private String reporterPostName;
    private Long supervisorUserId;
    private String supervisorName;
    private String periodKey;
    private String periodLabel;
    private LocalDate periodStartDate;
    private LocalDate periodEndDate;
    private String statusCode;
    private String statusName;
    private Boolean allowEdit;
    private Boolean terminal;
    private Boolean isBusinessTrip;
    private BigDecimal totalTravelDays;
    private BigDecimal totalWorkHours;
    private String approvalComment;
    private String lastStatusReason;
    private LocalDateTime submitTime;
    private LocalDateTime approvalTime;
    private LocalDateTime createTime;
    private LocalDateTime updateTime;
    private List<PersonalReportReviewItemRespVO> reviewItems;
    private List<PersonalReportPlanItemRespVO> planItems;
    private List<WeeklyReportTravelSegmentRespVO> travelSegments;
}
