From e4bc771479c2ec776099a42e4c2177f3c95e1f5f Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期二, 18 六月 2024 16:58:07 +0800
Subject: [PATCH] #

---
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/SurayLiftThread.java |   44 +++++++++++++++++++++++++++++++++++++-------
 1 files changed, 37 insertions(+), 7 deletions(-)

diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/SurayLiftThread.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/SurayLiftThread.java
index ee1b8ba..9350666 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/SurayLiftThread.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/SurayLiftThread.java
@@ -2,13 +2,17 @@
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
+import com.alibaba.fastjson.serializer.SerializerFeature;
+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.common.ExecuteSupport;
+import com.zy.asrs.wcs.core.entity.BasLift;
 import com.zy.asrs.wcs.core.model.command.LiftCommand;
 import com.zy.asrs.wcs.core.model.enums.LiftCommandModeType;
+import com.zy.asrs.wcs.core.service.BasLiftService;
 import com.zy.asrs.wcs.rcs.News;
 import com.zy.asrs.wcs.rcs.cache.OutputQueue;
 import com.zy.asrs.wcs.rcs.entity.DeviceDataLog;
@@ -102,7 +106,7 @@
 
 
                 //************琛ュ厖鎵╁睍瀛楁*************
-                InnerLiftExtend liftExtend = JSON.parseObject(JSON.toJSONString(liftProtocol.getExtend()), InnerLiftExtend.class);
+                InnerLiftExtend liftExtend = (InnerLiftExtend) liftProtocol.getExtend();
                 liftExtend.setLock(data.getInteger("lockStatus") == 1 ? true : false);
                 liftProtocol.setExtend(liftExtend);
 
@@ -147,6 +151,31 @@
 
                     //鏇存柊閲囬泦鏃堕棿
                     liftProtocol.setDeviceDataLog(System.currentTimeMillis());
+                }
+
+                //灏嗘彁鍗囨満鐘舵�佷繚瀛樿嚦鏁版嵁搴�
+                BasLiftService basLiftService = SpringUtils.getBean(BasLiftService.class);
+                BasLift basLift = basLiftService.getOne(new LambdaQueryWrapper<BasLift>()
+                        .eq(BasLift::getLiftNo, device.getDeviceNo())
+                        .eq(BasLift::getHostId, device.getHostId()));
+                if (basLift == null) {
+                    basLift = new BasLift();
+                    //鎻愬崌鏈哄彿
+                    basLift.setLiftNo(Integer.valueOf(device.getDeviceNo()));
+                    basLift.setStatus(1);
+                    basLift.setDeleted(0);
+                    basLift.setHostId(device.getHostId());
+                    basLift.setDeviceId(device.getId());
+                    basLiftService.save(basLift);
+                }
+                //浠诲姟鍙�
+                basLift.setTaskNo(liftProtocol.getTaskNo().intValue());
+                //淇敼鏃堕棿
+                basLift.setUpdateTime(new Date());
+                //璁惧鐘舵��
+                basLift.setProtocol(JSON.toJSONString(liftProtocol));
+                if (basLiftService.updateById(basLift)) {
+                    OutputQueue.LIFT.offer(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛",DateUtils.convert(new Date()), device.getDeviceNo()));
                 }
 
             }else {
@@ -409,11 +438,8 @@
 
     //绌鸿浇绉诲姩
     @Override
-    public LiftCommand getMoveCommand(Integer taskNo, Integer sourceLev, Integer targetLev, Integer mode) {
+    public LiftCommand getMoveCommand(Integer taskNo, Integer sourceLev, Integer targetLev, LiftCommandModeType mode) {
         int taskMode = 3;//绌鸿浇绉诲姩
-        if (mode == null) {
-            taskMode = mode.shortValue();
-        }
 
         HashMap<String, Object> body = new HashMap<>();
         body.put("messageName", "lifterTask");
@@ -422,6 +448,8 @@
         body.put("taskId", taskNo);
         body.put("startLayer", 0);
         body.put("endLayer", targetLev);
+        body.put("startLocation", 0);
+        body.put("endLocation", 0);
         body.put("model", taskMode);
 
         LiftCommand command = new LiftCommand();
@@ -435,7 +463,7 @@
 
     //杞借溅绉诲姩
     @Override
-    public LiftCommand getMoveWithShuttleCommand(Integer taskNo, Integer sourceLev, Integer targetLev, Integer mode) {
+    public LiftCommand getMoveWithShuttleCommand(Integer taskNo, Integer sourceLev, Integer targetLev, LiftCommandModeType mode) {
         HashMap<String, Object> body = new HashMap<>();
         body.put("messageName", "lifterTask");
         body.put("msgTime", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
@@ -443,6 +471,8 @@
         body.put("taskId", taskNo);
         body.put("startLayer", sourceLev);
         body.put("endLayer", targetLev);
+        body.put("startLocation", 0);
+        body.put("endLocation", 0);
         body.put("model", 2);//杞借溅绉诲姩
 
         LiftCommand command = new LiftCommand();
@@ -456,7 +486,7 @@
 
     //鎵樼洏鍑哄叆
     @Override
-    public LiftCommand getPalletInOutCommand(Integer taskNo, Integer sourceLev, Integer targetLev, Integer originSta, Integer targetSta, Integer mode) {
+    public LiftCommand getPalletInOutCommand(Integer taskNo, Integer sourceLev, Integer targetLev, Integer originSta, Integer targetSta, LiftCommandModeType mode) {
         HashMap<String, Object> body = new HashMap<>();
         body.put("messageName", "lifterTask");
         body.put("msgTime", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));

--
Gitblit v1.9.1