package com.zcloud.service.bus;

import com.zcloud.entity.Page;
import com.zcloud.entity.PageData;
import com.zcloud.entity.system.Department;
import com.zcloud.entity.system.HiddenRegion;

import java.util.List;

/**
 * 说明：隐患区域维护
 * 作者：yangming
 * 时间：2022-03-24
 * 官网：www.zcloudchina.com
 */
public interface HiddenRegionService {

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

    /**
     * 通过ID获取其子级列表
     * @param parentId
     * @return
     * @throws Exception
     */
    public List<Department> hiddenRegionByParentId(String parentId) throws Exception;

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

    /**列表（所有）
     * @param page
     * @throws Exception
     * @return
     */
    public List<PageData> list(Page page) throws Exception;

    /**列表（所有）
     * @param page
     * @throws Exception
     * @return
     */
    public List<PageData> getPaging(Page page) throws Exception;

    /**列表（所有）
     * @param page
     * @throws Exception
     * @return
     */
    public List<PageData> getBack(Page page) throws Exception;
    /**列表（根据ID查）
     * @param pd
     * @throws Exception
     * @return
     */
    List<PageData> getListById(PageData pd);

    /**列表（根据ID查下级）
     * @param pd
     * @throws Exception
     * @return
     */
    List<PageData> getListSubset(PageData pd);

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


    /**查第一级列表
     * @param
     * @throws Exception
     * @return
     */
    List<HiddenRegion> getListTree();


    /**获取所有菜单并填充每个菜单的子菜单列表(菜单管理)(
     * @param Id
     * @return
     * @throws Exception
     */
    public List<HiddenRegion> listAll(String Id) throws Exception;

    /**获取所有菜单并填充每个菜单的子菜单列表(菜单管理)(
     * @param Id
     * @return
     * @throws Exception
     */
    public List<HiddenRegion> listAll(String Id,String CORPINFO_ID) throws Exception;

    public PageData saveHidden(String regionName)throws Exception;

    /**
     * 隐患中的部位列表
     * @param pd
     * @return
     * @throws Exception
     */
    List<PageData> listRegionByHidden(PageData pd)throws Exception;

    /**
     *通过id获取数据
     * @param
     * @return
     * @throws Exception
     */
    public PageData findById(String corpInfoId ,String ID)throws Exception;
    /**通过id获取数据
     * @param pd
     * @throws Exception
     */
    public PageData findBypId(PageData pd)throws Exception;
}
