package com.bonus.sgzb.app.service;

import com.bonus.sgzb.app.domain.LeaseApplyDetails;
import com.bonus.sgzb.app.domain.TmTask;
import com.bonus.sgzb.base.api.domain.LeaseOutDetails;
import com.bonus.sgzb.base.api.domain.MaMachine;
import com.bonus.sgzb.common.core.web.domain.AjaxResult;

import java.util.List;

/**
 * Description: 领料出库详情表Service接口
 *
 * @Author 阮世耀
 * @Create 2023/12/17 15:06
 * @Version 1.0
 */
public interface LeaseOutDetailsService {

    /**
     * 获取领料出库详情表
     * @param parentId
     * @return 领料出库详情表
     */
    List<LeaseOutDetails> selectListByParentId(String parentId);

    /**
     * 领料出库列表
     * @param bean 参数
     * @return 列表
     */
    List<LeaseOutDetails> leaseOutRecordList(LeaseOutDetails bean);

    int bindMachineByRfid(MaMachine maMachine);
    int bindMachineByQrCode(MaMachine maMachine);

    /**
     * 领料出库，对库存处理
     * @param record 出库内容
     * @return 结果
     */
    AjaxResult submitOut(LeaseOutDetails record);
    /**
     * 根据code编码查询设备信息
     * @param maCode 机具编码
     * @return 设备信息
     */
    List<MaMachine> getMaMachineByCode(String maCode);
    /**
     * 根据QrCode编码查询设备信息
     * @param qrCode 二维码编码
     * @return 设备信息
     */
    List<MaMachine> getMaMachineByQrCode(String qrCode);

    /**
     * 根据RFID编码查询设备信息
     * @param rfidCode RFID编码
     * @return 设备信息
     */
    List<MaMachine> getMaMachineByRfidCode(String rfidCode);

    /**
    * 综合查询--领用记录查询
    * @param bean
    * @return List<LeaseApplyDetails>
    */
    List<LeaseApplyDetails> leaseOutRecord(LeaseApplyDetails bean);

    /**
    * 综合查询--工程在用查询
    * @param bean
    * @return List<LeaseApplyDetails>
    */
    List<LeaseApplyDetails> proUseRecord(LeaseApplyDetails bean);

    AjaxResult submitOutRfid(List<LeaseOutDetails> recordList);

    List<TmTask> getDetailsByApplyId(TmTask id);
}
