package com.zd.laboratory.service;

import java.util.List;

import com.zd.laboratory.domain.LabCheckMachineMsg;
import com.zd.laboratory.domain.vo.LabCheckMachineMsgVo;

/**
 * 一体机安全检查通知消息Service接口
 *
 * @author liubo
 * @date 2022-01-04
 */
public interface ILabCheckMachineMsgService {
    /**
     * 查询一体机安全检查通知消息
     *
     * @param id 一体机安全检查通知消息主键
     * @return 一体机安全检查通知消息
     */
    public LabCheckMachineMsg selectLabCheckMachineMsgById(Long id);

    /**
     * 查询一体机安全检查通知消息列表
     *
     * @param labCheckMachineMsg 一体机安全检查通知消息
     * @return 一体机安全检查通知消息集合
     */
    @Deprecated
    public List<LabCheckMachineMsg> selectLabCheckMachineMsgList(LabCheckMachineMsg labCheckMachineMsg);

    /**
     * 新增一体机安全检查通知消息
     *
     * @return 结果
     */
    public void insertLabCheckMachineMsg(int type, long checkRecordId);

    /**
     * 新增一体机安全检查 检查者审核 通知消息
     *
     * @return 结果
     */
    public void insertLabCheckMachineJcz(int type, long checkRecordId);

    /**
     * 新增一体机安全检查 提交者 通知消息
     *
     * @return 结果
     */
    public void insertLabCheckMachineTjz(int type, long checkRecordId,int status);

    /**
     * 修改一体机安全检查通知消息
     *
     * @param labCheckMachineMsg 一体机安全检查通知消息
     * @return 结果
     */
    public int updateLabCheckMachineMsg(LabCheckMachineMsg labCheckMachineMsg);

    /**
     * 批量删除一体机安全检查通知消息
     *
     * @param ids 需要删除的一体机安全检查通知消息主键集合
     * @return 结果
     */
    public int deleteLabCheckMachineMsgByIds(Long[] ids);

    /**
     * 删除一体机安全检查通知消息信息
     *
     * @param id 一体机安全检查通知消息主键
     * @return 结果
     */
    public int deleteLabCheckMachineMsgById(Long id);

    List<LabCheckMachineMsgVo> selectCheckMsg(LabCheckMachineMsg labCheckMachineMsg);
}
