package com.bonus.sgzb.largeScreen.mapper;

import com.bonus.sgzb.largeScreen.domain.*;
import org.springframework.stereotype.Repository;

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

/**
 * @author 10488
 * 大屏
 */
@Repository("LargeScreenMapper")
public interface LargeScreenMapper {

    /**
     * @param nowDate
     * @return List<MaTypeDo>
     * @description 领料数据
     * @author cwchen
     * @date 2023/12/13 10:56
     */
    List<MaTypeDo> getMaterialReqData(String nowDate);

    /**
     * @param nowDate
     * @return List<MaTypeDo>
     * @description 退料数据
     * @author cwchen
     * @date 2023/12/13 14:24
     */
    List<MaTypeDo> getMaterialReturnData(String nowDate);

    /**
     * @param dto
     * @return List<MaTypeDo>
     * @description 当月领料分析
     * @author cwchen
     * @date 2023/12/15 15:57
     */
    List<MaTypeDo> getPickingAnalysisByMonth(ParamsDto dto);

    /**
     * @param dto
     * @return List<EquipmentDisVo>
     * @description 设备分布
     * @author cwchen
     * @date 2023/12/13 15:04
     */
    List<EquipmentDisVo> getEquipmentDisByMap(ParamsDto dto);

    /**
     * @param dto
     * @return List<String>
     * @description 新购验收入库分析
     * @author cwchen
     * @date 2023/12/14 16:06
     */
    List<Map<String, String>> getAcceptanceStorage(ParamsDto dto);

    /**
     * @param dto
     * @return List<MaterialDataVo>
     * @description 当月报废分析
     * @author cwchen
     * @date 2023/12/15 9:46
     */
    List<MaterialDataVo> getScrapAnalysisByMonth(ParamsDto dto);

    /**
     * @param dto
     * @return List<ScrapAnalysisVo>
     * @description 当月退料分析
     * @author cwchen
     * @date 2023/12/15 14:31
     */
    List<ScrapAnalysisVo> getMaterialReturnByMonth(ParamsDto dto);

    /**
     * @param dto
     * @return List<ScrapAnalysisVo>
     * @description 当月维修分析
     * @author cwchen
     * @date 2023/12/15 15:12
     */
    List<ScrapAnalysisVo> getMaintenanceByMonth(ParamsDto dto);

    /**
     * @param dto
     * @description 施工机具/工器具总保有量
     * @author cwchen
     * @date 2023/12/15 18:57
     */
    List<ScrapAnalysisVo> getTotalOwnership(ParamsDto dto);

    /**
     * @param dto
     * @return List<MaintenanceWarningVo>
     * @description 检修预警
     * @author cwchen
     * @date 2023/12/21 9:53
     */
    List<MaintenanceWarningVo> getMaintenanceWarning(ParamsDto dto);

    /**
    * 获取公司
    * @param
    * @return List<TotalOwnershipVo>
    */
    List<TotalOwnershipVo> getCompany();

    /**
     * 领料数据详情
     * @param dto
     * @return
     */
    List<MaterialDetailVo> getMaterialReqDetailData(ParamsDto dto);

    /**
     * 退料数据详情
     * @param dto
     * @return
     */
    List<MaterialDetailVo> getMaterialReturnDetailData(ParamsDto dto);

    /**
     * 施工机具/安全工器具总保有量详情
     * @param dto
     * @return
     */
    List<TotalOwnerVo> getTotalOwnerDetailsShip(ParamsDto dto);

    /**
     * 新购验收入库分析详情
     * @param dto
     * @return
     */
    List<StorageDetailVo> getAcceptanceDetailStorage(ParamsDto dto);

    /**
     * 当月报废分析详情
     * @param dto
     * @return
     */
    List<ScrapVo> getScrapAnalysisDetailByMonth(ParamsDto dto);

    /**
     * 当月领料分析详情
     * @param dto
     * @return
     */
    List<MaterialDetailVo> getPickingAnalysisDetailByMonth(ParamsDto dto);

    /**
     * 当月退料分析详情
     * @param dto
     * @return
     */
    List<MaterialDetailVo> getMaterialReturnDetailByMonth(ParamsDto dto);

    /**
     * 维修分析详情
     * @param dto
     * @return
     */
    List<RepairDetailVo> getMaintenanceDetailByMonth(ParamsDto dto);

    /**
     * 维修配件使用情况
     * @param dto
     * @return
     */
    List<AccessVo> getRepairList(ParamsDto dto);
}
