From 5090e469d6428e4508db52b49b4e34d9ba6198ea Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期一, 28 九月 2020 08:53:07 +0800
Subject: [PATCH] Merge branch 'jswcs' of https://gitee.com/luxiaotao1123/zy-wcs into jswcs
---
src/main/java/com/zy/core/model/protocol/StaProtocol.java | 13 +++++-
src/main/java/com/zy/core/thread/BarcodeThread.java | 13 ++++++
src/main/webapp/views/crn.html | 14 +++---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 36 ++++++++++-------
src/main/webapp/views/console.html | 4 +-
src/main/java/com/zy/core/thread/DevpThread.java | 13 ++++++
6 files changed, 65 insertions(+), 28 deletions(-)
diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
index c31e4dd..14e9a7c 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -107,9 +107,12 @@
// 鑾峰彇鏉$爜鎵弿浠俊鎭�
BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, inSta.getBarcode());
String barcode = barcodeThread.getBarcode();
+ if(!Cools.isEmpty(barcode)) {
+ System.err.println(barcode);
+ }
// 鑾峰彇鍏ュ簱绔欎俊鎭�
DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
- StaProtocol staProtocol = devpThread.getStation().get(inSta.getStaNo());
+ StaProtocol staProtocol = devpThread.getStation().get(inSta.getStaNo()).clone();
if (staProtocol == null) {
continue;
}
@@ -178,15 +181,18 @@
// 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
+
// 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护
barcodeThread.setBarcode("");
staProtocol.setWorkNo((short) workNo);
staProtocol.setStaNo(startupDto.getStaNo().shortValue());
- staProtocol.setPakMk(false);
+ devpThread.setPakMk(staProtocol.getSiteId(), false);
boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
if (!result) {
throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
}
+
+
} catch (Exception e) {
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
@@ -212,7 +218,7 @@
for (DevpSlave.Sta inSta : devp.getInSta()) {
// 鑾峰彇鍏ュ簱绔欎俊鎭�
DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
- StaProtocol staProtocol = devpThread.getStation().get(inSta.getStaNo());
+ StaProtocol staProtocol = devpThread.getStation().get(inSta.getStaNo()).clone();
if (staProtocol == null) { continue; }
// 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢
if (staProtocol.isAutoing() && staProtocol.isLoading()
@@ -227,7 +233,7 @@
// 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护
staProtocol.setWorkNo(wrkMast.getWrkNo().shortValue());
staProtocol.setStaNo(wrkMast.getStaNo().shortValue());
- staProtocol.setPakMk(false);
+ devpThread.setPakMk(staProtocol.getSiteId(), false);
boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
if (result) {
// 鏇存柊宸ヤ綔涓绘。
@@ -258,7 +264,7 @@
for (DevpSlave.Sta pickSta : devp.getPickSta()) {
// 鑾峰彇鎷f枡鍏ュ簱绔欎俊鎭�
DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
- StaProtocol staProtocol = devpThread.getStation().get(pickSta.getStaNo());
+ StaProtocol staProtocol = devpThread.getStation().get(pickSta.getStaNo()).clone();
if (staProtocol == null) { continue; }
if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable()
&& staProtocol.getWorkNo() > 0 && staProtocol.isPakMk()){
@@ -321,7 +327,7 @@
// 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护
staProtocol.setWorkNo(wrkMast.getWrkNo().shortValue());
staProtocol.setStaNo(wrkMast.getStaNo().shortValue());
- staProtocol.setPakMk(false);
+ devpThread.setPakMk(staProtocol.getSiteId(), false);
boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
if (!result) {
log.error("鍙戝竷鍛戒护鑷宠緭閫佺嚎闃熷垪澶辫触锛侊紒锛� [plc缂栧彿锛歿}]", devp.getId());
@@ -344,7 +350,7 @@
for (CrnSlave.CrnStn crnStn : crnSlave.getCrnOutStn()) {
// 鑾峰彇鍫嗗灈鏈哄嚭搴撶珯淇℃伅
DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, crnStn.getDevpPlcId());
- StaProtocol staProtocol = devpThread.getStation().get(crnStn.getStaNo());
+ StaProtocol staProtocol = devpThread.getStation().get(crnStn.getStaNo()).clone();
if (staProtocol == null) { continue; }
if (staProtocol.isAutoing() && staProtocol.isLoading() && (staProtocol.getWorkNo() == 0 || staProtocol.getStaNo() == null)) {
// 鏌ヨ宸ヤ綔妗�
@@ -446,7 +452,7 @@
boolean flag = false;
// 鑾峰彇鍫嗗灈鏈哄叆搴撶珯淇℃伅
DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, crnStn.getDevpPlcId());
- StaProtocol staProtocol = devpThread.getStation().get(crnStn.getStaNo());
+ StaProtocol staProtocol = devpThread.getStation().get(crnStn.getStaNo()).clone();
if (staProtocol == null) { continue; }
// 鏌ヨ绔欑偣璇︾粏淇℃伅
BasDevp staDetl = basDevpService.selectById(crnStn.getStaNo());
@@ -454,7 +460,7 @@
log.error("鍏ュ簱 ===>> 鍫嗗灈鏈虹珯鐐瑰湪鏁版嵁搴撲笉瀛樺湪, 绔欑偣缂栧彿={}", crnStn.getStaNo());
continue;
}
- if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.getWorkNo() > 0
+ if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.getWorkNo() > 0 && staProtocol.isInEnable()
&& staDetl.getCanining()!=null && staDetl.getCanining().equals("Y")) {
flag = true;
}
@@ -534,7 +540,7 @@
}
// 鑾峰彇鍫嗗灈鏈哄嚭搴撶珯淇℃伅
DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, crnStn.getDevpPlcId());
- StaProtocol staProtocol = devpThread.getStation().get(crnStn.getStaNo());
+ StaProtocol staProtocol = devpThread.getStation().get(crnStn.getStaNo()).clone();
if (staProtocol == null) { continue; }
// 鏌ヨ绔欑偣璇︾粏淇℃伅
BasDevp staDetl = basDevpService.selectById(crnStn.getStaNo());
@@ -544,7 +550,7 @@
}
// 鍒ゆ柇鍫嗗灈鏈哄嚭搴撶珯鐘舵��
if (staProtocol.isAutoing() && !staProtocol.isLoading() && staDetl.getCanouting() !=null && staDetl.getCanouting().equals("Y")
- && staProtocol.getWorkNo() == 0) {
+ && staProtocol.getWorkNo() == 0 && staProtocol.isOutEnable()) {
// 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
// 鍫嗗灈鏈烘帶鍒惰繃婊�
@@ -706,7 +712,7 @@
for (DevpSlave.Sta emptyInSta : devp.getEmptyInSta()) {
// 鑾峰彇绌烘澘鍏ュ簱绔欎俊鎭�
DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
- StaProtocol staProtocol = devpThread.getStation().get(emptyInSta.getStaNo());
+ StaProtocol staProtocol = devpThread.getStation().get(emptyInSta.getStaNo()).clone();
if (staProtocol == null) { continue; }
// 绔欑偣鏉′欢鍒ゆ柇
if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable()
@@ -753,7 +759,7 @@
// 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护
staProtocol.setWorkNo((short) workNo);
staProtocol.setStaNo(startupDto.getStaNo().shortValue());
- staProtocol.setPakMk(false);
+ devpThread.setPakMk(staProtocol.getSiteId(), false);
boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
if (!result) {
throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
@@ -784,7 +790,7 @@
List<WrkMast> wrkMasts = new ArrayList<>();
for (Integer staNo : led.getStaArr()) {
// 鑾峰彇鍙夎溅绔欑偣
- StaProtocol staProtocol = devpThread.getStation().get(staNo);
+ StaProtocol staProtocol = devpThread.getStation().get(staNo).clone();
if (null == staProtocol || null == staProtocol.getWorkNo() || 0 == staProtocol.getWorkNo() || !staProtocol.isLoading()) { continue; }
// 鑾峰彇宸ヤ綔妗f暟鎹�
WrkMast wrkMast = wrkMastMapper.selectById(staProtocol.getWorkNo());
@@ -871,7 +877,7 @@
boolean reset = true;
for (Integer staNo : led.getStaArr()) {
// 鑾峰彇鍙夎溅绔欑偣
- StaProtocol staProtocol = devpThread.getStation().get(staNo);
+ StaProtocol staProtocol = devpThread.getStation().get(staNo).clone();
if (staProtocol == null) {continue;}
if (staProtocol.getWorkNo() != 0) {
reset = false;
diff --git a/src/main/java/com/zy/core/model/protocol/StaProtocol.java b/src/main/java/com/zy/core/model/protocol/StaProtocol.java
index a050efb..64e43af 100644
--- a/src/main/java/com/zy/core/model/protocol/StaProtocol.java
+++ b/src/main/java/com/zy/core/model/protocol/StaProtocol.java
@@ -8,7 +8,7 @@
* Created by vincent on 2020/8/6
*/
@Data
-public class StaProtocol {
+public class StaProtocol implements Cloneable {
// 绔欑偣缂栧彿
private Integer siteId;
@@ -44,7 +44,7 @@
private boolean pakMk = true;
// 鍙拌溅浣嶇疆
- private Integer position;
+ private Short position;
public BasDevp toSqlModel(){
BasDevp basDevp = new BasDevp();
@@ -59,5 +59,14 @@
return basDevp;
}
+ @Override
+ public StaProtocol clone() {
+ try {
+ return (StaProtocol) super.clone();
+ } catch (CloneNotSupportedException e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
}
diff --git a/src/main/java/com/zy/core/thread/BarcodeThread.java b/src/main/java/com/zy/core/thread/BarcodeThread.java
index 4bc67d7..7c613d7 100644
--- a/src/main/java/com/zy/core/thread/BarcodeThread.java
+++ b/src/main/java/com/zy/core/thread/BarcodeThread.java
@@ -1,5 +1,6 @@
package com.zy.core.thread;
+import com.core.common.Cools;
import com.zy.core.Slave;
import com.zy.core.ThreadHandler;
import lombok.Data;
@@ -41,7 +42,7 @@
if (null != read) {
barcode = new String(read);
}
- Thread.sleep(1000);
+ Thread.sleep(100);
} catch (Exception e) {
e.printStackTrace();
}
@@ -124,6 +125,16 @@
return true;
}
+ public String getBarcode() {
+ if (Cools.isEmpty(barcode)) {
+ return null;
+ } else if("NG".endsWith(barcode)) {
+ return null;
+ } else {
+ return barcode.trim();
+ }
+ }
+
public static void main(String[] args) throws Exception {
BarcodeThread barcodeThread = new BarcodeThread(new Slave());
barcodeThread.getSlave().setIp("192.168.2.150");
diff --git a/src/main/java/com/zy/core/thread/DevpThread.java b/src/main/java/com/zy/core/thread/DevpThread.java
index 55be879..90d5837 100644
--- a/src/main/java/com/zy/core/thread/DevpThread.java
+++ b/src/main/java/com/zy/core/thread/DevpThread.java
@@ -139,7 +139,7 @@
}
}
// 鍙拌溅浣嶇疆
- OperateResultExOne<Integer> result2 = siemensS7Net.ReadInt32("DB100.48");
+ OperateResultExOne<Short> result2 = siemensS7Net.ReadInt16("DB100.48");
if (result2.IsSuccess) {
StaProtocol staProtocol = station.get(8);
staProtocol.setPosition(result2.Content);
@@ -192,6 +192,7 @@
// status[4] = staProtocol.isEmptyMk();
// OperateResult write2 = siemensS7Net.Write("DB100." + ((staProtocol.getSiteId() - 1) + 40), status); // 鐘舵��
if (!write.IsSuccess || !write1.IsSuccess) {
+ staProtocol = station.get(staProtocol.getSiteId());
if (staProtocol.getWorkNo() == 0 && staProtocol.getStaNo() ==0) {
staProtocol.setPakMk(true);
}
@@ -250,6 +251,16 @@
}
}
+ /**
+ * 璁剧疆鍏ュ簱鏍囪
+ */
+ public void setPakMk(Integer siteId, boolean pakMk) {
+ StaProtocol staProtocol = station.get(siteId);
+ if (null != staProtocol) {
+ staProtocol.setPakMk(pakMk);
+ }
+ }
+
@Override
public void close() {
siemensS7Net.ConnectClose();
diff --git a/src/main/webapp/views/console.html b/src/main/webapp/views/console.html
index e4f79aa..e763ea9 100644
--- a/src/main/webapp/views/console.html
+++ b/src/main/webapp/views/console.html
@@ -512,8 +512,8 @@
} else {
siteEl.html(sites[i].siteId);
}
- if (i===8) {
- carAnimate(i, Number(sites[i].nearbySta));
+ if (i+1===8) {
+ carAnimate(i+1, Number(sites[i].nearbySta));
}
}
} else if (res.code === 403){
diff --git a/src/main/webapp/views/crn.html b/src/main/webapp/views/crn.html
index c8d614e..82ba4c2 100644
--- a/src/main/webapp/views/crn.html
+++ b/src/main/webapp/views/crn.html
@@ -108,15 +108,15 @@
</div>
<div class="select-container-item">
<span>鎺�</span>
- <label><input id="sourceRow" 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" value="0" /></label>
</div>
<div class="select-container-item">
<span>鍒�</span>
- <label><input id="sourceBay" 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" value="0" /></label>
</div>
<div class="select-container-item">
<span>灞�</span>
- <label><input id="sourceLev" 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" value="0" /></label>
</div>
</div>
</div>
@@ -130,15 +130,15 @@
</div>
<div class="select-container-item">
<span>鎺�</span>
- <label><input id="row" 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" value="0" /></label>
</div>
<div class="select-container-item">
<span>鍒�</span>
- <label><input id="bay" 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" value="0" /></label>
</div>
<div class="select-container-item">
<span>灞�</span>
- <label><input id="lev" 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" value="0" /></label>
</div>
</div>
</div>
@@ -417,7 +417,7 @@
// 鎵嬪姩澶嶄綅
function handleReset() {
- http.post(baseUrl+"/crn/operator/clearCommand", getReqParam(), function (res) {
+ http.post(baseUrl+"/crn/operator/handleReset", getReqParam(), function (res) {
layer.msg(res.msg);
});
}
--
Gitblit v1.9.1