package com.bonus.material.back.service;

import java.util.List;

import com.bonus.common.core.web.domain.AjaxResult;
import com.bonus.material.back.domain.BackApplyInfo;
import com.bonus.material.back.domain.vo.BackApplyRequestVo;

/**
 * 退料任务Service接口
 * 
 * @author xsheng
 * @date 2024-10-16
 */
public interface IBackApplyInfoService {
    /**
     * 查询退料任务
     * 
     * @param id 退料任务主键
     * @return 退料任务
     */
    public BackApplyRequestVo selectBackApplyInfoById(Long id);

    /**
     * 查询退料任务列表
     * 
     * @param backApplyInfo 退料任务
     * @return 退料任务集合
     */
    public List<BackApplyInfo> selectBackApplyInfoList(BackApplyInfo backApplyInfo);

    /**
     * 新增退料任务
     * 
     * @param dto 退料任务
     * @return 结果
     */
    public AjaxResult insertBackApplyInfo(BackApplyRequestVo dto);

    /**
     * 修改退料任务
     * 
     * @param dto 退料任务
     * @return 结果
     */
    public AjaxResult updateBackApplyInfo(BackApplyRequestVo dto);

    /**
     * 删除退料任务信息
     * 
     * @param id 退料任务主键
     * @return 结果
     */
    public AjaxResult deleteBackApplyInfoById(Long id);

    /**
     * 根据机具编码和类型查询机具是否存在
     * @param dto
     * @return
     */
    AjaxResult getMachineById(BackApplyInfo dto);

    /**
     * 提交退料申请
     * @param backApplyInfo
     * @return
     */
    AjaxResult submitBackApply(BackApplyInfo backApplyInfo);

    /**
     * 确认打印
     * @param dto
     * @return
     */
    AjaxResult editPrintStatus(BackApplyInfo dto);

    /**
     * 新增退料任务app
     * @param dto
     * @return
     */
    AjaxResult insertApp(BackApplyRequestVo dto);
}
