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