From 694cb2277a3d7ad141ef9f0418d631a77f472673 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期五, 11 九月 2020 17:31:09 +0800
Subject: [PATCH] #优化主流程事务性
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 83 +++++++++++++++++++++++------------------
1 files changed, 46 insertions(+), 37 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 84614d9..3932449 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -187,17 +187,7 @@
&& staProtocol.isPakMk()) {
// 鍒ゆ柇閲嶅宸ヤ綔妗�
WrkMast wrkMast = wrkMastMapper.selectPakInStep11(inSta.getStaNo());
- if (wrkMast == null) {
- continue;
- }
-
- // 鏇存柊宸ヤ綔涓绘。
- wrkMast.setWrkSts(2L); // 宸ヤ綔鐘舵�侊細2.璁惧涓婅蛋
- wrkMast.setModiTime(new Date());
- Integer update = wrkMastMapper.updateById(wrkMast);
- if (update == 0) {
- throw new CoolException("鏇存柊宸ヤ綔妗eけ璐�");
- }
+ if (wrkMast == null) { continue; }
// 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
@@ -206,8 +196,15 @@
staProtocol.setStaNo(wrkMast.getStaNo().shortValue());
staProtocol.setPakMk(false);
boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
- if (!result) {
- throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
+ if (result) {
+ // 鏇存柊宸ヤ綔涓绘。
+ wrkMast.setWrkSts(2L); // 宸ヤ綔鐘舵�侊細2.璁惧涓婅蛋
+ wrkMast.setModiTime(new Date());
+ if (wrkMastMapper.updateById(wrkMast) == 0) {
+ log.error("鏇存柊宸ヤ綔妗eけ璐ワ紒锛侊紒 [宸ヤ綔鍙凤細{}]", wrkMast.getWrkNo());
+ }
+ } else {
+ log.error("鍙戝竷鍛戒护鑷宠緭閫佺嚎闃熷垪澶辫触锛侊紒锛� [plc缂栧彿锛歿}]", devp.getId());
}
}
@@ -241,6 +238,29 @@
|| Cools.isEmpty(wrkMast.getStaNo()) || Cools.isEmpty(wrkMast.getSourceStaNo()) ) {
continue;
}
+ // 鑾峰彇鐩爣绔�
+ Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
+ .eq("type_no", wrkMast.getIoType() - 50)
+ .eq("stn_no", wrkMast.getStaNo()) // 浣滀笟绔欑偣 = 鎷f枡鍑哄簱鐨勭洰鏍囩珯
+ .eq("crn_no", wrkMast.getCrnNo()); // 鍫嗗灈鏈哄彿
+ StaDesc staDesc = staDescService.selectOne(wrapper);
+ if (Cools.isEmpty(staDesc)) {
+ log.error("鍏ュ簱璺緞涓嶅瓨鍦�");
+ continue;
+ }
+
+ // 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护
+ staProtocol.setWorkNo(wrkMast.getWrkNo().shortValue());
+ staProtocol.setStaNo(wrkMast.getStaNo().shortValue());
+ staProtocol.setPakMk(false);
+ boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+ if (!result) {
+ log.error("鍙戝竷鍛戒护鑷宠緭閫佺嚎闃熷垪澶辫触锛侊紒锛� [plc缂栧彿锛歿}]", devp.getId());
+ continue;
+ }
+
+ // todo:luxiaotao
+
// 淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。
if (wrkMastMapper.saveWrkDetlLog(wrkMast.getWrkNo()) == 0) {
throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。澶辫触");
@@ -249,15 +269,7 @@
if (wrkMastMapper.saveWrkMastLog(wrkMast.getWrkNo()) == 0) {
throw new CoolException("淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗eけ璐�");
}
- // 鑾峰彇鐩爣绔�
- Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
- .eq("type_no", wrkMast.getIoType() - 50)
- .eq("stn_no", wrkMast.getStaNo()) // 浣滀笟绔欑偣 = 鎷f枡鍑哄簱鐨勭洰鏍囩珯
- .eq("crn_no", wrkMast.getCrnNo()); // 鍫嗗灈鏈哄彿
- StaDesc staDesc = staDescService.selectOne(wrapper);
- if (Cools.isEmpty(staDesc)) {
- throw new CoolException("鍏ュ簱璺緞涓嶅瓨鍦�");
- }
+
// 鍫嗗灈鏈虹珯鐐�(鐩爣绔�)
Integer staNo = staDesc.getCrnStn();
// 鏇存柊宸ヤ綔妗f暟鎹姸鎬�
@@ -279,14 +291,7 @@
throw new CoolException("淇敼搴撲綅鐘舵�佸け璐�");
}
- // 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护
- staProtocol.setWorkNo(wrkMast.getWrkNo().shortValue());
- staProtocol.setStaNo(wrkMast.getStaNo().shortValue());
- staProtocol.setPakMk(false);
- boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
- if (!result) {
- throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
- }
+
}
@@ -331,21 +336,21 @@
// 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
- // 1.澶嶄綅鍫嗗灈鏈�
- crnThread.setResetFlag(true);
-
- // 2.涓嬪彂绔欑偣淇℃伅
+ // 涓嬪彂绔欑偣淇℃伅
staProtocol.setWorkNo(wrkMast.getWrkNo().shortValue());
staProtocol.setStaNo(wrkMast.getStaNo().shortValue());
if (!MessageQueue.offer(SlaveType.Devp, crnStn.getDevpPlcId(), new Task(2, staProtocol))) {
- throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
+ continue;
}
// 鏇存柊宸ヤ綔妗g姸鎬佷负14澶辫触
wrkMast.setWrkSts(14L);
wrkMast.setCrnEndTime(new Date());
- if (wrkMastMapper.updateById(wrkMast) == 0) {
- throw new CoolException("鏇存柊宸ヤ綔妗g殑宸ヤ綔鐘舵�佷负14澶辫触锛屽伐浣滃彿"+wrkMast.getWrkNo());
+ if (wrkMastMapper.updateById(wrkMast) != 0) {
+ // 澶嶄綅鍫嗗灈鏈�
+ crnThread.setResetFlag(true);
+ } else {
+ log.error("鏇存柊宸ヤ綔妗g殑宸ヤ綔鐘舵�佷负14澶辫触锛侊紒锛� [宸ヤ綔鍙�:{}]", wrkMast.getWrkNo());
}
}
@@ -681,6 +686,8 @@
// 妫�绱㈠簱浣�
StartupDto startupDto = commonService.getLocNo(1, 10, emptyInSta.getStaNo(), null);
+ // todo:luxiaotao
+
// 鎻掑叆宸ヤ綔涓绘。
WrkMast wrkMast = new WrkMast();
wrkMast.setWrkNo(workNo);
@@ -799,6 +806,8 @@
}
}
+ // todo:luxiaotao
+
// 淇敼涓绘。led鏍囪
for (WrkMast wrkMast : wrkMasts) {
wrkMast.setOveMk("Y");
--
Gitblit v1.9.1