TaskFinishController.java 2.46 KB
package com.huaheng.api.wcs.controller;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.huaheng.api.wcs.domain.TaskFinishDomain;
import com.huaheng.api.wcs.domain.WcsTask;
import com.huaheng.api.wcs.service.taskFinish.TaskFinishService;
import com.huaheng.common.constant.QuantityConstant;
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 com.huaheng.pc.task.taskHeader.domain.TaskHeader;
import com.huaheng.pc.task.taskHeader.service.TaskHeaderService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;
import java.lang.ref.WeakReference;

/**任务完成
 * wcs向wms传递数据
 * @author ricard
 * @date   2019/10/11
 *
 */

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

    @Resource
    private TaskFinishService taskFinishService;
    @Resource
    private TaskHeaderService taskHeaderService;

    @Log(title = "wcs任务完成", action = BusinessType.INSERT)
    @PostMapping("/complete")
    @ApiOperation("wcs任务完成")
    @ResponseBody
    public AjaxResult complete(@RequestBody TaskFinishDomain taskFinishDomain)
    {
        AjaxResult ajaxResult = taskFinishService.completeTaskByWCS(taskFinishDomain);
        return ajaxResult;
    }

    @Log(title = "wcs托盘回库", action = BusinessType.INSERT)
    @PostMapping("/back")
    @ApiOperation("wcs托盘回库")
    @ResponseBody
    public AjaxResult back(@RequestBody WcsTask wcsTask)
    {
        String containerCode = wcsTask.getContainerCode();
        LambdaQueryWrapper<TaskHeader> taskHeaderLambdaQueryWrapper = Wrappers.lambdaQuery();
        taskHeaderLambdaQueryWrapper.eq(TaskHeader::getContainerCode, containerCode);
        taskHeaderLambdaQueryWrapper.lt(TaskHeader::getStatus, QuantityConstant.TASK_STATUS_COMPLETED);
        TaskHeader taskHeader = taskHeaderService.getOne(taskHeaderLambdaQueryWrapper);
        int back = taskHeader.getBack();
        if(back == 1) {
            return AjaxResult.success("允许回库");
        }
        return AjaxResult.error("不允许回库");
    }

}