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

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

import java.math.BigDecimal;
import java.time.LocalDateTime;

@Schema(description = "管理后台 - 项目盈亏 Response VO")
@Data
public class ProjectProfitRespVO {

    @Schema(description = "项目 ID", example = "1")
    private Long projectId;

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

    @Schema(description = "排序")
    private Integer sortNo;

    @Schema(description = "是否签订合同")
    private Boolean contractSignedFlag;

    @Schema(description = "合同总产值")
    private BigDecimal contractAmount;

    @Schema(description = "结算合同总产值")
    private BigDecimal finalSettlementAmount;

    @Schema(description = "项目预算产值总计，结算合同总产值大于 0 时取结算合同总产值，否则取合同总产值")
    private BigDecimal effectiveSettlementAmount;

    @Schema(description = "综合所人工成本")
    private BigDecimal comprehensivePlanningAmount;

    @Schema(description = "专项/源头合作分包人工成本合计")
    private BigDecimal subcontractPlanningAmount;

    @Schema(description = "专项分包人工成本")
    private BigDecimal specialSubcontractPlanningAmount;

    @Schema(description = "源头合作分包人工成本")
    private BigDecimal sourceCoopSubcontractPlanningAmount;

    @Schema(description = "专业所考核产值")
    private BigDecimal majorOutputValue;

    @Schema(description = "专业所人工成本")
    private BigDecimal majorExpectedPerformance;

    @Schema(description = "科创产值比例")
    private BigDecimal innovationOutputRate;

    @Schema(description = "科创产值")
    private BigDecimal innovationOutputValue;

    @Schema(description = "其他成本")
    private BigDecimal otherCost;

    @Schema(description = "预算盈亏值")
    private BigDecimal profitLossValue;

    @Schema(description = "预算盈亏百分比")
    private BigDecimal profitLossRate;

    @Schema(description = "项目开始年度")
    private Integer projectStartYear;

    @Schema(description = "创建时间")
    private LocalDateTime createTime;

}
