/**
 * 跌倒统计入参
 * @description: 分页查询设备的跌倒统计信息
 * @param devId 设备ID
 * @param tenantId 租户id
 * @param createTimeStart 起始时间 格式yyyy-MM-dd
 * @param createTimeEnd 结束时间 格式yyyy-MM-dd
 * @param pageNo 页码
 * @param pageSize 每页条数
 */
export interface StatsFallQueryParams {
  pageNo: number // 页码
  pageSize: number // 每页条数
  devId?: ID // 设备ID
  tenantId?: ID // 租户id
  createTimeStart: string // 起始时间 格式yyyy-MM-dd
  createTimeEnd: string // 结束时间 格式yyyy-MM-dd
}

/**
 * 跌倒统计出参 rows
 * @description: 分页查询设备的跌倒统计信息
 * @param createId 创建人
 * @param updateId 修改人
 * @param createTime 创建时间
 * @param updateTime 更新时间
 * @param isDeleted 删除标记：0-未删除，1-已删除
 * @param remark 备注
 * @param eventListId 事件主键
 * @param devId 设备Id
 * @param pose 姿态
 * @param targetPoints target数组
 * @param eventType 事件类型
 * @param isHandle 是否处理：0-未处理，1-已处理
 */
export interface StatsFallQueryDataRow {
  createId: ID // 创建人
  updateId: ID // 修改人
  createTime: string // 创建时间
  updateTime: string // 更新时间
  isDeleted: Switch // 删除标记：0-未删除，1-已删除
  remark: ID // 备注
  eventListId: ID // 事件主键
  devId: ID // 设备Id
  pose: ID // 姿态
  poseName: string // 姿态名称
  targetPoints: ID // target数组
  eventType: ID // 事件类型
  eventTypeName: string // 事件类型名称
  isHandle: Switch // 是否处理：0-未处理，1-已处理
}

/**
 * 跌倒统计出参
 * @description: 分页查询设备的跌倒统计信息
 */
export interface StatsFallQueryData {
  rows: StatsFallQueryDataRow[]
  total: number
  pageNum: number
  pageSize: number
  outTotalPageNum: boolean
  totalPageNum: number
}

/**
 * 异常滞留入参
 * @description: 分页查询设备的异常滞留统计信息
 * @param devId 设备ID
 * @param tenantId 租户id
 * @param createTimeStart 起始时间 格式yyyy-MM-dd
 * @param createTimeEnd 结束时间 格式yyyy-MM-dd
 * @param pageNo 页码
 * @param pageSize 每页条数
 * @param eventType 事件类型 0:异常滞留 1:异常消失 2:异常起夜 3:异常入厕
 */
export interface StatsAlarmRetentionQueryParams extends StatsFallQueryParams {
  eventType: ID // 事件类型 0:异常滞留 1:异常消失 2:异常起夜 3:异常入厕
}

/**
 * 异常滞留出参 rows
 */
export interface StatsAlarmRetentionQueryDataRow {
  alarmEventId: ID // 告警表主键ID
  devId: ID // 设备表主键ID
  pose: string // 姿势
  poseName: string // 姿势名称
  stayTimeId: string // 事件表主键id
  eventType: string // 告警类型
  eventTypeName: string // 告警类型名称
  isHandle: Switch // 是否处理：0-未处理，1-已处理
}

/**
 * 异常滞留出参
 */
export interface StatsAlarmRetentionQueryData {
  rows: StatsAlarmRetentionQueryDataRow[]
  total: number
  pageNum: number
  pageSize: number
  outTotalPageNum: boolean
  totalPageNum: number
}

/**
 * 一般滞留入参
 * @description: 分页查询设备的一般滞留统计信息
 * @param devId 设备ID
 * @param tenantId 租户id
 * @param createTimeStart 起始时间 格式yyyy-MM-dd
 * @param createTimeEnd 结束时间 格式yyyy-MM-dd
 * @param pageNo 页码
 * @param pageSize 每页条数
 * @param type 类型 0:一般滞留事件 2:马桶滞留事件
 */
export interface StatsGeneralRetentionQueryParams extends StatsFallQueryParams {
  type: ID // 类型 0:一般滞留事件 2:马桶滞留事件
}

/**
 * 一般滞留出参 rows
 */
export interface StatsGeneralRetentionQueryDataRows {
  createId: ID // 创建人
  updateId: ID // 修改人
  createTime: string // 创建时间
  updateTime: string // 更新时间
  isDeleted: Switch // 	删除标记：0-未删除，1-已删除
  remark: string // 备注
  stayTimeId: ID // stay_time表主键id
  devId: ID // 设备表主键id
  clientId: ID // 设备clientId
  devName: string // 设备名称
  type: ID // 停留类型
  typeName: string // 停留类型名称
  enterTime: string // 进入时间
  leaveTime: string // 离开时间
  stayTime: number // 停留时长(秒)
  childStayTime: StatsGeneralRetentionQueryDataRows[] // 子停留信息
}

/**
 * 一般滞留出参
 */
export interface StatsGeneralRetentionQueryData {
  rows: StatsGeneralRetentionQueryDataRows[]
  total: number
  pageNum: number
  pageSize: number
  outTotalPageNum: boolean
  totalPageNum: number
}
