AcsController.java 1.43 KB
package com.huaheng.api.acs.controller;

import com.huaheng.api.acs.domain.AcsStatus;
import com.huaheng.api.acs.service.AcsService;
import com.huaheng.framework.aspectj.lang.annotation.ApiLogger;
import com.huaheng.framework.web.controller.BaseController;
import com.huaheng.framework.web.domain.AjaxResult;
import com.huaheng.framework.web.domain.AjaxResultACS;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;

@RestController
@RequestMapping("/api/ACS/AgvService")
public class AcsController extends BaseController {

    @Resource
    private AcsService acsService;

    /**
     * status 20 任务执行中;
     * 50 取货完成;
     * 90 任务完成;
     *
     * @param acsStatus
     * @return
     */
    @PostMapping("/AgvCallBack")
    @ApiOperation("更新AGV状态")
    @ResponseBody
    @ApiLogger(apiName = "更新AGV状态", from = "acs")
    public AjaxResultACS notifyAGVTask(@RequestBody AcsStatus acsStatus) {
        AjaxResult ajaxResult = handleMultiProcess(new MultiProcessListener() {
            @Override
            public AjaxResult doProcess() {
                AjaxResult ajaxResult = acsService.notifyAGVTask(acsStatus);
                return ajaxResult;
            }
        });
        if (ajaxResult == null || ajaxResult.hasErr()) {
            return AjaxResultACS.error();
        }
        return AjaxResultACS.success();
    }

}