package cn.iocoder.lyzsys.module.tjt.controller.admin.report.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Collections;
import java.util.List;

@Schema(description = "管理后台 - 专业间年度表预览 Response VO")
@Data
public class ProjectQuarterOutputPreviewRespVO {

    @Schema(description = "工程编号")
    private String projectCode;

    @Schema(description = "项目名称")
    private String projectName;

    @Schema(description = "预览年度")
    private Integer year;

    @Schema(description = "预览行")
    private List<QuarterRow> rows = Collections.emptyList();

    @Schema(description = "专业间年度表预览行")
    @Data
    public static class QuarterRow {

        @Schema(description = "序号")
        private Integer serialNo;

        @Schema(description = "是否合计行")
        private Boolean totalRow;

        @Schema(description = "是否占位行")
        private Boolean placeholderRow;

        @Schema(description = "产值类型")
        private String outputType;

        @Schema(description = "设计内容")
        private String designContent;

        @Schema(description = "一季度金额，万元")
        private BigDecimal quarterOneAmountWan;

        @Schema(description = "二季度金额，万元")
        private BigDecimal quarterTwoAmountWan;

        @Schema(description = "三季度金额，万元")
        private BigDecimal quarterThreeAmountWan;

        @Schema(description = "四季度金额，万元")
        private BigDecimal quarterFourAmountWan;

        @Schema(description = "本年度小计，万元")
        private BigDecimal yearTotalAmountWan;

        @Schema(description = "项目经理/工程负责人占比")
        private BigDecimal projectLeadRatio;

        @Schema(description = "项目经理/工程负责人总考核产值，万元")
        private BigDecimal projectLeadAssessmentOutputWan;

        @Schema(description = "项目经理/工程负责人一季度金额，万元")
        private BigDecimal projectLeadQuarterOneAmountWan;

        @Schema(description = "项目经理/工程负责人二季度金额，万元")
        private BigDecimal projectLeadQuarterTwoAmountWan;

        @Schema(description = "项目经理/工程负责人三季度金额，万元")
        private BigDecimal projectLeadQuarterThreeAmountWan;

        @Schema(description = "项目经理/工程负责人四季度金额，万元")
        private BigDecimal projectLeadQuarterFourAmountWan;

        @Schema(description = "项目经理/工程负责人本年度总计，万元")
        private BigDecimal projectLeadYearTotalAmountWan;

        @Schema(description = "专业所占比")
        private BigDecimal officeRatio;

        @Schema(description = "专业所总考核产值，万元")
        private BigDecimal officeAssessmentOutputWan;

        @Schema(description = "专业所一季度金额，万元")
        private BigDecimal officeQuarterOneAmountWan;

        @Schema(description = "专业所二季度金额，万元")
        private BigDecimal officeQuarterTwoAmountWan;

        @Schema(description = "专业所三季度金额，万元")
        private BigDecimal officeQuarterThreeAmountWan;

        @Schema(description = "专业所四季度金额，万元")
        private BigDecimal officeQuarterFourAmountWan;

        @Schema(description = "专业所本年度总计，万元")
        private BigDecimal officeYearTotalAmountWan;

        @Schema(description = "建筑专业占比")
        private BigDecimal archRatio;

        @Schema(description = "精装专业占比")
        private BigDecimal decorRatio;

        @Schema(description = "结构专业占比")
        private BigDecimal structRatio;

        @Schema(description = "给排水专业占比")
        private BigDecimal waterRatio;

        @Schema(description = "暖通专业占比")
        private BigDecimal hvacRatio;

        @Schema(description = "电气专业占比")
        private BigDecimal elecRatio;

        @Schema(description = "数字化设计专业占比")
        private BigDecimal digitalRatio;

        @Schema(description = "建筑专业考核产值，万元")
        private BigDecimal archAssessmentOutputWan;

        @Schema(description = "精装专业考核产值，万元")
        private BigDecimal decorAssessmentOutputWan;

        @Schema(description = "结构专业考核产值，万元")
        private BigDecimal structAssessmentOutputWan;

        @Schema(description = "给排水专业考核产值，万元")
        private BigDecimal waterAssessmentOutputWan;

        @Schema(description = "暖通专业考核产值，万元")
        private BigDecimal hvacAssessmentOutputWan;

        @Schema(description = "电气专业考核产值，万元")
        private BigDecimal elecAssessmentOutputWan;

        @Schema(description = "数字化设计专业考核产值，万元")
        private BigDecimal digitalAssessmentOutputWan;

    }

}
