package com.zt.plat.module.base.controller.admin.businessindicator.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 BusinessIndicatorRespVO {

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

    @Schema(description = "父级ID", example = "12917")
    @ExcelProperty("父级ID")
    private Long parentId;

    @Schema(description = "指标编码", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("指标编码")
    private String code;

    @Schema(description = "指标名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
    @ExcelProperty("指标名称")
    private String name;

    @Schema(description = "数据类型", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("数据类型")
    private String dataValue;

    @Schema(description = "计量单位量ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "17208")
    @ExcelProperty("计量单位量ID")
    private Long quantityId;

    @Schema(description = "计量单位ID", example = "31355")
    @ExcelProperty("计量单位ID")
    private Long unitId;

    @Schema(description = "算法ID", example = "2240")
    @ExcelProperty("算法ID")
    private Long algorithmId;

    @Schema(description = "规则ID", example = "32155")
    @ExcelProperty("规则ID")
    private Long ruleId;

    @Schema(description = "维度ID", example = "7598")
    @ExcelProperty("维度ID")
    private Long dimensionId;

    @Schema(description = "周期类型值", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("周期类型值")
    private String cycleValue;

    @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("状态")
    private String statusValue;

    @Schema(description = "是否可修改")
    @ExcelProperty("是否可修改")
    private Integer isModify;

    @Schema(description = "用户ID", example = "13550")
    @ExcelProperty("用户ID")
    private Long userId;

    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("创建时间")
    private LocalDateTime createTime;
    
    // 新增关联名称字段
    @Schema(description = "算法模型名称")
    private String algorithmName;

    @Schema(description = "算法类型值")
    private String algorithmTypeValue;

    @Schema(description = "规则模型名称")
    private String ruleName;

    @Schema(description = "规则类型值")
    private String ruleTypeValue;

    @Schema(description = "负责人名称")
    private String userName;

    @Schema(description = "指标描述")
    private String description;


}