From 1e9099671ba9f4f7a3a4481a67261fbdd62482bc Mon Sep 17 00:00:00 2001 From: zjj <3272660260@qq.com> Date: 星期六, 22 六月 2024 14:18:08 +0800 Subject: [PATCH] # --- zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/OpenController.java | 71 +++++++++++++++++++++++++++++++++++ 1 files changed, 71 insertions(+), 0 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 892c241..0dfc21b 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 @@ -16,6 +16,7 @@ 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.enums.WorkModeType; import com.zy.asrs.wcs.rcs.model.protocol.ShuttleProtocol; import com.zy.asrs.wcs.rcs.service.DeviceService; import com.zy.asrs.wcs.rcs.thread.DevpThread; @@ -58,6 +59,8 @@ private BasLiftService basLiftService; @Autowired private BasConveyorService basConveyorService; + @Autowired + private BasConveyorStaService basConveyorStaService; //鐢熸垚鍏ュ簱浠诲姟 @PostMapping("/createInTask") @@ -108,6 +111,40 @@ return R.error("鍐呯疆璺緞涓嶅瓨鍦�"); } destSite = String.valueOf(path.getDeviceStn()); + } + + //鍒ゆ柇鍑哄叆搴撴ā寮� + BasConveyorSta basConveyorSta = basConveyorStaService.getOne(new LambdaQueryWrapper<BasConveyorSta>() + .eq(BasConveyorSta::getSiteNo, destSite)); + if (!basConveyorSta.getWorkMode().equals((int) WorkModeType.PAKIN_MODE.id)) { + //涓嶆槸鍏ュ簱妯″紡锛屾娴嬫槸鍚﹀彲鍒囨崲鍏ュ簱 + //鑾峰彇鍑哄簱浠诲姟绫诲瀷 + TaskCtg taskInCtg = taskCtgService.getOne(new LambdaQueryWrapper<TaskCtg>() + .eq(TaskCtg::getFlag, String.valueOf(TaskCtgType.OUT)) + .eq(TaskCtg::getStatus, 1)); + if (taskInCtg == null) { + return R.error("浠诲姟绫诲瀷寮傚父"); + } + List<Task> tasks = taskService.list(new LambdaQueryWrapper<Task>() + .eq(Task::getTaskCtg, taskInCtg.getId())); + if (!tasks.isEmpty()) { + return R.error("褰撳墠瀛樺湪鍑哄簱浠诲姟锛屾棤娉曞垏鎹㈠叆搴撴ā寮�"); + } + + BasConveyor basConveyor = basConveyorService.getOne(new LambdaQueryWrapper<BasConveyor>().eq(BasConveyor::getConveyorNo, basConveyorSta.getConveyorNo())); + if(basConveyor == null) { + return R.error("杈撻�佺嚎涓嶅瓨鍦�"); + } + + DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Conveyor, basConveyor.getDeviceId().intValue()); + if(devpThread == null) { + return R.error("杈撻�佺嚎绾跨▼涓嶅瓨鍦�"); + } + + boolean result = devpThread.switchWorkMode(Integer.parseInt(destSite), WorkModeType.PAKIN_MODE.id); + if (!result) { + return R.error("妯″紡鍒囨崲澶辫触"); + } } //浼樺厛绾� @@ -211,6 +248,40 @@ originSite = String.valueOf(originStaDto.getStaNo()); } + //鍒ゆ柇鍑哄叆搴撴ā寮� + BasConveyorSta basConveyorSta = basConveyorStaService.getOne(new LambdaQueryWrapper<BasConveyorSta>() + .eq(BasConveyorSta::getSiteNo, originSite)); + if (!basConveyorSta.getWorkMode().equals((int) WorkModeType.PAKOUT_MODE.id)) { + //涓嶆槸鍑哄簱妯″紡锛屾娴嬫槸鍚﹀彲鍒囨崲鍑哄簱 + //鑾峰彇鍏ュ簱浠诲姟绫诲瀷 + TaskCtg taskInCtg = taskCtgService.getOne(new LambdaQueryWrapper<TaskCtg>() + .eq(TaskCtg::getFlag, String.valueOf(TaskCtgType.IN)) + .eq(TaskCtg::getStatus, 1)); + if (taskInCtg == null) { + return R.error("浠诲姟绫诲瀷寮傚父"); + } + List<Task> tasks = taskService.list(new LambdaQueryWrapper<Task>() + .eq(Task::getTaskCtg, taskInCtg.getId())); + if (!tasks.isEmpty()) { + return R.error("褰撳墠瀛樺湪鍏ュ簱浠诲姟锛屾棤娉曞垏鎹㈠嚭搴撴ā寮�"); + } + + BasConveyor basConveyor = basConveyorService.getOne(new LambdaQueryWrapper<BasConveyor>().eq(BasConveyor::getConveyorNo, basConveyorSta.getConveyorNo())); + if(basConveyor == null) { + return R.error("杈撻�佺嚎涓嶅瓨鍦�"); + } + + DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Conveyor, basConveyor.getDeviceId().intValue()); + if(devpThread == null) { + return R.error("杈撻�佺嚎绾跨▼涓嶅瓨鍦�"); + } + + boolean result = devpThread.switchWorkMode(Integer.parseInt(originSite), WorkModeType.PAKOUT_MODE.id); + if (!result) { + return R.error("妯″紡鍒囨崲澶辫触"); + } + } + //浼樺厛绾� Integer priority = 10; if (param.getPriority() != null) { -- Gitblit v1.9.1