From d835d1b51f832889929cdf69010034a30ef44d02 Mon Sep 17 00:00:00 2001 From: Junjie <xjj@123> Date: 星期四, 17 十月 2024 13:57:29 +0800 Subject: [PATCH] # --- zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/OpenController.java | 106 +++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 99 insertions(+), 7 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 1fc8368..b39dad9 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 @@ -6,10 +6,7 @@ import com.zy.asrs.framework.common.R; import com.zy.asrs.framework.common.SnowflakeIdWorker; import com.zy.asrs.wcs.core.domain.dto.BasLiftStaDto; -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.domain.param.*; import com.zy.asrs.wcs.core.entity.*; import com.zy.asrs.wcs.core.model.enums.DeviceCtgType; import com.zy.asrs.wcs.core.model.enums.TaskCtgType; @@ -19,8 +16,10 @@ 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; import com.zy.asrs.wcs.rcs.thread.ShuttleThread; import com.zy.asrs.wcs.system.controller.BaseController; import com.zy.asrs.wcs.system.entity.Dict; @@ -58,6 +57,10 @@ private BasConveyorPathService basConveyorPathService; @Autowired private BasLiftService basLiftService; + @Autowired + private BasConveyorService basConveyorService; + @Autowired + private BasConveyorStaService basConveyorStaService; //鐢熸垚鍏ュ簱浠诲姟 @PostMapping("/createInTask") @@ -110,6 +113,40 @@ 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("妯″紡鍒囨崲澶辫触"); +// } +// } + //浼樺厛绾� Integer priority = 10; if (param.getPriority() != null) { @@ -127,6 +164,7 @@ task.setOriginLoc(null); task.setDestSite(destSite); task.setDestLoc(param.getDestLoc()); + task.setZpallet(param.getBarcode()); task.setIoTime(new Date()); task.setStartTime(new Date()); task.setStatus(1); @@ -210,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; @@ -321,9 +393,9 @@ if (shuttleProtocol == null) { return R.error("绌挎杞︿笉鍦ㄧ嚎"); } - if (Utils.getLev(shuttleProtocol.getCurrentLocNo()) != Utils.getLev(param.getDestLoc())) { - return R.error("绌挎杞﹀拰鐩爣浣嶇疆涓嶅湪鍚屼竴妤煎眰"); - } +// if (Utils.getLev(shuttleProtocol.getCurrentLocNo()) != Utils.getLev(param.getDestLoc())) { +// return R.error("绌挎杞﹀拰鐩爣浣嶇疆涓嶅湪鍚屼竴妤煎眰"); +// } Task one = taskService.getOne(new LambdaQueryWrapper<Task>() .eq(Task::getTaskCtg, taskCtg.getId()) @@ -364,4 +436,24 @@ return R.ok(); } + //鍒囨崲宸ヤ綔妯″紡 + @PostMapping("/switchWorkMode") + public R switchWorkMode(@RequestBody SwitchWorkModeParam param) { + BasConveyor basConveyor = basConveyorService.getOne(new LambdaQueryWrapper<BasConveyor>().eq(BasConveyor::getConveyorNo, param.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(param.getSiteId(), param.getWorkMode()); + if (!result) { + return R.error("妯″紡鍒囨崲澶辫触"); + } + return R.ok(); + } + } -- Gitblit v1.9.1