From 1983df9f47c76e3c047f386e82e89c5537f345ac Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期三, 05 十一月 2025 12:57:32 +0800
Subject: [PATCH] *
---
src/main/java/com/zy/asrs/entity/param/BasCrnpParam.java | 6
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 376 +++++++++++++++++++++-------------------------
src/main/java/com/zy/core/MainProcess.java | 17 +
src/main/webapp/views/deviceOperate/crnOperate.html | 13 +
src/main/java/com/zy/core/model/protocol/CrnProtocol.java | 2
src/main/java/com/zy/asrs/controller/BasCrnpController.java | 38 +++-
6 files changed, 224 insertions(+), 228 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/BasCrnpController.java b/src/main/java/com/zy/asrs/controller/BasCrnpController.java
index 8be3d09..26529f7 100644
--- a/src/main/java/com/zy/asrs/controller/BasCrnpController.java
+++ b/src/main/java/com/zy/asrs/controller/BasCrnpController.java
@@ -121,20 +121,35 @@
if (Cools.isEmpty(basCrnpParam.getLocMastDemoCount()) || basCrnpParam.getLocMastDemoCount()<1){
- return R.error("璇疯緭鍏ユ祴璇曞簱浣嶆暟閲�").add("璇疯緭鍏ユ祴璇曞簱浣嶆暟閲�");
+ return R.error("璇疯緭鍏ユ祴璇曞湪搴撳簱浣嶆暟閲�").add("璇疯緭鍏ユ祴璇曞湪搴撳簱浣嶆暟閲�");
}
- if (Cools.isEmpty(basCrnpParam.getLocMastDemo())){
- return R.error("璇疯緭鍏ユ祴璇曞簱浣嶅垪琛�").add("璇疯緭鍏ユ祴璇曞簱浣嶅垪琛�");
+ if (Cools.isEmpty(basCrnpParam.getLocMastDemoF())){
+ return R.error("璇疯緭鍏ユ祴璇曞湪搴撳簱浣嶅垪琛�").add("璇疯緭鍏ユ祴璇曞湪搴撳簱浣嶅垪琛�");
} else {
- String[] split = basCrnpParam.getLocMastDemo().split(";");
+ String[] split = basCrnpParam.getLocMastDemoF().split(";");
if (split.length!=basCrnpParam.getLocMastDemoCount()){
- return R.error("杈撳叆娴嬭瘯搴撲綅鍒楄〃鏁伴噺涓嶅尮閰�").add("杈撳叆娴嬭瘯搴撲綅鍒楄〃鏁伴噺涓嶅尮閰�");
+ return R.error("杈撳叆娴嬭瘯鍦ㄥ簱搴撲綅鍒楄〃鏁伴噺涓嶅尮閰�").add("杈撳叆娴嬭瘯鍦ㄥ簱搴撲綅鍒楄〃鏁伴噺涓嶅尮閰�");
}
- basCrnpParam.setLocMastDemoList(new ArrayList<>(Arrays.asList(split)));
- for (String locNo : basCrnpParam.getLocMastDemoList()){
+ basCrnpParam.setLocMastDemoListF(new ArrayList<>(Arrays.asList(split)));
+ for (String locNo : basCrnpParam.getLocMastDemoListF()){
boolean locNoDetection = CodeDetectionUtil.locNoDetection(locNo);
if (!locNoDetection){
- return R.error("杈撳叆娴嬭瘯搴撲綅寮傚父").add("杈撳叆娴嬭瘯搴撲綅寮傚父");
+ return R.error("杈撳叆娴嬭瘯鍦ㄥ簱搴撲綅寮傚父").add("杈撳叆娴嬭瘯鍦ㄥ簱搴撲綅寮傚父");
+ }
+ }
+ }
+ if (Cools.isEmpty(basCrnpParam.getLocMastDemoE())){
+ return R.error("璇疯緭鍏ユ祴璇曠┖搴撲綅鍒楄〃").add("璇疯緭鍏ユ祴璇曠┖搴撲綅鍒楄〃");
+ } else {
+ String[] split = basCrnpParam.getLocMastDemoE().split(";");
+ if (split.length!=basCrnpParam.getLocMastDemoCount()){
+ return R.error("杈撳叆娴嬭瘯绌哄簱浣嶅垪琛ㄦ暟閲忎笉鍖归厤").add("杈撳叆娴嬭瘯绌哄簱浣嶅垪琛ㄦ暟閲忎笉鍖归厤");
+ }
+ basCrnpParam.setLocMastDemoListE(new ArrayList<>(Arrays.asList(split)));
+ for (String locNo : basCrnpParam.getLocMastDemoListE()){
+ boolean locNoDetection = CodeDetectionUtil.locNoDetection(locNo);
+ if (!locNoDetection){
+ return R.error("杈撳叆娴嬭瘯绌哄簱浣嶅紓甯�").add("杈撳叆娴嬭瘯绌哄簱浣嶅紓甯�");
}
}
}
@@ -182,7 +197,12 @@
}
}
crnProtocol.setLocMastDemoCount(basCrnpParam.getLocMastDemoCount());
- crnProtocol.setLocMastDemoList(basCrnpParam.getLocMastDemoList());
+ crnProtocol.setLocMastDemoListF(basCrnpParam.getLocMastDemoListF());
+ crnProtocol.setLocMastDemoListE(basCrnpParam.getLocMastDemoListE());
+ ArrayList<String> locMastDemoList = new ArrayList<>();
+ locMastDemoList.addAll(basCrnpParam.getLocMastDemoListF());
+ locMastDemoList.addAll(basCrnpParam.getLocMastDemoListF());
+ crnProtocol.setLocMastDemoList(locMastDemoList);
crnProtocol.setStaOutDemo(basCrnpParam.getStaOutDemo());
crnProtocol.setStaIntDemo(basCrnpParam.getStaIntDemo());
}
diff --git a/src/main/java/com/zy/asrs/entity/param/BasCrnpParam.java b/src/main/java/com/zy/asrs/entity/param/BasCrnpParam.java
index 122bf5f..555548e 100644
--- a/src/main/java/com/zy/asrs/entity/param/BasCrnpParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/BasCrnpParam.java
@@ -94,8 +94,10 @@
private Integer locMastDemoCount;//娴嬭瘯搴撲綅鏁伴噺
- private String locMastDemo;//娴嬭瘯搴撲綅鏁伴噺
- private ArrayList<String> locMastDemoList;//娴嬭瘯搴撲綅鍒楄〃
+ private String locMastDemoF;//娴嬭瘯搴撲綅鏁伴噺
+ private String locMastDemoE;//娴嬭瘯搴撲綅鏁伴噺
+ private ArrayList<String> locMastDemoListF;//娴嬭瘯搴撲綅鍒楄〃
+ private ArrayList<String> locMastDemoListE;//娴嬭瘯搴撲綅鍒楄〃
private Integer staOutDemo;//娴嬭瘯搴撲綅鍑哄簱绔�
private Integer staIntDemo;//娴嬭瘯搴撲綅鍏ュ簱绔�
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 e8ee51c..19c5bb7 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -2687,7 +2687,7 @@
/**
* 鍫嗗灈鏈虹珯鍑哄簱鍒板嚭搴撶珯
*/
- public boolean crnStnDEMOStop2() {
+ public int crnStnDEMOStop2() {
int signHpMk = 0;
for (CrnSlave crn : slaveProperties.getCrn()) {
@@ -2707,10 +2707,13 @@
signHpMk++;
}
}
- if (signHpMk == slaveProperties.getCrn().size()){
- return true;
+ if (signHpMk == 0){
+ return 2;
}
- return false;
+ if (signHpMk == slaveProperties.getCrn().size()){
+ return 0;
+ }
+ return 3;
}
@@ -2755,61 +2758,33 @@
/**
* 婕旂ず妯″紡鍚姩
*/
- public boolean crnStnDEMOOpen1() {
- try{
- int selectCount = taskWrkService.selectCount(new EntityWrapper<TaskWrk>());
- if (selectCount>0) {
- return false;
+ public int crnStnDEMOOpen1() {
+ int sign = 0;
+ for (CrnSlave crn : slaveProperties.getCrn()) {
+ // 鑾峰彇鍫嗗灈鏈轰俊鎭�
+ CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId());
+ CrnProtocol crnProtocol = crnThread.getCrnProtocol();
+ if (crnProtocol == null) {
+ continue;
}
- for (CrnSlave crn : slaveProperties.getCrn()) {
- try{
- // 鑾峰彇鍫嗗灈鏈轰俊鎭�
- CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId());
- CrnProtocol crnProtocol = crnThread.getCrnProtocol();
- if (crnProtocol == null) {
- continue;
- }
- BasCrnp basCrnp = basCrnpService.selectById(crn.getId());
- if (basCrnp == null) {
- log.error("{}鍙峰爢鍨涙満灏氭湭鍦ㄦ暟鎹簱杩涜缁存姢锛�", crn.getId());
- continue;
- }
-
- if (Cools.isEmpty(basCrnp.getHpMk()) || !basCrnp.getHpMk().equals("Y")){
- CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "瀛樺湪鍏跺畠鍫嗗灈鏈哄紑鍚紨绀烘ā寮忥紒");
- continue;
- }
-//
- CrnSlave crnSlave = new CrnSlave(crn);
- if (Cools.isEmpty(crnProtocol.getLaneNo()) || crnProtocol.getLaneNo()==0){
- CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "鍫嗗灈鏈哄贩閬撳彿寮傚父锛�");
- continue;
- }
-
- if (!crn.getId().equals(crnProtocol.getLaneNo())) {
- for (CrnSlave crnOther : slaveProperties.getCrn()) {
- if (crnOther.getId().equals(crnProtocol.getLaneNo())) {
- crnSlave.updateCrnInStn(crnOther);
- }
- }
- }
- for (String locNo : crnProtocol.getLocMastDemoList()){
- LocMast locMast = locMastService.selectByLocNo(locNo);
- TaskCreateParam taskCreateParam = new TaskCreateParam(crnSlave,locMast);
- taskCreateParam.setStartPointSta(crnProtocol.getStaIntDemo());
- taskCreateParam.setTargetPointSta(crnProtocol.getStaOutDemo());
- openService.taskCreate(taskCreateParam);
- }
- } catch (Exception e) {
- CrnErrCache.updateCrnErr(crn.getId(), "婕旂ず妯″紡鐢熸垚浠诲姟寮傚父锛�");
- continue;
- }
-
- return true;
+ BasCrnp basCrnp = basCrnpService.selectById(crn.getId());
+ if (basCrnp == null) {
+ log.error("{}鍙峰爢鍨涙満灏氭湭鍦ㄦ暟鎹簱杩涜缁存姢锛�", crn.getId());
+ continue;
}
- } catch (Exception e) {
+
+ if (Cools.isEmpty(basCrnp.getHpMk()) || !basCrnp.getHpMk().equals("Y")){
+ continue;
+ }
+ sign++;
}
- return false;
+ if (sign == slaveProperties.getCrn().size()){
+ return 2;
+ } else if (sign==0){
+ return 0;
+ } else {
+ return 1;
+ }
}
@@ -2830,25 +2805,18 @@
continue;
}
- CrnSlave crn = new CrnSlave(crnSlave);
- if (Cools.isEmpty(crnProtocol.getLaneNo()) || crnProtocol.getLaneNo()==0){
- CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "鍫嗗灈鏈哄贩閬撳彿寮傚父锛�");
- continue;
- }
-
- if (!crnSlave.getId().equals(crnProtocol.getLaneNo())) {
- for (CrnSlave crnOther : slaveProperties.getCrn()) {
- if (crnOther.getId().equals(crnProtocol.getLaneNo())) {
- crn.updateCrnInStn(crnOther);
- }
- }
- }
-
-// try{
-// // 搴撲綅绉昏浆
-// this.locToLoc(crn, crnProtocol);
-// } catch (Exception e) {
-// log.error("搴撲綅绉昏浆澶辫触");
+// CrnSlave crn = new CrnSlave(crnSlave);
+// if (Cools.isEmpty(crnProtocol.getLaneNo()) || crnProtocol.getLaneNo()==0){
+// CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "鍫嗗灈鏈哄贩閬撳彿寮傚父锛�");
+// continue;
+// }
+//
+// if (!crnSlave.getId().equals(crnProtocol.getLaneNo())) {
+// for (CrnSlave crnOther : slaveProperties.getCrn()) {
+// if (crnOther.getId().equals(crnProtocol.getLaneNo())) {
+// crn.updateCrnInStn(crnOther);
+// }
+// }
// }
// 鍙湁褰撳爢鍨涙満绌洪棽 骞朵笖 鏃犱换鍔℃椂鎵嶇户缁墽琛�
@@ -2857,24 +2825,20 @@
// 濡傛灉鏈�杩戜竴娆℃槸鍏ュ簱妯″紡
if (crnProtocol.getLastIo().equals("I")) {
if (basCrnp.getInEnable().equals("Y")) {
- this.crnStnToLocDemo(crn, crnProtocol); // 鍏ュ簱
+ this.crnStnToLocDemo(crnSlave, crnProtocol); // 鍏ュ簱
crnProtocol.setLastIo("O");
} else if (basCrnp.getOutEnable().equals("Y")) {
- if (!Cools.isEmpty(basCrnp.getHpMk()) && basCrnp.getHpMk().equals("Y")) {
- this.locToCrnStnDemo(crn, crnProtocol); // 鍑哄簱
- }
+ this.locToCrnStnDemo(crnSlave, crnProtocol); // 鍑哄簱
crnProtocol.setLastIo("I");
}
}
// 濡傛灉鏈�杩戜竴娆℃槸鍑哄簱妯″紡
else if (crnProtocol.getLastIo().equals("O")) {
if (basCrnp.getOutEnable().equals("Y")) {
- if (!Cools.isEmpty(basCrnp.getHpMk()) && basCrnp.getHpMk().equals("Y")) {
- this.locToCrnStnDemo(crn, crnProtocol); // 鍑哄簱
- }
+ this.locToCrnStnDemo(crnSlave, crnProtocol); // 鍑哄簱
crnProtocol.setLastIo("I");
} else if (basCrnp.getInEnable().equals("Y")) {
- this.crnStnToLocDemo(crn, crnProtocol); // 鍏ュ簱
+ this.crnStnToLocDemo(crnSlave, crnProtocol); // 鍏ュ簱
crnProtocol.setLastIo("O");
}
}
@@ -2894,12 +2858,10 @@
}
}
-
-
/**
* 鍏ュ簱 ===>> 鍫嗗灈鏈虹珯鍒板簱浣�
*/
- public void crnStnToLocDemo(CrnSlave slave, CrnProtocol crnProtocol) {
+ public void crnStnToLocDemo(CrnSlave slave, CrnProtocol crnProtocol) throws IOException {
for (CrnSlave.CrnStn crnStn : slave.getCrnInStn()) {
List<StaDesc> staDescs = staDescMapper.selectList(new EntityWrapper<StaDesc>().eq("CRN_NO", crnProtocol.getLaneNo()).eq("CRN_STN", crnStn.getStaNo()));
@@ -2919,7 +2881,7 @@
log.error("鍏ュ簱 ===>> 鍫嗗灈鏈虹珯鐐瑰湪鏁版嵁搴撲笉瀛樺湪, 绔欑偣缂栧彿={}", crnStn.getStaNo());
continue;
}
- if (staProtocol.isAutoing() && staProtocol.getWorkNo() > 0
+ if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.getWorkNo() > 0
// && staProtocol.isInEnable()
&& staDetl.getCanining() != null && staDetl.getCanining().equals("Y")) {
flag = true;
@@ -2929,11 +2891,20 @@
}
// 鑾峰彇宸ヤ綔鐘舵�佷负2锛堣澶囦笂璧帮級鐨勫叆搴撳伐浣滄。
- TaskWrk taskWrk = taskWrkMapper.selectPakInDemo(crnProtocol.getLaneNo(), staProtocol.getWorkNo().intValue(), staDesc.getStnNo().toString());
+ TaskWrk taskWrk = null;
+ for (String locNo : crnProtocol.getLocMastDemoList()) {
+ TaskWrk taskWrk1 = taskWrkService.selectByTaskNo(locNo);
+ if (Cools.isEmpty(taskWrk1)){
+ continue;
+ }
+ if (taskWrk1.getWrkSts() == 2){
+ taskWrk = taskWrk1;
+ break;
+ }
+ }
if (null == taskWrk) {
continue;
}
-
// 鍫嗗灈鏈烘帶鍒惰繃婊�
if (!crnProtocol.getStatusType().equals(CrnStatusType.IDLE)) {
devpThread.setErrorDev(staProtocol.getSiteId(), "鍫嗗灈鏈洪潪绌洪棽");
@@ -2952,11 +2923,8 @@
continue;
}
-// int workNo = commonService.getWorkNo(WorkNoType.PAKIN.type);//鑾峰彇鍏ュ簱宸ヤ綔鍙�
-// taskWrk.setWrkNo(workNo);//宸ヤ綔鍙�
Date now = new Date();
taskWrk.setStatus(TaskStatusType.DISTRIBUTE.id);//娲惧彂鐘舵��
-// taskWrk.setAssignTime(now);//娲惧彂鏃堕棿
taskWrk.setExecuteTime(now);
taskWrk.setWrkSts(3);//宸ヤ綔鐘舵�� 3.鍚婅溅鍏ュ簱
taskWrk.setCrnNo(staDesc.getCrnNo());//鍫嗗灈鏈哄彿
@@ -2977,7 +2945,7 @@
int bay1 = Utils.getBayShort(taskWrk.getTargetPoint()) + 1;
crnCommand1.setDestinationPosY((short)bay1); // 鐩爣搴撲綅灞�
crnCommand1.setDestinationPosZ(Utils.getLevShort(taskWrk.getTargetPoint())); // 鐩爣搴撲綅鎺�
- crnCommand1.setCommand((short) 0);
+// crnCommand.setCommand((short) 1);
if (!MessageQueue.offer(SlaveType.Crn, slave.getId(), new Task(2, crnCommand1))) {
log.error("鍫嗗灈鏈哄懡浠ょ敓鎴愬け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", taskWrk.getCrnNo(), JSON.toJSON(crnCommand1));
devpThread.setErrorDev(staProtocol.getSiteId(), crnProtocol.getLaneNo()+"宸烽亾鍫嗗灈鏈哄懡浠ょ敓鎴愬け璐�");
@@ -2994,11 +2962,8 @@
log.error("淇敼宸ヤ綔妗g姸鎬� 2.璁惧涓婅蛋 => 3.鍚婅溅鍏ュ簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", taskWrk.getWrkNo());
log.error("淇敼宸ヤ綔妗g姸鎬� 2.璁惧涓婅蛋 => 3.鍚婅溅鍏ュ簱涓� 澶辫触锛侊紒锛屽紓甯革細" + e);
}
-
}
}
-
- // return;
}
}
@@ -3007,7 +2972,7 @@
* 2022-06-09 TQS淇敼锛屾煡璇㈠伐浣滄。LIST锛岄亶鍘嗕笅鍙戯紝闃叉绗竴涓换鍔″牭濉炲嚭搴�
*/
public void locToCrnStnDemo(CrnSlave slave, CrnProtocol crnProtocol) {
- List<TaskWrk> taskWrksInitial = taskWrkMapper.selectPakOutDemo(crnProtocol.getLaneNo(), null);
+ List<TaskWrk> taskWrksInitial = taskWrkMapper.selectPakOut(crnProtocol.getLaneNo(), null);
if (taskWrksInitial.size() == 0) {
return;
}
@@ -3015,13 +2980,13 @@
List<StaDesc> staDescs = staDescMapper.selectList(new EntityWrapper<StaDesc>().eq("CRN_NO", crnProtocol.getLaneNo()).eq("CRN_STN", crnStn.getStaNo()));
for (StaDesc staDesc : staDescs) {
// 鑾峰彇宸ヤ綔鐘舵�佷负11锛堢敓鎴愬嚭搴揑D锛夌殑鍑哄簱宸ヤ綔妗�
- List<TaskWrk> taskWrks = taskWrkMapper.selectPakOutDemo(crnProtocol.getLaneNo(), staDesc.getStnNo().toString());
+ List<TaskWrk> taskWrks = taskWrkMapper.selectPakOut(crnProtocol.getLaneNo(), staDesc.getStnNo().toString());
for (TaskWrk taskWrk : taskWrks) {
if (taskWrk == null) {
continue;
}
// 宸ヤ綔妗g姸鎬佸垽鏂�
- if (taskWrk.getIoType() != 4 || taskWrk.getTargetPoint() == null || taskWrk.getStartPoint() == null) {
+ if (taskWrk.getIoType() != 2 || taskWrk.getTargetPoint() == null || taskWrk.getStartPoint() == null) {
log.error("鏌ヨ宸ヤ綔妗f暟鎹笉绗﹀悎鏉′欢--鍏ュ嚭绫诲瀷/绔欑偣, 宸ヤ綔鍙�={}锛屾簮搴撲綅={}锛屽叆鍑虹被鍨�={}", taskWrk.getWrkNo(), taskWrk.getStartPoint(), taskWrk.getIoType());
continue;
}
@@ -3043,12 +3008,6 @@
// 鍒ゆ柇鍫嗗灈鏈哄嚭搴撶珯鐘舵��
if (staProtocol.isAutoing() && staDetl.getCanouting() != null && staDetl.getCanouting().equals("Y")) {
-
-// // 鍒ゆ柇鍫嗗灈鏈哄嚭搴撶珯鐘舵��
-// if (staProtocol.isAutoing() && !staProtocol.isLoading() && staDetl.getCanouting() != null && staDetl.getCanouting().equals("Y")
-// && staProtocol.getWorkNo() == 0 && staProtocol.isOutEnable()) {
- // 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
-
// 鍫嗗灈鏈烘帶鍒惰繃婊�
if (!crnProtocol.getStatusType().equals(CrnStatusType.IDLE)) {
devpThread.setErrorDev(staProtocol.getSiteId(), "鍫嗗灈鏈洪潪绌洪棽");
@@ -3105,6 +3064,36 @@
log.error("淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", taskWrk.getWrkNo());
log.error("淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽紓甯革細" + e);
}
+ try {
+ HashMap<String, Object> headParam = new HashMap<>();
+ headParam.put("taskNo",taskWrk.getTaskNo());
+ headParam.put("taskStatus",taskWrk.getStatusWms());
+ headParam.put("ioType",taskWrk.getIoTypeWms());
+ headParam.put("barCode",taskWrk.getBarcode());
+ headParam.put("reportTime", LocalDateTime.now());
+ headParam.put("weight",taskWrk.getScWeight().doubleValue());
+
+ String response;
+ response = new HttpHandler.Builder()
+ // .setHeaders(headParam)
+ .setUri(wmsUrl)
+ .setPath(taskStatusFeedbackPath)
+ .setJson(JSON.toJSONString(headParam))
+ .build()
+ .doPost();
+ JSONObject jsonObject = JSON.parseObject(response);
+ apiLogService.save("wcs娲惧彂鍑哄簱浠诲姟涓婃姤wms"
+ , wmsUrl + taskStatusFeedbackPath
+ , null
+ , "127.0.0.1"
+ , JSON.toJSONString(headParam)
+ , response
+ , true
+ );
+ } catch (Exception e) {
+ log.error("wcs娲惧彂鍑哄簱浠诲姟涓婃姤wms澶辫触", JSON.toJSONString(taskWrk));
+// throw new CoolException("wcs娲惧彂鍏ュ簱浠诲姟涓婃姤wms澶辫触");
+ }
}
} else {
CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "-");
@@ -3130,12 +3119,10 @@
}
}
-
-
/**
* 鍫嗗灈鏈虹珯鍑哄簱鍒板嚭搴撶珯
*/
- public void crnStnToOutStnDemo() {
+ public void crnStnToOutStnDemo() {
for (CrnSlave crn : slaveProperties.getCrn()) {
// 鑾峰彇鍫嗗灈鏈轰俊鎭�
@@ -3179,11 +3166,12 @@
}
if (staProtocol.isAutoing() && staProtocol.isLoading() && (staProtocol.getWorkNo() == 0 || staProtocol.getStaNo() == 0)) {
// 鏌ヨ宸ヤ綔妗�
- TaskWrk taskWrk = taskWrkMapper.selectCrnStaWorkingDemo(crnProtocol.getLaneNo(), staDesc.getStnNo().toString());
+ TaskWrk taskWrk = taskWrkMapper.selectCrnStaWorking(crnProtocol.getLaneNo(), staDesc.getStnNo().toString());
if (taskWrk == null) {
continue;
}
log.info("涓嬪彂杈撻�佺嚎浠诲姟锛歵askWrk:" + JSON.toJSONString(taskWrk));
+// R r = siteController.siteDetlUpdate(Integer.valueOf(taskWrk.getTargetPoint()), taskWrk.getWrkNo().shortValue(), (short) 0, "Y", false, false);
staProtocol.setWorkNo(taskWrk.getWrkNo());
staProtocol.setStaNo(BarcodeUtils.getStaNo(staProtocol.getSiteId()));
boolean offer = false;
@@ -3193,17 +3181,18 @@
log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛氬紓甯�:" + e);
log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛氬紓甯�:offer:" + offer);
}
+// JSONObject jsonObject = JSON.parseObject(JSON.toJSONString(r));
if (offer) {
log.info("涓嬪彂杈撻�佺嚎浠诲姟鎴愬姛锛歵askWrk:" + JSON.toJSONString(taskWrk));
Date now = new Date();
- taskWrk.setStatus(TaskStatusType.DISTRIBUTE.id);
-
- taskWrk.setWrkSts(2);
+ taskWrk.setStatus(TaskStatusType.OVER3.id);
+ taskWrk.setWrkSts(14);
taskWrk.setModiTime(now);
taskWrk.setCompleteTime(now);
taskWrkService.updateById(taskWrk);
} else {
log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛歵askWrk:" + JSON.toJSONString(taskWrk));
+// log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛氬紓甯镐俊鎭�:"+JSON.toJSONString(r));
}
}
} catch (Exception e) {
@@ -3215,77 +3204,6 @@
}
}
-
-
- public synchronized void taskStartDemo() {
- for (RgvSlave rgvSlave : slaveProperties.getRgv()) {
- try {
- if (rgvDetection(rgvSlave)) {
- String taskNoNow = rgvOtherTaskWrk(rgvSlave);
- List<BasDevpPosition> basDevpPositions = basDevpPositionService.selectList(new EntityWrapper<BasDevpPosition>().orderBy("PLC_POSITION", true));
- boolean itSmall = new TrackRangeUtils().IsItSmall(rgvSlave);
- if (basDevpPositions.isEmpty()) {
- log.error("鑾峰彇鎵�鏈夌珯鐐逛俊鎭紓甯�");
- try{
- DeviceErrorService deviceErrorService = SpringUtils.getBean(DeviceErrorService.class);
- deviceErrorService.addDeviceError("rgvErr", rgvSlave.getId(), "鎸囦护鐢熸垚锛氳幏鍙栨墍鏈夌珯鐐逛俊鎭紓甯�");
- } catch (Exception e2){
- }
- continue;
- }
- List<TaskWrk> taskWrkList = new ArrayList<>();
- List<Integer> staList = new ArrayList<>();
- for (RgvSlave.RgvStn inSta : rgvSlave.getRgvInSta()) {
- TaskWrk taskWrk = deviceDetection(inSta);
- if (taskWrk != null) {
- if (taskWrk.getWrkNo().toString().equals(taskNoNow)) continue;
- taskWrkList.add(taskWrk);
- staList.add(inSta.getStaNo());
- }
- }
-
- if (taskWrkList.isEmpty() || staList.isEmpty()) continue;
-
- boolean sign = false;
-
- if (!sign){
- //鍙敤鍖哄煙灏辫繎鍙栬揣
- //灏辫繎鎺掑簭
- RgvProtocol rgvProtocol = RgvStatusCache.getRgvStatus(rgvSlave.getId());
- List<Integer> rangeList = RouteUtils.SortNearby(staList, rgvProtocol.RgvPos, basDevpPositions);
- // 鍗婅竟鍖哄煙鍐呭彇璐т换鍔�
- for (Integer staNoNow : rangeList) {
- for (RgvSlave.RgvStn rgvStn : rgvSlave.getRgvInSta()) {
- if (rgvStn.getStaNo().equals(staNoNow)) {
- TaskWrk taskWrk = deviceDetection(rgvStn);
- if (taskWrk != null) {
- Integer outStaNo = BarcodeUtils.getOutStaNo(taskWrk.getOriginTargetPoint());
- for (RgvSlave.RgvStn rgvStnOut : rgvSlave.getRgvOutSta()) {
- if (rgvStnOut.getStaNo().equals(outStaNo)) {
- sign = taskGenerate(rgvSlave, rgvStn, 0);
- break;
- }
- }
- }
- break;
- }
- }
- if (sign) {
- break;
- }
- }
- }
- }
- } catch (Exception e) {
- log.error("浠诲姟鐢熸垚澶辫触===銆嬪紓甯镐俊鎭細{}", e.getMessage());
- try{
- DeviceErrorService deviceErrorService = SpringUtils.getBean(DeviceErrorService.class);
- deviceErrorService.addDeviceError("rgvErr", rgvSlave.getId(), "鎸囦护鐢熸垚澶辫触");
- } catch (Exception e2){
- }
- }
- }
- }
/**
* 鎵ц瀵瑰伐浣滄。鐨勫畬鎴愭搷浣�
@@ -3299,13 +3217,6 @@
if (crnProtocol == null) {
continue;
}
-
- BasCrnp basCrnp = basCrnpService.selectById(crnSlave.getId());
- if (basCrnp == null) {
- log.error("{}鍙峰爢鍨涙満灏氭湭鍦ㄦ暟鎹簱杩涜缁存姢锛�", crnSlave.getId());
- continue;
- }
-
CrnSlave crn = new CrnSlave(crnSlave);
if (Cools.isEmpty(crnProtocol.getLaneNo()) || crnProtocol.getLaneNo()==0){
@@ -3324,49 +3235,102 @@
// 鐘舵�侊細绛夊緟纭 骞朵笖 浠诲姟瀹屾垚浣� = 1
if (crnProtocol.statusType == CrnStatusType.WAITING && crnProtocol.getTaskNo() != 0) {
//鑾峰彇鍏ュ簱寰呯‘璁ゅ伐浣滄。
- TaskWrk taskWrk = taskWrkMapper.selectCrnNoInWorkingDemo(crnProtocol.getLaneNo(), crnProtocol.getTaskNo().intValue());
+ TaskWrk taskWrk = taskWrkMapper.selectCrnNoInWorking(crnProtocol.getLaneNo(), crnProtocol.getTaskNo().intValue());
if (Cools.isEmpty(taskWrk) && crnProtocol.getTaskNo() != 999) {
log.error("鍫嗗灈鏈哄浜庣瓑寰呯‘璁や笖浠诲姟瀹屾垚鐘舵�侊紝浣嗘湭鎵惧埌宸ヤ綔妗c�傚爢鍨涙満鍙�={}锛屽贩閬撳彿={}锛屽伐浣滃彿={}", crn.getId(), crnProtocol.getLaneNo(), crnProtocol.getTaskNo());
continue;
}
-
+// Thread.sleep(300);
+ //纭瀹屾垚淇″彿
+// CrnOperatorParam crnOperatorParam = new CrnOperatorParam();
+// crnOperatorParam.setCrnNo(crn.getId());
Date now = new Date();
+// crnController.crnTaskComplete(crnOperatorParam);
+// MessageQueue.offer(SlaveType.Crn, crn.getId(), new Task(2, command))
crnThread.setResetFlag(true);
if (!Cools.isEmpty(taskWrk)) {
- if (taskWrk.getIoType() == 4 && taskWrk.getWrkSts() == 3) {
- taskWrk.setWrkSts(11);//鍏ュ簱瀹屾垚
- taskWrk.setStatus(TaskStatusType.RECEIVE.id);//鎺ユ敹
- if (Cools.isEmpty(basCrnp.getHpMk()) || !basCrnp.getHpMk().equals("Y")) {
- taskWrk.setWrkSts(4);
- taskWrk.setStatus(TaskStatusType.OVER.id);
- }
+ if (taskWrk.getIoType() == 1 && taskWrk.getWrkSts() == 3) {
+ taskWrk.setWrkSts(4);//鍏ュ簱瀹屾垚
+ taskWrk.setStatus(TaskStatusType.OVER.id);//瀹岀粨
//鏇存柊搴撲綅鐘舵��
LocMast locMast = locMastService.selectByLocNo(taskWrk.getTargetPoint());
- locMast.setLocSts("R");//F.鍦ㄥ簱
- if (Cools.isEmpty(basCrnp.getHpMk()) || !basCrnp.getHpMk().equals("Y")) {
- locMast.setLocSts("F");//F.鍦ㄥ簱
- }
+ locMast.setLocSts("F");//F.鍦ㄥ簱
locMast.setBarcode(taskWrk.getBarcode());//鎵樼洏鐮�
locMast.setModiTime(now);
locMast.setModiUser(9999L);
locMastService.updateById(locMast);
- } else if (taskWrk.getIoType() == 4 && taskWrk.getWrkSts() == 12) {
+ } else if (taskWrk.getIoType() == 2 && taskWrk.getWrkSts() == 12) {
taskWrk.setWrkSts(13);//鍑哄簱瀹屾垚
- taskWrk.setStatus(TaskStatusType.RECEIVE.id);//鎺ユ敹
+ taskWrk.setStatus(TaskStatusType.OVER.id);//瀹岀粨
//鏇存柊搴撲綅鐘舵��
LocMast locMast = locMastService.selectByLocNo(taskWrk.getStartPoint());
- locMast.setLocSts("S");//O.绌哄簱浣�
+ locMast.setLocSts("O");//O.绌哄簱浣�
+ locMast.setBarcode("");//鎵樼洏鐮�
+ locMast.setModiTime(now);
+ locMast.setModiUser(9999L);
+ locMastService.updateById(locMast);
+ } else if (taskWrk.getIoType() == 3 && taskWrk.getWrkSts() == 12) {
+ taskWrk.setWrkSts(4);//鍏ュ簱瀹屾垚
+ taskWrk.setStatus(TaskStatusType.OVER.id);//瀹岀粨
+ //鏇存柊搴撲綅鐘舵��
+ LocMast locMast = locMastService.selectByLocNo(taskWrk.getTargetPoint());
+ locMast.setLocSts("F");//F.鍦ㄥ簱
locMast.setBarcode(taskWrk.getBarcode());//鎵樼洏鐮�
locMast.setModiTime(now);
locMast.setModiUser(9999L);
locMastService.updateById(locMast);
+
+ LocMast locMast1 = locMastService.selectByLocNo(taskWrk.getStartPoint());
+ locMast1.setLocSts("O");//O.绌哄簱浣�
+ locMast1.setBarcode("");//鎵樼洏鐮�
+ locMast1.setModiTime(now);
+ locMast1.setModiUser(9999L);
+ locMastService.updateById(locMast1);
}
taskWrk.setModiTime(now);
taskWrk.setCompleteTime(now);
taskWrkService.updateById(taskWrk);
+
+// try {
+// HashMap<String, Object> headParam = new HashMap<>();
+// headParam.put("taskNo",taskWrk.getTaskNo());
+// headParam.put("taskStatus",taskWrk.getStatusWms());
+// headParam.put("ioType",taskWrk.getIoTypeWms());
+// headParam.put("barCode",taskWrk.getBarcode());
+// headParam.put("reportTime", LocalDateTime.now());
+// headParam.put("weight",taskWrk.getScWeight().doubleValue());
+//
+// String response;
+// log.error("wcs瀹岀粨浠诲姟涓婃姤wms==銆�", headParam);
+//
+// response = new HttpHandler.Builder()
+// // .setHeaders(headParam)
+// .setUri(wmsUrl)
+// .setPath(taskStatusFeedbackPath)
+// .setJson(JSON.toJSONString(headParam))
+// .build()
+// .doPost();
+// log.error("wcs瀹岀粨浠诲姟涓婃姤wms==銆�", response);
+//
+//// JSONObject jsonObject = JSON.parseObject(response);
+//// log.error("wcs瀹岀粨浠诲姟涓婃姤wms==銆�", jsonObject);
+//
+// apiLogService.save("wcs娲惧彂鍏ュ簱浠诲姟涓婃姤wms"
+// , wmsUrl + taskStatusFeedbackPath
+// , null
+// , "127.0.0.1"
+// , JSON.toJSONString(headParam)
+// , response
+// , true
+// );
+// } catch (Exception e) {
+// log.error("wcs瀹岀粨浠诲姟涓婃姤wms澶辫触", taskWrk);
+// log.error("wcs瀹岀粨浠诲姟涓婃姤wms澶辫触,鎶ラ敊淇℃伅锛�", e);
+//// throw new CoolException("wcs娲惧彂鍏ュ簱浠诲姟涓婃姤wms澶辫触");
+// }
}
}
diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java
index 15990c7..fd7e5fd 100644
--- a/src/main/java/com/zy/core/MainProcess.java
+++ b/src/main/java/com/zy/core/MainProcess.java
@@ -122,8 +122,6 @@
mainService.crnIoExecuteDemo();
// 鍏ュ簱 ===>> 鎵ц瀵瑰伐浣滄。鐨勫畬鎴愭搷浣�
mainService.storeFinishedDemo();
- // 浠诲姟涓嬪彂
- mainService.taskStartDemo();
} catch (Exception e) {
e.printStackTrace();
}
@@ -138,23 +136,28 @@
// 绯荤粺婕旂ず妯″紡杩愯鐘舵�佸彉鍖�
if (SystemProperties.WCS_RUNNING_STATUS_DEMO.get()) {
if (SystemProperties.WCS_RUNNING_STATUS_DEMO_VALUE == 2) {
- boolean signHpMk = mainService.crnStnDEMOStop2();
- if (signHpMk) {
+ int signHpMk = mainService.crnStnDEMOStop2();
+ if (signHpMk != 2) {
SystemProperties.WCS_RUNNING_STATUS_DEMO_VALUE = 3;
}
} else if (SystemProperties.WCS_RUNNING_STATUS_DEMO_VALUE == 3) {
boolean signHpMk = mainService.crnStnDEMOStop3();
- if (signHpMk) {
+ int signHpMk2 = mainService.crnStnDEMOStop2();
+ if (signHpMk && signHpMk2==0) {
SystemProperties.WCS_RUNNING_STATUS_DEMO.set(false);
SystemProperties.WCS_RUNNING_STATUS_DEMO_VALUE = 0;
+ } else if (!signHpMk && signHpMk2==2) {
+ SystemProperties.WCS_RUNNING_STATUS_DEMO_VALUE = 2;
}
}
} else {
if (SystemProperties.WCS_RUNNING_STATUS_DEMO_VALUE == 1) {
- boolean signHpMk = mainService.crnStnDEMOOpen1();
- if (signHpMk) {
+ int signHpMk = mainService.crnStnDEMOOpen1();
+ if (signHpMk == 2) {
SystemProperties.WCS_RUNNING_STATUS_DEMO.set(true);
SystemProperties.WCS_RUNNING_STATUS_DEMO_VALUE = 2;
+ } else if (signHpMk == 1) {
+ SystemProperties.WCS_RUNNING_STATUS_DEMO_VALUE = 1;
} else {
SystemProperties.WCS_RUNNING_STATUS_DEMO_VALUE = 0;
}
diff --git a/src/main/java/com/zy/core/model/protocol/CrnProtocol.java b/src/main/java/com/zy/core/model/protocol/CrnProtocol.java
index 28b5150..0c1b017 100644
--- a/src/main/java/com/zy/core/model/protocol/CrnProtocol.java
+++ b/src/main/java/com/zy/core/model/protocol/CrnProtocol.java
@@ -203,6 +203,8 @@
public Integer locMastDemoCount;//娴嬭瘯搴撲綅鏁伴噺
+ public ArrayList<String> locMastDemoListF;//娴嬭瘯搴撲綅鍒楄〃
+ public ArrayList<String> locMastDemoListE;//娴嬭瘯搴撲綅鍒楄〃
public ArrayList<String> locMastDemoList;//娴嬭瘯搴撲綅鍒楄〃
public Integer staOutDemo;//娴嬭瘯搴撲綅鍑哄簱绔�
public Integer staIntDemo;//娴嬭瘯搴撲綅鍏ュ簱绔�
diff --git a/src/main/webapp/views/deviceOperate/crnOperate.html b/src/main/webapp/views/deviceOperate/crnOperate.html
index 16af503..db36439 100644
--- a/src/main/webapp/views/deviceOperate/crnOperate.html
+++ b/src/main/webapp/views/deviceOperate/crnOperate.html
@@ -78,8 +78,11 @@
<el-form-item label="娴嬭瘯搴撲綅鏁伴噺">
<el-input v-model="formParam.locMastDemoCount" placeholder="娴嬭瘯搴撲綅鏁伴噺"></el-input>
</el-form-item>
- <el-form-item label="娴嬭瘯搴撲綅">
- <el-input v-model="formParam.locMastDemo" placeholder="娴嬭瘯搴撲綅 鍒嗛殧绗�;"></el-input>
+ <el-form-item label="鍘熷鍑哄簱搴撲綅">
+ <el-input v-model="formParam.locMastDemoF" placeholder="鍘熷鏈夌墿搴撲綅"></el-input>
+ </el-form-item>
+ <el-form-item label="鍘熷绌哄簱浣�">
+ <el-input v-model="formParam.locMastDemoE" placeholder="鍘熷鏈夌墿搴撲綅"></el-input>
</el-form-item>
<el-form-item label="鍫嗗灈鏈烘斁璐х珯鐐�">
<el-input v-model="formParam.staOutDemo" placeholder="鍫嗗灈鏈烘斁璐х珯鐐�"></el-input>
@@ -220,7 +223,8 @@
sourceLev: 1,
staNo: null,
locMastDemoCount: 3,
- locMastDemo: null,
+ locMastDemoF: null,
+ locMastDemoE: null,
staOutDemo: null,
staIntDemo: null,
row: 1,
@@ -352,7 +356,8 @@
hpMk: this.hpMkDemo ? "Y" : "N",
staOutDemo: this.formParam.staOutDemo,
staIntDemo: this.formParam.staIntDemo,
- locMastDemo: this.formParam.locMastDemo,
+ locMastDemoF: this.formParam.locMastDemoF,
+ locMastDemoE: this.formParam.locMastDemoE,
locMastDemoCount: this.formParam.locMastDemoCount,
crnNo: this.formParam.crnNo
}
--
Gitblit v1.9.1