package cn.estsh.i3plus.ext.mes.pcn.api.base;

import cn.estsh.i3plus.ext.mes.pcn.pojo.bean.MesPackageRecord;
import cn.estsh.i3plus.ext.mes.pcn.pojo.bean.MesWorkOrderExt;
import cn.estsh.i3plus.ext.mes.pcn.pojo.model.ContainerModel;
import io.swagger.annotations.ApiOperation;

import java.io.UnsupportedEncodingException;

/**
 * 文件描述
 *
 * @author xiangming.liao
 * @date 2021年03月23日 11:18
 */
public interface IModulePackageTaskService {

    /**
     * @Description:通过产线查询工单顺序最先启动状态的工单
     * @Param: [workCenterCode, organizeCode]
     * @return: cn.estsh.i3plus.ext.mes.pcn.pojo.bean.MesWorkOrderExt
     * @Date: 2021/3/23
     */
    @ApiOperation(value = "通过产线查询工单顺序最先启动状态的工单", notes = "通过产线查询工单顺序最先启动状态的工单")
    MesWorkOrderExt queryWorkOrderByCenter(String workCenterCode, String organizeCode);

    /**
     * @Description:通过扫描条码，查询容器，加载数据
     * @Param: [barcode, organizeCode]
     * @return: cn.estsh.i3plus.ext.mes.pcn.pojo.model.ContainerModel
     * @Date: 2021/3/23
     */
    @ApiOperation(value = "通过扫描条码，查询容器，加载数据", notes = "通过扫描条码，查询容器，加载数据")
    ContainerModel queryContainerByScanBarcode(String workOrderNo, String barcode, String organizeCode);

    /**
     * @return void
     * @Description: 输入完工数量点击确定按钮
     * @Param [packageRecord]
     * @Date 2021/3/25 15:00
     **/
    @ApiOperation(value = "输入完工数量点击确定按钮", notes = "输入完工数量点击确定按钮")
    Boolean insertCompleteQty(MesPackageRecord packageRecord) throws UnsupportedEncodingException;

    /**
     * @return void
     * @Description: 点击删除按钮，删除包装记录
     * @Param [ids, organizeCode, modifyUser]
     * @Date 2021/4/2 11:01
     **/
    @ApiOperation(value = "点击删除按钮，删除包装记录", notes = "点击删除按钮，删除包装记录")
    void deletePackageRecord(Long ids[], String organizeCode, String modifyUser);

    /**
     * @return void
     * @Description: 点击完成包装按钮
     * @Param [workOrderNo, barcode, organizeCode, modifyUser]
     * @Date 2021/3/29 20:23
     **/
    @ApiOperation(value = "点击完成包装按钮", notes = "点击完成包装按钮")
    void doCompletePackage(String workOrderNo, String partNo, String barcode, String organizeCode, String modifyUser);
    @ApiOperation(value = "查询wms托盘条码数量", notes = "查询wms托盘条码数量")
    Boolean queryWmsCtSn(String ctCode,String organizeCode,String ctNo);

}
