From a6b762e09d8a7de57a7a76d3dfc3dd23b969ae1e Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期三, 15 五月 2024 21:10:14 +0800
Subject: [PATCH] #二楼
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 200 ++++++++++++++++++++++++++++++++++++-------------
1 files changed, 145 insertions(+), 55 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 c8e653d..08a9a18 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -2521,6 +2521,9 @@
//宸ヤ綅涓�浠诲姟
for (RgvSlave.Sta inStn : rgvSlave.getInStn()){
+ if (rgvSlave.getId() == 1 && inStn.getSourceStaNo() == 2114){
+ continue;
+ }
SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, inStn.getSourcePlcId());
StaProtocol staProtocol = devpThread.getStation().get(inStn.getSourceStaNo());
if (staProtocol == null) {
@@ -2553,6 +2556,9 @@
if (souSta1 == inStn.getSourceStaNo()){
continue;
}
+ if (rgvSlave.getId() == 1 && inStn.getSourceStaNo() == 1014){
+ continue;
+ }
SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, inStn.getSourcePlcId());
StaProtocol staProtocol = devpThread.getStation().get(inStn.getSourceStaNo());
if (staProtocol == null) {
@@ -2569,7 +2575,7 @@
continue;
}
workNo2 = wrkMast.getWrkNo();
- souSta2 = inStn.getSourceStaNo().shortValue();
+ souSta2 = Utils.getRgvStaNo(rgvSlave.getId(),staProtocol.getSiteId());
sta2 = Utils.getRgvEndStaNo(rgvSlave.getId(),wrkMast.getStaNo());
work2 = true;
devpThread.setPakMk(inStn.getSourceStaNo(),false);
@@ -2646,16 +2652,37 @@
if (rgvProtocol.getModeType() == RgvModeType.AUTO && rgvProtocol.getStatusType() == RgvStatusType.WAITING && rgvProtocol.getLoaded1() == 0) {
try {
- Wrapper<WrkMastSta> wrkMastStaWrapper = new EntityWrapper<WrkMastSta>().eq("wrk_crn", rgvProtocol.getRgvNo()).eq("wrk_no", rgvProtocol.getTaskNo1());
- WrkMastSta wrkMastSta1 = wrkMastStaService.selectOne(wrkMastStaWrapper);
- if (Cools.isEmpty(wrkMastSta1)){
- log.error("瀹屾垚{}鍙疯溅宸ヤ綅涓�浠诲姟鏈壘鍒板搴攔gv浠诲姟,{}",rgvProtocol.getRgvNo(),rgvProtocol.getTaskNo1());
- }else {
- if (wrkMastSta1.getWrkType() == 8 ){
- wrkMastSta1.setWrkSts(3);
- wrkMastStaService.update(wrkMastSta1,wrkMastStaWrapper);
+ boolean offer = MessageQueue.offer(SlaveType.Rgv, rgvSlave.getId(), new Task(3, new RgvCommand()));
+ log.info("{}鍙穜gv宸ヤ綅涓�宸ヤ綔瀹屾垚澶嶄綅,宸ヤ綔鍙�:{}",rgvSlave.getId(),rgvProtocol.getTaskNo1());
+ if (offer){
+ //瀹屾垚rgv浠诲姟
+ Wrapper<WrkMastSta> wrkMastStaWrapper = new EntityWrapper<WrkMastSta>().eq("wrk_crn", rgvProtocol.getRgvNo()).eq("wrk_no", rgvProtocol.getTaskNo1());
+ WrkMastSta wrkMastSta1 = wrkMastStaService.selectOne(wrkMastStaWrapper);
+ if (Cools.isEmpty(wrkMastSta1)){
+ log.error("瀹屾垚{}鍙疯溅宸ヤ綅涓�浠诲姟鏈壘鍒板搴攔gv浠诲姟,{}",rgvProtocol.getRgvNo(),rgvProtocol.getTaskNo1());
+ }else {
+ if (wrkMastSta1.getWrkType() == 8 ){
+ wrkMastSta1.setWrkSts(3);
+ wrkMastStaService.update(wrkMastSta1,wrkMastStaWrapper);
+ }
+ }
+
+ //瀹屾垚宸ヤ綔妗d换鍔�
+ if (rgvSlave.getId() != 1){
+ WrkMast wrkMast = wrkMastService.selectByworkNo(rgvProtocol.getTaskNo1());
+ if (Cools.isEmpty(wrkMast)){
+ log.error("瀹屾垚{}鍙疯溅宸ヤ綅涓�浠诲姟鏈壘鍒板搴攔gv浠诲姟,{}",rgvProtocol.getRgvNo(),rgvProtocol.getTaskNo1());
+ }else {
+ if (wrkMast.getIoType() == 110 || wrkMast.getIoType() == 101){
+ Date date = new Date();
+ wrkMast.setWrkSts(14L);
+ wrkMast.setModiTime(date);
+ wrkMastService.updateById(wrkMast);
+ }
+ }
}
}
+
}catch (Exception e){
log.error("瀹屾垚{}鍙疯溅宸ヤ綅涓�浠诲姟鍑洪敊!!!!!!!!!!!!!!!!,{}",rgvProtocol.getRgvNo(),rgvProtocol.getTaskNo1());
@@ -2663,26 +2690,47 @@
}
- MessageQueue.offer(SlaveType.Rgv, rgvSlave.getId(), new Task(3,new RgvCommand()));
- log.info("{}鍙穜gv宸ヤ綅涓�宸ヤ綔瀹屾垚澶嶄綅,宸ヤ綔鍙�:{}",rgvSlave.getId(),rgvProtocol.getTaskNo1());
+
}
//宸ヤ綅浜屼换鍔″畬鎴�
if (rgvProtocol.getModeType() == RgvModeType.AUTO && rgvProtocol.getStatusType() == RgvStatusType.WAITING2 && rgvProtocol.getLoaded2() == 0) {
try {
- Wrapper<WrkMastSta> wrkMastStaWrapper = new EntityWrapper<WrkMastSta>().eq("wrk_crn", rgvProtocol.getRgvNo()).eq("wrk_no", rgvProtocol.getTaskNo2());
- WrkMastSta wrkMastSta1 = wrkMastStaService.selectOne(wrkMastStaWrapper);
- if (Cools.isEmpty(wrkMastSta1)){
- log.error("瀹屾垚{}鍙疯溅宸ヤ綅浜屼换鍔℃湭鎵惧埌瀵瑰簲宸ヤ綔浠诲姟,{}",rgvProtocol.getRgvNo(),rgvProtocol.getTaskNo2());
- }else {
- if (wrkMastSta1.getWrkType() == 9 ){
- wrkMastSta1.setWrkSts(3);
- wrkMastStaService.update(wrkMastSta1,wrkMastStaWrapper);
- }else if (wrkMastSta1.getWrkType() == 1){
- wrkMastSta1.setWrkSts(3);
- wrkMastStaService.update(wrkMastSta1,wrkMastStaWrapper);
+ boolean offer = MessageQueue.offer(SlaveType.Rgv, rgvSlave.getId(), new Task(4, new RgvCommand()));
+ log.info("{}鍙穜gv宸ヤ綅浜屽伐浣滃畬鎴愬浣�,宸ヤ綔鍙�:{}",rgvSlave.getId(),rgvProtocol.getTaskNo2());
+ if (offer){
+ //瀹屾垚rgv浠诲姟
+ Wrapper<WrkMastSta> wrkMastStaWrapper = new EntityWrapper<WrkMastSta>().eq("wrk_crn", rgvProtocol.getRgvNo()).eq("wrk_no2", rgvProtocol.getTaskNo2());
+ WrkMastSta wrkMastSta1 = wrkMastStaService.selectOne(wrkMastStaWrapper);
+ if (Cools.isEmpty(wrkMastSta1)){
+ log.error("瀹屾垚{}鍙疯溅宸ヤ綅浜屼换鍔℃湭鎵惧埌瀵瑰簲宸ヤ綔浠诲姟,{}",rgvProtocol.getRgvNo(),rgvProtocol.getTaskNo2());
+ }else {
+ if (wrkMastSta1.getWrkType() == 9 ){
+ wrkMastSta1.setWrkSts(3);
+ wrkMastStaService.update(wrkMastSta1,wrkMastStaWrapper);
+ }else if (wrkMastSta1.getWrkType() == 1){
+ wrkMastSta1.setWrkSts(3);
+ wrkMastStaService.update(wrkMastSta1,wrkMastStaWrapper);
+ }
}
+
+ //瀹屾垚宸ヤ綔妗d换鍔�
+ if (rgvSlave.getId() != 1){
+ WrkMast wrkMast = wrkMastService.selectByworkNo(rgvProtocol.getTaskNo2());
+ if (Cools.isEmpty(wrkMast)){
+ log.error("瀹屾垚{}鍙疯溅宸ヤ綅涓�浠诲姟鏈壘鍒板搴攔gv浠诲姟,{}",rgvProtocol.getRgvNo(),rgvProtocol.getTaskNo2());
+ }else {
+ if (wrkMast.getIoType() == 110 || wrkMast.getIoType() == 101){
+ Date date = new Date();
+ wrkMast.setWrkSts(14L);
+ wrkMast.setModiTime(date);
+ wrkMastService.updateById(wrkMast);
+ }
+ }
+ }
+
}
+
}catch (Exception e){
log.error("瀹屾垚{}鍙疯溅宸ヤ綅涓�浠诲姟鍑洪敊!!!!!!!!!!!!!!!!,{}",rgvProtocol.getRgvNo(),rgvProtocol.getTaskNo1());
continue;
@@ -2690,8 +2738,7 @@
- MessageQueue.offer(SlaveType.Rgv, rgvSlave.getId(), new Task(4,new RgvCommand()));
- log.info("{}鍙穜gv宸ヤ綅浜屽伐浣滃畬鎴愬浣�,宸ヤ綔鍙�:{}",rgvSlave.getId(),rgvProtocol.getTaskNo2());
+
}
}
}
@@ -2712,7 +2759,7 @@
//宸ヤ綅涓�浠诲姟瀹屾垚
if (rgvProtocol.getModeType() == RgvModeType.AUTO && rgvProtocol.getStatusType() == RgvStatusType.OUTSTN1 && rgvProtocol.getLoaded1() == 1) {
- WrkMastSta wrkMastSta = wrkMastStaService.selectByRgvNoandWrkNo(rgvProtocol.getRgvNo(), rgvProtocol.getTaskNo1());
+ WrkMastSta wrkMastSta = wrkMastStaService.selectByRgvNoandWrkNo(rgvSlave.getId(), rgvProtocol.getTaskNo1());
WrkMast wrkMast = wrkMastService.selectByworkNo(rgvProtocol.getTaskNo1());
if (Cools.isEmpty(wrkMastSta)){
log.error("鏈煡璇㈠埌rgv宸ヤ綔浠诲姟锛宺gv缂栧彿{},宸ヤ綔鍙穥}",rgvProtocol.getRgvNo(),rgvProtocol.getTaskNo1());
@@ -2731,7 +2778,12 @@
}
if (staProtocol.isAutoing() && !staProtocol.isLoading() && staProtocol.isPakMk()){
staProtocol.setWorkNo(wrkMastSta.getWrkNo().shortValue());
- staProtocol.setStaNo(wrkMast.getStaNo().shortValue());
+ if (rgvSlave.getId() == 3 && outStn.getStaPlcId() == 6){
+ staProtocol.setStaNo((short)2401);
+ }else {
+ staProtocol.setStaNo(wrkMast.getStaNo().shortValue());
+ }
+
MessageQueue.offer(SlaveType.Devp, outStn.getStaPlcId(), new Task(2, staProtocol));
}
}
@@ -2739,16 +2791,16 @@
//宸ヤ綅浜屼换鍔″畬鎴�
if (rgvProtocol.getModeType() == RgvModeType.AUTO && rgvProtocol.getStatusType() == RgvStatusType.OUTSTN8 && rgvProtocol.getLoaded2() == 1) {
- WrkMastSta wrkMastSta = wrkMastStaService.selectByRgvNoandWrkNo(rgvProtocol.getRgvNo(), rgvProtocol.getTaskNo2());
+ WrkMastSta wrkMastSta = wrkMastStaService.selectByRgvNoandWrkNo2(rgvProtocol.getRgvNo(), rgvProtocol.getTaskNo2());
WrkMast wrkMast = wrkMastService.selectByworkNo(rgvProtocol.getTaskNo2());
if (Cools.isEmpty(wrkMastSta)){
log.error("鏈煡璇㈠埌rgv宸ヤ綔浠诲姟锛宺gv缂栧彿{},宸ヤ綔鍙穥}",rgvProtocol.getRgvNo(),rgvProtocol.getTaskNo2());
continue;
}
for (RgvSlave.Sta outStn :rgvSlave.getOutStn()){
- if (wrkMastSta.getStaEnd() != outStn.getStaNo()){
+ if (!Objects.equals(Utils.getStaNo(rgvSlave.getId(), wrkMastSta.getStaEnd()), outStn.getStaNo())){
continue;
- }
+ }//鍒ゆ柇鏄惁涓哄伐浣滄。绔欑偣
SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, outStn.getStaPlcId());
StaProtocol staProtocol = devpThread.getStation().get(outStn.getStaNo());
if (staProtocol == null) {
@@ -2868,16 +2920,37 @@
if (rgvProtocol.getModeType() == RgvModeType.AUTO && rgvProtocol.getStatusType() == RgvStatusType.WAITING && rgvProtocol.getLoaded1() == 0) {
try {
- Wrapper<WrkMastSta> wrkMastStaWrapper = new EntityWrapper<WrkMastSta>().eq("wrk_crn", rgvProtocol.getRgvNo()).eq("wrk_no", rgvProtocol.getTaskNo1());
- WrkMastSta wrkMastSta1 = wrkMastStaService.selectOne(wrkMastStaWrapper);
- if (Cools.isEmpty(wrkMastSta1)){
- log.error("瀹屾垚{}鍙疯溅宸ヤ綅涓�浠诲姟鏈壘鍒板搴攔gv浠诲姟,{}",rgvProtocol.getRgvNo(),rgvProtocol.getTaskNo1());
- }else {
- if (wrkMastSta1.getWrkType() == 8 ){
- wrkMastSta1.setWrkSts(3);
- wrkMastStaService.update(wrkMastSta1,wrkMastStaWrapper);
+ boolean offer = MessageQueue.offer(SlaveType.Rgv, rgvSlave.getId(), new Task(3, new RgvCommand()));
+ log.info("{}鍙穜gv宸ヤ綅涓�宸ヤ綔瀹屾垚澶嶄綅,宸ヤ綔鍙�:{}",rgvSlave.getId(),rgvProtocol.getTaskNo1());
+ if (offer){
+
+ Wrapper<WrkMastSta> wrkMastStaWrapper = new EntityWrapper<WrkMastSta>().eq("wrk_crn", rgvProtocol.getRgvNo()).eq("wrk_no", rgvProtocol.getTaskNo1());
+ WrkMastSta wrkMastSta1 = wrkMastStaService.selectOne(wrkMastStaWrapper);
+ if (Cools.isEmpty(wrkMastSta1)){
+ log.error("瀹屾垚{}鍙疯溅宸ヤ綅涓�浠诲姟鏈壘鍒板搴攔gv浠诲姟,{}",rgvProtocol.getRgvNo(),rgvProtocol.getTaskNo1());
+ }else {
+ if (wrkMastSta1.getWrkType() == 8 ){
+ wrkMastSta1.setWrkSts(3);
+ wrkMastStaService.update(wrkMastSta1,wrkMastStaWrapper);
+ }
}
+
+ //瀹屾垚宸ヤ綔妗d换鍔�
+ WrkMast wrkMast = wrkMastService.selectByworkNo(rgvProtocol.getTaskNo1());
+ if (Cools.isEmpty(wrkMast)){
+ log.error("瀹屾垚{}鍙疯溅宸ヤ綅涓�浠诲姟鏈壘鍒板搴攔gv浠诲姟,{}",rgvProtocol.getRgvNo(),rgvProtocol.getTaskNo1());
+ }else {
+ if (wrkMast.getIoType() == 110 || wrkMast.getIoType() == 101){
+ Date date = new Date();
+ wrkMast.setWrkSts(14L);
+ wrkMast.setModiTime(date);
+ wrkMastService.updateById(wrkMast);
+ }
+ }
+
+
}
+
}catch (Exception e){
log.error("瀹屾垚{}鍙疯溅宸ヤ綅涓�浠诲姟鍑洪敊!!!!!!!!!!!!!!!!,{}",rgvProtocol.getRgvNo(),rgvProtocol.getTaskNo1());
@@ -2885,26 +2958,44 @@
}
- MessageQueue.offer(SlaveType.Rgv, rgvSlave.getId(), new Task(3,new RgvCommand()));
- log.info("{}鍙穜gv宸ヤ綅涓�宸ヤ綔瀹屾垚澶嶄綅,宸ヤ綔鍙�:{}",rgvSlave.getId(),rgvProtocol.getTaskNo1());
+
}
//宸ヤ綅浜屼换鍔″畬鎴�
if (rgvProtocol.getModeType() == RgvModeType.AUTO && rgvProtocol.getStatusType() == RgvStatusType.WAITING2 && rgvProtocol.getLoaded2() == 0) {
try {
- Wrapper<WrkMastSta> wrkMastStaWrapper = new EntityWrapper<WrkMastSta>().eq("wrk_crn", rgvProtocol.getRgvNo()).eq("wrk_no", rgvProtocol.getTaskNo2());
- WrkMastSta wrkMastSta1 = wrkMastStaService.selectOne(wrkMastStaWrapper);
- if (Cools.isEmpty(wrkMastSta1)){
- log.error("瀹屾垚{}鍙疯溅宸ヤ綅浜屼换鍔℃湭鎵惧埌瀵瑰簲宸ヤ綔浠诲姟,{}",rgvProtocol.getRgvNo(),rgvProtocol.getTaskNo2());
- }else {
- if (wrkMastSta1.getWrkType() == 9 ){
- wrkMastSta1.setWrkSts(3);
- wrkMastStaService.update(wrkMastSta1,wrkMastStaWrapper);
- }else if (wrkMastSta1.getWrkType() == 1){
- wrkMastSta1.setWrkSts(3);
- wrkMastStaService.update(wrkMastSta1,wrkMastStaWrapper);
+ boolean offer = MessageQueue.offer(SlaveType.Rgv, rgvSlave.getId(), new Task(4, new RgvCommand()));
+ log.info("{}鍙穜gv宸ヤ綅浜屽伐浣滃畬鎴愬浣�,宸ヤ綔鍙�:{}",rgvSlave.getId(),rgvProtocol.getTaskNo2());
+ if (offer){
+ Wrapper<WrkMastSta> wrkMastStaWrapper = new EntityWrapper<WrkMastSta>().eq("wrk_crn", rgvProtocol.getRgvNo()).eq("wrk_no", rgvProtocol.getTaskNo2());
+ WrkMastSta wrkMastSta1 = wrkMastStaService.selectOne(wrkMastStaWrapper);
+ if (Cools.isEmpty(wrkMastSta1)){
+ log.error("瀹屾垚{}鍙疯溅宸ヤ綅浜屼换鍔℃湭鎵惧埌瀵瑰簲宸ヤ綔浠诲姟,{}",rgvProtocol.getRgvNo(),rgvProtocol.getTaskNo2());
+ }else {
+ if (wrkMastSta1.getWrkType() == 9 ){
+ wrkMastSta1.setWrkSts(3);
+ wrkMastStaService.update(wrkMastSta1,wrkMastStaWrapper);
+ }else if (wrkMastSta1.getWrkType() == 1){
+ wrkMastSta1.setWrkSts(3);
+ wrkMastStaService.update(wrkMastSta1,wrkMastStaWrapper);
+ }
}
+
+ //瀹屾垚宸ヤ綔妗d换鍔�
+ WrkMast wrkMast = wrkMastService.selectByworkNo(rgvProtocol.getTaskNo2());
+ if (Cools.isEmpty(wrkMast)){
+ log.error("瀹屾垚{}鍙疯溅宸ヤ綅涓�浠诲姟鏈壘鍒板搴攔gv浠诲姟,{}",rgvProtocol.getRgvNo(),rgvProtocol.getTaskNo2());
+ }else {
+ if (wrkMast.getIoType() == 110 || wrkMast.getIoType() == 101){
+ Date date = new Date();
+ wrkMast.setWrkSts(14L);
+ wrkMast.setModiTime(date);
+ wrkMastService.updateById(wrkMast);
+ }
+ }
+
}
+
}catch (Exception e){
log.error("瀹屾垚{}鍙疯溅宸ヤ綅涓�浠诲姟鍑洪敊!!!!!!!!!!!!!!!!,{}",rgvProtocol.getRgvNo(),rgvProtocol.getTaskNo1());
@@ -2913,17 +3004,16 @@
- MessageQueue.offer(SlaveType.Rgv, rgvSlave.getId(), new Task(4,new RgvCommand()));
- log.info("{}鍙穜gv宸ヤ綅浜屽伐浣滃畬鎴愬浣�,宸ヤ綔鍙�:{}",rgvSlave.getId(),rgvProtocol.getTaskNo2());
+
}
}
}
public boolean rgvTaskSave(RgvCommand command){
- Wrapper<WrkMastSta> wrkMastStaWrapper = new EntityWrapper<WrkMastSta>().eq("wrk_crn", command.getRgvNo()).eq("wrk_no", command.getTaskNo1());
- WrkMastSta wrkMastSta1 = wrkMastStaService.selectOne(wrkMastStaWrapper);
+// Wrapper<WrkMastSta> wrkMastStaWrapper = new EntityWrapper<WrkMastSta>().eq("wrk_crn", command.getRgvNo()).eq("wrk_no", command.getTaskNo1());
+ List<WrkMastSta> wrkMastSta1 = wrkMastStaService.selectBywrkNoHistoricalTasks(command.getRgvNo(),command.getTaskNo1(),command.getTaskNo2());
if (!Cools.isEmpty(wrkMastSta1)){
- wrkMastStaService.delete(wrkMastStaWrapper);
+ wrkMastStaService.deleteBatchIds(wrkMastSta1);
}
WrkMastSta wrkMastSta = new WrkMastSta();
wrkMastSta.setWrkNo(Long.valueOf(command.getTaskNo1()));
--
Gitblit v1.9.1