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

import com.huaheng.api.mes.domain.*;
import com.huaheng.framework.web.domain.AjaxResult;
import com.huaheng.pc.config.material.domain.Material;
import com.huaheng.pc.inventory.inventoryDetail.domain.InventoryDetail;
import com.huaheng.pc.shipment.shipmentHeader.domain.ShipmentHeader;
import org.apache.ibatis.annotations.Param;

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);

    /**
     * 物料入库
     */
    AjaxResult receipt(MesReceipt mesReceipt);

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

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

    /**
     * 主工单下发
     *
     * @param mesWorkOrder 主工单
     */
    AjaxResult workOrder(MesWorkOrder mesWorkOrder);

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

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

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

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

    /**
     * 锁定/冻结 原材料库存
     *
     * @param material         物料
     * @param inventoryList    库存
     * @param mesOrderMaterial 领料单物料
     * @param shipmentHeader   领料单
     * @param orderCode        工单号
     */
    void lockRawInventory(Material material, List<InventoryDetail> inventoryList,
                          MesOrderMaterial mesOrderMaterial, ShipmentHeader shipmentHeader, String orderCode);

    /**
     * 载具流转
     */
    AjaxResult createOverStation(MesOverStationDto mesOverStationDto);

    /**
     * wms 入库组盘
     *
     * @param mesReceipt 组盘参数
     * @return
     */
    AjaxResult wmsReceipt(MesReceipt mesReceipt);

    /**
     * MES检验查询
     *
     * @param mesSearchRequestByQCDto 检查查询Dto对象
     * @return 查询结果
     */
    AjaxResult searchInventoryByQC(MesSearchRequestByQCDto mesSearchRequestByQCDto);

    /**
     * MES质检抽样出库
     *
     * @param mesShipmentByQCDto 质检抽样Dto类型
     * @return 出库结果
     */
    AjaxResult shipmentByQC(MesShipmentByQCDto mesShipmentByQCDto);

    /**
     * 抽样质检余料回库
     *
     * @param mesReceiptByQCDto 抽样质检余料回库Dto对象
     * @return 操作结果
     */
    AjaxResult receiptByQC(MesReceiptByQCDto mesReceiptByQCDto);

    /**
     * 挪料
     * @param mesMovingMaterialDto 挪料Dto对象
     * @return 挪料结果
     */
    AjaxResult movingMaterial(MesMovingMaterialDto mesMovingMaterialDto);

    /**
     * 工单状态同步
     * @param workOrder 工单
     * @return 同步结果
     */
    AjaxResult syncWorkOrder(MesWorkOrder workOrder);

    /**
     * 根据ZS码从MES获取入库条码
     */
    AjaxResult getMesTracingCode(String zs);

    /**
     * 清库
     * @param clearStockDto 清库Dto对象
     */
    AjaxResult clearStock(ClearStockDto clearStockDto);

    /**
     * 同步物料信息
     *
     * @param syncMaterialDtoList 同步物料信息Dto对象集合
     */
    AjaxResult syncMaterial(List<SyncMaterialDto> syncMaterialDtoList);

    /**
     * 同步供应商信息
     * @param syncSupplierDtoList 同步供应商信息Dto对象集合
     */
    AjaxResult syncSupplier(List<SyncSupplierDto> syncSupplierDtoList);

    /**
     * 同步盛具类型信息
     * @param syncVehicleTypeDtoList 同步盛具类型信息Dto对象集合
     */
    AjaxResult syncVehicleType(List<SyncVehicleTypeDto> syncVehicleTypeDtoList);

    /**
     * 查询空库位
     *
     * @return 空库位
     */
    AjaxResult<List<EmptyLocationDto>> queryEmptyLocation();

    /**
     * 查询药量
     * @return 药量
     */
    AjaxResult<?> queryPowder();

    /**
     * 查询固化时间
     * @param querySolidifyTimeDto 查询参数
     */
    AjaxResult<?> querySolidifyTime(QuerySolidifyTimeDto querySolidifyTimeDto);

    /**
     * 产出品/在制品出库
     */
    AjaxResult<?> productShipmentDto(ProductShipmentDto productShipmentDto);

    /**
     * 质检查询盛具
     * @param queryVehicleCodeByQCList 查询盛具工具集合
     */
    AjaxResult<?> queryVehicleCodeByQC(@Param("queryVehicleCodeByQCList") List<QueryVehicleCodeByQCDto> queryVehicleCodeByQCList);

    /**
     * 更新物料质检状态
     */
    AjaxResult<?> updateMaterialInspectStatus(UpdateMaterialInspectStatusDto updateMaterialInspectStatusDto);
}