From 7404d352ee7efa5ae82d6bd68a3a876a913159f8 Mon Sep 17 00:00:00 2001
From: 1 <1>
Date: 星期三, 07 一月 2026 00:26:14 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 100 ++++++++++++++++++++++++++++----------------------
1 files changed, 56 insertions(+), 44 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 d059e25..10784d2 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -43,6 +43,8 @@
import com.zy.core.thread.LedThread;
import com.zy.core.thread.RgvThread;
import com.zy.core.thread.SiemensDevpThread;
+import com.zy.system.entity.Config;
+import com.zy.system.service.ConfigService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
@@ -77,6 +79,8 @@
private WaitPakinMapper waitPakinMapper;
@Autowired
private LocMastService locMastService;
+ @Autowired
+ private ConfigService configService;
@Autowired
private StaDescService staDescService;
@Autowired
@@ -1180,7 +1184,7 @@
//mark - 3 - ....
this.locToLoc(crn, crnProtocol,mark);
//棰勮皟搴�
- this.crnRebackHp(crn, crnProtocol, crnThread);
+// this.crnRebackHp(crn, crnProtocol, crnThread);
}
// News.infoNoLog(""+mark+" - 0"+" - 鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂鎵ц瀹屾垚");
@@ -1198,9 +1202,7 @@
new EntityWrapper<BasCrnp>().eq("crn_no", crnProtocol.getCrnNo())
);
boolean result = true;
- if(crnProtocol.getCrnNo() != 5 ){
- return;
- }
+
for (CrnSlave.CrnStn crnStn : slave.getCrnInStn()) {
DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, crnStn.getDevpPlcId());
if(crnStn.getStaNo() == 4001){
@@ -1220,8 +1222,8 @@
int x=1;
switch (crnProtocol.getCrnNo()){
case 1: x =2; break;
- case 2: x =6; break;
- case 3: x =11; break;
+ case 2: x =7; break;
+ case 3: x =10; break;
case 4: x =14; break;
case 5: x =18; break;
}
@@ -1776,7 +1778,7 @@
break;
// continue;
}
- if (staProtocol2.isLoading() && staProtocol2.isAutoing() && staDetl.getCanouting() != null && staDetl.getCanouting().equals("Y")) {
+ if (staProtocol2.isLoading() && staProtocol2.isAutoing() && staProtocol2.getWorkNo() == 9997) {
// 鍫嗗灈鏈烘帶鍒惰繃婊�
if (!crnProtocol.getStatusType().equals(CrnStatusType.IDLE) || crnProtocol.getTaskNo() != 0) {
// continue;
@@ -1817,7 +1819,7 @@
break;
}
}
- if (staProtocol3.isLoading() && staProtocol3.isAutoing()) {
+ if (staProtocol3.isLoading() && staProtocol3.isAutoing()&& staProtocol3.getWorkNo() == 9997) {
// 鍫嗗灈鏈烘帶鍒惰繃婊�
if (!crnProtocol.getStatusType().equals(CrnStatusType.IDLE) || crnProtocol.getTaskNo() != 0) {
// continue;
@@ -4658,34 +4660,25 @@
rgvCommand.setRgvNo(rgvId); // RGV缂栧彿
RgvTaskStatusType type;
Integer targetPosition = 0;
+ String typeNo = null;
if(wrkMastSta.getWrkSts() == 0){
type = RgvTaskStatusType.FETCH; //鍙栬揣
targetPosition = wrkMastSta.getStaStart();
+ typeNo = "2";
}else{
type = RgvTaskStatusType.PUT; //鏀捐揣
targetPosition = wrkMastSta.getStaEnd();
+ typeNo = "3";
}
- Date now = new Date();
- if (targetPosition == 1038) {
- System.out.println("灏忚溅涓嬪彂鍛戒护鏃堕棿锛�" +
- new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS").format(now));
- }
- EntityWrapper<BasRgvOpt> entityWrapper = new EntityWrapper<>();
- entityWrapper.eq("rgv_no", rgvId)
- .orderBy("send_time");
- BasRgvOpt basRgvOpt = basRgvOptService.selectOne(entityWrapper);
+ BasRgvOpt basRgvOpt = basRgvOptService.getBasRgvOpt(rgvId);
// 闃叉閲嶅涓嬪彂鍛戒护
if (basRgvOpt != null) {
- // 鑾峰彇鏈�鏂拌褰曠殑 mode 瀵瑰簲鐨勪换鍔$被鍨�
- RgvTaskStatusType latestTaskStatus = RgvTaskStatusType.valueOf(basRgvOpt.getMode());
- // 鍒ゆ柇褰撳墠鍛戒护涓庢渶鏂拌褰曟槸鍚︾浉鍚�
- if (latestTaskStatus == type && basRgvOpt.getPosSta().equals(wrkMastSta.getWorkSta())) {
+ if (typeNo.equals(basRgvOpt.getMode()) && basRgvOpt.getPosSta().equals(wrkMastSta.getWorkSta())) {
// 濡傛灉鏈�鏂拌褰曠殑 mode 鍜� posSta 涓庡綋鍓嶅懡浠ょ浉鍚岋紝璁や负鏄噸澶嶅懡浠�
log.error("鍛戒护閲嶅涓嬪彂锛屽綋鍓嶅懡浠や笌鏈�鏂拌褰曠浉鍚岋紝浠诲姟涓嶄笅鍙戯紒");
return false;
}
}
-
rgvCommand.setTaskNo(Math.toIntExact(wrkMastSta.getWrkNo())); // 宸ヤ綅宸ヤ綔鍙�
rgvCommand.setTaskStatus(type); // 宸ヤ綅浠诲姟妯″紡: 鍙栬揣
rgvCommand.setTargetPosition(targetPosition); //宸ヤ綅鐩爣绔欑偣
@@ -4826,6 +4819,10 @@
* arm浠诲姟瀹屾垚鑷姩缁勬墭
* */
public synchronized void armMissionAccomplished1() {
+ Config configAGVAUTOIN = configService.selectConfigByCode("AGVAUTOIN");
+ if(!Boolean.parseBoolean(configAGVAUTOIN.getValue())){
+ return;
+ }
try{
for (DevpSlave devp : slaveProperties.getDevp()) {
// 閬嶅巻鎷f枡鍏ュ簱鍙�
@@ -4924,6 +4921,10 @@
* arm浠诲姟瀹屾垚鑷姩缁勬墭
* */
public synchronized void armMissionAccomplished2() {
+ Config configAGVAUTOIN = configService.selectConfigByCode("AGVAUTOIN");
+ if(!Boolean.parseBoolean(configAGVAUTOIN.getValue())){
+ return;
+ }
try{
List<BasArm> basArmList = basArmService.selectList(new EntityWrapper<BasArm>().gt("arm_no",4));
for (BasArm basArm : basArmList) {
@@ -5122,7 +5123,7 @@
new EntityWrapper<BasArmMast>()
.eq("status", 2)
.eq("binding_tags", basArmMast.getBindingTags()));
- if (binding_tags<2){
+ if (binding_tags==1){
BasArmMast basArmMastOne = basArmMastService.selectOne(
new EntityWrapper<BasArmMast>()
.eq("status", 2)
@@ -5133,6 +5134,25 @@
continue;
}
+ } else if (binding_tags == 0){
+ boolean signBinding_tags_barcode = false;
+ List<BasArmMast> binding_tags_barcodeList = basArmMastService.selectList(
+ new EntityWrapper<BasArmMast>()
+ .eq("barcode", barcode));
+ for (BasArmMast basArmMastBarcode : binding_tags_barcodeList){
+ Integer selectCountAndBindingTags = basArmMastService.selectCountAndBindingTags(basArmMastBarcode.getArmNo(), basArmMastBarcode.getOrderNo(), basArmMastBarcode.getMatnr(),basArmMastBarcode.getBindingTags());
+ Integer selectCountAndBindingTagsLog = basArmMastService.selectCountAndBindingTagsLog(basArmMastBarcode.getArmNo(),basArmMastBarcode.getOrderNo(), basArmMastBarcode.getMatnr(),basArmMastBarcode.getBindingTags());
+
+ Double anfmeSignOne = basArmMastService.selectBasArmMastSignValue(basArmMastBarcode.getOrderNo(), basArmMastBarcode.getMatnr(),basArmMastBarcode.getBindingTags());
+ if ((selectCountAndBindingTags + selectCountAndBindingTagsLog) != anfmeSignOne.intValue()) {
+// signBinding_tags_barcode = true; /////
+ break;
+ }
+ }
+ if (signBinding_tags_barcode){
+ armTaskAssignmentCallApiLogSave(staProtocol, "鏁版嵁寮傚父锛侊紒锛�", staProtocol.getSiteId()+"鐮佸灈浣嶇疆锛屼笂涓�涓垎鎷g粍鏈叏閮ㄥ畬鎴愶紒锛侊紒", false);
+ continue;
+ }
}
}
// OrderDetlValueResultUtil orderDetlValueResultUtil = basArmMastService.selectOrderDetlValue(basArmMast.getOrderNo(), basArmMast.getMatnr());
@@ -5185,6 +5205,10 @@
* arm浠诲姟涓嬪彂
* */
public synchronized void armTaskAssignment2() {
+ Config configAGVAUTOIN = configService.selectConfigByCode("AGVAUTOIN");
+ if(!Boolean.parseBoolean(configAGVAUTOIN.getValue())){
+ return;
+ }
try{
List<BasArm> basArmList = basArmService.selectList(new EntityWrapper<BasArm>().gt("arm_no",4));
for (BasArm basArm : basArmList) {
@@ -5519,7 +5543,7 @@
// 浠诲姟鐢熸垚鍖� --------------------------------------------------------------------------
BasAgvMast basAgvMast = new BasAgvMast();
-
+ BasAgvWrkDetl basAgvWrkDetl = new BasAgvWrkDetl();
try {
LocTypeDto locTypeDto = new LocTypeDto(staProtocol);
@@ -5706,6 +5730,9 @@
* agv浠诲姟鐢熸垚 Empty
* */
public synchronized void agvTaskCreateR() {
+
+ Config configAGVAUTOIN = configService.selectConfigByCode("AGVAUTOIN");
+
// 鏍规嵁杈撻�佺嚎plc閬嶅巻
for (DevpSlave devp : slaveProperties.getDevp()) {
// 閬嶅巻鍑哄簱鍙�
@@ -5745,20 +5772,22 @@
.le("row1", 26)
.orderBy("io_time",true)
);
- }else if(inStaAgv.getStaNo() < 4000){
+ }else if(inStaAgv.getStaNo() < 4000 && Boolean.parseBoolean(configAGVAUTOIN.getValue())){
locMastList = locMastService.selectList(new EntityWrapper<LocMast>()
.eq("loc_sts", "R")
.ge("row1", 28)
.le("row1", 31)
.orderBy("io_time",true));
floorNo = 2;
- }else{
+ }else if(inStaAgv.getStaNo() < 5000){
locMastList = locMastService.selectList(new EntityWrapper<LocMast>()
.eq("loc_sts", "R")
.ge("row1", 32)
.le("row1", 38)
.orderBy("io_time",true));
floorNo = 3;
+ }else{
+ continue;
}
for (LocMast locMast : locMastList){
@@ -5926,23 +5955,6 @@
if ((!Cools.isEmpty(staProtocol.getWorkNo()) && staProtocol.getWorkNo().equals(basAgvMast.getTaskNo())) || basAgvMast.getSourceStaNo().equals(2033)){
AgvTaskAssignmentParam agvTaskAssignmentParam = new AgvTaskAssignmentParam(basAgvMast);
if(basAgvMast.getFloorNo()==1) {
-// WrkMast wrkMast = wrkMastService.selectByWrkNo(staProtocol.getWorkNo());
-// AgvBindCtnrAndBinParam agvBindCtnrAndBinParam = new AgvBindCtnrAndBinParam(basAgvMast);
-// agvBindCtnrAndBinParam.setCtnrCode(basAgvMast.getTimestamp().toString());
-// agvBindCtnrAndBinParam.setCtnrTyp("1");
-// ReturnT<String> resultBind = new PostMesDataUtils().postMesDataAgv("AGV瀹瑰櫒缁戝畾瑙g粦", AgvConstant.AGV_URL, AgvConstant.AGV_CTNRANDBING, agvBindCtnrAndBinParam);
-// if (resultBind.getCode()==200){
-// //浠诲姟涓嬪彂
-// ReturnT<String> result = new PostMesDataUtils().postMesDataAgv("AGV浠诲姟涓嬪彂", AgvConstant.AGV_URL, AgvConstant.AGV_ADAPTOR, agvTaskAssignmentParam);
-// if (result.getCode()==200){
-// basAgvMast.setStatus(1);
-// basAgvMastService.updateById(basAgvMast);
-// } else {
-// agvTaskAssignmentCallApiLogSave(basAgvMast, "AGV浠诲姟涓嬪彂澶辫触", "浠诲姟鍙凤細"+basAgvMast.getTaskNo()+"浠诲姟淇℃伅涓嬪彂澶辫触锛侊紒锛�", false);
-// }
-// } else {
-// agvTaskAssignmentCallApiLogSave(basAgvMast, "AGV瀹瑰櫒缁戝畾瑙g粦", "浠诲姟鍙凤細"+basAgvMast.getTaskNo()+"浠诲姟淇℃伅涓嬪彂澶辫触锛侊紒锛�", false);
-// }
//浠诲姟涓嬪彂
ReturnT<String> result = new PostMesDataUtils().postMesDataAgv("AGV浠诲姟涓嬪彂", AgvConstant.AGV_URL, AgvConstant.AGV_ADAPTOR, agvTaskAssignmentParam);
if (result.getCode()==200){
@@ -5960,7 +5972,7 @@
agvBindCtnrAndBinTwoParam.setPodcode(basAgvMast.getBarcode());
agvBindCtnrAndBinTwoParam.setPositionCode(basAgvMast.getSourceStaNo().toString());
agvBindCtnrAndBinTwoParam.setIndBind("1");;
- ReturnT<String> resultBind = new PostMesDataUtils().postMesDataArmGrating("AGV瀹瑰櫒缁戝畾瑙g粦",
+ ReturnT<String> resultBind = new PostMesDataUtils().postMesDataArmGrating("AGV瀹瑰櫒缁戝畾",
AgvConstant.AGV_URL+"/"+AgvConstant.AGV_hikRpcService,AgvConstant.getAGVADAPTOR(2), agvBindCtnrAndBinTwoParam);
if (resultBind.getCode()!=200){
basAgvMast.setStatus(4);
--
Gitblit v1.9.1