package com.bonus.material.cityScreen.service;

import com.bonus.material.cityScreen.DTO.CityScreenDTO;
import com.bonus.material.cityScreen.VO.*;

import java.util.List;
/**
 * @Author：tqzhang
 * @Date：2025/9/14 - 15:47
 */
public interface CityScreenService {
    /**
     * 基础头部数据
     * @param dto 入参
     * @return List<BasicTitleData>
     */
    BasicTitleVO getBasicHead(CityScreenDTO dto);
    /**
     * 装备数量价值
     * @param dto 入参
     * @return List<EquipmentQuantityVO>
     */
    List<EquipmentQuantityVO> equipmentQuantityValue(CityScreenDTO dto);

    /**
     * 装备状态
     * @param dto 入参
     * @return List<EchartsVO>
     */
    List<EchartsVO> equipmentStatus(CityScreenDTO dto);

    /**
     * 维修报警
     * @param dto 入参
     * @return List<AlarmVO>
     */
    List<AlarmVO> maintenanceAlarm(CityScreenDTO dto);

    /**
     * 退役报警
     * @param dto 入参
     * @return List<AlarmVO>
     */
    List<AlarmVO> retirementAlarm(CityScreenDTO dto);

    /**
     * 装备在役率
     * @param dto 入参
     * @return List<EchartsVO>
     */
    List<EchartsVO> equipmentInServiceRate(CityScreenDTO dto);

    /**
     * 装备周转率
     * @param dto 入参
     * @return List<EquipmentTurnoverRateVO>
     */
    List<EquipmentTurnoverRateVO> equipmentTurnoverRate(CityScreenDTO dto);

    /**
     * 工程在用装备情况
     * @param dto 入参
     * @return List<EquipmentTurnoverRateVO>
     */
    List<EquipmentUseVO> equipmentInUseInTheProject(CityScreenDTO dto);

    /**
     * 工程列表
     * @param dto 入参
     * @return List<ProVO>
     */
    List<ProVO> proList(CityScreenDTO dto);
}
