MesService.java 2.18 KB
package com.huaheng.api.mes.service;

import com.huaheng.api.mes.domain.*;
import com.huaheng.framework.web.domain.AjaxResult;
import com.huaheng.framework.web.domain.AjaxResultMES;
import com.huaheng.pc.inventory.inventoryDetail.domain.InventoryDetail;

import java.util.List;

public interface MesService {

    /**
     * 入库单下发(弃用)
     *
     * @param mesOrder
     * @return
     */
    AjaxResult receiptOrder(MesOrder mesOrder);

    /**
     * 创建出库单
     *
     * @param mesOrder MES出库单
     * @return 操作结果
     */
    AjaxResult shipmentOrder(MesShipmentOrder mesOrder);

    /**
     * 成品出库
     */
    AjaxResult shipmentProduct(MesShipmentProduct mesShipmentProduct);

    /**
     * 原材料入库
     * @param mesReceipt
     * @return
     */
    AjaxResult receipt(MesReceipt mesReceipt);

    /**
     * MES呼叫物料
     */
    AjaxResult shipment(MesShipment mesShipment);

    /**
     * MES 查询库存信息
     * @param mesSearch 查询参数
     * @return 库存信息
     */
    AjaxResultMES searchInventory(MesSearch mesSearch);

    AjaxResult workOrder(MesWorkOrder workOrder);

    /**
     * 出库回传
     * @param taskHeaderId 任务id
     */
    AjaxResult backShipment(String taskHeaderId);

    /**
     * 回传入库,根据单据
     * @param id 任务id
     */
    AjaxResult backReceipt(String id);

    /**
     * 回传空载具入/出库
     * @param id 任务id
     * @return
     */
    AjaxResult backEmpty(String id);

    /**
     * 回传换站
     * @param taskId 任务id
     * @return
     */
    AjaxResult backChangeStation(String taskId);

    /**
     * 锁定/冻结 原材料库存
     * @param inventoryList 库存
     * @param mesOrderMaterial 领料单物料
     * @param mesShipmentOrder 领料单
     * @return 冻结库存
     */
    List<InventoryDetail> lockRawInventory(List<InventoryDetail> inventoryList,
                                           MesOrderMaterial mesOrderMaterial,
                                           MesShipmentOrder mesShipmentOrder);

    /**
     * 载具工位之间流转
     */
    AjaxResult createOverStation(MesOverStationDto mesOverStationDto);
}