WcsStackingController.java 3.62 KB
package com.huaheng.api.wcs.controller;

import javax.annotation.Resource;

import org.apache.tools.ant.types.Quantifier;
import org.springframework.web.bind.annotation.*;

import com.alibaba.fastjson.JSONObject;
import com.huaheng.api.wcs.service.wcsInteract.WcsStackingService;
import com.huaheng.common.utils.StringUtils;
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.pc.config.location.service.LocationService;

import io.swagger.annotations.ApiOperation;

/**
 * wcs码垛接口
 * @author xcq
 */
@RestController
@RequestMapping("/API/WMS/v2")
public class WcsStackingController extends BaseController {
    @Resource
    private WcsStackingService wcsStackingService;
    @Resource
    private LocationService locationService;

    @PostMapping("/cartonsWhetherRelease")
    @ApiOperation(value = "是否放行", notes = "是否放行", httpMethod = "POST")
    @ResponseBody
    @ApiLogger(apiName = "是否放行", from = "WCS")
    public AjaxResult cartonsWhetherRelease(@RequestBody String barcode) {
        return wcsStackingService.cartonsWhetherRelease(barcode);
    }

    @PostMapping("/stackingDestination")
    @ApiOperation(value = "码垛去向", notes = "码垛去向", httpMethod = "POST")
    @ResponseBody
    @ApiLogger(apiName = "码垛去向", from = "WCS")
    public AjaxResult stackingDestination(@RequestBody String json) {
        if (StringUtils.isEmpty(json)) {
            return AjaxResult.error("请勿提交空数据!");
        }
        JSONObject object = JSONObject.parseObject(json);
        String barcode = object.getString("barcode");
        return handleMultiProcess(new MultiProcessListener() {
            @Override
            public AjaxResult doProcess() {
                return wcsStackingService.manipulatorStackingPort(barcode);
            }
        });
    }

    @PostMapping("/manipulatorStackingResult")
    @ApiOperation(value = "机械手码垛结果", notes = "机械手码垛结果", httpMethod = "POST")
    @ResponseBody
    @ApiLogger(apiName = "机械手码垛结果", from = "WCS")
    public AjaxResult manipulatorStackingResult(@RequestBody String json) {
        return handleMultiProcess(new MultiProcessListener() {
            @Override
            public AjaxResult doProcess() {
                return wcsStackingService.manipulatorStackingResult(json);
            }
        });
    }

    @PostMapping("/getLastBox")
    @ApiOperation(value = "是否为最后一箱", notes = "是否为最后一箱", httpMethod = "POST")
    @ResponseBody
    @ApiLogger(apiName = "是否为最后一箱", from = "WCS")
    public AjaxResult getLastBox(@RequestBody String json) {
        if (StringUtils.isEmpty(json)) {
            return AjaxResult.error("请勿提交空数据!");
        }
        JSONObject object = JSONObject.parseObject(json);
        String barcode = object.getString("barcode");
        return wcsStackingService.getLastBoxServer(barcode);
    }

    /**
     * wcs获取库区状态
     */
    @PostMapping("/getAreaStatus")
    @ApiOperation(value = "获取库区状态", notes = "获取库区状态", httpMethod = "POST")
    @ResponseBody
    @ApiLogger(apiName = "获取库区状态", from = "WCS")
    public AjaxResult getAreaStatus(@RequestBody String json) {
        if (StringUtils.isEmpty(json)) {
            return AjaxResult.error("请勿提交空数据!");
      
        }
        JSONObject object = JSONObject.parseObject(json);
        String area = object.getString("area");
        return locationService.getAreaStatus(area);
    }
}