From fcb71b8fc63f74cd00d3faa76c73f4c5566ee352 Mon Sep 17 00:00:00 2001
From: zc <zc@123>
Date: 星期三, 07 五月 2025 23:23:09 +0800
Subject: [PATCH] 解决提升机在本层,而没有锁提升机的问题

---
 src/main/java/com/zy/asrs/controller/TVController.java |  188 ++++++++++++++++++++++------------------------
 1 files changed, 91 insertions(+), 97 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/TVController.java b/src/main/java/com/zy/asrs/controller/TVController.java
index 889d1c7..87e341d 100644
--- a/src/main/java/com/zy/asrs/controller/TVController.java
+++ b/src/main/java/com/zy/asrs/controller/TVController.java
@@ -1,30 +1,30 @@
 package com.zy.asrs.controller;
 
-import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.core.common.Arith;
 import com.core.common.Cools;
 import com.core.common.R;
 import com.zy.asrs.domain.dto.AxisBean;
-import com.zy.asrs.domain.dto.WorkChartAxis;
 import com.zy.asrs.domain.dto.LocChartPie;
-import com.zy.asrs.entity.BasDevp;
-import com.zy.asrs.entity.BasShuttle;
+import com.zy.asrs.domain.dto.WorkChartAxis;
 import com.zy.asrs.entity.BasShuttleErr;
-import com.zy.asrs.entity.WrkMast;
 import com.zy.asrs.mapper.ReportQueryMapper;
 import com.zy.asrs.service.BasDevpService;
 import com.zy.asrs.service.BasShuttleErrService;
 import com.zy.asrs.service.BasShuttleService;
 import com.zy.asrs.service.WrkMastService;
 import com.zy.common.service.CommonService;
+import com.zy.common.utils.RedisUtil;
 import com.zy.core.cache.SlaveConnection;
 import com.zy.core.enums.SlaveType;
+import com.zy.core.model.LedSlave;
 import com.zy.core.model.ShuttleSlave;
-import com.zy.core.model.command.LedCommand;
 import com.zy.core.model.protocol.ShuttleProtocol;
 import com.zy.core.properties.SlaveProperties;
 import com.zy.core.thread.ShuttleThread;
+import com.zy.core.thread.impl.NormalLedThread;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
@@ -36,6 +36,7 @@
 /**
  * Created by vincent on 2020/11/16
  */
+@Slf4j
 @RestController
 @RequestMapping("/monitor")
 public class TVController {
@@ -55,6 +56,11 @@
     private SlaveProperties slaveProperties;
     @Autowired
     private BasShuttleErrService basShuttleErrService;
+
+    @Autowired
+    private RedisUtil redisUtil;
+    @Value("${asrs.wmsUrl}")
+    private String wmsUrl;
 
     /**
      * 鑾峰彇褰撳墠鏃堕棿
@@ -210,105 +216,91 @@
     /**
      * 鑾峰彇鍏朵粬淇℃伅
      */
-//    @GetMapping("/led")
-//    public R monitorLed(@RequestParam("ledId") Integer ledId) {
-//        BasDevp basDevp = basDevpService.selectOne(new EntityWrapper<BasDevp>().eq("dev_no", ledId));
-//        if (Cools.isEmpty(basDevp)) {
-//            return R.ok();
-//        }
-//        WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", basDevp.getWrkNo()));
-//        if (Cools.isEmpty(wrkMast)) {
-//            return R.ok();
-//        }
-//        List<LedCommand> commands = new ArrayList<>();
-//
-//        // 缁勮鍛戒护
-//        LedCommand ledCommand = new LedCommand();
-//        ledCommand.setWorkNo(wrkMast.getWrkNo());
-//        ledCommand.setIoType(wrkMast.getIoType());
-//        // 鍑哄簱妯″紡
-//        switch (wrkMast.getIoType()) {
-//            case 1:
-//                ledCommand.setTitle("鍏ㄦ澘鍏ュ簱");
-//                break;
-//            case 10:
-//                ledCommand.setTitle("绌烘澘鍏ュ簱");
-//                break;
-//            case 101:
-//                ledCommand.setTitle("鍏ㄦ澘鍑哄簱");
-//                break;
-//            case 103:
-//                ledCommand.setTitle("鎷f枡鍑哄簱");
-//                break;
-//            case 104:
-//                ledCommand.setTitle("骞舵澘鍑哄簱");
-//                break;
-//            case 107:
-//                ledCommand.setTitle("鐩樼偣鍑哄簱");
-//                break;
-//            case 110:
-//                ledCommand.setTitle("绌烘澘鍑哄簱");
-//                ledCommand.setEmptyMk(true);
-//                break;
-//            case 53:
-//                ledCommand.setTitle("鎷f枡鍏ュ簱");
-//                break;
-//            case 57:
-//                ledCommand.setTitle("鐩樼偣鍏ュ簱");
-//                break;
-//            case 54:
-//                ledCommand.setTitle("骞舵澘鍏ュ簱");
-//                break;
-//            default:
-//                break;
-//        }
-//        ledCommand.setSourceLocNo(wrkMast.getSourceLocNo());
-//        ledCommand.setLocNo(wrkMast.getLocNo());
-//        ledCommand.setStaNo(wrkMast.getStaNo());
-////                ledCommand.setSourceStaNo(wrkMast.getSourceStaNo());
-//        if (wrkMast.getIoType() != 110 && wrkMast.getIoType() != 10) {
-//            List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
-//            try {
-//                if (wrkMast.getIoType() > 100) {
-//                    for (WrkDetl wrkDetl : wrkDetls) {
-//                        LocDetl locDetl = locDetlService.selectMatnrSpecs(wrkDetl.getMatnr(), wrkDetl.getSpecs(), wrkMast.getSourceLocNo());
-//                        wrkDetl.setWeight(locDetl.getAnfme());
-//                    }
-//                } else {
-//                    for (WrkDetl wrkDetl : wrkDetls) {
-//                        wrkDetl.setWeight(wrkDetl.getAnfme());
-//                    }
-//                }
-//            } catch (Exception e) {
-////                log.error("宸ヤ綔妗f鏄庣粏杈撳叆鐢佃鏈哄け璐�1锛氬紓甯镐俊鎭�==銆�"+e);
-//            }
-//            wrkDetls.forEach(wrkDetl -> ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getAnfme(), wrkDetl.getWeight(), wrkDetl.getSpecs(), wrkDetl.getModel())));
-//        }
-//        commands.add(ledCommand);
-//        return R.ok().add(commands);
-//    }
+    @GetMapping("/led")
+    public R monitorLed(@RequestParam("ledId") Integer ledId) {
+        int dev_no1 = 1011;
+        int dev_no2 = 1012;
+        int dev_no3 = 1015;
+        if (ledId == 1) {
+            dev_no1 = 1011;
+            dev_no2 = 1012;
+        } else if (ledId == 2) {
+            dev_no1 = 1013;
+            dev_no2 = 1014;
+            dev_no3 = 1015;
+        } else if (ledId == 3) {
+            dev_no1 = 1021;
+            dev_no2 = 1022;
+            dev_no3 = 1023;
+        } else if (ledId == 4) {
+            dev_no1 = 1024;
+            dev_no2 = 1025;
+            dev_no3 = 1026;
+        }
+        Object o1 = redisUtil.get("LED_" + dev_no1);
+        Object o2 = redisUtil.get("LED_" + dev_no2);
+        Object o3 = redisUtil.get("LED_" + dev_no3);
+        if (o1 != null) {
+            //log.info("鐢佃鏈烘樉绀�1锛歿}", JSONObject.toJSONString(o1));
+            return R.ok().add(o1);
+        } else if (o2 != null) {
+            //log.info("鐢佃鏈烘樉绀�2锛歿}", JSONObject.toJSONString(o2));
+            return R.ok().add(o2);
+        } else if (o3 != null) {
+            //log.info("鐢佃鏈烘樉绀�3锛歿}", JSONObject.toJSONString(o3));
+            return R.ok().add(o3);
+        }
+        return R.ok();
+
+    }
 
     /**
      * 寮傚父閫氱煡
      */
     @GetMapping("/led/error")
     public R monitorLedError(@RequestParam("ledId") Integer ledId) {
-        BasDevp basDevp = basDevpService.selectOne(new EntityWrapper<BasDevp>().eq("dev_no", ledId));
-        if (Cools.isEmpty(basDevp)) {
-            return R.ok();
+        String errorMsg = "";
+        for (LedSlave slave : slaveProperties.getLed()) {
+            if (slave.getId() == ledId) {
+                NormalLedThread ledThread = (NormalLedThread) SlaveConnection.get(SlaveType.Led, slave.getId());
+                if (null != ledThread) {
+                    errorMsg = ledThread.getErrorMsg().toString();
+                }
+            }
         }
-        if (Cools.isEmpty(basDevp.getArea())) {
-            return R.ok();
-        }
-        if (basDevp.getLoading().equals("N")) {
-            basDevp.setArea("");
-            basDevpService.updateById(basDevp);
-            return R.ok();
-        }
-        String errorMsg = basDevp.getArea();
-
         return R.ok().add(errorMsg);
     }
+    /**
+     * 寮傚父閫氱煡
+     */
+//    @GetMapping("/led/error")
+//    public R monitorLedError(@RequestParam("ledId") Integer ledId) {
+//        int dev_no = 1012;
+//        if (ledId == 1) {
+//            dev_no = 1012;
+//        } else if (ledId == 2) {
+//            dev_no = 1014;
+//        } else if (ledId == 3) {
+//            dev_no = 1022;
+//        } else if (ledId == 4) {
+//            dev_no = 1025;
+//        }
+//        BasDevp basDevp = basDevpService.selectOne(new EntityWrapper<BasDevp>().eq("dev_no", dev_no));
+//        if (Cools.isEmpty(basDevp)) {
+//            return R.ok();
+//        }
+//        if (Cools.isEmpty(basDevp.getArea())) {
+//            return R.ok();
+//        }
+//        if (basDevp.getLoading().equals("N")) {
+//            basDevp.setArea("");
+//            basDevpService.updateById(basDevp);
+//            return R.ok();
+//        }
+//        String errorMsg = basDevp.getArea();
+//
+//        return R.ok().add(errorMsg);
+//    }
 
     /**
      * 璁惧寮傚父閫氱煡
@@ -316,7 +308,6 @@
     @GetMapping("/device/error")
     public R monitorDeviceError() {
         ArrayList<HashMap<String, Object>> list = new ArrayList<>();
-        List<BasShuttle> basCrnpLiset = shuttleService.selectList(new EntityWrapper<BasShuttle>());
 
         for (ShuttleSlave shuttleSlave : slaveProperties.getShuttle()) {
             // 鑾峰彇鍥涘悜绌挎杞︿俊鎭�
@@ -329,6 +320,9 @@
                 continue;
             }
             HashMap<String, Object> map = new HashMap<>();
+            if (Cools.isEmpty(shuttleProtocol.getErrorCode())) {
+                continue;
+            }
             int i = Integer.parseInt(shuttleProtocol.getErrorCode());
             if (i > 0) {
                 BasShuttleErr basShuttleErr = basShuttleErrService.queryByCode(i);

--
Gitblit v1.9.1