package com.ningdatech.carapi.report.model.dto;

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

import javax.validation.constraints.NotNull;

import cn.afterturn.easypoi.excel.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * @author CMM
 * @since 2023/10/02 10:54
 */
@Data
public class NonProAreasQueryDataExportDTO {
    @NotNull(message = "非禁现区散装水泥销售点合计数量不能为空")
    @Excel(name = "合计(个)",groupName = "非禁现区散装水泥销售点")
    private Integer salePointAccumulativeNum;
    @Excel(name = "水泥企业建点数量(个)")
    @NotNull(message = "非禁现区水泥企业建点数量不能为空")
    private Integer cementCompanyBuildPointNum;
    @Excel(name = "其他投资建点数量(个)")
    @NotNull(message = "非禁现区其它投资建点数量不能为空")
    private Integer otherInvestmentBuildPointNum;
    @Excel(name = "销售量(万吨)")
    @NotNull(message = "非禁现区散装水泥销售量不能为空")
    private BigDecimal saleVolume;
    @Excel(name = "数量(个)",groupName = "散装水泥罐")
    @NotNull(message = "非禁现区散装水泥罐数量不能为空")
    private Integer bulkCementTankNum;
    @Excel(name = "容量(吨)")
    @NotNull(message = "非禁现区散装水泥罐容量不能为空")
    private BigDecimal bulkCementTankCapacity;


    @Excel(name = "水泥使用量(万吨)",groupName = "非禁现区散装水泥使用情况")
    @NotNull(message = "非禁现区水泥使用量不能为空")
    private BigDecimal cementUsage;
    @Excel(name = "散装水泥使用量(万吨)")
    @NotNull(message = "非禁现区散装水泥使用量不能为空")
    private BigDecimal bulkCementUsage;
    @Excel(name = "生产预拌混凝土使用散装水泥量(万吨)")
    @NotNull(message = "生产预拌混凝土散装水泥使用量不能为空")
    private BigDecimal readyMixedConcreteBulkCementUsage;
    @Excel(name = "生产水泥制品使用散装水泥量(万立方米)")
    @NotNull(message = "生产水泥制品使用散装水泥量不能为空")
    private BigDecimal cementProductsBulkCementUsage;

    @Excel(name = "地区")
    @NotNull(message = "地区不能为空")
    private String regionName;

    @Excel(name = "非禁现区域散装水泥使用率%")
    @NotNull(message = "非禁现区域散装水泥使用率不能为空")
    private BigDecimal bulkCementUsageRate;

    @Excel(name = "非禁现区域生产预拌混凝土产量(万立方米)")
    @NotNull(message = "非禁现区域生产预拌混凝土产量不能为空")
    private BigDecimal readyMixedConcreteOutput;

    @Excel(name = "备注")
    private String remark;

    @ApiModelProperty("单位负责人")
    private String unitResponsiblePerson;

    @ApiModelProperty("填表人")
    private String preparer;

    @ApiModelProperty("复核人")
    private String reviewer;

    @ApiModelProperty("报出日期")
    private LocalDateTime submissionDate;
}
