#
pang.jiabao
2024-06-06 220508203309f181f14cb551f9195134b89211ac
#
11个文件已修改
1392 ■■■■■ 已修改文件
src/main/java/com/zy/controller/SiteController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/MainProcess.java 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/ServerBootstrap.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/thread/BarcodeThread.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/thread/SiemensDevpThread.java 94 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/service/impl/MainServiceImpl.java 86 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application.yml 158 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/js/common.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/js/console.map.js 969 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/crn.html 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/rgv.html 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/controller/SiteController.java
@@ -50,8 +50,8 @@
            SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
            Map<String, Object> map2 = new HashMap<>();
            map2.put("floor", 2);
            map2.put("modeVal", devpThread.ioModeOf2F.id);
            map2.put("modeDesc", devpThread.ioModeOf2F.desc);
            map2.put("modeVal", devpThread.ioModeOf101.id);
            map2.put("modeDesc", devpThread.ioModeOf101.desc);
            res.add(map2);
        }
        return R.ok().add(res);
src/main/java/com/zy/core/MainProcess.java
@@ -43,16 +43,16 @@
                    }
                    // 演示
                    mainService.crnDemoOfLocMove1();
//                    mainService.crnDemoOfLocMove1();
                    //刷新RGV地图
                    mainService.refreshRgvMap();
//                    mainService.refreshRgvMap();
                    // 入出库模式切换函数
//                    mainService.ioConvert();
                    mainService.ioConvert();
                    // 拣料、并板、盘点再入库
//                    mainService.stnToCrnStnPick(3);
                    mainService.stnToCrnStnPick2();
//                    mainService.stnToCrnStnPick2();
                    // 入库  ===>> 入库站到堆垛机站,根据条码扫描生成入库工作档
                    mainService.generateStoreWrkFile(1); // 组托
@@ -70,7 +70,7 @@
                    // 堆垛机异常信息记录
                    mainService.recCrnErr(7);
                    // 入库  ===>> 空栈板初始化入库,叉车入库站放货
                    mainService.storeEmptyPlt(8);
//                    mainService.storeEmptyPlt(8);
                    // 出库  ===>> 工作档信息写入led显示器
                    mainService.ledExecute(9);
                    // 其他  ===>> LED显示器复位,显示默认信息
@@ -78,14 +78,14 @@
                    mainService.outOfDevp(11);
                    if (i>10){
                        //空托盘自动出库
                        mainService.autoEmptyOut();
                        //空托盘自动入库
                        mainService.autoEmptyIn();
                        i=0;
                    }
                    i++;
//                    if (i>10){
//                        //空托盘自动出库
//                        mainService.autoEmptyOut();
//                        //空托盘自动入库
//                        mainService.autoEmptyIn();
//                        i=0;
//                    }
//                    i++;
                    // 其他  ===>> 入出库模式切换
//                    i++;
@@ -97,14 +97,14 @@
                    /////////////////////////////////////RGV调度/////////////////////////////////////
//
                    //完成小车任务
                    mainService.rgvCompleteWrkMastSta();
//                    mainService.rgvCompleteWrkMastSta();
//                    //执行小车空板搬运任务
//                    mainService.rgvRunWrkMastEmptyStaPut();//放
//                    mainService.rgvRunWrkMastEmptyStaTake();//取
//                    if (rgcWrk){
//                        //执行小车货物搬运任务
                        mainService.rgvRunWrkMastFullSta();
//                        mainService.rgvRunWrkMastFullSta();
//                        rgcWrk = false;
//                    }else {
//                        mainService.rgvRunWrkMastEmptyStaAvoidance();//避让
src/main/java/com/zy/core/ServerBootstrap.java
@@ -74,13 +74,13 @@
            MessageQueue.init(SlaveType.Led, led);
        }
        // 初始化磅称mq
        for (Slave scale : slaveProperties.getScale()) {
            MessageQueue.init(SlaveType.Scale, scale);
        }
//        for (Slave scale : slaveProperties.getScale()) {
//            MessageQueue.init(SlaveType.Scale, scale);
//        }
        // 初始化台车mq
        for (Slave car : slaveProperties.getCar()) {
            MessageQueue.init(SlaveType.Car, car);
        }
//        for (Slave car : slaveProperties.getCar()) {
//            MessageQueue.init(SlaveType.Car, car);
//        }
    }
    private void initThread(){
src/main/java/com/zy/core/thread/BarcodeThread.java
@@ -23,6 +23,8 @@
    private Slave slave;
    private StringBuffer barcode = new StringBuffer();
    private String lastBarcode = "";
    public BarcodeThread(Slave slave) {
        this.slave = slave;
    }
@@ -34,8 +36,9 @@
    public void setBarcode(String barcode) {
        this.barcode.delete(0, this.barcode.length());
        this.barcode.append(barcode);
        if(!Cools.isEmpty(barcode)) {
        if(!Cools.isEmpty(barcode) && !lastBarcode.equals(barcode)) {
            News.info("Barcode"+" - 1"+" - {}号条码器,检索数据:{}", slave.getId(), this.barcode);
            lastBarcode = barcode;
            JSONObject jsonObject = new JSONObject();
            jsonObject.put("time", DateUtils.convert(new Date(), DateUtils.yyyyMMddHHmmss_F));
            jsonObject.put("barcode", barcode);
src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -52,38 +52,25 @@
//    }};
    public static final ArrayList<Integer> staNos1 = new ArrayList<Integer>() {{
        add(100);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(1);
//        add(200);add(201);add(202);
        add(104);add(105);add(106);
    }};
    public static final ArrayList<Integer> staNos2 = new ArrayList<Integer>() {{
        add(200);add(201);add(202);add(203);add(210);
        add(300);add(301);add(302);add(303);add(304);add(305);
    }};
    public static final ArrayList<Integer> BarcodeList = new ArrayList<Integer>() {{
        add(0); add(1); add(2);
        add(0); add(1);
    }};
    public static final ArrayList<Integer> staNosErrList = new ArrayList<Integer>() {{
        add(106); add(107); add(159);
        add(100); add(102);
    }};
    private Integer count=0;
    /**
     * 条码数量
     */
    private int barcodeSize = 6;
    private int barcodeSize = 2;
    /**
     * 入出库模式
@@ -93,9 +80,11 @@
     * 3.出库启动中 (不能生成入库工作档)
     * 4.出库模式
     */
    public IoModeType ioModeOf2F = IoModeType.NONE;
    public IoModeType ioModeOf101 = IoModeType.NONE;
    public IoModeType ioModeOf103 = IoModeType.NONE;
    public IoModeType ioModeOf305 = IoModeType.NONE;
//    public IoModeType ioMode = IoModeType.NONE;
    public IoModeType ioModeOf4F = IoModeType.NONE;
//    public IoModeType ioModeOf4F = IoModeType.NONE;
//    public IoModeType ioMode = IoModeType.NONE;
    public SiemensDevpThread(DevpSlave slave) {
@@ -106,6 +95,8 @@
        switch (slave.getId()) {
            case 1:
                return staNos1;
            case 2:
                return staNos2;
            default:
                throw new CoolException("服务器异常");
        }
@@ -148,9 +139,7 @@
     * 初始化站点状态
     */
    private void initSite() {
        count ++;
        ArrayList<Integer> staNos = getStaNo();
        if(count > 77) {
            // 站点编号
            for (Integer siteId : staNos) {
                StaProtocol staProtocol = station.get(siteId);
@@ -171,8 +160,6 @@
                    staProtocol.setPakMk(true);
                }
            }
            count = 0;
        }
    }
    @Override
@@ -250,41 +237,6 @@
                staProtocol.setNearbySta(String.valueOf(siemensS7Net.getByteTransform().TransInt16(result3.Content, 8)));
            }
        }
        //RGV小车2
//        Thread.sleep(100);
        OperateResultExOne<byte[]> result4 = siemensS7Net.Read("DB50.212",(short)10);
        if (result4.IsSuccess) {
            BasRgvMap basRgvMap = basRgvMapService.selectByRgvNo((int) siemensS7Net.getByteTransform().TransInt16(result4.Content, 0));
            if (!Cools.isEmpty(basRgvMap)){
                Integer siteId = 2;
                StaProtocol staProtocol = station.get(siteId);
                if (null == staProtocol) {
                    staProtocol = new StaProtocol();
                    staProtocol.setSiteId(siteId);
                    station.put(siteId, staProtocol);
                }
                staProtocol.setAutoing(true);
                staProtocol.setNearbySta(String.valueOf(siemensS7Net.getByteTransform().TransInt16(result4.Content, 8)));
            }
        }
        //RGV小车3
//        Thread.sleep(100);
        OperateResultExOne<byte[]> result5 = siemensS7Net.Read("DB50.224",(short)10);
        if (result5.IsSuccess) {
            BasRgvMap basRgvMap = basRgvMapService.selectByRgvNo((int) siemensS7Net.getByteTransform().TransInt16(result5.Content, 0));
            if (!Cools.isEmpty(basRgvMap)){
                Integer siteId = 3;
                StaProtocol staProtocol = station.get(siteId);
                if (null == staProtocol) {
                    staProtocol = new StaProtocol();
                    staProtocol.setSiteId(siteId);
                    station.put(siteId, staProtocol);
                }
                staProtocol.setAutoing(true);
                staProtocol.setNearbySta(String.valueOf(siemensS7Net.getByteTransform().TransInt16(result5.Content, 8)));
            }
        }
        //条码扫描器
        ArrayList<Integer> barcodeList = BarcodeList;
@@ -304,7 +256,7 @@
        int staNoErrsSize = staNoErrs.size();
        OperateResultExOne<byte[]> resultErr = siemensS7Net.Read("DB101.800", (short) (staNoErrsSize*8));
        if (resultErr.IsSuccess){
            for (int i = 0;i<3;i++){
            for (int i = 0;i<staNoErrsSize;i++){
                Integer siteId = staNoErrs.get(i); // 站点编号
                boolean[] status = siemensS7Net.getByteTransform().TransBool(resultErr.Content, i*4+2, 1);
                StaProtocol staProtocol = station.get(siteId);
@@ -409,7 +361,7 @@
        do {
            write = siemensS7Net.Write("DB100." + index*6, staProtocol.getWorkNo());    // 工作号
            Thread.sleep(200);
            write1 = siemensS7Net.Write("DB100." + (index*6+4), staProtocol.getStaNo().shortValue());    // 目标站
            write1 = siemensS7Net.Write("DB100." + (index*6+4), staProtocol.getStaNo());    // 目标站
            if(write.IsSuccess && write1.IsSuccess){
                break;
            }
@@ -434,12 +386,12 @@
    // 更新入出库模式
    private void updateIoMode() throws InterruptedException {
        if (this.ioModeOf2F != IoModeType.NONE) {
            if (!siemensS7Net.Write("DB100.180", this.ioModeOf2F.id).IsSuccess) {
                OutputQueue.DEVP.offer(MessageFormat.format("【{0}】写入输送线2F入出库模式失败。输送线plc编号={1}", slave.getId()));
                News.error("SiemensDevp"+" - 6"+" - 写入输送线2F入出库模式失败。输送线plc编号={}", slave.getId());
            }
        }
//        if (this.ioModeOf2F != IoModeType.NONE) {
//            if (!siemensS7Net.Write("DB100.180", this.ioModeOf2F.id).IsSuccess) {
//                OutputQueue.DEVP.offer(MessageFormat.format("【{0}】写入输送线2F入出库模式失败。输送线plc编号={1}", slave.getId()));
//                News.error("SiemensDevp"+" - 6"+" - 写入输送线2F入出库模式失败。输送线plc编号={}", slave.getId());
//            }
//        }
    }
    /**
src/main/java/com/zy/service/impl/MainServiceImpl.java
@@ -127,7 +127,13 @@
                // 尺寸检测异常
                boolean back = false;
                String errMsg = "";
                if (staProtocol.isFrontErr()) {
                if ((staProtocol.getSiteId() == 101 && devpThread.ioModeOf101 == IoModeType.PAKOUT_MODE)
                ||(staProtocol.getSiteId() == 103 && devpThread.ioModeOf103 == IoModeType.PAKOUT_MODE)
                ||(staProtocol.getSiteId() == 305 && devpThread.ioModeOf305 == IoModeType.PAKOUT_MODE)) {
                    errMsg = "当前为出库模式";
                    back = true;
                }
                if (!back && staProtocol.isFrontErr()) {
                    errMsg = "前超限";
                    back = true;
                }
@@ -289,7 +295,7 @@
                }
//                // 入出库模式判断
                if (inSta.getStaNo() == 203 && devpThread.ioModeOf2F != IoModeType.PAKIN_MODE) {
                if (inSta.getStaNo() == 203 && devpThread.ioModeOf101 != IoModeType.PAKIN_MODE) {
                    continue;
                }
@@ -859,7 +865,7 @@
                continue;
            }
            // 获取工作状态为2(设备上走)的入库工作档
            WrkMast wrkMast = wrkMastMapper.selectPakInStep2(slave.getId(), staProtocol.getWorkNo().intValue(), crnStn.getStaNo());
            WrkMast wrkMast = wrkMastMapper.selectPakInStep2(slave.getId(), staProtocol.getWorkNo(), crnStn.getStaNo());
            if (null == wrkMast) {
                News.infoNoLog(""+mark+" - 1"+" - 4"+" - 查询无待入库数据--wrk_sts=2, 工作号={}", staProtocol.getWorkNo());
//                log.error("查询无待入库数据--wrk_sts=2, 工作号={}", staProtocol.getWorkNo());
@@ -1017,6 +1023,12 @@
//                    News.infoNoLog(""+mark+" - 2"+" - 4"+" - 入出库模式(此处出库方法,出库模式继续=="+devpThread.ioModeOf2F);
//                    continue;
//                }
                // 入出库模式判断
                if ((staProtocol.getSiteId() == 101 && devpThread.ioModeOf101 != IoModeType.PAKOUT_MODE)
                   || (staProtocol.getSiteId() == 103 && devpThread.ioModeOf103 != IoModeType.PAKOUT_MODE)
                   || (staProtocol.getSiteId() == 305 && devpThread.ioModeOf305 != IoModeType.PAKOUT_MODE)) {
                    continue;
                }
                // 查询站点详细信息
                BasDevp staDetl = basDevpService.selectById(crnStn.getStaNo());
@@ -2119,47 +2131,61 @@
            // 根据输送线plc遍历
            for (DevpSlave devp : slaveProperties.getDevp()) {
                SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
                for (DevpSlave.Sta inSta : devp.getInSta()) {
                    if (inSta.getStaNo() == 2) {
                        continue;
                    }
                    WrkMast pakout = wrkMastMapper.selectWorkingPakout(inSta.getStaNo());
                    switch (inSta.getStaNo()) {
                        case 203://1F
                Integer[] staNos;
                if (devp.getId() == 1) {
                    staNos = new Integer[]{101, 103};
                }else {
                    staNos = new Integer[]{305};
                }
                for (Integer staNo : staNos) {
                    WrkMast pakout = wrkMastMapper.selectWorkingPakout(staNo);
                    switch (staNo) {
                        case 101://1F
                            if (pakout != null) {
                                if (devpThread.ioModeOf2F != IoModeType.PAKOUT_MODE) {
                                if (devpThread.ioModeOf101 != IoModeType.PAKOUT_MODE) {
                                    // 出库切换中
                                    devpThread.ioModeOf2F = IoModeType.PAKOUT_BOOTING;
                                    WrkMast pakin = wrkMastMapper.selectWorkingPakin(inSta.getStaNo());
                                    if (pakin == null && !devpThread.getStation().get(inSta.getStaNo()).isLoading()
                                            && !devpThread.getStation().get(inSta.getStaNo() + 1).isLoading()
                                            && devpThread.getStation().get(inSta.getStaNo() + 1).getWorkNo() == 0) {
                                    devpThread.ioModeOf101 = IoModeType.PAKOUT_BOOTING;
                                    WrkMast pakin = wrkMastMapper.selectWorkingPakin(staNo);
                                    if (pakin == null) {
                                        // 出库模式
                                        devpThread.ioModeOf2F = IoModeType.PAKOUT_MODE;
                                        devpThread.ioModeOf101 = IoModeType.PAKOUT_MODE;
                                    }
                                }
                            } else {
                                // 入库模式
                                devpThread.ioModeOf2F = IoModeType.PAKIN_MODE;
                                devpThread.ioModeOf101 = IoModeType.PAKIN_MODE;
                            }
                            break;
                        case 401://1F
                        case 103://1F
                            if (pakout != null) {
                                if (devpThread.ioModeOf4F != IoModeType.PAKOUT_MODE) {
                                if (devpThread.ioModeOf103 != IoModeType.PAKOUT_MODE) {
                                    // 出库切换中
                                    devpThread.ioModeOf4F = IoModeType.PAKOUT_BOOTING;
                                    WrkMast pakin = wrkMastMapper.selectWorkingPakin(inSta.getStaNo());
                                    if (pakin == null && !devpThread.getStation().get(inSta.getStaNo()).isLoading()
                                            && !devpThread.getStation().get(inSta.getStaNo() + 1).isLoading()
                                            && devpThread.getStation().get(inSta.getStaNo() + 1).getWorkNo() == 0) {
                                    devpThread.ioModeOf103 = IoModeType.PAKOUT_BOOTING;
                                    WrkMast pakin = wrkMastMapper.selectWorkingPakin(staNo);
                                    if (pakin == null) {
                                        // 出库模式
                                        devpThread.ioModeOf4F = IoModeType.PAKOUT_MODE;
                                        devpThread.ioModeOf103 = IoModeType.PAKOUT_MODE;
                                    }
                                }
                            } else {
                                // 入库模式
                                devpThread.ioModeOf4F = IoModeType.PAKIN_MODE;
                                devpThread.ioModeOf103 = IoModeType.PAKIN_MODE;
                            }
                            break;
                        case 305://1F
                            if (pakout != null) {
                                if (devpThread.ioModeOf305 != IoModeType.PAKOUT_MODE) {
                                    // 出库切换中
                                    devpThread.ioModeOf305 = IoModeType.PAKOUT_BOOTING;
                                    WrkMast pakin = wrkMastMapper.selectWorkingPakin(staNo);
                                    if (pakin == null) {
                                        // 出库模式
                                        devpThread.ioModeOf305 = IoModeType.PAKOUT_MODE;
                                    }
                                }
                            } else {
                                // 入库模式
                                devpThread.ioModeOf305 = IoModeType.PAKIN_MODE;
                            }
                            break;
                    }
@@ -2174,6 +2200,10 @@
    }
    /**
     * 并板,拣料,盘点出库,状态为14.已出库未确认,更新ctnNo为Y
     * @param mark 标识
     */
    public synchronized void outOfDevp(Integer mark) {
        List<WrkMast> wrkMasts = wrkMastMapper.selectPick();
src/main/resources/application.yml
@@ -1,5 +1,5 @@
server:
  port: 8081
  port: 9090
  servlet:
    context-path: /@pom.build.finalName@
@@ -10,7 +10,7 @@
    driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
    url: jdbc:sqlserver://127.0.0.1:1433;databasename=ghlnasrs
    username: sa
    password: 123456
    password: sa@123
  mvc:
    static-path-pattern: /**
  redis:
@@ -28,7 +28,7 @@
  path: /stock/out/@pom.build.finalName@/logs
super:
  pwd: lnWCS2024
  pwd: xltys1995
swagger:
  enable: false
@@ -58,17 +58,29 @@
    # 堆垛机入库站点
    crnInStn[0]:
      devpPlcId: ${wcs-slave.devp[0].id}
      staNo: 123
      staNo: 101
      row: 3
      bay: 1
      bay: 31
      lev: 1
    crnInStn[1]:
      devpPlcId: ${wcs-slave.devp[1].id}
      staNo: 201
      row: 3
      bay: 31
      lev: 6
    # 堆垛机出库站点
    crnOutStn[0]:
      devpPlcId: ${wcs-slave.devp[0].id}
      staNo: 118
      row: 2
      bay: 1
      staNo: 101
      row: 3
      bay: 31
      lev: 1
    crnOutStn[1]:
      devpPlcId: ${wcs-slave.devp[1].id}
      staNo: 201
      row: 3
      bay: 31
      lev: 6
  # 堆垛机2
  crn[1]:
    id: 2
@@ -82,16 +94,34 @@
    # 堆垛机入库站点
    crnInStn[0]:
      devpPlcId: ${wcs-slave.devp[0].id}
      staNo: 127
      row: 6
      bay: 1
      staNo: 103
      row: 7
      bay: 31
      lev: 1
    crnInStn[1]:
      devpPlcId: ${wcs-slave.devp[1].id}
      staNo: 203
      row: 7
      bay: 31
      lev: 6
    # 堆垛机出库站点
    crnOutStn[0]:
      devpPlcId: ${wcs-slave.devp[0].id}
      staNo: 131
      staNo: 103
      row: 7
      bay: 1
      bay: 31
      lev: 1
    crnOutStn[1]:
      devpPlcId: ${wcs-slave.devp[1].id}
      staNo: 203
      row: 7
      bay: 31
      lev: 6
    crnOutStn[2]:
      devpPlcId: ${wcs-slave.devp[0].id}
      staNo: 105
      row: 7
      bay: 28
      lev: 1
  # 输送线1
@@ -107,18 +137,18 @@
      barcode: ${wcs-slave.barcode[0].id}
      backSta: 100
      led: ${wcs-slave.led[0].id}
    # 入库口1
    # 入库口2
    inSta[1]:
      staNo: 103
      barcode: ${wcs-slave.barcode[1].id}
      backSta: 102
      led: ${wcs-slave.led[1].id}
    # 空板入库口
    emptyInSta[0]:
      staNo: 101
      barcode: ${wcs-slave.barcode[0].id}
      backSta: 100
      led: ${wcs-slave.led[0].id}
#    # 空板入库口
#    emptyInSta[0]:
#      staNo: 101
#      barcode: ${wcs-slave.barcode[0].id}
#      backSta: 100
#      led: ${wcs-slave.led[0].id}
    # 出库口1
    outSta[0]:
      staNo: 100
@@ -141,56 +171,50 @@
    slot: 0
    # 入库口1
    inSta[0]:
      staNo: 106
      barcode: ${wcs-slave.barcode[0].id}
      backSta: 105
      led: ${wcs-slave.led[1].id}
    # 空板入库口1
    emptyInSta[0]:
      staNo: 106
      barcode: ${wcs-slave.barcode[0].id}
      backSta: 105
      led: ${wcs-slave.led[1].id}
    # 拣料入库口1
    pickSta[0]:
      staNo: 159
      barcode: ${wcs-slave.barcode[2].id}
      led: ${wcs-slave.led[5].id}
      backSta: 160
    # 入库口1
      staNo: 201
    # 入库口2
    inSta[1]:
      staNo: 107
      barcode: ${wcs-slave.barcode[1].id}
      backSta: 108
      led: ${wcs-slave.led[2].id}
    # 空板入库口1
    emptyInSta[1]:
      staNo: 107
      barcode: ${wcs-slave.barcode[1].id}
      backSta: 108
      led: ${wcs-slave.led[2].id}
    inSta[2]:
      staNo: 159
      barcode: ${wcs-slave.barcode[2].id}
      backSta: 160
      led: ${wcs-slave.led[5].id}
    #    # 拣料入库口1
    #    pickSta[1]:
    #      staNo: 107
    #      barcode: ${wcs-slave.barcode[1].id}
    #      led: ${wcs-slave.led[1].id}
    #      backSta: 108
      staNo: 203
#    # 空板入库口1
#    emptyInSta[0]:
#      staNo: 106
#      barcode: ${wcs-slave.barcode[0].id}
#      backSta: 105
#      led: ${wcs-slave.led[1].id}
#    # 拣料入库口1
#    pickSta[0]:
#      staNo: 159
#      barcode: ${wcs-slave.barcode[2].id}
#      led: ${wcs-slave.led[5].id}
#      backSta: 160
#    # 空板入库口1
#    emptyInSta[1]:
#      staNo: 107
#      barcode: ${wcs-slave.barcode[1].id}
#      backSta: 108
#      led: ${wcs-slave.led[2].id}
##    inSta[2]:
##      staNo: 159
##      barcode: ${wcs-slave.barcode[2].id}
##      backSta: 160
##      led: ${wcs-slave.led[5].id}
#    #    # 拣料入库口1
#    #    pickSta[1]:
#    #      staNo: 107
#    #      barcode: ${wcs-slave.barcode[1].id}
#    #      led: ${wcs-slave.led[1].id}
#    #      backSta: 108
    # 出库口1
    outSta[0]:
      staNo: 100
      led: ${wcs-slave.led[0].id}
    outSta[1]:
      staNo: 152
      led: ${wcs-slave.led[3].id}
    outSta[2]:
      staNo: 156
      led: ${wcs-slave.led[4].id}
      staNo: 305
#    outSta[1]:
#      staNo: 152
#      led: ${wcs-slave.led[3].id}
#    outSta[2]:
#      staNo: 156
#      led: ${wcs-slave.led[4].id}
#
  # 条码扫描仪1
  barcode[0]:
    id: 1
src/main/webapp/static/js/common.js
@@ -1,4 +1,4 @@
var baseUrl = "/ykwcs";
var baseUrl = "/wcs";
// 赋值
function setVal(el, val) {
src/main/webapp/static/js/console.map.js
@@ -1,775 +1,326 @@
mapInfo = {
    "mapName": "YKWCS",
    "rackCount": 4,
    "crnCount": 3,
    "stbCount": 13,
    "mapName": "WCS",
    "rackCount": 8,
    "crnCount": 2,
    "stbCount": 18,
    "hpPosition": 0,
    "minBayNo": 1,
    "floors": 1,
    "floors": 2,
    "racks": [{
        "type": "rack",
        "id": "rack16",
        "top": 167,
        "left": 529,
        "width": 1280,
        "height": 22,
        "minBayNo": 2,
        "maxBayNo": 56
    }, {
        "type": "rack",
        "id": "rack15",
        "top": 188,
        "left": 529,
        "width": 1280,
        "height": 22,
        "minBayNo": 2,
        "maxBayNo": 56
    }, {
        "type": "rack",
        "id": "rack14",
        "top": 236,
        "left": 529,
        "width": 1280,
        "height": 22,
        "minBayNo": 2,
        "maxBayNo": 56
    }, {
        "type": "rack",
        "id": "rack13",
        "top": 257,
        "left": 529,
        "width": 1280,
        "height": 22,
        "minBayNo": 2,
        "maxBayNo": 56
    }, {
        "type": "rack",
        "id": "rack12",
        "top": 280,
        "left": 529,
        "width": 1280,
        "height": 22,
        "minBayNo": 2,
        "maxBayNo": 56
    }, {
        "type": "rack",
        "id": "rack11",
        "top": 301,
        "left": 529,
        "width": 1280,
        "height": 22,
        "minBayNo": 2,
        "maxBayNo": 56
    }, {
        "type": "rack",
        "id": "rack10",
        "top": 349,
        "left": 529,
        "width": 1280,
        "height": 22,
        "minBayNo": 2,
        "maxBayNo": 56
    }, {
        "type": "rack",
        "id": "rack9",
        "top": 370,
        "left": 529,
        "width": 1280,
        "height": 22,
        "minBayNo": 2,
        "maxBayNo": 56
        "id": "rack1",
        "top": 189,
        "left": 200,
        "width": 1300,
        "height": 23,
        "minBayNo": 1,
        "maxBayNo": 31
    }, {
        "type": "rack",
        "id": "rack8",
        "top": 393,
        "left": 529,
        "width": 1280,
        "height": 22,
        "minBayNo": 2,
        "maxBayNo": 56
        "top": 457,
        "left": 200,
        "width": 1300,
        "height": 23,
        "minBayNo": 1,
        "maxBayNo": 30
    }, {
        "type": "rack",
        "id": "rack7",
        "top": 414,
        "left": 529,
        "width": 1280,
        "height": 22,
        "minBayNo": 2,
        "maxBayNo": 56
        "top": 430,
        "left": 200,
        "width": 1300,
        "height": 23,
        "minBayNo": 1,
        "maxBayNo": 30
    }, {
        "type": "rack",
        "id": "rack6",
        "top": 462,
        "left": 529,
        "width": 1280,
        "height": 22,
        "minBayNo": 2,
        "maxBayNo": 56
        "top": 365,
        "left": 200,
        "width": 1300,
        "height": 23,
        "minBayNo": 1,
        "maxBayNo": 31
    }, {
        "type": "rack",
        "id": "rack5",
        "top": 483,
        "left": 529,
        "width": 1280,
        "height": 22,
        "minBayNo": 2,
        "maxBayNo": 56
        "top": 338,
        "left": 200,
        "width": 1300,
        "height": 23,
        "minBayNo": 1,
        "maxBayNo": 31
    }, {
        "type": "rack",
        "id": "rack4",
        "top": 506,
        "left": 529,
        "width": 1280,
        "height": 22,
        "minBayNo": 2,
        "maxBayNo": 56
        "top": 311,
        "left": 200,
        "width": 1300,
        "height": 23,
        "minBayNo": 1,
        "maxBayNo": 30
    }, {
        "type": "rack",
        "id": "rack3",
        "top": 527,
        "left": 529,
        "width": 1280,
        "height": 22,
        "minBayNo": 2,
        "maxBayNo": 56
        "top": 283,
        "left": 200,
        "width": 1300,
        "height": 23,
        "minBayNo": 1,
        "maxBayNo": 30
    }, {
        "type": "rack",
        "id": "rack2",
        "top": 575,
        "left": 529,
        "width": 1280,
        "height": 22,
        "minBayNo": 2,
        "maxBayNo": 56
    }, {
        "type": "rack",
        "id": "rack1",
        "top": 596,
        "left": 529,
        "width": 1280,
        "height": 22,
        "minBayNo": 2,
        "maxBayNo": 56
        "top": 217,
        "left": 200,
        "width": 1300,
        "height": 23,
        "minBayNo": 1,
        "maxBayNo": 31
    }],
    "rackDescs": [{
        "type": "rackDescs",
        "id": "lb_desc1",
        "text": "#16",
        "top": 167,
        "left": 1810,
        "width": 30,
        "height": 23
    }, {
        "type": "rackDescs",
        "id": "lb_desc2",
        "text": "#1",
        "top": 596,
        "left": 1810,
        "width": 30,
        "top": 190,
        "left": 150,
        "width": 33,
        "height": 23
    }],
    },
        {"type": "rackDescs", "id": "lb_desc2", "text": "#2", "top": 218, "left": 150, "width": 33, "height": 23},
        {"type": "rackDescs", "id": "lb_desc3", "text": "#3", "top": 280, "left": 150, "width": 33, "height": 23},
        {"type": "rackDescs", "id": "lb_desc4", "text": "#4", "top": 310, "left": 150, "width": 33, "height": 23},
        {"type": "rackDescs", "id": "lb_desc5", "text": "#5", "top": 340, "left": 150, "width": 33, "height": 23},
        {"type": "rackDescs", "id": "lb_desc6", "text": "#6", "top": 370, "left": 150, "width": 33, "height": 23},
        {"type": "rackDescs", "id": "lb_desc7", "text": "#7", "top": 430, "left": 150, "width": 33, "height": 23},
        {"type": "rackDescs", "id": "lb_desc8", "text": "#8", "top": 460, "left": 150, "width": 33, "height": 23}],
    "crns": [{
        "type": "track",
        "id": "lb_track4",
        "text": "",
        "top": 226,
        "left": 490,
        "width": 1300,
        "height": 2
    }, {
        "type": "crane",
        "id": "crn-4",
        "text": "4",
        "top": 213,
        "left": 490,
        "width": 93,
        "height": 22
    },{
        "type": "track",
        "id": "lb_track3",
        "text": "",
        "top": 338,
        "left": 490,
        "width": 1300,
        "height": 2
    }, {
        "type": "crane",
        "id": "crn-3",
        "text": "3",
        "top": 325,
        "left": 490,
        "width": 93,
        "height": 22
    },{
        "type": "track",
        "id": "lb_track2",
        "text": "",
        "top": 451,
        "left": 490,
        "width": 1300,
        "height": 2
    }, {
        "type": "crane",
        "id": "crn-2",
        "text": "2",
        "top": 438,
        "left": 490,
        "width": 93,
        "height": 22
    },{
        "top": 393,
        "left": 376,
        "width": 101,
        "height": 32
    }, {
        "type": "track",
        "id": "lb_track1",
        "id": "lb_track4",
        "text": "",
        "top": 564,
        "left": 490,
        "top": 408,
        "left": 200,
        "width": 1300,
        "height": 2
        "height": 1
    }, {
        "type": "crane",
        "id": "crn-1",
        "text": "1",
        "top": 553,
        "left": 490,
        "width": 93,
        "height": 22
        "top": 250,
        "left": 383,
        "width": 101,
        "height": 29
    }, {
        "type": "track",
        "id": "lb_track3",
        "text": "",
        "top": 265,
        "left": 200,
        "width": 1300,
        "height": 1
    }],
    "areas": [{
        "type": "Control_floor",
        "id": "tabControl_floor1",
        "text": "楼层",
        "top": 68,
        "left": 80,
        "width": 1845,
        "height": 676,
        "top": 150,
        "left": 46,
        "width": 1703,
        "height": 621,
        "floors": [{
            "type": "floor",
            "id": "page_floor1",
            "text": "1库",
            "text": "1F",
            "top": 4,
            "left": 22,
            "width": 1819,
            "height": 668,
            "width": 1677,
            "height": 613,
            "stns": [{
                "type": "stn",
                "id": "site-148",
                "text": "148",
                "top": 190,
                "left": 468,
                "width": 60,
                "height": 19
            }, {
                "type": "stn",
                "id": "site-147",
                "text": "147",
                "top": 190,
                "left": 406,
                "width": 60,
                "height": 19
            }, {
                "type": "stn",
                "id": "site-146",
                "text": "146",
                "top": 190,
                "left": 344.5,
                "width": 60,
                "height": 19
            }, {
                "type": "stn",
                "id": "site-149",
                "text": "149",
                "top": 190,
                "left": 283,
                "width": 60,
                "height": 19
            }, {
                "type": "stn",
                "id": "site-150",
                "text": "150",
                "top": 169,
                "left": 344.5,
                "width": 60,
                "height": 19
            }, {
                "type": "stn",
                "id": "site-151",
                "text": "151",
                "top": 148,
                "left": 344.5,
                "width": 60,
                "height": 19
            }, {
                "type": "stn",
                "id": "site-153",
                "text": "153",
                "top": 148,
                "left": 283,
                "width": 60,
                "height": 19
            }, {
                "type": "stn",
                "id": "site-152",
                "text": "152",
                "top": 148,
                "left": 406,
                "width": 60,
                "height": 19
            }, {
                "type": "stn",
                "id": "site-154",
                "text": "154",
                "top": 127,
                "left": 344.5,
                "width": 60,
                "height": 19
            }, {
                "type": "stn",
                "id": "site-155",
                "text": "155",
                "top": 106.5,
                "left": 344.5,
                "width": 60,
                "height": 19
            }, {
                "type": "stn",
                "id": "site-157",
                "text": "157",
                "top": 106.5,
                "left": 283,
                "width": 60,
                "height": 19
            }, {
                "type": "stn",
                "id": "site-156",
                "text": "156",
                "top": 106.5,
                "left": 406,
                "width": 60,
                "height": 19
            }, {
                "type": "stn",
                "id": "site-158",
                "text": "158",
                "top": 85.5,
                "left": 344.5,
                "width": 60,
                "height": 19
            }, {
                "type": "stn",
                "id": "site-159",
                "text": "159",
                "top": 64.5,
                "left": 344.5,
                "width": 60,
                "height": 19
            }, {
                "type": "stn",
                "id": "site-160",
                "text": "160",
                "top": 64.5,
                "left": 406,
                "width": 60,
                "height": 19
            }, {
                "type": "stn",
                "id": "site-161",
                "text": "161",
                "top": 64.5,
                "left": 283,
                "width": 60,
                "height": 19
            }, {
                "type": "stn",
                "id": "site-145",
                "text": "145",
                "top": 211,
                "left": 344.5,
                "width": 60,
                "height": 26
            }, {
                "type": "stn",
                "id": "site-142",
                "text": "142",
                "top": 239,
                "left": 344.5,
                "width": 60,
                "height": 19
            }, {
                "type": "stn",
                "id": "site-143",
                "text": "143",
                "top": 239,
                "left": 406,
                "width": 60,
                "height": 19
            }, {
                "type": "stn",
                "id": "site-144",
                "text": "144",
                "top": 239,
                "left": 468,
                "width": 60,
                "height": 19
            }, {
                "type": "stn",
                "id": "site-141",
                "text": "141",
                "top": 260,
                "left": 344.5,
                "width": 60,
                "height": 42
            }, {
                "type": "stn",
                "id": "site-139",
                "text": "139",
                "top": 304,
                "left": 406,
                "width": 120,
                "height": 19
            }, {
                "type": "stn",
                "id": "site-138",
                "text": "138",
                "top": 304,
                "left": 344.5,
                "width": 60,
                "height": 19
            }, {
                "type": "stn",
                "id": "site-134",
                "text": "134",
                "top": 352,
                "left": 344.5,
                "width": 60,
                "height": 19
            }, {
                "type": "stn",
                "id": "site-135",
                "text": "135",
                "top": 352,
                "left": 406,
                "width": 120,
                "height": 19
            },  {
                "type": "stn",
                "id": "site-137",
                "text": "137",
                "top": 324.5,
                "left": 344.5,
                "width": 60,
                "height": 25.5
            }, {
                "type": "stn",
                "id": "site-133",
                "text": "133",
                "top": 373,
                "left": 344.5,
                "width": 60,
                "height": 42.5
            }, {
                "type": "stn",
                "id": "site-130",
                "text": "130",
                "top": 417,
                "left": 344.5,
                "width": 60,
                "height": 19
            }, {
                "type": "stn",
                "id": "site-131",
                "text": "131",
                "top": 417,
                "left": 406,
                "width": 120,
                "height": 19
            }, {
                "type": "stn",
                "id": "site-129",
                "text": "129",
                "top": 438,
                "left": 344.5,
                "width": 60,
                "height": 25
            }, {
                "type": "stn",
                "id": "site-126",
                "text": "126",
                "top": 464.5,
                "left": 344.5,
                "width": 60,
                "height": 19
            }, {
                "type": "stn",
                "id": "site-127",
                "text": "127",
                "top": 464.5,
                "left": 406,
                "width": 120,
                "height": 19
            },  {
                "type": "stn",
                "id": "site-125",
                "text": "125",
                "top": 485,
                "left": 344.5,
                "width": 60,
                "height": 42.5
            }, {
                "type": "stn",
                "id": "site-124",
                "text": "124",
                "top": 529,
                "left": 283,
                "width": 60,
                "height": 19
            }, {
                "type": "stn",
                "id": "site-121",
                "text": "121",
                "top": 529,
                "left": 344.5,
                "width": 60,
                "height": 19
            }, {
                "type": "stn",
                "id": "site-122",
                "text": "122",
                "top": 529,
                "left": 406,
                "width": 60,
                "height": 19
            }, {
                "type": "stn",
                "id": "site-123",
                "text": "123",
                "top": 529,
                "left": 468,
                "width": 60,
                "height": 19
            }, {
                "type": "stn",
                "id": "site-120",
                "text": "120",
                "top": 550,
                "left": 344.5,
                "width": 60,
                "height": 25
            }, {
                "type": "stn",
                "id": "site-119",
                "text": "119",
                "top": 577,
                "left": 283,
                "width": 60,
                "height": 19
            }, {
                "type": "stn",
                "id": "site-116",
                "text": "116",
                "top": 577,
                "left": 344.5,
                "width": 60,
                "height": 19
            }, {
                "type": "stn",
                "id": "site-117",
                "text": "117",
                "top": 577,
                "left": 406,
                "width": 60,
                "height": 19
            }, {
                "type": "stn",
                "id": "site-118",
                "text": "118",
                "top": 577,
                "left": 468,
                "width": 60,
                "height": 19
            }, {
                "type": "stn",
                "id": "site-115",
                "text": "115",
                "top": 598,
                "left": 344.5,
                "width": 60,
                "height": 19
            }, {
                "type": "stn",
                "id": "site-114",
                "text": "114",
                "top": 620,
                "left": 344.5,
                "width": 60,
                "height": 19
            }, {
                "type": "stn",
                "id": "site-113",
                "text": "113",
                "top": 620,
                "left": 283,
                "width": 60,
                "height": 19
            }, {
                "type": "track",
                "id": "lb_trCart21",
                "text": "",
                "top": 65,
                "left": 226,
                "width": 6,
                "height": 742
            }, {
                "type": "track",
                "id": "lb_trCart22",
                "text": "",
                "top": 65,
                "left": 270,
                "width": 6,
                "height": 742
            },{
                "type": "stn",
                "id": "site-3",
                "text": "3",
                "top": -20,
                "left": 220,
                "width": 60,
                "height": 19
            }, {
                "type": "stn",
                "id": "site-2",
                "text": "2",
                "top": -20,
                "left": 220,
                "width": 60,
                "height": 19
            }, {
                "type": "stn",
                "id": "site-1",
                "text": "1",
                "top": -20,
                "left": 220,
                "width": 60,
                "height": 19
            }, {
                "type": "stn",
                "id": "site-202",
                "text": "202",
                "top": 642,
                "left": 283,
                "width": 184,
                "height": 19
            }, {
                "type": "stn",
                "id": "site-999",
                "text": "备用PGV、RGV维修区",
                "top": 642,
                "left": 283,
                "width": 184,
                "height": 19
            }, {
                "type": "stn",
                "id": "site-110",
                "text": "110",
                "top": 663,
                "left": 406,
                "width": 60,
                "height": 19
            }, {
                "type": "stn",
                "id": "site-111",
                "text": "111",
                "top": 663,
                "left": 344.5,
                "width": 60,
                "height": 19
            }, {
                "type": "stn",
                "id": "site-112",
                "text": "112",
                "top": 663,
                "left": 283,
                "width": 60,
                "height": 19
            }, {
                "type": "stn",
                "id": "site-109",
                "text": "109",
                "top": 684,
                "left": 406,
                "width": 60,
                "height": 19
            }, {
                "type": "stn",
                "id": "site-108",
                "text": "108",
                "top": 705,
                "left": 406,
                "width": 60,
                "height": 19
            }, {
                "type": "stn",
                "id": "site-107",
                "text": "107",
                "top": 705,
                "left": 283,
                "width": 122,
                "height": 19
            }, {
                "type": "stn",
                "id": "site-105",
                "text": "105",
                "top": 727,
                "left": 406,
                "width": 60,
                "height": 19
            }, {
                "type": "stn",
                "id": "site-106",
                "text": "106",
                "top": 727,
                "left": 283,
                "width": 122,
                "height": 19
            }, {
                "type": "stn",
                "id": "site-104",
                "text": "104",
                "top": 749,
                "left": 406,
                "width": 60,
                "height": 19
                "id": "site-102",
                "text": "102",
                "top": 431,
                "left": 1600,
                "width": 59,
                "height": 27
            }, {
                "type": "stn",
                "id": "site-103",
                "text": "103",
                "top": 771,
                "left": 406,
                "width": 60,
                "height": 19
            }, {
                "type": "stn",
                "id": "site-102",
                "text": "102",
                "top": 771,
                "left": 344.5,
                "width": 60,
                "height": 19
            }, {
                "type": "stn",
                "id": "site-101",
                "text": "101",
                "top": 771,
                "left": 283,
                "width": 60,
                "height": 19
                "top": 431,
                "left": 1520,
                "width": 59,
                "height": 27
            }, {
                "type": "stn",
                "id": "site-100",
                "text": "100",
                "top": 792,
                "left": 283,
                "width": 184,
                "height": 19
            }]
                "top": 285,
                "left": 1600,
                "width": 59,
                "height": 25
            }, {
                "type": "stn",
                "id": "site-101",
                "text": "101",
                "top": 285,
                "left": 1520,
                "width": 59,
                "height": 25
            },
                {
                    "type": "stn",
                    "id": "site-105",
                    "text": "105",
                    "top": 431,
                    "left": 1328,
                    "width": 85,
                    "height": 50
                }, {
                    "type": "stn",
                    "id": "site-104",
                    "text": "104",
                    "top": 491,
                    "left": 1328,
                    "width": 85,
                    "height": 50
                }, {
                    "type": "stn",
                    "id": "site-106",
                    "text": "106",
                    "top": 284,
                    "left": 287,
                    "width": 86,
                    "height": 105
                }]
        }, {
            "type": "floor",
            "id": "page_floor2",
            "text": "2F",
            "top": 4,
            "left": 22,
            "width": 1677,
            "height": 613,
            "stns": [{
                "type": "stn",
                "id": "site-202",
                "text": "202",
                "top": 431,
                "left": 1600,
                "width": 59,
                "height": 27
            }, {
                "type": "stn",
                "id": "site-203",
                "text": "203",
                "top": 431,
                "left": 1520,
                "width": 59,
                "height": 27
            }, {
                "type": "stn",
                "id": "site-200",
                "text": "200",
                "top": 285,
                "left": 1600,
                "width": 59,
                "height": 25
            }, {
                "type": "stn",
                "id": "site-201",
                "text": "201",
                "top": 285,
                "left": 1520,
                "width": 59,
                "height": 25
            }, {
                "type": "stn",
                "id": "site-210",
                "text": "210",
                "top": 431,
                "left": 1680,
                "width": 59,
                "height": 25
            }, {
                "type": "track",
                "id": "lb_track5",
                "text": "",
                "top": 110,
                "left": 1690,
                "width": 1,
                "height": 350
            }, {
                "type": "track",
                "id": "lb_track6",
                "text": "",
                "top": 110,
                "left": 1720,
                "width": 1,
                "height": 350
            }, {
                "type": "stn",
                "id": "site-300",
                "text": "300",
                "top": 120,
                "left": 1630,
                "width": 59,
                "height": 25
            }
                , {
                    "type": "stn",
                    "id": "site-301",
                    "text": "301",
                    "top": 120,
                    "left": 1570,
                    "width": 59,
                    "height": 25
                }
                , {
                    "type": "stn",
                    "id": "site-302",
                    "text": "302",
                    "top": 120,
                    "left": 1510,
                    "width": 59,
                    "height": 25
                }
                , {
                    "type": "stn",
                    "id": "site-303",
                    "text": "303",
                    "top": 120,
                    "left": 1450,
                    "width": 59,
                    "height": 25
                }
                , {
                    "type": "stn",
                    "id": "site-304",
                    "text": "304",
                    "top": 94,
                    "left": 1450,
                    "width": 59,
                    "height": 25
                }
                , {
                    "type": "stn",
                    "id": "site-305",
                    "text": "305",
                    "top": 68,
                    "left": 1450,
                    "width": 59,
                    "height": 25
                }
            ]
        }]
    }]
}
src/main/webapp/views/crn.html
@@ -65,18 +65,18 @@
                    <!--            <span>&nbsp;</span>-->
                    <input id="crn2" disabled="disabled">
                </div>
                <div class="crn-command-item">
                    <label>3#</label>
                    <button id="demoBtn-3" class="demoBtn" onclick="demoSwitch(this.id)"> - </button>
                    <!--            <span>&nbsp;</span>-->
                    <input id="crn3" disabled="disabled">
                </div>
                <div class="crn-command-item">
                    <label>4#</label>
                    <button id="demoBtn-4" class="demoBtn" onclick="demoSwitch(this.id)"> - </button>
                    <!--            <span>&nbsp;</span>-->
                    <input id="crn4" disabled="disabled">
                </div>
<!--                <div class="crn-command-item">-->
<!--                    <label>3#</label>-->
<!--                    <button id="demoBtn-3" class="demoBtn" onclick="demoSwitch(this.id)"> - </button>-->
<!--                    &lt;!&ndash;            <span>&nbsp;</span>&ndash;&gt;-->
<!--                    <input id="crn3" disabled="disabled">-->
<!--                </div>-->
<!--                <div class="crn-command-item">-->
<!--                    <label>4#</label>-->
<!--                    <button id="demoBtn-4" class="demoBtn" onclick="demoSwitch(this.id)"> - </button>-->
<!--                    &lt;!&ndash;            <span>&nbsp;</span>&ndash;&gt;-->
<!--                    <input id="crn4" disabled="disabled">-->
<!--                </div>-->
            </div>
            <!-- 堆垛机状态位信息 -->
            <div class="crn-state">
@@ -144,8 +144,8 @@
                    <div class="select-container" style="padding: 20px 0;">
                        <label><input type="radio" name="crnSelect" value="1" checked>&nbsp;1号堆垛机</label>
                        <label><input type="radio" name="crnSelect" value="2">&nbsp;2号堆垛机</label>
                        <label><input type="radio" name="crnSelect" value="3">&nbsp;3号堆垛机</label>
                        <label><input type="radio" name="crnSelect" value="4">&nbsp;4号堆垛机</label>
<!--                        <label><input type="radio" name="crnSelect" value="3">&nbsp;3号堆垛机</label>-->
<!--                        <label><input type="radio" name="crnSelect" value="4">&nbsp;4号堆垛机</label>-->
                    </div>
                </div>
                <!-- 源站/源库位 选择 -->
src/main/webapp/views/rgv.html
@@ -152,8 +152,8 @@
                    <span class="select-title">RGV号</span>
                    <div class="select-container" style="padding: 20px 0;">
                        <label><input type="radio" name="rgvSelect" value="1" checked>&nbsp;1号RGV</label>
                        <label><input type="radio" name="rgvSelect" value="2">&nbsp;2号RGV</label>
                        <label><input type="radio" name="rgvSelect" value="3">&nbsp;3号RGV</label>
<!--                        <label><input type="radio" name="rgvSelect" value="2">&nbsp;2号RGV</label>-->
<!--                        <label><input type="radio" name="rgvSelect" value="3">&nbsp;3号RGV</label>-->
                    </div>
                </div>
                <!-- 源站/源库位 选择 -->