package com.casic.missiles.dto.business.board;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.ContentRowHeight;
import com.alibaba.excel.annotation.write.style.ContentStyle;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import com.alibaba.excel.enums.poi.BorderStyleEnum;
import com.alibaba.fastjson.annotation.JSONField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * @Description:
 * @Author: wangpeng
 * @Date: 2023/4/12 9:55
 */
@ColumnWidth(30)
@HeadRowHeight(15)
@ContentRowHeight(20)
@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN)
@ExcelIgnoreUnannotated
@ApiModel
@Data
public class BoardDeptComprehensiveResponse {
    //实验室id（计量组织表主键）
    @ApiModelProperty(hidden = true)
    @JSONField(serialize = false)
    private Long id;
    @ApiModelProperty(value = "部门id", dataType = "Long")
    private Long deptId;
    @ExcelProperty(value = "部门")
    @ApiModelProperty(value = "部门名", dataType = "String")
    private String deptName;
    @ExcelProperty(value = "检定样品数量")
    @ApiModelProperty(value = "检定样品数量（检定完成的数量）", dataType = "Integer")
    private Integer samples = 0;
    @ExcelProperty(value = "总样品数量")
    @ApiModelProperty(value = "总样品数量", dataType = "Integer")
    private Integer samplesTotal = 0;
    @ExcelProperty(value = "出具证书数量")
    @ApiModelProperty(value = "出具证书数量", dataType = "Integer")
    private Integer certificates = 0;
    @ExcelProperty(value = "超期样品总数")
    @ApiModelProperty(value = "超期样品总数", dataType = "Integer")
    private Integer expireSamples = 0;
    @ExcelProperty(value = "超期率")
    @ApiModelProperty(value = "超期率", dataType = "String")
    private String expireRate;
    @ExcelProperty(value = "设备检定及时率")
    @ApiModelProperty(value = "设备检定及时率", dataType = "String")
    private String deviceTimelyRate;
    @ExcelProperty(value = "设备检定合格率")
    @ApiModelProperty(value = "设备检定合格率", dataType = "String")
    private String deviceQualifyRate;
    @ExcelProperty(value = "设备维修率")
    @ApiModelProperty(value = "设备维修率", dataType = "String")
    private String deviceRepairRate;

    //部门设备总数，计算使用
    @ApiModelProperty(hidden = true)
    private Integer deptDevices = 0;
    //设备过期数量，计算设备检定及时率使用
    @ApiModelProperty(hidden = true)
    private Integer deptExpireDevices = 0;
    //设备合格数量，计算设备检定合格率使用
    @ApiModelProperty(hidden = true)
    private Integer deptPassDevices = 0;
    //维修设备数量，计算设备维修率使用
    @ApiModelProperty(hidden = true)
    private Integer deptRepairDevices = 0;

    //山海鲸使用参数
    @ApiModelProperty(value = "实验室名称", dataType = "String")
    private String 实验室名称;

    @ApiModelProperty(value = "检定样品数量", dataType = "Integer")
    private Integer 检定样品数量;

    @ApiModelProperty(value = "总样品数量", dataType = "Integer")
    private Integer 总样品数量;

    @ApiModelProperty(value = "出具证书数量", dataType = "Integer")
    private Integer 出具证书数量;

    @ApiModelProperty(value = "超期样品总数", dataType = "Integer")
    private Integer 超期样品总数;

    @ApiModelProperty(value = "超期率", dataType = "String")
    private String 超期率;

    @ApiModelProperty(value = "设备检定及时率", dataType = "String")
    private String 设备检定及时率;

    @ApiModelProperty(value = "设备检定合格率", dataType = "String")
    private String 设备检定合格率;

    @ApiModelProperty(value = "设备维修率", dataType = "String")
    private String 设备维修率;

    public String get实验室名称() {
        return this.deptName;
    }
    public Integer get检定样品数量() {
        return this.samples;
    }

    public Integer get总样品数量() {
        return this.samplesTotal;
    }

    public Integer get出具证书数量() {
        return this.certificates;
    }

    public Integer get超期样品总数() {
        return this.expireSamples;
    }

    public String get超期率() {
        return this.expireRate;
    }

    public String get设备检定及时率() {
        return this.deviceTimelyRate;
    }

    public String get设备检定合格率() {
        return this.deviceQualifyRate;
    }

    public String get设备维修率() {
        return this.deviceRepairRate;
    }

}
