From 2a7b97eddbe3d24a47389a58dde46fe6175b6971 Mon Sep 17 00:00:00 2001 From: Junjie <fallin.jie@qq.com> Date: 星期日, 16 六月 2024 10:22:12 +0800 Subject: [PATCH] # --- zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/OpenController.java | 66 +++++++++++++++++++++++++++++++-- 1 files changed, 62 insertions(+), 4 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 0c40453..706f0a6 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 @@ -24,6 +24,8 @@ import com.zy.asrs.wcs.rcs.service.DeviceService; import com.zy.asrs.wcs.rcs.thread.ShuttleThread; import com.zy.asrs.wcs.system.controller.BaseController; +import com.zy.asrs.wcs.system.entity.Dict; +import com.zy.asrs.wcs.system.service.DictService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -50,6 +52,8 @@ private DeviceService deviceService; @Autowired private LocService locService; + @Autowired + private DictService dictService; //鐢熸垚鍏ュ簱浠诲姟 @PostMapping("/createInTask") @@ -67,8 +71,24 @@ return R.error("搴撲綅鍙蜂笉瀛樺湪"); } - if (!loc.getLocStsFlag().equals("O")) { + //鑾峰彇涓ユ牸妯″紡鍙傛暟 + boolean mapStrict = true;//榛樿涓ユ牸妯″紡 + Dict dict = dictService.getOne(new LambdaQueryWrapper<Dict>().eq(Dict::getFlag, "shuttleMapStrict")); + if (dict != null) { + mapStrict = Boolean.parseBoolean(dict.getValue()); + } + + if (mapStrict && !loc.getLocStsFlag().equals("O")) { return R.error("搴撲綅鐘舵�佷笉婊¤冻鍏ュ簱鏉′欢"); + } + + Task one = taskService.getOne(new LambdaQueryWrapper<Task>() + .eq(Task::getTaskCtg, taskCtg.getId()) + .eq(Task::getOriginSite, param.getOriginSite()) + .eq(Task::getDestSite, param.getDestSite()) + .eq(Task::getDestLoc, param.getDestLoc())); + if (one != null) { + return R.error("浠诲姟宸插瓨鍦�"); } //浼樺厛绾� @@ -80,6 +100,7 @@ Task task = new Task(); task.setUuid(String.valueOf(snowflakeIdWorker.nextId())); task.setTaskNo(String.valueOf(Utils.getTaskNo("IN"))); + task.setWmsTaskNo(param.getTaskNo()); task.setTaskSts(TaskStsType.NEW_INBOUND.sts); task.setTaskCtg(taskCtg.getId()); task.setPriority(priority); @@ -118,8 +139,24 @@ return R.error("搴撲綅鍙蜂笉瀛樺湪"); } - if (!loc.getLocStsFlag().equals("F")) { + //鑾峰彇涓ユ牸妯″紡鍙傛暟 + boolean mapStrict = true;//榛樿涓ユ牸妯″紡 + Dict dict = dictService.getOne(new LambdaQueryWrapper<Dict>().eq(Dict::getFlag, "shuttleMapStrict")); + if (dict != null) { + mapStrict = Boolean.parseBoolean(dict.getValue()); + } + + if (mapStrict && !loc.getLocStsFlag().equals("F")) { return R.error("搴撲綅鐘舵�佷笉婊¤冻鍑哄簱鏉′欢"); + } + + Task one = taskService.getOne(new LambdaQueryWrapper<Task>() + .eq(Task::getTaskCtg, taskCtg.getId()) + .eq(Task::getOriginSite, param.getOriginSite()) + .eq(Task::getOriginLoc, param.getOriginLoc()) + .eq(Task::getDestSite, param.getDestSite())); + if (one != null) { + return R.error("浠诲姟宸插瓨鍦�"); } //浼樺厛绾� @@ -131,6 +168,7 @@ Task task = new Task(); task.setUuid(String.valueOf(snowflakeIdWorker.nextId())); task.setTaskNo(String.valueOf(Utils.getTaskNo("OUT"))); + task.setWmsTaskNo(param.getTaskNo()); task.setTaskSts(TaskStsType.NEW_OUTBOUND.sts); task.setTaskCtg(taskCtg.getId()); task.setPriority(priority); @@ -164,6 +202,14 @@ return R.error("浠诲姟绫诲瀷寮傚父"); } + Task one = taskService.getOne(new LambdaQueryWrapper<Task>() + .eq(Task::getTaskCtg, taskCtg.getId()) + .eq(Task::getOriginLoc, param.getOriginLoc()) + .eq(Task::getDestLoc, param.getDestLoc())); + if (one != null) { + return R.error("浠诲姟宸插瓨鍦�"); + } + //浼樺厛绾� Integer priority = 10; if (param.getPriority() != null) { @@ -173,6 +219,7 @@ Task task = new Task(); task.setUuid(String.valueOf(snowflakeIdWorker.nextId())); task.setTaskNo(String.valueOf(Utils.getTaskNo("OUT"))); + task.setWmsTaskNo(param.getTaskNo()); task.setTaskSts(TaskStsType.NEW_MANUAL.sts); task.setTaskCtg(taskCtg.getId()); task.setPriority(priority); @@ -219,8 +266,18 @@ return R.error("绌挎杞︿笉鍦ㄧ嚎"); } ShuttleProtocol shuttleProtocol = shuttleThread.getStatus(); + if (shuttleProtocol == null) { + 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()) + .eq(Task::getDestLoc, param.getDestLoc())); + if (one != null) { + return R.error("浠诲姟宸插瓨鍦�"); } //浼樺厛绾� @@ -232,13 +289,14 @@ Task task = new Task(); task.setUuid(String.valueOf(snowflakeIdWorker.nextId())); task.setTaskNo(String.valueOf(Utils.getTaskNo("OUT"))); + task.setWmsTaskNo(param.getTaskNo()); task.setTaskSts(TaskStsType.NEW_MOVE.sts); task.setTaskCtg(taskCtg.getId()); task.setPriority(priority); task.setOriginSite(null); task.setOriginLoc(null); - task.setDestSite(param.getDestLoc()); - task.setDestLoc(null); + task.setDestSite(null); + task.setDestLoc(param.getDestLoc()); task.setIoTime(new Date()); task.setStartTime(new Date()); task.setStatus(1); -- Gitblit v1.9.1