package com.securitycontrol.system.base.service;

import com.securitycontrol.common.core.web.domain.AjaxResult;
import com.securitycontrol.entity.system.dto.MenuDto;
import com.securitycontrol.entity.system.dto.SelectDto;

/**
 * @author：cwchen
 * @date：2024-02-22-9:35
 * @version：1.0
 * @description：公共下拉选/树-业务层
 */
public interface ISelectService {

    /**
     * 组织机构树
     *
     * @return AjaxResult
     * @description 组织机构树
     * @author cwchen
     * @date 2024/2/22 9:44
     */
    AjaxResult getOrgTree();

    /**
     * 角色下拉选
     *
     * @return AjaxResult
     * @description 角色下拉选
     * @author cwchen
     * @date 2024/2/22 13:27
     */
    AjaxResult getRoleLists();

    /**
     * 菜单树
     *
     * @param dto
     * @return AjaxResult
     * @description 菜单树
     * @author cwchen
     * @date 2024/2/26 13:33
     */
    AjaxResult getMenuTree(MenuDto dto);

    /**
     * 查询字典集合
     * code 上级节点编码 null市查询全部
     *
     * @param code
     * @return
     */
    AjaxResult getDictList(String code);

    /**
     * 建管单位下拉选
     *
     * @return AjaxResult
     * @description
     * @author cwchen
     * @date 2024/3/12 11:23
     */
    AjaxResult getBuildLists();

    /**
     * 字典表下拉选
     *
     * @param dto
     * @return AjaxResult
     * @description
     * @author cwchen
     * @date 2024/3/13 17:08
     */
    AjaxResult getDictLists(SelectDto dto);

    /**
     * 杆塔下拉选
     *
     * @param dto
     * @return AjaxResult
     * @description
     * @author cwchen
     * @date 2024/3/15 17:00
     */
    AjaxResult getTowerLists(SelectDto dto);

    /**
     * 班组下拉选
     *
     * @param dto
     * @return AjaxResult
     * @description
     * @author cwchen
     * @date 2024/3/18 13:26
     */
    AjaxResult getTeamLists(SelectDto dto);

    /**
     * 工程下拉选
     *
     * @param dto
     * @return AjaxResult
     * @description
     * @author cwchen
     * @date 2024/3/20 16:15
     */
    AjaxResult getProLists(SelectDto dto);

    /**
     * 区域下拉选
     *
     * @param dto
     * @return AjaxResult
     * @description
     * @author cwchen
     * @date 2024/3/20 20:01
     */
    AjaxResult getAreaLists(SelectDto dto);

    /**
     * 边带下拉选
     *
     * @param dto
     * @return AjaxResult
     * @description
     * @author cwchen
     * @date 2024/3/25 13:11
     */
    AjaxResult getBdLists(SelectDto dto);

    /**
     * 下拉选
     *
     * @param code
     * @return
     */
    AjaxResult getDictSelect(String code);

    /**
     * 获取工程下拉选
     *
     * @param dto
     * @return
     */
    AjaxResult getProList(SelectDto dto);

    /**
     * 建管单位下拉选
     *
     * @return
     */
    AjaxResult getSelectLists();

    /**
     * 杆塔表下拉选
     *
     * @return
     */
    AjaxResult getGtLists(String bidCode);

    /**
     * 项目下拉选
     * @param dto
     * @return AjaxResult
     * @description
     * @author cwchen
     * @date 2024/4/2 14:11
     */
    AjaxResult getProjectList(SelectDto dto);

    /**
     * 单项工程下拉选
     * @param dto
     * @return AjaxResult
     * @description
     * @author cwchen
     * @date 2024/4/2 14:11
     */
    AjaxResult getSignProList(SelectDto dto);
}
