package com.zcloud.primeport.persistence.mapper;

import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jjb.saas.framework.datascope.annotation.DataScope;
import com.jjb.saas.framework.datascope.annotation.DataScopes;
import com.zcloud.primeport.persistence.dataobject.AppCountDTO;
import com.zcloud.primeport.persistence.dataobject.FgsVehicleCountDto;
import com.zcloud.primeport.persistence.dataobject.VehicleApplyDO;
import com.zcloud.primeport.plan.mjDevice.dto.OneLevelCarSaveDto;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

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

/**
 * web-infrastructure
 *
 * @Author makejava
 * @Date 2026-03-05 11:33:23
 */
@Mapper
@DataScopes({
        @DataScope(method = "listPage", menuPerms = "")}
)
public interface VehicleApplyMapper extends BaseMapper<VehicleApplyDO> {

    IPage<VehicleApplyDO> listPage(Page<Map<String, Object>> page, @Param("params") Map<String, Object> params, String menuPerms);

    IPage<FgsVehicleCountDto> fgsCount(Page<Map<String, Object>> page, @Param("params") HashMap<String, String> qry);

    VehicleApplyDO getInfoById(Long id);
    @InterceptorIgnore(tenantLine = "true")
    List<VehicleApplyDO> getAppCount(@Param("params") Map<String, Object> parmas);

    List<OneLevelCarSaveDto> listTodayHasPort(String licenceNo);
}

