package com.bonus.sgzb.app.service;

import com.bonus.sgzb.app.domain.TmTask;
import com.bonus.sgzb.base.api.domain.BackApplyInfo;

import java.util.List;

/**
 * @author bns_han
 */
public interface BackReceiveService {

    /**
     * 退料接收列表
     *
     * @param record 查询条件
     * @return AjaxResult对象
     */
    List<BackApplyInfo> getbackReceiveList(BackApplyInfo record);

    /**
     * 退料接收明细
     *
     * @param record 查询条件
     * @return AjaxResult对象
     */
    List<BackApplyInfo> receiveView(BackApplyInfo record);

    /**
     * 数量退料--管理方式为1的
     *
     * @param record 查询条件
     * @return AjaxResult对象
     */
    int setNumBack(BackApplyInfo record);

    /**
     * 编码退料--管理方式为0的
     *
     * @param record 查询条件
     * @return AjaxResult对象
     */
    int setCodeBack(BackApplyInfo record);

    /**
     * 退料接收-结束任务
     *
     * @param record 查询条件
     * @return int
     */
    int endBack(BackApplyInfo record);

    /**
     * 退料接收-编号查询
     *
     * @param record 查询条件
     * @return List<BackApplyInfo>
     */
    List<BackApplyInfo> codeQuery(BackApplyInfo record);


    /**
     * 退料接收-二维码查询
     *
     * @param record 查询条件
     * @return List<BackApplyInfo>
     */
    List<BackApplyInfo> qrcodeQuery(BackApplyInfo record);

    /**
     * 退料接收记录
     *
     * @param record 查询条件
     * @return List<BackApplyInfo>
     */
    List<BackApplyInfo> backReceiveRecord(BackApplyInfo record);

    /**
    * 退料接收-rfid编码查询
    * @param record
    * @return List<BackApplyInfo>
    */
    List<BackApplyInfo> rfidCodeQuery(BackApplyInfo record);

    /**
     * 退料接收-rfid退料
     *
     * @param record 查询条件
     * @return int
     */
    int setRfidCodeBack(BackApplyInfo record);

    List<TmTask> getBackMachine(TmTask task);

    List<TmTask> getRecord(TmTask task);

    int revoke(BackApplyInfo record);

    List<BackApplyInfo> backReceiveRecordWeb(BackApplyInfo record);

    List<BackApplyInfo> backReceiveRecordWebPt(BackApplyInfo record);
}
