TaskCancelController.java 3.3 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.TaskCancelDomain;
import com.huaheng.api.wcs.domain.TaskFinishDomain;
import com.huaheng.api.wcs.service.taskCancel.TaskCancelService;
import com.huaheng.api.wcs.service.taskFinish.TaskFinishService;
import com.huaheng.common.constant.QuantityConstant;
import com.huaheng.common.support.Convert;
import com.huaheng.common.utils.StringUtils;
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.framework.web.service.ConfigService;
import com.huaheng.pc.config.container.domain.Container;
import com.huaheng.pc.config.container.service.ContainerService;
import com.huaheng.pc.config.containerType.domain.ContainerType;
import com.huaheng.pc.config.containerType.service.ContainerTypeService;
import com.huaheng.pc.task.taskHeader.domain.TaskHeader;
import com.huaheng.pc.task.taskHeader.service.TaskHeaderService;
import com.huaheng.pc.task.taskHeader.service.WorkTaskService;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Value;
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 TaskCancelController extends BaseController {
    @Resource
    private TaskHeaderService taskHeaderService;
    @Resource
    private TaskCancelService taskCancelService;
    @Resource
    private ConfigService configService;
    @Resource
    private ContainerService containerService;
    @Resource
    private ContainerTypeService containerTypeService;

    @Log(title = "wcs任务q取消", action = BusinessType.INSERT)
    @PostMapping("/cancelTask")
    @ApiOperation("wcs任务取消")
    @ResponseBody
        public AjaxResult cancelTask(@RequestBody TaskCancelDomain taskCancelDomain)    {
        String id= taskHeaderService.getId(taskCancelDomain.getTaskNo());
        TaskHeader taskHeader = taskHeaderService.getById(id);
        String containerCode = taskHeader.getContainerCode();
        if (StringUtils.isEmpty(containerCode)) {
            return AjaxResult.error("空托盘");
        }
        Container container = containerService.getContainerByCode(
                containerCode, taskHeader.getWarehouseCode());
        LambdaQueryWrapper<ContainerType> containerTypeLambdaQueryWrapper = Wrappers.lambdaQuery();
        containerTypeLambdaQueryWrapper.eq(ContainerType::getCode, container.getContainerType());
        ContainerType containerType = containerTypeService.getContainerTypeByCode(
                container.getContainerType(), container.getWarehouseCode());
        AjaxResult ajaxResult = taskCancelService.cancelTask(String.valueOf(id),
                taskHeader.getWarehouseCode(), containerType.getArea(),"api");
        if (ajaxResult.hasErr()) {
            return ajaxResult;
        }else{
            return AjaxResult.success(taskHeaderService.cancelTask(Convert.toIntArray(id),"api"));
        }
    }

}