package com.zd.chemical.mapper;

import java.util.List;
import com.zd.chemical.domain.HxpAlarmRecord;
import com.zd.chemical.domain.vo.AioAlarmRecordVo;
import com.zd.chemical.domain.vo.HxpAlarmRecordSearch;
import com.zd.chemical.domain.vo.HxpAlarmRecordVo;
import com.zd.chemical.domain.vo.HxpCabinetVo;

/**
 * 化学品报警记录Mapper接口
 *
 * @author liubo
 * @date 2022-06-16
 */
public interface HxpAlarmRecordMapper
{
    /**
     * 查询化学品报警记录
     *
     * @param id 化学品报警记录主键
     * @return 化学品报警记录
     */
    public HxpAlarmRecord selectHxpAlarmRecordById(Long id);

    /**
     * 查询化学品报警记录列表
     *
     * @param hxpAlarmRecordSearch 化学品报警记录
     * @return 化学品报警记录集合
     */
    public List<HxpAlarmRecordVo> selectHxpAlarmRecordList(HxpAlarmRecordSearch hxpAlarmRecordSearch);

    /**
     * 新增化学品报警记录
     *
     * @param hxpAlarmRecord 化学品报警记录
     * @return 结果
     */
    public int insertHxpAlarmRecord(HxpAlarmRecord hxpAlarmRecord);

    /**
     * 修改化学品报警记录
     *
     * @param hxpAlarmRecord 化学品报警记录
     * @return 结果
     */
    public int updateHxpAlarmRecord(HxpAlarmRecord hxpAlarmRecord);

    /**
     * 删除化学品报警记录
     *
     * @param id 化学品报警记录主键
     * @return 结果
     */
    public int deleteHxpAlarmRecordById(Long id);

    /**
     * 批量删除化学品报警记录
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteHxpAlarmRecordByIds(Long[] ids);

    List<AioAlarmRecordVo> queryAlarmRecordList(AioAlarmRecordVo aioAlarmRecordVo);

    AioAlarmRecordVo queryAlarmRecordDetail(Long id);

    int updateByOutStock(Long stockId);

    int updateByReturnUserecord(Long userecordId);

    List<HxpAlarmRecord> queryListByNOValid(HxpAlarmRecord alarmRecord);

    int updateOtherByParentId(Long parentId);
}
