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

import cn.estsh.i3plus.pojo.mes.bean.MesProdRouteOptParam;
import cn.estsh.i3plus.pojo.mes.bean.seres.MesCimSeresJisRfid;
import cn.estsh.i3plus.pojo.mes.bean.shipping.MesShippingOrderManagement;
import cn.estsh.i3plus.pojo.mes.bean.shipping.MesShippingOrderManagementDetail;
import cn.estsh.i3plus.pojo.mes.bean.shipping.MesShippingQueue;
import io.swagger.annotations.ApiOperation;

import java.util.Map;
import java.util.Optional;

public interface IMesShippingQueueService {

    @ApiOperation("根据零件发运组代码查询创建时间正序创建状态的一条发运队列")
    MesShippingQueue getShippingQueue(String organizeCode, String shippingGroupCode);

    @ApiOperation("根据发运代码查询创建时间正序创建状态的一条发运队列")
    MesShippingQueue getShippingQueueByCode(String organizeCode, String shippingCode);

    @ApiOperation("根据ID修改发运队列")
    void saveShippingQueue(String organizeCode, Long id, String[] propertyName, Object[] propertyValue);

    @ApiOperation("根据VIN查询赛力斯RFID信息")
    MesCimSeresJisRfid getCimSeresJisRfid(String organizeCode, String vin);

    @ApiOperation("根据发运代码查询发运主表")
    MesShippingOrderManagement getShipping(String organizeCode, String shippingCode);

    @ApiOperation("根据发运主表ID查询发运明细表")
    MesShippingOrderManagementDetail getShippingDetail(String organizeCode, Long pid);

    @ApiOperation("解析rfidSn")
    String getRfidSn(Optional<Map<String, MesProdRouteOptParam>> stepParamMap, String rfid);

}
