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/entity/TaskWrk.java | 17 +---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 127 +++++++++++++++++++++++++++++++
src/main/java/com/zy/asrs/entity/param/TaskCreateParam.java | 16 ++++
src/main/java/com/zy/asrs/entity/BasCrnp.java | 2
src/main/java/com/zy/core/MainProcess.java | 40 ++++++---
src/main/java/com/zy/core/properties/SystemProperties.java | 2
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 8 ++
src/main/java/com/zy/core/model/protocol/CrnProtocol.java | 6 +
8 files changed, 189 insertions(+), 29 deletions(-)
diff --git a/src/main/java/com/zy/asrs/entity/BasCrnp.java b/src/main/java/com/zy/asrs/entity/BasCrnp.java
index 5db8cd9..ff211db 100644
--- a/src/main/java/com/zy/asrs/entity/BasCrnp.java
+++ b/src/main/java/com/zy/asrs/entity/BasCrnp.java
@@ -119,7 +119,7 @@
@TableField("MODI_TIME")
private Date modiTime;
- @ApiModelProperty(value= "")
+ @ApiModelProperty(value= "婕旂ず")
@TableField("HP_MK")
private String hpMk;
diff --git a/src/main/java/com/zy/asrs/entity/TaskWrk.java b/src/main/java/com/zy/asrs/entity/TaskWrk.java
index d4eba75..4ee5736 100644
--- a/src/main/java/com/zy/asrs/entity/TaskWrk.java
+++ b/src/main/java/com/zy/asrs/entity/TaskWrk.java
@@ -72,7 +72,7 @@
/**
* 浠诲姟绫诲瀷
*/
- @ApiModelProperty(value= "浠诲姟绫诲瀷")
+ @ApiModelProperty(value= "浠诲姟绫诲瀷") // 1: 鍏ュ簱 2: 鍑哄簱 3: 绉诲簱 4:婕旂ず
@TableField("IO_TYPE")
private Integer ioType;
@@ -257,6 +257,8 @@
return "鎵嬪姩瀹岀粨";
case 9:
return "鍑哄簱鍒拌緭閫佺嚎";
+ case 99:
+ return "婕旂ず";
default:
return String.valueOf(this.status);
}
@@ -356,17 +358,6 @@
return Math.abs(day) + "澶�" + Math.abs(hour) + "灏忔椂" + Math.abs(min) + "鍒�" + Math.abs(s) + "绉�";
}
-
-
- public Integer getTargetPointConvert(){
- switch (originTargetPoint){
- case "11":
- return 11;
- default:
- return null;
- }
- }
-
public Integer getIoTypeWms(){
switch (ioType){
case 2:
@@ -375,6 +366,8 @@
return 2;
case 1:
return 3;
+ case 4:
+ return 4;
default:
return 0;
}
diff --git a/src/main/java/com/zy/asrs/entity/param/TaskCreateParam.java b/src/main/java/com/zy/asrs/entity/param/TaskCreateParam.java
index a4b21a8..6f8bc99 100644
--- a/src/main/java/com/zy/asrs/entity/param/TaskCreateParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/TaskCreateParam.java
@@ -1,5 +1,7 @@
package com.zy.asrs.entity.param;
+import com.zy.asrs.entity.LocMast;
+import com.zy.core.model.CrnSlave;
import io.swagger.models.auth.In;
import lombok.Data;
@@ -92,6 +94,20 @@
this.targetPointSta = crnSta;
};
+ public TaskCreateParam(CrnSlave crnSlave, LocMast locMast){
+ this.taskNo = locMast.getLocNo() + "-" + crnSlave.getId();
+ this.ioType = 4;
+ this.barcode = locMast.getBarcode();
+ this.taskPriority = 1;
+ this.startPoint = locMast.getLocNo();
+ this.startPointSta = crnSlave.getCrnOutStn().get(0).getStaNo();
+ this.targetPoint = locMast.getLocNo();
+ this.targetPointSta = crnSlave.getCrnInStn().get(0).getStaNo();
+ this.emptyContainer = "N";
+ this.crn = locMast.getCrnNo();
+ this.memo = "婕旂ず浠诲姟";
+ };
+
public static Integer convertParamIoType(String paramIoType){
switch (paramIoType){
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 c1e8ee8..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;
}
@@ -839,6 +843,7 @@
CrnSlave crn = new CrnSlave(crnSlave);
if (Cools.isEmpty(crnProtocol.getLaneNo()) || crnProtocol.getLaneNo()==0){
+ CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "鍫嗗灈鏈哄贩閬撳彿寮傚父锛�");
continue;
}
@@ -1347,6 +1352,7 @@
CrnSlave crn = new CrnSlave(crnSlave);
if (Cools.isEmpty(crnProtocol.getLaneNo()) || crnProtocol.getLaneNo()==0){
+ CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "鍫嗗灈鏈哄贩閬撳彿寮傚父锛�");
continue;
}
@@ -2677,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;
+ }
+
+
}
diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
index 2fca288..896621a 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -143,6 +143,14 @@
taskWrk.setOriginStartPoint("0");
taskWrk.setOriginTargetPoint("0");
}
+ }else if (param.getIoType() == 4){
+ taskWrk.setWrkSts(11);
+ if (!Cools.isEmpty(param.getStartPoint())) {
+ taskWrk.setStartPoint(param.getStartPoint());//璧风偣
+ taskWrk.setTargetPoint(param.getTargetPoint());//缁堢偣
+ taskWrk.setOriginStartPoint(param.getStartPointSta().toString());
+ taskWrk.setOriginTargetPoint(param.getTargetPointSta().toString());
+ }
}
diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java
index ec52590..aa10235 100644
--- a/src/main/java/com/zy/core/MainProcess.java
+++ b/src/main/java/com/zy/core/MainProcess.java
@@ -134,24 +134,34 @@
// 绯荤粺婕旂ず妯″紡杩愯鐘舵�佸彉鍖�
if (SystemProperties.WCS_RUNNING_STATUS_DEMO.get()) {
if (SystemProperties.WCS_RUNNING_STATUS_DEMO_VALUE == 2){
-
+ boolean signHpMk = mainService.crnStnDEMOStop2();
+ if (signHpMk){
+ SystemProperties.WCS_RUNNING_STATUS_DEMO_VALUE = 3;
+ }
} else if (SystemProperties.WCS_RUNNING_STATUS_DEMO_VALUE == 3){
-
- } else if (SystemProperties.WCS_RUNNING_STATUS_DEMO_VALUE == 0){
-
- } else if (SystemProperties.WCS_RUNNING_STATUS_DEMO_VALUE == 1){
-
+ boolean signHpMk = mainService.crnStnDEMOStop3();
+ if (signHpMk){
+ SystemProperties.WCS_RUNNING_STATUS_DEMO.set(false);
+ SystemProperties.WCS_RUNNING_STATUS_DEMO_VALUE = 0;
+ }
}
} else {
- if (SystemProperties.WCS_RUNNING_STATUS_DEMO_VALUE == 0){
-
- } else if (SystemProperties.WCS_RUNNING_STATUS_DEMO_VALUE == 1){
-
- } else if (SystemProperties.WCS_RUNNING_STATUS_DEMO_VALUE == 2){
-
- } else if (SystemProperties.WCS_RUNNING_STATUS_DEMO_VALUE == 3){
-
- }
+ if (SystemProperties.WCS_RUNNING_STATUS_DEMO_VALUE == 1){
+ boolean signHpMk = mainService.crnStnDEMOOpen1();
+ if (signHpMk){
+ SystemProperties.WCS_RUNNING_STATUS_DEMO.set(true);
+ SystemProperties.WCS_RUNNING_STATUS_DEMO_VALUE = 2;
+ } else {
+ SystemProperties.WCS_RUNNING_STATUS_DEMO_VALUE = 0;
+ }
+ } else {
+ boolean signHpMk = mainService.crnStnDEMOOpen0();
+ if (signHpMk){
+ SystemProperties.WCS_RUNNING_STATUS_DEMO_VALUE = 1;
+ } else {
+ SystemProperties.WCS_RUNNING_STATUS_DEMO_VALUE = 0;
+ }
+ }
}
// 鍏朵粬 ===>> LED鏄剧ず鍣ㄦ樉绀烘椂闂�
} catch (Exception e) {
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 1def4c8..9258620 100644
--- a/src/main/java/com/zy/core/model/protocol/CrnProtocol.java
+++ b/src/main/java/com/zy/core/model/protocol/CrnProtocol.java
@@ -7,6 +7,8 @@
import com.zy.core.enums.CrnStatusType;
import lombok.Data;
+import java.util.ArrayList;
+
/**
* Created by vincent on 2020/8/7
*/
@@ -199,6 +201,10 @@
public Float yDuration;
public String errCrn;
+
+ public String locMastDemoCount;//娴嬭瘯搴撲綅鏁伴噺
+ public ArrayList<String> locMastDemoList;//娴嬭瘯搴撲綅鍒楄〃
+
public void setMode(Short mode) {
this.mode = mode;
this.modeType = CrnModeType.get(mode);
diff --git a/src/main/java/com/zy/core/properties/SystemProperties.java b/src/main/java/com/zy/core/properties/SystemProperties.java
index d85024f..493e0dd 100644
--- a/src/main/java/com/zy/core/properties/SystemProperties.java
+++ b/src/main/java/com/zy/core/properties/SystemProperties.java
@@ -12,7 +12,7 @@
// 绯荤粺杩愯鐘舵��
public static final AtomicBoolean WCS_RUNNING_STATUS = new AtomicBoolean(Boolean.TRUE);
public static final AtomicBoolean WCS_RUNNING_STATUS_DEMO = new AtomicBoolean(Boolean.TRUE);
- public static final Integer WCS_RUNNING_STATUS_DEMO_VALUE = 3; // 0: 鍋滄锛�1锛氳繍琛屽惎鍔ㄤ腑 2锛氳繍琛屼腑 3锛氬仠姝腑
+ public static Integer WCS_RUNNING_STATUS_DEMO_VALUE = 3; // 0: 鍋滄锛�1锛氳繍琛屽惎鍔ㄤ腑 2锛氳繍琛屼腑 3锛氬仠姝腑
public static final String WMS_URL = "localhost";
--
Gitblit v1.9.1