From 37b12312d2f32c5120cfa5cf5777fd915045882a Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期四, 06 六月 2024 16:57:00 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/controller/SiteController.java | 97 +++++
src/main/java/com/zy/asrs/controller/RgvController.java | 29 +
src/main/java/com/zy/asrs/domain/vo/RgvStateTableVo.java | 5
src/main/webapp/views/realtimeWatch/crn2.html | 21
src/main/webapp/views/deviceOperate/devpOperate2.html | 201 ++++++++++
src/main/java/com/zy/asrs/controller/CrnController.java | 22
src/main/webapp/static/wcs/css/index.css | 4
src/main/webapp/views/deviceOperate/rgvOperate.html | 10
src/main/java/com/zy/asrs/controller/ConsoleController.java | 127 ++++++
src/main/webapp/views/realtimeWatch/index2.html | 6
src/main/webapp/views/realtimeWatch/pipeline2.html | 4
src/main/webapp/views/realtimeWatch/pipeline.html | 504 ++++++++++++++++++++++----
src/main/webapp/views/index.html | 40 ++
src/main/webapp/views/realtimeWatch/rgv.html | 16
src/main/webapp/views/deviceOperate/crnOperate.html | 2
src/main/java/com/zy/asrs/domain/vo/CrnListVo.java | 1
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 4
17 files changed, 953 insertions(+), 140 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/ConsoleController.java b/src/main/java/com/zy/asrs/controller/ConsoleController.java
index 0dc3353..2355664 100644
--- a/src/main/java/com/zy/asrs/controller/ConsoleController.java
+++ b/src/main/java/com/zy/asrs/controller/ConsoleController.java
@@ -25,19 +25,25 @@
import com.zy.core.CrnThread;
import com.zy.core.DevpThread;
import com.zy.core.Slave;
+import com.zy.core.cache.MessageQueue;
import com.zy.core.cache.OutputQueue;
import com.zy.core.cache.SlaveConnection;
import com.zy.core.enums.CrnModeType;
import com.zy.core.enums.SlaveType;
import com.zy.core.model.CrnSlave;
import com.zy.core.model.DevpSlave;
+import com.zy.core.model.RgvSlave;
+import com.zy.core.model.Task;
+import com.zy.core.model.command.CrnCommand;
import com.zy.core.model.protocol.CrnProtocol;
+import com.zy.core.model.protocol.RgvProtocol;
import com.zy.core.model.protocol.StaProtocol;
import com.zy.core.properties.SlaveProperties;
import com.zy.core.properties.SystemProperties;
import com.zy.core.thread.BarcodeThread;
import com.zy.core.thread.ScaleThread;
import com.zy.core.thread.SiemensCrnThread;
+import com.zy.core.thread.SiemensRgvThread;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@@ -70,6 +76,59 @@
private DeviceErrorService deviceErrorService;
@Autowired
private BasCrnpService basCrnpService;
+
+ @PostMapping("/system/running/error")
+ @ManagerAuth(memo = "绯荤粺杩愯鐘舵��")
+ public R systemRunningError(){
+ StringBuilder msg = new StringBuilder();
+ for (CrnSlave crn : slaveProperties.getCrn()) {
+ // 鑾峰彇鍫嗗灈鏈轰俊鎭�
+ CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId());
+ if (crnThread == null) {
+ continue;
+ }
+ CrnProtocol crnProtocol = crnThread.getCrnProtocol();
+ if (crnProtocol == null) {
+ continue;
+ }
+ if (crnProtocol.getStatus() == 99){
+ msg.append("<span style=\"color: red\">").append(crn.getId()).append("鍙峰爢鍨涙満鎶ヨ<span><br>");
+ }
+ }
+ for (RgvSlave rgv : slaveProperties.getRgv()) {
+ // 鑾峰彇鍫嗗灈鏈轰俊鎭�
+ SiemensRgvThread rgvThread = (SiemensRgvThread) SlaveConnection.get(SlaveType.Rgv, rgv.getId());
+ if (rgvThread == null) {
+ continue;
+ }
+ RgvProtocol rgvProtocol = rgvThread.getRgvProtocol();
+ if (rgvProtocol == null) {
+ continue;
+ }
+ if (rgvProtocol.getAlarm() > 0){
+ msg.append("<span style=\"color: red\">").append(rgv.getId()).append("鍙稲gv鎶ヨ<span>\br");
+ }
+ }
+ for (DevpSlave devp : slaveProperties.getDevp()) {
+ DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
+ Map<Integer, StaProtocol> station = devpThread.getStation();
+
+ for(Map.Entry<Integer, StaProtocol> entry : station.entrySet()) {
+ if (entry.getKey() == 302 || entry.getKey() == 303 || entry.getKey() == 304 || entry.getKey() == 305) {
+ if (!Cools.isEmpty(staPlcErr(entry))){
+ msg.append(staPlcErr(entry).get(0));
+ msg.append("<span style=\"color: red\">").append(staPlcErr(entry).get(0).getNo()).append("鍙锋彁鍗囨満鎶ヨ<span>\br");
+ }
+ }
+
+
+ }
+ }
+ if (Cools.isEmpty(msg)){
+ return R.error().add(msg.toString());
+ }
+ return R.ok();
+ }
@PostMapping("/system/running/status")
@ManagerAuth(memo = "绯荤粺杩愯鐘舵��")
@@ -477,4 +536,72 @@
return R.ok(map);
}
+ public List<PlcErrorTableVo> staPlcErr(Map.Entry<Integer, StaProtocol> entry){
+ List<PlcErrorTableVo> list = new ArrayList<>();
+ StaProtocol staProtocol = entry.getValue();
+ if (staProtocol.getBreakerErr()){
+ PlcErrorTableVo vo = new PlcErrorTableVo();
+ vo.setNo(entry.getKey()); // 搴忓彿
+ vo.setPlcDesc("鏂矾鍣ㄦ晠闅�");
+ vo.setError("鏂矾鍣ㄦ晠闅�");
+ list.add(vo);
+ }
+ if (staProtocol.getInfraredErr()){
+ PlcErrorTableVo vo = new PlcErrorTableVo();
+ vo.setNo(entry.getKey()); // 搴忓彿
+ vo.setPlcDesc("鍏夌數寮傚父");
+ vo.setError("鍏夌數寮傚父");
+ list.add(vo);
+ }
+ if (staProtocol.getOutTimeErr()){
+ PlcErrorTableVo vo = new PlcErrorTableVo();
+ vo.setNo(entry.getKey()); // 搴忓彿
+
+ vo.setPlcDesc("杩愯瓒呮椂");
+ vo.setError("杩愯瓒呮椂");
+ list.add(vo);
+ }
+ if (staProtocol.getSeizeSeatErr()){
+ PlcErrorTableVo vo = new PlcErrorTableVo();
+ vo.setNo(entry.getKey()); // 搴忓彿
+
+ vo.setPlcDesc("鍗犱綅瓒呮椂");
+ vo.setError("鍗犱綅瓒呮椂");
+ list.add(vo);
+ }
+ if (staProtocol.getWrkYgoodsN()){
+ PlcErrorTableVo vo = new PlcErrorTableVo();
+ vo.setNo(entry.getKey()); // 搴忓彿
+
+ vo.setPlcDesc("鏈変换鍔℃棤璐ф晠闅�");
+ vo.setError("鏈変换鍔℃棤璐ф晠闅�");
+ list.add(vo);
+ }
+ if (staProtocol.getInverterErr()){
+ PlcErrorTableVo vo = new PlcErrorTableVo();
+ vo.setNo(entry.getKey()); // 搴忓彿
+
+ vo.setPlcDesc("鍙橀鍣ㄦ晠闅�");
+ vo.setError("鍙橀鍣ㄦ晠闅�");
+ list.add(vo);
+ }
+ if (staProtocol.getContactErr()){
+ PlcErrorTableVo vo = new PlcErrorTableVo();
+ vo.setNo(entry.getKey()); // 搴忓彿
+
+ vo.setPlcDesc("鐢垫満鎺ヨЕ鍣ㄦ晠闅�");
+ vo.setError("鐢垫満鎺ヨЕ鍣ㄦ晠闅�");
+ list.add(vo);
+ }
+ if (staProtocol.getUpcontactErr()){
+ PlcErrorTableVo vo = new PlcErrorTableVo();
+ vo.setNo(entry.getKey()); // 搴忓彿
+
+ vo.setPlcDesc("椤跺崌鐢垫満鎺ヨЕ鍣ㄦ晠闅�");
+ vo.setError("椤跺崌鐢垫満鎺ヨЕ鍣ㄦ晠闅�");
+ list.add(vo);
+ }
+ return list;
+ }
+
}
diff --git a/src/main/java/com/zy/asrs/controller/CrnController.java b/src/main/java/com/zy/asrs/controller/CrnController.java
index b719ac1..791df39 100644
--- a/src/main/java/com/zy/asrs/controller/CrnController.java
+++ b/src/main/java/com/zy/asrs/controller/CrnController.java
@@ -21,6 +21,7 @@
import com.zy.asrs.service.LocMastService;
import com.zy.asrs.service.WrkMastService;
import com.zy.asrs.service.impl.MainServiceImpl;
+import com.zy.asrs.service.impl.TaskWrkServiceImpl;
import com.zy.asrs.utils.CommandUtils;
import com.zy.asrs.utils.Utils;
import com.zy.asrs.utils.VersionUtils;
@@ -78,6 +79,8 @@
private MainServiceImpl mainService;
@Autowired
private LocMastService locMastService;
+ @Autowired
+ private TaskWrkServiceImpl taskWrkService;
@ManagerAuth(memo = "杩涜涓殑鍛戒护")
@@ -201,13 +204,12 @@
vo.setWorkNo(crnProtocol.getTaskNo()); // 浠诲姟鍙�
if (crnProtocol.getTaskNo()>0) {
- WrkMast wrkMast = wrkMastService.selectById(crnProtocol.getTaskNo());
- if (wrkMast != null) {
- vo.setStatus(CrnStatusType.process(wrkMast.getIoType()).getDesc()); // 妯″紡鐘舵��
- vo.setSourceStaNo(wrkMast.getSourceStaNo$()); // 婧愮珯
- vo.setStaNo(wrkMast.getStaNo$()); // 鐩爣绔�
- vo.setSourceLocNo(wrkMast.getSourceLocNo()); // 婧愬簱浣�
- vo.setLocNo(wrkMast.getLocNo()); // 鐩爣搴撲綅
+ TaskWrk taskWrk = taskWrkService.selectByWrkNo(crnProtocol.getTaskNo().intValue());
+ if (taskWrk != null) {
+ vo.setStatus(CrnStatusType.process(taskWrk.getIoType()).getDesc()); // 妯″紡鐘舵��
+ vo.setSourceStaNo(taskWrk.getStartPoint()); // 婧愮珯
+ vo.setStaNo(taskWrk.getTargetPoint()); // 鐩爣绔�
+ vo.setOrigin(taskWrk.getBarcode());
}
} else {
vo.setStatus(crnProtocol.modeType.equals(CrnModeType.AUTO)? CrnStatusType.MACHINE_AUTO.getDesc(): CrnStatusType.MACHINE_UN_AUTO.getDesc()); // 妯″紡鐘舵��
@@ -320,6 +322,12 @@
}
vo.setInEnable(basCrnp.getInEnable());
vo.setOutEnable(basCrnp.getOutEnable());
+ if (crnProtocol.getTaskNo()>0) {
+ TaskWrk taskWrk = taskWrkService.selectByWrkNo(crnProtocol.getTaskNo().intValue());
+ if (taskWrk != null) {
+ vo.setBarcode(taskWrk.getBarcode());
+ }
+ }
}
return R.ok().add(list);
}
diff --git a/src/main/java/com/zy/asrs/controller/RgvController.java b/src/main/java/com/zy/asrs/controller/RgvController.java
index 8a28213..29e0663 100644
--- a/src/main/java/com/zy/asrs/controller/RgvController.java
+++ b/src/main/java/com/zy/asrs/controller/RgvController.java
@@ -4,6 +4,7 @@
import com.core.annotations.ManagerAuth;
import com.core.common.R;
import com.core.exception.CoolException;
+import com.zy.asrs.domain.enums.CrnStatusType;
import com.zy.asrs.domain.enums.RgvStatusType;
import com.zy.asrs.domain.param.CrnOperatorParam;
import com.zy.asrs.domain.param.RgvOperatorParam;
@@ -11,10 +12,12 @@
import com.zy.asrs.domain.vo.RgvStateTableVo;
import com.zy.asrs.entity.BasRgv;
import com.zy.asrs.entity.BasRgvErr;
+import com.zy.asrs.entity.TaskWrk;
import com.zy.asrs.entity.WrkMast;
import com.zy.asrs.mapper.BasRgvErrMapper;
import com.zy.asrs.service.BasRgvService;
import com.zy.asrs.service.LocMastService;
+import com.zy.asrs.service.TaskWrkService;
import com.zy.asrs.service.WrkMastService;
import com.zy.asrs.service.impl.MainServiceImpl;
import com.zy.core.CrnThread;
@@ -64,6 +67,8 @@
private MainServiceImpl mainService;
@Autowired
private LocMastService locMastService;
+ @Autowired
+ private TaskWrkService taskWrkService;
@ManagerAuth(memo = "澶嶄綅")
@@ -172,8 +177,15 @@
vo.setPakMk(rgvThread.isPakMk()?"鏃犻攣":"閿佸畾");
vo.setWalkPos(rgvProtocol.getAlarm() == 0?"姝e父":"鎶ヨ");
vo.setWarnCode(String.valueOf(rgvProtocol.getAlarm()));
- vo.setStaNo(rgvProtocol.getSouSta().intValue());
- vo.setSourceStaNo(rgvProtocol.getEndSta().intValue());
+ if (rgvProtocol.getTaskNo1()>0) {
+ TaskWrk taskWrk = taskWrkService.selectByWrkNo(rgvProtocol.getTaskNo1().intValue());
+ if (taskWrk != null) {
+ vo.setStatus(CrnStatusType.process(taskWrk.getIoType()).getDesc()); // 妯″紡鐘舵��
+ vo.setSourceStaNo(taskWrk.getStartPoint()); // 婧愮珯
+ vo.setStaNo(taskWrk.getTargetPoint()); // 鐩爣绔�
+ vo.setBarcode(taskWrk.getBarcode());
+ }
+ }
if (rgvProtocol.getAlarm() > 0) {
BasRgvErr rgvErr = basRgvErrMapper.selectById(rgvProtocol.getAlarm());
vo.setAlarm(rgvErr==null?"鏈煡寮傚父":rgvErr.getErrName());
@@ -204,13 +216,12 @@
vo.setWorkNo(rgvProtocol.getTaskNo1()); // 浠诲姟鍙�
if (rgvProtocol.getTaskNo1()>0) {
- WrkMast wrkMast = wrkMastService.selectById(rgvProtocol.getTaskNo1());
- if (wrkMast != null) {
- vo.setStatus(RgvStatusType.process(wrkMast.getIoType()).getDesc()); // 妯″紡鐘舵��
- vo.setSourceStaNo(wrkMast.getSourceStaNo$()); // 婧愮珯
- vo.setStaNo(wrkMast.getStaNo$()); // 鐩爣绔�
- vo.setSourceLocNo(wrkMast.getSourceLocNo()); // 婧愬簱浣�
- vo.setLocNo(wrkMast.getLocNo()); // 鐩爣搴撲綅
+ TaskWrk taskWrk = taskWrkService.selectByWrkNo(rgvProtocol.getTaskNo1().intValue());
+ if (taskWrk != null) {
+ vo.setStatus(CrnStatusType.process(taskWrk.getIoType()).getDesc()); // 妯″紡鐘舵��
+ vo.setSourceStaNo(taskWrk.getStartPoint()); // 婧愮珯
+ vo.setStaNo(taskWrk.getTargetPoint()); // 鐩爣绔�
+ vo.setOrigin(taskWrk.getBarcode());
}
} else {
vo.setStatus(rgvProtocol.modeType.equals(RgvModeType.AUTO)? rgvProtocol.modeType.desc: RgvModeType.HAND.desc); // 妯″紡鐘舵��
diff --git a/src/main/java/com/zy/asrs/controller/SiteController.java b/src/main/java/com/zy/asrs/controller/SiteController.java
index 1768651..8be2ea6 100644
--- a/src/main/java/com/zy/asrs/controller/SiteController.java
+++ b/src/main/java/com/zy/asrs/controller/SiteController.java
@@ -86,6 +86,43 @@
return R.ok().add(list);
}
+
+ @PostMapping("/table/site2")
+ @ManagerAuth(memo = "绔欑偣淇℃伅琛�")
+ public R siteTable2(){
+ List<SiteTableVo> list = new ArrayList<>();
+ // 鍐呭瓨鏁版嵁
+ Map<Integer, StaProtocol> station = new HashMap<>();
+ for (DevpSlave devp : slaveProperties.getDevp()) {
+ DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
+ station.putAll(devpThread.getStation());
+ }
+ // 鎸佷箙鏁版嵁
+ List<BasDevp> basDevps = basDevpService.selectList(new EntityWrapper<BasDevp>().orderBy("dev_no"));
+ for (BasDevp devp : basDevps) {
+ if (devp.getDevNo()== 302 || devp.getDevNo()== 303 || devp.getDevNo()== 402 || devp.getDevNo()== 403) {
+
+
+ SiteTableVo vo = new SiteTableVo();
+ vo.setDevNo(devp.getDevNo()); // 绔欑偣缂栧彿
+ list.add(vo);
+ StaProtocol staProtocol = station.get(devp.getDevNo());
+ if (null == staProtocol) { continue; }
+ vo.setWorkNo(staProtocol.getWorkNo()); // 宸ヤ綔鍙�
+ vo.setAutoing(staProtocol.isAutoing()?"Y":"N"); // 鑷姩
+ vo.setLoading(staProtocol.isLoading()?"Y":"N"); // 鏈夌墿
+ vo.setInEnable(staProtocol.isInEnable()?"Y":"N"); // 鍙叆
+ vo.setOutEnable(staProtocol.isOutEnable()?"Y":"N"); // 鍙嚭
+ vo.setPakMk(staProtocol.isPakMk()?"Y":"N"); // 鍏ュ簱鏍囪
+ vo.setEmptyMk(staProtocol.isEmptyMk()?"Y":"N"); // 绌烘澘淇″彿
+ vo.setStaNo(staProtocol.getStaNo()); // 鐩爣绔�
+// vo.setLocType1(staProtocol.isHigh() != staProtocol.isLow() && staProtocol.isLow() ? "浣�" : "楂�"); //楂樹綆搴撲綅
+ vo.setLocType1(devp.getDevNo()==102 ? "楂�" : "浣�");
+ }
+ }
+ return R.ok().add(list);
+ }
+
@GetMapping("/list/auth")
@ManagerAuth(memo = "绔欑偣淇℃伅琛�")
public R crnList(){
@@ -119,6 +156,43 @@
return R.ok().add(list);
}
+ @GetMapping("/list/auth2")
+ @ManagerAuth(memo = "绔欑偣淇℃伅琛�")
+ public R crnList2(){
+ List<SiteTableVo> list = new ArrayList<>();
+ // 鍐呭瓨鏁版嵁
+ Map<Integer, StaProtocol> station = new HashMap<>();
+ for (DevpSlave devp : slaveProperties.getDevp()) {
+ DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
+ station.putAll(devpThread.getStation());
+ }
+ // 鎸佷箙鏁版嵁
+ List<BasDevp> basDevps = basDevpService.selectList(new EntityWrapper<BasDevp>().orderBy("dev_no"));
+ for (BasDevp devp : basDevps) {
+ if (devp.getDevNo()== 302 || devp.getDevNo()== 303 || devp.getDevNo()== 402 || devp.getDevNo()== 403) {
+ SiteTableVo vo = new SiteTableVo();
+ vo.setDevNo(devp.getDevNo()); // 绔欑偣缂栧彿
+ list.add(vo);
+ StaProtocol staProtocol = station.get(devp.getDevNo());
+ if (null == staProtocol) {
+ continue;
+ }
+ vo.setWorkNo(staProtocol.getWorkNo()); // 宸ヤ綔鍙�
+ vo.setAutoing(staProtocol.isAutoing() ? "Y" : "N"); // 鑷姩
+ vo.setLoading(staProtocol.isLoading() ? "Y" : "N"); // 鏈夌墿
+ vo.setInEnable(staProtocol.isInEnable() ? "Y" : "N"); // 鍙叆
+ vo.setOutEnable(staProtocol.isOutEnable() ? "Y" : "N"); // 鍙嚭
+ vo.setPakMk(staProtocol.isPakMk() ? "Y" : "N"); // 鍏ュ簱鏍囪
+ vo.setEmptyMk(staProtocol.isEmptyMk() ? "Y" : "N"); // 绌烘澘淇″彿
+ vo.setStaNo(staProtocol.getStaNo()); // 鐩爣绔�
+// vo.setLocType1(staProtocol.isHigh() != staProtocol.isLow() && staProtocol.isLow() ? "浣�" : "楂�"); //楂樹綆搴撲綅
+ vo.setLocType1(devp.getDevNo() == 102 ? "楂�" : "浣�");
+ vo.setBarcode(staProtocol.getBarcode());
+ }
+ }
+ return R.ok().add(list);
+ }
+
@PostMapping("/table/plc/errors")
@ManagerAuth(memo = "杈撻�佽澶噋lc寮傚父淇℃伅琛�")
public R plcErrorTable(){
@@ -129,7 +203,7 @@
for(Map.Entry<Integer, StaProtocol> entry : station.entrySet()) {
if (!Cools.isEmpty(staPlcErr(entry))){
- list.add(staPlcErr(entry).get(0)) ;
+ list.add(staPlcErr(entry).get(0));
}
}
@@ -137,6 +211,27 @@
return R.ok().add(list);
}
+ @PostMapping("/table/plc/errors2")
+ @ManagerAuth(memo = "杈撻�佽澶噋lc寮傚父淇℃伅琛�")
+ public R plcErrorTable2(){
+ List<PlcErrorTableVo> list = new ArrayList<>();
+ for (DevpSlave devp : slaveProperties.getDevp()) {
+ DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
+ Map<Integer, StaProtocol> station = devpThread.getStation();
+
+ for(Map.Entry<Integer, StaProtocol> entry : station.entrySet()) {
+ if (entry.getKey() == 302 || entry.getKey() == 303 || entry.getKey() == 304 || entry.getKey() == 305) {
+ if (!Cools.isEmpty(staPlcErr(entry))){
+ list.add(staPlcErr(entry).get(0));
+ }
+ }
+
+
+ }
+ }
+ return R.ok().add(list);
+ }
+
@PostMapping("/output/site")
@ManagerAuth(memo = "绔欑偣璁惧鎶ユ枃鏃ュ織杈撳嚭")
public R siteOutput(){
diff --git a/src/main/java/com/zy/asrs/domain/vo/CrnListVo.java b/src/main/java/com/zy/asrs/domain/vo/CrnListVo.java
index 89707ad..badef88 100644
--- a/src/main/java/com/zy/asrs/domain/vo/CrnListVo.java
+++ b/src/main/java/com/zy/asrs/domain/vo/CrnListVo.java
@@ -111,6 +111,7 @@
// 鍙嚭
private String outEnable;
+ private String barcode = "-";
public void setXspeed(Float xspeed) {
this.xspeed = Utils.scale(xspeed);
diff --git a/src/main/java/com/zy/asrs/domain/vo/RgvStateTableVo.java b/src/main/java/com/zy/asrs/domain/vo/RgvStateTableVo.java
index 6da98a3..8ba4648 100644
--- a/src/main/java/com/zy/asrs/domain/vo/RgvStateTableVo.java
+++ b/src/main/java/com/zy/asrs/domain/vo/RgvStateTableVo.java
@@ -44,14 +44,15 @@
//寮傚父
private String warnCode;
//婧愮珯
- private Integer staNo;
+ private String staNo;
//鐩爣绔�
- private Integer sourceStaNo;
+ private String sourceStaNo;
// 寮傚父鐮佹弿杩�
private String alarm = "-";
private Integer RgvPos1 = 0;
private String pakMk="-";
+ private String barcode = "-";
}
diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
index 7289f95..ada6fe8 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -140,6 +140,10 @@
list = getInEnableRoadway2();
}
+ if (Cools.isEmpty(list)){
+ return R.error("鏃犲彲鍏ュ贩閬�");
+ }
+
//TaskWrk taskWrk = taskWrkService.selectByTaskNo(param.getTaskNo());
toWmsDTO.setWarehouseId("1688469798893297665");
diff --git a/src/main/webapp/static/wcs/css/index.css b/src/main/webapp/static/wcs/css/index.css
index 7c5a292..8ea2fe5 100644
--- a/src/main/webapp/static/wcs/css/index.css
+++ b/src/main/webapp/static/wcs/css/index.css
@@ -31,10 +31,10 @@
.sidebar {
width: 8%;
- height: 40%;
+ height: 50%;
line-height: 90px;
position: fixed;
- top: 50%;
+ top: 40%;
transform: translateY(-50%);
}
.nav ul {
diff --git a/src/main/webapp/views/deviceOperate/crnOperate.html b/src/main/webapp/views/deviceOperate/crnOperate.html
index d09d214..f979861 100644
--- a/src/main/webapp/views/deviceOperate/crnOperate.html
+++ b/src/main/webapp/views/deviceOperate/crnOperate.html
@@ -26,6 +26,8 @@
</el-table-column>
<el-table-column property="deviceStatus" label="璁惧鐘舵��">
</el-table-column>
+ <el-table-column property="barcode" label="鎵樼洏鐮�">
+ </el-table-column>
</el-table>
</div>
diff --git a/src/main/webapp/views/deviceOperate/devpOperate2.html b/src/main/webapp/views/deviceOperate/devpOperate2.html
new file mode 100644
index 0000000..f1196bb
--- /dev/null
+++ b/src/main/webapp/views/deviceOperate/devpOperate2.html
@@ -0,0 +1,201 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+ <meta charset="UTF-8">
+ <title>杈撻�佺珯鐐硅澶�</title>
+ <link rel="stylesheet" href="../../static/wcs/css/element.css">
+ <script type="text/javascript" src="../../static/wcs/js/jquery/jquery-3.3.1.min.js"></script>
+ <script type="text/javascript" src="../../static/wcs/js/common.js"></script>
+ <script type="text/javascript" src="../../static/wcs/js/vue.min.js"></script>
+ <script type="text/javascript" src="../../static/wcs/js/element.js"></script>
+</head>
+
+<body>
+ <div id="app" style="display: flex;justify-content: center;flex-wrap: wrap;">
+ <div style="width: 100%;">
+ <el-table border ref="singleTable" :data="tableData" highlight-current-row @row-click="handleRowClick"
+ max-height="450" style="width: 100%">
+ <el-table-column property="devNo" label="鎻愬崌鏈�">
+ </el-table-column>
+ <el-table-column property="workNo" label="宸ヤ綔鍙�">
+ </el-table-column>
+ <el-table-column property="locType1" label="楂樹綆搴撲綅">
+ </el-table-column>
+ <el-table-column property="pakMk" label="鍏ュ簱鏍囪">
+ </el-table-column>
+ <el-table-column property="barcode" label="鏉$爜">
+ </el-table-column>
+ </el-table>
+ </div>
+
+ <div style="width: 100%;display: flex;justify-content: center;margin-top: 10px;">
+<!-- <div style="width: 55%;margin-right: 10px;">-->
+<!-- <el-card class="box-card">-->
+<!-- <div slot="header" class="clearfix">-->
+<!-- <span>璁惧璋冭瘯</span>-->
+<!-- </div>-->
+<!-- <div>-->
+<!-- <el-form :model="formParam" label-position="top" :inline="true" class="demo-form-inline">-->
+<!-- <el-form-item label="宸ヤ綔鍙�">-->
+<!-- <el-input v-model="formParam.workNo" placeholder="宸ヤ綔鍙�"></el-input>-->
+<!-- </el-form-item>-->
+<!-- <el-form-item label="鐩爣绔�">-->
+<!-- <el-input v-model="formParam.staNo" placeholder="鐩爣绔�"></el-input>-->
+<!-- </el-form-item>-->
+<!-- <el-form-item label="鍏ュ簱鏍囪">-->
+<!-- <el-input v-model="formParam.pakMk" placeholder="鍏ュ簱鏍囪"></el-input>-->
+<!-- </el-form-item>-->
+<!-- </el-form>-->
+<!-- <el-form label-position="top" :inline="true" class="demo-form-inline">-->
+<!-- <el-form-item label="">-->
+<!-- <el-checkbox v-model="formParam.inEnable">鍙叆</el-checkbox>-->
+<!-- </el-form-item>-->
+<!-- <el-form-item label="">-->
+<!-- <el-checkbox v-model="formParam.outEnable">鍙嚭</el-checkbox>-->
+<!-- </el-form-item>-->
+<!-- </el-form>-->
+<!-- <div>-->
+<!-- <el-button @click="requestOperate('update')" type="primary">鏇存柊</el-button>-->
+<!-- <el-button @click="requestOperate('out')" type="warning">鍙栬揣瀹屾垚</el-button>-->
+<!-- <el-button @click="requestOperate('in')" type="warning">鏀捐揣瀹屾垚</el-button>-->
+<!-- </div>-->
+<!-- </div>-->
+<!-- </el-card>-->
+<!-- </div>-->
+ <div style="width: 100%;">
+ <el-card class="box-card">
+ <div slot="header" class="clearfix">
+ <span>璁惧鐘舵��</span>
+ </div>
+ <div>
+ <div v-if="currentIndex == null">
+ <el-empty description="璇烽�夋嫨璁惧"></el-empty>
+ </div>
+ <div v-else>
+ <el-descriptions :title="currentTitle" direction="vertical" :column="4" border>
+ <el-descriptions-item label="鎻愬崌鏈�">{{ tableData[currentIndex].devNo }}
+ </el-descriptions-item>
+ <el-descriptions-item label="宸ヤ綔鍙�">
+ {{ tableData[currentIndex].workNo }}
+ </el-descriptions-item>
+ <el-descriptions-item label="鑷姩">{{ tableData[currentIndex].autoing }}
+ </el-descriptions-item>
+ <el-descriptions-item label="鏈夌墿">{{ tableData[currentIndex].loading }}
+ </el-descriptions-item>
+ <el-descriptions-item label="鍙叆">{{ tableData[currentIndex].inEnable }}
+ </el-descriptions-item>
+ <el-descriptions-item label="鍙嚭">{{ tableData[currentIndex].outEnable }}
+ </el-descriptions-item>
+ <el-descriptions-item label="鍏ュ簱鏍囪">{{ tableData[currentIndex].pakMk }}
+ </el-descriptions-item>
+ <el-descriptions-item label="绌烘澘淇″彿">{{ tableData[currentIndex].emptyMk }}
+ </el-descriptions-item>
+ <el-descriptions-item label="鐩爣绔�">{{ tableData[currentIndex].staNo }}
+ </el-descriptions-item>
+ <el-descriptions-item label="楂樹綆搴撲綅">{{ tableData[currentIndex].locType1 }}
+ </el-descriptions-item>
+ </el-descriptions>
+ </div>
+ </div>
+ </el-card>
+ </div>
+ </div>
+ </div>
+ <script>
+ var app = new Vue({
+ el: '#app',
+ data: {
+ tableData: [],
+ currentRow: null,
+ currentTitle: "鏈�夋嫨璁惧",
+ currentIndex: null,
+ formParam: {
+ devNo: null,
+ workNo: null,
+ staNo: null,
+ pakMk: null,
+ inEnable: false,
+ outEnable: false
+ }
+ },
+ created() {
+ this.init()
+ },
+ watch: {
+
+ },
+ methods: {
+ init() {
+ this.getTableData()
+
+ setInterval(() => {
+ this.getTableData()
+ }, 1000)
+ },
+ handleRowClick(row, col, event) {
+ const index = this.tableData.indexOf(row)
+ this.currentRow = row;
+ this.currentIndex = index
+ this.currentTitle = row.devNo + "鎻愬崌鏈�"
+
+ this.formParam.devNo = row.devNo
+ this.formParam.workNo = row.workNo
+ this.formParam.staNo = row.staNo
+ this.formParam.pakMk = row.pakMk
+ this.formParam.inEnable = row.inEnable == "Y" ? true : false
+ this.formParam.outEnable = row.outEnable == "Y" ? true : false
+ },
+ getTableData() {
+ let that = this;
+ $.ajax({
+ url: baseUrl + "/site/list/auth2",
+ headers: {
+ 'token': localStorage.getItem('token')
+ },
+ data: {},
+ dataType: 'json',
+ contentType: 'application/json;charset=UTF-8',
+ method: 'GET',
+ success: function (res) {
+ that.tableData = res.data
+ }
+ });
+ },
+ requestOperate(method) {
+ let that = this
+ that.$confirm('姝ゆ搷浣滃瓨鍦ㄩ闄╋紝鏄惁缁х画','鎻愮ず',{
+ confirmButtonText: '纭畾',
+ cancelButtonText: '鍙栨秷',
+ type: 'warning'
+ }).then(()=>{
+ $.ajax({
+ url: baseUrl + "/site/detl/"+method,
+ headers: {
+ 'token': localStorage.getItem('token')
+ },
+ data: this.formParam,
+ method: 'POST',
+ success: function (res) {
+ if (res.code == 200) {
+ that.$message({
+ message: res.msg,
+ type: 'success'
+ });
+ } else {
+ that.$message({
+ message: res.msg,
+ type: 'error'
+ });
+ }
+ }
+ });
+ })
+
+ }
+ }
+ })
+ </script>
+</body>
+
+</html>
\ No newline at end of file
diff --git a/src/main/webapp/views/deviceOperate/rgvOperate.html b/src/main/webapp/views/deviceOperate/rgvOperate.html
index 646013c..02719de 100644
--- a/src/main/webapp/views/deviceOperate/rgvOperate.html
+++ b/src/main/webapp/views/deviceOperate/rgvOperate.html
@@ -26,6 +26,8 @@
</el-table-column>
<el-table-column property="walkPos" label="璁惧鐘舵��">
</el-table-column>
+ <el-table-column property="barcode" label="鎵樼洏鐮�">
+ </el-table-column>
</el-table>
</div>
@@ -84,12 +86,10 @@
<el-tag>{{ tableData[currentIndex].statusType }}</el-tag>
</el-descriptions-item>
<el-descriptions-item label="浠诲姟鐘舵��">
- <div v-if="tableData[currentIndex].wrkStatus == 0">
+
<el-tag>{{ tableData[currentIndex].status}}</el-tag>
- </div>
- <div v-else>
- <el-tag type="success">{{ tableData[currentIndex].wrkStatus$ }}</el-tag>
- </div>
+
+
</el-descriptions-item>
<el-descriptions-item label="璁惧鐘舵��">
<el-tag>{{ tableData[currentIndex].walkPos }}</el-tag>
diff --git a/src/main/webapp/views/index.html b/src/main/webapp/views/index.html
index 0c3212b..b07f40b 100644
--- a/src/main/webapp/views/index.html
+++ b/src/main/webapp/views/index.html
@@ -197,6 +197,46 @@
var url = logout.getAttribute('href');
logout.setAttribute('href', baseUrl + "/login");
+ var flag = false
+ var sure = true
+ var msg = ""
+ setInterval(function () {
+
+
+ $.ajax({
+ url: baseUrl+"/console/system/running/error",
+ headers: {'token': localStorage.getItem('token')},
+ method: 'POST',
+ success: function (res) {
+ console.log(res.code)
+ if (res.code === 200){
+
+ }else if (res.code === 500){
+ msg = res.data
+ flag = true
+ } else if (res.code === 403){
+ top.location.href = baseUrl+"/";
+ } else {
+ layer.msg(res.msg, {icon: 2});
+ }
+ }
+ })
+
+ if (flag && sure){
+ layer.open({
+ id: 1,
+ title: '鎶ヨ鎻愮ず'
+ ,content: msg,
+ yes: function (index,layero) {
+ console.log(1111)
+ sure = false
+ layer.close(index)
+ }
+ });
+ }
+
+ }, 1000);
+
});
</script>
<script type="text/html" id="menuTpl">
diff --git a/src/main/webapp/views/realtimeWatch/crn2.html b/src/main/webapp/views/realtimeWatch/crn2.html
index 797c73e..59cc02a 100644
--- a/src/main/webapp/views/realtimeWatch/crn2.html
+++ b/src/main/webapp/views/realtimeWatch/crn2.html
@@ -123,8 +123,7 @@
<th>鐘舵��</th>
<th>婧愮珯</th>
<th>鐩爣绔�</th>
- <th>婧愬簱浣�</th>
- <th>鐩爣搴撲綅</th>
+ <th>鎵樼洏鐮�</th>
<th>璧拌閫熷害锛坢/min)</th>
<th>鍗囬檷閫熷害锛坢/min)</th>
<th>鍙夌墮閫熷害锛坢/min)</th>
@@ -358,15 +357,14 @@
setVal(tr.children("td").eq(2), table[i-1].status);
setVal(tr.children("td").eq(3), table[i-1].sourceStaNo);
setVal(tr.children("td").eq(4), table[i-1].staNo);
- setVal(tr.children("td").eq(5), table[i-1].sourceLocNo);
- setVal(tr.children("td").eq(6), table[i-1].locNo);
- setVal(tr.children("td").eq(7), table[i-1].xspeed);
- setVal(tr.children("td").eq(8), table[i-1].yspeed);
- setVal(tr.children("td").eq(9), table[i-1].zspeed);
- setVal(tr.children("td").eq(10), table[i-1].xdistance);
- setVal(tr.children("td").eq(11), table[i-1].ydistance);
- setVal(tr.children("td").eq(12), table[i-1].xduration);
- setVal(tr.children("td").eq(13), table[i-1].yduration);
+ setVal(tr.children("td").eq(5), table[i-1].origin);
+ setVal(tr.children("td").eq(6), table[i-1].xspeed);
+ setVal(tr.children("td").eq(7), table[i-1].yspeed);
+ setVal(tr.children("td").eq(8), table[i-1].zspeed);
+ setVal(tr.children("td").eq(9), table[i-1].xdistance);
+ setVal(tr.children("td").eq(10), table[i-1].ydistance);
+ setVal(tr.children("td").eq(11), table[i-1].xduration);
+ setVal(tr.children("td").eq(12), table[i-1].yduration);
}
} else if (res.code === 403){
window.location.href = baseUrl+"/login";
@@ -555,7 +553,6 @@
var html = "";
for (var i = 0; i < line; i ++){
html += " <tr>\n" +
- " <td></td>\n" +
" <td></td>\n" +
" <td></td>\n" +
" <td></td>\n" +
diff --git a/src/main/webapp/views/realtimeWatch/index2.html b/src/main/webapp/views/realtimeWatch/index2.html
index 75299f4..887eaa4 100644
--- a/src/main/webapp/views/realtimeWatch/index2.html
+++ b/src/main/webapp/views/realtimeWatch/index2.html
@@ -23,8 +23,9 @@
<ul class="cl-effect-4">
<li><a id="console" onclick="nav(this.id)" class="nav-select" href="#">涓绘帶鍥�</a></li>
<li><a id="pipeline" onclick="nav(this.id)" class="nav-unselect" href="#">杈撻�佽澶�</a></li>
- <li><a id="crn" onclick="nav(this.id)" class="nav-unselect" href="#">鍫嗗灈鏈�</a></li>
+ <li><a id="crn2" onclick="nav(this.id)" class="nav-unselect" href="#">鍫嗗灈鏈�</a></li>
<li><a id="rgv" onclick="nav(this.id)" class="nav-unselect" href="#">Rgv</a></li>
+ <li><a id="pipeline2" onclick="nav(this.id)" class="nav-unselect" href="#">鎻愬崌鏈�</a></li>
</ul>
</div>
</div>
@@ -42,9 +43,6 @@
function nav(id) {
$('.nav-select').attr("class", "nav-unselect");
$('#'+id).attr("class", "nav-select");
- if (id=="crn" || id == "pipeline"){
- id=id+"2";
- }
$('#content').attr("src", id+".html");
}
diff --git a/src/main/webapp/views/realtimeWatch/pipeline.html b/src/main/webapp/views/realtimeWatch/pipeline.html
index 9be0ae6..504a084 100644
--- a/src/main/webapp/views/realtimeWatch/pipeline.html
+++ b/src/main/webapp/views/realtimeWatch/pipeline.html
@@ -1,100 +1,434 @@
<!DOCTYPE html>
<html lang="en">
<head>
- <meta charset="utf-8">
+ <meta charset="UTF-8">
<title>WCS杈撻�佽澶囩鐞�</title>
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
- <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
- <link rel="stylesheet" href="../../static/wms/layui/css/layui.css" media="all">
- <link rel="stylesheet" href="../../static/wms/css/admin.css?v=318" media="all">
- <link rel="stylesheet" href="../../static/wms/css/cool.css" media="all">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
+ <link rel="stylesheet" type="text/css" href="../../static/wcs/css/normalize.css">
+ <link rel="stylesheet" type="text/css" href="../../static/wcs/css/common.css">
+ <link rel="stylesheet" type="text/css" href="../../static/wcs/css/pipeline.css">
+ <script type="text/javascript" src="../../static/wcs/js/jquery/jquery-3.3.1.min.js"></script>
+ <script type="text/javascript" src="../../static/wcs/js/common.js"></script>
+ <script type="text/javascript" src="../../static/wcs/js/layer/layer.js"></script>
+ <style>
+ .io-mode-box {
+ float: left;
+ width: 16%;
+ text-align: center;
+ }
+ .io-mode-box label {
+ font-weight: bolder;
+ }
+ .ioModeBtn {
+ vertical-align: middle;
+ width: 50%;
+ height: 30px;
+ left: 0;
+ top: 0;
+ text-shadow: inherit;
+ font-size: 15px;
+ margin-left: 5px;
+ margin-right: 5px;
+ display: inline-block;
+ background-color: #FF5722;
+ border: none;
+ color: #FFF;
+ box-shadow: 1px 1px 5px #B6B6B6;
+ border-radius: 3px;
+ cursor: pointer;
+ }
+ </style>
</head>
<body>
-<div class="layui-fluid">
- <div class="layui-card">
- <div class="layui-card-body">
- <!-- <div class="layui-form toolbar" id="search-box">-->
- <!-- <div class="layui-form-item">-->
- <!-- <div class="layui-inline">-->
- <!-- <div class="layui-input-inline">-->
- <!-- <input class="layui-input" type="text" name="id" placeholder="缂栧彿" autocomplete="off">-->
- <!-- </div>-->
- <!-- </div>-->
- <!-- <div class="layui-inline"> -->
- <!-- <button class="layui-btn icon-btn" lay-filter="search" lay-submit>-->
- <!-- <i class="layui-icon"></i>鍒锋柊-->
- <!-- </button>-->
- <!-- <button class="layui-btn icon-btn" lay-filter="reset" lay-submit>-->
- <!-- <i class="layui-icon"></i>閲嶇疆-->
- <!-- </button>-->
- <!-- </div>-->
- <!-- </div>-->
- <!-- </div>-->
- <table class="layui-hide" id="pipeline" lay-filter="pipeline"></table>
- </div>
- </div>
-</div>
+<div style="height: 100vh;padding-left: 6%">
+ <div style="padding: 10px;height: 900px;">
+ <main>
-<script type="text/html" id="toolbar">
- <div class="layui-btn-container">
- <button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData" style="visibility: hidden">鏂板</button>
- <button class="layui-btn layui-btn-sm layui-btn-danger" id="btn-delete" lay-event="deleteData" style="visibility: hidden">鍒犻櫎</button>
- <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData" style="float: right;visibility: hidden">瀵煎嚭</button>
- </div>
-</script>
-
-<script type="text/html" id="operate">
- <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="edit">淇敼</a>
-<!-- <a class="layui-btn layui-btn-danger layui-btn-xs btn-edit" lay-event="del">鍒犻櫎</a>-->
-</script>
-
-<script type="text/javascript" src="../../static/wms/js/jquery/jquery-3.3.1.min.js"></script>
-<script type="text/javascript" src="../../static/wms/layui/layui.js" charset="utf-8"></script>
-<script type="text/javascript" src="../../static/wms/js/common.js" charset="utf-8"></script>
-<script type="text/javascript" src="../../static/wms/js/cool.js" charset="utf-8"></script>
-<script type="text/javascript" src="../../static/wms/js/realtimeWatch/pipeline.js" charset="utf-8"></script>
-</body>
-<!-- 琛ㄥ崟寮圭獥 -->
-<script type="text/html" id="editDialog">
- <form id="detail" lay-filter="detail" class="layui-form admin-form model-form">
- <input name="id" type="hidden">
- <div class="layui-row">
- <div class="layui-col-md12">
- <div class="layui-form-item">
- <label class="layui-form-label">绔欏彿: </label>
- <div class="layui-input-block">
- <input class="layui-input" id="devNo" name="devNo" disabled placeholder="">
- </div>
- </div>
- <div class="layui-form-item">
- <label class="layui-form-label">宸ヤ綔鍙�: </label>
- <div class="layui-input-block">
- <input class="layui-input" id="workNo" name="workNo" placeholder="">
- </div>
- </div>
- <div class="layui-form-item">
- <label class="layui-form-label">鐩爣绔�: </label>
- <div class="layui-input-block">
- <input class="layui-input" id="staNo" name="staNo" placeholder="">
- </div>
- </div>
- <div class="layui-form-item">
- <label class="layui-form-label">鍏ュ簱鏍囪: </label>
- <div class="layui-input-block">
- <input class="layui-input" id="pakMk" name="pakMk" placeholder="">
+ <!-- plc寮傚父鏃ュ織鐩戞帶鐗� -->
+ <div id="plc-error" class="main-board" style="padding-left: 10px">
+ <!-- 澶撮儴 -->
+ <div class="plc-log-header">
+ <!-- <div style="height: 40%">-->
+ <!-- <span>涓滀晶PLC鎵ц鎸囦护</span>-->
+ <!-- </div>-->
+ <!-- <div style="height: 40%">-->
+ <!-- <span>瑗夸晶PLC鎵ц鎸囦护</span>-->
+ <!-- </div>-->
+ <div>
+ <span style="color: #1E9FFF">PLC寮傚父淇℃伅琛�:</span>
</div>
</div>
+ <!-- 涓讳綋 -->
+ <div class="plc-log-body">
+ <table id="plc-error-table">
+ <thead>
+ <tr>
+ <th style="width: 200px">绔欑偣</th>
+ <th style="width: 400px">PLC閿欒鎻忚堪</th>
+ <th style="width: 400px">寮傚父</th>
+ </tr>
+ </thead>
+ <tbody>
+
+ </tbody>
+ </table>
+ </div>
</div>
- </div>
- <hr class="layui-bg-gray">
- <div class="layui-form-item text-right">
- <button class="layui-btn" lay-filter="editSubmit" lay-submit="">淇濆瓨</button>
- <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">鍙栨秷</button>
- </div>
- </form>
-</script>
-</html>
+ <!-- 绔欑偣鐘舵�佹暟鎹洃鎺х増 -->
+ <div id="site-monitor" class="main-board">
+ <!-- 琛ㄦ牸 -->
+ <!--鍥哄畾琛ㄥご table 鍔爐able-layout: fixed; th 鍔� position:sticky;top: 0;-->
+ <table id="site-table" style="table-layout: fixed;">
+ <!-- 琛ㄥご -->
+ <thead style="position:sticky;top: 0;">
+ <tr>
+ <th>绔欏彿</th>
+ <th>宸ヤ綔鍙�</th>
+ <th>鑷姩</th>
+ <th>鏈夌墿</th>
+ <th>鍙叆</th>
+ <th>鍙嚭</th>
+ <th>鍏ュ簱鏍囪</th>
+ <th>绌烘澘淇″彿</th>
+ <th>鐩爣绔�</th>
+ <th>楂樹綆搴撲綅</th>
+ </tr>
+ </thead>
+ <!-- 琛ㄦ牸鍐呭 -->
+ <tbody></tbody>
+ </table>
+ </div>
+ </main>
+ <footer>
+ <textarea id="output"></textarea>
+ </footer>
+
+ <div id="site-detl" style="display: none">
+ <form>
+ <div class="form-item">
+ <label class="form-label">绔欏彿:</label>
+ <div class="form-input">
+ <input id="siteId" name="siteId" class="layui-input" lay-verify="required|number" autocomplete="off" disabled="disabled">
+ </div>
+ </div>
+ <div class="form-item">
+ <label class="form-label">宸ヤ綔鍙�:</label>
+ <div class="form-input">
+ <input id="workNo" name="workNo" type="number" class="layui-input" lay-verify="number" autocomplete="off">
+ </div>
+ </div>
+ <div class="form-item">
+ <label class="form-label">鐩爣绔�:</label>
+ <div class="form-input">
+ <input id="staNo" name="staNo" type="number" class="layui-input" lay-verify="number" autocomplete="off">
+ </div>
+ </div>
+ <div class="form-item">
+ <label class="form-label">鍏ュ簱鏍囪:</label>
+ <div class="form-input">
+ <input id="pakMk" name="pakMk" type="text" class="layui-input" autocomplete="off">
+ </div>
+ </div>
+ <div class="form-item form-button-container">
+ <button class="form-button" id="save">淇濆瓨</button>
+ <button class="form-button" id="cancel" style="background-color: #D0D0D0">鍙栨秷</button>
+ </div>
+ </form>
+ </div>
+ </div>
+
+</div>
+</body>
+<script>
+ // 鍒濆鍖�
+ // 绌虹櫧琛屾暟
+ var stop = false
+ var plcErrorTableBlankRows = 0;
+ var siteTableBlankRows = 0;
+ // 瀹為檯琛屾暟
+ var plcErrorTableFullRows = 0;
+ var siteTableFullRows = 0;
+ var outputDom = document.getElementById("output");
+ $(document).ready(function() {
+ getIoModeInfo();
+ initPlcErrorTable();
+ getPlcError();
+ initSiteTable();
+ getSite();
+ });
+ // 瀹炴椂璁块棶
+ setInterval(function () {
+ getPlcError();
+ starGetSite();
+ getIoModeInfo();
+ }, 1000);
+ setInterval(function () {
+ getSiteOutput();
+ },500);
+ function starGetSite() {
+ if (stop) {
+ return
+ } else {
+ getSite();
+ }
+ }
+
+ var ioModeData;
+ function getIoModeInfo() {
+ $.ajax({
+ url: baseUrl+ "/site/io/mode/info/site",
+ headers: {'token': localStorage.getItem('token')},
+ method: 'GET',
+ success: function (res) {
+ if (res.code === 200){
+ ioModeData = res.data;
+ ioModeData.forEach(function (e) {
+ $("#io-mode-"+e.floor).html(e.modeDesc);
+ })
+ } else if (res.code === 403){
+ window.location.href = baseUrl+"/login";
+ } else {
+ console.log(res.msg);
+ }
+ }
+ });
+ }
+
+ /**
+ * 寮哄埗鍒囨崲鍏ュ嚭搴撴ā寮�
+ */
+ function ioModeSwitch(el) {
+ var floor = el.split("-")[2];
+ if (ioModeData != null && ioModeData.length > 1) {
+ ioModeData.forEach(function(e) {
+ if (e.floor === Number(floor)) {
+ if (e.modeVal === 3 || e.modeVal === 4) {
+ layer.confirm('纭畾鍒囨崲涓哄叆搴撴ā寮忓悧锛�',function () {
+ $.ajax({
+ url: baseUrl+ "/site/io/mode/action/site",
+ headers: {'token': localStorage.getItem('token')},
+ data: {floor: e.floor},
+ method: 'POST',
+ success: function (res) {
+ if (res.code === 200){
+ layer.msg("鏆傛椂涓嶈兘鍒囨崲锛�", {icon: 1})
+ } else if (res.code === 403){
+ window.location.href = baseUrl+"/login";
+ } else {
+ console.log(res.msg);
+ }
+ }
+ });
+ layer.closeAll();
+ })
+ }
+ }
+ });
+ }
+
+ }
+
+ // plc寮傚父淇℃伅琛ㄨ幏鍙�
+ function getPlcError() {
+ var tableEl = $('#plc-error-table');
+ tableEl.children("tr").children("td").html("");
+ $.ajax({
+ url: baseUrl+ "/site/table/plc/errors",
+ headers: {'token': localStorage.getItem('token')},
+ method: 'POST',
+ success: function (res) {
+ if (res.code === 200){
+ var table = res.data;
+ for (var i=1;i<=table.length;i++){
+ var tr = tableEl.find("tr").eq(i);
+ tr.children("td").eq(0).html(table[i-1].no);
+ tr.children("td").eq(1).html(table[i-1].plcDesc);
+ tr.children("td").eq(2).html(table[i-1].error);
+ }
+ } else if (res.code === 403){
+ window.location.href = baseUrl+"/login";
+ } else {
+ console.log(res.msg);
+ }
+ }
+ });
+ }
+
+ // 绔欑偣淇℃伅琛ㄨ幏鍙�
+ function getSite() {
+ var tableEl = $('#site-table');
+ $.ajax({
+ url: baseUrl+ "/site/table/site",
+ headers: {'token': localStorage.getItem('token')},
+ method: 'POST',
+ success: function (res) {
+ if (res.code === 200){
+ var table = res.data;
+ if (table.length > siteTableBlankRows && table.length !== siteTableFullRows) {
+ initSiteTable(table.length-siteTableBlankRows);
+ siteTableFullRows = table.length;
+ }
+ for (var i=1;i<=table.length;i++){
+ var tr = tableEl.find("tr").eq(i);
+ setVal(tr.children("td").eq(0), table[i-1].devNo);
+ setVal(tr.children("td").eq(1), table[i-1].workNo);
+ setVal(tr.children("td").eq(2), table[i-1].autoing);
+ setVal(tr.children("td").eq(3), table[i-1].loading);
+ setVal(tr.children("td").eq(4), table[i-1].inEnable);
+ setVal(tr.children("td").eq(5), table[i-1].outEnable);
+ setVal(tr.children("td").eq(6), table[i-1].pakMk);
+ setVal(tr.children("td").eq(7), table[i-1].emptyMk);
+ setVal(tr.children("td").eq(8), table[i-1].staNo);
+ setVal(tr.children("td").eq(9), table[i-1].locType1);
+ }
+ } else if (res.code === 403){
+ window.location.href = baseUrl+"/login";
+ } else {
+ console.log(res.msg);
+ }
+ }
+ });
+ }
+
+ // 杈撻�佽澶囨棩蹇楄緭鍑�
+ function getSiteOutput() {
+ $.ajax({
+ url: baseUrl + "/site/output/site",
+ headers: {'token': localStorage.getItem('token')},
+ method: 'POST',
+ success: function (res) {
+ if (res.code === 200) {
+ output(res.data);
+ } else if (res.code === 403) {
+ window.location.href = baseUrl + "/login";
+ } else {
+ alert(res.msg);
+ }
+ }
+ })
+ }
+
+ // 鏃ュ織杈撳嚭妗�
+ function output(content){
+ outputDom.value += content;
+ outputDom.scrollTop = outputDom.scrollHeight;
+ }
+
+ // ------------------------------------------------------------------------------------------------
+
+ // plc寮傚父绌虹櫧琛ㄦ牸娓叉煋
+ function initPlcErrorTable(row) {
+ var line;
+ if (row === undefined){
+ var one = $('#plc-error-table thead').height();
+ var total = $('.plc-log-body').height();
+ var count = total / one;
+ count = parseInt(count) - 1;
+ plcErrorTableBlankRows = count;
+ line = count;
+ } else {
+ line = row;
+ }
+ var html = "";
+ for (var i = 0; i < line; i ++){
+ html += " <tr>\n" +
+ " <td></td>\n" +
+ " <td></td>\n" +
+ " <td></td>\n" +
+ " </tr>\n";
+ }
+ $('#plc-error-table tbody').after(html);
+ }
+
+ // 绔欑偣绌虹櫧琛ㄦ牸娓叉煋
+ function initSiteTable(row) {
+ var line;
+ if (row === undefined){
+ var one = $('#site-table thead').height();
+ var total = $('#site-monitor').height();
+ var count = total / one;
+ count = parseInt(count) - 1;
+ siteTableBlankRows = count;
+ line = count;
+ } else {
+ line = row;
+ }
+ var html = "";
+ for (var i = 0; i < line; i ++){
+ html += " <tr>\n" +
+ " <td></td>\n" +
+ " <td></td>\n" +
+ " <td></td>\n" +
+ " <td></td>\n" +
+ " <td></td>\n" +
+ " <td></td>\n" +
+ " <td></td>\n" +
+ " <td></td>\n" +
+ " <td></td>\n" +
+ " <td></td>\n" +
+ " </tr>\n";
+ }
+ $('#site-table tbody').after(html);
+ }
+
+ // 璇︽儏鎿嶄綔 -------------------------------------------------------------------------
+ var layerDetl;
+ $(document).on('dblclick ','#site-table tr', function () {
+ stop = true
+ var siteId = $(this).children("td").eq(0).html();
+ if (siteId !== null && siteId !== "") {
+ layerDetl = layer.open({
+ type: 1,
+ title: false,
+ shadeClose: true,
+ offset: 'rt',
+ anim: 5,
+ shade: [0],
+ area: ['340px', '255px'],
+ closeBtn: 0,
+ content: $("#site-detl"),
+ success: function(layero, index){
+ http.get(baseUrl+ "/site/detl/"+siteId, null, function (res) {
+ $('#siteId').val(siteId);
+ $('#workNo').val(res.data.workNo);
+ $('#staNo').val(res.data.staNo);
+ $('#pakMk').val(res.data.pakMk);
+ })
+ },
+ end: function () {
+ $('#siteId').val("");
+ $('#workNo').val("");
+ $('#staNo').val("");
+ $('#pakMk').val("");
+ stop = false
+ }
+ })
+ }
+
+ });
+
+ $(document).on('click ','#save', function () {
+ http.post(baseUrl+ "/site//detl/update", {
+ siteId: $('#siteId').val(),
+ workNo: $('#workNo').val(),
+ staNo: $('#staNo').val(),
+ pakMk: $('#pakMk').val()
+ }, function (res) {
+ layer.msg("淇敼鎴愬姛",{icon: 1,});
+ })
+ })
+ $(document).on('click ','#cancel', function () {
+ $('#siteId').val("");
+ $('#workNo').val("");
+ $('#staNo').val("");
+ $('#pakMk').val("");
+ layer.close(layerDetl);
+ })
+
+</script>
+</html>
\ No newline at end of file
diff --git a/src/main/webapp/views/realtimeWatch/pipeline2.html b/src/main/webapp/views/realtimeWatch/pipeline2.html
index 504a084..9351fc9 100644
--- a/src/main/webapp/views/realtimeWatch/pipeline2.html
+++ b/src/main/webapp/views/realtimeWatch/pipeline2.html
@@ -238,7 +238,7 @@
var tableEl = $('#plc-error-table');
tableEl.children("tr").children("td").html("");
$.ajax({
- url: baseUrl+ "/site/table/plc/errors",
+ url: baseUrl+ "/site/table/plc/errors2",
headers: {'token': localStorage.getItem('token')},
method: 'POST',
success: function (res) {
@@ -263,7 +263,7 @@
function getSite() {
var tableEl = $('#site-table');
$.ajax({
- url: baseUrl+ "/site/table/site",
+ url: baseUrl+ "/site/table/site2",
headers: {'token': localStorage.getItem('token')},
method: 'POST',
success: function (res) {
diff --git a/src/main/webapp/views/realtimeWatch/rgv.html b/src/main/webapp/views/realtimeWatch/rgv.html
index d6bd155..70702dd 100644
--- a/src/main/webapp/views/realtimeWatch/rgv.html
+++ b/src/main/webapp/views/realtimeWatch/rgv.html
@@ -128,8 +128,8 @@
<th>鐘舵��</th>
<th>婧愮珯</th>
<th>鐩爣绔�</th>
- <th>婧愬簱浣�</th>
- <th>鐩爣搴撲綅</th>
+ <th>鎵樼洏鐮�</th>
+<!-- <th>鐩爣搴撲綅</th>-->
<th>璧拌閫熷害锛坢/min)</th>
<!-- <th>鍗囬檷閫熷害锛坢/min)</th>-->
<!-- <th>鍙夌墮閫熷害锛坢/min)</th>-->
@@ -359,15 +359,9 @@
setVal(tr.children("td").eq(2), table[i-1].status);
setVal(tr.children("td").eq(3), table[i-1].sourceStaNo);
setVal(tr.children("td").eq(4), table[i-1].staNo);
- setVal(tr.children("td").eq(5), table[i-1].sourceLocNo);
- setVal(tr.children("td").eq(6), table[i-1].locNo);
- setVal(tr.children("td").eq(7), table[i-1].xspeed);
- // setVal(tr.children("td").eq(8), table[i-1].yspeed);
- // setVal(tr.children("td").eq(9), table[i-1].zspeed);
- // setVal(tr.children("td").eq(10), table[i-1].xdistance);
- // setVal(tr.children("td").eq(11), table[i-1].ydistance);
- // setVal(tr.children("td").eq(12), table[i-1].xduration);
- // setVal(tr.children("td").eq(13), table[i-1].yduration);
+ setVal(tr.children("td").eq(5), table[i-1].origin);
+ setVal(tr.children("td").eq(6), table[i-1].xspeed);
+
}
} else if (res.code === 403){
window.location.href = baseUrl+"/login";
--
Gitblit v1.9.1