WarecellAllocation.java 3.08 KB
package com.huaheng.api.wcs.controller;

import com.huaheng.api.wcs.domain.WcsTask;
import com.huaheng.api.wcs.service.emptyOutHandle.EmptyOutHandleService;
import com.huaheng.api.wcs.service.warecellAllocation.WarecellAllocationService;
import com.huaheng.framework.aspectj.lang.annotation.ApiLogger;
import com.huaheng.framework.aspectj.lang.annotation.Log;
import com.huaheng.framework.aspectj.lang.constant.BusinessType;
import com.huaheng.framework.web.controller.BaseController;
import com.huaheng.framework.web.domain.AjaxResult;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;

/**仓位分配 接口
 * wcs向wms传递数据
 * @author ricard
 * @date   2019/10/11
 *
 */

@RestController
@RequestMapping("/API/WMS/v2")
public class WarecellAllocation extends BaseController {

    @Resource
    private WarecellAllocationService warecellAllocationService;

    @Log(title = "wcs仓位分配", action = BusinessType.INSERT)
    @PostMapping("/WarecellAllocation")
    @ApiOperation(value="wcs仓位分配", notes="wcs仓位分配", httpMethod = "POST")
    @ResponseBody
    @ApiLogger(apiName = "仓位分配", from="WCS")
    /*
        WCS给的长,宽,高,重在有不同规格库位才有用,destination是区域, locationType库位类型
     */
    public AjaxResult WarecellAllocation(String taskNo, String length, String width, String height, String weight, String destination, String locationType, String warehouseCode) {
        WcsTask wcsTask = new WcsTask();
        wcsTask.setTaskNo(taskNo);
        wcsTask.setLength(length);
        wcsTask.setWidth(width);
        wcsTask.setHeight(height);
        wcsTask.setWeight(weight);
        wcsTask.setWarehouseCode(warehouseCode);
        wcsTask.setDestination(destination);
        wcsTask.setLocationType(locationType);
        AjaxResult ajaxResult = handleMultiProcess(new MultiProcessListener() {
            @Override
            public AjaxResult doProcess() {
                AjaxResult ajaxResult = warecellAllocationService.warecellAllocation(wcsTask);
                return ajaxResult;
            }
        });
        return ajaxResult;
    }


    @Log(title = "wcs去向分配", action = BusinessType.INSERT)
    @PostMapping("/DestinationAllocation")
    @ApiOperation(value="wcs去向分配", notes="wcs去向分配", httpMethod = "POST")
    @ResponseBody
    @ApiLogger(apiName = "去向分配", from="WCS")
    public AjaxResult DestinationAllocation(String taskNo, String length, String width, String height, String weight) {
        WcsTask wcsTask = new WcsTask();
        wcsTask.setTaskNo(taskNo);
        wcsTask.setLength(length);
        wcsTask.setWidth(width);
        wcsTask.setHeight(height);
        wcsTask.setWeight(weight);
        AjaxResult ajaxResult = handleMultiProcess(new MultiProcessListener() {
            @Override
            public AjaxResult doProcess() {
                return warecellAllocationService.destinationAllocation(wcsTask);
            }
        });
        return ajaxResult;
    }


}