package com.zcloud.mapper.datasource.keyProjects;

import com.zcloud.entity.Page;
import com.zcloud.entity.PageData;

import java.util.List;

/**
 * 说明:隐患表
 * 作者:shaojie
 * 时间:2021-03-15
 * 官网:www.qdkjchina.com
 */
public interface KeyprojectHiddenMapper {

	/**新增
	 * @param pd
	 * @throws Exception
	 */
	void save(PageData pd);

	/**删除
	 * @param pd
	 * @throws Exception
	 */
	void delete(PageData pd);

	/**修改
	 * @param pd
	 * @throws Exception
	 */
	void edit(PageData pd);

	/**列表
	 * @param page
	 * @throws Exception
	 */
	List<PageData> datalistPage(Page page);

	/**列表(全部)
	 * @param pd
	 * @throws Exception
	 */
	List<PageData> listAll(PageData pd);

	/**通过id获取数据
	 * @param pd
	 * @throws Exception
	 */
	PageData findById(PageData pd);

	/**批量删除
	 * @param ArrayDATA_IDS
	 * @throws Exception
	 */
	void deleteAll(String[] ArrayDATA_IDS);

	/**上报隐患统计
	 * @param pd
	 * @throws Exception
	 */
	List<PageData> reportedChart(PageData pd);

	/**隐患统计(折线图)
	 * @param pd
	 * @throws Exception
	 */
	List<PageData> lineChart(PageData pd);

	List<PageData> majorlistPage(Page page);

	List<PageData> mainStatistics(PageData pd);


	PageData yhpcCountForApp (PageData pd);

    /**清单其他隐患
     * @param pd
     * @throws Exception
     */
    List<PageData> getOtherHidden(PageData pd);

    List<PageData> getListForApplistPage (Page page);


	/**隐患导出EXCEL(企业隐患管理使用)
	 * @param pd
	 * @throws Exception
	 */
	List<PageData> listExcelHidden(PageData pd);

	/**一般隐患
	 * @param page
	 * @throws Exception
	 */
    List<PageData> generalHiddenlistPage(Page page);

	/**忽略隐患
	 * @param page
	 * @throws Exception
	 */
	List<PageData> ignoreHiddenlistPage(Page page);

	/**重大隐患
	 * @param page
	 * @throws Exception
	 */
	List<PageData> majorhiddenlistPage(Page page);

	/**通过部门ID查询特殊隐患列表
	 * @param page
	 * @throws Exception
	 */
	List<PageData> specialByIdlistPage(Page page);

	void editstate(PageData pd);

    List<PageData> verifydatalistPage(Page page);

	/**
	 * 港股分公司安委会办公室验收列表 -- 港务局
	 * @param page
	 * @return
	 * @throws Exception
	 */
    List<PageData> checkandacceptdatalistPage(Page page);

	/**
	 * 获取安全环保检查下的隐患列表
	 * @param pd
	 * @return
	 * @throws Exception
	 */
    List<PageData> listAllInspection(PageData pd);

	/**
	 * 安全环保检查流程归档更新隐患状态为暂存
	 * @param pd
	 */
	void editStateInspection(PageData pd);

    List<PageData> hiddenInspectionlistPage(Page page);

    void finalcheck(PageData pd);

	List<PageData> listOtherNotAccept(PageData pd);

	void changeState(PageData pd);

    void deleteByKey(PageData key);

    PageData keyprojectcount(PageData pd);


	/**重点工程处罚列表 包含 未选择处罚结果的隐患  已下发处罚但为反馈的隐患 不处罚的隐患
	 * @param page
	 * @throws Exception
	 */
	List<PageData> getpunishlistPage(Page page);

}