package com.zcloud.service.keyProjects;

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

import java.util.List;

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

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

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

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

	/**只修改特殊隐患的状态
	 * @param pd
	 * @throws Exception
	 */
	public void editstate(PageData pd)throws Exception;

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

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

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

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

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

	/**通过部门id获取特殊隐患数据
	 * @param page
	 * @throws Exception
	 */
	public List<PageData> specialByCorpInfoId(Page page)throws Exception;



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

	public List<PageData> majorList(Page page)throws Exception;

/*
	public List<PageData> majorlHiddenlistPage(Page page)throws Exception;
*/

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

	public List<PageData> getListForApp(Page page) throws Exception;


	public List<PageData> mainStatistics(PageData pd) throws Exception;

	public List<PageData> mainStatisticsForApp(PageData pd) throws Exception;

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


	/**
	 * 重大隐患核实列表 -- 港务局
	 * @param page
	 * @return
	 * @throws Exception
	 */
	List<PageData> verifylist(Page page) throws  Exception;

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

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

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

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

	public void finalcheck(PageData pd)throws Exception;

	/**
	 * 获取其他没有验收的隐患
	 * @param pd
	 * @return
	 * @throws Exception
	 */
	List<PageData> listOtherNotAccept(PageData pd)throws Exception;

	void changeState(PageData hidden) throws Exception;

	void deleteByKey(PageData key) throws Exception;


	/**
	 * 手机端统计重点工程待处理信息
	 * @param pd
	 * @return
	 * @throws Exception
	 */
	public PageData keyprojectcount(PageData pd)throws Exception;

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

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

	List<String> getPhone(PageData pd);

	List<PageData> hiddenList(Page page);

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

    List<PageData> getpunishlist(Page page);
}

