package com.dcsoft.system.ladder.service;

import com.dcsoft.common.core.web.domain.AjaxResult;
import com.dcsoft.system.domain.SysPeople;
import com.dcsoft.system.ladder.domain.*;

import java.io.IOException;
import java.net.UnknownHostException;
import java.util.List;

public interface ITEmpowerManageService {

    /**
     * 新增梯控授权管理
     */
    void saveEmpowerManage(EmpowerManageVo empowerManageVo);

    /**
     * 查询梯控授权管理列表
     */
    List<EmpowerManageVo> queryEmpowerManagePage(EmpowerManageVo empowerManageVo);

    /**
     * 删除梯控授权管理
     */
    void deleteEmpowerManage(EmpowerManageVo empowerManageVo);

    /**
     * 查询梯控授权记录列表
     */
    List<EmpowerRecordVo> queryEmpowerRecordPage(EmpowerManageVo empowerManageVo);

    /**
     * 修改禁用或启用状态
     */
    void updateLadderState(EmpowerManageVo empowerManageVo) throws IOException;

    /**
     * 查询人员是否下发设备中
     */
    EmpowerManageVo queryEmpowerRecordInfo(SysPeople people);

    /**
     * 查询梯控规则
     */
    TLadderRule queryLadderRuleInfo(String ladderRuleId);

    /**
     * 查询楼层信息
     */
    List<StoreyInfoVo> queryStoreyInfo(List<String> list);

    /**
     * 删除授权记录
     */
    void deleteLadderState(EmpowerManageVo empowerManageVo);

    /**
     * 保存梯口识别记录
     */
    void saveLadderRecord(LadderRecordVo recordVo);

    /**
     * 查询识别记录
     */
    List<LadderRecordVo> queryLadderRecord(LadderRecordVo recordVo);

    /**
     * 删除识别记录
     */
    void deleteLadderRecord(LadderRecordVo recordVo);

    /**
     * 保存梯控设备授权
     */
    void saveLadderDevice(SysPeople sysPeople);

    /**
     * 查询梯控数量（今天，昨天）
     * @param recordVo
     * @return
     */
    List<LadderRecordVo> queryLadderRecordCount(LadderRecordVo recordVo);
}
