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

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.sw.mes.core.response.Result;
import com.sw.mes.itemclean.clean.domain.CleaningProcessFlow;
import com.sw.mes.itemclean.clean.dto.WorkInCleanProcessParamQuery;
import com.sw.mes.itemclean.clean.dto.WorkInCleanProgressDetailDto;
import com.sw.mes.itemclean.clean.dto.WorkInCleanProgressDto;

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

/**
 * @Author
 * @Description：
 * @Date:
 * @Modified By:
 */
public interface CleaningProcessFlowService extends IService<CleaningProcessFlow> {

    Result inStation(String workOrder, String masterWorkOrder, BigDecimal weight, BigDecimal unusedWeight, BigDecimal usedWeight, String deviceNo, String wipStorageCode, String flowLineLable, String boxNo, String lastSite, Integer type);

    Result outStation(String workOrder, String masterWorkOrder, BigDecimal weight, BigDecimal unusedWeight, BigDecimal usedWeight, String deviceNo, String wipStorageCode, String flowLineLable, String boxNo, String lastSite, Integer type);

    CleaningProcessFlow getByBoxNo(String boxNo);

    IPage<WorkInCleanProgressDto> queryWorkInProcessPage(IPage<WorkInCleanProgressDto> iPage, WorkInCleanProcessParamQuery query);

    List<WorkInCleanProgressDto> queryWorkInProcessList(WorkInCleanProcessParamQuery query);

    List<WorkInCleanProgressDetailDto> findDetailByMaterialCode(WorkInCleanProcessParamQuery query);
}
