package com.sunda.spmswms.service;

import com.alibaba.fastjson.JSONObject;
import com.sunda.spmscommon.ResponseResult;
import com.sunda.spmswms.entity.SapBoxNote;
import com.sunda.spmswms.entity.SapDeliveryNote;
import com.sunda.spmswms.entity.ShelfOnTaskDtl;
import com.sunda.spmswms.entity.WithdrawTask;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.ArrayList;
import java.util.List;

/**
 * <p>
 * 移动冲销表 服务类
 * </p>
 *
 * @author Wayne
 * @since 2021-04-25
 */
public interface IWithdrawTaskService extends IService<WithdrawTask> {


    /* 生成入库冲销任务，备件货*/
    ResponseResult generateWithDrawTaskX(String werks, String whsLocationCode,String userId, String createDate, String relatedTaskId, String sapVoucherNumber, SapDeliveryNote sapDeliveryNote, List<?> shelfOnTaskDtls,String pdaSn,String mobileType);

    /* 生成入库冲销任务，贸易货*/
    ResponseResult generateWithDrawTaskM(String werks, String whsLocationCode,String userId, String createDate, String relatedTaskId, String sapVoucherNumber, SapDeliveryNote sapDeliveryNote, List<?> storageList,String pdaSn,String mobileType);

    /* 按条件查询冲销历史记录**/
    ResponseResult getWithdrawTasks(String userId,String deliveryNoteSap,String mobileType,String taskCategory,String relatedTaskId);

    // 获取withdraw的详情数据
    ResponseResult getwithdrawTaskDtl(String uuid);

    // 获取可冲消单据接口列表
    ResponseResult getWithdrawableList(JSONObject jsonObject);

}
