package cn.estsh.i3plus.ext.mes.pcn.api.busi.bu.bu3;

import cn.estsh.i3plus.ext.mes.pcn.pojo.bean.MesOuterPackage;
import cn.estsh.i3plus.ext.mes.pcn.pojo.bean.MesOuterPackageDetail;
import io.swagger.annotations.ApiOperation;

import java.util.List;

public interface IMesOuterPackageService {

    /**
     * 根据包装条码查询大包装条码明细信息
     * @param organizeCode 组织代码
     * @param packageNo 包装条码
     * @return 包装条码明细信息
     */
    @ApiOperation(value = "根据包装条码查询大包装条码明细信息", notes = "根据包装条码查询大包装条码明细信息")
    MesOuterPackageDetail getBindingOutPackageDetailByInnerSn(String organizeCode, String packageNo);

    /**
     * 根据包装条码查询大包装条码明细信息
     * @param organizeCode 组织代码
     * @param packageNo 包装条码
     * @return 包装条码明细信息
     */
    @ApiOperation(value = "根据包装条码查询大包装条码明细信息", notes = "根据包装条码查询大包装条码明细信息")
    MesOuterPackageDetail getOutPackageDetailByInnerSn(String organizeCode, String packageNo);

    /**
     * 根据包装条码查询大包装条码信息
     * @param organizeCode 组织代码
     * @param packageNo 包装条码
     * @return 包装条码明细信息
     */
    @ApiOperation(value = "根据包装条码查询大包装条码信息", notes = "根据包装条码查询大包装条码信息")
    MesOuterPackage getOutPackageBySn(String organizeCode, String packageNo);

    @ApiOperation(value = "根据大包装条码查询大包装条码信息", notes = "根据大包装条码查询大包装条码信息")
    List<MesOuterPackageDetail> queryPackSnByOuterPackNo(String organizeCode, String packageNo);

    @ApiOperation(value = "根据工单号查询大包装条码信息", notes = "根据大包装条码查询大包装条码信息")
    List<MesOuterPackage> queryOuterPackageByWorkOrderNo(String organizeCode, String workOrderNo);

    @ApiOperation(value = "根据工单号查询大包装条码明细信息", notes = "根据大包装条码查询大包装条码明细信息")
    List<MesOuterPackageDetail> queryOuterPackageDetailByWorkOrderNo(String organizeCode, String workOrderNo);
}
