package cn.cecep.talroad.service;

import cn.cecep.talroad.domain.PcLabelFactory;
import cn.cecep.talroad.vo.PcLabelFactoryVo;
import cn.cecep.talroad.vo.query.PcLabelFactoryQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * 特征标签-与企业关系中间Service接口
 *
 * @author szhpt
 * @date 2023-02-02*/
public interface IPcLabelFactoryService extends  IService<PcLabelFactory>
{
    /**
     * 查询特征标签-与企业关系中间列表
     *
     * @param pcLabelFactory 特征标签-与企业关系中间
     * @return 特征标签-与企业关系中间集合
     */
    public List<PcLabelFactory> selectPcLabelFactoryList(PcLabelFactory pcLabelFactory);

    void updateLabelStatus();

    void statisticsAirWastewater();

    void statisticsLicensed();

    void statisticseMissions();

    void transportVehicleType();

    void wastewaterDischarge();

    void receivingWaterBody();
    /**
     * @Author: Mr.Yanghongtao
     * @data: 2023/4/9 11:13 PM
     * @Deseription: 排污许可证是否在有效期内
     * @Params: null
     * @Return:
     * @Throws:
     */
    void efficientlyDischargePollutants(Integer type);


    void acceptNature();
    /**
     * @Author: Mr.Yanghongtao
     * @data: 2023/4/10 1:25 AM
     * @Deseription: 是否为直排海企业
     * @Params: null
     * @Return:
     * @Throws:
     */
    void isDirectDischargeEnterprises();

    void monitoringEquipment();

    void selectAdslFactory();

    void totalVideo();

    void industryCategory();
    void testindustryCategory();

    void earlyWarning();

    void testRegulateBusinesses();

    void batchDelete(String labelId);

    void updateMajorPollutantCategory();

    void pollutantLicenseLabel();

    void licenseTypeLabel();

    void pollutantTypeLabel();


    void isInstallFbjdLabel();

    void isInstallWzzjkdwLabel();

    void isZlssExceptionInMonthLabel();

    void isWzzcbpfExceptionInMonthLabel();

    List<PcLabelFactoryVo> selectFactoryLabelList(Page<PcLabelFactoryVo> voPage, PcLabelFactoryQuery query);

    void add(PcLabelFactory pcLabelFactory);

    void edit(PcLabelFactory pcLabelFactory);

    void delete(String id);

    void batchAddFactoryLabel(PcLabelFactoryVo.FactoryLabelUpdateForm form);
}
