From 0d2e4e6b8954d77dd34664f861135ae41f7eb828 Mon Sep 17 00:00:00 2001
From: liuhaonan <31457034@qq.com>
Date: 星期五, 13 五月 2022 10:31:34 +0800
Subject: [PATCH] 单灯数据直接下载
---
ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleService.java | 118 +++++++++++++++++++++--------------------------------------
1 files changed, 42 insertions(+), 76 deletions(-)
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleService.java
index ae99367..f892597 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleService.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleService.java
@@ -7,6 +7,7 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.pagehelper.PageHelper;
+import com.sandu.common.domain.CommonPage;
import com.sandu.common.execption.BusinessException;
import com.sandu.common.object.BaseConditionVO;
import com.sandu.common.redis.RedisService;
@@ -14,6 +15,7 @@
import com.sandu.common.util.SpringContextHolder;
import com.sandu.ximon.admin.dto.DeviceStatus;
import com.sandu.ximon.admin.dto.WaterQualityDataDto;
+import com.sandu.ximon.admin.entity.Command;
import com.sandu.ximon.admin.manager.iot.frame.A1Frame;
import com.sandu.ximon.admin.manager.iot.frame.FrameBuilder;
import com.sandu.ximon.admin.manager.iot.frame.IRequestFrame;
@@ -31,6 +33,7 @@
import com.sandu.ximon.admin.redis.LightKey;
import com.sandu.ximon.admin.security.SecurityUtils;
import com.sandu.ximon.admin.utils.LightemitUtils;
+import com.sandu.ximon.admin.utils.ListPagingUtils;
import com.sandu.ximon.admin.utils.RedisUtils;
import com.sandu.ximon.admin.utils.response.VnnoxResult;
import com.sandu.ximon.admin.vo.PoleBindVO;
@@ -74,6 +77,13 @@
Pole pole = getById(poleId);
if (pole == null) {
throw new BusinessException("鏈壘鍒拌鐏潌");
+ }
+ Long clientId = SecurityUtils.getClientId();
+ //闈炶秴绠�
+ if (clientId != null) {
+ if (!Objects.equals(SecurityUtils.getUserId(), pole.getUserId()) && !Objects.equals(SecurityUtils.getUserId(), pole.getClientId())) {
+ throw new BusinessException("璇ョ伅鏉嗕笉灞炰簬鎮�");
+ }
}
Pole update = new Pole();
BeanUtils.copyProperties(param, update);
@@ -245,7 +255,7 @@
//鐔欒
List<PoleLightemitEntity> poleLightemitEntities = SpringContextHolder.getBean(PoleLightemitService.class).listLed(null, false);
- List<PoleLightemitEntity> poleLightemitEntityOnlineList = SpringContextHolder.getBean(PoleLightemitService.class).ledOnline(poleLightemitEntities);
+ List<PoleLightemitEntity> poleLightemitEntityOnlineList = SpringContextHolder.getBean(PoleLightemitService.class).listLed(null, true);
result.put("XiXunOnlineCount", poleLightemitEntityOnlineList.size());
result.put("XiXunTotalCount", poleLightemitEntities.size());
@@ -253,80 +263,42 @@
return result;
}
- public List<Pole> queryAllStatesAndList(Integer pageNo, Integer pageSize, PoleStatesParam param) {
-
- List<Pole> list = new ArrayList<>();
- LambdaQueryWrapper<Pole> wrapper = new LambdaQueryWrapper<>();
+ public CommonPage queryAllStatesAndList(Integer pageNo, Integer pageSize, PoleStatesParam param) {
+ if (param == null) {
+ param = new PoleStatesParam();
+ }
+ System.out.println(param);
+ List<Pole> poleList;
if (SecurityUtils.getClientId() == null) {
- wrapper = Wrappers.lambdaQuery(Pole.class);
+ poleList = poleMapper.queryPoleOnLineStatesList(null, param.getIsTrue(), param.getBingStates(), param.getGroupid(), param.getKeyword());
} else {
- wrapper = Wrappers.lambdaQuery(Pole.class).eq(Pole::getClientId, SecurityUtils.getUserId()).or(
- w -> {
- w.eq(Pole::getUserId, SecurityUtils.getUserId());
- });
- }
- if (param.getKeyword() != null && !param.getKeyword().isEmpty()) {
- wrapper.like(Pole::getPoleCode, param.getKeyword()).or(
- wrappers -> {
- wrappers.like(Pole::getPoleName, param.getKeyword());
- }
- );
+ poleList = poleMapper.queryPoleOnLineStatesList(SecurityUtils.getUserId(), param.getIsTrue(), param.getBingStates(), param.getGroupid(), param.getKeyword());
}
- PageHelper.startPage(pageNo, pageSize);
- list = list(wrapper);
- if (param.getGroupid() != null) {
- // List<Long> poleIds = new ArrayList<>();
- List<Pole> pole = new ArrayList<>();
- List<PoleGroupRelation> relations = groupRelationService.list(Wrappers.lambdaQuery(PoleGroupRelation.class)
- .eq(PoleGroupRelation::getPoleGroupId, param.getGroupid()));
- relations.forEach(relation -> {
- pole.add(getById(relation.getPoleId()));
- }
- );
- list = pole;
- }
+ List<Pole> PoleResult = isOnLine(poleList, param);
+ setCount(PoleResult);
- if (param.getBingStates() != 2) {//鏄惁缁戝畾
- list = isBind(list, param);// 缁戝畾/鏈粦瀹�
- if (param.getIsTrue() != 2) {//宸茬粦瀹氱殑鏄惁鏄湡瀹炵伅鏉�
- list = isTrue(list, param);
- if (param.getOnLineStates() != 2) {//缁戝畾鐨勭湡瀹炵伅鏉嗘槸鍚﹀湪绾�
- list = isOnLine(list, param);
- }
- } else {//鍏ㄩ儴鐏潌 瀹炰綋/铏氭嫙
- if (param.getOnLineStates() != 2) { //鏌ヨ鍏ㄩ儴鐏潌鏄惁鍦ㄧ嚎
- list = isOnLine(list, param);
- }
- }
- } else {//鍏ㄩ儴 缁戝畾/鏈粦瀹�
- if (param.getIsTrue() != 2) {// 鍒ゆ柇鐏潌绫诲瀷
- list = isTrue(list, param);// 瀹炰綋/铏氭嫙
- if (param.getOnLineStates() != 2) {// 鐏潌鐨勫湪绾垮垽鏂�
- list = isOnLine(list, param);//鍦ㄧ嚎/绂荤嚎
- }
- } else {//鍏ㄧ被鍨嬬伅鏉�
- if (param.getOnLineStates() != 2) {//鍒ゆ柇鍦ㄧ嚎鐘舵��
- list = isOnLine(list, param);//鍦ㄧ嚎/绂荤嚎
- }
- }
- }
+ CommonPage commonPage = ListPagingUtils.pages(PoleResult, pageNo, pageSize);
- setCount(list);
- return list;
+ return commonPage;
}
/**
- * 璁剧疆缁戝畾璁惧鏁伴噺
+ * 鑾峰彇缁戝畾璁惧璇︽儏
*
* @param list
* @return
*/
public List<Pole> setCount(List<Pole> list) {
- for (Pole post : list) {
- int size = poleBindingService.list(Wrappers.lambdaQuery(PoleBinding.class).eq(PoleBinding::getPoleId, post.getId())).size();
-// System.out.println("size:----------------------"+size);
- post.setBindingCount(size);
+ BindEquipments bindEquipments;
+ for (Pole pole : list) {
+ bindEquipments = new BindEquipments();
+ List<PoleBinding> poleBindings = poleBindingService.list(Wrappers.lambdaQuery(PoleBinding.class).eq(PoleBinding::getPoleId, pole.getId()));
+ pole.setBindingCount(poleBindings.size());
+ for (PoleBinding poleBinding : poleBindings) {
+ bindEquipments.setInfo(poleBinding.getDeviceType());
+ }
+ pole.setBindEquipments(bindEquipments);
}
return list;
}
@@ -408,11 +380,14 @@
}
public List<Pole> isTrue(List<Pole> list, PoleStatesParam param) {
- List<Pole> isTrue = new ArrayList<>();//瀹炰綋鐏潌
- List<Pole> isFalse = new ArrayList<>();//铏氭嫙鐏潌
+ //瀹炰綋鐏潌
+ List<Pole> isTrue = new ArrayList<>();
+ //铏氭嫙鐏潌
+ List<Pole> isFalse = new ArrayList<>();
list.forEach(bindwarpper -> {
// Long clientId = bindwarpper.getClientId();
- if (bindwarpper.getDeviceCode() == null) {
+ //鍒ゆ柇鏄惁缁戝畾
+ if (bindwarpper.getDeviceType() == -1) {
isFalse.add(bindwarpper);
} else {
isTrue.add(bindwarpper);
@@ -447,16 +422,13 @@
if (deviceStatuses != null) {
for (Pole post : list) {
for (BatchGetDeviceStateResponse.DeviceStatus deviceStatus : deviceStatuses) {
-// System.out.println("DeviceCode:---------------------"+post.getDeviceCode());
-// System.out.println("DeviceName:---------------------"+deviceStatus.getDeviceName());
+
if (post.getDeviceCode() != null && post.getDeviceCode().equals(deviceStatus.getDeviceName())) {
post.setOnLineState(deviceStatus.getStatus());
-// int size = poleBindingService.list(Wrappers.lambdaQuery(PoleBinding.class).eq(PoleBinding::getPoleId, post.getId())).size();
-//// System.out.println("size:----------------------"+size);
-// post.setBindingCount(size);
+
}
}
- // MacCodes.add(post.getDeviceCode());
+
}
}
@@ -470,8 +442,6 @@
* @return
*/
public List<Pole> queryStatesAndList(Integer pageNo, Integer pageSize, String keyword, Long groupid) {
- // List<LampPost> list = list(Wrappers.lambdaQuery(LampPost.class).eq(LampPost::getClientId, SecurityUtils.getUserId()));
- //List<Pole> list = list(Wrappers.lambdaQuery(Pole.class));
PageHelper.startPage(pageNo, pageSize);
List<Pole> list = new ArrayList<>();
LambdaQueryWrapper<Pole> wrapper = new LambdaQueryWrapper<>();
@@ -496,16 +466,12 @@
List<BatchGetDeviceStateResponse.DeviceStatus> deviceStatuses = MainBoardInvokeSyncService.getInstance().batchGetDeviceState(MacCodes);
for (Pole post : list) {
for (BatchGetDeviceStateResponse.DeviceStatus deviceStatus : deviceStatuses) {
-// System.out.println("DeviceCode:---------------------"+post.getDeviceCode());
-// System.out.println("DeviceName:---------------------"+deviceStatus.getDeviceName());
if (post.getDeviceCode() != null && post.getDeviceCode().equals(deviceStatus.getDeviceName())) {
post.setOnLineState(deviceStatus.getStatus());
int size = poleBindingService.list(Wrappers.lambdaQuery(PoleBinding.class).eq(PoleBinding::getPoleId, post.getId())).size();
-// System.out.println("size:----------------------"+size);
post.setBindingCount(size);
}
}
- // MacCodes.add(post.getDeviceCode());
}
--
Gitblit v1.9.3