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

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;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;
import java.util.Map;

/**
 * 铜箔仓 二楼出库时不能有入库任务堵
 * 放行通知
 * 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("releasedNotice", 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("解锁站台:任务号空值");
        }
        AjaxResult ajaxResult = handleMultiProcess("noticeAssign", 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);
    }
}