自动化立体仓库 - WCS系统
#
vincent
2020-06-01 0d08a0c569e76042a8b8814432b94414a7e048c2
#
2个文件已添加
5个文件已修改
214 ■■■■■ 已修改文件
src/main/java/com/zy/client/controller/ConsoleController.java 29 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/client/domain/CrnLatestDataVo.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/client/domain/SiteLatestDataVo.java 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/client/entity/CrnStatusType.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/client/entity/SiteStatusType.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application.yml 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/console.html 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/client/controller/ConsoleController.java
@@ -2,9 +2,16 @@
import com.core.annotations.ManagerAuth;
import com.core.common.R;
import com.zy.client.domain.CrnLatestDataVo;
import com.zy.client.domain.SiteLatestDataVo;
import com.zy.client.entity.SiteStatusType;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
/**
 * 主控图接口
@@ -17,15 +24,29 @@
    @PostMapping("/latest/data/site")
    @ManagerAuth(memo = "站点实时数据")
    public R siteLatestData(){
        return R.ok();
        List<SiteLatestDataVo> vos = new ArrayList<>();
        for (int i = 1; i<=32; i++){
            SiteLatestDataVo vo = new SiteLatestDataVo();
            vo.setSiteId(String.valueOf(i));
            vo.setWorkNo("9998");
            SiteStatusType type = SiteStatusType.values()[new Random().nextInt(SiteStatusType.values().length)];
            vo.setSiteStatus(type);
            vos.add(vo);
        }
        return R.ok().add(vos);
    }
    @PostMapping("/latest/data/crn")
    @ManagerAuth(memo = "堆垛机实时数据")
    public R crnLatestData(){
        return R.ok();
        List<CrnLatestDataVo> vos = new ArrayList<>();
        for (int i =1; i<=2; i++){
            CrnLatestDataVo vo = new CrnLatestDataVo();
            vo.setCrnId(i);
            vo.setOffset((double) new Random().nextInt(560));
            vos.add(vo);
        }
        return R.ok().add(vos);
    }
    @PostMapping("/latest/data/barcode")
src/main/java/com/zy/client/domain/CrnLatestDataVo.java
New file
@@ -0,0 +1,30 @@
package com.zy.client.domain;
/**
 * 堆垛机最新数据视图对象
 * Created by vincent on 2020-06-01
 */
public class CrnLatestDataVo {
    // 堆垛机编号
    private Integer crnId;
    // 偏移量
    private Double offset;
    public Integer getCrnId() {
        return crnId;
    }
    public void setCrnId(Integer crnId) {
        this.crnId = crnId;
    }
    public Double getOffset() {
        return offset;
    }
    public void setOffset(Double offset) {
        this.offset = offset;
    }
}
src/main/java/com/zy/client/domain/SiteLatestDataVo.java
New file
@@ -0,0 +1,43 @@
package com.zy.client.domain;
import com.zy.client.entity.SiteStatusType;
/**
 * 站点最新数据视图对象
 * Created by vincent on 2020-06-01
 */
public class SiteLatestDataVo {
    // 站点编号
    private String siteId;
    // 工作号
    private String workNo;
    // 站点状态
    private SiteStatusType siteStatus;
    public String getSiteId() {
        return siteId;
    }
    public void setSiteId(String siteId) {
        this.siteId = siteId;
    }
    public String getWorkNo() {
        return workNo;
    }
    public void setWorkNo(String workNo) {
        this.workNo = workNo;
    }
    public String getSiteStatus() {
        return siteStatus.toString().toLowerCase().replaceAll("_", "-");
    }
    public void setSiteStatus(SiteStatusType siteStatus) {
        this.siteStatus = siteStatus;
    }
}
src/main/java/com/zy/client/entity/CrnStatusType.java
@@ -5,4 +5,22 @@
 */
public enum CrnStatusType {
    // 入库
    PUT,
    // 出库
    TAKE,
    // 库到库
    STOCK_MOVE,
    // 站到站
    SITE_MOVE,
    // p to p
    P_MOVE,
    // 异常
    ERROR,
    // 自动
    AUTO,
    // 非自动/手动
    UN_AUTO,
    ;
}
src/main/java/com/zy/client/entity/SiteStatusType.java
@@ -6,6 +6,17 @@
 */
public enum SiteStatusType {
    // 自动
    SITE_AUTO,
    // 非自动/收到
    SITE_UNAUTO,
    // 自动+有物+ID
    SITE_AUTO_RUN_ID,
    // 自动+有物
    SITE_AUTO_RUN,
    // 自动+有物+ID
    SITE_AUTO_ID,
    ;
}
src/main/resources/application.yml
@@ -7,15 +7,15 @@
    name:
  datasource:
    # mysql
#    driver-class-name: com.mysql.jdbc.Driver
#    url: jdbc:mysql://127.0.0.1:3306/zy_wcs?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
#    username: root
#    password: xltys1995
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/zy_wcs?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
    username: root
    password: xltys1995
    # sql-server
    driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
    url: jdbc:sqlserver://192.168.1.108:1433;databasename=cool
    username: sa
    password: sa@123
#    driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
#    url: jdbc:sqlserver://192.168.1.108:1433;databasename=cool
#    username: sa
#    password: sa@123
  mvc:
    static-path-pattern: /**
  redis:
src/main/webapp/views/console.html
@@ -11,6 +11,7 @@
    <link rel="stylesheet" type="text/css" href="../static/css/common.css">
    <link rel="stylesheet" type="text/css" href="../static/css/console.css">
    <script type="text/javascript" src="../static/js/jquery/jquery-3.3.1.min.js"></script>
    <script type="text/javascript" src="../static/js/common.js"></script>
    <script type="text/javascript" src="../static/js/layer/layer.js"></script>
    <style>
@@ -88,7 +89,7 @@
    <div class="site-row site-row-2">
        <div id="site-32" class="site" style="width: 80px; height: 50px;line-height: 50px">32</div>
        <div id="site-31" class="site" >31</div>
        <div id="site-30" class="site" style="width: 80px; height: 30px;line-height: 30px; background-color: red;">30</div>
        <div id="site-30" class="site" style="width: 80px; height: 30px;line-height: 30px;">30</div>
        <div id="site-23" class="site" >23</div>
        <div id="site-22" class="site" style="width: 80px; height: 50px;line-height: 50px">22</div>
        <div id="site-20" class="site" >20</div>
@@ -400,15 +401,65 @@
    </div>
    <!-- 右输送线 -->
    <!--<input id="val" type="text">-->
    <!--<button id="animate">animate</button>-->
</main>
</body>
<script>
    var crn1Position = 0;
    var crn2Position = 0;
    $('#animate').click(function () {
        crnAnimate(1, $('#val').val());
    });
    // 初始化
    getSitesInfo();
    getCrnInfo();
    // 实时访问
    setInterval(function () {
        getSitesInfo();
        getCrnInfo();
    }, 1000);
    // 输送设备实时数据获取
    function getSitesInfo(){
        $.ajax({
            url: baseUrl+ "/console/latest/data/site",
            headers: {'token': localStorage.getItem('token')},
            method: 'POST',
            success: function (res) {
                if (res.code === 200){
                    var sites = res.data;
                    for (var i = 0; i < sites.length; i++){
                        $("#site-"+sites[i].siteId).attr("class", "site " + sites[i].siteStatus);
                    }
                } else if (res.code === 403){
                    top.location.href = baseUrl+"/login";
                }  else {
                    alert(res.msg);
                }
            }
        });
    }
    // 堆垛机实时数据获取
    function getCrnInfo(){
        $.ajax({
            url: baseUrl+ "/console/latest/data/crn",
            headers: {'token': localStorage.getItem('token')},
            method: 'POST',
            success: function (res) {
                if (res.code === 200){
                    var crns = res.data;
                    console.log(crns);
                    for (var i = 0; i < crns.length; i++){
                        crnAnimate(crns[i].crnId, crns[i].offset);
                    }
                } else if (res.code === 403){
                    top.location.href = baseUrl+"/login";
                }  else {
                    alert(res.msg);
                }
            }
        });
    }
    // 堆垛机偏移动画
    function crnAnimate(id, leftVal) {
@@ -426,13 +477,17 @@
        }
    }
    $('.item').on('click', function () {
        layer.open({
            type: 1,
            shadeClose: true, //点击遮罩关闭层
            content: 'text'
        });
    })
    });
    $('#animate').click(function () {
        crnAnimate(1, $('#val').val());
    });
</script>
</html>