package com.huaheng.api.wcs.controller; import com.huaheng.api.wcs.service.releaseNotice.ReleaseNoticeService; import com.huaheng.common.constant.QuantityConstant; 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.domain.TaskHeader; 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(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"); TaskHeader taskHeader = taskHeaderService.getById(taskId); if (taskHeader == null) { return AjaxResult.error("任务号不存在"); } //是否已经解锁站台 if (1 == taskHeader.getReleased()) { return AjaxResult.success("已经解锁站台任务:" + taskId); } //分拣任务直接成功 if (taskHeader.getTaskType() == QuantityConstant.TASK_TYPE_VIEW) { return AjaxResult.success("分拣任务直接成功:" + taskId); } if (taskHeader.getStatus() >= 100) { return AjaxResult.error("任务已完成"); } AjaxResult ajaxResult = handleMultiProcess(new MultiProcessListener() { @Override public AjaxResult doProcess() { AjaxResult ajaxResult = releaseNoticeService.noticeAssign(taskId); return ajaxResult; } }); return ajaxResult; } }