package com.aucma.report.service;

import com.aucma.report.domain.*;

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

/**
 * PDA管理Service接口
 * 
 * @author Yinq
 * @date 2023-11-21
 */
public interface IQualityReportService
{


    /**
     * 质量缺陷统计分析
     * @param hashMap
     * @return
     */
    List<QualityDefectsStatisticalAnalysis> qualityDefectsStatisticalAnalysisList(Map hashMap);

    /**
     * 少错件报表
     * @param hashMap
     * @return
     */
    List<FewerMistakesReport> fewerMistakesReportList(Map hashMap);

    /**
     * 质量问题前80报表
     * @param hashMap
     * @return
     */
    List<QualityIssuesReport> qualityIssuesReportList(Map hashMap);

    /**
     * 产品追溯报表
     * @param hashMap
     * @return
     */
    List<ProductTraceabilityReport> productTraceabilityReportList(Map hashMap);

    /**
     * 测温记录报表
     * @param hashMap
     * @return
     */
    List<HashMap<String, Object>> temperatureRecordReportList(Map hashMap);

    /**
     * 灌注记录报表
     * @param hashMap
     * @return
     */
    List<HashMap<String, Object>> pourRecordReportList(Map hashMap);

    /**
     * 质量缺陷统计分析明细
     * @param hashMap
     * @return
     */
    List<HashMap<String, Object>> qualityDefectsDetailList(Map hashMap);

    /**
     * 产品追溯明细
     * @param hashMap
     * @return
     */
    List<HashMap<String, Object>> productTraceabilityDetailList(Map hashMap);

    /**
     * 质量缺陷统计分析明细导出
     * @param hashMap
     * @return
     */
    List<QualityDefectsDetail> qualityDefectsDetailListExport(Map hashMap);

    /**
     * 质量返修率报表
     * @param hashMap
     * @return
     */
    List<RepairRateReport> repairRateReportList(Map hashMap);

    /**
     * 降级品占比报表
     * @param hashMap
     * @return
     */
    List<DowngradeProportionReport> downgradeProportionReportList(Map hashMap);

    /**
     * 年度不良率同比报表
     * @param hashMap
     * @return
     */
    List<AdverseRecordYearOnYearReport> adverseRecordYearOnYearList(Map hashMap);

    /**
     * 高故障率TOP20报表
     * @param hashMap
     * @return
     */
    List<HighFaultReport> highFaultList(Map hashMap);

    /**
     * 焊漏率报表
     * @param hashMap
     * @return
     */
    List<WeldLeakRateReport> weldLeakRateList(Map hashMap);
}
