package com.cpop.oam.business.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDate;
import java.util.List;

/**
 * Description:
 * date: 2023/5/15 16:44
 *
 * @Author ST
 */
@Data
@Accessors(chain = true)
@ApiModel(value = "Task对象", description = "OAM-任务表")
public class TaskMonthStatisticsVo implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 进行中
     */
    @ApiModelProperty(value = "进行中")
    private Long inProgress = 0L;

    /**
     * 已完成
     */
    @ApiModelProperty(value = "已完成")
    private Long haveCompleted = 0L;

    /**
     * 测试中
     */
    @ApiModelProperty(value = "测试中")
    private Long inTest = 0L;

    /**
     * 已逾期
     */
    @ApiModelProperty(value = "已逾期")
    private Long overdue = 0L;

    /**
     * 当月绩点
     */
    @ApiModelProperty(value = "当月绩点")
    private Long gpaOfTheMonth = 0L;

    /**
     * 月度数据统计对象集合
     */
    @ApiModelProperty(value = "月度数据统计对象集合")
    private List<DataStatisticsVo> vos;

    @Data
    @Accessors(chain = true)
    @ApiModel(value = "月度数据统计对象", description = "OAM-任务表")
    public class DataStatisticsVo {

        /**
         * 日期
         */
        @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
        @ApiModelProperty(value = "日期")
        private LocalDate date;

        /**
         * 任务内容
         */
        @ApiModelProperty(value = "任务内容")
        private List<String> taskContents;
    }
}
