package com.bonus.material.basic.mapper;

import com.bonus.material.basic.domain.report.*;

import java.util.List;

/**
 * @ClassName BmReportMapper
 * @Author ma_sh
 * @create 2025/1/22 9:55
 */
public interface BmReportMapper {

    /**
     * 新购入库报表查询
     * @param bean
     * @return
     */
    List<PurChaseReportInfo> getPurChaseReportList(PurChaseReportInfo bean);

    /**
     * 新购入库报表查询详情
     * @param bean
     * @return
     */
    List<PurChaseReportDetails> getPurChaseReportDetailsList(PurChaseReportInfo bean);

    /**
     * 新购入库报表查询详情
     * @param bean
     * @return
     */
    List<PurChaseReportDetails> getPurChaseReportSuccessList(PurChaseReportInfo bean);

    /**
     * 新购入库报表查询详情
     * @param bean
     * @return
     */
    List<PurChaseReportDetails> getPurChaseReportInBoundList(PurChaseReportInfo bean);

    /**
     * 新购未入库报表查询详情
     * @param bean
     * @return
     */
    List<PurChaseReportDetails> getPurChaseReportNotInBoundList(PurChaseReportInfo bean);

    /**
     * 领料出库报表查询
     * @param bean
     * @return
     */
    List<LeaseOutInfo> getLeaseOutList(LeaseOutInfo bean);

    /**
     * 领料出库报表查询详情
     * @param bean
     * @return
     */
    List<LeaseOutDetails> getLeaseOutDetailsList(LeaseOutInfo bean);

    /**
     * 退料入库报表查询
     * @param bean
     * @return
     */
    List<BackInputInfo> getBackInputList(BackInputInfo bean);

    /**
     * 退料入库报表查询详情
     * @param bean
     * @return
     */
    List<BackInputDetails> getBackDetailsInputList(BackInputInfo bean);

    /**
     * 维修报表
     * @param bean
     * @return
     */
    List<RepairInfo> getRepairList(RepairInfo bean);

    /**
     * 维修报表详情
     * @param bean
     * @return
     */
    List<RepairDetails> getRepairDetailsList(RepairInfo bean);

    /**
     * 修饰入库报表
     * @param bean
     * @return
     */
    List<RepairInputDto> getRepairInputList(RepairInputDto bean);

    /**
     * 修饰入库报表查询详情查询
     * @param bean
     * @return
     */
    List<RepairInputDetails> getRepairInputDetailsList(RepairInputDto bean);

    LeaseOutInfo getLeaseInfoById(Long parentId);

    /**
     * 报废报表
     * @param bean
     * @return
     */
    List<ScrapInfo> getScrapList(ScrapInfo bean);

    /**
     * 报废报表查询详情
     * @param bean
     * @return
     */
    List<ScrapDetailsInfo> getScrapDetailsList(ScrapInfo bean);

    /**
     * 查询维修人名称
     * @param repairPersonName
     * @return
     */
    String selectUserNameById(String repairPersonName);
}
