From 77c5a9937bd6a2ffbb2a45c10fa5d65d66015397 Mon Sep 17 00:00:00 2001
From: 野心家 <1051256694@qq.com>
Date: 星期五, 27 十月 2023 14:33:56 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/zjfnwcs' into zjfnwcs
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 103 +++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 95 insertions(+), 8 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 da6144a..bf0cfc9 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -96,6 +96,8 @@
@Value("${test.url}")
private String testUrl;
+ @Autowired
+ private WrkMastService wrkMastService;
/**
* 缁勬墭
@@ -567,12 +569,53 @@
// if(crnThread.isBackHpFlag()){
// continue;
// }
-
// 鍙湁褰撳爢鍨涙満绌洪棽 骞朵笖 鏃犱换鍔℃椂鎵嶇户缁墽琛�
if (crnProtocol.getStatusType() == CrnStatusType.IDLE && crnProtocol.getTaskNo() == 0 && crnProtocol.getModeType() == CrnModeType.AUTO
&& crnProtocol.getLoaded() == 0 && crnProtocol.getForkPos() == 0) {
// 搴撲綅绉昏浆
this.stnToStn(crn, crnProtocol);
+ }else {
+ continue;
+ }
+
+ try{
+ Thread.sleep(1000);
+ }catch (Exception e){
+ continue;
+ }
+ crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId());
+ crnProtocol = crnThread.getCrnProtocol();
+ if (crnProtocol == null) { continue; }
+ basCrnp = basCrnpService.selectById(crn.getId());
+ if (basCrnp == null) {
+ log.error("{}鍙峰爢鍨涙満灏氭湭鍦ㄦ暟鎹簱杩涜缁存姢锛�", crn.getId());
+ continue;
+ }
+ // 鍙湁褰撳爢鍨涙満绌洪棽 骞朵笖 鏃犱换鍔℃椂鎵嶇户缁墽琛�
+ if (crnProtocol.getStatusType() == CrnStatusType.IDLE && crnProtocol.getTaskNo() == 0 && crnProtocol.getModeType() == CrnModeType.AUTO
+ && crnProtocol.getLoaded() == 0 && crnProtocol.getForkPos() == 0) {
+ // 搴撲綅绉昏浆
+ this.locToLoc(crn, crnProtocol);
+ }else {
+ continue;
+ }
+
+ try{
+ Thread.sleep(1000);
+ }catch (Exception e){
+ continue;
+ }
+ crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId());
+ crnProtocol = crnThread.getCrnProtocol();
+ if (crnProtocol == null) { continue; }
+ basCrnp = basCrnpService.selectById(crn.getId());
+ if (basCrnp == null) {
+ log.error("{}鍙峰爢鍨涙満灏氭湭鍦ㄦ暟鎹簱杩涜缁存姢锛�", crn.getId());
+ continue;
+ }
+ // 鍙湁褰撳爢鍨涙満绌洪棽 骞朵笖 鏃犱换鍔℃椂鎵嶇户缁墽琛�
+ if (crnProtocol.getStatusType() == CrnStatusType.IDLE && crnProtocol.getTaskNo() == 0 && crnProtocol.getModeType() == CrnModeType.AUTO
+ && crnProtocol.getLoaded() == 0 && crnProtocol.getForkPos() == 0) {
// 濡傛灉鏈�杩戜竴娆℃槸鍏ュ簱妯″紡
if (crnProtocol.getLastIo().equals("I")) {
if (basCrnp.getInEnable().equals("Y")) {
@@ -595,7 +638,6 @@
}
}
// 搴撲綅绉昏浆
- this.locToLoc(crn, crnProtocol);
// this.crnRebackHp(crnProtocol, crnThread);
}
@@ -907,6 +949,7 @@
break;
// return;
}
+
// 1.鍫嗗灈鏈哄紑濮嬬Щ鍔�
CrnCommand crnCommand = new CrnCommand();
@@ -2348,6 +2391,7 @@
SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
if(null != devpThread){
for (int i = 0; i < 48; i++){
+ boolean fig=false;
//鏌ヨ鍦ㄥ簱鍜岄绾﹀嚭搴�
LocMast locMast=locMastService.selectztgx("F","R",i);
if(!Cools.isEmpty(locMast)){
@@ -2365,12 +2409,37 @@
//testMast.setStatus
//"鐘舵�� 0: 寰呯敵璇� 1: 鐢宠涓� 2: 宸插鏍� 3:娴嬭瘯涓� 4:瀹屾垚 5:绉诲簱 6:鐏"
- if(devpThread.startSignal[i][0]==1){
+ if(devpThread.startSignal[i][0]==8){
testMast.setStatus(1);
+ locMast.setPackStatus(1);
testMast.setModiTime(new Date());
- }else if(devpThread.startSignal[i][0]==2){
+ }else if(devpThread.startSignal[i][0]==2 && locMast.getPackStatus()!=2){
testMast.setStatus(3);
+ locMast.setPackStatus(2);
testMast.setModiTime(new Date());
+ //NG杞琌K闇�瑕佽繕鍘熸簮搴撲綅鍜岀洰鏍囧簱浣嶇姸鎬侊紝OK杞琋G 鍒犻櫎浠诲姟妗�
+ WrkMast wrkMast=wrkMastService.selectOne(new EntityWrapper<WrkMast>()
+ .eq("source_loc_no",locMast.getLocNo())
+ .eq("wrk_sts",11));
+ if(!Cools.isEmpty(wrkMast)){
+ if(wrkMast.getWrkSts()==11){
+ if(wrkMast.getIoType()==11){
+ LocMast locMast1=locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no",wrkMast.getLocNo()));
+ locMast1.setLocSts("O");
+ locMastService.update(locMast1,new EntityWrapper<LocMast>().eq("loc_no",wrkMast.getLocNo()));
+ }
+ wrkMastMapper.delete(new EntityWrapper<WrkMast>()
+ .eq("wrk_sts",11)
+ .eq("source_loc_no",locMast.getLocNo()));
+ locMast.setLocSts("F");
+ wrkDetlService.delete(new EntityWrapper<WrkDetl>().eq("zpallet",wrkMast.getBarcode()));
+ if(!locMastService.update(locMast,new EntityWrapper<LocMast>()
+ .eq("channel",i+1))){
+ log.error("淇敼娴嬭瘯搴撲綅鐘舵�佸け璐�"+locMast.getLocNo(),locMast);
+ }else{
+ fig=true;
+ }
+ }}
}else if(devpThread.startSignal[i][0]==3){
locMast.setPackStatus(7);
testMast.setModiTime(new Date());
@@ -2391,16 +2460,26 @@
//閫氶亾鍚姩鎸夐挳鐘舵�侊紝1:鍙互鍚姩鍑哄簱鎴栬�呯Щ搴擄紝0:涓嶈兘鍚姩鍑哄簱鎴栬�呯Щ搴�
locMast.setCtnKind(devpThread.startSignal[i][2]);
if(devpThread.startSignal[i][2]==1){
+ WrkMast wrkMast=wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("source_loc_no",locMast.getLocNo()));
+ if(!Cools.isEmpty(wrkMast)){
+ wrkMast.setMk("Y");
+ if(!wrkMastService.update(wrkMast,new EntityWrapper<WrkMast>()
+ .eq("source_loc_no",locMast.getLocNo()))){
+ log.error("淇敼浠诲姟妗e惎鍔ㄦ寜閽姸鎬侊紝浠诲姟妗g姸鎬佸け璐�"+wrkMast.getSourceLocNo(),wrkMast);
+ }
+ }
if(!locMastService.update(locMast,new EntityWrapper<LocMast>()
.eq("loc_sts","R")
.eq("channel",i+1))){
log.error("淇敼鍚姩鎸夐挳鐘舵�侊紝娴嬭瘯搴撲綅鐘舵�佸け璐�"+locMast.getLocNo(),locMast);
}
}else if(!locMast.getLocSts().equals("R")){
- if(!locMastService.update(locMast,new EntityWrapper<LocMast>()
- .eq("loc_sts","F")
- .eq("channel",i+1))){
- log.error("淇敼娴嬭瘯搴撲綅鐘舵�佸け璐�"+locMast.getLocNo(),locMast);
+ if(!fig){
+ if(!locMastService.update(locMast,new EntityWrapper<LocMast>()
+ .eq("loc_sts","F")
+ .eq("channel",i+1))){
+ log.error("淇敼娴嬭瘯搴撲綅鐘舵�佸け璐�"+locMast.getLocNo(),locMast);
+ }
}
if(!testMastService.update(testMast,new EntityWrapper<TestMast>()
.eq("loc_no",locMast.getLocNo())
@@ -2410,12 +2489,18 @@
}
}
}
+ //褰撳厖鏀剧數搴撲綅涓篛绌哄簱浣嶆椂
+ //搴撲綅鐘舵�佹敼涓�8绌洪棽
//缁橮LC鍐欐秷闃蹭俊鍙�
for (int i=0;i<48;i++){
LocMast locMast=locMastService.selectOne(new EntityWrapper<LocMast>().eq("channel",i+1));
TestMast testMast=testMastService.selectOne(new EntityWrapper<TestMast>()
.eq("loc_no",locMast.getLocNo())
.eq("user_id",locMast.getBarcode()));
+ if((locMast.getLocSts().equals("O")||locMast.getLocSts().equals("S"))&&devpThread.startSignal[i][0]!=8){
+ Thread.sleep(1000);
+ MessageQueue.offer(SlaveType.Devp, 1, new Task(6,locMast.getChannel()-1));
+ }
try{
if(locMast.getFireStatus()!=devpThread.startSignal[i][1]){
messageQueueOffer2(i,(short)((int)locMast.getFireStatus()),SlaveType.Devp, devp.getId());
@@ -2436,6 +2521,8 @@
}
}
+
+
}
}
--
Gitblit v1.9.1