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

import com.zt.plat.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDateTime;

import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@Schema(description = "管理后台 - 设备-设备大类分页 Request VO")
@Data
public class DeviceProductPageReqVO extends PageParam {

    @Schema(description = "父ID", example = "5458")
    private Long parentId;

    @Schema(description = "id路径")
    private String idPath;

    @Schema(description = "节点类型,分类|大类", example = "1")
    private String nodeType;

    @Schema(description = "是否叶子节点")
    private String leafFlag;

    @Schema(description = "名称", example = "王五")
    private String name;

    @Schema(description = "其他配置")
    private String customConfig;

    @Schema(description = "自定义表单")
    private String customForm;

    @Schema(description = "扩展数据值")
    private String customData;

    @Schema(description = "标签")
    private String tag;

    @Schema(description = "标签模板")
    private String labelTemplateKey;

    @Schema(description = "型号")
    private String modelNo;

    @Schema(description = "规格")
    private String specification;

    @Schema(description = "技术指标")
    private String parameter;

    @Schema(description = "设备用途")
    private String deviceUse;

    @Schema(description = "制造国家")
    private String manufacturerNation;

    @Schema(description = "制造商")
    private String manufacturer;

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

    @Schema(description = "禁用标识")
    private String cancelFlag;

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

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

    @Schema(description = "创建时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] createTime;

    @Schema(description = "数据采集设备类型")
    private String collectDeviceType;
}