 package com.huatek.busi.service;

import java.util.List;

import com.github.pagehelper.PageInfo;
import com.huatek.busi.dto.BusiEqmMalfunctionDto;
import com.huatek.busi.entity.BusiEqmMalfunction;
import com.huatek.busi.entity.BusiEqmWarning;
import com.huatek.busi.vo.BusiEqmMalfunctionVo;

/**
 * 故障单
 * @author buck_guo
 * @date 2019/09/17
 */
public interface BusiEqmMalfunctionService {
    /**
     * 分页查询
     * @param busiEqmMalfunctionDto
     * @return
     */
     PageInfo<BusiEqmMalfunctionVo> selectBusiEqmMalfunctionPage(BusiEqmMalfunctionDto busiEqmMalfunctionDto);
     
     /**
      * 故障处理
      * 
      * @param token
      *            token
      * @param warningIds
      *            故障ID数组
      * @param dealMsg
      *            处理结果
      */
     void doDeal(String token, List<String> warningIds, String dealMsg);
     
     /**
      * 故障转检修
      * 
      * @param token
      *            token
      * @param warningIds
      *            故障ID数组
      * @param dealMsg
      *            处理结果
      */
     void toRepair(String token, List<String> warningIds, String dealMsg);
     
     /**
      * 根据故障ID集合查询检修单是否处理
      * @param warningIds
      * @return
      */
     List<BusiEqmMalfunction> isFinishedOverhaul(List<String> malfunctionIds);
     
     /**
      * 告警单转故障单
      * @param token
      * @param busiEqmWarning
      * @param malfunctionSource
      */
     void warningToMalfunction(String token, BusiEqmWarning busiEqmWarning,String malfunctionSource);
     
     /**
      * 保存故障单
      */
     int saveBusiEqmMalfunction(String token, BusiEqmMalfunctionDto busiEqmMalfunctionDto);
     
     
     BusiEqmMalfunctionVo queryUnprocessedEqmMalfunction(String warningId);
     
     BusiEqmMalfunctionVo findMalfunctionById(String id);
}
