package cn.iocoder.yudao.module.pms.service.qhse.hazard;

import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.pms.controller.admin.qhse.hazard.vo.IotHazardPageReqVO;
import cn.iocoder.yudao.module.pms.controller.admin.qhse.hazard.vo.IotHazardRectifyVO;
import cn.iocoder.yudao.module.pms.controller.admin.qhse.hazard.vo.IotHazardSaveReqVO;
import cn.iocoder.yudao.module.pms.dal.dataobject.qhse.hazard.IotHazardDO;

import javax.validation.Valid;

/**
 * QHSE隐患排查及整改 Service 接口
 *
 * @author 超级管理员
 */
public interface IotHazardService {

    /**
     * 创建QHSE隐患排查及整改
     *
     * @param createReqVO 创建信息
     * @return 编号
     */
    Long createIotHazard(@Valid IotHazardSaveReqVO createReqVO);

    /**
     * 更新QHSE隐患排查及整改
     *
     * @param updateReqVO 更新信息
     */
    void updateIotHazard(@Valid IotHazardSaveReqVO updateReqVO);
    void rectifyHazard(@Valid IotHazardRectifyVO updateReqVO);
    /**
     * 删除QHSE隐患排查及整改
     *
     * @param id 编号
     */
    void deleteIotHazard(Long id);

    /**
     * 获得QHSE隐患排查及整改
     *
     * @param id 编号
     * @return QHSE隐患排查及整改
     */
    IotHazardDO getIotHazard(Long id);

    /**
     * 获得QHSE隐患排查及整改分页
     *
     * @param pageReqVO 分页查询
     * @return QHSE隐患排查及整改分页
     */
    PageResult<IotHazardDO> getIotHazardPage(IotHazardPageReqVO pageReqVO);

}