package com.aucma.production.service;

import com.aucma.production.domain.dto.AndonDashboardDTO;

/**
 * 安灯生产监控看板Service接口
 * 
 * @author Yinq
 * @date 2025-12-30
 */
public interface IAndonDashboardService {

    /**
     * 获取完整的看板数据
     * 
     * @param productLineCode 产线编码（可选，为空则查询全部）
     * @return 看板数据
     */
    AndonDashboardDTO getDashboardData(String productLineCode);

    /**
     * 获取设备状态统计
     * 
     * @param productLineCode 产线编码（可选）
     * @return 设备状态统计
     */
    AndonDashboardDTO.DeviceStatusSummary getDeviceStatusSummary(String productLineCode);

    /**
     * 获取任务完成情况
     * 
     * @param productLineCode 产线编码（可选）
     * @return 任务完成情况
     */
    AndonDashboardDTO.TaskCompletionSummary getTaskCompletionSummary(String productLineCode);

    /**
     * 获取OEE数据
     * 
     * @param productLineCode 产线编码（可选）
     * @return OEE数据
     */
    AndonDashboardDTO.OeeSummary getOeeSummary(String productLineCode);

    /**
     * 获取利用率统计
     * 
     * @param productLineCode 产线编码（可选）
     * @return 利用率统计
     */
    AndonDashboardDTO.UtilizationSummary getUtilizationSummary(String productLineCode);

    /**
     * 获取品质数据
     * 
     * @param productLineCode 产线编码（可选）
     * @return 品质数据
     */
    AndonDashboardDTO.QualitySummary getQualitySummary(String productLineCode);

    /**
     * 获取安灯事件统计
     * 
     * @param productLineCode 产线编码（可选）
     * @return 安灯事件统计
     */
    AndonDashboardDTO.AndonEventSummary getAndonEventSummary(String productLineCode);
}
