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

import cn.estsh.i3plus.ext.mes.pcn.pojo.bean.MesMissingPart;
import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MissPartConfirmModel;
import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MissingPartDataModel;
import io.swagger.annotations.ApiOperation;

import java.util.List;

/**
 * @Author: wangjie
 * @CreateDate: 2021/01/19 15:06 下午
 * @Description:
 **/
public interface IMissingPartService {

    /**
     * 查询缺件记录数据
     * @param model 查询条件
     * @return 缺件记录数据
     */
    @ApiOperation(value = "查询缺件记录数据", notes = "查询缺件记录数据")
    MissingPartDataModel queryMissingPartModelData(MissingPartDataModel model);

    /**
     * 添加缺件记录
     * @param model 缺件信息
     * @return 缺件记录数据
     */
    @ApiOperation(value = "添加缺件记录", notes = "添加缺件记录")
    MissingPartDataModel insertMissingPart(MissingPartDataModel model);

    /**
     * 删除缺件记录
     * @param model 缺件信息
     * @return 缺件记录数据
     */
    @ApiOperation(value = "删除缺件记录", notes = "删除缺件记录")
    MissingPartDataModel deleteMissingPart(MissingPartDataModel model);

    /**
     * 根据工单号获取缺件记录信息集合
     * @param organizeCode 组织代码
     * @param workOrderNo 生产工单号
     * @return 缺件记录信息集合
     */
    @ApiOperation(value = "根据工单号获取缺件记录信息集合", notes = "根据工单号获取缺件记录信息集合")
    List<MesMissingPart> getMissingPartByWorkOrderNo(String organizeCode, String workOrderNo);


    /**
     * 根据条码查找工单信息
     *
     * @param serialNumber 产品条码
     * @param organizeCode 组织代码
     * @return 缺件信息
     */
    @ApiOperation(value = "根据产品条码获取缺件信息", notes = "根据产品条码获取缺件信息")
    MissPartConfirmModel getMissingPartAndWorkOrderBySn(String serialNumber, String organizeCode);

}
