package com.zcxk.dao;

import com.zcxk.entity.DeviceEntity;
import com.zcxk.entity.SceneEntity;
import com.zcxk.model.ProgramItem;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @description
 * @auto wangli
 * @data 2021/3/19 11:43
 */
@Mapper
public interface AppReportMonitorMapper {

    List<SceneEntity> getSceneByCompany(@Param("sceneType") String sceneType,@Param("companyOrgId") Integer companyOrgId ,
                                        @Param("tenantId")String tenantId, @Param("userType")String userType,
                                        @Param("permissonType")Integer permissonType,
                                        @Param("programItems")List<ProgramItem> programItems);

    List<DeviceEntity> getDeviceByCompany(@Param("typeName") String typeName ,
                                          @Param("companyOrgId") Integer companyOrgId ,
                                          @Param("tenantId")String tenantId, @Param("userType")String userType,
                                          @Param("permissonType")Integer permissonType,
                                          @Param("programItems")List<ProgramItem> programItems);

    List<Integer> getCompanyBySceneCondition(@Param("sceneType") String sceneType,@Param("condition") String condition ,
                                             @Param("tenantId")String tenantId, @Param("userType")String userType,
                                             @Param("permissonType")Integer permissonType,
                                             @Param("programItems")List<ProgramItem> programItems);

    List<Integer> getCompanyByDeviceCondition(@Param("condition") String condition ,
                                             @Param("tenantId")String tenantId, @Param("userType")String userType,
                                             @Param("permissonType")Integer permissonType,
                                             @Param("programItems")List<ProgramItem> programItems);

}
