#
vincent
2020-06-03 4c82a8e7f607ebbb82a8d9c44e5ea08e1c8b0419
#
3个文件已添加
4个文件已修改
445 ■■■■■ 已修改文件
src/main/java/com/zy/client/controller/ConsoleController.java 63 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/client/controller/CrnController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/client/domain/vo/BarcodeDataVo.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/client/domain/vo/CrnDetailVo.java 118 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/client/domain/vo/SiteDetailVo.java 140 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/css/console.css 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/console.html 91 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/client/controller/ConsoleController.java
@@ -6,15 +6,17 @@
import com.zy.client.constant.WcsSystemPropety;
import com.zy.client.domain.enums.SiteStatusType;
import com.zy.client.domain.param.SystemSwitchParam;
import com.zy.client.domain.vo.CrnLatestDataVo;
import com.zy.client.domain.vo.SiteLatestDataVo;
import com.zy.client.domain.vo.*;
import com.zy.common.CodeRes;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import java.util.concurrent.atomic.AtomicInteger;
/**
 * 主控图接口
@@ -23,6 +25,8 @@
@RestController
@RequestMapping("/console")
public class ConsoleController {
    public static AtomicInteger integer = new AtomicInteger();
    @PostMapping("/system/running/status")
    @ManagerAuth(memo = "系统运行状态")
@@ -51,22 +55,54 @@
    @PostMapping("/site/detail")
    @ManagerAuth(memo = "输送设备数据详情")
    public R siteDetail(){
        return R.ok();
    public R siteDetail(@RequestParam String siteId){
        if (Cools.isEmpty(siteId)){
            return R.parse(CodeRes.EMPTY);
        }
        SiteDetailVo vo = new SiteDetailVo();
        vo.setDevpNo(siteId);
        vo.setWorkNo("9998");
        vo.setWorkStatus("2.设备上移动");
        vo.setAutoing("Y");
        vo.setLoading("Y");
        vo.setCanining("N");
        vo.setCanouting("Y");
        vo.setIoType("1.入库");
        vo.setSourceStaNo("2303");
        vo.setStaNo("2410");
        vo.setSourceStock("");
        vo.setStock("");
        return R.ok().add(vo);
    }
    @PostMapping("/crn/detail")
    @ManagerAuth(memo = "堆垛机设备数据详情")
    public R crnDetail(){
        return R.ok();
    public R crnDetail(@RequestParam String crnNo){
        if (Cools.isEmpty(crnNo)){
            return R.parse(CodeRes.EMPTY);
        }
        CrnDetailVo vo = new CrnDetailVo();
        vo.setCrnNo(crnNo);
        vo.setWorkNo("3387");
        vo.setSourceStaNo("2303");
        vo.setStaNo("2410");
        vo.setWorkStatus("3.吊车入库中");
        vo.setIoType("1.入库");
        vo.setSourceStock("");
        vo.setStock("05050040");
        vo.setCrnStatus("取货中");
        vo.setError("0");
        return R.ok().add(vo);
    }
    @Deprecated
    @PostMapping("/site/update")
    @ManagerAuth(memo = "输送设备数据修改")
    public R updateSite(){
        return R.ok();
    }
    @Deprecated
    @PostMapping("/crn/update")
    @ManagerAuth(memo = "堆垛机数据修改")
    public R updateCrn(){
@@ -108,8 +144,19 @@
    @PostMapping("/latest/data/barcode")
    @ManagerAuth(memo = "条码扫描仪实时数据")
    public R barcodeLatestData(){
        return R.ok();
        integer.getAndIncrement();
        List<BarcodeDataVo> list = new ArrayList<>();
        for (int i=1;i<=1;i++){
            BarcodeDataVo vo = new BarcodeDataVo();
            vo.setBarcodeId("1");
            if (integer.get()%5 != 0) {
                vo.setCodeValue("0");
            } else {
                vo.setCodeValue(String.valueOf(new Random().nextInt(5000)));
            }
            list.add(vo);
        }
        return R.ok().add(list);
    }
}
src/main/java/com/zy/client/controller/CrnController.java
@@ -25,7 +25,7 @@
@RequestMapping("/crn")
public class CrnController {
    private AtomicInteger integer = new AtomicInteger();
    public static AtomicInteger integer = new AtomicInteger();
    @ManagerAuth(memo = "进行中的命令")
    @PostMapping("/command/ongoing")
src/main/java/com/zy/client/domain/vo/BarcodeDataVo.java
New file
@@ -0,0 +1,30 @@
package com.zy.client.domain.vo;
/**
 * 扫码器实时数据视图对象
 * Created by vincent on 2020-06-03
 */
public class BarcodeDataVo {
    // 扫码器编号
    private String barcodeId;
    // 扫码器内容
    private String codeValue;
    public String getBarcodeId() {
        return barcodeId;
    }
    public void setBarcodeId(String barcodeId) {
        this.barcodeId = barcodeId;
    }
    public String getCodeValue() {
        return codeValue;
    }
    public void setCodeValue(String codeValue) {
        this.codeValue = codeValue;
    }
}
src/main/java/com/zy/client/domain/vo/CrnDetailVo.java
New file
@@ -0,0 +1,118 @@
package com.zy.client.domain.vo;
/**
 * 堆垛机详情视图对象
 * Created by vincent on 2020-06-03
 */
public class CrnDetailVo {
    // 堆垛机号
    private String crnNo;
    // 工作号
    private String workNo;
    // 源站
    private String sourceStaNo;
    // 目标站
    private String staNo;
    // 工作状态
    private String workStatus;
    // 出入类型
    private String ioType;
    // 源库位
    private String sourceStock;
    // 目标库位
    private String stock;
    // 堆垛机状态
    private String crnStatus;
    // 异常
    private String error;
    public String getCrnNo() {
        return crnNo;
    }
    public void setCrnNo(String crnNo) {
        this.crnNo = crnNo;
    }
    public String getWorkNo() {
        return workNo;
    }
    public void setWorkNo(String workNo) {
        this.workNo = workNo;
    }
    public String getSourceStaNo() {
        return sourceStaNo;
    }
    public void setSourceStaNo(String sourceStaNo) {
        this.sourceStaNo = sourceStaNo;
    }
    public String getStaNo() {
        return staNo;
    }
    public void setStaNo(String staNo) {
        this.staNo = staNo;
    }
    public String getWorkStatus() {
        return workStatus;
    }
    public void setWorkStatus(String workStatus) {
        this.workStatus = workStatus;
    }
    public String getIoType() {
        return ioType;
    }
    public void setIoType(String ioType) {
        this.ioType = ioType;
    }
    public String getSourceStock() {
        return sourceStock;
    }
    public void setSourceStock(String sourceStock) {
        this.sourceStock = sourceStock;
    }
    public String getStock() {
        return stock;
    }
    public void setStock(String stock) {
        this.stock = stock;
    }
    public String getCrnStatus() {
        return crnStatus;
    }
    public void setCrnStatus(String crnStatus) {
        this.crnStatus = crnStatus;
    }
    public String getError() {
        return error;
    }
    public void setError(String error) {
        this.error = error;
    }
}
src/main/java/com/zy/client/domain/vo/SiteDetailVo.java
New file
@@ -0,0 +1,140 @@
package com.zy.client.domain.vo;
/**
 * 输送设备详情视图对象
 * Created by vincent on 2020-06-03
 */
public class SiteDetailVo {
    // 站点编号
    private String devpNo;
    // 工作号
    private String workNo;
    // 工作状态
    private String workStatus;
    // 自动
    private String autoing;
    // 有物
    private String loading;
    // 能入
    private String canining;
    // 能出
    private String canouting;
    // 出入类型
    private String ioType;
    // 源站
    private String sourceStaNo;
    // 目标站
    private String staNo;
    // 源库位
    private String sourceStock;
    // 目标库位
    private String stock;
    public String getDevpNo() {
        return devpNo;
    }
    public void setDevpNo(String devpNo) {
        this.devpNo = devpNo;
    }
    public String getWorkNo() {
        return workNo;
    }
    public void setWorkNo(String workNo) {
        this.workNo = workNo;
    }
    public String getWorkStatus() {
        return workStatus;
    }
    public void setWorkStatus(String workStatus) {
        this.workStatus = workStatus;
    }
    public String getAutoing() {
        return autoing;
    }
    public void setAutoing(String autoing) {
        this.autoing = autoing;
    }
    public String getLoading() {
        return loading;
    }
    public void setLoading(String loading) {
        this.loading = loading;
    }
    public String getCanining() {
        return canining;
    }
    public void setCanining(String canining) {
        this.canining = canining;
    }
    public String getCanouting() {
        return canouting;
    }
    public void setCanouting(String canouting) {
        this.canouting = canouting;
    }
    public String getIoType() {
        return ioType;
    }
    public void setIoType(String ioType) {
        this.ioType = ioType;
    }
    public String getSourceStaNo() {
        return sourceStaNo;
    }
    public void setSourceStaNo(String sourceStaNo) {
        this.sourceStaNo = sourceStaNo;
    }
    public String getStaNo() {
        return staNo;
    }
    public void setStaNo(String staNo) {
        this.staNo = staNo;
    }
    public String getSourceStock() {
        return sourceStock;
    }
    public void setSourceStock(String sourceStock) {
        this.sourceStock = sourceStock;
    }
    public String getStock() {
        return stock;
    }
    public void setStock(String stock) {
        this.stock = stock;
    }
}
src/main/webapp/static/css/console.css
@@ -210,6 +210,7 @@
    border-left: 1px solid #333!important;
    border-right: 1px solid #333!important;
    border-right: none;
    cursor: inherit;
}
.stock-group .item:last-child {
    /*border-right: 1px solid #333!important;*/
src/main/webapp/views/console.html
@@ -203,7 +203,7 @@
            <!-- 堆垛机 -->
            <div class="crn">
                <hr class="pathway">
                <div id="crn1" class="machine"></div>
                <div id="crn-1" class="machine"></div>
            </div>
            <!-- 货架 -->
            <div class="stock-group">
@@ -342,7 +342,7 @@
            <!-- 堆垛机 -->
            <div class="crn">
                <hr class="pathway">
                <div id="crn2" class="machine"></div>
                <div id="crn-2" class="machine"></div>
            </div>
            <!-- 货架 -->
            <div class="stock-group">
@@ -424,7 +424,7 @@
                <span>设备号</span>
            </div>
            <div class="form-item-input">
                <input type="text" name="devpNo" value="12" disabled="disabled" style="width: 4rem">
                <input type="text" name="devpNo" value="" disabled="disabled" style="width: 4rem">
            </div>
        </div>
        <div class="form-item" style="width: 25%">
@@ -432,7 +432,7 @@
                <span>工作号</span>
            </div>
            <div class="form-item-input">
                <input type="text" name="workNo" value="9998" disabled="disabled" style="width: 4rem">
                <input type="text" name="workNo" value="" disabled="disabled" style="width: 4rem">
            </div>
        </div>
        <div class="form-item" style="width: 45%">
@@ -440,7 +440,7 @@
                <span>工作状态</span>
            </div>
            <div class="form-item-input">
                <input type="text" name="workStatus" value="2.设备上移动" disabled="disabled" style="width: 10rem">
                <input type="text" name="workStatus" value="" disabled="disabled" style="width: 10rem">
            </div>
        </div>
@@ -450,7 +450,7 @@
                <span>自动</span>
            </div>
            <div class="form-item-input">
                <input type="checkbox" name="auto" disabled="disabled" style="width: 1rem" checked>
                <input type="checkbox" name="autoing" disabled="disabled" style="width: 1rem">
            </div>
        </div>
        <div class="form-item" style="width: 20%">
@@ -458,7 +458,7 @@
                <span>有物</span>
            </div>
            <div class="form-item-input">
                <input type="checkbox" name="loading" disabled="disabled" style="width: 1rem" checked>
                <input type="checkbox" name="loading" disabled="disabled" style="width: 1rem">
            </div>
        </div>
         <div class="form-item" style="width: 20%">
@@ -466,7 +466,7 @@
                 <span>能入</span>
             </div>
             <div class="form-item-input">
                 <input type="checkbox" name="canining" disabled="disabled" style="width: 1rem" checked>
                 <input type="checkbox" name="canining" disabled="disabled" style="width: 1rem">
             </div>
         </div>
         <div class="form-item" style="width: 20%">
@@ -474,7 +474,7 @@
                 <span>能出</span>
             </div>
             <div class="form-item-input">
                 <input type="checkbox" name="canouting" disabled="disabled" style="width: 1rem" checked>
                 <input type="checkbox" name="canouting" disabled="disabled" style="width: 1rem">
             </div>
        </div>
@@ -484,7 +484,7 @@
                <span>出入类型</span>
            </div>
            <div class="form-item-input">
                <input type="text" name="ioType" value="1.入库" disabled="disabled" style="width: 8rem">
                <input type="text" name="ioType" value="" disabled="disabled" style="width: 8rem">
            </div>
        </div>
        <div class="form-item" style="width: 25%">
@@ -492,7 +492,7 @@
                <span>源站</span>
            </div>
            <div class="form-item-input">
                <input type="text" name="sourceStaNo" value="2303" disabled="disabled" style="width: 4rem">
                <input type="text" name="sourceStaNo" value="" disabled="disabled" style="width: 4rem">
            </div>
        </div>
        <div class="form-item" style="width: 25%">
@@ -500,7 +500,7 @@
                <span>目标站</span>
            </div>
            <div class="form-item-input">
                <input type="text" name="staNo" value="2410" disabled="disabled" style="width: 4rem">
                <input type="text" name="staNo" value="" disabled="disabled" style="width: 4rem">
            </div>
        </div>
@@ -518,7 +518,7 @@
                <span>目标库位</span>
            </div>
            <div class="form-item-input">
                <input type="text" name="stock" value="" style="width: 8rem">
                <input type="text" name="stock" value="" disabled="disabled" style="width: 8rem">
            </div>
        </div>
    </form>
@@ -533,7 +533,7 @@
                <span>堆垛机号</span>
            </div>
            <div class="form-item-input">
                <input type="text" name="crnNo" value="12" disabled="disabled" style="width: 3rem">
                <input type="text" name="crnNo" value="" disabled="disabled" style="width: 3rem">
            </div>
        </div>
        <div class="form-item" style="width: 25%">
@@ -541,7 +541,7 @@
                <span>工作号</span>
            </div>
            <div class="form-item-input">
                <input type="text" name="workNo" value="9998" disabled="disabled" style="width: 5rem">
                <input type="text" name="workNo" value="" disabled="disabled" style="width: 5rem">
            </div>
        </div>
        <div class="form-item" style="width: 23%">
@@ -549,7 +549,7 @@
                <span>源站</span>
            </div>
            <div class="form-item-input">
                <input type="text" name="sourceStaNo" value="2303" disabled="disabled" style="width: 4rem">
                <input type="text" name="sourceStaNo" value="" disabled="disabled" style="width: 4rem">
            </div>
        </div>
        <div class="form-item" style="width: 25%">
@@ -557,7 +557,7 @@
                <span>目标站</span>
            </div>
            <div class="form-item-input">
                <input type="text" name="staNo" value="2410" disabled="disabled" style="width: 4rem">
                <input type="text" name="staNo" value="" disabled="disabled" style="width: 4rem">
            </div>
        </div>
@@ -567,7 +567,7 @@
                <span>工作状态</span>
            </div>
            <div class="form-item-input">
                <input type="text" name="workStatus" value="2.设备上移动" disabled="disabled" style="width: 10rem">
                <input type="text" name="workStatus" value="" disabled="disabled" style="width: 10rem">
            </div>
        </div>
        <div class="form-item" style="width: 45%">
@@ -575,7 +575,7 @@
                <span>出入类型</span>
            </div>
            <div class="form-item-input">
                <input type="text" name="ioType" value="1.入库" disabled="disabled" style="width: 10rem">
                <input type="text" name="ioType" value="" disabled="disabled" style="width: 10rem">
            </div>
        </div>
@@ -626,10 +626,12 @@
    getSitesInfo();
    getCrnInfo();
    getSystemRunningStatus();
    getBarcodeInfo();
    // 实时访问
    setInterval(function () {
        getCrnInfo();
        getSystemRunningStatus();
        getBarcodeInfo()
    }, 500);
    setInterval(function () {
        getSitesInfo();
@@ -760,7 +762,12 @@
            method: 'POST',
            success: function (res) {
                if (res.code === 200){
                    var barcodes = res.data;
                    for (var i = 0; i < barcodes.length; i++){
                        console.log(barcodes[i].barcodeId);
                        console.log(barcodes[i].codeValue);
                        $("#code-decoder-data-"+barcodes[i].barcodeId).html(barcodes[i].codeValue);
                    }
                } else if (res.code === 403){
                    top.location.href = baseUrl+"/login";
                }  else {
@@ -774,11 +781,11 @@
    function crnAnimate(id, leftVal) {
        switch (id) {
            case 1:
                $("#crn1").animate({left: leftVal+'px'}, 1000);
                $("#crn-1").animate({left: leftVal+'px'}, 1000);
                crn1Position = leftVal;
                break;
            case 2:
                $("#crn2").animate({left: leftVal+'px'}, 1000);
                $("#crn-2").animate({left: leftVal+'px'}, 1000);
                crn2Position = leftVal;
                break;
            default:
@@ -790,8 +797,9 @@
    // 输送设备点击事件
    $('.site').on('click', function () {
        var id = this.id.split("-")[1];
        layer.open({
            title: "1204站点信息",
            title: id + "站点信息详情",
            closeBtn: 0,
            skin: 'layui-layer-lan',
            offset: '180px',
@@ -800,17 +808,29 @@
            content: $('#siteWindow'),
            area: ['35rem', '18rem'],
            btn: ['确定', '关闭'],
            yes: function(index, layero){
                layer.close(index);
                alert(1);
            success: function(layero, index){
                http.post(baseUrl+"/console/site/detail", {siteId: id}, function (res) {
                    for (var val in res.data) {
                        var find = $("#siteWindow").find(":input[name='" + val + "']");
                        if (find[0].type==='text') {
                            find.val(res.data[val]);
                        } else if (find[0].type === 'checkbox') {
                            find.attr("checked", res.data[val] === 'Y');
                        }
                    }
                })
            },
            end: function () {
                $(':input', $("#siteWindow")).val('').removeAttr('checked').removeAttr('selected');
            }
        });
    });
    // 堆垛机点击事件
    $('.machine').on('click', function () {
        var id = this.id.split("-")[1];
        layer.open({
            title: "1号堆垛机",
            title: id+"号堆垛机",
            skin: 'layui-layer-lan',
            closeBtn: 0,
            type: 1,
@@ -819,9 +839,20 @@
            content: $("#crnWindow"),
            area: ['40rem', '20rem'],
            btn: ['确定', '关闭'],
            yes: function(index, layero){
                layer.close(index);
                alert(1);
            success: function(layero, index){
                http.post(baseUrl+"/console/crn/detail", {crnNo: id}, function (res) {
                    for (var val in res.data) {
                        var find = $("#crnWindow").find(":input[name='" + val + "']");
                        if (find[0].type==='text') {
                            find.val(res.data[val]);
                        } else if (find[0].type === 'checkbox') {
                            find.attr("checked", res.data[val] === 'Y');
                        }
                    }
                })
            },
            end: function () {
                $(':input', $("#crnWindow")).val('').removeAttr('checked').removeAttr('selected');
            }
        });
    });