package com.ningdatech.pmapi.workbench.model.vo;

import com.ningdatech.pmapi.projectlib.model.vo.ProjectLibListItemVO;
import com.ningdatech.pmapi.sys.model.vo.NoticeListItemVO;
import com.ningdatech.pmapi.todocenter.model.vo.TodoCenterStatisticsVO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/**
 * @Classname WorkbenchVO
 * @Description
 * @Date 2023/3/20 9:33
 * @Author PoffyZhang
 */
@Data
public class WorkbenchVO implements Serializable {

    @ApiModelProperty("待办中心统计数据 以及代办处理")
    public TodoCenterStatisticsVO todoCerter;

    @ApiModelProperty("单位申报管理统计数据")
    public DeclaredStatistics orgDeclared;

    @ApiModelProperty("区域申报管理统计数据 只有区域管理员才有数据")
    public DeclaredStatistics regionDeclared;

    @ApiModelProperty("项目动态")
    public List<ProjectLibListItemVO> projects;

    @ApiModelProperty("公告列表")
    public Map<String,List<NoticeListItemVO>> noticeList;

    @Data
    public static class DeclaredStatistics {
        @ApiModelProperty("总项目数")
        private Integer totalNum;
        @ApiModelProperty("建设项目数")
        private Integer buildNum;
        @ApiModelProperty("运维项目数")
        private Integer operationNum;

        @ApiModelProperty("待立项数")
        private Integer notApprovedNum;
        @ApiModelProperty("已立项数")
        private Integer approvedNum;
        @ApiModelProperty("建设中数")
        private Integer constructionNum;
        @ApiModelProperty("待验收数")
        private Integer tobeInspectedNum;
        @ApiModelProperty("已归档数")
        private Integer archivedNum;

        @ApiModelProperty("申报总金额")
        private BigDecimal declaredAmount;
        @ApiModelProperty("立项总金额")
        private BigDecimal approvalAmount;
    }
}
