#
mrzhssss
2022-04-28 864e0c81c00683dff6d942d3f5ec7f838f125429
#
8个文件已修改
1402 ■■■■■ 已修改文件
src/main/java/com/zy/core/MainProcess.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/cache/MessageQueue.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/properties/SlaveProperties.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/thread/SiemensDevpThread.java 118 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application.yml 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/StaDescMapper.xml 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/css/console.css 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/console.html 1204 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/MainProcess.java
@@ -9,6 +9,7 @@
import org.springframework.stereotype.Component;
import javax.annotation.PreDestroy;
import java.util.ArrayList;
/**
 * WCS主流程
src/main/java/com/zy/core/cache/MessageQueue.java
@@ -127,6 +127,7 @@
    public static void clear(SlaveType type, Integer id){
        switch (type) {
            case Crn:
                CRN_EXCHANGE.get(id).clear();
                break;
            case Devp:
src/main/java/com/zy/core/properties/SlaveProperties.java
@@ -13,6 +13,11 @@
/**
 * Created by vincent on 2020/8/4
 *
 */
/**
 * 该类整个就是一个通过配置文件来实体化对象类
 */
@Data
@Configuration
src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -41,16 +41,10 @@
    private Map<Integer, StaProtocol> station = new ConcurrentHashMap<>();
    private short heartBeatVal = 1;
    public static final ArrayList<Integer> staNos = new ArrayList<Integer>() {{
        add(100);add(101);add(102);add(103);add(104);add(105);add(106);add(107);add(108);add(109);
        add(101);add(102);add(103);add(104);add(105);add(106);add(107);add(108);add(109);
        add(110);add(111);add(112);add(113);add(114);add(115);add(116);add(117);add(118);add(119);
        add(120);add(121);add(122);add(123);add(124);add(125);add(126);add(127);add(128);add(129);
        add(130);add(131);add(132);add(133);add(134);add(135);add(136);add(137);add(138);add(139);
        add(140);add(141);add(142);add(143);add(144);add(145);add(146);add(147);add(148);add(149);
        add(150);add(151);add(152);add(153);add(154);add(155);add(156);add(157);add(158);add(159);
        add(160);add(161);add(162);add(163);add(164);add(165);add(166);add(167);add(168);add(169);
        add(170);add(171);add(172);add(173);add(174);add(175);add(176);add(177);add(178);add(179);
        add(180);add(181);add(182);
        add(183);add(184);add(185);add(186);add(187);add(188);add(189);add(190);add(191);add(192);
        add(130);add(131);add(132);add(133);add(134);add(135);add(136);
    }};
    public IoModeType ioMode = IoModeType.NONE;
@@ -121,9 +115,9 @@
    private void read() throws InterruptedException {
//        // 更新入出库模式
//        updateIoMode();
        OperateResultExOne<byte[]> result = siemensS7Net.Read("DB100.0", (short) 186);
        OperateResultExOne<byte[]> result = siemensS7Net.Read("DB100.0", (short) 144);
        if (result.IsSuccess) {
            for (int i = 0; i < 93; i++) {
            for (int i = 0; i < 36; i++) {
                Integer siteId = staNos.get(i); // 站点编号
                StaProtocol staProtocol = station.get(siteId);
                if (null == staProtocol) {
@@ -131,27 +125,29 @@
                    staProtocol.setSiteId(siteId);
                    station.put(siteId, staProtocol);
                }
                staProtocol.setWorkNo(siemensS7Net.getByteTransform().TransInt16(result.Content, i*2));     // 工作号
                staProtocol.setWorkNo(siemensS7Net.getByteTransform().TransInt16(result.Content, i*4));     // 工作号
                staProtocol.setStaNo(siemensS7Net.getByteTransform().TransInt16(result.Content, i*4 + 2));   // 目标站
            }
        }
//        Thread.sleep(200);
//        OperateResultExOne<byte[]> result0 = siemensS7Net.Read("DB101.0", (short) 186);
//        if (result0.IsSuccess) {
//            for (int i = 0; i < 93; i++) {
//                Integer siteId = staNos.get(i); // 站点编号
//                StaProtocol staProtocol = station.get(siteId);
//                if (null == staProtocol) {
//                    staProtocol = new StaProtocol();
//                    staProtocol.setSiteId(siteId);
//                    station.put(siteId, staProtocol);
//                }
//                staProtocol.setStaNo(siemensS7Net.getByteTransform().TransInt16(result0.Content, i*2));   // 目标站
//            }
//        }
        Thread.sleep(200);
        OperateResultExOne<byte[]> result0 = siemensS7Net.Read("DB101.0", (short) 186);
        if (result0.IsSuccess) {
            for (int i = 0; i < 93; i++) {
                Integer siteId = staNos.get(i); // 站点编号
                StaProtocol staProtocol = station.get(siteId);
                if (null == staProtocol) {
                    staProtocol = new StaProtocol();
                    staProtocol.setSiteId(siteId);
                    station.put(siteId, staProtocol);
                }
                staProtocol.setStaNo(siemensS7Net.getByteTransform().TransInt16(result0.Content, i*2));   // 目标站
            }
        }
        Thread.sleep(200);
        OperateResultExOne<byte[]> result1 = siemensS7Net.Read("DB102.0", (short) 186);
        OperateResultExOne<byte[]> result1 = siemensS7Net.Read("DB150.0", (short) 72);
        if (result1.IsSuccess) {
            for (int i = 0; i < 93; i++) {
            for (int i = 0; i < 36; i++) {
                Integer siteId = staNos.get(i); // 站点编号
                boolean[] status = siemensS7Net.getByteTransform().TransBool(result1.Content, i*2, 1);
                StaProtocol staProtocol = station.get(siteId);
@@ -170,46 +166,12 @@
            }
        }
        Thread.sleep(200);
        OperateResultExOne<byte[]> result3 = siemensS7Net.Read("DB300.0", (short) 10);
        if (result3.IsSuccess) {
//            Integer siteId = staNos.get(i); // 站点编号
            Integer siteId = 0;
            for (int i = 0; i < 5; i++) {
                switch (i){
                    case 0:
                        siteId = 100;
                        break;
                    case 1:
                        siteId = 102;
                        break;
                    case 2:
                        siteId = 104;
                        break;
                    case 3:
                        siteId = 106;
                        break;
                    case 4:
                        siteId = 108;
                        break;
                }
                StaProtocol staProtocol = station.get(siteId);
                if (null == staProtocol) {
                    staProtocol = new StaProtocol();
                    staProtocol.setSiteId(siteId);
                    station.put(siteId, staProtocol);
                }
                short value = siemensS7Net.getByteTransform().TransInt16(result3.Content, i*2);
                staProtocol.setInQty(value);     // 入库暂存数
            }
        }
//        OperateResultExOne<Short> result2 = siemensS7Net.ReadInt16("DB200.0");
//        if (result2.IsSuccess) {
//            this.ioMode = IoModeType.get(result2.Content);
//        }
        if (result.IsSuccess && result0.IsSuccess && result1.IsSuccess) {
        if (result.IsSuccess && result1.IsSuccess) {
            OutputQueue.DEVP.offer(MessageFormat.format("【{0}】[id:{1}] <<<<< 实时数据更新成功",DateUtils.convert(new Date()), slave.getId()));
@@ -231,25 +193,6 @@
                log.error("更新数据库数据失败 ===>> [id:{}] [ip:{}] [port:{}] [rack:{}] [slot:{}]", slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot());
            }
//            //出库到182站堆垛机任务数据发送给PLC
//            try{
//                WrkMastService wrkMastService = SpringUtils.getBean(WrkMastService.class);
//                if(null != wrkMastService){
//                    int count = wrkMastService.getOutToStn182(182);
//                    if(count != PRE_COUNT){
//                        OperateResult write = siemensS7Net.Write("DB300.2",(short)count);
//                        if (write.IsSuccess) {
//                            PRE_COUNT = count;
//                        } else {
//                            log.error("更新堆垛机出库到182站任务数量错误,任务数量==>>" + count);
//                        }
//                    }
//                }
//            }catch (Exception e) {
//                e.printStackTrace();
//                log.error("更新堆垛机出库到182站任务数量失败");
//            }
        } else {
            OutputQueue.DEVP.offer(MessageFormat.format("【{0}】读取输送线plc状态信息失败 ===>> [id:{1}] [ip:{2}] [port:{3}] [rack:{4}] [slot:{5}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot()));
//            log.error("读取输送线plc状态信息失败 ===>> [id:{}] [ip:{}] [port:{}] [rack:{}] [slot:{}]", slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot());
@@ -264,11 +207,16 @@
            return;
        }
        int index = staNos.indexOf(staProtocol.getSiteId());
        OperateResult write = siemensS7Net.Write("DB100." + index*2, staProtocol.getWorkNo());    // 工作号
        Thread.sleep(500);
        OperateResult write1 = siemensS7Net.Write("DB101." + index*2, staProtocol.getStaNo());    // 目标站
        short[] array = new short[10];
        array[0] = staProtocol.getWorkNo();
        array[1] = staProtocol.getStaNo();
        OperateResult write = siemensS7Net.Write("DB100." + index*4, array);
        if (!write.IsSuccess || !write1.IsSuccess) {
//        OperateResult write = siemensS7Net.Write("DB100." + index*2, staProtocol.getWorkNo());    // 工作号
//        Thread.sleep(500);
//        OperateResult write1 = siemensS7Net.Write("DB101." + index*2, staProtocol.getStaNo());    // 目标站
        if (!write.IsSuccess) {
            staProtocol = station.get(staProtocol.getSiteId());
            if (staProtocol.getWorkNo() == 0 && staProtocol.getStaNo() ==0) {
                staProtocol.setPakMk(true);
src/main/resources/application.yml
@@ -11,7 +11,7 @@
    #    url: jdbc:sqlserver://47.97.1.152:51433;databasename=xgmasrs
    #    username: sa
    #    password: Zoneyung@zy56$
    url: jdbc:sqlserver://10.10.10.238:1433;databasename=xgmasrs
    url: jdbc:sqlserver://192.168.4.15:1433;databasename=xgmasrs
#    url: jdbc:sqlserver://localhost:1433;databasename=xgmasrs
    username: sa
    password: sa@123
@@ -38,7 +38,7 @@
  enable: false
wms:
  url: 10.10.10.238:8080/xgmwms
  url: localhost:8080/xgmwms
#  url: localhost:8082/xgmwms
#堆垛机没有执行中任务,输送有入库任务,叫回原点
@@ -50,7 +50,7 @@
  # 双深
  doubleDeep: true
  # 双深库位排号
  doubleLocs: 1,4,5,8,9,12,13,16,17,20
  doubleLocs: 1,4,5,8,9,12
  # 一个堆垛机负责的货架排数
  groupCount: 4
  # 堆垛机1
@@ -119,50 +119,7 @@
      row: 11
      bay: 1
      lev: 1
  # 堆垛机4
  crn[3]:
    id: 4
    ip: 10.10.10.19
    port: 8888
    # 偏移量,当堆垛机站点列号=1时,偏移量=2
    offset: 2
    demo: false
    # 堆垛机入库站点
    crnInStn[0]:
      devpPlcId: ${wcs-slave.devp[0].id}
      staNo: 106
      row: 14
      bay: 1
      lev: 1
    # 堆垛机出库站点
    crnOutStn[0]:
      devpPlcId: ${wcs-slave.devp[0].id}
      staNo: 107
      row: 15
      bay: 1
      lev: 1
  # 堆垛机5
  crn[4]:
    id: 5
    ip: 10.10.10.22
    port: 8888
    # 偏移量,当堆垛机站点列号=1时,偏移量=2
    offset: 2
    demo: false
    # 堆垛机入库站点
    crnInStn[0]:
      devpPlcId: ${wcs-slave.devp[0].id}
      staNo: 108
      row: 18
      bay: 1
      lev: 1
    # 堆垛机出库站点
    crnOutStn[0]:
      devpPlcId: ${wcs-slave.devp[0].id}
      staNo: 109
      row: 19
      bay: 1
      lev: 1
  # 输送线
  devp[0]:
    id: 1
src/main/resources/mapper/StaDescMapper.xml
@@ -19,4 +19,6 @@
    </resultMap>
</mapper>
src/main/webapp/static/css/console.css
@@ -287,8 +287,8 @@
}
/* 输送线第一列 */
.site-row-1 {
    top: 205px;
    left: 120px;
    top: 28px;
    left: 1270px;
}
.site-row-1 .site {
    width: 80px;
@@ -296,15 +296,15 @@
/* 输送线第二列 */
.site-row-2 {
    top: 205px;
    left: 202px;
    top: 28px;
    left: 1352px;
}
.site-row-2 .site {
    width: 80px;
}
.site-row-3 {
    top: 205px;
    left: 284px;
    top: 28px;
    left: 1434px;
    /*width: 164px;*/
}
.site-row-3 .site {
@@ -312,8 +312,8 @@
}
.site-row-4 {
    top: 71px;
    left: 448px;
    top: 109px;
    left: 1516px;
}
.site-row-4 .site {
    width: 80px;
@@ -338,7 +338,7 @@
.main-part {
    position: absolute;
    top: 20px;
    left: 694px;
    left: 300px;
}
.main-part .lane {
    margin-top: 30px;
@@ -373,6 +373,7 @@
    width: 100%;
    margin-top: 10px;
}
/* 堆垛机 */
.machine {
    margin-left: 30px;
@@ -385,6 +386,7 @@
    background-size:100% 100%;
    background-position: top center;
    cursor: pointer;
}
/* 入库 */
.machine-pakin {
src/main/webapp/views/console.html
@@ -25,83 +25,6 @@
            <img src="../static/images/zy-logo.png" alt="中扬" height="44" width="80" >
        </div>
    </div>
    <!--第1列(宽度 70px) -->
    <div class="site-row site-row-1">
        <div class="site-k" style="height:39px;width:70px;"></div>
        <div id="site-173" class="site" style="height: 18px;line-height: 18px;margin-bottom: 85px">173</div>
    </div>
    <!--第2列(宽度 70px)-->
    <div class="site-row site-row-2">
        <div id="site-175" class="site" style="height: 18px;line-height: 18px;">175</div>
        <div id="site-174" class="site" style="height: 19px;line-height: 19px;">174</div>
        <div id="site-172" class="site" style="height: 18px;line-height: 18px;">172</div>
        <div class="site-k" style="height: 246px;width:70px;"></div>
        <div id="site-182" class="site" style="height: 18px;line-height: 18px;">182</div>
    </div>
    <!-- 第3列(宽度 70px) -->
    <div class="site-row site-row-3">
        <div id="site-176" class="site" style="height: 18px;line-height: 18px;width:162px;">176</div>
        <div class="site-k" style="height: 19px;width:162px;"></div>
        <div>
            <div id="site-171" class="site" style="height: 18px;line-height: 18px;position: absolute;clear: right">171</div>
            <div id="site-170" class="site" style="height: 18px;line-height: 18px;width:80px;float: right">170</div>
        </div>
        <div class="site-k" style="height: 246px;width:70px;"></div>
        <div>
            <div id="site-181" class="site" style="height: 18px;line-height: 18px;position: absolute;clear: right">181</div>
            <div id="site-180" class="site" style="height: 18px;line-height: 18px;width:80px;float: right">180</div>
        </div>
    </div>
    <!-- 第4列(宽度 70px 140px) -->
    <!--&lt;!&ndash; 第4列(宽度 70px) &ndash;&gt;-->
    <div class="site-row site-row-4">
        <div id="site-163" class="site" style="height: 28.5px;line-height: 28.5px">163</div>
        <div id="site-162" class="site" style="height: 28.5px;line-height: 28.5px">162</div>
        <div id="site-161" class="site" style="height: 71px;line-height: 71px">161</div>
        <div id="site-160" class="site" style="height: 28.5px;line-height: 28.5px">160</div>
        <div id="site-159" class="site" style="height: 28.5px;line-height: 28.5px">159</div>
        <div id="site-158" class="site" style="height: 71px;line-height: 71px">158</div>
        <div id="site-157" class="site" style="height: 28.5px;line-height: 28.5px">157</div>
        <div id="site-156" class="site" style="height: 28.5px;line-height: 28.5px">156</div>
        <div id="site-155" class="site" style="height: 71px;line-height: 71px">155</div>
        <div id="site-154" class="site" style="height: 28.5px;line-height: 28.5px">154</div>
        <div id="site-153" class="site" style="height: 28.5px;line-height: 28.5px">153</div>
        <div id="site-152" class="site" style="height: 71px;line-height: 71px">152</div>
        <div id="site-151" class="site" style="height: 28.5px;line-height: 28.5px">151</div>
        <div id="site-150" class="site" style="height: 28.5px;line-height: 28.5px">150</div>
    </div>
    <!--&lt;!&ndash; 第5列(宽度 70px) &ndash;&gt;-->
    <div class="site-row site-row-5">
        <div id="site-120" class="site" style="height: 28.5px;line-height: 28.5px">120</div>
        <div id="site-121" class="site" style="height: 28.5px;line-height: 28.5px">121</div>
        <div id="site-122" class="site" style="height: 71px;line-height: 71px">122</div>
        <div id="site-123" class="site" style="height: 28.5px;line-height: 28.5px">123</div>
        <div id="site-124" class="site" style="height: 28.5px;line-height: 28.5px">124</div>
        <div id="site-125" class="site" style="height: 71px;line-height: 71px">125</div>
        <div id="site-126" class="site" style="height: 28.5px;line-height: 28.5px">126</div>
        <div id="site-127" class="site" style="height: 28.5px;line-height: 28.5px">127</div>
        <div id="site-128" class="site" style="height: 71px;line-height: 71px">128</div>
        <div id="site-129" class="site" style="height: 28.5px;line-height: 28.5px">129</div>
        <div id="site-130" class="site" style="height: 28.5px;line-height: 28.5px">130</div>
        <div id="site-131" class="site" style="height: 71px;line-height: 71px">131</div>
        <div id="site-132" class="site" style="height: 28.5px;line-height: 28.5px">132</div>
        <div id="site-133" class="site" style="height: 28.5px;line-height: 28.5px">133</div>
    </div>
    <!--&lt;!&ndash; 第6列(宽度 70px) &ndash;&gt;-->
    <div class="site-row site-row-6">
        <div id="site-183" class="site">183</div>
        <div id="site-184" class="site" style="margin-top: 21px">184</div>
        <div id="site-185" class="site" style="margin-top: 73px">185</div>
        <div id="site-186" class="site" style="margin-top: 21px">186</div>
        <div id="site-187" class="site" style="margin-top: 73px">187</div>
        <div id="site-188" class="site" style="margin-top: 21px">188</div>
        <div id="site-189" class="site" style="margin-top: 73px">189</div>
        <div id="site-190" class="site" style="margin-top: 21px">190</div>
        <div id="site-191" class="site" style="margin-top: 73px">191</div>
        <div id="site-192" class="site" style="margin-top: 21px">192</div>
    </div>
    <!-- 货架 + 堆垛机 + 入库站点 -->
    <div class="main-part">
@@ -109,81 +32,72 @@
        <div class="lane">
            <!-- 货架 -->
            <div class="stock-group">
                <button class="item" style="margin-left: 82px">&nbsp2&nbsp</button>
                <button class="item">&nbsp4&nbsp</button>
                <button class="item">&nbsp6&nbsp</button>
                <button class="item">&nbsp8&nbsp</button>
                <button class="item">10</button>
                <button class="item">12</button>
                <button class="item">14</button>
                <button class="item">16</button>
                <button class="item">18</button>
                <button class="item">20</button>
                <button class="item">22</button>
                <button class="item">24</button>
                <button class="item">26</button>
                <button class="item">28</button>
                <button class="item">30</button>
                <button class="item">32</button>
                <button class="item">34</button>
                <button class="item">36</button>
                <button class="item">38</button>
                <button class="item">40</button>
                <button class="item">42</button>
                <button class="item">44</button>
                <button class="item">46</button>
                <button class="item">48</button>
                <button class="item">50</button>
                <button class="item">52</button>
                <button class="item">54</button>
                <button class="item">56</button>
                <button class="item" style="margin-left: 82px">60</button>
                <button class="item">58</button>
                <button class="item">60</button>
                <button class="item">62</button>
                <button class="item">64</button>
                <button class="item">66</button>
                <button class="item">68</button>
                <button class="item">70</button>
                <span class="row-no">1#</span>
                <button class="item">56</button>
                <button class="item">54</button>
                <button class="item">52</button>
                <button class="item">50</button>
                <button class="item">48</button>
                <button class="item">46</button>
                <button class="item">44</button>
                <button class="item">42</button>
                <button class="item">40</button>
                <button class="item">38</button>
                <button class="item">36</button>
                <button class="item">34</button>
                <button class="item">32</button>
                <button class="item">30</button>
                <button class="item">28</button>
                <button class="item">26</button>
                <button class="item">24</button>
                <button class="item">22</button>
                <button class="item">20</button>
                <button class="item">18</button>
                <button class="item">16</button>
                <button class="item">14</button>
                <button class="item">12</button>
                <button class="item">10</button>
                <button class="item">8</button>
                <button class="item">6</button>
                <button class="item">4</button>
                <button class="item">2</button>
            </div>
            <div class="stock-group">
                <div id="site-100" class="site" style="">100</div>
                <button class="item">&nbsp2&nbsp</button>
                <button class="item">&nbsp4&nbsp</button>
                <button class="item">&nbsp6&nbsp</button>
                <button class="item">&nbsp8&nbsp</button>
                <button class="item">10</button>
                <button class="item">12</button>
                <button class="item">14</button>
                <button class="item">16</button>
                <button class="item">18</button>
                <button class="item">20</button>
                <button class="item">22</button>
                <button class="item">24</button>
                <button class="item">26</button>
                <button class="item">28</button>
                <button class="item">30</button>
                <button class="item">32</button>
                <button class="item">34</button>
                <button class="item">36</button>
                <button class="item">38</button>
                <button class="item">40</button>
                <button class="item">42</button>
                <button class="item">44</button>
                <button class="item">46</button>
                <button class="item">48</button>
                <button class="item">50</button>
                <button class="item">52</button>
                <button class="item">54</button>
                <button class="item">56</button>
                <button class="item" style="margin-left: 82px">60</button>
                <button class="item">58</button>
                <button class="item">60</button>
                <button class="item">62</button>
                <button class="item">64</button>
                <button class="item">66</button>
                <button class="item">68</button>
                <button class="item">70</button>
                <span class="row-no">2#</span>
                <button class="item">56</button>
                <button class="item">54</button>
                <button class="item">52</button>
                <button class="item">50</button>
                <button class="item">48</button>
                <button class="item">46</button>
                <button class="item">44</button>
                <button class="item">42</button>
                <button class="item">40</button>
                <button class="item">38</button>
                <button class="item">36</button>
                <button class="item">34</button>
                <button class="item">32</button>
                <button class="item">30</button>
                <button class="item">28</button>
                <button class="item">26</button>
                <button class="item">24</button>
                <button class="item">22</button>
                <button class="item">20</button>
                <button class="item">18</button>
                <button class="item">16</button>
                <button class="item">14</button>
                <button class="item">12</button>
                <button class="item">10</button>
                <button class="item">8</button>
                <button class="item">6</button>
                <button class="item">4</button>
                <button class="item">2</button>
                <div id="site-101" class="site" style="">101</div>
            </div>
            <!-- 堆垛机 -->
            <div class="crn">
@@ -192,81 +106,70 @@
            </div>
            <!-- 货架 -->
            <div class="stock-group">
                <div id="site-101" class="site" style="">101</div>
                <button class="item">&nbsp2&nbsp</button>
                <button class="item">&nbsp4&nbsp</button>
                <button class="item">&nbsp6&nbsp</button>
                <button class="item">&nbsp8&nbsp</button>
                <button class="item">10</button>
                <button class="item">12</button>
                <button class="item">14</button>
                <button class="item">16</button>
                <button class="item">18</button>
                <button class="item">20</button>
                <button class="item">22</button>
                <button class="item">24</button>
                <button class="item">26</button>
                <button class="item">28</button>
                <button class="item">30</button>
                <button class="item">32</button>
                <button class="item">34</button>
                <button class="item">36</button>
                <button class="item">38</button>
                <button class="item">40</button>
                <button class="item">42</button>
                <button class="item">44</button>
                <button class="item">46</button>
                <button class="item">48</button>
                <button class="item">50</button>
                <button class="item">52</button>
                <button class="item">54</button>
                <button class="item">56</button>
                <button class="item" style="margin-left: 82px">60</button>
                <button class="item">58</button>
                <button class="item">60</button>
                <button class="item">62</button>
                <button class="item">64</button>
                <button class="item">66</button>
                <button class="item">68</button>
                <button class="item">70</button>
                <span class="row-no">3#</span>
                <button class="item">56</button>
                <button class="item">54</button>
                <button class="item">52</button>
                <button class="item">50</button>
                <button class="item">48</button>
                <button class="item">46</button>
                <button class="item">44</button>
                <button class="item">42</button>
                <button class="item">40</button>
                <button class="item">38</button>
                <button class="item">36</button>
                <button class="item">34</button>
                <button class="item">32</button>
                <button class="item">30</button>
                <button class="item">28</button>
                <button class="item">26</button>
                <button class="item">24</button>
                <button class="item">22</button>
                <button class="item">20</button>
                <button class="item">18</button>
                <button class="item">16</button>
                <button class="item">14</button>
                <button class="item">12</button>
                <button class="item">10</button>
                <button class="item">8</button>
                <button class="item">6</button>
                <button class="item">4</button>
                <button class="item">2</button>
                <div id="site-106" class="site" style="">106</div>
            </div>
            <div class="stock-group">
                <button class="item" style="margin-left: 82px">&nbsp2&nbsp</button>
                <button class="item">&nbsp4&nbsp</button>
                <button class="item">&nbsp6&nbsp</button>
                <button class="item">&nbsp8&nbsp</button>
                <button class="item">10</button>
                <button class="item">12</button>
                <button class="item">14</button>
                <button class="item">16</button>
                <button class="item">18</button>
                <button class="item">20</button>
                <button class="item">22</button>
                <button class="item">24</button>
                <button class="item">26</button>
                <button class="item">28</button>
                <button class="item">30</button>
                <button class="item">32</button>
                <button class="item">34</button>
                <button class="item">36</button>
                <button class="item">38</button>
                <button class="item">40</button>
                <button class="item">42</button>
                <button class="item">44</button>
                <button class="item">46</button>
                <button class="item">48</button>
                <button class="item">50</button>
                <button class="item">52</button>
                <button class="item">54</button>
                <button class="item">56</button>
                <button class="item" style="margin-left: 82px">60</button>
                <button class="item">58</button>
                <button class="item">60</button>
                <button class="item">62</button>
                <button class="item">64</button>
                <button class="item">66</button>
                <button class="item">68</button>
                <button class="item">70</button>
                <span class="row-no">4#</span>
                <button class="item">56</button>
                <button class="item">54</button>
                <button class="item">52</button>
                <button class="item">50</button>
                <button class="item">48</button>
                <button class="item">46</button>
                <button class="item">44</button>
                <button class="item">42</button>
                <button class="item">40</button>
                <button class="item">38</button>
                <button class="item">36</button>
                <button class="item">34</button>
                <button class="item">32</button>
                <button class="item">30</button>
                <button class="item">28</button>
                <button class="item">26</button>
                <button class="item">24</button>
                <button class="item">22</button>
                <button class="item">20</button>
                <button class="item">18</button>
                <button class="item">16</button>
                <button class="item">14</button>
                <button class="item">12</button>
                <button class="item">10</button>
                <button class="item">8</button>
                <button class="item">6</button>
                <button class="item">4</button>
                <button class="item">2</button>
            </div>
        </div>
        <!-- 第二组 -->
@@ -274,166 +177,127 @@
            <span class="row-no"></span>
            <!-- 货架 -->
            <div class="stock-group">
                <div class="site" style="background-color: rgb(108,167,168)"></div>
                <button class="item">&nbsp2&nbsp</button>
                <button class="item">&nbsp4&nbsp</button>
                <button class="item">&nbsp6&nbsp</button>
                <button class="item">&nbsp8&nbsp</button>
                <button class="item">10</button>
                <button class="item">12</button>
                <button class="item">14</button>
                <button class="item">16</button>
                <button class="item">18</button>
                <button class="item">20</button>
                <button class="item">22</button>
                <button class="item">24</button>
                <button class="item">26</button>
                <button class="item">28</button>
                <button class="item">30</button>
                <button class="item">32</button>
                <button class="item">34</button>
                <button class="item">36</button>
                <button class="item">38</button>
                <button class="item">40</button>
                <button class="item">42</button>
                <button class="item">44</button>
                <button class="item">46</button>
                <button class="item">48</button>
                <button class="item" style="margin-left: 193px">52</button>
                <button class="item">50</button>
                <button class="item">52</button>
                <button class="item">54</button>
                <button class="item">56</button>
                <button class="item">58</button>
                <button class="item">60</button>
                <button class="item">62</button>
                <button class="item">64</button>
                <button class="item">66</button>
                <button class="item">68</button>
                <button class="item">70</button>
                <span class="row-no">5#</span>
                <button class="item">48</button>
                <button class="item">46</button>
                <button class="item">44</button>
                <button class="item">42</button>
                <button class="item">40</button>
                <button class="item">38</button>
                <button class="item">36</button>
                <button class="item">34</button>
                <button class="item">32</button>
                <button class="item">30</button>
                <button class="item">28</button>
                <button class="item">26</button>
                <button class="item">24</button>
                <button class="item">22</button>
                <button class="item">20</button>
                <button class="item">18</button>
                <button class="item">16</button>
                <button class="item">14</button>
                <button class="item">12</button>
                <button class="item">10</button>
                <button class="item">8</button>
                <button class="item">6</button>
                <button class="item">4</button>
                <button class="item">2</button>
            </div>
            <div class="stock-group">
                <div id="site-102" class="site" style="">102</div>
                <button class="item">&nbsp2&nbsp</button>
                <button class="item">&nbsp4&nbsp</button>
                <button class="item">&nbsp6&nbsp</button>
                <button class="item">&nbsp8&nbsp</button>
                <button class="item">10</button>
                <button class="item">12</button>
                <button class="item">14</button>
                <button class="item">16</button>
                <button class="item">18</button>
                <button class="item">20</button>
                <button class="item">22</button>
                <button class="item">24</button>
                <button class="item">26</button>
                <button class="item">28</button>
                <button class="item">30</button>
                <button class="item">32</button>
                <button class="item">34</button>
                <button class="item">36</button>
                <button class="item">38</button>
                <button class="item">40</button>
                <button class="item">42</button>
                <button class="item">44</button>
                <button class="item">46</button>
                <button class="item">48</button>
                <button class="item" style="margin-left: 193px">52</button>
                <button class="item">50</button>
                <button class="item">52</button>
                <button class="item">54</button>
                <button class="item">56</button>
                <button class="item">58</button>
                <button class="item">60</button>
                <button class="item">62</button>
                <button class="item">64</button>
                <button class="item">66</button>
                <button class="item">68</button>
                <button class="item">70</button>
                <span class="row-no">6#</span>
                <button class="item">48</button>
                <button class="item">46</button>
                <button class="item">44</button>
                <button class="item">42</button>
                <button class="item">40</button>
                <button class="item">38</button>
                <button class="item">36</button>
                <button class="item">34</button>
                <button class="item">32</button>
                <button class="item">30</button>
                <button class="item">28</button>
                <button class="item">26</button>
                <button class="item">24</button>
                <button class="item">22</button>
                <button class="item">20</button>
                <button class="item">18</button>
                <button class="item">16</button>
                <button class="item">14</button>
                <button class="item">12</button>
                <button class="item">10</button>
                <button class="item">8</button>
                <button class="item">6</button>
                <button class="item">4</button>
                <button class="item">2</button>
                <div id="site-113" class="site" style="">113</div>
            </div>
            <!-- 堆垛机 -->
            <div class="crn">
            <div class="crn" style="margin-left: 108px">
                <hr class="pathway">
                <div id="crn-2" class="machine"></div>
            </div>
            <!-- 货架 -->
            <div class="stock-group">
                <div id="site-103" class="site" style="">103</div>
                <button class="item">&nbsp2&nbsp</button>
                <button class="item">&nbsp4&nbsp</button>
                <button class="item">&nbsp6&nbsp</button>
                <button class="item">&nbsp8&nbsp</button>
                <button class="item">10</button>
                <button class="item">12</button>
                <button class="item">14</button>
                <button class="item">16</button>
                <button class="item">18</button>
                <button class="item">20</button>
                <button class="item">22</button>
                <button class="item">24</button>
                <button class="item">26</button>
                <button class="item">28</button>
                <button class="item">30</button>
                <button class="item">32</button>
                <button class="item">34</button>
                <button class="item">36</button>
                <button class="item">38</button>
                <button class="item">40</button>
                <button class="item">42</button>
                <button class="item">44</button>
                <button class="item">46</button>
                <button class="item">48</button>
                <button class="item" style="margin-left: 193px">52</button>
                <button class="item">50</button>
                <button class="item">52</button>
                <button class="item">54</button>
                <button class="item">56</button>
                <button class="item">58</button>
                <button class="item">60</button>
                <button class="item">62</button>
                <button class="item">64</button>
                <button class="item">66</button>
                <button class="item">68</button>
                <button class="item">70</button>
                <span class="row-no">7#</span>
                <button class="item">48</button>
                <button class="item">46</button>
                <button class="item">44</button>
                <button class="item">42</button>
                <button class="item">40</button>
                <button class="item">38</button>
                <button class="item">36</button>
                <button class="item">34</button>
                <button class="item">32</button>
                <button class="item">30</button>
                <button class="item">28</button>
                <button class="item">26</button>
                <button class="item">24</button>
                <button class="item">22</button>
                <button class="item">20</button>
                <button class="item">18</button>
                <button class="item">16</button>
                <button class="item">14</button>
                <button class="item">12</button>
                <button class="item">10</button>
                <button class="item">8</button>
                <button class="item">6</button>
                <button class="item">4</button>
                <button class="item">2</button>
                <div id="site-120" class="site" style="">120</div>
            </div>
            <div class="stock-group">
                <div class="site" style="background-color: rgb(108,167,168)"></div>
                <button class="item">&nbsp2&nbsp</button>
                <button class="item">&nbsp4&nbsp</button>
                <button class="item">&nbsp6&nbsp</button>
                <button class="item">&nbsp8&nbsp</button>
                <button class="item">10</button>
                <button class="item">12</button>
                <button class="item">14</button>
                <button class="item">16</button>
                <button class="item">18</button>
                <button class="item">20</button>
                <button class="item">22</button>
                <button class="item">24</button>
                <button class="item">26</button>
                <button class="item">28</button>
                <button class="item">30</button>
                <button class="item">32</button>
                <button class="item">34</button>
                <button class="item">36</button>
                <button class="item">38</button>
                <button class="item">40</button>
                <button class="item">42</button>
                <button class="item">44</button>
                <button class="item">46</button>
                <button class="item">48</button>
                <button class="item" style="margin-left: 193px">52</button>
                <button class="item">50</button>
                <button class="item">52</button>
                <button class="item">54</button>
                <button class="item">56</button>
                <button class="item">58</button>
                <button class="item">60</button>
                <button class="item">62</button>
                <button class="item">64</button>
                <button class="item">66</button>
                <button class="item">68</button>
                <button class="item">70</button>
                <span class="row-no">8#</span>
                <button class="item">48</button>
                <button class="item">46</button>
                <button class="item">44</button>
                <button class="item">42</button>
                <button class="item">40</button>
                <button class="item">38</button>
                <button class="item">36</button>
                <button class="item">34</button>
                <button class="item">32</button>
                <button class="item">30</button>
                <button class="item">28</button>
                <button class="item">26</button>
                <button class="item">24</button>
                <button class="item">22</button>
                <button class="item">20</button>
                <button class="item">18</button>
                <button class="item">16</button>
                <button class="item">14</button>
                <button class="item">12</button>
                <button class="item">10</button>
                <button class="item">8</button>
                <button class="item">6</button>
                <button class="item">4</button>
                <button class="item">2</button>
            </div>
        </div>
        <!--第三组-->
@@ -441,495 +305,170 @@
            <span class="row-no"></span>
            <!-- 货架 -->
            <div class="stock-group">
                <button class="item" style="margin-left: 82px">&nbsp2&nbsp</button>
                <button class="item">&nbsp4&nbsp</button>
                <button class="item">&nbsp6&nbsp</button>
                <button class="item">&nbsp8&nbsp</button>
                <button class="item">10</button>
                <button class="item">12</button>
                <button class="item">14</button>
                <button class="item">16</button>
                <button class="item">18</button>
                <button class="item">20</button>
                <button class="item">22</button>
                <button class="item">24</button>
                <button class="item">26</button>
                <button class="item">28</button>
                <button class="item">30</button>
                <button class="item">32</button>
                <button class="item">34</button>
                <button class="item">36</button>
                <button class="item">38</button>
                <button class="item">40</button>
                <button class="item">42</button>
                <button class="item">44</button>
                <button class="item">46</button>
                <button class="item">48</button>
                <button class="item" style="margin-left: 193px">52</button>
                <button class="item">50</button>
                <button class="item">52</button>
                <button class="item">54</button>
                <button class="item">56</button>
                <button class="item">58</button>
                <button class="item">60</button>
                <button class="item">62</button>
                <button class="item">64</button>
                <button class="item">66</button>
                <button class="item">68</button>
                <button class="item">70</button>
                <span class="row-no">9#</span>
                <button class="item">48</button>
                <button class="item">46</button>
                <button class="item">44</button>
                <button class="item">42</button>
                <button class="item">40</button>
                <button class="item">38</button>
                <button class="item">36</button>
                <button class="item">34</button>
                <button class="item">32</button>
                <button class="item">30</button>
                <button class="item">28</button>
                <button class="item">26</button>
                <button class="item">24</button>
                <button class="item">22</button>
                <button class="item">20</button>
                <button class="item">18</button>
                <button class="item">16</button>
                <button class="item">14</button>
                <button class="item">12</button>
                <button class="item">10</button>
                <button class="item">8</button>
                <button class="item">6</button>
                <button class="item">4</button>
                <button class="item">2</button>
            </div>
            <div class="stock-group">
                <div id="site-104" class="site" style="">104</div>
                <button class="item">&nbsp2&nbsp</button>
                <button class="item">&nbsp4&nbsp</button>
                <button class="item">&nbsp6&nbsp</button>
                <button class="item">&nbsp8&nbsp</button>
                <button class="item">10</button>
                <button class="item">12</button>
                <button class="item">14</button>
                <button class="item">16</button>
                <button class="item">18</button>
                <button class="item">20</button>
                <button class="item">22</button>
                <button class="item">24</button>
                <button class="item">26</button>
                <button class="item">28</button>
                <button class="item">30</button>
                <button class="item">32</button>
                <button class="item">34</button>
                <button class="item">36</button>
                <button class="item">38</button>
                <button class="item">40</button>
                <button class="item">42</button>
                <button class="item">44</button>
                <button class="item">46</button>
                <button class="item">48</button>
                <button class="item" style="margin-left: 193px">52</button>
                <button class="item">50</button>
                <button class="item">52</button>
                <button class="item">54</button>
                <button class="item">56</button>
                <button class="item">58</button>
                <button class="item">60</button>
                <button class="item">62</button>
                <button class="item">64</button>
                <button class="item">66</button>
                <button class="item">68</button>
                <button class="item">70</button>
                <span class="row-no">10#</span>
                <button class="item">48</button>
                <button class="item">46</button>
                <button class="item">44</button>
                <button class="item">42</button>
                <button class="item">40</button>
                <button class="item">38</button>
                <button class="item">36</button>
                <button class="item">34</button>
                <button class="item">32</button>
                <button class="item">30</button>
                <button class="item">28</button>
                <button class="item">26</button>
                <button class="item">24</button>
                <button class="item">22</button>
                <button class="item">20</button>
                <button class="item">18</button>
                <button class="item">16</button>
                <button class="item">14</button>
                <button class="item">12</button>
                <button class="item">10</button>
                <button class="item">8</button>
                <button class="item">6</button>
                <button class="item">4</button>
                <button class="item">2</button>
                <div id="site-127" class="site" style="">127</div>
            </div>
            <!-- 堆垛机 -->
            <div class="crn">
            <div class="crn" style="margin-left: 108px">
                <hr class="pathway">
                <div id="crn-3" class="machine"></div>
            </div>
            <!-- 货架 -->
            <div class="stock-group">
                <div id="site-105" class="site" style="">105</div>
                <button class="item">&nbsp2&nbsp</button>
                <button class="item">&nbsp4&nbsp</button>
                <button class="item">&nbsp6&nbsp</button>
                <button class="item">&nbsp8&nbsp</button>
                <button class="item">10</button>
                <button class="item">12</button>
                <button class="item">14</button>
                <button class="item">16</button>
                <button class="item">18</button>
                <button class="item">20</button>
                <button class="item">22</button>
                <button class="item">24</button>
                <button class="item">26</button>
                <button class="item">28</button>
                <button class="item">30</button>
                <button class="item">32</button>
                <button class="item">34</button>
                <button class="item">36</button>
                <button class="item">38</button>
                <button class="item">40</button>
                <button class="item">42</button>
                <button class="item">44</button>
                <button class="item">46</button>
                <button class="item">48</button>
                <button class="item" style="margin-left: 193px">52</button>
                <button class="item">50</button>
                <button class="item">52</button>
                <button class="item">54</button>
                <button class="item">56</button>
                <button class="item">58</button>
                <button class="item">60</button>
                <button class="item">62</button>
                <button class="item">64</button>
                <button class="item">66</button>
                <button class="item">68</button>
                <button class="item">70</button>
                <span class="row-no">11#</span>
                <button class="item">48</button>
                <button class="item">46</button>
                <button class="item">44</button>
                <button class="item">42</button>
                <button class="item">40</button>
                <button class="item">38</button>
                <button class="item">36</button>
                <button class="item">34</button>
                <button class="item">32</button>
                <button class="item">30</button>
                <button class="item">28</button>
                <button class="item">26</button>
                <button class="item">24</button>
                <button class="item">22</button>
                <button class="item">20</button>
                <button class="item">18</button>
                <button class="item">16</button>
                <button class="item">14</button>
                <button class="item">12</button>
                <button class="item">10</button>
                <button class="item">8</button>
                <button class="item">6</button>
                <button class="item">4</button>
                <button class="item">2</button>
                <div id="site-133" class="site" style="">133</div>
            </div>
            <div class="stock-group">
                <button class="item" style="margin-left: 82px">&nbsp2&nbsp</button>
                <button class="item">&nbsp4&nbsp</button>
                <button class="item">&nbsp6&nbsp</button>
                <button class="item">&nbsp8&nbsp</button>
                <button class="item">10</button>
                <button class="item">12</button>
                <button class="item">14</button>
                <button class="item">16</button>
                <button class="item">18</button>
                <button class="item">20</button>
                <button class="item">22</button>
                <button class="item">24</button>
                <button class="item">26</button>
                <button class="item">28</button>
                <button class="item">30</button>
                <button class="item">32</button>
                <button class="item">34</button>
                <button class="item">36</button>
                <button class="item">38</button>
                <button class="item">40</button>
                <button class="item">42</button>
                <button class="item">44</button>
                <button class="item">46</button>
                <button class="item">48</button>
                <button class="item" style="margin-left: 193px">52</button>
                <button class="item">50</button>
                <button class="item">52</button>
                <button class="item">54</button>
                <button class="item">56</button>
                <button class="item">58</button>
                <button class="item">60</button>
                <button class="item">62</button>
                <button class="item">64</button>
                <button class="item">66</button>
                <button class="item">68</button>
                <button class="item">70</button>
                <span class="row-no">12#</span>
            </div>
        </div>
        <!--第四组-->
        <div class="lane">
            <span class="row-no"></span>
            <!-- 货架 -->
            <div class="stock-group">
                <button class="item" style="margin-left: 82px">&nbsp2&nbsp</button>
                <button class="item">&nbsp4&nbsp</button>
                <button class="item">&nbsp6&nbsp</button>
                <button class="item">&nbsp8&nbsp</button>
                <button class="item">10</button>
                <button class="item">12</button>
                <button class="item">14</button>
                <button class="item">16</button>
                <button class="item">18</button>
                <button class="item">20</button>
                <button class="item">22</button>
                <button class="item">24</button>
                <button class="item">26</button>
                <button class="item">28</button>
                <button class="item">30</button>
                <button class="item">32</button>
                <button class="item">34</button>
                <button class="item">36</button>
                <button class="item">38</button>
                <button class="item">40</button>
                <button class="item">42</button>
                <button class="item">44</button>
                <button class="item">46</button>
                <button class="item">48</button>
                <button class="item">50</button>
                <button class="item">52</button>
                <button class="item">54</button>
                <button class="item">56</button>
                <button class="item">58</button>
                <button class="item">60</button>
                <button class="item">62</button>
                <button class="item">64</button>
                <button class="item">66</button>
                <button class="item">68</button>
                <button class="item">70</button>
                <span class="row-no">13#</span>
            </div>
            <div class="stock-group">
                <div id="site-106" class="site" style="">106</div>
                <button class="item">&nbsp2&nbsp</button>
                <button class="item">&nbsp4&nbsp</button>
                <button class="item">&nbsp6&nbsp</button>
                <button class="item">&nbsp8&nbsp</button>
                <button class="item">10</button>
                <button class="item">12</button>
                <button class="item">14</button>
                <button class="item">16</button>
                <button class="item">18</button>
                <button class="item">20</button>
                <button class="item">22</button>
                <button class="item">24</button>
                <button class="item">26</button>
                <button class="item">28</button>
                <button class="item">30</button>
                <button class="item">32</button>
                <button class="item">34</button>
                <button class="item">36</button>
                <button class="item">38</button>
                <button class="item">40</button>
                <button class="item">42</button>
                <button class="item">44</button>
                <button class="item">46</button>
                <button class="item">48</button>
                <button class="item">50</button>
                <button class="item">52</button>
                <button class="item">54</button>
                <button class="item">56</button>
                <button class="item">58</button>
                <button class="item">60</button>
                <button class="item">62</button>
                <button class="item">64</button>
                <button class="item">66</button>
                <button class="item">68</button>
                <button class="item">70</button>
                <span class="row-no">14#</span>
            </div>
            <!-- 堆垛机 -->
            <div class="crn">
                <hr class="pathway">
                <div id="crn-4" class="machine"></div>
            </div>
            <!-- 货架 -->
            <div class="stock-group">
                <div id="site-107" class="site" style="">107</div>
                <button class="item">&nbsp2&nbsp</button>
                <button class="item">&nbsp4&nbsp</button>
                <button class="item">&nbsp6&nbsp</button>
                <button class="item">&nbsp8&nbsp</button>
                <button class="item">10</button>
                <button class="item">12</button>
                <button class="item">14</button>
                <button class="item">16</button>
                <button class="item">18</button>
                <button class="item">20</button>
                <button class="item">22</button>
                <button class="item">24</button>
                <button class="item">26</button>
                <button class="item">28</button>
                <button class="item">30</button>
                <button class="item">32</button>
                <button class="item">34</button>
                <button class="item">36</button>
                <button class="item">38</button>
                <button class="item">40</button>
                <button class="item">42</button>
                <button class="item">44</button>
                <button class="item">46</button>
                <button class="item">48</button>
                <button class="item">50</button>
                <button class="item">52</button>
                <button class="item">54</button>
                <button class="item">56</button>
                <button class="item">58</button>
                <button class="item">60</button>
                <button class="item">62</button>
                <button class="item">64</button>
                <button class="item">66</button>
                <button class="item">68</button>
                <button class="item">70</button>
                <span class="row-no">15#</span>
            </div>
            <div class="stock-group">
                <button class="item" style="margin-left: 82px">&nbsp2&nbsp</button>
                <button class="item">&nbsp4&nbsp</button>
                <button class="item">&nbsp6&nbsp</button>
                <button class="item">&nbsp8&nbsp</button>
                <button class="item">10</button>
                <button class="item">12</button>
                <button class="item">14</button>
                <button class="item">16</button>
                <button class="item">18</button>
                <button class="item">20</button>
                <button class="item">22</button>
                <button class="item">24</button>
                <button class="item">26</button>
                <button class="item">28</button>
                <button class="item">30</button>
                <button class="item">32</button>
                <button class="item">34</button>
                <button class="item">36</button>
                <button class="item">38</button>
                <button class="item">40</button>
                <button class="item">42</button>
                <button class="item">44</button>
                <button class="item">46</button>
                <button class="item">48</button>
                <button class="item">50</button>
                <button class="item">52</button>
                <button class="item">54</button>
                <button class="item">56</button>
                <button class="item">58</button>
                <button class="item">60</button>
                <button class="item">62</button>
                <button class="item">64</button>
                <button class="item">66</button>
                <button class="item">68</button>
                <button class="item">70</button>
                <span class="row-no">16#</span>
            </div>
        </div>
        <!--第五组-->
        <div class="lane">
            <span class="row-no"></span>
            <!-- 货架 -->
            <div class="stock-group">
                <button class="item" style="margin-left: 82px">&nbsp2&nbsp</button>
                <button class="item">&nbsp4&nbsp</button>
                <button class="item">&nbsp6&nbsp</button>
                <button class="item">&nbsp8&nbsp</button>
                <button class="item">10</button>
                <button class="item">12</button>
                <button class="item">14</button>
                <button class="item">16</button>
                <button class="item">18</button>
                <button class="item">20</button>
                <button class="item">22</button>
                <button class="item">24</button>
                <button class="item">26</button>
                <button class="item">28</button>
                <button class="item">30</button>
                <button class="item">32</button>
                <button class="item">34</button>
                <button class="item">36</button>
                <button class="item">38</button>
                <button class="item">40</button>
                <button class="item">42</button>
                <button class="item">44</button>
                <button class="item">46</button>
                <button class="item">48</button>
                <button class="item">50</button>
                <button class="item">52</button>
                <button class="item">54</button>
                <button class="item">56</button>
                <button class="item">58</button>
                <button class="item">60</button>
                <button class="item">62</button>
                <button class="item">64</button>
                <button class="item">66</button>
                <button class="item">68</button>
                <button class="item">70</button>
                <span class="row-no">17#</span>
            </div>
            <div class="stock-group">
                <div id="site-108" class="site" style="">108</div>
                <button class="item">&nbsp2&nbsp</button>
                <button class="item">&nbsp4&nbsp</button>
                <button class="item">&nbsp6&nbsp</button>
                <button class="item">&nbsp8&nbsp</button>
                <button class="item">10</button>
                <button class="item">12</button>
                <button class="item">14</button>
                <button class="item">16</button>
                <button class="item">18</button>
                <button class="item">20</button>
                <button class="item">22</button>
                <button class="item">24</button>
                <button class="item">26</button>
                <button class="item">28</button>
                <button class="item">30</button>
                <button class="item">32</button>
                <button class="item">34</button>
                <button class="item">36</button>
                <button class="item">38</button>
                <button class="item">40</button>
                <button class="item">42</button>
                <button class="item">44</button>
                <button class="item">46</button>
                <button class="item">48</button>
                <button class="item">50</button>
                <button class="item">52</button>
                <button class="item">54</button>
                <button class="item">56</button>
                <button class="item">58</button>
                <button class="item">60</button>
                <button class="item">62</button>
                <button class="item">64</button>
                <button class="item">66</button>
                <button class="item">68</button>
                <button class="item">70</button>
                <span class="row-no">18#</span>
            </div>
            <!-- 堆垛机 -->
            <div class="crn">
                <hr class="pathway">
                <div id="crn-5" class="machine"></div>
            </div>
            <!-- 货架 -->
            <div class="stock-group">
                <div id="site-109" class="site" style="">109</div>
                <button class="item">&nbsp2&nbsp</button>
                <button class="item">&nbsp4&nbsp</button>
                <button class="item">&nbsp6&nbsp</button>
                <button class="item">&nbsp8&nbsp</button>
                <button class="item">10</button>
                <button class="item">12</button>
                <button class="item">14</button>
                <button class="item">16</button>
                <button class="item">18</button>
                <button class="item">20</button>
                <button class="item">22</button>
                <button class="item">24</button>
                <button class="item">26</button>
                <button class="item">28</button>
                <button class="item">30</button>
                <button class="item">32</button>
                <button class="item">34</button>
                <button class="item">36</button>
                <button class="item">38</button>
                <button class="item">40</button>
                <button class="item">42</button>
                <button class="item">44</button>
                <button class="item">46</button>
                <button class="item">48</button>
                <button class="item">50</button>
                <button class="item">52</button>
                <button class="item">54</button>
                <button class="item">56</button>
                <button class="item">58</button>
                <button class="item">60</button>
                <button class="item">62</button>
                <button class="item">64</button>
                <button class="item">66</button>
                <button class="item">68</button>
                <button class="item">70</button>
                <span class="row-no">19#</span>
            </div>
            <div class="stock-group">
                <button class="item" style="margin-left: 82px">&nbsp2&nbsp</button>
                <button class="item">&nbsp4&nbsp</button>
                <button class="item">&nbsp6&nbsp</button>
                <button class="item">&nbsp8&nbsp</button>
                <button class="item">10</button>
                <button class="item">12</button>
                <button class="item">14</button>
                <button class="item">16</button>
                <button class="item">18</button>
                <button class="item">20</button>
                <button class="item">22</button>
                <button class="item">24</button>
                <button class="item">26</button>
                <button class="item">28</button>
                <button class="item">30</button>
                <button class="item">32</button>
                <button class="item">34</button>
                <button class="item">36</button>
                <button class="item">38</button>
                <button class="item">40</button>
                <button class="item">42</button>
                <button class="item">44</button>
                <button class="item">46</button>
                <button class="item">48</button>
                <button class="item">50</button>
                <button class="item">52</button>
                <button class="item">54</button>
                <button class="item">56</button>
                <button class="item">58</button>
                <button class="item">60</button>
                <button class="item">62</button>
                <button class="item">64</button>
                <button class="item">66</button>
                <button class="item">68</button>
                <button class="item">70</button>
                <span class="row-no">20#</span>
                <button class="item">32</button>
                <button class="item">30</button>
                <button class="item">28</button>
                <button class="item">26</button>
                <button class="item">24</button>
                <button class="item">22</button>
                <button class="item">20</button>
                <button class="item">18</button>
                <button class="item">16</button>
                <button class="item">14</button>
                <button class="item">12</button>
                <button class="item">10</button>
                <button class="item">8</button>
                <button class="item">6</button>
                <button class="item">4</button>
                <button class="item">2</button>
            </div>
        </div>
    </div>
    <!--第1列(宽度 70px) -->
    <div class="site-row site-row-1">
        <div class="site-k" style="height:39px;width:70px;"></div>
        <div id="site-102" class="site" style="height: 18px;line-height: 18px;">102</div>
        <div id="site-107" class="site" style="height: 18px;line-height: 18px;margin-top: 20px">107</div>
        <div id="site-114" class="site" style="height: 18px;line-height: 18px;margin-top: 68px">114</div>
        <div id="site-121" class="site" style="height: 18px;line-height: 18px;margin-top: 20px">121</div>
        <div id="site-128" class="site" style="height: 18px;line-height: 18px;margin-top: 68px">128</div>
        <div id="site-134" class="site" style="height: 18px;line-height: 18px;margin-top: 20px">134</div>
    </div>
    <div class="site-row site-row-2">
        <div class="site-k" style="height:39px;width:70px;"></div>
        <div id="site-103" class="site" style="height: 18px;line-height: 18px;">103</div>
        <div id="site-105" class="site" style="height: 18px;line-height: 18px">105</div>
        <div id="site-108" class="site" style="height: 18px;line-height: 18px">108</div>
        <div id="site-111" class="site" style="height: 66px;line-height: 66px">111</div>
        <div id="site-115" class="site" style="height: 18px;line-height: 18px">115</div>
        <div id="site-118" class="site" style="height: 18px;line-height: 18px">118</div>
        <div id="site-122" class="site" style="height: 18px;line-height: 18px">122</div>
        <div id="site-125" class="site" style="height: 66px;line-height: 66px">125</div>
        <div id="site-129" class="site" style="height: 18px;line-height: 18px">129</div>
        <div id="site-132" class="site" style="height: 18px;line-height: 18px">132</div>
        <div id="site-135" class="site" style="height: 18px;line-height: 18px">135</div>
    </div>
    <div class="site-row site-row-3">
        <div class="site-k" style="height:39px;width:70px;"></div>
        <div id="site-104" class="site" style="height: 18px;line-height: 18px;width:162px;">104</div>
        <div id="site-109" class="site" style="height: 18px;line-height: 18px; margin-top: 20px">109</div>
        <div id="site-112" class="site" style="height: 66px;line-height: 68px">112</div>
        <div id="site-116" class="site" style="height: 18px;line-height: 18px;">116</div>
        <div id="site-119" class="site" style="height: 18px;line-height: 18px">119</div>
        <div id="site-123" class="site" style="height: 18px;line-height: 18px">123</div>
        <div id="site-126" class="site" style="height: 66px;line-height: 68px">126</div>
        <div id="site-130" class="site" style="height: 18px;line-height: 18px">130</div>
        <div id="site-136" class="site" style="height: 18px;line-height: 18px;width:162px; margin-top: 20px">136</div>
    </div>
    <div class="site-row site-row-4">
        <div id="site-110" class="site" style="height: 18px;line-height: 18px;">110</div>
        <div id="site-117" class="site" style="height: 18px;line-height: 18px; margin-top: 68px">117</div>
        <div id="site-124" class="site" style="height: 18px;line-height: 18px; margin-top: 20px">124</div>
        <div id="site-131" class="site" style="height: 18px;line-height: 18px; margin-top: 68px">131</div>
        </div>
    </div>
    <!--底部-->
@@ -1241,6 +780,7 @@
    var tData1 = []
    var tData2 = []
    var tData3 = []
    function getCodeData(){
        $.ajax({
            url:baseUrl +'/console/barcode/output/site',
@@ -1270,12 +810,11 @@
            }
        })
    }
    setInterval(function () {
        getCodeData();
        renderBarCode();
    }, 1000)
    function renderBarCode() {
@@ -1359,7 +898,6 @@
        $('#siteWindow').attr('style','display:none')
        $('#crnWindow').attr('style','display:none')
    })
    var crn1Position = 0;
@@ -1517,6 +1055,7 @@
            }
        });
    }
    // 扫码器实时数据获取
    function getBarcodeInfo(){
        $.ajax({
@@ -1685,7 +1224,6 @@
        }
        $("#site-" + id).animate({top: targetTop+'px'}, 1000);
    }
</script>