package com.zt.plat.module.qms.resource.device.controller.vo;

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

import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;

@Schema(description = "管理后台 - 设备-业务配置 Response VO")
@Data
@ExcelIgnoreUnannotated
public class DeviceConfigBusinessRuleRespVO {

    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "2207")
    @ExcelProperty("主键")
    private Long id;

    @Schema(description = "产品id", example = "28944")
    @ExcelProperty("产品id")
    private Long productId;

    @Schema(description = "业务领域")
    @ExcelProperty("业务领域")
    private String businessDomain;

    @Schema(description = "是否需要")
    @ExcelProperty("是否需要")
    private String requireFlag;

    @Schema(description = "子业务类型", example = "2")
    @ExcelProperty("子业务类型")
    private String subitemDomainType;

    @Schema(description = "频次类型", example = "2")
    @ExcelProperty("频次类型")
    private String frequencyType;

    @Schema(description = "频次")
    @ExcelProperty("频次")
    private String frequency;

    @Schema(description = "频次说明")
    @ExcelProperty("频次说明")
    private String frequencyRemark;

    @Schema(description = "报表模板")
    @ExcelProperty("报表模板")
    private String reportTemplateKey;

    @Schema(description = "表单组件")
    @ExcelProperty("表单组件")
    private String formComponent;

    @Schema(description = "处理方法")
    @ExcelProperty("处理方法")
    private String treatmentMethod;

    @Schema(description = "处理人")
    @ExcelProperty("处理人")
    private String treatmentUser;

    @Schema(description = "检定/校准类型", example = "1")
    @ExcelProperty("检定/校准类型")
    private String calibrationCheckType;

    @Schema(description = "标准/规范")
    @ExcelProperty("标准/规范")
    private String standard;

    @Schema(description = "所属部门")
    @ExcelProperty("所属部门")
    private String systemDepartmentCode;

    @Schema(description = "备注")
    @ExcelProperty("备注")
    private String remark;

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

    //====================扩展字段============
    @Schema(description = "配置项数量")
    @ExcelProperty("配置项数量")
    private Long itemCount;

}