From 3ba44e1a566074a38779c918da391b5c6264a381 Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期一, 03 十一月 2025 18:28:58 +0800
Subject: [PATCH] *
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 159 ++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 146 insertions(+), 13 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 0462563..a7a1d9c 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -11,6 +11,7 @@
import com.zy.asrs.domain.enums.WorkNoType;
import com.zy.asrs.domain.param.CrnOperatorParam;
import com.zy.asrs.entity.*;
+import com.zy.asrs.entity.param.TaskCreateParam;
import com.zy.asrs.mapper.*;
import com.zy.asrs.service.*;
import com.zy.asrs.utils.*;
@@ -81,6 +82,8 @@
private CrnController crnController;
@Autowired
private BasDevpPositionService basDevpPositionService;
+ @Autowired
+ private OpenService openService;
@Value("${wms.url}")
private String wmsUrl;
@@ -670,6 +673,7 @@
CrnSlave crnSlave = new CrnSlave(crn);
if (Cools.isEmpty(crnProtocol.getLaneNo()) || crnProtocol.getLaneNo()==0){
+ CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "鍫嗗灈鏈哄贩閬撳彿寮傚父锛�");
continue;
}
@@ -761,19 +765,25 @@
if (!taskWrks.isEmpty()) {
continue;
}
- List<TaskWrkLog> taskWrkLogs = taskWrkLogService.selectList(new EntityWrapper<TaskWrkLog>().eq("CRN_NO",crnProtocol.getLaneNo()).orderBy("COMPLETE_TIME",true));
+ List<TaskWrkLog> taskWrkLogs = taskWrkLogService.selectList(new EntityWrapper<TaskWrkLog>().eq("CRN_NO",crnProtocol.getLaneNo()).orderBy("COMPLETE_TIME",false));
if (!taskWrkLogs.isEmpty()) {
- TaskWrkLog taskWrkLog = taskWrkLogs.get(0);
- Date completeTime = taskWrkLog.getCompleteTime();
- if (completeTime==null){
- completeTime = taskWrkLog.getCancelTime();
+ boolean signT = false;
+ for (TaskWrkLog taskWrkLog : taskWrkLogs){
+ Date completeTime = taskWrkLog.getCompleteTime();
if (completeTime==null){
- completeTime = taskWrkLog.getModiTime();
+ continue;
+ }
+ long differenceInSeconds = TimeCalculatorUtils.differenceInMilliseconds(completeTime, new Date());
+ if (differenceInSeconds <= 60*2*1000) {
+ signT = true;
+ break;
+ } else {
+ signT = false;
+ break;
}
}
- long differenceInSeconds = TimeCalculatorUtils.differenceInMilliseconds(completeTime, new Date());
- if (differenceInSeconds <= 60*10*1000) {
- return;
+ if (signT){
+ continue;
}
}
// 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
@@ -783,10 +793,10 @@
crnCommand.setTaskNo((short)999); // 宸ヤ綔鍙�
crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣�
crnCommand.setTaskMode(CrnTaskModeType.SITE_MOVE); // 浠诲姟妯″紡: 绔欎綅绉昏浆4
- crnCommand.setSourcePosX((short) 0); // 婧愬簱浣嶆帓
- crnCommand.setSourcePosY(crnProtocol.getBay()); // 婧愬簱浣嶅垪
- crnCommand.setSourcePosZ(crnProtocol.getLevel()); // 婧愬簱浣嶅眰
int row = crnProtocol.getLaneNo() * 2;
+ crnCommand.setSourcePosX((short) row); // 婧愬簱浣嶆帓
+ crnCommand.setSourcePosY((short) 1); // 婧愬簱浣嶅垪
+ crnCommand.setSourcePosZ((short) 1); // 婧愬簱浣嶅眰
crnCommand.setDestinationPosX((short) row); // 鐩爣搴撲綅鎺�
crnCommand.setDestinationPosY((short) 1); // 鐩爣搴撲綅灞�
crnCommand.setDestinationPosZ((short) 1); // 鐩爣搴撲綅鍒�
@@ -809,7 +819,7 @@
}
}
} catch (Exception e){
- log.error("鍫嗗灈鏈�5鍒嗛挓鏃犱换鍔″垯鍥炲埌婧愮偣澶辫触");
+ log.error("鍫嗗灈鏈�10鍒嗛挓鏃犱换鍔″垯鍥炲埌婧愮偣澶辫触");
}
}
}
@@ -833,6 +843,7 @@
CrnSlave crn = new CrnSlave(crnSlave);
if (Cools.isEmpty(crnProtocol.getLaneNo()) || crnProtocol.getLaneNo()==0){
+ CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "鍫嗗灈鏈哄贩閬撳彿寮傚父锛�");
continue;
}
@@ -1341,6 +1352,7 @@
CrnSlave crn = new CrnSlave(crnSlave);
if (Cools.isEmpty(crnProtocol.getLaneNo()) || crnProtocol.getLaneNo()==0){
+ CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "鍫嗗灈鏈哄贩閬撳彿寮傚父锛�");
continue;
}
@@ -2671,4 +2683,125 @@
}
+
+ /**
+ * 鍫嗗灈鏈虹珯鍑哄簱鍒板嚭搴撶珯
+ */
+ public boolean crnStnDEMOStop2() {
+ int signHpMk = 0;
+ for (CrnSlave crn : slaveProperties.getCrn()) {
+
+ // 鑾峰彇鍫嗗灈鏈轰俊鎭�
+ 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")){
+ signHpMk++;
+ }
+ }
+ if (signHpMk == slaveProperties.getCrn().size()){
+ return true;
+ }
+ return false;
+ }
+
+
+
+ /**
+ * 鍫嗗灈鏈虹珯鍑哄簱鍒板嚭搴撶珯
+ */
+ public boolean crnStnDEMOStop3() {
+ int selectCount = taskWrkService.selectCount(new EntityWrapper<TaskWrk>().eq("io_type",4));
+ if (selectCount>0) {
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * 婕旂ず妯″紡鍚姩
+ */
+ public boolean crnStnDEMOOpen0() {
+ for (CrnSlave crn : slaveProperties.getCrn()) {
+
+ // 鑾峰彇鍫嗗灈鏈轰俊鎭�
+ 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")){
+ continue;
+ }
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * 婕旂ず妯″紡鍚姩
+ */
+ public boolean crnStnDEMOOpen1() {
+ int selectCount = taskWrkService.selectCount(new EntityWrapper<TaskWrk>());
+ if (selectCount>0) {
+ return false;
+ }
+ for (CrnSlave crn : slaveProperties.getCrn()) {
+
+ // 鑾峰彇鍫嗗灈鏈轰俊鎭�
+ 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);
+ openService.taskCreate(taskCreateParam);
+ }
+
+ return true;
+ }
+ return false;
+ }
+
+
}
--
Gitblit v1.9.1