src/main/java/com/zy/client/controller/ConsoleController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/client/domain/CrnLatestDataVo.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/client/domain/SiteLatestDataVo.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/client/entity/CrnStatusType.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/client/entity/SiteStatusType.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/application.yml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/webapp/views/console.html | ●●●●● 补丁 | 查看 | 原始文档 | 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>