package com.casic.missiles.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.casic.missiles.dto.cockpit.ExpireDeviceStatisticsResponse;
import com.casic.missiles.dto.equipment.EquipmentOrSampleDto;
import com.casic.missiles.dto.equipment.FixedAssetRequest;
import com.casic.missiles.model.equipment.EquipmentFixedAssets;
import com.casic.missiles.model.equipment.EquipmentRemindExport;
import com.casic.missiles.model.equipment.EquipmentStandardSupportEquipment;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author cuicheng
 * @since 2022-12-07
 */
public interface MeterFixedAssetsMapper extends BaseMapper<EquipmentFixedAssets> {

    Long selectMaxNo();

    Page<EquipmentFixedAssets> listPage(Page<EquipmentFixedAssets> page, @Param("fixedAssetRequest") FixedAssetRequest fixedAssetRequest);

    Page<EquipmentOrSampleDto> queryEquipment(Page<EquipmentOrSampleDto> page, @Param("request")EquipmentOrSampleDto request);

    List<EquipmentFixedAssets> listPage(@Param("fixedAssetRequest")FixedAssetRequest fixedAssetRequest);

    List<EquipmentStandardSupportEquipment> queryEquipmentInfo(@Param("oldEquipmentIds") List<Long> oldEquipmentIds);

    Page<EquipmentFixedAssets> remindListPage(Page<EquipmentFixedAssets> page, @Param("fixedAssetRequest")FixedAssetRequest request);

    List<EquipmentRemindExport> remindList(@Param("fixedAssetRequest")FixedAssetRequest request);

    Integer selectRemindQuantity();

    List<ExpireDeviceStatisticsResponse> selectExpireDeviceStatistics();
}
