package com.zcloud.service.hiddenDangerCheckStandard;

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

import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
 * 说明：隐患
 * 作者：luoxiaobao
 * 时间：2021-01-04
 * 官网：www.zcloudchina.com
 */
public interface CustomHiddenService {

	/**新增
	 * @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 editInfo(PageData pd)throws Exception;
	public void editISCONFIRM(PageData pd)throws Exception;
	public void editHIDDENLEVEL(PageData pd)throws Exception;

	/**定时修改过期隐患
	 * @param pd
	 * @throws Exception
	 */
	public void editDeadline(PageData pd)throws Exception;

	/**整改
	 * @param pd
	 * @throws Exception
	 */
	public void rectify(PageData pd)throws Exception;

	/**复查
	 * @param pd
	 * @throws Exception
	 */
	public void review(PageData pd)throws Exception;

	/**验收
	 * @param pd
	 * @throws Exception
	 */
	public void check(PageData pd)throws Exception;

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

	/**查询昨日过期隐患。发短信
	 * @param pd
	 * @throws Exception
	 */
	public List<PageData> getYestoday(PageData pd)throws Exception;

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

	/**列表(全部，打印使用)
	 * @param pd
	 * @throws Exception
	 */
	public List<PageData> listAllToPrint(PageData pd)throws Exception;
	public List<PageData> listHiddenAll(PageData pd)throws Exception;

	/**
	 * 查询清单检查记录中的隐患
	 * @param pd
	 * @return
	 * @throws Exception
	 */
	public List<PageData> getHiddenByRecord(PageData pd)throws Exception;

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

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

	/**批量修改
	 * @param ArrayDATA_IDS
	 * @throws Exception
	 */
	public void updateAll(PageData hiddens)throws Exception;

	/**按日统计
	 * @param ArrayDATA_IDS
	 * @throws Exception
	 */
	public List<PageData> hiddenStatisticsByDay(PageData pd)throws Exception;

	/**总数统计
	 * @param ArrayDATA_IDS
	 * @throws Exception
	 */
	public List<PageData> hiddenStatisticsAll(PageData pd)throws Exception;

	/**根据用户ID获取待验收隐患
	 * @param pd
	 * @throws Exception
	 */
	public List<PageData> getCountByCheckorId(PageData pd) throws Exception;

	/**
	 * app首页 根据用户ID获取发现隐患信息
	 * @param pd CREATOR
	 * @return
	 * @throws Exception
	 */
	public 	List<PageData> getCountByCreatorId(PageData pd) throws Exception;
	/**
	 * app首页 根据用户ID获取整改隐患信息
	 * @param pd CREATOR
	 * @return
	 * @throws Exception
	 */
	public 	List<PageData> getCountByRectifiCationorId(PageData pd)throws Exception;

	void changeState(PageData pd) throws Exception;

	List<PageData> getBICount(PageData pd) throws Exception;

	void submit(PageData pd) throws Exception;

	/**
	 * 提交清单(其他)隐患
	 * @param pd
	 * @throws Exception
	 */
	void submitList(PageData pd) throws Exception;

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

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

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

	/**绩效得分
	 * @param pd
	 * @throws Exception
	 */
	List<PageData> getDeptExamine(PageData pd)throws Exception;

    List<PageData> getUserExamine(PageData pd)throws Exception;

    List<PageData> listAllForDiagnosis(PageData pd)throws Exception;

	PageData getUserIndexData(PageData pd)throws Exception;

	PageData getDeptIndexData(PageData pd)throws Exception;

	PageData getSuperviseDeptIndexData(PageData pd)throws Exception;

    void createExcel(HttpServletResponse response, PageData condition) throws Exception;

	List<PageData> findByKey(PageData condition) throws Exception;

	List<PageData> findByQue(PageData condition) throws Exception;

	List<PageData> findByYin(PageData condition) throws Exception;

	List<PageData> findByTs(PageData condition) throws Exception;

	/**
	 * 通过安全环保检查ID获取隐患
	 * @param pd
	 * @return
	 * @throws Exception
	 */
	List<PageData> findByInspectionId(PageData pd)throws Exception;

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

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

	void deleteByKey(PageData pd) throws Exception;

	/**批量删除
	 * @param pd
	 * @throws Exception
	 */
	public void deleteArray(PageData pd)throws Exception;

	/**根据用户ID获取待验收隐患
	 * @param pd
	 * @throws Exception
	 */
	public List<PageData> getCountByConfirmId(PageData pd) throws Exception;

	/**根据用户ID获取特殊处置隐患
	 * @param pd
	 * @throws Exception
	 */
	public List<PageData> getCountSpecialByhId(PageData pd) throws Exception;

	/**修改位置描述信息
	 * @param pd
	 * @throws Exception
	 */
	public void editInformation(PageData pd)throws Exception;

	void editstate(PageData hiddenExa);

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

	/**
	 * 隐患列表 -- 港务局
	 * @param page
	 * @return
	 * @throws Exception
	 */
	public List<PageData> listGwj(Page page) throws Exception;

	/**
	 * 忽略隐患列表 -- 港务局
	 * @param page
	 * @return
	 * @throws Exception
	 */
	public List<PageData> listIgnore(Page page) throws Exception;

	public String goEmis (PageData pd) throws Exception;

	/**
	 * 确认隐患，修改隐患状态
	 * @param pd
	 * @throws Exception
	 */
	public void confirmHidden (PageData pd) throws Exception;

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

	/**
	 * 获取其他没有指派完成的隐患
	 * @param pd
	 * @return
	 * @throws Exception
	 */
	List<PageData> listOtherNotAssign(PageData pd)throws Exception;

	/**
	 * 安全环保检查隐患指派
	 * @param pd
	 * @throws Exception
	 */
	void assign(PageData pd)throws Exception;

	/**安全环保检查验收
	 * @param pd
	 * @throws Exception
	 */
	public void finalcheck(PageData pd)throws Exception;

	List<PageData> listOtherNotAccept4pc(PageData pd)throws Exception;

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

	/**
	 * 修改隐患信息，隐患级别 ，整改负责人 ， 整改期限
	 * @param pd
	 * @throws Exception
	 */
	public void confirmUpdate(PageData pd) throws Exception;

	/**
	 *  修改隐患状态，进入隐患特殊处理审核
	 */
	public void updteStateBySpecialExamine(PageData pageData)throws Exception;

	/**
	 * 重大隐患列表
	 * @param page
	 * @return
	 * @throws Exception
	 */
	public List<PageData> majorlist(Page page) throws Exception;

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

	/**
	 * 重大隐患列表
	 * @param page
	 * @return
	 * @throws Exception
	 */
	List<PageData> majormanage(Page page) throws  Exception;

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

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

