package com.sunda.spmswms.service;

import com.sunda.spmscommon.ResponseResult;
import com.sunda.spmswms.entity.SapBoxNote;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;
import java.util.Map;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author Wayne
 * @since 2021-03-29
 */
public interface ISapBoxNoteService extends IService<SapBoxNote> {

    SapBoxNote getByBoxNote(String boxNote);

    List<SapBoxNote> getSapBoxNote(String packageNote);

    /** 根据箱码查询箱码底下物料详情 */
    List<Map<String, Object>> getDnMaterialDtl(String boxNote);

    List<Map<String, Object>> getDnMaterialDtlByPackage(String packageNote);
    /**
     * 根据箱码，验证箱码信息
     * 1. 从SAP_BOX_NOTE中验证箱码有效
     * 2. 从SAP_BOX_NOTE_DTL中验证箱码有DTL
     * 3. 从WHS_INVENTORY_INFO验证有仓库库存
     * 4. 从WHS_STORAGE_INVENTORY中验证是否有储位库存
     * */
    ResponseResult validateBoxNote(String boxNote,String werks,String whsLocationCode);

    /** 获取备件货上传SAP的物料信息 */
//    Map<String, Object> getDnDataToSap(String deliveryNoteSap, String postingDate, String userId);

    void insertSapBoxNote(SapBoxNote sapBoxNote);

//  查找新箱
    ResponseResult checkNewBox(String boxNote);

    List<Map<String,Object>> getNewBox (String boxNote);

    /** 拆箱任务生成新箱码时，获取一个序列 */
    int getNewBoxNote();

}
