package com.energy.manage.service.service.system;

import com.energy.manage.common.po.system.SysOrganizationAuthPO;
import com.energy.manage.service.domain.vo.cockpit.CompanyFieldNumberVo;
import com.energy.manage.service.domain.vo.cockpit.CompanyFieldTreeRoleVo;
import com.energy.manage.service.domain.vo.system.SysOrganizationAuthVo;

import java.util.List;
import java.util.Map;

/**
 * 风场/企业角色关系
 * @author chy
 * @date 2024/5/21 09:35
 * @desc
 */
public interface SysOrganizationAuthService {


    /**
     * 根据角色id查询风场编号列表
     * @param roleId
     * @return
     */
    Map<String, List<SysOrganizationAuthVo>> queryCodeNunByRoleId(Integer roleId);


    /**
     * 通过code和类型查询数据是否存在
     * @param codeName
     * @param type
     * @return
     */
    boolean verifySysOrganizationAuthByType(String codeName,String type);


    /**
     * 驾驶舱通过roleid查询树
     * @param roleId
     * @return
     */
    List<Map<String, Object>> getSysOrganizationAuthTreeByRoleId(Integer roleId);

    /**
     * 驾驶舱通过roleid查询集合风场
     * @param roleId
     * @return
     */
    List<CompanyFieldTreeRoleVo> getSysOrganizationAuthListByRoleId(Integer roleId);


    /**
     * 驾驶舱统计数量
     * @param roleId
     * @return
     */
    CompanyFieldNumberVo getCompanyFieldNumberVo(Integer roleId);


    /**
     * 删除数据权限对应codee
     * @param codeNumber
     * @return
     */
    int delSysOrganizationAuth(String codeNumber,String type);

}
