From 44bddde6414f5c7565c21ef510c6c63dbc0971c3 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期三, 13 一月 2021 15:12:50 +0800
Subject: [PATCH] #test
---
src/main/java/com/zy/core/model/CrnSlave.java | 2
src/main/webapp/views/crn.html | 57 ++++++++++++++-----
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 89 +++++++++++++++++++++++++++++
src/main/webapp/static/css/crn.css | 2
src/main/java/com/zy/asrs/domain/param/CrnDemoParam.java | 2
src/main/java/com/zy/core/MainProcess.java | 3 +
src/main/java/com/zy/asrs/controller/CrnController.java | 9 ++
src/main/resources/application.yml | 2
8 files changed, 149 insertions(+), 17 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/CrnController.java b/src/main/java/com/zy/asrs/controller/CrnController.java
index 4b5edf5..6cfaab7 100644
--- a/src/main/java/com/zy/asrs/controller/CrnController.java
+++ b/src/main/java/com/zy/asrs/controller/CrnController.java
@@ -216,6 +216,7 @@
return R.ok().add(str.toString());
}
+
@PostMapping("/demo/switch")
@ManagerAuth(memo = "鍫嗗灈鏈烘紨绀�")
public R crnDemo(CrnDemoParam param) throws InterruptedException {
@@ -229,11 +230,17 @@
return R.error("鍙d护閿欒");
}
Thread.sleep(200L);
- mainService.crnDemoOfLocMove(param.getCrnId());
+ for (CrnSlave crnSlave : slaveProperties.getCrn()) {
+ if (crnSlave.getId().equals(param.getCrnId())) {
+ crnSlave.setDemo(param.getOpt());
+ }
+ }
+// mainService.crnDemoOfLocMove(param.getCrnId());
return R.ok();
}
+
/****************************************************************/
/************************** 鎵嬪姩鎿嶄綔 ******************************/
/****************************************************************/
diff --git a/src/main/java/com/zy/asrs/domain/param/CrnDemoParam.java b/src/main/java/com/zy/asrs/domain/param/CrnDemoParam.java
index e85d39c..c724435 100644
--- a/src/main/java/com/zy/asrs/domain/param/CrnDemoParam.java
+++ b/src/main/java/com/zy/asrs/domain/param/CrnDemoParam.java
@@ -15,4 +15,6 @@
// 瀵嗙爜鍙d护
private String password;
+ private Boolean opt;
+
}
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 28556f8..cb11c6a 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -1222,4 +1222,93 @@
}
}
+ /**
+ * 鍫嗗灈鏈烘紨绀� ===>> 搴撲綅绉昏浆
+ */
+ public synchronized void crnDemoOfLocMove1(){
+ for (CrnSlave crn : slaveProperties.getCrn()) {
+ if (!crn.getDemo()) { continue; } // 蹇呴』涓烘紨绀虹姸鎬�
+
+ CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId());
+ CrnProtocol crnProtocol = crnThread.getCrnProtocol();
+ if (crnProtocol == null) { continue; }
+
+ // 鍙湁褰撳爢鍨涙満绌洪棽 骞朵笖 鏃犱换鍔℃椂鎵嶇户缁墽琛�
+ if (crnProtocol.getStatusType() == CrnStatusType.IDLE && crnProtocol.getTaskNo() == 0 && crnProtocol.getModeType() == CrnModeType.AUTO) {
+ // 鑾峰彇绉诲簱宸ヤ綔妗d俊鎭�
+ WrkMast wrkMast = wrkMastMapper.selectLocMove(crn.getId());
+ if (null != wrkMast) { continue; }
+
+ LocMast sourceLoc = locMastService.queryDemoSourceLoc(crn.getId());
+ LocMast loc = locMastService.queryDemoLoc(crn.getId());
+ if (null == sourceLoc || null == loc) { continue; }
+
+ String sourceLocNo = sourceLoc.getLocNo();
+ String locNo = loc.getLocNo();
+
+ // 鑾峰彇宸ヤ綔鍙�
+ int workNo = commonService.getWorkNo(WorkNoType.PICK.type);
+ // 淇濆瓨宸ヤ綔妗�
+ wrkMast = new WrkMast();
+ wrkMast.setWrkNo(workNo);
+ wrkMast.setIoTime(new Date());
+ wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID
+ wrkMast.setIoType(11); // 鍏ュ嚭搴撶姸鎬侊細 11.搴撴牸绉昏浇
+ wrkMast.setIoPri(13D);
+ wrkMast.setCrnNo(crn.getId());
+ wrkMast.setSourceLocNo(sourceLocNo); // 婧愬簱浣�
+ wrkMast.setLocNo(locNo); // 鐩爣搴撲綅
+ wrkMast.setFullPlt("N"); // 婊℃澘锛歒
+ wrkMast.setPicking("N"); // 鎷f枡
+ wrkMast.setExitMk("N"); // 閫�鍑�
+ wrkMast.setEmptyMk(sourceLoc.getLocSts().equals("D")?"Y":"N"); // 绌烘澘
+ wrkMast.setBarcode(sourceLoc.getBarcode()); // 鎵樼洏鐮�
+ wrkMast.setLinkMis("N");
+ wrkMast.setAppeTime(new Date());
+ wrkMast.setModiTime(new Date());
+ int res = wrkMastMapper.insert(wrkMast);
+ if (res == 0) {
+ throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
+ }
+ // 宸ヤ綔妗f槑缁嗕繚瀛�
+ List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", sourceLocNo));
+ for (LocDetl locDetl : locDetls) {
+ WrkDetl wrkDetl = new WrkDetl();
+ wrkDetl.setWrkNo(workNo);
+ wrkDetl.setIoTime(new Date());
+ wrkDetl.setAnfme(locDetl.getAnfme());
+ VersionUtils.setWrkDetl(wrkDetl, locDetl); // 鐗堟湰鎺у埗
+ wrkDetl.setAppeTime(new Date());
+ wrkDetl.setModiTime(new Date());
+ if (!wrkDetlService.insert(wrkDetl)) {
+ throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
+ }
+ }
+ // 淇敼婧愬簱浣嶇姸鎬�
+ if (sourceLoc.getLocSts().equals("D") || sourceLoc.getLocSts().equals("F")) {
+ sourceLoc.setLocSts("R"); // R.鍑哄簱棰勭害
+ sourceLoc.setModiTime(new Date());
+ if (!locMastService.updateById(sourceLoc)){
+ throw new CoolException("鏇存柊婧愬簱浣嶇姸鎬佸け璐�");
+ }
+ } else {
+ throw new CoolException("婧愬簱浣嶅嚭搴撳け璐�");
+ }
+ // 淇敼鐩爣搴撲綅鐘舵��
+ if (loc.getLocSts().equals("O")) {
+ loc.setLocSts("S"); // S.鍏ュ簱棰勭害
+ loc.setModiTime(new Date());
+ if (!locMastService.updateById(loc)) {
+ throw new CoolException("鏇存柊鐩爣搴撲綅鐘舵�佸け璐�");
+ }
+ } else {
+ throw new CoolException("绉昏浆澶辫触");
+ }
+
+ }
+
+ }
+ }
+
+
}
diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java
index 9583e04..3a3ceb3 100644
--- a/src/main/java/com/zy/core/MainProcess.java
+++ b/src/main/java/com/zy/core/MainProcess.java
@@ -39,6 +39,9 @@
continue;
}
+ // 婕旂ず
+ mainService.crnDemoOfLocMove1();
+
// 鍏ュ簱 ===>> 鍏ュ簱绔欏埌鍫嗗灈鏈虹珯锛屾牴鎹潯鐮佹壂鎻忕敓鎴愬叆搴撳伐浣滄。
mainService.generateStoreWrkFile(); // 缁勬墭
mainService.generateStoreWrkFile0(); // WMS鍏ュ簱
diff --git a/src/main/java/com/zy/core/model/CrnSlave.java b/src/main/java/com/zy/core/model/CrnSlave.java
index 42d2822..cfee50d 100644
--- a/src/main/java/com/zy/core/model/CrnSlave.java
+++ b/src/main/java/com/zy/core/model/CrnSlave.java
@@ -20,6 +20,8 @@
private Integer offset;
+ private Boolean demo;
+
// 鍫嗗灈鏈哄叆搴撶珯鐐�
private List<CrnStn> crnInStn = new ArrayList<>();
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 0b84f05..61d34df 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -50,6 +50,7 @@
slot: 1
# 鍋忕Щ閲忥紝褰撳爢鍨涙満绔欑偣鍒楀彿=1鏃讹紝鍋忕Щ閲�=2
offset: 2
+ demo: false
# 鍫嗗灈鏈哄叆搴撶珯鐐�
crnInStn[0]:
devpPlcId: ${wcs-slave.devp[0].id}
@@ -87,6 +88,7 @@
slot: 1
# 鍋忕Щ閲忥紝褰撳爢鍨涙満绔欑偣鍒楀彿=1鏃讹紝鍋忕Щ閲�=2
offset: 2
+ demo: false
# 鍫嗗灈鏈哄叆搴撶珯鐐�
crnInStn[0]:
devpPlcId: ${wcs-slave.devp[0].id}
diff --git a/src/main/webapp/static/css/crn.css b/src/main/webapp/static/css/crn.css
index 97ae7d0..ea974b0 100644
--- a/src/main/webapp/static/css/crn.css
+++ b/src/main/webapp/static/css/crn.css
@@ -40,7 +40,7 @@
.crn-command-item input {
vertical-align: middle;
outline: none;
- width: 70%;
+ width: 60%;
}
/* 鍙� */
diff --git a/src/main/webapp/views/crn.html b/src/main/webapp/views/crn.html
index 04c02b2..70068ac 100644
--- a/src/main/webapp/views/crn.html
+++ b/src/main/webapp/views/crn.html
@@ -44,18 +44,20 @@
<!-- 鏃ュ織鐩戞帶鏉� -->
<div class="log-board">
<!-- 鎵ц鍛戒护 -->
+
+ <!-- 鎵ц鍛戒护 -->
<div class="command-log">
<h2>鎵ц涓殑鍛戒护</h2>
<div class="crn-command-item">
<label>1#</label>
-<!-- <button id="demoBtn-1" class="demoBtn" onclick="demoSwitch(this.id)">婕旂ず</button>-->
- <span> </span>
+ <button id="demoBtn-1" class="demoBtn" onclick="demoSwitch(this.id)"> - </button>
+ <!-- <span> </span>-->
<input id="crn1" disabled="disabled">
</div>
<div class="crn-command-item">
<label>2#</label>
-<!-- <button id="demoBtn-2" class="demoBtn" onclick="demoSwitch(this.id)">婕旂ず</button>-->
- <span> </span>
+ <button id="demoBtn-2" class="demoBtn" onclick="demoSwitch(this.id)"> - </button>
+ <!-- <span> </span>-->
<input id="crn2" disabled="disabled">
</div>
</div>
@@ -229,6 +231,7 @@
setInterval(function () {
getCrnOutput();
operatorBlockShow();
+ initDemo();
},500);
// 鍒ゆ柇鎵嬪姩鎿嶄綔妯″潡鏄惁鍙敤
@@ -550,22 +553,45 @@
crnOutputDom.scrollTop = crnOutputDom.scrollHeight;
}
- // function demoSwitch(el) {
- // var crnId = el.split("-")[1];
- // layer.prompt({title: '璇疯緭鍏ュ彛浠わ紝骞跺紑濮�'+crnId+"鍙峰爢鍨涙満婕旂ず", formType: 1, shadeClose: true}, function (pass, idx) {
- // layer.close(idx);
- // doDemo(crnId, pass); // 鍋滄wcs绯荤粺
- // });
- // }
+
+ var crnDemoData;
+ function initDemo() {
+ $.ajax({
+ url: baseUrl+"/crn/demo/status",
+ async: false,
+ method: 'GET',
+ success: function (res) {
+ if (res.code === 200) {
+ crnDemoData = res.data;
+ crnDemoData.forEach(function (e) {
+ $("#demoBtn-"+e.crnNo).html(e.demo?'鍋滄':'婕旂ず');
+ })
+ } else if (res.code === 403){
+ parent.location.href = baseUrl+"/login";
+ } else {
+ layer.msg(res.msg, {icon: 2});
+ }
+ }
+ })
+ }
function demoSwitch(el) {
var crnId = el.split("-")[1];
- layer.confirm(crnId + ' 鍙峰爢鍨涙満纭畾寮�濮嬫紨绀哄悧锛�', function(){
- doDemo(crnId, 'root'); // 鍋滄wcs绯荤粺
+ var opt;
+ if (crnDemoData == null) {
+ initDemo();
+ }
+ for (var i = 0; i<crnDemoData.length; i++) {
+ if (Number(crnDemoData[i].crnNo) === Number(crnId)) {
+ opt = !crnDemoData[i].demo;
+ }
+ }
+ layer.confirm(crnId + ' 鍙峰爢鍨涙満纭畾'+ (opt?'寮�濮�':'鍋滄') + '婕旂ず鍚楋紵', function(){
+ doDemo(crnId, 'root', opt); // 鍋滄wcs绯荤粺
});
}
- function doDemo(crnId, password) {
+ function doDemo(crnId, password, opt) {
// 鍔犺浇tips
var index = layer.load(1, {
shade: [0.1,'#fff']
@@ -576,7 +602,8 @@
// async: false,
data: {
crnId: Number(crnId),
- password: password
+ password: password,
+ opt: opt
},
method: 'POST',
success: function (res) {
--
Gitblit v1.9.1