package cn.cecep.talroad.mapper;

import cn.cecep.talroad.domain.BasDevice;
import cn.cecep.talroad.vo.FacilityInformationManagementVO;
import cn.cecep.talroad.vo.query.FacilityInformationQuery;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import java.util.List;

/**
 * @className: FacilityInformationManagementMapper
 * @description: TODO 类描述
 * @author: Mr.Yanghongtao
 * @date: 2023/04/28 11:45
 * @Company: Copyright© [2023/04/28 11:45] by [Mr.Yanghongtao]
 **/
@Mapper
public interface FacilityInformationManagementMapper {

    /**
     * @Author: Mr.Yanghongtao
     * @data: 2023/4/28 12:28
     * @Deseription: 分表计电生产设施匹配列表
     * @Params: dto
     * @Return: <cn.cecep.talroad.vo.FacilityInformationManagementVO>
     * @Throws:
     */
    List<FacilityInformationManagementVO> selectFacilityInformationManagementListByParams(Page page,@Param("dto") FacilityInformationQuery dto);

    /**
     * @Author: Mr.Yanghongtao
     * @data: 2023/4/28 11:33
     * @Deseription: 查询排污许可设施列表
     * @Params: deviceType
     * @Return:
     * @Throws:
     */
    List<BasDevice> selectPollutantDeviceList(@Param("factoryId") String factoryId, @Param("type") String type, @Param("deviceType") Integer deviceType);

    /**
     * @Author: Mr.Yanghongtao
     * @data: 2023/4/28 13:40
     * @Deseription: 保存
     * @Params: null
     * @Return:
     * @Throws:
     */
    void updateDeviceAndPollutantCodeList(@Param("list") List<FacilityInformationQuery> dto);

    /**
     * @Author: Mr.Yanghongtao
     * @data: 2023/4/28 13:40
     * @Deseription: 保存
     * @Params: null
     * @Return:
     * @Throws:
     */
    void cancelDeviceAndPollutantCodeList(@Param("list") List<FacilityInformationQuery> dto);


    /**
     * @Author: Mr.Yanghongtao
     * @data: 2023/4/28 12:28
     * @Deseription: 分表计电生产设施匹配列表，提供给设施名称搜索按钮使用
     * @Params: dto
     * @Return: <cn.cecep.talroad.vo.FacilityInformationManagementVO>
     * @Throws:
     */
    List<FacilityInformationManagementVO> selectFacilityInformationManagementSearchListByParams(@Param("factoryId") String factoryId, @Param("queryType") String queryType);
}
