|
@@ -12,18 +12,14 @@ package com.ruoyi.ems.service.impl;
|
|
|
|
|
|
import com.huashe.common.exception.Assert;
|
|
|
import com.huashe.common.exception.BusinessException;
|
|
|
-import com.ruoyi.ems.core.BaseCache;
|
|
|
import com.ruoyi.ems.domain.Area;
|
|
|
+import com.ruoyi.ems.domain.ElecMeterH;
|
|
|
import com.ruoyi.ems.domain.EmsFacs;
|
|
|
import com.ruoyi.ems.domain.EnergyMeter;
|
|
|
-import com.ruoyi.ems.domain.ElecMeterH;
|
|
|
-import com.ruoyi.ems.domain.FacsCategory;
|
|
|
-import com.ruoyi.ems.domain.FacsSubCategory;
|
|
|
import com.ruoyi.ems.domain.MeterBoundaryRel;
|
|
|
import com.ruoyi.ems.enums.MeterObjType;
|
|
|
import com.ruoyi.ems.model.BoundaryObj;
|
|
|
import com.ruoyi.ems.model.QueryMeter;
|
|
|
-import com.ruoyi.ems.model.TreeEntity;
|
|
|
import com.ruoyi.ems.service.IAreaService;
|
|
|
import com.ruoyi.ems.service.IBoundaryObjService;
|
|
|
import com.ruoyi.ems.service.IElecMeterHService;
|
|
@@ -35,7 +31,6 @@ import org.apache.commons.lang3.StringUtils;
|
|
|
import org.slf4j.Logger;
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
-import org.springframework.beans.factory.annotation.Qualifier;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
@@ -59,10 +54,6 @@ import java.util.stream.Collectors;
|
|
|
public class BoundaryObjServiceImpl implements IBoundaryObjService {
|
|
|
private static final Logger log = LoggerFactory.getLogger(BoundaryObjServiceImpl.class);
|
|
|
|
|
|
- @Qualifier("emsCommonCache")
|
|
|
- @Autowired
|
|
|
- private BaseCache emsCommonCache;
|
|
|
-
|
|
|
// 注入区域服务
|
|
|
@Autowired
|
|
|
private IAreaService areaService;
|
|
@@ -151,32 +142,48 @@ public class BoundaryObjServiceImpl implements IBoundaryObjService {
|
|
|
@Override
|
|
|
public List<ElecMeterH> getMeterByFacsCategory(QueryMeter queryMeter) {
|
|
|
List<ElecMeterH> result = new ArrayList<>();
|
|
|
- List<BoundaryObj> bObjs = facsService.getFacsWithMeterDev(queryMeter.getAreaCode(),
|
|
|
- queryMeter.getFacsCategory(), queryMeter.getFacsSubCategory());
|
|
|
+ List<BoundaryObj> bObjs = null;
|
|
|
+ String objCode = null;
|
|
|
+ String objName = null;
|
|
|
+ Set<String> devCodes = new HashSet<>();
|
|
|
|
|
|
- if (CollectionUtils.isNotEmpty(bObjs)) {
|
|
|
- Set<String> devCodes = new HashSet<>();
|
|
|
+ if (!StringUtils.equals(queryMeter.getObjCode(), queryMeter.getAreaCode()) && StringUtils.isNotEmpty(
|
|
|
+ queryMeter.getObjCode())) {
|
|
|
+ objCode = queryMeter.getObjCode();
|
|
|
+ EmsFacs emsFacs = facsService.selectEmsFacsByCode(objCode);
|
|
|
+ objName = emsFacs.getFacsName();
|
|
|
|
|
|
- for (BoundaryObj bObj : bObjs) {
|
|
|
- if (CollectionUtils.isNotEmpty(bObj.getBindElecMeterDevs())) {
|
|
|
- devCodes.addAll(bObj.getBindElecMeterDevs());
|
|
|
+ List<MeterBoundaryRel> relList = boundaryRelService.selectRelByObj(queryMeter.getObjCode(),
|
|
|
+ MeterObjType.METER_FACS.getType(), 45);
|
|
|
+
|
|
|
+ if (CollectionUtils.isNotEmpty(relList)) {
|
|
|
+ for (MeterBoundaryRel bObj : relList) {
|
|
|
+ devCodes.add(bObj.getMeterDevice());
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
- String objCode = null;
|
|
|
- String objName = null;
|
|
|
-
|
|
|
- if (StringUtils.isNotEmpty(queryMeter.getFacsSubCategory())) {
|
|
|
- objCode = queryMeter.getFacsSubCategory();
|
|
|
- FacsSubCategory facsSubCategory = emsCommonCache.getSubCategory(objCode);
|
|
|
- objName = null != facsSubCategory ? facsSubCategory.getName() : "未知";
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ if (StringUtils.equals("-1", queryMeter.getAreaCode())) {
|
|
|
+ objCode = "-1";
|
|
|
+ objName = "全部设施";
|
|
|
}
|
|
|
else {
|
|
|
- objCode = queryMeter.getFacsCategory();
|
|
|
- FacsCategory facsCategory = emsCommonCache.getCategory(objCode);
|
|
|
- objName = null != facsCategory ? facsCategory.getName() : "未知";
|
|
|
+ Area area = areaService.selectAreaByCode(queryMeter.getAreaCode());
|
|
|
+ objCode = queryMeter.getAreaCode();
|
|
|
+ objName = area.getAreaName();
|
|
|
+ }
|
|
|
+
|
|
|
+ bObjs = facsService.getFacsWithMeterDev(queryMeter.getAreaCode(), queryMeter.getFacsCategory(),
|
|
|
+ queryMeter.getFacsSubCategory());
|
|
|
+
|
|
|
+ for (BoundaryObj bObj : bObjs) {
|
|
|
+ if (CollectionUtils.isNotEmpty(bObj.getBindElecMeterDevs())) {
|
|
|
+ devCodes.addAll(bObj.getBindElecMeterDevs());
|
|
|
+ }
|
|
|
}
|
|
|
+ }
|
|
|
|
|
|
+ if (CollectionUtils.isNotEmpty(devCodes)) {
|
|
|
QueryMeter condition = new QueryMeter();
|
|
|
condition.setAreaCode(queryMeter.getAreaCode());
|
|
|
condition.setObjType(MeterObjType.METER_FACS.getType());
|
|
@@ -208,7 +215,7 @@ public class BoundaryObjServiceImpl implements IBoundaryObjService {
|
|
|
|
|
|
// 查询设施列表
|
|
|
EmsFacs facsParam = new EmsFacs();
|
|
|
- facsParam.setFacsCategory("Z");
|
|
|
+ facsParam.setFacsCategory(queryMeter.getFacsCategory());
|
|
|
List<EmsFacs> facsList = facsService.selectEmsFacsList(facsParam);
|
|
|
Set<String> facsAreaCodes = facsList.stream().map(EmsFacs::getRefArea).collect(Collectors.toSet());
|
|
|
|
|
@@ -231,7 +238,7 @@ public class BoundaryObjServiceImpl implements IBoundaryObjService {
|
|
|
|
|
|
Set<String> bdDevs = relList.stream().map(MeterBoundaryRel::getMeterDevice).collect(Collectors.toSet());
|
|
|
|
|
|
- result = getAreaMeterQuery(queryMeter.getAreaCode(), rootArea, bdDevs, queryMeter.getStartRecTime(),
|
|
|
+ result = getAreaMeterQuery(queryMeter, rootArea, bdDevs, queryMeter.getStartRecTime(),
|
|
|
queryMeter.getEndRecTime());
|
|
|
}
|
|
|
}
|
|
@@ -243,7 +250,7 @@ public class BoundaryObjServiceImpl implements IBoundaryObjService {
|
|
|
if (null != area && CollectionUtils.isNotEmpty(relList)) {
|
|
|
Set<String> bdDevs = relList.stream().map(MeterBoundaryRel::getMeterDevice).collect(Collectors.toSet());
|
|
|
|
|
|
- result = getAreaMeterQuery(queryMeter.getAreaCode(), area, bdDevs, queryMeter.getStartRecTime(),
|
|
|
+ result = getAreaMeterQuery(queryMeter, area, bdDevs, queryMeter.getStartRecTime(),
|
|
|
queryMeter.getEndRecTime());
|
|
|
}
|
|
|
}
|
|
@@ -251,11 +258,11 @@ public class BoundaryObjServiceImpl implements IBoundaryObjService {
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
- private List<ElecMeterH> getAreaMeterQuery(String rootArea, Area area, Set<String> bdDevs, String startTime,
|
|
|
+ private List<ElecMeterH> getAreaMeterQuery(QueryMeter queryMeter, Area area, Set<String> bdDevs, String startTime,
|
|
|
String endTime) {
|
|
|
QueryMeter condition = new QueryMeter();
|
|
|
- condition.setAreaCode(rootArea);
|
|
|
- condition.setObjCode(area.getAreaCode());
|
|
|
+ condition.setAreaCode(queryMeter.getAreaCode());
|
|
|
+ condition.setObjCode(queryMeter.getObjCode());
|
|
|
condition.setObjName(area.getAreaName());
|
|
|
condition.setStartRecTime(startTime);
|
|
|
condition.setEndRecTime(endTime);
|