package com.changhu.service;

import com.changhu.common.pojo.vo.SelectNodeVo;
import com.changhu.pojo.dto.DataViewDTO;
import com.changhu.pojo.dto.EnterprisesUnitDetailDTO;
import com.changhu.pojo.dto.SecurityUnitUseStatisticsDTO;
import com.changhu.pojo.dto.SecurityUserRosterDTO;
import com.changhu.pojo.params.EnterprisesUnitOrServiceProjectType;

import java.util.List;

/**
 * @author 20252
 * @createTime 2024/10/9 下午5:28
 * @desc 开放接口
 */
public interface OpenApiService {
    /**
     * 获取企事业单位列表
     *
     * @param code  代码
     * @param level 等级
     * @return 企事业单位列表
     */
    List<SelectNodeVo<Long>> getEnterprisesUnit(String code, Integer level);

    /**
     * 企事业单位详情
     *
     * @param enterprisesUnitId 单位id
     * @return 企事业单位详情
     */
    EnterprisesUnitDetailDTO enterprisesUnitDetailById(Long enterprisesUnitId);

    /**
     * 数据总览
     *
     * @return 数据总览
     */
    DataViewDTO dataView();

    /**
     * 保安单位使用情况统计
     *
     * @param code  代码
     * @param level 等级
     * @return 使用情况
     */
    List<SecurityUnitUseStatisticsDTO> securityUnitUseStatistics(String code, Integer level);

    /**
     * 服务项目安保人员花名册
     *
     * @param id   事业单位服务项目id
     * @param type 类型
     * @return 花名册
     */
    List<SecurityUserRosterDTO> securityUserRoster(Long id, EnterprisesUnitOrServiceProjectType type);

    /**
     * 单位下的安保人员花名册
     */
    List<SecurityUserRosterDTO> unitSecurityUserRoster(String code, Integer level);
}
