ReleaseNoticeController.java 3.21 KB
package com.huaheng.api.wcs.controller;

import java.util.Map;

import javax.annotation.Resource;

import org.springframework.web.bind.annotation.*;

import com.huaheng.api.wcs.service.releaseNotice.ReleaseNoticeService;
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.task.taskHeader.service.TaskHeaderService;

import io.swagger.annotations.ApiOperation;

/**
 * 铜箔仓 二楼出库时不能有入库任务堵
 * 放行通知
 * 2023年3月14日 :所有入库口都都通用。
 */

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

    @Resource
    private ReleaseNoticeService releaseNoticeService;
    @Resource
    private TaskHeaderService taskHeaderService;

    @PostMapping("/releasedNotice")
    @ApiOperation("放行通知")
    @ApiLogger(apiName = "放行通知", from = "WCS")
    @ResponseBody
    public AjaxResult releasedNotice(@RequestBody Map<String, String> map) {

        String area = map.get("area");
        String port = map.get("port");
        String barcode = map.get("barcode");
        AjaxResult ajaxResult = handleMultiProcess(new MultiProcessListener() {
            @Override
            public AjaxResult doProcess() {
                AjaxResult ajaxResult = releaseNoticeService.releasedNotice(area, port, barcode);
                return ajaxResult;
            }
        });
        return ajaxResult;
    }

    /**
     * 解锁站台 通知下发 assignTask
     * @param  map
     * @return
     */
    @PostMapping("/noticeAssign")
    @ApiOperation("解锁站台")
    @ApiLogger(apiName = "解锁站台", from = "WCS")
    @ResponseBody
    public AjaxResult noticeAssign(@RequestBody Map<String, String> map) {
        String taskId = map.get("TaskNo");
        if (StringUtils.isEmpty(taskId)) {
            return AjaxResult.error("解锁站台:任务号空值");
        }
//        TaskHeader taskHeader = taskHeaderService.getById(taskId);
//        if (taskHeader == null) {
//            return AjaxResult.error("任务号不存在");
//        }
//
//        // 分拣任务直接成功
//        if (taskHeader.getTaskType().intValue() == QuantityConstant.TASK_TYPE_VIEW) {
//            return AjaxResult.success("分拣任务直接成功:" + taskId);
//        }
//        if (taskHeader.getStatus().intValue() >= 100) {
//            return AjaxResult.error("任务已完成");
//        }
        AjaxResult ajaxResult = handleMultiProcess(new MultiProcessListener() {
            @Override
            public AjaxResult doProcess() {
                AjaxResult ajaxResult = releaseNoticeService.noticeAssign(taskId);
                return ajaxResult;
            }
        });
        return ajaxResult;
    }

    /**
     * 解锁站台 通知下发 assignTask
     * @param  map
     * @return
     */
    @PostMapping("/noticeAssignD")
    @ApiOperation("解锁站台")
    @ApiLogger(apiName = "解锁站台", from = "WCS")
    @ResponseBody
    public AjaxResult noticeAssignD(@RequestBody Map<String, String> map) {
        return noticeAssign(map);
    }
}