From df407d0f867f5063895be21fde14963b0ae4776e Mon Sep 17 00:00:00 2001
From: dubin <bindu_bean@163.com>
Date: 星期二, 10 三月 2026 15:01:20 +0800
Subject: [PATCH] 电视机显示出库运行状态;空托盘入库

---
 src/main/java/com/zy/common/model/MatDto.java               |    7 
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   92 +++++++++++++++++-
 src/main/java/com/zy/asrs/controller/MonitorController.java |   14 ++
 src/main/webapp/static/js/console.map.js                    |  153 ++++--------------------------
 src/main/java/com/zy/core/MainProcess.java                  |    4 
 src/main/resources/application.yml                          |    4 
 6 files changed, 126 insertions(+), 148 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/MonitorController.java b/src/main/java/com/zy/asrs/controller/MonitorController.java
index 269b9bb..39bfd98 100644
--- a/src/main/java/com/zy/asrs/controller/MonitorController.java
+++ b/src/main/java/com/zy/asrs/controller/MonitorController.java
@@ -1,5 +1,6 @@
 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;
@@ -7,8 +8,10 @@
 import com.zy.asrs.domain.dto.WorkChartAxis;
 import com.zy.asrs.domain.vo.LocChartPie;
 import com.zy.asrs.entity.BasCrnError;
+import com.zy.asrs.entity.LocMast;
 import com.zy.asrs.mapper.BasCrnErrorMapper;
 import com.zy.asrs.mapper.ReportQueryMapper;
+import com.zy.asrs.service.LocMastService;
 import com.zy.common.model.annotations.RateLimit;
 import com.zy.common.service.CommonService;
 import com.zy.core.CrnThread;
@@ -45,6 +48,8 @@
     private SlaveProperties slaveProperties;
     @Autowired
     private BasCrnErrorMapper basCrnErrorMapper;
+    @Autowired
+    private LocMastService locMastService;
 
     /**
      * 鑾峰彇褰撳墠鏃堕棿
@@ -212,6 +217,7 @@
         List<Map<String, Object>> pie = new ArrayList<>();
 
         LocChartPie locUseRate = reportQueryMapper.getLocUseRate();
+        int i = locMastService.selectCount(new EntityWrapper<LocMast>().eq("loc_sts", "D"));
         if(locUseRate!=null) {
             Map<String, Object> map = new HashMap<>();
             map.put("name", "鍦ㄥ簱");
@@ -229,8 +235,8 @@
             pie.add(map2);
 
             Map<String, Object> map3 = new HashMap<>();
-            map3.put("name", "绂佺敤");
-            map3.put("value", locUseRate.getXqty());
+            map3.put("name", "绌烘澘");
+            map3.put("value", i);
             pie.add(map3);
         }
 
@@ -244,9 +250,9 @@
 
         return R.ok(
                 Cools.add("pie", pie)
-                .add("stockCunt", locUseRate.getFqty())
+                .add("stockCunt", locUseRate.getFqty() - i)
                 .add("emptyCount", locUseRate.getOqty())
-                .add("noneCount", locUseRate.getXqty())
+                .add("noneCount", i)
                 .add("total", total)
                 .add("used", used)
                 .add("usedPr", usedPr)
diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
index 13af51d..8e0f034 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -171,11 +171,46 @@
                         News.error("" + mark + " - 4" + " - 宸ヤ綔妗d腑宸插瓨鍦ㄨ绔欑姸鎬佷负锛� 3.寮�濮嬫墽琛屽叆搴撲换鍔� 锛夌殑鏁版嵁,宸ヤ綔鍙�={}", wrkMast.getWrkNo());
 
                         // led 寮傚父鏄剧ず
-                        if (ledThread != null) {
-                            String errorMsg = "宸ヤ綔妗e凡瀛樺湪璇ユ潯鐮佸彿===>>" + barcode;
-                            MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, errorMsg));
+//                        if (ledThread != null) {
+//                            String errorMsg = "宸ヤ綔妗e凡瀛樺湪璇ユ潯鐮佸彿===>>" + barcode;
+//                            MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, errorMsg));
+//                        }
+                        LiftProtocol liftProtocol = devpThread.getLiftStatus();
+
+                        if (liftProtocol == null) {
+                            continue;
                         }
-                        continue;
+                        if (liftProtocol.getMode() != 1) {
+                            continue;
+                        }
+                        if (liftProtocol.getDeviceStatus() != 0) {
+                            continue;
+                        }
+                        if (liftProtocol.getWorkNo() > 0) {
+                            continue;
+                        }
+
+                        Integer staNo = Utils.getStaNoByLocNo(wrkMast.getLocNo());
+
+                        LiftCommand command = new LiftCommand();
+                        command.setWorkNo(wrkMast.getWrkNo());
+                        command.setSourceStaNo(inSta.getStaNo());
+                        command.setTargetStaNo(staNo);
+
+                        barcodeThread.setBarcode("");
+
+                        boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, command));
+                        if (result) {
+                            News.info("WCS--->PLC涓嬪彂浠诲姟鎴愬姛:{}",command.toString());
+                        }
+                        if (!result) {
+                            throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
+                        }
+
+                        wrkMast.setWrkSts(3L);// 3.璁惧鎵ц涓�
+                        wrkMast.setCrnStrTime(new Date());
+                        wrkMastService.updateById(wrkMast);
+                        break;
                     }
 
                     LiftProtocol liftProtocol = devpThread.getLiftStatus();
@@ -458,6 +493,7 @@
 
         //妫�娴嬪嚭搴撶珯鏄惁鍙嚭
         StaProtocol staProtocol = devpThread.getStation().get(100);
+        StaProtocol staProtocol101 = devpThread.getStation().get(101);
         if (staProtocol == null) {
             return;
         }
@@ -467,6 +503,18 @@
         }
 
         if (staProtocol.isLoading()) {
+            return;
+        }
+
+        if (staProtocol101 == null){
+            return;
+        }
+
+        if (staProtocol101.isLoading()){
+            return;
+        }
+
+        if (!staProtocol101.isAutoing()){
             return;
         }
 
@@ -821,7 +869,7 @@
                                     , wrkDetl.getKpCstmrName()
                                     , wrkDetl.getOrderNo()
                                     , wrkDetl.getBatch()
-//                                , wrkDetl.getCstateid$()
+                                    , locNo
                             ));
                         }
                     } else {
@@ -855,7 +903,7 @@
                                         , wrkDetlLog.getKpCstmrName()
                                         , wrkDetlLog.getOrderNo()
                                         , wrkDetlLog.getBatch()
-//                                    , wrkDetlLog.getCstateid$()
+                                        , locNo
                                 ));
                             }
                         }
@@ -925,6 +973,16 @@
                 // 鑾峰彇鍙夎溅绔欑偣
                 StaProtocol staProtocol = devpThread.getStation().get(staNo);
                 StaProtocol staProtocol1 = devpThread.getStation().get(122);
+                WrkMast wrkMastOut = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_sts", 12).eq("sta_no",staNo));
+                WrkMast wrkMastIn = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_sts", 3).eq("source_sta_no", staNo));
+                if (!Cools.isEmpty(wrkMastOut)){
+                    reset = false;
+                    continue;
+                }
+                if (!Cools.isEmpty(wrkMastIn)){
+                    reset = false;
+                    continue;
+                }
                 if (staProtocol == null) {
                     continue;
                 }
@@ -1036,7 +1094,8 @@
                             wrkDetl.getSupp(),
                             wrkDetl.getKpCstmrName(),
                             wrkDetl.getOrderNo(),
-                            wrkDetl.getBatch()
+                            wrkDetl.getBatch(),
+                            locNo
                     ));
                 }
             }
@@ -1090,4 +1149,23 @@
             }
         }
     }
+
+    public void deviceRunning(int mark) {
+        for (LedSlave led : slaveProperties.getLed()){
+            // 鍛戒护闆嗗悎
+            List<LedCommand> commands = new ArrayList<>();
+            WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_sts", 12));
+            if (Cools.isEmpty(wrkMast)){
+                return;
+            }
+            // 鑾峰彇LED绾跨▼
+            LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, led.getId());
+
+            if (ledThread == null) {
+                News.error("鏈壘鍒癓ED绾跨▼锛歔id锛歿}]", led.getId());
+                continue;
+            }
+            MessageQueue.offer(SlaveType.Led, led.getId(), new Task(5, "璁惧鍑哄簱浠诲姟杩愯涓�"));
+        }
+    }
 }
\ No newline at end of file
diff --git a/src/main/java/com/zy/common/model/MatDto.java b/src/main/java/com/zy/common/model/MatDto.java
index c36276a..7541d4f 100644
--- a/src/main/java/com/zy/common/model/MatDto.java
+++ b/src/main/java/com/zy/common/model/MatDto.java
@@ -52,12 +52,13 @@
     //鎵瑰彿
     private String batch;
 
-//    private String cstateid;
+    // 搴撲綅缂栧彿
+    private String locNo;
 
     public MatDto() {
     }
 
-    public MatDto(String matNo, String maktx, Double anfme, Double weight, Double total, Double totalWeight, String specs, String sku, String barcode, String model, String supp, String kpCstmrName, String orderNo, String batch) {
+    public MatDto(String matNo, String maktx, Double anfme, Double weight, Double total, Double totalWeight, String specs, String sku, String barcode, String model, String supp, String kpCstmrName, String orderNo, String batch, String locNo) {
         this.matnr = matNo;
         this.maktx = maktx;
         this.maknx = maktx;
@@ -73,6 +74,6 @@
         this.kpCstmrName = kpCstmrName;
         this.orderNo = orderNo;
         this.batch = batch;
-//        this.cstateid = cstateid;
+        this.locNo = locNo;
     }
 }
diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java
index 895a849..a7c0ce2 100644
--- a/src/main/java/com/zy/core/MainProcess.java
+++ b/src/main/java/com/zy/core/MainProcess.java
@@ -50,7 +50,7 @@
                     mainService.executeOutTask();
                     // 妫�娴嬩换鍔″畬鎴�
                     mainService.deviceFinished();
-//                    // 鍫嗗灈鏈哄紓甯镐俊鎭褰�
+                    // 鍫嗗灈鏈哄紓甯镐俊鎭褰�
 //                    mainService.recCrnErr(3);
                     // 鍑哄簱  ===>> 宸ヤ綔妗d俊鎭啓鍏ed鏄剧ず鍣�
                     mainService.ledExecute(4);
@@ -58,6 +58,8 @@
                     mainService.ledExecuteIn(6);
                     // 鍏朵粬  ===>> LED鏄剧ず鍣ㄥ浣嶏紝鏄剧ず榛樿淇℃伅
                     mainService.ledReset(5);
+                    // 鍑哄簱 ===>> 鏄剧ず杩愯鐘舵��
+                    mainService.deviceRunning(7);
 
 
                 } catch (Exception e) {
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 1d6eec1..d1e42a6 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -8,7 +8,7 @@
     name: @pom.build.finalName@
   datasource:
     driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
-    url: jdbc:sqlserver://127.0.0.1:52840;databasename=shhtgcasrs
+    url: jdbc:sqlserver://127.0.0.1:1433;databasename=shhtgcasrs
     username: sa
     password: sa@123
   mvc:
@@ -89,7 +89,7 @@
   # LED1
   led[0]:
     id: 1
-    ip: 172.168.61.201
+    ip: 127.0.0.1
     port: 5005
     devpPlcId: ${wcs-slave.devp[0].id}
     staArr: 101
diff --git a/src/main/webapp/static/js/console.map.js b/src/main/webapp/static/js/console.map.js
index 5d03d9e..0d291cf 100644
--- a/src/main/webapp/static/js/console.map.js
+++ b/src/main/webapp/static/js/console.map.js
@@ -1,141 +1,32 @@
 mapInfo =
     {"mapName":"YTFLWCS","rackCount":16,"crnCount":4,"stbCount":16,"hpPosition":0,"minBayNo":2,"floors":1,
         "racks":[
-            // {"type":"rack","id":"rack23","top":558,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":31},
-            // {"type":"rack","id":"rack26","top":631,"left":642,"width":667,"height":18,"minBayNo":2,"maxBayNo":31},
-            // {"type":"rack","id":"rack25","top":612,"left":642,"width":667,"height":18,"minBayNo":2,"maxBayNo":31},
-            // {"type":"rack","id":"rack24","top":577,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":31},
-            // {"type":"rack","id":"rack19","top":469,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":31},
-            // {"type":"rack","id":"rack22","top":539,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":31},
-            // {"type":"rack","id":"rack21","top":519,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":31},
-            // {"type":"rack","id":"rack20","top":488,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":31},
-            // {"type":"rack","id":"rack4","top":122,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":61},
-            // {"type":"rack","id":"rack5","top":141,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":61},
-            // {"type":"rack","id":"rack111","top":49,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":61},
-            // {"type":"rack","id":"rack15","top":376,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":31},
-            // {"type":"rack","id":"rack18","top":449,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":31},
-            // {"type":"rack","id":"rack17","top":430,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":31},
-            // {"type":"rack","id":"rack16","top":396,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":31},
-            // {"type":"rack","id":"rack11","top":287,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":31},
-            // {"type":"rack","id":"rack14","top":357,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":31},
-            // {"type":"rack","id":"rack13","top":337,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":31},
-            // {"type":"rack","id":"rack12","top":307,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":31},
-            // {"type":"rack","id":"rack7","top":193,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":31},
-            // {"type":"rack","id":"rack10","top":268,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":31},
-            // {"type":"rack","id":"rack9","top":249,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":31},
-            // {"type":"rack","id":"rack8","top":212,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":31},
-            // {"type":"rack","id":"rack2","top":83,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":61},
-            // {"type":"rack","id":"rack3","top":103,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":61},
-            // {"type":"rack","id":"rack6","top":174,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":31}
             ],
         "crns":[
-            // {"type":"track","id":"lb_track8","text":"","top":76,"left":1327,"width":1,"height":93},
-            // {"type":"track","id":"lb_track7","text":"","top":75,"left":596,"width":733,"height":1},
-            // {"type":"track","id":"lb_track1","text":"","top":604,"left":593,"width":733,"height":1},
-            // {"type":"track","id":"lb_track2","text":"","top":513,"left":595,"width":733,"height":1},
-            // {"type":"crane","id":"crn-5","text":"5","top":507,"left":731,"width":67,"height":13},
-            // {"type":"crane","id":"crn-6","text":"6","top":597,"left":731,"width":67,"height":13},
-            // {"type":"crane","id":"crn-1","text":"1","top":162,"left":730,"width":67,"height":13},
-            // {"type":"track","id":"lb_track3","text":"","top":424,"left":593,"width":733,"height":1},
-            // {"type":"crane","id":"crn-2","text":"2","top":234,"left":741,"width":67,"height":13},
-            // {"type":"track","id":"lb_track4","text":"","top":333,"left":593,"width":733,"height":1},
-            // {"type":"crane","id":"crn-3","text":"3","top":325,"left":730,"width":67,"height":13},
-            // {"type":"track","id":"lb_track5","text":"","top":241,"left":595,"width":733,"height":1},
-            // {"type":"track","id":"lb_track6","text":"","top":168,"left":596,"width":733,"height":1},
-            // {"type":"crane","id":"crn-4","text":"4","top":417,"left":730,"width":67,"height":13}
         ],
         "areas":[{"type":"Control_floor","id":"tabControl_floor1","text":"妤煎眰","top":41,"left":80,"width":1269,"height":781,
             "floors":[{"type":"floor","id":"page_floor1","text":"1F","top":4,"left":22,"width":1243,"height":773,
                 "stns":[
-                    // {"type":"stn","id":"site-1064","text":"1064","top":720,"left":769,"width":59,"height":20},
-                    // {"type":"stn","id":"site-2003","text":"2003","top":456,"left":309,"width":37,"height":20},
-                    // {"type":"stn","id":"site-2002","text":"2002","top":455,"left":221,"width":37,"height":20},
-                    // {"type":"stn","id":"site-1004","text":"1004","top":334,"left":296,"width":37,"height":20},
-                    // {"type":"stn","id":"site-1002","text":"1002","top":291,"left":296,"width":37,"height":20},
-                    // {"type":"stn","id":"site-1006","text":"1006","top":312,"left":296,"width":37,"height":20},
-                    // {"type":"stn","id":"site-1007","text":"1007","top":312,"left":258,"width":37,"height":20},
-                    // {"type":"stn","id":"site-1003","text":"1003","top":312,"left":220,"width":37,"height":20},
-                    // {"type":"stn","id":"site-1075","text":"1075","top":723,"left":406,"width":71,"height":20},
-                    // {"type":"stn","id":"site-1076","text":"1076","top":701,"left":406,"width":71,"height":20},
-                    // {"type":"stn","id":"site-1077","text":"1077","top":679,"left":406,"width":71,"height":20},
-                    // {"type":"stn","id":"site-1078","text":"1078","top":657,"left":406,"width":71,"height":20},
-                    // {"type":"stn","id":"site-1079","text":"1079","top":598,"left":406,"width":71,"height":57},
-                    // {"type":"stn","id":"site-1047","text":"1047","top":578,"left":405,"width":93,"height":17},
-                    // {"type":"stn","id":"site-1081","text":"1081","top":417,"left":405,"width":71,"height":158},
-                    // {"type":"stn","id":"site-1034","text":"1034","top":398,"left":405,"width":95,"height":17},
-                    // {"type":"stn","id":"site-1083","text":"1083","top":320,"left":405,"width":71,"height":75},
-                    // {"type":"stn","id":"site-1084","text":"1084","top":198,"left":405,"width":71,"height":121},
-                    // {"type":"stn","id":"site-1059","text":"1059","top":700,"left":480,"width":161,"height":20},
-                    // {"type":"stn","id":"site-1018","text":"1018","top":178,"left":405,"width":95,"height":17},
-                    // {"type":"stn","id":"site-1086","text":"1086","top":146,"left":406,"width":71,"height":30},
-                    // {"type":"stn","id":"site-1087","text":"1087","top":125,"left":406,"width":71,"height":19},
-                    // {"type":"stn","id":"site-1088","text":"1088","top":105,"left":406,"width":71,"height":19},
-                    // {"type":"stn","id":"site-1074","text":"1074","top":678,"left":1141,"width":59,"height":20},
-                    // {"type":"stn","id":"site-1073","text":"1073","top":657,"left":1141,"width":59,"height":20},
-                    // {"type":"stn","id":"site-1071","text":"1071","top":678,"left":1017,"width":59,"height":20},
-                    // {"type":"stn","id":"site-1072","text":"1072","top":657,"left":1079,"width":59,"height":20},
-                    // {"type":"stn","id":"site-1070","text":"1070","top":657,"left":1017,"width":59,"height":20},
-                    {"type":"stn","id":"site-100","text":"100","top":657,"left":1017,"width":59,"height":20},
-                    {"type":"stn","id":"site-101","text":"101","top":657,"left":955,"width":59,"height":20},
-                    {"type":"stn","id":"site-103","text":"103","top":630,"left":955,"width":59,"height":20},
-                    {"type":"stn","id":"site-105","text":"105","top":603,"left":955,"width":59,"height":20},
-                    {"type":"stn","id":"site-107","text":"107","top":576,"left":955,"width":59,"height":20},
-                    {"type":"stn","id":"site-109","text":"109","top":549,"left":955,"width":59,"height":20},
-                    {"type":"stn","id":"site-111","text":"111","top":522,"left":955,"width":59,"height":20},
-                    {"type":"stn","id":"site-113","text":"113","top":495,"left":955,"width":59,"height":20},
-                    {"type":"stn","id":"site-115","text":"115","top":468,"left":955,"width":59,"height":20},
-                    {"type":"stn","id":"site-117","text":"117","top":441,"left":955,"width":59,"height":20},
-                    {"type":"stn","id":"site-119","text":"119","top":414,"left":955,"width":59,"height":20},
-                    // {"type":"stn","id":"site-1068","text":"1068","top":678,"left":893,"width":59,"height":20},
-                    {"type":"stn","id":"site-122","text":"122","top":657,"left":893,"width":59,"height":20},
-                    {"type":"stn","id":"site-102","text":"102","top":657,"left":831,"width":59,"height":20},
-                    {"type":"stn","id":"site-104","text":"104","top":630,"left":831,"width":59,"height":20},
-                    {"type":"stn","id":"site-106","text":"106","top":603,"left":831,"width":59,"height":20},
-                    {"type":"stn","id":"site-108","text":"108","top":576,"left":831,"width":59,"height":20},
-                    {"type":"stn","id":"site-110","text":"110","top":549,"left":831,"width":59,"height":20},
-                    {"type":"stn","id":"site-112","text":"112","top":522,"left":831,"width":59,"height":20},
-                    {"type":"stn","id":"site-114","text":"114","top":495,"left":831,"width":59,"height":20},
-                    {"type":"stn","id":"site-116","text":"116","top":468,"left":831,"width":59,"height":20},
-                    {"type":"stn","id":"site-118","text":"118","top":441,"left":831,"width":59,"height":20},
-                    {"type":"stn","id":"site-120","text":"120","top":414,"left":831,"width":59,"height":20},
-                    // {"type":"stn","id":"site-1065","text":"1065","top":700,"left":707,"width":59,"height":20},
-                    // {"type":"stn","id":"site-1063","text":"1063","top":700,"left":769,"width":59,"height":20},
-                    // {"type":"stn","id":"site-1062","text":"1062","top":678,"left":769,"width":59,"height":20},
-                    // {"type":"stn","id":"site-1061","text":"1061","top":657,"left":769,"width":59,"height":20},
-                    // {"type":"stn","id":"site-1058","text":"1058","top":721,"left":645,"width":59,"height":20},
-                    // {"type":"stn","id":"site-1057","text":"1057","top":700,"left":645,"width":59,"height":20},
-                    // {"type":"stn","id":"site-1056","text":"1056","top":678,"left":645,"width":59,"height":20},
-                    // {"type":"stn","id":"site-1060","text":"1060","top":657,"left":707,"width":59,"height":20},
-                    // {"type":"stn","id":"site-1055","text":"1055","top":657,"left":645,"width":59,"height":20},
-                    // {"type":"stn","id":"site-1054","text":"1054","top":657,"left":574,"width":67,"height":20},
-                    // {"type":"stn","id":"site-1053","text":"1053","top":657,"left":479,"width":91,"height":20},
-                    // {"type":"stn","id":"site-1052","text":"1052","top":614,"left":573,"width":67,"height":17},
-                    // {"type":"stn","id":"site-1051","text":"1051","top":597,"left":502,"width":67,"height":58},
-                    // {"type":"stn","id":"site-1049","text":"1049","top":577,"left":571,"width":67,"height":17},
-                    // {"type":"stn","id":"site-1048","text":"1048","top":578,"left":501,"width":67,"height":17},
-                    // {"type":"stn","id":"site-1045","text":"1045","top":523,"left":571,"width":67,"height":17},
-                    // {"type":"stn","id":"site-1044","text":"1044","top":506,"left":501,"width":67,"height":69},
-                    // {"type":"stn","id":"site-1042","text":"1042","top":488,"left":571,"width":67,"height":17},
-                    // {"type":"stn","id":"site-1041","text":"1041","top":466,"left":501,"width":67,"height":39},
-                    // {"type":"stn","id":"site-1039","text":"1039","top":433,"left":571,"width":67,"height":17},
-                    // {"type":"stn","id":"site-1038","text":"1038","top":418,"left":501,"width":67,"height":45},
-                    // {"type":"stn","id":"site-1036","text":"1036","top":397,"left":571,"width":67,"height":17},
-                    // {"type":"stn","id":"site-1035","text":"1035","top":398,"left":501,"width":67,"height":17},
-                    // {"type":"stn","id":"site-1032","text":"1032","top":342,"left":571,"width":67,"height":17},
-                    // {"type":"stn","id":"site-1031","text":"1031","top":322,"left":501,"width":67,"height":73},
-                    // {"type":"stn","id":"site-1029","text":"1029","top":308,"left":571,"width":67,"height":17},
-                    // {"type":"stn","id":"site-1028","text":"1028","top":280,"left":501,"width":67,"height":40},
-                    // {"type":"stn","id":"site-1026","text":"1026","top":250,"left":571,"width":67,"height":17},
-                    // {"type":"stn","id":"site-1025","text":"1025","top":248,"left":501,"width":67,"height":29},
-                    // {"type":"stn","id":"site-1023","text":"1023","top":212,"left":571,"width":67,"height":17},
-                    // {"type":"stn","id":"site-1022","text":"1022","top":198,"left":501,"width":67,"height":48},
-                    // {"type":"stn","id":"site-1020","text":"1020","top":177,"left":571,"width":67,"height":17},
-                    // {"type":"stn","id":"site-1019","text":"1019","top":178,"left":502,"width":67,"height":17},
-                    // {"type":"stn","id":"site-1016","text":"1016","top":142,"left":571,"width":67,"height":17},
-                    // {"type":"stn","id":"site-1015","text":"1015","top":129,"left":502,"width":67,"height":46},
-                    // {"type":"stn","id":"site-1012","text":"1012","top":105,"left":502,"width":67,"height":23},
-                    // {"type":"stn","id":"site-1008","text":"1008","top":82,"left":337,"width":67,"height":21},
-                    // {"type":"stn","id":"site-1009","text":"1009","top":82,"left":406,"width":95,"height":21},
-                    // {"type":"stn","id":"site-1010","text":"1010","top":82,"left":502,"width":67,"height":21},
-                    // {"type":"stn","id":"site-1013","text":"1013","top":105,"left":571,"width":67,"height":17}
+                    {"type":"stn","id":"site-100","text":"100","top":470,"left":840,"width":59,"height":20},
+                    {"type":"stn","id":"site-101","text":"101","top":470,"left":760,"width":59,"height":20},
+                    {"type":"stn","id":"site-103","text":"103","top":440,"left":760,"width":59,"height":20},
+                    {"type":"stn","id":"site-105","text":"105","top":410,"left":760,"width":59,"height":20},
+                    {"type":"stn","id":"site-107","text":"107","top":380,"left":760,"width":59,"height":20},
+                    {"type":"stn","id":"site-109","text":"109","top":350,"left":760,"width":59,"height":20},
+                    {"type":"stn","id":"site-111","text":"111","top":320,"left":760,"width":59,"height":20},
+                    {"type":"stn","id":"site-113","text":"113","top":290,"left":760,"width":59,"height":20},
+                    {"type":"stn","id":"site-115","text":"115","top":260,"left":760,"width":59,"height":20},
+                    {"type":"stn","id":"site-117","text":"117","top":230,"left":760,"width":59,"height":20},
+                    {"type":"stn","id":"site-119","text":"119","top":200,"left":760,"width":59,"height":20},
+                    {"type":"stn","id":"site-122","text":"122","top":470,"left":680,"width":59,"height":20},
+                    {"type":"stn","id":"site-102","text":"102","top":470,"left":600,"width":59,"height":20},
+                    {"type":"stn","id":"site-104","text":"104","top":440,"left":600,"width":59,"height":20},
+                    {"type":"stn","id":"site-106","text":"106","top":410,"left":600,"width":59,"height":20},
+                    {"type":"stn","id":"site-108","text":"108","top":380,"left":600,"width":59,"height":20},
+                    {"type":"stn","id":"site-110","text":"110","top":350,"left":600,"width":59,"height":20},
+                    {"type":"stn","id":"site-112","text":"112","top":320,"left":600,"width":59,"height":20},
+                    {"type":"stn","id":"site-114","text":"114","top":290,"left":600,"width":59,"height":20},
+                    {"type":"stn","id":"site-116","text":"116","top":260,"left":600,"width":59,"height":20},
+                    {"type":"stn","id":"site-118","text":"118","top":230,"left":600,"width":59,"height":20},
+                    {"type":"stn","id":"site-120","text":"120","top":200,"left":600,"width":59,"height":20},
                 ]}]}]}

--
Gitblit v1.9.1