import type { WcsBaseEntity } from '../types';

export type DeviceParamId = string | number;
export type DeviceParamIds = DeviceParamId[];

export interface DeviceParamVO {
  /**
   * 主键标识
   */
  objId: string | number;

  /**
   * 参数编号
   */
  paramCode: string;

  /**
   * 设备编号
   */
  deviceCode: string;

  /**
   * 参数名称
   */
  paramName: string;

  /**
   * 参数地址
   */
  paramAddress: string;

  /**
   * 参数类型
   */
  paramType: string;

  /**
   * 操作类型：1-只读；2-只写；0-默认读写
   */
  operationType: number;

  /**
   * 操作频率（毫秒）
   */
  operationFrequency: number;

  /**
   * 是否标识：1-是；0-否
   */
  isFlag: number;

  /**
   * 备注
   */
  remark: string;

  /**
   * 创建时间
   */
  createTime: string;

  /** 设备名称 */
  deviceName: string;

  /** 创建人 */
  createBy: string | number;
  /** 更新人 */
  updateBy: string | number;
  /** 创建人名称 */
  createByName: string;
  /** 更新人名称 */
  updateByName: string;
}

export interface DeviceParamForm extends WcsBaseEntity {
  /**
   * 主键标识
   */
  objId?: string | number;

  /**
   * 参数编号
   */
  paramCode?: string;

  /**
   * 设备编号
   */
  deviceCode?: string;

  /**
   * 参数名称
   */
  paramName?: string;

  /**
   * 参数地址
   */
  paramAddress?: string;

  /**
   * 参数类型
   */
  paramType?: string;

  /**
   * 操作类型：1-只读；2-只写；0-默认读写
   */
  operationType?: number;

  /**
   * 操作频率（毫秒）
   */
  operationFrequency?: number;

  /**
   * 是否标识：1-是；0-否
   */
  isFlag?: number;

  /**
   * 备注
   */
  remark?: string;
}

export interface DeviceParamQuery extends PageQuery {
  /**
   * 参数编号
   */
  paramCode?: string;

  /**
   * 设备编号
   */
  deviceCode?: string;

  /**
   * 参数名称
   */
  paramName?: string;

  /**
   * 参数地址
   */
  paramAddress?: string;

  /**
   * 参数类型
   */
  paramType?: string;

  /**
   * 操作类型：1-只读；2-只写；0-默认读写
   */
  operationType?: number;

  /**
   * 操作频率（毫秒）
   */
  operationFrequency?: number;

  /**
   * 是否标识：1-是；0-否
   */
  isFlag?: number;

  /**
   * 创建时间
   */
  createTime?: string;

  /**
   * 日期范围参数
   */
  params?: any;
}
