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);


	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);

	/** 需要发送短信的列表(隐患待验收模板)
	 * @param pd
	 * @throws Exception
	 */
	List<PageData> getSmsList(PageData pd);

	/**
	 * 获取当前隐患的处罚人
	 * @param pd
	 * @return
	 */
	String getPUNISHTHEPERSON(PageData pd);


	List<String> getPhone(PageData pd);

	List<PageData> hiddenlistPage(Page page);

	/**
	 * 根据隐患获取隐患所在重点工程的所属项目
	 * @param pd
	 * @return
	 */
	String getCorpInfoIdByHiddenId(PageData pd);

	List<PageData> specialByIdlistPage(Page page);
}

