package com.sw.mes.itemclean.clean.service;

import com.sw.mes.core.dto.sap.ReportSapGoodsmvtDto;
import com.sw.mes.itemclean.clean.domain.MaterialStoreSignBox;
import com.baomidou.mybatisplus.extension.service.IService;
import com.sw.mes.itemclean.clean.dto.BoxPropertyDto;
import com.sw.mes.itemclean.clean.dto.GeneralScanBoxNoParam;
import com.sw.mes.itemclean.clean.dto.MaterialStoreSignBoxDto;

import java.util.List;

/**
 * <p>
 * 打签箱待存（待扫码领料） 服务类
 * </p>
 *
 * @author liuzemin
 * @since 2022-11-10
 */
public interface MaterialStoreSignBoxService extends IService<MaterialStoreSignBox> {

     void discountBox(List<String> boxNos);

    BoxPropertyDto generalScanBoxNo(GeneralScanBoxNoParam param);

    MaterialStoreSignBox getByBoxNo(String materialBoxNo);

    MaterialStoreSignBox getByBoxNo(MaterialStoreSignBox materialStoreSignBox);

    void updateByBoxNo(String materialBoxNo);

    MaterialStoreSignBox getByKbxBoxNo(String boxNo);

    MaterialStoreSignBox getByProductBatchNo(String productBatchNo);

    MaterialStoreSignBox getUsedInfoByProductBatchNo(String productBatchNo);

    void examineStatus(MaterialStoreSignBox entity, Integer status);

    MaterialStoreSignBox checkBox(String boxNo);

    MaterialStoreSignBox useInfoByMaterialProductBatchNo(String productBatchNo);

    List<MaterialStoreSignBox> getByParentId(Integer id);

     void doMesToSapRecord(ReportSapGoodsmvtDto reportSapGoodsmvtDto, Integer recordType);

    void blending( List<MaterialStoreSignBoxDto> dtos);

    List<MaterialStoreSignBox> getMaterialStoreSignBoxByProductBatchNo(List<String> collect);
}
