From 931daf5525c280cac52b8a83cfc3e4f5067955ea Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期三, 27 三月 2024 09:30:07 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 82 ++++++++++++++++++++++++++++++++---------
1 files changed, 64 insertions(+), 18 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 1e62e56..e321e05 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -185,6 +185,13 @@
if(Cools.isEmpty(barcode) || "NG".endsWith(barcode) || "NoRead".equals(barcode) || "00000000".equals(barcode)) {
News.info("{}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", inSta.getBarcode(), barcode);
+ staProtocol.setWorkNo(wrkNo);
+ News.info("{}鍏ュ簱鍥為��锛歿}锛屼换鍔″彿锛歿}", inSta.getStaNo(), errMsg,wrkNo);
+ wrkNo++;
+ staProtocol.setStaNo(inSta.getBackSta().shortValue());
+ devpThread.setPakMk(staProtocol.getSiteId(), false);
+ MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+ log.error("杈撻�佺嚎涓嬪彂1锛�"+wrkNo+","+inSta.getBackSta());
continue;
}
// 鍒ゆ柇閲嶅宸ヤ綔妗�
@@ -1621,7 +1628,7 @@
}
// 鑾峰彇宸ヤ綔妗f暟鎹�
WrkMast wrkMast = wrkMastMapper.selectById(staProtocol.getWorkNo());
- if (null == wrkMast || wrkMast.getWrkSts() < 14 || wrkMast.getIoType() < 100) { continue; }
+ if (null == wrkMast) { continue; }
wrkMasts.add(wrkMast);
// 缁勮鍛戒护
LedCommand ledCommand = new LedCommand();
@@ -1629,6 +1636,12 @@
ledCommand.setIoType(wrkMast.getIoType());
// 鍑哄簱妯″紡
switch (wrkMast.getIoType()) {
+ case 1:
+ ledCommand.setTitle("鍏ㄦ澘鍏ュ簱");
+ break;
+ case 10:
+ ledCommand.setTitle("绌烘澘鍏ュ簱");
+ break;
case 101:
ledCommand.setTitle("鍏ㄦ澘鍑哄簱");
break;
@@ -1652,7 +1665,7 @@
ledCommand.setSourceLocNo(wrkMast.getSourceLocNo());
ledCommand.setStaNo(wrkMast.getStaNo());
ledCommand.setBarcode(wrkMast.getBarcode());
- if (wrkMast.getIoType() != 110) {
+ if (wrkMast.getIoType() != 110 && wrkMast.getIoType() != 10) {
List<WrkDetl> wrkDetls = wrkDetlService.findByWorkNo(wrkMast.getWrkNo());
wrkDetls.forEach(wrkDetl -> {
@@ -1664,7 +1677,7 @@
} else {
total = locDetl.getAnfme();
}
- if (wrkMast.getIoType() == 101) {
+ if (wrkMast.getIoType() == 101 || wrkMast.getIoType() == 1) {
ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getBatch(), wrkDetl.getSpecs(), wrkDetl.getManu(), wrkDetl.getMemo(), wrkDetl.getAnfme(),total));
}
if (wrkMast.getIoType() == 103 && (null == wrkDetl.getInspect() || 0 == wrkDetl.getInspect())) {
@@ -2291,7 +2304,7 @@
/*
* 灏忚溅鍦板浘鏇存柊 鏇存柊閿�
* */
- public synchronized boolean rgvMapUpdate(BasRgvMap basRgvMapCurrent,Integer staStart,Integer staEnd){
+ public synchronized boolean rgvMapUpdate(BasRgvMap basRgvMapCurrent,Integer staStart,Integer staEnd,String sign){
// List<Integer> integers = RouteUtils.RouteMapCurrentFar(basRgvMapCurrent.getNowRoute(),staStart,staEnd, basRgvMapCurrent.getLockStartRoute());
//鏇存柊褰撳墠灏忚溅閿�
@@ -2301,7 +2314,7 @@
basRgvMapCurrent.setLockEndRoute(fallMerge);
Integer i = basRgvMapMapper.updateById(basRgvMapCurrent);
// if (i>0){
-// log.error("{}鍙疯溅鏇存柊缁撴潫閿�,{}",basRgvMapCurrent.getRgvNo(),JSON.toJSONString(basRgvMapCurrent));
+ log.error("{}:==>{}:{}鍙疯溅鏇存柊缁撴潫閿�,{}",sign,new Date(),basRgvMapCurrent.getRgvNo(),JSON.toJSONString(basRgvMapCurrent));
// }
//鏇存柊鍙︿竴鍙板皬杞﹀湴鍥�
@@ -2312,7 +2325,7 @@
basRgvMapOther.setEndRoute(lockEndRoute);
Integer i1 = basRgvMapMapper.updateById(basRgvMapOther);
// if (i1>0){
-// log.error("{}鍙疯溅鏇存柊缁撴潫浣嶇疆,{}",basRgvMapOther.getRgvNo(),JSON.toJSONString(basRgvMapOther));
+ log.error("{}:==>{}:{}鍙疯溅鏇存柊缁撴潫浣嶇疆,{}",sign,new Date(),basRgvMapOther.getRgvNo(),JSON.toJSONString(basRgvMapOther));
// }
return true;
}catch (Exception e){
@@ -2342,16 +2355,41 @@
}
// 鍙湁褰揜GV绌洪棽銆佽嚜鍔�,宸ヤ綅涓�鏃犵墿//rgv鍙敤
- if (
- rgvProtocol.getStatusType() == RgvStatusType.IDLE &&
- rgvProtocol.getModeType() == RgvModeType.AUTO
- && rgvProtocol.getLoaded1()==0 //鐜板満淇敼锛氬彔鐩樻満锛屼笉婊¢兘绠楁棤鐗╋紝鎬庝箞鍒ゆ柇闇�瑕佽窡鐢垫帶瀵规帴
- && (rgvProtocol.getTaskNo1()==0 || rgvProtocol.getTaskNo1()==9999)
-
+ if (rgvProtocol.getStatusType() == RgvStatusType.IDLE &&
+ rgvProtocol.getModeType() == RgvModeType.AUTO
+ && rgvProtocol.getLoaded1()==0 //鐜板満淇敼锛氬彔鐩樻満锛屼笉婊¢兘绠楁棤鐗╋紝鎬庝箞鍒ゆ柇闇�瑕佽窡鐢垫帶瀵规帴
+ && (rgvProtocol.getTaskNo1()==0)
+ &&rgvThread.isPakMk()
) {
BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo());
- basRgvMap.setNowRoute(rgvProtocol.getRgvPosI());
- rgvMapUpdate(basRgvMap,basRgvMap.getStartRoute(),basRgvMap.getStartRoute());
+
+ Integer rgvNoOther = basRgvMap.getRgvNoOther(rgvProtocol.getRgvNo());
+ RgvThread rgvThreadOther = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgvNoOther);
+ RgvProtocol rgvProtocolOther = rgvThreadOther.getRgvProtocol();
+ if (rgvProtocolOther == null) {
+ continue;
+ }else {
+ rgvProtocolOther = rgvProtocolOther.clone();
+ }
+ if (rgvProtocolOther.getStatusType() == RgvStatusType.IDLE
+ && rgvProtocolOther.getModeType() == RgvModeType.AUTO
+ && rgvProtocolOther.getLoaded1()==0
+ && (rgvProtocolOther.getTaskNo1()==0)
+ &&rgvThreadOther.isPakMk()
+ ){
+ //瀵瑰伐浣滄。杩涜鍒ゆ柇
+ basRgvMap.setNowRoute(rgvProtocol.getRgvPosI());
+ if (rgvProtocol.getTaskNo1() >0 && rgvProtocol.getTaskNo1()<=9000){
+ WrkMastSta wrkMastSta = wrkMastStaMapper.selectByWrkNo(rgvProtocol.getTaskNo1().intValue());
+ rgvMapUpdate(basRgvMap, wrkMastSta.getStaStart(), wrkMastSta.getStaEnd(),"2366");
+ }else if (rgvProtocol.getTaskNo1() == 0){
+ rgvMapUpdate(basRgvMap,basRgvMap.getStartRoute(),basRgvMap.getStartRoute(),"2366");
+ }
+
+ }
+
+
+
}
}
}catch (Exception e){
@@ -2396,7 +2434,8 @@
}
BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo());
basRgvMap.setNowRoute(rgvProtocol.getRgvPosI());
- rgvMapUpdate(basRgvMap,basRgvMap.getStartRoute(),basRgvMap.getStartRoute());
+ rgvMapUpdate(basRgvMap,basRgvMap.getStartRoute(),basRgvMap.getStartRoute(),"2415");
+ rgvThread.setPakMk(true);
break;
}
WrkMastSta wrkMastSta = wrkMastStaMapper.selectByWrkNo(rgvProtocol.getTaskNo1().intValue());
@@ -2448,11 +2487,17 @@
log.error("灏忚溅澶嶄綅澶辫触锛屽皬杞﹀彿{}锛�",rgvProtocol.getRgvNo());
break;
}
+ WrkMast wrkMast1 = wrkMastService.selectByWrkNo(rgvProtocol.getTaskNo1().intValue());
+ wrkMast1.setUpdMk("Y");
+
+ wrkMastService.updateById(wrkMast1);
+
wrkMastSta.setWrkSts(3);
wrkMastStaMapper.updateById(wrkMastSta);
BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo());
basRgvMap.setNowRoute(rgvProtocol.getRgvPosI());
- rgvMapUpdate(basRgvMap,basRgvMap.getStartRoute(),basRgvMap.getStartRoute());
+ rgvMapUpdate(basRgvMap,basRgvMap.getStartRoute(),basRgvMap.getStartRoute(),"2471");
+ rgvThread.setPakMk(true);
}
else {
@@ -2507,7 +2552,8 @@
boolean sign = rgvTakeFullAll(basRgvMap.getRgvNo(), wrkMastSta); //鍛戒护涓嬪彂
wrkEnable = true;
if (sign){
- boolean signMap = rgvMapUpdate(basRgvMap, wrkMastSta.getStaStart(), wrkMastSta.getStaEnd());
+ rgvThread.setPakMk(false);
+ boolean signMap = rgvMapUpdate(basRgvMap, wrkMastSta.getStaStart(), wrkMastSta.getStaEnd(),"2526");
if (signMap){
Thread.sleep(300);
wrkMastSta.setWrkSts(1);
@@ -2708,7 +2754,7 @@
// continue;
// }
rgvAvoidanceXY(rgvProtocol.getRgvNo());
- rgvMapUpdate(basRgvMap,basRgvMap.getStartRoute(),basRgvMap.getStartRoute());
+ rgvMapUpdate(basRgvMap,basRgvMap.getStartRoute(),basRgvMap.getStartRoute(),"2727");
}
}
}catch (Exception e){
--
Gitblit v1.9.1