package com.zcloud.mapper.datasource.bus;

import com.zcloud.entity.Page;
import com.zcloud.entity.PageData;
import com.zcloud.entity.system.Department;
import com.zcloud.entity.system.HiddenRegion;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 说明：隐患区域维护
 * 作者：yangming
 * 时间：2022-03-24
 * 官网：www.zcloudchina.com
 */
public interface HiddenRegionMapper {
    /**新增
     * @param pd
     * @throws Exception
     */
    void save(PageData pd) throws Exception;

    void edit(PageData pd);

    List<PageData> listPage(Page page);

    List<PageData> getPaginglistPage(Page page);
    List<PageData> getBacklistPage(Page page);
    List<PageData> getListById(PageData pd);

    List<PageData> getListSubset(PageData pd);

    List<Department> hiddenRegionByParentId(String parentId);

    void delete(PageData pd);

    List<HiddenRegion> getListTree();

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


    /**
     * 通过ID获取其子级列表
     * @param parentId
     * @return
     * @throws Exception
     */
    public List<HiddenRegion> listHiddenRegionByParentId(@Param("parentId") String parentId,@Param("CORPINFO_ID") String CORPINFO_ID) throws Exception;

    /**
     * 根据名称寻找隐患区域
     */
    public List<PageData> hiddenRegionByName (PageData pd )throws Exception;

    public Integer getHiddenRegionCountByParentId (PageData pd )throws Exception;

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