package com.bonus.material.basic.service;

import com.bonus.material.basic.domain.*;
import com.bonus.material.basic.domain.vo.MaTypeSelectInfo;
import com.bonus.material.ma.domain.Type;

import java.util.List;

/**
 * 综合查询
 * @Author ma_sh
 * @create 2024/12/16 10:53
 */
public interface ComplexQueryService {

    /**
     * 工程机具使用列表
     * @param bean
     * @return
     */
    List<ProjUsingRecord> getProjUsingRecordList(ProjUsingRecord bean);

    /**
     * 设备使用追溯查询
     * @param bean
     * @return
     */
    List<MachineHistoryRecordBean> getMachineHistoryRecordList(MachineHistoryRecordBean bean);

    /**
     * 导出综合查询工程机具使用列表
     * @param bean
     * @return
     */
    List<ProjUsingRecord> exportProjUsingRecord(ProjUsingRecord bean);

    /**
     * 机具入库查询列表
     * @param bean
     * @return
     */
    List<InputRecordInfo> getInputRecordList(InputRecordInfo bean);

    /**
     * 机具出库查询列表
     * @param bean
     * @return
     */
    List<OutRecordInfo> getOutRecordList(OutRecordInfo bean);

    /**
     * 保有设备总量查询
     * @param bean
     * @return
     */
    List<RetainedEquipmentInfo> getRetainedEquipmentList(RetainedEquipmentInfo bean);

    /**
     * 查询机具编码
     * @param bean
     * @return
     */
    List<StorageInfo> getMaCodeList(StorageInfo bean);

    /**
     * 查询在用设备详情
     * @param bean
     * @return
     */
    List<UseStorageInfo> getUserRecords(UseStorageInfo bean);

    /**
     * 查询在修设备详情
     * @param bean
     * @return
     */
    List<RepairStorageInfo> getRepairRecordList(RepairStorageInfo bean);

    /**
     * 查询新购待入库设备详情
     * @param bean
     * @return
     */
    List<PurchaseInputInfo> getPurchaseRecordList(PurchaseInputInfo bean);

    /**
     * 查询修饰待入库设备详情
     * @param bean
     * @return
     */
    List<RepairInputRecord> getRepairInputList(RepairInputRecord bean);

    /**
     * 查询待报废设备详情
     * @param bean
     * @return
     */
    List<ScrapRecordInfo> getScrapList(ScrapRecordInfo bean);

    /**
     * 查询已审核报废设备详情
     * @param bean
     * @return
     */
    List<ScrapAuditInfo> getScrapAuditList(ScrapAuditInfo bean);

    /**
     * 修试查询--一机一档案查询
     * @param bean
     * @return
     */
    List<MaTypeSelectInfo> getMaTypeSelectList(MaTypeSelectInfo bean);

    /**
     * 机具库存个人查询
     * @param bean
     * @return
     */
    List<RetainedEquipmentInfo> getPersonNum(RetainedEquipmentInfo bean);

    /**
     * 施工机具需求、供应分析统计表
     * @param bean
     * @return
     */
    List<ProjUsingRecord> getStatisticsList(ProjUsingRecord bean);

    /**
     * 总在用工程明细
     * @param bean
     * @return
     */
    List<ProjUsingRecord> getAllUsDetails(ProjUsingRecord bean);

    /**
     * 配件库存个人查询
     * @param bean
     * @return
     */
    List<RetainedEquipmentInfo> getPartPersonNum(RetainedEquipmentInfo bean);

    /**
     * 库存操作日志列表
     * @param bean
     * @return
     */
    List<Type> getStorageNumLogList(Type bean);

    /**
     * 库存操作日志列表详情
     * @param bean
     * @return
     */
    List<Type> getStorageNumLogDetails(Type bean);
}
