From 92c572e50893a93a810bbe6adb6d3cdbfc225073 Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期二, 20 五月 2025 14:17:33 +0800
Subject: [PATCH] *
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 67 ++++++++++++++++++++++++---------
1 files changed, 48 insertions(+), 19 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 df46146..15ba433 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -31,6 +31,7 @@
import com.zy.core.thread.RgvThread;
import com.zy.core.thread.SiemensDevpThread;
import lombok.extern.slf4j.Slf4j;
+import org.apache.poi.ss.formula.functions.T;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
@@ -114,17 +115,24 @@
// 鑾峰彇鍏ュ簱绔欎俊鎭�
DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
StaProtocol staProtocol = devpThread.getStation().get(inSta.getStaNo());
- if (staProtocol == null) {
+ if (staProtocol == null || !staProtocol.isLoading()) {
continue;
} else {
staProtocol = staProtocol.clone();
}
Integer workNo = staProtocol.getWorkNo();
+ if (workNo!=9998){
+ continue;
+ }
Integer stano = staProtocol.getStaNo();
// 灏哄妫�娴嬪紓甯�
boolean back = false;
String errMsg = "";
+ if (staProtocol.getGrossWt()>=600){
+ errMsg = "瓒呴噸";
+ back = true;
+ }
if (staProtocol.isFrontErr()) {
errMsg = "鍓嶈秴闄�";
back = true;
@@ -164,9 +172,10 @@
if (!staProtocol.isPakMk()) {
continue;
}
+ System.out.println("鎵爜鍏ュ簱澶辫触锛寋"+inSta.getStaNo()+"}鍏ュ簱绔欏洜{"+errMsg+"}寮傚父锛屾墭鐩樺凡琚��鍥�");
// News.warn("鎵爜鍏ュ簱澶辫触锛寋}鍏ュ簱绔欏洜{}寮傚父锛屾墭鐩樺凡琚��鍥�", inSta.getStaNo(), errMsg);
- staProtocol.setWorkNo(workNo);
- staProtocol.setStaNo(inSta.getStaNo());
+ staProtocol.setWorkNo(9999);
+ staProtocol.setStaNo(inSta.getBackSta());
devpThread.setPakMk(staProtocol.getSiteId(), false);
MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
TaskWrk taskWrk = taskWrkMapper.selectByWrkNo(Integer.valueOf(workNo));
@@ -180,7 +189,7 @@
// 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢
if (staProtocol.isAutoing() && staProtocol.isLoading()
&& staProtocol.isInEnable()
- && !staProtocol.isEmptyMk() && (workNo == 0 || (workNo>9000 && workNo<10000))
+ && workNo == 9998
&& staProtocol.isPakMk()
&& staProtocol.isPakMkWalk()
) {
@@ -205,7 +214,7 @@
return;
} else {
staProtocol.setWorkNo(taskWrk1.getWrkNo());
- staProtocol.setStaNo(staDesc.getCrnStn());
+ staProtocol.setStaNo(staProtocol.getSiteId());
MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
}
}
@@ -238,7 +247,7 @@
log.error("鎵爜妫�娴嬬▼搴忓紓甯�" + inSta.getStaNo() + "寮傚父淇℃伅" + e1);
}
staProtocol.setWorkNo(9999);
- staProtocol.setStaNo(inSta.getStaNo());
+ staProtocol.setStaNo(inSta.getBackSta());
devpThread.setPakMk(staProtocol.getSiteId(), false);
MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
continue;
@@ -264,7 +273,7 @@
log.error("鎵爜妫�娴嬬▼搴忓紓甯�,寮傚父淇℃伅" + e);
staProtocol.setWorkNo(9999);
- staProtocol.setStaNo(inSta.getStaNo());
+ staProtocol.setStaNo(inSta.getBackSta());
devpThread.setPakMk(staProtocol.getSiteId(), false);
MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
}
@@ -275,7 +284,7 @@
log.error("鎵爜鍏ュ簱澶辫触锛寋}鍏ュ簱绔欏洜{}寮傚父锛屾墭鐩樺凡琚��鍥�", inSta.getStaNo(), errMsg);
staProtocol.setWorkNo(9999);
- staProtocol.setStaNo(inSta.getStaNo());
+ staProtocol.setStaNo(inSta.getBackSta());
devpThread.setPakMk(staProtocol.getSiteId(), false);
MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
TaskWrk taskWrk = taskWrkMapper.selectByWrkNo(Integer.valueOf(workNo));
@@ -305,12 +314,15 @@
// 鑾峰彇鍏ュ簱绔欎俊鎭�
DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
StaProtocol staProtocol = devpThread.getStation().get(inSta.getStaNo());
- if (staProtocol == null) {
+ if (staProtocol == null || !staProtocol.isLoading()) {
continue;
} else {
staProtocol = staProtocol.clone();
}
Integer workNo = staProtocol.getWorkNo();
+ if (workNo!=9997){
+ continue;
+ }
Integer stano = staProtocol.getStaNo();
// 灏哄妫�娴嬪紓甯�
@@ -351,8 +363,9 @@
if (!staProtocol.isPakMk()) {
continue;
}
+ System.out.println("鎵爜鍏ュ簱澶辫触锛寋"+inSta.getStaNo()+"}鍏ュ簱绔欏洜{"+errMsg+"}寮傚父锛屾墭鐩樺凡琚��鍥�");
// News.warn("鎵爜鍏ュ簱澶辫触锛寋}鍏ュ簱绔欏洜{}寮傚父锛屾墭鐩樺凡琚��鍥�", inSta.getStaNo(), errMsg);
- staProtocol.setWorkNo(workNo);
+ staProtocol.setWorkNo(9999);
staProtocol.setStaNo(inSta.getStaNo());
devpThread.setPakMk(staProtocol.getSiteId(), false);
MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
@@ -367,7 +380,7 @@
// 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢
if (staProtocol.isAutoing() && staProtocol.isLoading()
&& staProtocol.isInEnable()
- && staProtocol.isEmptyMk() && (workNo == 0 || (workNo>9000 && workNo<10000))
+ && (workNo == 9997)
&& staProtocol.isPakMk()
&& staProtocol.isPakMkWalk()
) {
@@ -401,7 +414,7 @@
log.error("鎵爜妫�娴嬬▼搴忓紓甯�" + inSta.getStaNo() + "寮傚父淇℃伅" + e1);
}
staProtocol.setWorkNo(9999);
- staProtocol.setStaNo(inSta.getStaNo());
+ staProtocol.setStaNo(inSta.getBackSta());
devpThread.setPakMk(staProtocol.getSiteId(), false);
MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
continue;
@@ -428,7 +441,7 @@
log.error("鎵爜妫�娴嬬▼搴忓紓甯�,寮傚父淇℃伅" + e);
staProtocol.setWorkNo(9999);
- staProtocol.setStaNo(inSta.getStaNo());
+ staProtocol.setStaNo(inSta.getBackSta());
devpThread.setPakMk(staProtocol.getSiteId(), false);
MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
}
@@ -621,7 +634,7 @@
if (offer) {
log.info("涓嬪彂杈撻�佺嚎浠诲姟鎴愬姛锛歵askWrk:" + JSON.toJSONString(taskWrk));
Date now = new Date();
- taskWrk.setStatus(9);
+ taskWrk.setStatus(TaskStatusType.OVER3.id);
taskWrk.setWrkSts(14);
taskWrk.setModiTime(now);
taskWrk.setCompleteTime(now);
@@ -924,7 +937,7 @@
// 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓�
Date now = new Date();
taskWrk.setWrkSts(12);
- taskWrk.setStatus(2);
+ taskWrk.setStatus(TaskStatusType.DISTRIBUTE.id);
taskWrk.setModiTime(now);
taskWrk.setExecuteTime(now);
if (taskWrkMapper.updateById(taskWrk) == 0) {
@@ -1035,7 +1048,7 @@
// 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓�
Date now = new Date();
taskWrk.setWrkSts(12);
- taskWrk.setStatus(2);
+ taskWrk.setStatus(TaskStatusType.DISTRIBUTE.id);
taskWrk.setModiTime(now);
taskWrk.setExecuteTime(now);
if (taskWrkMapper.updateById(taskWrk) == 0) {
@@ -1119,7 +1132,7 @@
if (!Cools.isEmpty(taskWrk)) {
if (taskWrk.getIoType() == 1 && taskWrk.getWrkSts() == 3) {
taskWrk.setWrkSts(4);//鍏ュ簱瀹屾垚
- taskWrk.setStatus(5);//瀹岀粨
+ taskWrk.setStatus(TaskStatusType.OVER.id);//瀹岀粨
//鏇存柊搴撲綅鐘舵��
LocMast locMast = locMastService.selectByLocNo(taskWrk.getTargetPoint());
locMast.setLocSts("F");//F.鍦ㄥ簱
@@ -1129,7 +1142,7 @@
locMastService.updateById(locMast);
} else if (taskWrk.getIoType() == 2 && taskWrk.getWrkSts() == 12) {
taskWrk.setWrkSts(13);//鍑哄簱瀹屾垚
- taskWrk.setStatus(5);//瀹岀粨
+ taskWrk.setStatus(TaskStatusType.OVER.id);//瀹岀粨
//鏇存柊搴撲綅鐘舵��
LocMast locMast = locMastService.selectByLocNo(taskWrk.getStartPoint());
locMast.setLocSts("O");//O.绌哄簱浣�
@@ -1139,7 +1152,7 @@
locMastService.updateById(locMast);
} else if (taskWrk.getIoType() == 3 && taskWrk.getWrkSts() == 12) {
taskWrk.setWrkSts(4);//鍏ュ簱瀹屾垚
- taskWrk.setStatus(5);//瀹岀粨
+ taskWrk.setStatus(TaskStatusType.OVER.id);//瀹岀粨
//鏇存柊搴撲綅鐘舵��
LocMast locMast = locMastService.selectByLocNo(taskWrk.getTargetPoint());
locMast.setLocSts("F");//F.鍦ㄥ簱
@@ -1734,6 +1747,8 @@
//鎵ц
issuedTake.setTaskNo(Long.valueOf(taskWrk.getWrkNo()));
issuedTake.setTaskStatus(2);
+ issuedTake.setTargetPositionStaNo(basDevpPositionSou.getDevNo());
+ issuedTake.setTargetPositionStaNoPlcId(basDevpPositionSou.getPlcId());
issuedTake.setTaskNoDirection(issuedTake.gettaskNoDirection$(issuedTake.getTaskNo(), issuedTake.getTaskStatus()));
issuedTake.setTargetPosition(basDevpPositionSou.getPlcPosition());
issuedTake.setIsRunning(1);
@@ -1742,10 +1757,24 @@
issuedPut.setTaskNo(Long.valueOf(taskWrk.getWrkNo()));
issuedPut.setTaskStatus(3);
+ issuedPut.setTargetPositionStaNo(basDevpPositionEnd.getDevNo());
+ issuedPut.setTargetPositionStaNoPlcId(basDevpPositionEnd.getPlcId());
issuedPut.setTaskNoDirection(issuedPut.gettaskNoDirection$(issuedPut.getTaskNo(), issuedPut.getTaskStatus()));
issuedPut.setTargetPosition(basDevpPositionEnd.getPlcPosition());
issuedPut.setIsRunning(1);
issuedPut.setDirection(basDevpPositionEnd.getRgvSign()==1);
+
+ try{
+ if (taskWrk.getIoType()==2 && basDevpPositionEnd.getRgvSign()==1){
+ Date now = new Date();
+ taskWrk.setStatus(TaskStatusType.OVER.id);
+ taskWrk.setModiTime(now);//鏇存柊鏃堕棿
+ taskWrk.setCompleteTime(now);//瀹岀粨鏃堕棿
+ taskWrkService.updateById(taskWrk);
+ }
+ } catch (Exception e){
+
+ }
} catch (Exception e) {
log.error("浠诲姟鐢熸垚澶辫触issued1===銆嬪紓甯镐俊鎭細{}", e.getMessage());
return false;
--
Gitblit v1.9.1