From aebf1df56a02c71a5e6b4a9da395c12ed66edb1b Mon Sep 17 00:00:00 2001
From: liuhaonan <31457034@qq.com>
Date: 星期三, 14 九月 2022 14:13:12 +0800
Subject: [PATCH] changes
---
ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightTaskService.java | 244 +++++++++++++++++++++---------------------------
1 files changed, 109 insertions(+), 135 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 cc93454..7ffe4e2 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
@@ -105,93 +105,64 @@
throw new BusinessException("淇濆瓨璺伅浠诲姟澶辫触");
}
List<String> poleCodeList = new ArrayList<>();
- if (CollectionUtil.isNotEmpty(param.getPoleIdList())) {
- List<Pole> poleList = SpringContextHolder.getBean(PoleService.class).listByIds(param.getPoleIdList());
+ //浼犲叆鐨勭伅鏉唅d闆嗗悎
+ List<Long> poleIdList = new ArrayList<>();
+ //鍘婚噸
+ for (Long item : param.getPoleIdList()) {
+ if (!poleIdList.contains(item)) {
+ poleIdList.add(item);
+ }
+ }
+ if (CollectionUtil.isNotEmpty(poleIdList)) {
+ List<Pole> poleList = SpringContextHolder.getBean(PoleService.class).listByIds(poleIdList);
if (CollectionUtil.isNotEmpty(poleList)) {
poleCodeList = poleList.stream().map(Pole::getDeviceCode).collect(Collectors.toList());
}
}
- String content = "{浠诲姟ID锛�" + newLightTask.getTaskId() + "锛� 浠诲姟鍚嶏細" + newLightTask.getTaskName() + "}锛寋鍐呭抚鎸囦护" + newLightTask.getFramePayload() + "锛� 鐏潌ID锛�" + param.getPoleIdList().toString() + "锛� 鎺у埗鐨勭伅澶村湴鍧�锛�" + param.getLightAddress() + " }";
+ String content = "{浠诲姟ID锛�" + newLightTask.getTaskId() + "锛� 浠诲姟鍚嶏細" + newLightTask.getTaskName() + "}锛寋鍐呭抚鎸囦护" + newLightTask.getFramePayload() + "锛� 鐏潌ID锛�" + poleIdList.toString() + "锛� 鎺у埗鐨勭伅澶村湴鍧�锛�" + param.getLightAddress() + " }";
StoreOperationRecordsUtils.storeOperationData(poleCodeList, null, "鏂板璺伅浠诲姟", content);
- //浼犲叆鐨勭伅鏉唅d闆嗗悎
- List<Long> poleIdList = param.getPoleIdList();
//璁板綍杩欎簺鐏潌鍘熷厛鐨勪换鍔�
List<LightTaskPoleRelation> oldLightTaskStatusAndPoles;
if ("FFFF".equals(param.getLightAddress())) {
- oldLightTaskStatusAndPoles = lightTaskPoleRelationService.list(Wrappers.lambdaQuery(LightTaskPoleRelation.class).in(LightTaskPoleRelation::getPoleId, poleIdList).eq(LightTaskPoleRelation::getLightAddress, "0001").or(relation -> {
- relation.eq(LightTaskPoleRelation::getLightAddress, "0002");
- }));
+ oldLightTaskStatusAndPoles = lightTaskPoleRelationService.list(Wrappers.lambdaQuery(LightTaskPoleRelation.class)
+ .in(LightTaskPoleRelation::getPoleId, poleIdList).eq(LightTaskPoleRelation::getLightAddress, "0001"));
+ List<LightTaskPoleRelation> list = lightTaskPoleRelationService.list(Wrappers.lambdaQuery(LightTaskPoleRelation.class)
+ .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()));
}
/**
* 閲嶅浠诲姟鐨勭伅澶�
*/
+ List<Long> taskIds = oldLightTaskStatusAndPoles.stream().map(LightTaskPoleRelation::getTaskId).collect(Collectors.toList());
+ List<Long> poleIds = oldLightTaskStatusAndPoles.stream().map(LightTaskPoleRelation::getPoleId).collect(Collectors.toList());
+ //poleIds涓噸澶嶅厓绱犲彧淇濈暀涓�涓�
+ taskIds = taskIds.stream().distinct().collect(Collectors.toList());
+ poleIds = poleIds.stream().distinct().collect(Collectors.toList());
if (!oldLightTaskStatusAndPoles.isEmpty()) {
- throw new BusinessException("浠诲姟涓瓨鍦ㄥ凡鏈変换鍔$殑鍗曠伅," + "浠诲姟id涓簕" + oldLightTaskStatusAndPoles.stream().map(LightTaskPoleRelation::getTaskId).collect(Collectors.toList()) + "}, " + "鐏潌id涓簕" + oldLightTaskStatusAndPoles.stream().map(LightTaskPoleRelation::getPoleId).collect(Collectors.toList()) + "}");
+ 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<Long> oldPoleIdListHasNewLightAddress = oldPoleIdList.stream().filter(poleId -> {
-// List<LightTaskPoleRelation> lightTaskPoleRelations = lightTaskPoleRelationService.list(Wrappers.lambdaQuery(LightTaskPoleRelation.class)
-// .eq(LightTaskPoleRelation::getPoleId, poleId).eq(LightTaskPoleRelation::getLightAddress, param.getLightAddress()));
-// if (CollectionUtil.isNotEmpty(lightTaskPoleRelations)) {
-// return !lightTaskPoleRelations.get(0).getLightAddress().equals(param.getLightAddress());
-// }
-// return false;
-// }).collect(Collectors.toList());
-
-// if (!oldPoleIdListHasNewLightAddress.isEmpty()) {
-// throw new BusinessException("浠诲姟涓瓨鍦ㄥ凡鏈変换鍔$殑鍗曠伅,鐏潌id涓簕" + oldPoleIdListHasNewLightAddress + "}");
-// }
List<LightTaskPoleRelation> newPoleMap = new ArrayList<>();
- if (!newPoleIdList.isEmpty()) {
+ if (!poleIdList.isEmpty()) {
//鏂扮伅鏉嗕笅鍙戞柊浠诲姟
- newPoleMap = sendControllerFrame(newLightTask, newPoleIdList, newLightTask.getFramePayload(), param.getLightAddress());
+ newPoleMap = sendControllerFrame(newLightTask, poleIdList, newLightTask.getFramePayload(), param.getLightAddress());
}
- 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());
- }
/**
* 涓嬪彂璺伅浠诲姟鏃ュ織璁板綍寮�濮�
*/
- String content1 = "{浠诲姟ID锛�" + newLightTask.getTaskId() + "锛� 浠诲姟鍚嶏細" + newLightTask.getTaskName() + "}," + " 鐏潌ID锛�" + param.getPoleIdList().toString() + " }";
+ String content1 = "{浠诲姟ID锛�" + newLightTask.getTaskId() + "锛� 浠诲姟鍚嶏細" + newLightTask.getTaskName() + "}," + " 鐏潌ID锛�" + poleIdList.toString() + " }";
StoreOperationRecordsUtils.storeOperationData(poleCodeList, null, "涓嬪彂璺伅浠诲姟", content1);
/**
* 涓嬪彂璺伅浠诲姟鏃ュ織璁板綍缁撴潫
@@ -199,32 +170,15 @@
List<LightTaskPoleRelation> all = new ArrayList<>();
all.addAll(newPoleMap);
- all.addAll(oldPoleSuccess);
- //鏃х伅鏉嗕笅鍙戝け璐ヤ笉闇�瑕佷繚瀛樹俊绠$郴
+ int num = (int) newPoleMap.stream().filter(lightTaskPoleRelation -> lightTaskPoleRelation.getIssueStatus() != 0).count();
- //鍒犻櫎鏃х伅鏉嗕腑瑕嗙洊鎴愬姛鐨勪换鍔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::getTaskId, oldLightTaskStatusAndPoles.get(0).getTaskId()));
-
- }
//淇濆瓨鏂扮伅鏉嗕互鍙婃棫鐏潌瑕嗙洊鎴愬姛鐨勪换鍔″叧绯�
if (!all.isEmpty()) {
-// all.forEach(
-// bean->{
-// lightTaskPoleRelationService.save(bean);
-// }
-// );
lightTaskPoleRelationService.saveBatch(all);
}
- if (!param.getPoleIdList().isEmpty() && !all.isEmpty() && !oldPoleFail.isEmpty()) {
- return "浠诲姟涓瓨鍦ㄤ笅鍙戝紓甯革紝寮傚父鐏潌鍘熶换鍔″叧绯讳繚鐣�";
- } else if (!param.getPoleIdList().isEmpty() && all.isEmpty()) {
+ if (!poleIdList.isEmpty() && num == newPoleMap.size()) {
//鎵�鏈夌伅鏉嗛兘涓嬪彂澶辫触 鏂板鐨勪换鍔′笉淇濈暀
removeById(newLightTask);
throw new BusinessException("鎸囦护涓嬪彂澶辫触,璇锋鏌ョ伅鏉嗙姸鎬佸悗閲嶆柊鏂板浠诲姟");
@@ -254,10 +208,10 @@
LightTask newLightTask = new LightTask();
newLightTask.setTaskName(param.getTaskName());
- if (SecurityUtils.getClientId() != null) {
- lightTask.setClientId(clientService.getClientId());
- lightTask.setUserId(SecurityUtils.getUserId());
- }
+
+ newLightTask.setClientId(clientService.getClientId());
+ newLightTask.setUserId(SecurityUtils.getUserId());
+
newLightTask.setWeek(week);
newLightTask.setCreateUser(SecurityUtils.getUsername());
newLightTask.setControlOrder(param.getControlOrder());
@@ -269,50 +223,58 @@
//缂栬緫鍚庣伅鏉咺D闆嗗悎
- List<Long> poleIdList = param.getPoleIdList();
+ List<Long> poleIdList = new ArrayList<>();
+ //鍘婚噸
+ for (Long item : param.getPoleIdList()) {
+ if (!poleIdList.contains(item)) {
+ poleIdList.add(item);
+ }
+ }
+ if (poleIdList.isEmpty()) {
+ throw new BusinessException("缂栬緫浠诲姟鏃惰閫夋嫨鐏潌");
+ }
//璁板綍浠诲姟缂栬緫鍣ㄥ墠鐏潌ID闆嗗悎
List<LightTaskStatusAndPole> oldLightTaskStatusAndPoles = lightTaskPoleRelationService.listPoleAndStatusIdByTaskId(taskId);
List<Long> oldList = oldLightTaskStatusAndPoles.stream().map(LightTaskStatusAndPole::getId).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());
- //oldList涓湁鐨勭伅鏉咺D锛屼絾鏄痯aram.getPoleIdList()涓病鏈� (鍏崇伅鎿嶄綔)
- List<Long> closeLight = oldList.stream().filter(poleId -> !param.getPoleIdList().contains(poleId)).collect(Collectors.toList());
+ //鍒ゆ柇poleIdList涓槸鍚︽湁鏃х殑鐏潌ID (鐩存帴涓嬪彂)
+ List<Long> newPoleIdList = poleIdList.stream().filter(poleId -> !oldList.contains(poleId)).collect(Collectors.toList());
+ //鍒ゆ柇poleIdList涓槸鍚︽湁鏂扮殑鐏潌ID (瑕嗙洊鎿嶄綔)
+ List<Long> oldPoleIdList = poleIdList.stream().filter(poleId -> oldList.contains(poleId)).collect(Collectors.toList());
+ //oldList涓湁鐨勭伅鏉咺D锛屼絾鏄痯oleIdList涓病鏈� (鍏崇伅鎿嶄綔)
+ List<Long> closeLight = oldList.stream().filter(poleId -> !poleIdList.contains(poleId)).collect(Collectors.toList());
//鍙栧嚭瑕嗙洊鎿嶄綔鐨勫叧绯讳俊鎭�
//璁板綍杩欎簺鐏潌鍘熷厛鐨勪换鍔�
- List<LightTaskPoleRelation> oldRelation;
+ List<LightTaskPoleRelation> oldRelation = new ArrayList<>();
if ("FFFF".equals(param.getLightAddress())) {
// 鐏潌涓瓨鍦ㄥ叾浠栦换鍔$殑鐏ご
- oldRelation = lightTaskPoleRelationService.list(Wrappers.lambdaQuery(LightTaskPoleRelation.class).in(LightTaskPoleRelation::getPoleId, oldPoleIdList).eq(LightTaskPoleRelation::getLightAddress, "0001").or(relation -> {
- relation.eq(LightTaskPoleRelation::getLightAddress, "0002");
- }).ne(LightTaskPoleRelation::getTaskId, taskId));
+ if (CollectionUtil.isNotEmpty(oldPoleIdList)) {
+ oldRelation = lightTaskPoleRelationService.list(Wrappers.lambdaQuery(LightTaskPoleRelation.class).in(LightTaskPoleRelation::getPoleId, oldPoleIdList)
+ .ne(LightTaskPoleRelation::getTaskId, taskId).eq(LightTaskPoleRelation::getLightAddress, "0001"));
+ List<LightTaskPoleRelation> list = lightTaskPoleRelationService.list(Wrappers.lambdaQuery(LightTaskPoleRelation.class).in(LightTaskPoleRelation::getPoleId, oldPoleIdList)
+ .ne(LightTaskPoleRelation::getTaskId, taskId).eq(LightTaskPoleRelation::getLightAddress, "0002"));
+ oldRelation.addAll(list);
+ }
} else {
- oldRelation = lightTaskPoleRelationService.list(Wrappers.lambdaQuery(LightTaskPoleRelation.class).in(LightTaskPoleRelation::getPoleId, oldPoleIdList).eq(LightTaskPoleRelation::getLightAddress, param.getLightAddress()));
+ if (CollectionUtil.isNotEmpty(oldPoleIdList)) {
+ oldRelation = lightTaskPoleRelationService.list(Wrappers.lambdaQuery(LightTaskPoleRelation.class).in(LightTaskPoleRelation::getPoleId, oldPoleIdList)
+ .ne(LightTaskPoleRelation::getTaskId, taskId).eq(LightTaskPoleRelation::getLightAddress, param.getLightAddress()));
+ }
}
/**
* 閲嶅浠诲姟鐨勭伅澶�
*/
- if (!oldLightTaskStatusAndPoles.isEmpty()) {
- throw new BusinessException("浠诲姟涓瓨鍦ㄥ凡鏈変换鍔$殑鍗曠伅," + "浠诲姟id涓簕" + oldRelation.stream().map(LightTaskPoleRelation::getTaskId).collect(Collectors.toList()) + "}, " + "鐏潌id涓簕" + oldRelation.stream().map(LightTaskPoleRelation::getPoleId).collect(Collectors.toList()) + "}");
- }
-
-
- //鍒ゆ柇鏃х伅鏉嗘槸鍚︽湁鏂扮伅澶村湴鍧�
- List<Long> oldPoleIdListHasNewLightAddress = oldPoleIdList.stream().filter(poleId -> {
- List<LightTaskPoleRelation> lightTaskPoleRelations = lightTaskPoleRelationService.list(Wrappers.lambdaQuery(LightTaskPoleRelation.class).eq(LightTaskPoleRelation::getPoleId, poleId).eq(LightTaskPoleRelation::getLightAddress, param.getLightAddress()));
- if (CollectionUtil.isNotEmpty(lightTaskPoleRelations)) {
- return !lightTaskPoleRelations.get(0).getLightAddress().equals(param.getLightAddress());
- }
- return false;
- }).collect(Collectors.toList());
-
- if (!oldPoleIdListHasNewLightAddress.isEmpty()) {
- throw new BusinessException("浠诲姟涓瓨鍦ㄥ凡鏈変换鍔$殑鍗曠伅,鐏潌id涓簕" + oldPoleIdListHasNewLightAddress + "}");
+ if (!oldRelation.isEmpty()) {
+ List<Long> taskIds = oldRelation.stream().map(LightTaskPoleRelation::getTaskId).collect(Collectors.toList());
+ List<Long> poleIds = oldRelation.stream().map(LightTaskPoleRelation::getPoleId).collect(Collectors.toList());
+ //poleIds涓噸澶嶅厓绱犲彧淇濈暀涓�涓�
+ taskIds = taskIds.stream().distinct().collect(Collectors.toList());
+ poleIds = poleIds.stream().distinct().collect(Collectors.toList());
+ throw new BusinessException("浠诲姟涓瓨鍦ㄥ凡鏈変换鍔$殑鍗曠伅," + "浠诲姟id涓簕" + taskIds + "}, "
+ + "鐏潌id涓簕" + poleIds + "}");
}
@@ -321,7 +283,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<>());
@@ -333,29 +295,31 @@
List<LightTaskPoleRelation> oldPoleSuccess = new ArrayList<>();
if (CollectionUtil.isNotEmpty(oldPoleIdList)) {
//瑕嗙洊鎿嶄綔鐏潌
- Map<String, List<LightTaskPoleRelation>> oldPoleMap = sendControllerFrame(oldPoleIdList, lightTask.getFramePayload(), param.getLightAddress());
+ 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<>());
}
- if (closePoleFail.size() == 0 && oldPoleFail.size() == 0) {
+ if (closePoleFail.size() == 0) {
//鏃т换鍔′腑鍏ㄩ儴鍙戦�佹寚浠ゆ垚鍔燂紝鏇存柊鍘熸湰浠诲姟涓殑鏁版嵁
newLightTask.setTaskId(lightTask.getTaskId());
updateById(newLightTask);
} else {
- if (!newPoleSuccess.isEmpty() || !oldPoleSuccess.isEmpty()) {
+ if (!newPoleSuccess.isEmpty()) {
//鏈夊け鏁楃殑闇�瑕佷繚瀛樻棫鐨勪换鍕欙紝鏂板鏂扮殑浠诲姟鏁版嵁杩涜淇濆瓨
save(newLightTask);
}
@@ -365,13 +329,13 @@
* 缂栬緫璺伅浠诲姟鏃ュ織璁板綍寮�濮�
*/
List<String> poleCodeList = new ArrayList<>();
- if (CollectionUtil.isNotEmpty(param.getPoleIdList())) {
- List<Pole> poleList = SpringContextHolder.getBean(PoleService.class).listByIds(param.getPoleIdList());
+ if (CollectionUtil.isNotEmpty(poleIdList)) {
+ List<Pole> poleList = SpringContextHolder.getBean(PoleService.class).listByIds(poleIdList);
if (CollectionUtil.isNotEmpty(poleList)) {
poleCodeList = poleList.stream().map(Pole::getDeviceCode).collect(Collectors.toList());
}
}
- String content = "{浠诲姟ID锛�" + newLightTask.getTaskId() + "锛� 浠诲姟鍚嶏細" + newLightTask.getTaskName() + "}锛寋鍐呭抚鎸囦护" + newLightTask.getFramePayload() + "锛� 鐏潌ID锛�" + param.getPoleIdList().toString() + "锛� 鎺у埗鐨勭伅澶村湴鍧�锛�" + param.getLightAddress() + " }";
+ String content = "{浠诲姟ID锛�" + newLightTask.getTaskId() + "锛� 浠诲姟鍚嶏細" + newLightTask.getTaskName() + "}锛寋鍐呭抚鎸囦护" + newLightTask.getFramePayload() + "锛� 鐏潌ID锛�" + poleIdList.toString() + "锛� 鎺у埗鐨勭伅澶村湴鍧�锛�" + param.getLightAddress() + " }";
StoreOperationRecordsUtils.storeOperationData(poleCodeList, null, "缂栬緫璺伅浠诲姟", content);
/**
* 缂栬緫璺伅浠诲姟鏃ュ織璁板綍缁撴潫
@@ -397,21 +361,18 @@
List<LightTaskPoleRelation> all = new ArrayList<>();
all.addAll(newPoleSuccess);
all.addAll(oldPoleSuccess);
- all.addAll(oldPoleFail);
- all.addAll(closePoleFail);
+// all.addAll(oldPoleFail);
+// all.addAll(closePoleFail);
List<Long> allPoleId = new ArrayList<>();
for (LightTaskPoleRelation bean : newPoleSuccess) {
allPoleId.add(bean.getPoleId());
}
- for (LightTaskPoleRelation bean : oldPoleSuccess) {
- allPoleId.add(bean.getPoleId());
- }
- for (LightTaskPoleRelation bean : oldPoleFail) {
- allPoleId.add(bean.getPoleId());
- }
for (LightTaskPoleRelation bean : closePoleSuccess) {
+ allPoleId.add(bean.getPoleId());
+ }
+ for (LightTaskPoleRelation bean : oldPoleSuccess) {
allPoleId.add(bean.getPoleId());
}
@@ -419,6 +380,7 @@
lightTaskPoleRelationService.remove(Wrappers.lambdaQuery(LightTaskPoleRelation.class).in(LightTaskPoleRelation::getPoleId, allPoleId));
}
+
if (!all.isEmpty()) {
lightTaskPoleRelationService.saveBatch(all);
}
@@ -427,17 +389,17 @@
/**
* 涓嬪彂璺伅浠诲姟鏃ュ織璁板綍寮�濮�
*/
- String content1 = "{浠诲姟ID锛�" + newLightTask.getTaskId() + "锛� 浠诲姟鍚嶏細" + newLightTask.getTaskName() + "}," + " 鐏潌ID锛�" + param.getPoleIdList().toString() + " }";
+ String content1 = "{浠诲姟ID锛�" + newLightTask.getTaskId() + "锛� 浠诲姟鍚嶏細" + newLightTask.getTaskName() + "}," + " 鐏潌ID锛�" + poleCodeList.toString() + " }";
StoreOperationRecordsUtils.storeOperationData(poleCodeList, null, "涓嬪彂璺伅浠诲姟", content1);
/**
* 涓嬪彂璺伅浠诲姟鏃ュ織璁板綍缁撴潫
*/
- if (newPoleFail.isEmpty() && oldPoleFail.isEmpty() && closePoleFail.isEmpty()) {
+ if (newPoleFail.isEmpty() && closePoleFail.isEmpty() && oldPoleFail.isEmpty()) {
return "缂栬緫鎴愬姛";
- } else if (newPoleSuccess.isEmpty() && oldPoleSuccess.isEmpty() && closePoleSuccess.isEmpty()) {
- throw new BusinessException("缂栬緫澶辫触,璇锋鏌ョ紪杈戠殑璁惧鏄惁鍦ㄧ嚎!");
- } else if (!closePoleFail.isEmpty() /*|| !oldPoleFail.isEmpty()*/) {
+ } else if (newPoleSuccess.isEmpty() && closePoleSuccess.isEmpty() && oldPoleSuccess.isEmpty()) {
+ throw new BusinessException("缂栬緫澶辫触,璇锋鏌ュ師鏈夎澶囧拰缂栬緫鍚庣殑璁惧鏄惁鍦ㄧ嚎!");
+ } else if (!closePoleFail.isEmpty() && !newPoleSuccess.isEmpty() && !oldPoleFail.isEmpty()) {
return "鍘熶换鍔′腑瀛樺湪涓嬪彂寮傚父锛屽師浠诲姟淇濈暀锛屽垱寤烘柊浠诲姟杩涜淇濆瓨";
} else if (!newPoleFail.isEmpty()) {
return "鏂颁换鍔′腑瀛樺湪涓嬪彂寮傚父锛屽拷鐣ュ紓甯告搷浣滅殑鐏潌";
@@ -456,10 +418,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);
}
@@ -586,7 +549,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());
@@ -662,6 +625,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<>();
@@ -677,7 +642,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());
@@ -754,6 +719,7 @@
map.put("success", success);
map.put("fail", fail);
map.put("all", lightTaskPoleRelationList);
+ log.error("鍙戦�佹帶鍒跺櫒甯х粨鏋滐細{}", map);
return map;
}
@@ -947,4 +913,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