From c02206dbafda5a091de064e0fb45b6054de384a8 Mon Sep 17 00:00:00 2001
From: liuhaonan <31457034@qq.com>
Date: 星期四, 08 九月 2022 16:33:49 +0800
Subject: [PATCH] changes
---
ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightTaskService.java | 67 +++++++++++++++++++++++++--------
1 files changed, 51 insertions(+), 16 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 c97437b..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()));
}
/**
@@ -143,14 +144,12 @@
}
-
List<LightTaskPoleRelation> newPoleMap = new ArrayList<>();
if (!poleIdList.isEmpty()) {
//鏂扮伅鏉嗕笅鍙戞柊浠诲姟
newPoleMap = sendControllerFrame(newLightTask, poleIdList, newLightTask.getFramePayload(), param.getLightAddress());
}
-
/**
@@ -249,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()));
}
}
@@ -272,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<>());
@@ -280,13 +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, 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<>());
@@ -323,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) {
@@ -331,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<>();
@@ -339,6 +359,9 @@
allPoleId.add(bean.getPoleId());
}
for (LightTaskPoleRelation bean : closePoleSuccess) {
+ allPoleId.add(bean.getPoleId());
+ }
+ for (LightTaskPoleRelation bean : oldPoleSuccess) {
allPoleId.add(bean.getPoleId());
}
@@ -361,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 "鏂颁换鍔′腑瀛樺湪涓嬪彂寮傚父锛屽拷鐣ュ紓甯告搷浣滅殑鐏潌";
@@ -384,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);
}
@@ -514,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());
@@ -590,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<>();
@@ -605,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());
@@ -682,6 +708,7 @@
map.put("success", success);
map.put("fail", fail);
map.put("all", lightTaskPoleRelationList);
+ log.error("鍙戦�佹帶鍒跺櫒甯х粨鏋滐細{}", map);
return map;
}
@@ -875,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