#
vincent
2020-06-02 0d51d316d7326558fadaf98a1d5a838bc7109bab
#
3个文件已修改
1个文件已添加
380 ■■■■■ 已修改文件
src/main/java/com/zy/client/controller/CrnController.java 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/client/domain/param/CrnOperatorParam.java 106 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/js/common.js 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/crn.html 142 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/client/controller/CrnController.java
@@ -2,10 +2,11 @@
import com.core.annotations.ManagerAuth;
import com.core.common.R;
import com.zy.client.domain.enums.CrnStatusType;
import com.zy.client.domain.param.CrnOperatorParam;
import com.zy.client.domain.vo.CommandLogVo;
import com.zy.client.domain.vo.CrnMsgTableVo;
import com.zy.client.domain.vo.CrnStateTableVo;
import com.zy.client.domain.enums.CrnStatusType;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@@ -90,4 +91,68 @@
        return R.ok().add(str);
    }
    /****************************************************************/
    /************************** 手动操作 ******************************/
    /****************************************************************/
    @ManagerAuth(memo = "入库")
    @PostMapping("/operator/put")
    public R crnPut(CrnOperatorParam param){
        return R.ok("入库成功");
    }
    @ManagerAuth(memo = "出库")
    @PostMapping("/operator/take")
    public R crnTake(CrnOperatorParam param){
        return R.ok("出库成功");
    }
    @ManagerAuth(memo = "库位转移")
    @PostMapping("/operator/stockMove")
    public R crnStockMove(CrnOperatorParam param){
        return R.ok("库位转移成功");
    }
    @ManagerAuth(memo = "站到站")
    @PostMapping("/operator/siteMove")
    public R crnSiteMove(CrnOperatorParam param){
        return R.ok("站到站成功");
    }
    @ManagerAuth(memo = "坐标移动")
    @PostMapping("/operator/coorMove")
    public R crnCoorMove(CrnOperatorParam param){
        return R.ok("坐标移动成功");
    }
    @ManagerAuth(memo = "回原点")
    @PostMapping("/operator/bacOrigin")
    public R crnBacOrigin(CrnOperatorParam param){
        return R.ok("回原点成功");
    }
    @ManagerAuth(memo = "任务完成")
    @PostMapping("/operator/taskComplete")
    public R crnTaskComplete(CrnOperatorParam param){
        return R.ok("任务完成");
    }
    @ManagerAuth(memo = "暂停")
    @PostMapping("/operator/pause")
    public R crnPause(CrnOperatorParam param){
        return R.ok("暂停成功");
    }
    @ManagerAuth(memo = "启动")
    @PostMapping("/operator/boot")
    public R crnBoot(CrnOperatorParam param){
        return R.ok("启动成功");
    }
    @ManagerAuth(memo = "清除命令")
    @PostMapping("/operator/clearCommand")
    public R crnClearCommand(CrnOperatorParam param){
        return R.ok("清除命令成功");
    }
}
src/main/java/com/zy/client/domain/param/CrnOperatorParam.java
New file
@@ -0,0 +1,106 @@
package com.zy.client.domain.param;
/**
 * Created by vincent on 2020-06-02
 */
public class CrnOperatorParam {
    // 堆垛机号
    private String crnNo;
    // 源站
    private String sourceStaNo;
    // 源库位-排
    private String sourceRow;
    // 源库位-列
    private String sourceBay;
    // 源库位-层
    private String sourceLev;
    // 目标站
    private String staNo;
    // 目标库位-排
    private String row;
    // 目标库位-列
    private String bay;
    // 目标库位-层
    private String lev;
    public String getCrnNo() {
        return crnNo;
    }
    public void setCrnNo(String crnNo) {
        this.crnNo = crnNo;
    }
    public String getSourceStaNo() {
        return sourceStaNo;
    }
    public void setSourceStaNo(String sourceStaNo) {
        this.sourceStaNo = sourceStaNo;
    }
    public String getSourceRow() {
        return sourceRow;
    }
    public void setSourceRow(String sourceRow) {
        this.sourceRow = sourceRow;
    }
    public String getSourceBay() {
        return sourceBay;
    }
    public void setSourceBay(String sourceBay) {
        this.sourceBay = sourceBay;
    }
    public String getSourceLev() {
        return sourceLev;
    }
    public void setSourceLev(String sourceLev) {
        this.sourceLev = sourceLev;
    }
    public String getStaNo() {
        return staNo;
    }
    public void setStaNo(String staNo) {
        this.staNo = staNo;
    }
    public String getRow() {
        return row;
    }
    public void setRow(String row) {
        this.row = row;
    }
    public String getBay() {
        return bay;
    }
    public void setBay(String bay) {
        this.bay = bay;
    }
    public String getLev() {
        return lev;
    }
    public void setLev(String lev) {
        this.lev = lev;
    }
}
src/main/webapp/static/js/common.js
@@ -94,3 +94,68 @@
    }
}
// http请求
!function (n) {
    "use strict";
    var http = {
        toAjax: function (params) {
            $.ajax(params);
        },
        get: function (url, data, callback) {
            http.toAjax({
                method: 'GET',
                url: url,
                data: data,
                dataType: 'json',
                header: {'Content-Type': 'application/json'},
                timeout: 10000,
                cache: false,
                success: function (result) {
                    callback(result);
                },
                error: function (res, type) {
                }
            })
        },
        post: function (url, param, callback, type) {
            var headerType;
            if (type === 'json') {
                headerType = {'Content-Type': 'application/json'}
            } else {
                headerType = {'Content-Type': 'application/x-www-form-urlencoded'}
            }
            headerType['token'] = localStorage.getItem('token');
            http.toAjax({
                method: 'POST',
                url: url,
                data: param,
                dataType: 'json',
                headers: headerType,
                timeout: 10000,
                cache: false,
                success: function (res) {
                    if (res.code === 200){
                        callback(res);
                    } else if (res.code === 403){
                        top.location.href = baseUrl+"/login";
                    }  else {
                        alert(res.msg);
                    }
                },
                error: function (res, type) {
                }
            })
        },
    };
    "function" == typeof define && define.amd ? define(function () {
        return http
    }) : "object" == typeof module && module.exports ? module.exports = http : n.http = http
}(this);
src/main/webapp/views/crn.html
@@ -87,8 +87,8 @@
        <div id="crn-select" class="operator-item">
            <span class="select-title">堆垛机号</span>
            <div class="select-container">
                <label><input type="radio" name="crn" value="1" checked>&nbsp;1号堆垛机</label>
                <label><input type="radio" name="crn" value="2">&nbsp;2号堆垛机</label>
                <label><input type="radio" name="crnSelect" value="1" checked>&nbsp;1号堆垛机</label>
                <label><input type="radio" name="crnSelect" value="2">&nbsp;2号堆垛机</label>
            </div>
        </div>
        <!-- 源站/源库位 选择 -->
@@ -97,19 +97,19 @@
            <div class="select-container">
                <div class="select-container-item">
                    <span>站</span>
                    <label><input type="number" name="points" min="0" /></label>
                    <label><input id="sourceStaNo" type="number" name="points" min="0" /></label>
                </div>
                <div class="select-container-item">
                    <span>排</span>
                    <label><input type="number" name="points" min="0" style="background-color: #a9eeff" /></label>
                    <label><input id="sourceRow" type="number" name="points" min="0" style="background-color: #a9eeff" /></label>
                </div>
                <div class="select-container-item">
                    <span>列</span>
                    <label><input type="number" name="points" min="0" style="background-color: #a9eeff" /></label>
                    <label><input id="sourceBay" type="number" name="points" min="0" style="background-color: #a9eeff" /></label>
                </div>
                <div class="select-container-item">
                    <span>层</span>
                    <label><input type="number" name="points" min="0" style="background-color: #a9eeff" /></label>
                    <label><input id="sourceLev" type="number" name="points" min="0" style="background-color: #a9eeff" /></label>
                </div>
            </div>
        </div>
@@ -119,19 +119,19 @@
            <div class="select-container">
                <div class="select-container-item">
                    <span>站</span>
                    <label><input type="number" name="points" min="0" /></label>
                    <label><input id="staNo" type="number" name="points" min="0" /></label>
                </div>
                <div class="select-container-item">
                    <span>排</span>
                    <label><input type="number" name="points" min="0" style="background-color: #a9eeff" /></label>
                    <label><input id="row" type="number" name="points" min="0" style="background-color: #a9eeff" /></label>
                </div>
                <div class="select-container-item">
                    <span>列</span>
                    <label><input type="number" name="points" min="0" style="background-color: #a9eeff" /></label>
                    <label><input id="bay" type="number" name="points" min="0" style="background-color: #a9eeff" /></label>
                </div>
                <div class="select-container-item">
                    <span>层</span>
                    <label><input type="number" name="points" min="0" style="background-color: #a9eeff" /></label>
                    <label><input id="lev" type="number" name="points" min="0" style="background-color: #a9eeff" /></label>
                </div>
            </div>
        </div>
@@ -142,16 +142,16 @@
        <fieldset>
            <legend>手动操作</legend>
            <div class="button-group">
                <button class="item">入库</button>
                <button class="item">出库</button>
                <button class="item">库位转移</button>
                <button class="item">站到站</button>
                <button class="item">坐标移动</button>
                <button class="item">回原点</button>
                <button class="item">任务完成</button>
                <button class="item">暂停</button>
                <button class="item">启动</button>
                <button class="item">清除命令</button>
                <button class="item" onclick="put()">入库</button>
                <button class="item" onclick="take()">出库</button>
                <button class="item" onclick="stockMove()">库位转移</button>
                <button class="item" onclick="siteMove()">站到站</button>
                <button class="item" onclick="coorMove()">坐标移动</button>
                <button class="item" onclick="bacOrigin()">回原点</button>
                <button class="item" onclick="taskComplete()">任务完成</button>
                <button class="item" onclick="pause()">暂停</button>
                <button class="item" onclick="boot()">启动</button>
                <button class="item" onclick="clearCommand()">清除命令</button>
            </div>
        </fieldset>
    </div>
@@ -172,6 +172,7 @@
    // 初始化
    var crnOutputDom = document.getElementById("crn-output");
    $(document).ready(function() {
        getCommandLog();
        initCrnStateTable();
        getCrnStateInfo();
        initCrnMsgTable();
@@ -258,9 +259,9 @@
            success: function (res) {
                if (res.code === 200){
                    var table = res.data;
                    if (table.length > crnStateTableBlankRows && table.length !== crnStateTableFullRows) {
                    if (table.length > crnStateTableBlankRows && table.length !== crnMsgTableFullRows) {
                        initCrnStateTable(table.length-crnStateTableBlankRows);
                        crnStateTableFullRows = table.length;
                        crnMsgTableFullRows = table.length;
                    }
                    for (var i=1;i<=table.length;i++){
                        var tr = tableEl.find("tr").eq(i);
@@ -284,7 +285,102 @@
        });
    }
    // 输送设备日志输出
    // 堆垛机手动操作区 -----------------------------------------------------------------------
    function getReqParam() {
        var crnNo = $('input[name="crnSelect"]:checked').val();
        var sourceStaNo = $('#sourceStaNo').val();
        var sourceRow = $('#sourceRow').val();
        var sourceBay = $('#sourceBay').val();
        var sourceLev = $('#sourceLev').val();
        var staNo = $('#staNo').val();
        var row = $('#row').val();
        var bay = $('#bay').val();
        var lev = $('#lev').val();
        return {
            crnNo: crnNo,
            sourceStaNo: sourceStaNo,
            sourceRow: sourceRow,
            sourceBay: sourceBay,
            sourceLev: sourceLev,
            staNo: staNo,
            row: row,
            bay: bay,
            lev: lev
        };
    }
    // 入库
    function put() {
        http.post(baseUrl+"/crn/operator/put", getReqParam(), function (res) {
            alert(res.msg);
        });
    }
    // 出库
    function take() {
        http.post(baseUrl+"/crn/operator/take", getReqParam(), function (res) {
            alert(res.msg);
        });
    }
    // 库位转移
    function stockMove() {
        http.post(baseUrl+"/crn/operator/stockMove", getReqParam(), function (res) {
            alert(res.msg);
        });
    }
    // 站到站
    function siteMove() {
        http.post(baseUrl+"/crn/operator/siteMove", getReqParam(), function (res) {
            alert(res.msg);
        });
    }
    // 坐标移动
    function coorMove() {
        http.post(baseUrl+"/crn/operator/coorMove", getReqParam(), function (res) {
            alert(res.msg);
        });
    }
    // 回原点
    function bacOrigin() {
        http.post(baseUrl+"/crn/operator/bacOrigin", getReqParam(), function (res) {
            alert(res.msg);
        });
    }
    // 任务完成
    function taskComplete() {
        http.post(baseUrl+"/crn/operator/taskComplete", getReqParam(), function (res) {
            alert(res.msg);
        });
    }
    // 暂停
    function pause() {
        http.post(baseUrl+"/crn/operator/pause", getReqParam(), function (res) {
            alert(res.msg);
        });
    }
    // 启动
    function boot() {
        http.post(baseUrl+"/crn/operator/boot", getReqParam(), function (res) {
            alert(res.msg);
        });
    }
    // 清除命令
    function clearCommand() {
        http.post(baseUrl+"/crn/operator/clearCommand", getReqParam(), function (res) {
            alert(res.msg);
        });
    }
    // 输送设备日志输出 -----------------------------------------------------------------------
    function getSiteOutput() {
        $.ajax({
            url: baseUrl + "/crn/output/site",