From d56b8093dc9e3e75f8efe1a0f1aa6d821c9c3dfb Mon Sep 17 00:00:00 2001 From: Junjie <xjj@123> Date: 星期二, 15 四月 2025 13:30:35 +0800 Subject: [PATCH] # --- zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/OpenController.java | 231 ++++----------------------------------------------------- 1 files changed, 17 insertions(+), 214 deletions(-) diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/OpenController.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/OpenController.java index 6634dc1..455181d 100644 --- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/OpenController.java +++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/OpenController.java @@ -1,36 +1,14 @@ package com.zy.asrs.wcs.core.controller; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.zy.asrs.framework.common.R; -import com.zy.asrs.framework.common.SnowflakeIdWorker; -import com.zy.asrs.wcs.core.domain.param.CreateInTaskParam; -import com.zy.asrs.wcs.core.domain.param.CreateManualTakeTaskParam; -import com.zy.asrs.wcs.core.domain.param.CreateMoveTaskParam; -import com.zy.asrs.wcs.core.domain.param.CreateOutTaskParam; -import com.zy.asrs.wcs.core.entity.Loc; -import com.zy.asrs.wcs.core.entity.Task; -import com.zy.asrs.wcs.core.entity.TaskCtg; -import com.zy.asrs.wcs.core.model.enums.DeviceCtgType; -import com.zy.asrs.wcs.core.model.enums.TaskCtgType; -import com.zy.asrs.wcs.core.model.enums.TaskStsType; -import com.zy.asrs.wcs.core.service.LocService; -import com.zy.asrs.wcs.core.service.TaskCtgService; -import com.zy.asrs.wcs.core.service.TaskService; -import com.zy.asrs.wcs.core.utils.Utils; -import com.zy.asrs.wcs.rcs.cache.SlaveConnection; -import com.zy.asrs.wcs.rcs.entity.Device; -import com.zy.asrs.wcs.rcs.model.enums.SlaveType; -import com.zy.asrs.wcs.rcs.model.protocol.ShuttleProtocol; -import com.zy.asrs.wcs.rcs.service.DeviceService; -import com.zy.asrs.wcs.rcs.thread.ShuttleThread; +import com.zy.asrs.wcs.core.domain.param.*; +import com.zy.asrs.wcs.core.utils.OpenUtils; import com.zy.asrs.wcs.system.controller.BaseController; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; - -import java.util.Date; /** * 瀵瑰鏆撮湶鎺ュ彛 @@ -41,217 +19,42 @@ public class OpenController extends BaseController { @Autowired - private SnowflakeIdWorker snowflakeIdWorker; - @Autowired - private TaskCtgService taskCtgService; - @Autowired - private TaskService taskService; - @Autowired - private DeviceService deviceService; - @Autowired - private LocService locService; + private OpenUtils openUtils; //鐢熸垚鍏ュ簱浠诲姟 @PostMapping("/createInTask") public R createInTask(@RequestBody CreateInTaskParam param) { - //鑾峰彇鍏ュ簱浠诲姟绫诲瀷 - TaskCtg taskCtg = taskCtgService.getOne(new LambdaQueryWrapper<TaskCtg>() - .eq(TaskCtg::getFlag, String.valueOf(TaskCtgType.IN)) - .eq(TaskCtg::getStatus, 1)); - if (taskCtg == null) { - return R.error("浠诲姟绫诲瀷寮傚父"); - } - - Loc loc = locService.selectByLocNo(param.getDestLoc()); - if (loc == null) { - return R.error("搴撲綅鍙蜂笉瀛樺湪"); - } - - if (!loc.getLocStsFlag().equals("O")) { - return R.error("搴撲綅鐘舵�佷笉婊¤冻鍏ュ簱鏉′欢"); - } - - //浼樺厛绾� - Integer priority = 10; - if (param.getPriority() != null) { - priority = param.getPriority(); - } - - Task task = new Task(); - task.setUuid(String.valueOf(snowflakeIdWorker.nextId())); - task.setTaskNo(String.valueOf(Utils.getTaskNo("IN"))); - task.setTaskSts(TaskStsType.NEW_INBOUND.sts); - task.setTaskCtg(taskCtg.getId()); - task.setPriority(priority); - task.setOriginSite(param.getOriginSite()); - task.setOriginLoc(null); - task.setDestSite(param.getDestSite()); - task.setDestLoc(param.getDestLoc()); - task.setIoTime(new Date()); - task.setStartTime(new Date()); - task.setStatus(1); - task.setMemo(""); - task.setShuttleNo(null);//绛夊緟涓荤嚎绋嬪垎閰嶅皬杞� - task.setRecordLoc("Y");//璁板綍搴撳瓨淇℃伅 - task.setHostId(1L);//涓存椂鎺у埗鍙厑璁竓ost涓�1 - - boolean result = taskService.save(task); - if (!result) { - return R.error("鐢熸垚鍏ュ簱浠诲姟澶辫触锛�"); - } - return R.ok(); + return openUtils.createInTask(param); } //鐢熸垚鍑哄簱浠诲姟 @PostMapping("/createOutTask") public R createOutTask(@RequestBody CreateOutTaskParam param) { - //鑾峰彇鍑哄簱浠诲姟绫诲瀷 - TaskCtg taskCtg = taskCtgService.getOne(new LambdaQueryWrapper<TaskCtg>() - .eq(TaskCtg::getFlag, String.valueOf(TaskCtgType.OUT)) - .eq(TaskCtg::getStatus, 1)); - if (taskCtg == null) { - return R.error("浠诲姟绫诲瀷寮傚父"); - } - - Loc loc = locService.selectByLocNo(param.getOriginLoc()); - if (loc == null) { - return R.error("搴撲綅鍙蜂笉瀛樺湪"); - } - - if (!loc.getLocStsFlag().equals("F")) { - return R.error("搴撲綅鐘舵�佷笉婊¤冻鍑哄簱鏉′欢"); - } - - //浼樺厛绾� - Integer priority = 10; - if (param.getPriority() != null) { - priority = param.getPriority(); - } - - Task task = new Task(); - task.setUuid(String.valueOf(snowflakeIdWorker.nextId())); - task.setTaskNo(String.valueOf(Utils.getTaskNo("OUT"))); - task.setTaskSts(TaskStsType.NEW_OUTBOUND.sts); - task.setTaskCtg(taskCtg.getId()); - task.setPriority(priority); - task.setOriginSite(param.getOriginSite()); - task.setOriginLoc(param.getOriginLoc()); - task.setDestSite(param.getDestSite()); - task.setDestLoc(null); - task.setIoTime(new Date()); - task.setStartTime(new Date()); - task.setStatus(1); - task.setMemo(""); - task.setShuttleNo(null);//绛夊緟涓荤嚎绋嬪垎閰嶅皬杞� - task.setRecordLoc("Y");//璁板綍搴撳瓨淇℃伅 - task.setHostId(1L);//涓存椂鎺у埗鍙厑璁竓ost涓�1 - - boolean result = taskService.save(task); - if (!result) { - return R.error("鐢熸垚鍑哄簱浠诲姟澶辫触锛�"); - } - return R.ok(); + return openUtils.createOutTask(param); } //鐢熸垚鎵嬪姩鍙栨斁璐т换鍔� @PostMapping("/createManualTakeTask") public R createManualTakeTask(@RequestBody CreateManualTakeTaskParam param) { - //鑾峰彇鎵嬪姩浠诲姟绫诲瀷 - TaskCtg taskCtg = taskCtgService.getOne(new LambdaQueryWrapper<TaskCtg>() - .eq(TaskCtg::getFlag, String.valueOf(TaskCtgType.MANUAL)) - .eq(TaskCtg::getStatus, 1)); - if (taskCtg == null) { - return R.error("浠诲姟绫诲瀷寮傚父"); - } + return openUtils.createManualTakeTask(param); + } - //浼樺厛绾� - Integer priority = 10; - if (param.getPriority() != null) { - priority = param.getPriority(); - } - - Task task = new Task(); - task.setUuid(String.valueOf(snowflakeIdWorker.nextId())); - task.setTaskNo(String.valueOf(Utils.getTaskNo("OUT"))); - task.setTaskSts(TaskStsType.NEW_MANUAL.sts); - task.setTaskCtg(taskCtg.getId()); - task.setPriority(priority); - task.setOriginSite(null); - task.setOriginLoc(param.getOriginLoc());//婧愬簱浣� - task.setDestSite(null); - task.setDestLoc(param.getDestLoc());//鐩爣搴撲綅 - task.setIoTime(new Date()); - task.setStartTime(new Date()); - task.setStatus(1); - task.setMemo(""); - task.setShuttleNo(null);//绛夊緟涓荤嚎绋嬪垎閰嶅皬杞� - task.setRecordLoc(param.getRecord() ? "Y" : "N");//璁板綍搴撳瓨淇℃伅 - task.setHostId(1L);//涓存椂鎺у埗鍙厑璁竓ost涓�1 - - boolean result = taskService.save(task); - if (!result) { - return R.error("鐢熸垚鎵嬪姩鍙栨斁璐т换鍔″け璐ワ紒"); - } - return R.ok(); + //鐢熸垚杞借揣绉诲姩浠诲姟 + @PostMapping("/createLadenMoveTakeTask") + public R createLadenMoveTakeTask(@RequestBody CreateManualTakeTaskParam param) { + return openUtils.createLadenMoveTakeTask(param); } //鐢熸垚灏忚溅绉诲姩浠诲姟 @PostMapping("/createMoveTask") public R createMoveTask(@RequestBody CreateMoveTaskParam param) { - //鑾峰彇鍑哄簱浠诲姟绫诲瀷 - TaskCtg taskCtg = taskCtgService.getOne(new LambdaQueryWrapper<TaskCtg>() - .eq(TaskCtg::getFlag, String.valueOf(TaskCtgType.MOVE)) - .eq(TaskCtg::getStatus, 1)); - if (taskCtg == null) { - return R.error("浠诲姟绫诲瀷寮傚父"); - } + return openUtils.createMoveTask(param); + } - Device device = deviceService.getOne(new LambdaQueryWrapper<Device>() - .eq(Device::getDeviceType, DeviceCtgType.SHUTTLE.val()) - .eq(Device::getDeviceNo, param.getShuttleNo()) - .eq(Device::getHostId, 1) - .eq(Device::getStatus, 1)); - if (device == null) { - return R.error("绌挎杞︿笉瀛樺湪"); - } - ShuttleThread shuttleThread = (ShuttleThread) SlaveConnection.get(SlaveType.Shuttle, device.getId().intValue()); - if (shuttleThread == null) { - return R.error("绌挎杞︿笉鍦ㄧ嚎"); - } - ShuttleProtocol shuttleProtocol = shuttleThread.getStatus(); - if (Utils.getLev(shuttleProtocol.getCurrentLocNo()) != Utils.getLev(param.getDestSite())) { - return R.error("绌挎杞﹀拰鐩爣浣嶇疆涓嶅湪鍚屼竴妤煎眰"); - } - - //浼樺厛绾� - Integer priority = 10; - if (param.getPriority() != null) { - priority = param.getPriority(); - } - - Task task = new Task(); - task.setUuid(String.valueOf(snowflakeIdWorker.nextId())); - task.setTaskNo(String.valueOf(Utils.getTaskNo("OUT"))); - task.setTaskSts(TaskStsType.NEW_MOVE.sts); - task.setTaskCtg(taskCtg.getId()); - task.setPriority(priority); - task.setOriginSite(null); - task.setOriginLoc(null); - task.setDestSite(param.getDestSite()); - task.setDestLoc(null); - task.setIoTime(new Date()); - task.setStartTime(new Date()); - task.setStatus(1); - task.setMemo(""); - task.setShuttleNo(param.getShuttleNo()); - task.setRecordLoc("N");//涓嶈褰曞簱瀛樹俊鎭� - task.setHostId(1L);//涓存椂鎺у埗鍙厑璁竓ost涓�1 - - boolean result = taskService.save(task); - if (!result) { - return R.error("鐢熸垚灏忚溅绉诲姩浠诲姟澶辫触锛�"); - } - return R.ok(); + //鍒囨崲宸ヤ綔妯″紡 + @PostMapping("/switchWorkMode") + public R switchWorkMode(@RequestBody SwitchWorkModeParam param) { + return openUtils.switchWorkMode(param); } } -- Gitblit v1.9.1