package com.iailab.module.model.mcs.sche.service;

import com.iailab.framework.common.pojo.PageResult;
import com.iailab.framework.common.service.BaseService;
import com.iailab.module.model.api.mcs.dto.StAlarmAndSuggestPageReqVO;
import com.iailab.module.model.api.mcs.dto.StAlarmAndSuggestRespVO;
import com.iailab.module.model.api.mcs.dto.StScheduleSchemeDTO;
import com.iailab.module.model.mcs.sche.entity.StScheduleSchemeEntity;
import com.iailab.module.model.mcs.sche.vo.StScheduleSchemePageReqVO;
import com.iailab.module.model.mcs.sche.vo.StScheduleSchemeSaveReqVO;

import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * @author PanZhibao
 * @date 2021年08月11日 12:06
 */
public interface StScheduleSchemeService extends BaseService<StScheduleSchemeEntity> {

    PageResult<StScheduleSchemeEntity> page(StScheduleSchemePageReqVO reqVO);

    void create(StScheduleSchemeSaveReqVO createReqVO);

    void update(StScheduleSchemeSaveReqVO createReqVO);

    void delete(String id);

    StScheduleSchemeEntity getInfo(String id);

    void updateTime(String id, Date scheduleTime, String statusCode);

    StScheduleSchemeEntity getByCode(String code);

    List<StScheduleSchemeDTO> list(Map<String, Object> params);

    void enableByIds(String[] ids);

    void disableByIds(String[] ids);

    PageResult<StAlarmAndSuggestRespVO> getAlarmAndSuggestPage(StAlarmAndSuggestPageReqVO reqVO);
}