src/main/java/com/zy/client/controller/ConsoleController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/client/controller/CrnController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/client/domain/vo/BarcodeDataVo.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/client/domain/vo/CrnDetailVo.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/client/domain/vo/SiteDetailVo.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/webapp/static/css/console.css | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/webapp/views/console.html | ●●●●● 补丁 | 查看 | 原始文档 | 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'); } }); });