自动化立体仓库 - WCS系统
#
Junjie
2023-11-13 7e8e09aa4c3da51907bcf344de83d377b5b6d6c4
src/main/webapp/static/js/console.js
@@ -25,36 +25,59 @@
    for (let i = 0;i < rackss.length;i++) {
        let bay ='' // 单个库位
        let bays = '' // 库位集合
        let bayWidth = rackss[i].width / (rackss[i].maxBayNo / rackss[i].minBayNo)
        let maxBayNo = rackss[i].maxBayNo // 最大库位号
        let minBayNo = rackss[i].minBayNo // 最小库位号
        let bLen = maxBayNo / minBayNo // 库位个数
        let bLen
        let interval // 间隔数
        if (maxBayNo < 37) {
            interval = 1;
            bLen = maxBayNo / interval; // 库位个数
        } else {
            interval = 2;
            bLen = maxBayNo / interval; // 库位个数
        }
        let bayWidth // 单个库位宽度
        let bNum // 库位号码
        // hpPosition 0 表示货架序号 左->右 1 表示货架序号 右->左
        if (minBayNo % 2 == 0) { // 从2开始
            if(interval == 1) {
                bLen = bLen - 1
            } else if (interval == 2) {
                if (maxBayNo % 2 == 0) { // 偶数
                    bLen = bLen
                } else { // 奇数
                    maxBayNo = maxBayNo + 1
                    bLen = maxBayNo / interval // 库位个数
                }
            }
        } else { // 从1开始
            if(interval == 1) {
                bLen = bLen
            } else if (interval == 2) {
                if (maxBayNo % 2 == 0) { // 偶数
                    bLen = bLen
                } else { // 奇数
                    bLen = bLen + 1
                }
            }
        }
        bayWidth = rackss[i].width / bLen
        // hpPosition 0 表示货架序号 左->右 1 表示货架序号 左<-右
        if (mapInfo.hpPosition == 1) {
            bNum = maxBayNo
            for (let j = bLen; j > 0; j--) {
                bay = "<button class='item' style='width: "+ bayWidth +"px'>" + bNum + "</button>"
                bays = bays + bay
                bNum = bNum - minBayNo;
                bNum = bNum - interval;
            }
        }else {
            if (minBayNo % 2 == 0) {
                bNum = minBayNo
                for (let j = 0; j < bLen; j++) {
                    bay = "<button class='item' style='width: "+ bayWidth +"px'>" + bNum + "</button>"
                    bays = bays + bay
                    bNum = bNum + minBayNo;
                }
            } else {
                bNum = minBayNo + 1
                for (let j = 0; j < bLen; j++) {
                    bay = "<button class='item' style='width: "+ bayWidth +"px'>" + bNum + "</button>"
                    bays = bays + bay
                    bNum = bNum + minBayNo;
                }
            bNum = minBayNo
            for (let j = 0; j < bLen; j++) {
                bay = "<button class='item' style='width: "+ bayWidth +"px'>" + bNum + "</button>"
                bays = bays + bay
                bNum = bNum + interval;
            }
        }
        rack = "<div class='rack' id='" + rackss[i].id +
@@ -66,17 +89,17 @@
        racks = racks + rack
        // getCrnInfo(minBayNo);
    }
    // 货架描述
    for (let i = 0;i < rackDescss.length;i++) {
        rackDesc = "<div class='rackDescs' id='" + rackDescss[i].id +
            "'style='width:"+ rackDescss[i].width +
            "px;height: "+ rackDescss[i].height+
            "px;line-height: "+ rackDescss[i].height+
            "px;top: "+ rackDescss[i].top +
            "px;left: "+ rackDescss[i].left +
            "px'>" + rackDescss[i].text + "</div>"
        rackDescs = rackDescs + rackDesc
    }
    // // 货架描述
    // for (let i = 0;i < rackDescss.length;i++) {
    //     rackDesc = "<div class='rackDescs' id='" + rackDescss[i].id +
    //         "'style='width:"+ rackDescss[i].width +
    //         "px;height: "+ rackDescss[i].height+
    //         "px;line-height: "+ rackDescss[i].height+
    //         "px;top: "+ rackDescss[i].top +
    //         "px;left: "+ rackDescss[i].left +
    //         "px'>" + rackDescss[i].text + "</div>"
    //     rackDescs = rackDescs + rackDesc
    // }
    // 堆垛机和地轨
    for (let i = 0;i < crnss.length;i++) {
        if (crnss[i].type == "crane") {