// 总览-基本信息props
export interface EstateStatisticsProps {
    housingEstateId: string;
    todayBegin?: string;
    todayEnd?: string;
    sevenDayEnd?: string;
}
// 总览-基本信息Resp
export interface EstateStatisticsResp {
    divisionId?: string;
    divisionName?: string;
    name?: string;
    baseType?: string;
    baseTypeName?: string;
    buildingNum?: number;
    householdNum?: number;
    personNum?: number;
    throwPointNum?: number;
    supervisorNum?: number;
    longitude?: string;
    latitude?: string;
    address?: string;
    manageOrgId?: string;
    manageOrgName?: string;
    responsibleOrgId?: string;
    responsibleOrgName?: string;
    photos?: string;
    sceneUrl?: string;
    [key: string]: any;
}

// 总览-投放热度-按垃圾类型统计props
export interface ThrowSumByGarbageTypeProps extends EstateStatisticsProps {}
// 总览-投放热度-按垃圾类型统计Resp
export interface ThrowSumByGarbageTypeResp {
    // 垃圾类型CODE
    garbageTypeCode?: string;
    // 垃圾类型名称
    garbageTypeName?: string;
    // 垃圾类型图标
    garbageTypeIcon?: string;
    // 投放次数
    throwCount?: number;
    // 投放重量
    weight?: number;
}
// 总览-投放热度-按24H统计props
export interface ThrowSumByHourProps extends EstateStatisticsProps {}
// 总览-投放热度-按24H统计Resp
export interface ThrowSumByHourResp {
    // 时间, yyyy-MM-dd HH
    date?: string;
    // 投放次数
    throwCount?: number;
}

//总览-点位分布，一周趋势props
export interface ThrowSumByDayAndPointProps extends EstateStatisticsProps {}
//总览-点位分布，一周趋势Resp
export interface ThrowSumByDayAndPointResp {
    // 日期, yyyy-MM-dd
    day?: string;
    // 投放点id
    throwPointId?: string;
    // 投放点
    throwPointName?: string;
    // 投放次数
    throwCount?: number;
}

// 总览-AI工单-按事件类型props
export interface AlarmByTypeProps extends EstateStatisticsProps {}
// 总览-AI工单-按事件类型Resp
export interface AlarmByTypeResp {
    // 报警类型
    alarmType: string;
    // 报警名称
    alarmTypeName: string;
    // 次数
    count: number;
    // 平均值
    countAvg: number;
}

// 总览-AI工单-按日期props
export interface AlarmByDateProps extends EstateStatisticsProps {}
// 总览-AI工单-按日期Resp
export interface AlarmByDateResp {
    // 日期
    day?: string;
    // 报警类型
    alarmType: string;
    // 报警名称
    alarmTypeName?: string;
    // 次数
    count?: number;
}

// 总览-运营管理props
export interface ManagementProps extends EstateStatisticsProps {}
// 总览-运营管理Resp
export interface ManagementResp {
    // 地面不干净时长(分钟)
    dirtyGroundDuration?: number;
    // 满溢时长(分钟)
    overflowDuration?: number;
    // 厨余准确率
    chuyuAccuracy?: number;
    // 居民参与率
    personParticipationRate?: number;
    // 语音宣教次数
    voiceEducateTimes?: number;
    // 违规陌生人数
    strangerNum?: number;
    // 灰名单居民数
    badLabelPersonNum?: number;
}

// 总览-工单处理效率props
export interface ResolveEfficiencyProps extends EstateStatisticsProps {}
// 总览-工单处理效率Resp
export interface ResolveEfficiencyResp {
    // 工单关闭率
    closeRate?: number;
    // 工单关闭率均值
    closeRateAverage?: number;
    // 处理时长(分钟)
    resolveMinute?: number;
    // 处理时长(分钟)均值
    resolveMinuteAverage?: number;
    // 工单及时关闭率
    closeInTimeRate?: number;
    // 工单及时关闭率均值
    closeInTimeRateAverage?: number;
}

// 违规人公示-分页props
export interface ThrowFailPersonProps {
    page?: number;
    size?: number;
    beginTime?: string;
    endTime?: string;
    housingEstateId?: string
}
// 违规人公示-分页Resp
export interface ThrowFailPersonResp {
    throwFailId?: string;
    personPhoto2?: string;
    datetime?: string;
    detectObjects?: string;
}
// 违规人公示-导出props
export interface ThrowFailPersonExportProps {
    beginTime?: string;
    endTime?: string;
    housingEstateId?: string;
    throwFailIds?:string
}

// 居民投放热度-统计props
export interface ThrowRecordCountProps {
    startDatetime?: string;
    endDatetime?: string;
    housingEstateId?: string;
}
// 居民投放热度-统计Resp
export interface ThrowRecordCountResp {
    householdCount?: number;
    personCount?: number;
    totalCount?: number;
}
// 居民投放热度-分页props
export interface ThrowRecordProps extends ThrowRecordCountProps {
    page?: number;
    size?: number
}

// 居民违规记录props
export interface ViolationRecordProps extends ThrowRecordProps{
    throwAberrantCode?: string
}
