From 52a3bda95de2e73e5958644f57b2a3d32168a4a1 Mon Sep 17 00:00:00 2001
From: liuhaonan <31457034@qq.com>
Date: 星期一, 22 八月 2022 16:04:26 +0800
Subject: [PATCH] changes
---
ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightTaskService.java | 116 +++++++++++++++++++++++++--------------------------------
1 files changed, 51 insertions(+), 65 deletions(-)
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightTaskService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightTaskService.java
index ba24393..b4bdff6 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightTaskService.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightTaskService.java
@@ -126,7 +126,8 @@
.in(LightTaskPoleRelation::getPoleId, poleIdList).eq(LightTaskPoleRelation::getLightAddress, "0002"));
oldLightTaskStatusAndPoles.addAll(list);
} else {
- oldLightTaskStatusAndPoles = lightTaskPoleRelationService.list(Wrappers.lambdaQuery(LightTaskPoleRelation.class).in(LightTaskPoleRelation::getPoleId, poleIdList).eq(LightTaskPoleRelation::getLightAddress, param.getLightAddress()));
+ oldLightTaskStatusAndPoles = lightTaskPoleRelationService.list(Wrappers.lambdaQuery(LightTaskPoleRelation.class)
+ .in(LightTaskPoleRelation::getPoleId, poleIdList).eq(LightTaskPoleRelation::getLightAddress, param.getLightAddress()));
}
/**
@@ -141,14 +142,6 @@
throw new BusinessException("浠诲姟涓瓨鍦ㄥ凡鏈変换鍔$殑鍗曠伅," + "浠诲姟id涓簕" + taskIds + "}, "
+ "鐏潌id涓簕" + poleIds + "}");
}
-// //璁板綍杩欎簺鐏潌鍘熷厛鐨刬d
-// List<Long> oldList = oldLightTaskStatusAndPoles.stream().map(LightTaskPoleRelation::getPoleId).collect(Collectors.toList());
-
- //鍒ゆ柇param.getPoleIdList()涓槸鍚︽湁鏃х殑鐏潌ID (鐩存帴涓嬪彂)
-// List<Long> newPoleIdList = param.getPoleIdList().stream().filter(poleId -> !oldList.contains(poleId)).collect(Collectors.toList());
- //鍒ゆ柇param.getPoleIdList()涓槸鍚︽湁鏂扮殑鐏潌ID (瑕嗙洊鎿嶄綔)
-// List<Long> oldPoleIdList = param.getPoleIdList().stream().filter(poleId -> oldList.contains(poleId)).collect(Collectors.toList());
- //鏂板涓嶅瓨鍦ㄥ叧鐏搷浣�
List<LightTaskPoleRelation> newPoleMap = new ArrayList<>();
@@ -158,29 +151,6 @@
}
-// List<LightTaskPoleRelation> oldPoleFail = new ArrayList<>();
-// List<LightTaskPoleRelation> oldPoleSuccess = new ArrayList<>();
-// if (!oldPoleIdList.isEmpty()) {
-// //瑕嗙洊鎿嶄綔鐏潌
-// Map<String, List<LightTaskPoleRelation>> oldPoleMap = sendControllerFrame(oldPoleIdList, newLightTask.getFramePayload(), param.getLightAddress());
-// oldPoleFail = oldPoleMap.getOrDefault("fail", new ArrayList<>());
-// oldPoleSuccess = oldPoleMap.getOrDefault("success", new ArrayList<>());
-// }
-// //瑕嗙洊鎴愬姛 娣诲姞鏂扮殑浠诲姟鍏崇郴
-// if (!oldPoleSuccess.isEmpty()) {
-// oldPoleSuccess.forEach(success -> {
-// success.setTaskId(newLightTask.getTaskId());
-// });
-// }
-
- //鍒ゆ柇鏃х伅鏉嗚鐩栨搷浣滄槸鍚﹀瓨鍦ㄥけ璐� 濡傛灉瀛樺湪澶辫触锛屽垯淇濆瓨鏃х殑浠诲姟鍏崇郴
-// List<LightTaskPoleRelation> failOldLightTaskStatusAndPoles = new ArrayList<>();
-// if (!oldPoleFail.isEmpty()) {
-// //鑾峰彇澶辫触鐨勭伅鏉唅d
-// List<Long> failPoleIdList = oldPoleFail.stream().map(LightTaskPoleRelation::getPoleId).collect(Collectors.toList());
-// //浠巓ldLightTaskStatusAndPoles鑾峰彇澶辫触鐨勭伅鏉嗗師鍏堢殑浠诲姟缁戝畾鍏崇郴.
-// failOldLightTaskStatusAndPoles = oldLightTaskStatusAndPoles.stream().filter(lightTaskPoleRelation -> failPoleIdList.contains(lightTaskPoleRelation.getPoleId())).collect(Collectors.toList());
-// }
/**
* 涓嬪彂璺伅浠诲姟鏃ュ織璁板綍寮�濮�
@@ -196,18 +166,6 @@
all.addAll(newPoleMap);
int num = (int) newPoleMap.stream().filter(lightTaskPoleRelation -> lightTaskPoleRelation.getIssueStatus() != 0).count();
-// all.addAll(oldPoleSuccess)
- //鏃х伅鏉嗕笅鍙戝け璐ヤ笉闇�瑕佷繚瀛樹俊绠$郴
-
-// //鍒犻櫎鏃х伅鏉嗕腑瑕嗙洊鎴愬姛鐨勪换鍔d
-// List<Long> oldSuccessPoleId = new ArrayList<>();
-// for (LightTaskPoleRelation bean : oldPoleSuccess) {
-// oldSuccessPoleId.add(bean.getPoleId());
-// }
-//// if (!oldSuccessPoleId.isEmpty()) {
-//// lightTaskPoleRelationService.remove(Wrappers.lambdaQuery(LightTaskPoleRelation.class).in(LightTaskPoleRelation::getPoleId, oldSuccessPoleId).eq(LightTaskPoleRelation::getLightAddress, "0001"));
-//// lightTaskPoleRelationService.remove(Wrappers.lambdaQuery(LightTaskPoleRelation.class).in(LightTaskPoleRelation::getPoleId, oldSuccessPoleId).eq(LightTaskPoleRelation::getLightAddress, "0002"));
-//// }
//淇濆瓨鏂扮伅鏉嗕互鍙婃棫鐏潌瑕嗙洊鎴愬姛鐨勪换鍔″叧绯�
if (!all.isEmpty()) {
@@ -290,7 +248,7 @@
} else {
if (CollectionUtil.isNotEmpty(oldPoleIdList)) {
oldRelation = lightTaskPoleRelationService.list(Wrappers.lambdaQuery(LightTaskPoleRelation.class).in(LightTaskPoleRelation::getPoleId, oldPoleIdList)
- .eq(LightTaskPoleRelation::getLightAddress, param.getLightAddress()));
+ .ne(LightTaskPoleRelation::getTaskId, taskId).eq(LightTaskPoleRelation::getLightAddress, param.getLightAddress()));
}
}
@@ -313,7 +271,7 @@
List<LightTaskPoleRelation> newPoleFail = new ArrayList<>();
if (CollectionUtil.isNotEmpty(newPoleIdList)) {
//鏂扮伅鏉嗕笅鍙戞柊浠诲姟
- Map<String, List<LightTaskPoleRelation>> newPoleMap = sendControllerFrame(newPoleIdList, lightTask.getFramePayload(), param.getLightAddress());
+ Map<String, List<LightTaskPoleRelation>> newPoleMap = sendControllerFrame(newPoleIdList, newLightTask.getFramePayload(), param.getLightAddress());
//newPoleAll闆嗗悎鍚庨潰鐢ㄤ簬瀛樺偍鍏崇郴琛�
newPoleAll = newPoleMap.getOrDefault("all", new ArrayList<>());
@@ -321,21 +279,23 @@
newPoleFail = newPoleMap.getOrDefault("fail", new ArrayList<>());
}
-// List<LightTaskPoleRelation> oldPoleFail = new ArrayList<>();
-// List<LightTaskPoleRelation> oldPoleSuccess = new ArrayList<>();
-// if (CollectionUtil.isNotEmpty(oldPoleIdList)) {
-// //瑕嗙洊鎿嶄綔鐏潌
-// Map<String, List<LightTaskPoleRelation>> oldPoleMap = sendControllerFrame(oldPoleIdList, lightTask.getFramePayload(), param.getLightAddress());
-// oldPoleFail = oldPoleMap.getOrDefault("fail", new ArrayList<>());
-// oldPoleSuccess = oldPoleMap.getOrDefault("success", new ArrayList<>());
-// }
+ List<LightTaskPoleRelation> oldPoleFail = new ArrayList<>();
+ List<LightTaskPoleRelation> oldPoleSuccess = new ArrayList<>();
+ if (CollectionUtil.isNotEmpty(oldPoleIdList)) {
+ //瑕嗙洊鎿嶄綔鐏潌
+ Map<String, List<LightTaskPoleRelation>> oldPoleMap = sendControllerFrame(oldPoleIdList, newLightTask.getFramePayload(), param.getLightAddress());
+ oldPoleFail = oldPoleMap.getOrDefault("fail", new ArrayList<>());
+ oldPoleSuccess = oldPoleMap.getOrDefault("success", new ArrayList<>());
+ }
+
List<LightTaskPoleRelation> closePoleFail = new ArrayList<>();
List<LightTaskPoleRelation> closePoleSuccess = new ArrayList<>();
- if (CollectionUtil.isNotEmpty(closeLight)) {
+ System.out.println(closeLight + "closeLight");
+ if (CollectionUtil.isNotEmpty(closeLight) && closeLight != null && closeLight.get(0) != null) {
//鍏崇伅鍐呭抚
- String framePayloadClose = "7f0000007f173b00";
- //瑕嗙洊鎿嶄綔鐏潌
+ String framePayloadClose = "7F0000007F173B00";
+ //鍏崇伅鎿嶄綔鐏潌
Map<String, List<LightTaskPoleRelation>> closePoleMap = sendControllerFrame(closeLight, framePayloadClose, param.getLightAddress());
closePoleFail = closePoleMap.getOrDefault("fail", new ArrayList<>());
closePoleSuccess = closePoleMap.getOrDefault("success", new ArrayList<>());
@@ -372,6 +332,14 @@
for (LightTaskPoleRelation bean : newPoleSuccess) {
bean.setTaskId(newLightTask.getTaskId());
}
+ //鎴愬姛鐢ㄦ柊鐨勪换鍔D
+ for (LightTaskPoleRelation bean : oldPoleSuccess) {
+ bean.setTaskId(newLightTask.getTaskId());
+ }
+ //澶辫触鐢ㄦ棫鐨勪换鍔D
+ for (LightTaskPoleRelation bean : oldPoleFail) {
+ bean.setTaskId(lightTask.getTaskId());
+ }
//澶辫触鐢ㄦ棫鐨勪换鍔D
for (LightTaskPoleRelation bean : closePoleFail) {
@@ -380,7 +348,10 @@
List<LightTaskPoleRelation> all = new ArrayList<>();
all.addAll(newPoleSuccess);
-// all.addAll(closePoleFail);
+ all.addAll(oldPoleFail);
+ all.addAll(oldPoleSuccess);
+ all.addAll(oldPoleFail);
+ all.addAll(closePoleFail);
List<Long> allPoleId = new ArrayList<>();
@@ -388,6 +359,9 @@
allPoleId.add(bean.getPoleId());
}
for (LightTaskPoleRelation bean : closePoleSuccess) {
+ allPoleId.add(bean.getPoleId());
+ }
+ for (LightTaskPoleRelation bean : oldPoleSuccess) {
allPoleId.add(bean.getPoleId());
}
@@ -410,11 +384,11 @@
* 涓嬪彂璺伅浠诲姟鏃ュ織璁板綍缁撴潫
*/
- if (newPoleFail.isEmpty() && closePoleFail.isEmpty()) {
+ if (newPoleFail.isEmpty() && closePoleFail.isEmpty() && oldPoleFail.isEmpty()) {
return "缂栬緫鎴愬姛";
- } else if (newPoleSuccess.isEmpty() && closePoleSuccess.isEmpty()) {
+ } else if (newPoleSuccess.isEmpty() && closePoleSuccess.isEmpty() && oldPoleSuccess.isEmpty()) {
throw new BusinessException("缂栬緫澶辫触,璇锋鏌ュ師鏈夎澶囧拰缂栬緫鍚庣殑璁惧鏄惁鍦ㄧ嚎!");
- } else if (!closePoleFail.isEmpty() && !newPoleSuccess.isEmpty()) {
+ } else if (!closePoleFail.isEmpty() && !newPoleSuccess.isEmpty() && !oldPoleFail.isEmpty()) {
return "鍘熶换鍔′腑瀛樺湪涓嬪彂寮傚父锛屽師浠诲姟淇濈暀锛屽垱寤烘柊浠诲姟杩涜淇濆瓨";
} else if (!newPoleFail.isEmpty() && !newPoleSuccess.isEmpty()) {
return "鏂颁换鍔′腑瀛樺湪涓嬪彂寮傚父锛屽拷鐣ュ紓甯告搷浣滅殑鐏潌";
@@ -433,10 +407,11 @@
*/
public A5LightTimerRespInnerFrame sendTimeRRpc(String framePayload, String deviceCode, String lightAddress) {
IRequestFrame requestFrame = FrameBuilder.builderA5().innerFrame(new A5LightTimerReqInnerFrame(framePayload, lightAddress)).orderType(A5OrderEnum.REQUEST_LIGHT_DATA.getCode()).build();
+ System.out.println(requestFrame + " --------requestFrame");
+
WrapResponseCommonFrame<A5LightTimerRespInnerFrame> responseCommonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(deviceCode, requestFrame, A5LightTimerRespInnerFrame.class);
-
+ System.out.println(responseCommonFrame + " -----------responseCommonFrame");
StoreOperationRecordsUtils.storeInnerFrameData(deviceCode, "鍗曠伅甯�-鎺х伅", requestFrame, responseCommonFrame);
-
return Optional.ofNullable(responseCommonFrame).map(WrapResponseCommonFrame::getResponseInnerFrame).orElse(null);
}
@@ -563,7 +538,7 @@
for (Pole pole : poles) {
if (pole.getDeviceCode() == null || pole.getDeviceCode().equals("")) {
removeById(lightTask.getTaskId());
- throw new BusinessException("鐏潌涓嶅瓨鍦╩ac,涓嶈兘涓嬪彂浠诲姟 璇锋鏌ョ伅鏉嗘槸鍚﹀瓨鍦ㄥ崟鐏�");
+ throw new BusinessException("缂栬緫鐨勭伅鏉嗘垨鍘熸湁浠诲姟鐨勭伅鏉嗕笉瀛樺湪mac,涓嶈兘涓嬪彂浠诲姟 璇锋鏌ョ伅鏉嗘槸鍚﹀瓨鍦ㄥ崟鐏�");
}
LightTaskPoleRelation lightTaskPoleRelation = new LightTaskPoleRelation();
lightTaskPoleRelation.setPoleId(pole.getId());
@@ -639,6 +614,8 @@
* @return
*/
private Map<String, List<LightTaskPoleRelation>> sendControllerFrame(List<Long> poleIdList, String framePayload, String lightAddress) {
+
+ System.out.println("framePayload:" + framePayload);
List<LightTaskPoleRelation> lightTaskPoleRelationList = new ArrayList<>();
//鎴愬姛
List<LightTaskPoleRelation> success = new ArrayList<>();
@@ -654,7 +631,7 @@
for (Pole pole : poles) {
if (pole.getDeviceCode() == null || pole.getDeviceCode().equals("")) {
- throw new BusinessException("鐏潌涓嶅瓨鍦╩ac,涓嶈兘涓嬪彂浠诲姟 璇锋鏌ョ伅鏉嗘槸鍚﹀瓨鍦ㄥ崟鐏�");
+ throw new BusinessException("缂栬緫鐨勭伅鏉嗘垨鍘熸湁浠诲姟鐨勭伅鏉嗕笉瀛樺湪mac,涓嶈兘涓嬪彂浠诲姟 璇锋鏌ョ伅鏉嗘槸鍚﹀瓨鍦ㄥ崟鐏�");
}
LightTaskPoleRelation lightTaskPoleRelation = new LightTaskPoleRelation();
lightTaskPoleRelation.setPoleId(pole.getId());
@@ -731,6 +708,7 @@
map.put("success", success);
map.put("fail", fail);
map.put("all", lightTaskPoleRelationList);
+ log.error("鍙戦�佹帶鍒跺櫒甯х粨鏋滐細{}", map);
return map;
}
@@ -924,4 +902,12 @@
}
}
+
+ public boolean clearLightTask(List<Long> poleIds) {
+ Map<String, List<LightTaskPoleRelation>> ffff = sendControllerFrame(poleIds, "", "FFFF");
+ ffff.get("success").forEach(lightTaskPoleRelation -> {
+ lightTaskPoleRelationService.remove(Wrappers.lambdaUpdate(LightTaskPoleRelation.class).eq(LightTaskPoleRelation::getPoleId, lightTaskPoleRelation.getPoleId()).eq(LightTaskPoleRelation::getTaskId, lightTaskPoleRelation.getTaskId()));
+ });
+ return true;
+ }
}
--
Gitblit v1.9.3