package com.aucma.report.mapper;

import com.aucma.report.domain.*;

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

/**
 * 通用报表Mapper接口
 *
 * @Author YinQ
 * @create 2023-10-26 10:53
 */
public interface GeneralReportMapper {


    /**
     * 查询清单率报表
     * @param hashMap
     * @return
     */
    List<InventoryRateReport> inventoryRateReportList(Map hashMap);


    /**
     * 查询生产执行报表
     * @param hashMap
     * @return
     */
    List<ProductionExecutionReport> productionExecutionReportList(Map hashMap);

    /**
     * 查询在制品查询报表
     * @param hashMap
     * @return
     */
    List<WIPInquiryReport> WIPInquiryReportList(Map hashMap);

    /**
     * 质量缺陷统计分析
     * @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>> ScanOfflineRecordReportList(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<BoxTraceabilityReport> boxTraceabilityReport(Map hashMap);

    /**
     * 发泡箱体追溯详情报表
     * @param hashMap
     * @return
     */
    List<BoxTraceabilityDetailReport> boxTraceabilityDetailReport(Map hashMap);

    List<BoxTraceabilityDetailReport> boxTraceabilityDetailReportUpdate(Map hashMap);

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

    /**
     * 箱体流转追溯报表
     * @param hashMap
     * @return
     */
    List<BoxTurnoverTraceabilityReport> boxTurnoverTraceabilityReportList(Map hashMap);

    /**
     * 箱体流转追溯详情报表
     * @param hashMap
     * @return
     */
    List<BoxTurnoverTraceabilityDetailReport> boxTurnoverTraceabilityDetailReportList(Map hashMap);

    /**
     * 查询在制品查询明细
     * @param hashMap
     * @return
     */
    List<WIPInquiryDetailReport> WIPInquiryDetailReportList(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);
    //月
    List<WeldLeakRateReport> weldLeakRateListMonth(Map hashMap);

    /**
     * 查询壳胆报表
     * */
    List<codeBanding> codeBandingReportList(Map hashMap);
    /**
     * 查询过点数报表
     * */
    List<MaterialReport> materialReportList(Map hashMap);

}
