package com.energy.manage.service.service.company;


import com.energy.manage.common.base.BaseService;
import com.energy.manage.common.po.company.WindCompanyPO;
import com.energy.manage.common.po.system.SysPermissionPO;
import com.energy.manage.service.domain.dto.company.*;
import com.energy.manage.service.domain.vo.company.WindCompanyPageVo;
import com.energy.manage.service.domain.vo.company.WindCompanyVo;
import com.energy.manage.service.domain.vo.system.PermissionVo;

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

/**
 * 企业信息接口
 */
public interface WindCompanyService extends BaseService<WindCompanyPO> {

    /**
     * 创建企业
     *
     * @param dto
     * @return
     */
    boolean addCompany(WindCompanyDto dto,Integer roleId,Integer userId);

    /**
     * 删除企业
     *
     * @param po
     * @return
     */
    boolean delCompany(WindCompanyDelDto po);

    /**
     * 删除企业
     *
     * @param dto
     * @return
     */
    boolean updateStateCompany(WindCompanyStateDto dto);



    /**
     * 更新企业
     *
     * @param po
     * @return
     */
    boolean updateCompany(WindCompanyUpdateDto po);

    /**
     * 查询企业树关系
     * @return
     */
    List<Map<String, Object>> getAllWindCompany(Integer state,String companyName,Integer roleId,Integer userId);


    /**
     * 排序
     * @param dto
     * @return
     */
    boolean updateWindCompanyBySort(WindCompanyCustomDto dto);


    /**
     * 查询企业对象
     * @param windCompanyDelDto
     * @return
     */
    WindCompanyVo getWindCompany(WindCompanyDelDto windCompanyDelDto);

    /**
     * 查询对象
     * @param dto
     * @return
     */
    WindCompanyPO getWindCompanyByCompanyName(WindCompanyDto dto);

}
