From a3bbba422f32910a88a1e2585b13972816a415a6 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期三, 27 三月 2024 14:50:34 +0800 Subject: [PATCH] Merge branch 'Four-Way-Rack' of http://47.97.1.152:5880/r/zy-asrs-master into Four-Way-Rack --- zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/SurayShuttleThread.java | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 53 insertions(+), 3 deletions(-) diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/SurayShuttleThread.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/SurayShuttleThread.java index 2780f6e..1091fc4 100644 --- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/SurayShuttleThread.java +++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/SurayShuttleThread.java @@ -2,9 +2,14 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.zy.asrs.common.utils.HttpHandler; import com.zy.asrs.framework.common.DateUtils; +import com.zy.asrs.framework.common.SpringUtils; import com.zy.asrs.framework.exception.CoolException; +import com.zy.asrs.wcs.core.entity.Loc; +import com.zy.asrs.wcs.core.model.command.ShuttleCommand; +import com.zy.asrs.wcs.core.service.LocService; import com.zy.asrs.wcs.rcs.News; import com.zy.asrs.wcs.rcs.cache.OutputQueue; import com.zy.asrs.wcs.rcs.model.enums.ShuttleProtocolStatusType; @@ -85,15 +90,15 @@ //灏忚溅蹇欑姸鎬佷綅 shuttleProtocol.setDeviceStatus(data.getInteger("deviceStatus")); //褰撳墠浜岀淮鐮� - shuttleProtocol.setCurrentCode(data.getString("deviceLocation")); + shuttleProtocol.setCurrentCode(data.getString("deviceLocation") == null ? "0" : data.getString("deviceLocation")); //鐢垫睜鐢甸噺 - shuttleProtocol.setBatteryPower(data.getString("battery")); + shuttleProtocol.setBatteryPower(data.getString("battery") == null ? "0%" : data.getString("battery")); //鏄惁椤跺崌 shuttleProtocol.setHasLift(data.getInteger("palletStatus") == 1 ? true : false); //琛岄┒鏂瑰悜 - shuttleProtocol.setRunDirection(data.getString("direction")); + shuttleProtocol.setRunDirection(data.getString("direction") == null ? "none" : data.getString("direction")); ///璇诲彇鍥涘悜绌挎杞︾姸鎬�-end @@ -147,6 +152,51 @@ return this.shuttleProtocol; } + @Override + public Device getDevice() { + return this.device; + } + + @Override + public synchronized boolean movePath() { + return false; + } + + @Override + public synchronized boolean move() { + return false; + } + + @Override + public synchronized boolean lift() { + return false; + } + + @Override + public ShuttleCommand getMoveCommand(Integer taskNo, String startCodeNum, String distCodeNum, Integer allDistance, Integer runDirection, Integer runSpeed) { + HashMap<String, Object> body = new HashMap<>(); + body.put("messageName", "runOrder"); + body.put("msgTime", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); + body.put("deviceNo", Integer.parseInt(this.device.getDeviceNo())); + body.put("taskId", taskNo); + + LocService locService = SpringUtils.getBean(LocService.class); + Loc loc = locService.getOne(new LambdaQueryWrapper<Loc>() + .eq(Loc::getCode, distCodeNum) + .eq(Loc::getHostId, this.device.getHostId())); + if (loc == null) { + throw new CoolException("搴撲綅淇℃伅涓嶅瓨鍦�"); + } + body.put("nodeX", loc.getRow()); + body.put("nodeY", loc.getBay()); + body.put("nodeZ", loc.getLev()); + + ShuttleCommand command = new ShuttleCommand(); + command.setShuttleNo(Integer.parseInt(this.device.getDeviceNo())); + command.setBody(JSON.toJSONString(body)); + return command; + } + //***************璁惧灞傞�氳-涓嶅悓鍘傚晢璁惧閫氳鏂规涓嶄竴鑷�*************** -- Gitblit v1.9.1