MesService.java 4.58 KB
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);
}