package com.shkj.wms.service;

import java.util.List;

import com.baomidou.mybatisplus.extension.service.IService;
import com.shkj.common.core.domain.Result;
import com.shkj.wms.domain.BusinPlcException;
import com.shkj.wms.domain.BusinPlcStatus;
import com.shkj.wms.vo.BaseMoldVo;

/**
 * PLC异常内容Service接口
 * 
 * @author zjx
 * @date 2023-09-27
 */
public interface IBusinPlcExceptionService extends IService<BusinPlcException>
{
    /**
     * 查询PLC异常内容
     * 
     * @param id PLC异常内容主键
     * @return PLC异常内容
     */
    public Result<BusinPlcException> selectBusinPlcExceptionById(Long id);

    /**
     * 查询PLC异常内容列表
     * 
     * @param businPlcException PLC异常内容
     * @return PLC异常内容集合
     */
    public List<BusinPlcException> selectBusinPlcExceptionList(BusinPlcException businPlcException);

    /**
     * 新增PLC异常内容
     * 
     * @param businPlcException PLC异常内容
     * @return 结果
     */
    public Result<Boolean> insertBusinPlcException(BusinPlcException businPlcException);

    /**
     * 修改PLC异常内容
     * 
     * @param businPlcException PLC异常内容
     * @return 结果
     */
    public Result<Boolean> updateBusinPlcException(BusinPlcException businPlcException);

    /**
     * 批量删除PLC异常内容
     * 
     * @param ids 需要删除的PLC异常内容主键集合
     * @return 结果
     */
    public Result<Boolean> deleteBusinPlcExceptionByIds(Long[] ids);

    /**
     * 删除PLC异常内容信息
     * 
     * @param id PLC异常内容主键
     * @return 结果
     */
    public int deleteBusinPlcExceptionById(Long id);

    /**
     * 获取设备的异常信息
     * @return
     */
    public List<BusinPlcException> getExecMsgFromRedis();

    /**
     * 获取设备状态
     * @return
     */
    public BusinPlcStatus getPlcStatusFromRedis();


}
