package com.huaheng.api.mes.service; import com.huaheng.api.acs.domain.AgvTaskCS; import com.huaheng.api.mes.domain.InventoryDetailQuery; import com.huaheng.api.mes.domain.MesMaterial; import com.huaheng.api.mes.domain.MesTask; import com.huaheng.api.mes.domain.TaskHeaderQuery; import com.huaheng.framework.web.domain.AjaxResult; import com.huaheng.framework.web.page.TableDataInfo; import com.huaheng.pc.config.location.domain.Location; import com.huaheng.pc.config.material.domain.Material; import com.huaheng.pc.config.station.domain.Station; import com.huaheng.pc.config.zone.domain.Zone; import com.huaheng.pc.receipt.receiptDetail.domain.ReceiptDetail; import com.huaheng.pc.shipment.shipmentDetail.domain.ShipmentDetail; import com.huaheng.pc.task.taskHeader.domain.TaskHeader; import java.util.List; /** * mes服务层接口 * @author xcq */ public interface MesService { /** * 下发任务给ACS * @param taskHeader * @return */ AjaxResult sendTaskToAcs(TaskHeader taskHeader); /** * 取消ACS任务 * @param id * @return */ AjaxResult cancelACSTaskService(Integer id); /** * mes创建任务 * @param mesTask * @return */ AjaxResult createTaskService(MesTask mesTask); /** * 创建入库任务 * @param mesTask * @return */ AjaxResult createReceipt(MesTask mesTask); /** * 创建出库任务 * @param mesTask * @return */ AjaxResult createShipment(MesTask mesTask); /** * 创建AGV任务 * @param type 出入库类型 * @param fromPort 起点 * @param toPort 终点 * @param code 单据编码 * @return */ AjaxResult createAgvTask(Integer type, String fromPort, String toPort, String code); /** * 新增物料 * @param mesTask */ AjaxResult addMaterial(MesTask mesTask); /** * 空料框处理实现 * @param mesTask * @return */ AjaxResult emptyContainerHandleService(MesTask mesTask); /** * 初始化货架点位实现方法 * @param mesTask * @return */ AjaxResult initialLocationService(MesTask mesTask); /** * 创建入库单据 * @param mesTask * @return */ ReceiptDetail createReceiptDocuments(MesTask mesTask); /** * 创建出库单 * @param mesTask * @return */ ShipmentDetail createShipmentDocuments(MesTask mesTask); /** * 创建空托入库任务 * @param mesTask * @return */ AjaxResult createEmptyReceiptContainer(MesTask mesTask); /** * 创建空托出库任务 * @param mesTask * @return */ AjaxResult createEmptyShipmentContainer(MesTask mesTask); /** * 校验上下料工位是否已有任务 * @param station */ AjaxResult checkStation(String station, Integer type); /** * 解绑库位 * @param mesTask * @return */ AjaxResult untieLocationService(MesTask mesTask); /** * mes获取库存 * @param inventoryDetailQuery * @return */ TableDataInfo getInventoryListService(InventoryDetailQuery inventoryDetailQuery); /** * mes获取任务执行状态 * @param taskHeaderQuery * @return */ TableDataInfo getTaskListService(TaskHeaderQuery taskHeaderQuery); /** * 获取库区编码 * @param area * @return */ List<String> getZoneCodes(String area); /** * 区域同步 * @param zones * @return */ AjaxResult zoneSyncService(List<Zone> zones); /** * 点到点 * @param mesTask * @return */ AjaxResult pointToPointService(MesTask mesTask); /** * 区域移动 * @param mesTask * @return */ AjaxResult regionalMoveService(MesTask mesTask); /** * 装配点位初始化 * @param mesTask * @return */ AjaxResult routineInitialLocationService(MesTask mesTask); /** * 获取mes物料信息 * @param code * @return */ MesMaterial getMesMaterial(String code); AjaxResult getMaterialByMES(MesTask mesTask); MesMaterial getMesMaterialJJ(String code); /** * 库存转换 * @param locationCode * @return */ AjaxResult inventoryConversion(String locationCode); /** * 修改光腾点位状态 * @param location * @return */ AjaxResult updateLocationStatusService(Location location); /** * PDA点位转换 * @param location * @return */ AjaxResult locationConvertService(Location location); }