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

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

import java.util.List;

/**
 * <p>
 * 组托明细 服务类
 * </p>
 *
 * @author liuzemin
 * @since 2022-11-10
 */
public interface MaterialGroupDetailService extends IService<MaterialGroupDetail> {

    IPage<MaterialGroupToDetailDto> queryList(IPage<MaterialGroupToDetailDto> iPage, GroupDetailParamQuery groupDetailParamQuery);

    List<MaterialGroupToDetailDto> queryListByParam(GroupDetailParamQuery groupDetailParamQuery);

    List<MaterialGroupDetail> findList(GroupDetailParamQuery groupDetailParamQuery);

    Result reportedErp(MaterialGroupDto dto);

    MaterialGroupDetail getGroupDetailInfoByMaterialBoxNo(String materialBoxNo);

    void updateStatusByIds(List<Integer> ids, MaterialGroup materialGroup);

    void updateStatusByGroupId(Integer id);

    List<MaterialGroupDetail> getGroupDetailsByGroupId(Integer id);

    List<MaterialGroupDetail> getGroupDetailInfosByMaterialBoxNo(List<String> boxNos);

    List<MaterialGroupToBoxDetailDto> queryBoxList(GroupDetailParamQuery groupDetailParamQuery);

    IPage<MaterialGroupToBoxDetailDto> queryBoxPage(IPage<MaterialGroupToBoxDetailDto> iPage, GroupDetailParamQuery groupDetailParamQuery);

}
