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

import com.sw.mes.itemclean.clean.domain.MaterialCleaning;
import com.baomidou.mybatisplus.extension.service.IService;
import com.sw.mes.itemclean.clean.domain.MaterialCleaningBasket;
import com.sw.mes.itemclean.clean.dto.MaterialCleaningBasketChooseDto;
import com.sw.mes.itemclean.clean.dto.MaterialCleaningToBoxDto;
import com.sw.mes.itemclean.clean.dto.MaterialCleaningUpDto;
import com.sw.mes.itemclean.clean.dto.PackingBoxInfoPrintDto;

import java.math.BigDecimal;
import java.util.List;

/**
 * <p>
 * 清洗 服务类
 * </p>
 *
 * @author liuzemin
 * @since 2022-11-10
 */
public interface MaterialCleaningService extends IService<MaterialCleaning> {

    MaterialCleaning getCurrentCleanUpInfo(String deviceNo);

    void materialCleaningUp(MaterialCleaningUpDto dto);

    void materialCleaningEnd(Integer id);

    MaterialCleaning materialCleaningPackaging(Integer id);

    MaterialCleaning getByBatchNo(String batchNo);

    List<MaterialCleaningBasket> getBasketInfoByCleanId(Integer id);

    void markBasket(Integer basketId);

    void materialCleaningBasketChoose(MaterialCleaningBasketChooseDto dto);

    MaterialCleaning getByBatchNoAndDevice(String batchNo, String deviceNo);

    List<MaterialCleaning> getByDevice(String deviceNo);

    MaterialCleaning getByBoxNo(String boxNo);

    PackingBoxInfoPrintDto materialCleaningPackagingBox(MaterialCleaningToBoxDto dto);

    MaterialCleaning materialCleaningPackagingByBoxNo(String basketNo);

    MaterialCleaning getNotCleanByBoxNo(String boxNo);

    void materialDetailCleaningUp(String deviceNo, String preBoxNo, String materialCode, String materialName,
                                  String materialLevel, String materialModel, String materialGear,
                                  String currentProductBatchNo, String basketNo, BigDecimal weight,
                                  String boxWeight, String boxTypeName, String remark);
}
