package com.zcloud.personnel.positioning.api;

import com.zcloud.personnel.positioning.dto.AlarmRecordAddCmd;
import com.zcloud.personnel.positioning.dto.AlarmRecordBiAlarmTypeQry;
import com.zcloud.personnel.positioning.dto.AlarmRecordBiQry;
import com.zcloud.personnel.positioning.dto.AlarmRecordPageQry;
import com.zcloud.personnel.positioning.dto.AlarmRecordUpdateCmd;
import com.zcloud.personnel.positioning.dto.clientobject.AlarmRecordCO;
import com.zcloud.personnel.positioning.dto.clientobject.AlarmTypeStatCO;
import com.zcloud.personnel.positioning.dto.clientobject.OptionCO;
import com.alibaba.cola.dto.PageResponse;
import com.alibaba.cola.dto.SingleResponse;

import java.util.List;

/**
 * web-client
 *
 * @Author fangjiakai
 * @Date 2026-07-07
 */
public interface AlarmRecordServiceI {
    PageResponse<AlarmRecordCO> listPage(AlarmRecordPageQry qry);

    List<AlarmRecordCO> listBiAlarm(AlarmRecordBiQry qry);

    List<AlarmTypeStatCO> listBiAlarmType(AlarmRecordBiAlarmTypeQry qry);

    List<AlarmRecordCO> listAll();

    AlarmRecordCO queryById(Long id);

    List<OptionCO> listCompanyOptions();

    List<OptionCO> listAlarmTypeOptions();

    SingleResponse<AlarmRecordCO> add(AlarmRecordAddCmd cmd);

    void edit(AlarmRecordUpdateCmd cmd);

    void remove(Long id);

    void removeBatch(Long[] ids);
}
