/**
 * EMS基础数据模块类型定义
 */

/**
 * 能源类型VO
 */
export interface BaseEnergyTypeVO {
  objId: string | number;
  energyTypeId: string | number;
  energyName: string;
  measureUnit: string;
  price: number;
  createBy?: string;
  createTime?: string;
  updateBy?: string;
  updateTime?: string;
}

/**
 * 能源类型表单
 */
export interface BaseEnergyTypeForm {
  objId?: string | number;
  energyTypeId?: string | number;
  energyName?: string;
  measureUnit?: string;
  price?: number;
}

/**
 * 能源类型查询参数
 */
export interface BaseEnergyTypeQuery extends PageQuery {
  energyTypeId?: string | number;
  energyName?: string;
  measureUnit?: string;
  price?: number;
}

/**
 * 能源价格VO
 */
export interface BaseEnergyPriceVO {
  id: string | number;
  energyTypeId: string | number;
  energyTypeName?: string;
  priceType: number;
  price: number;
  effectiveDate: string;
  expiryDate?: string;
  status: number;
  createBy?: string;
  createTime?: string;
  updateBy?: string;
  updateTime?: string;
}

/**
 * 能源价格表单
 */
export interface BaseEnergyPriceForm {
  id?: string | number;
  energyTypeId?: string | number;
  priceType?: number;
  price?: number;
  effectiveDate?: string;
  expiryDate?: string;
  status?: number;
}

/**
 * 能源价格查询参数
 */
export interface BaseEnergyPriceQuery extends PageQuery {
  energyTypeId?: string | number;
  priceType?: number;
  status?: number;
}

/**
 * 工作单元VO
 */
export interface BaseWorkUnitVO {
  objId: string | number;
  workUnitCode: string;
  workUnitName: string;
  unitType?: string;
  parentId?: string | number;
  remark?: string;
  createBy?: string;
  createTime?: string;
  updateBy?: string;
  updateTime?: string;
}

/**
 * 工作单元表单
 */
export interface BaseWorkUnitForm {
  objId?: string | number;
  workUnitCode?: string;
  workUnitName?: string;
  unitType?: string;
  parentId?: string | number;
  remark?: string;
}

/**
 * 工作单元查询参数
 */
export interface BaseWorkUnitQuery extends PageQuery {
  workUnitCode?: string;
  workUnitName?: string;
  unitType?: string;
}

/**
 * 采集设备VO
 */
export interface BaseCollectDeviceInfoVO {
  objId: string | number;
  deviceCode: string;
  deviceName: string;
  deviceType?: string;
  protocol?: string;
  ipAddress?: string;
  port?: number;
  status?: number;
  remark?: string;
  createBy?: string;
  createTime?: string;
  updateBy?: string;
  updateTime?: string;
}

/**
 * 采集设备表单
 */
export interface BaseCollectDeviceInfoForm {
  objId?: string | number;
  deviceCode?: string;
  deviceName?: string;
  deviceType?: string;
  protocol?: string;
  ipAddress?: string;
  port?: number;
  status?: number;
  remark?: string;
}

/**
 * 采集设备查询参数
 */
export interface BaseCollectDeviceInfoQuery extends PageQuery {
  deviceCode?: string;
  deviceName?: string;
  deviceType?: string;
  status?: number;
}

/**
 * 监控信息VO
 */
export interface BaseMonitorInfoVO {
  objId: string | number;
  monitorCode: string;
  monitorName: string;
  energyTypeId?: string | number;
  energyTypeName?: string;
  deviceId?: string | number;
  deviceName?: string;
  workUnitId?: string | number;
  workUnitName?: string;
  dataPoint?: string;
  status?: number;
  remark?: string;
  createBy?: string;
  createTime?: string;
  updateBy?: string;
  updateTime?: string;
}

/**
 * 监控信息表单
 */
export interface BaseMonitorInfoForm {
  objId?: string | number;
  monitorCode?: string;
  monitorName?: string;
  energyTypeId?: string | number;
  deviceId?: string | number;
  workUnitId?: string | number;
  dataPoint?: string;
  status?: number;
  remark?: string;
}

/**
 * 监控信息查询参数
 */
export interface BaseMonitorInfoQuery extends PageQuery {
  monitorCode?: string;
  monitorName?: string;
  energyTypeId?: string | number;
  deviceId?: string | number;
  workUnitId?: string | number;
  status?: number;
}

/**
 * 监控阈值VO
 */
export interface BaseMonitorThresholdVO {
  objId: string | number;
  monitorId: string | number;
  monitorName?: string;
  thresholdType: number;
  thresholdValue: number;
  alarmLevel?: number;
  status: number;
  createBy?: string;
  createTime?: string;
  updateBy?: string;
  updateTime?: string;
}

/**
 * 监控阈值表单
 */
export interface BaseMonitorThresholdForm {
  objId?: string | number;
  monitorId?: string | number;
  thresholdType?: number;
  thresholdValue?: number;
  alarmLevel?: number;
  status?: number;
}

/**
 * 监控阈值查询参数
 */
export interface BaseMonitorThresholdQuery extends PageQuery {
  monitorId?: string | number;
  thresholdType?: number;
  status?: number;
}

/**
 * 监控工作单元VO
 */
export interface BaseMonitorWorkUnitVO {
  objId: string | number;
  monitorId: string | number;
  monitorName?: string;
  workUnitId: string | number;
  workUnitName?: string;
  createBy?: string;
  createTime?: string;
  updateBy?: string;
  updateTime?: string;
}

/**
 * 监控工作单元表单
 */
export interface BaseMonitorWorkUnitForm {
  objId?: string | number;
  monitorId?: string | number;
  workUnitId?: string | number;
}

/**
 * 监控工作单元查询参数
 */
export interface BaseMonitorWorkUnitQuery extends PageQuery {
  monitorId?: string | number;
  workUnitId?: string | number;
}

/**
 * 分摊价格VO
 */
export interface BaseSharePriceVO {
  objId: string | number;
  energyTypeId: string | number;
  energyTypeName?: string;
  workUnitId: string | number;
  workUnitName?: string;
  shareRatio: number;
  effectiveDate: string;
  expiryDate?: string;
  createBy?: string;
  createTime?: string;
  updateBy?: string;
  updateTime?: string;
}

/**
 * 分摊价格表单
 */
export interface BaseSharePriceForm {
  objId?: string | number;
  energyTypeId?: string | number;
  workUnitId?: string | number;
  shareRatio?: number;
  effectiveDate?: string;
  expiryDate?: string;
}

/**
 * 分摊价格查询参数
 */
export interface BaseSharePriceQuery extends PageQuery {
  energyTypeId?: string | number;
  workUnitId?: string | number;
}
