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

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.sw.mes.itemclean.clean.domain.MaterialBroken;
import com.baomidou.mybatisplus.extension.service.IService;
import com.sw.mes.itemclean.clean.domain.MaterialGroupDetail;
import com.sw.mes.itemclean.clean.domain.MaterialStoreSignBox;
import com.sw.mes.itemclean.clean.dto.*;

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

/**
 * <p>
 * 破碎 服务类
 * </p>
 *
 * @author liuzemin
 * @since 2022-11-10
 */
public interface MaterialBrokenService extends IService<MaterialBroken> {

    MaterialBroken getCurrentBrokenUpInfo(String deviceNo);

    MaterialBroken materialBrokenUp(MaterialBrokenUpDto dto);

    void materialBrokenEnd(BrokenDownDto dto);

    void materialBrokenPackaging(BrokenDownDto id);

    MaterialBroken getByBatchNo(String productBatchNo);

    MaterialBroken getByBatchNoAndDevice(String productBatchNo, String deviceNo);

    List<MaterialBroken> getByDevice(String deviceNo);

    MaterialGroupDetail materialBrokenToPackaging(BrokenToPackDto dto);

    List<MaterialStoreSignBox> materialBrokenToPackagings(BrokenToPackDto dto);

    BigDecimal getSumWeightByBatchNo(String productBatchNo,String deviceNo);

    BoxInfoDto getInfoByBoxNo(String boxNo);

    MaterialBroken getBrokenInfoByBoxNo(String boxNo);

    IPage<MaterialBrokenUpAndDownDto> queryList(IPage<MaterialBrokenUpAndDownDto> iPage, BrokeUpAndDownParamQuery brokeUpAndDownParamQuery);

    List<MaterialBrokenUpAndDownDto> queryListByParam(BrokeUpAndDownParamQuery brokeUpAndDownParamQuery);
}
