Browse Source

feat: 点位管理列表按照字典表的设备类型封装

master
yinhuaiwei 4 days ago
parent
commit
00714efe73
3 changed files with 68 additions and 89 deletions
  1. +1
    -0
      inspect-metadata/src/main/java/com/inspect/metadata/patrolpointmnt/controller/BasedataPatrolPointController.java
  2. +6
    -41
      inspect-metadata/src/main/java/com/inspect/metadata/patrolpointmnt/domain/BasedataPatrolPoint.java
  3. +61
    -48
      inspect-metadata/src/main/java/com/inspect/metadata/patrolpointmnt/service/impl/BasedataPatrolPointServiceImpl.java

+ 1
- 0
inspect-metadata/src/main/java/com/inspect/metadata/patrolpointmnt/controller/BasedataPatrolPointController.java View File

@ -149,6 +149,7 @@ public class BasedataPatrolPointController extends BaseController {
basedataPatrolPoint2.setMainDeviceId(basedataPatrolPoint.getMainDeviceId());
basedataPatrolPoint2.setPatrolPointCode(basedataPatrolPoint.getPatrolPointCode());
basedataPatrolPoint2.setPointTypeName(basedataPatrolPoint.getPointTypeName());
basedataPatrolPoint2.setPointTypeCode(basedataPatrolPoint.getPointTypeCode());
basedataPatrolPoint2.setPatrolPointName(basedataPatrolPoint.getPatrolPointName());
basedataPatrolPoint2.setDeviceName(basedataPatrolPoint.getDeviceName());
basedataPatrolPoint2.setAlgSubtypeId(basedataPatrolPoint.getAlgSubtypeId());


+ 6
- 41
inspect-metadata/src/main/java/com/inspect/metadata/patrolpointmnt/domain/BasedataPatrolPoint.java View File

@ -12,11 +12,13 @@ import java.util.stream.Collectors;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
@Setter
@Getter
@ToString
public class BasedataPatrolPoint extends BaseEntity {
private static final long serialVersionUID = 1L;
@JsonProperty("patrolpointId")
@ -112,7 +114,11 @@ public class BasedataPatrolPoint extends BaseEntity {
private List<BasedataThresholdModification> subTypeDOList;
private BasedataThresholdModification subTypeDO;
/**
* 点位设备类型和点位设备编码
*/
private String pointTypeName;
private String pointTypeCode;
public void setPatrolpointName(String patrolpointName) {
this.patrolpointName = patrolpointName;
@ -180,45 +186,4 @@ public class BasedataPatrolPoint extends BaseEntity {
.collect(Collectors.joining(","));
}
}
@Override
public String toString() {
return "BasedataPatrolPoint{" +
"patrolPointId=" + patrolPointId +
", patrolPointCode='" + patrolPointCode + '\'' +
", patrolPointName='" + patrolPointName + '\'' +
", patrolpointName='" + patrolpointName + '\'' +
", deviceTypeId=" + deviceTypeId +
", mainDeviceId=" + mainDeviceId +
", relationMainDeviceId=" + relationMainDeviceId +
", deviceId=" + deviceId +
", relationDeviceId=" + relationDeviceId +
", deviceName='" + deviceName + '\'' +
", patrolContent='" + patrolContent + '\'' +
", purpose='" + purpose + '\'' +
", deleteFlag='" + deleteFlag + '\'' +
", stdParolPointId=" + stdParolPointId +
", areaId=" + areaId +
", relationAreaId=" + relationAreaId +
", patrolTypeId='" + patrolTypeId + '\'' +
", pointImptLevel='" + pointImptLevel + '\'' +
", alarmThreshold='" + alarmThreshold + '\'' +
", algSubtypeId='" + algSubtypeId + '\'' +
", algSubtypeName='" + algSubtypeName + '\'' +
", lowerValue='" + lowerValue + '\'' +
", upperValue='" + upperValue + '\'' +
", positionX='" + positionX + '\'' +
", positionY='" + positionY + '\'' +
", positionZ='" + positionZ + '\'' +
", algSubtypeIds='" + algSubtypeIds + '\'' +
", originalAlgSubtypeIds='" + originalAlgSubtypeIds + '\'' +
", originalDeviceId='" + originalDeviceId + '\'' +
", disRefPicturePath='" + disRefPicturePath + '\'' +
", originalMainDeviceId='" + originalMainDeviceId + '\'' +
", meterType='" + meterType + '\'' +
", subTypeDOList=" + subTypeDOList +
", subTypeDO=" + subTypeDO +
", pointTypeName='" + pointTypeName + '\'' +
'}';
}
}

+ 61
- 48
inspect-metadata/src/main/java/com/inspect/metadata/patrolpointmnt/service/impl/BasedataPatrolPointServiceImpl.java View File

@ -2,14 +2,17 @@ package com.inspect.metadata.patrolpointmnt.service.impl;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.inspect.base.core.constant.Color;
import com.inspect.base.core.domain.DataMsg;
import com.inspect.base.core.service.SyncDataToUpstreamService;
import com.inspect.base.core.utils.DateUtils;
import com.inspect.base.core.utils.SFTPUtil;
import com.inspect.base.core.utils.StringUtils;
import com.inspect.base.core.utils.xml.GenXmlByBean;
import com.inspect.metadata.alg.domain.BasedataAlgSubtype;
import com.inspect.metadata.alg.mapper.BasedataAlgSubtypeMapper;
import com.inspect.metadata.area.domain.BaseDataArea;
import com.inspect.metadata.area.mapper.BaseDataAreaMapper;
import com.inspect.metadata.eqpbook.domain.BasedataEqpBook;
import com.inspect.metadata.eqpbook.domain.BasedataEqpBookChannel;
import com.inspect.metadata.eqpbook.domain.vo.PatrolTaskFtp;
import com.inspect.metadata.eqpbook.mapper.BasedataEqpBookChannelMapper;
import com.inspect.metadata.eqpbook.mapper.BasedataEqpBookMapper;
@ -31,19 +34,6 @@ import com.inspect.metadata.prodevmnt.mapper.BasedataDeviceMapper;
import com.inspect.metadata.prodevmnt.mapper.BasedataDeviceTypeMapper;
import com.inspect.metadata.station.domain.BasedataStation;
import com.inspect.metadata.station.mapper.BasedataStationMapper;
import com.inspect.base.core.domain.DataMsg;
import com.inspect.base.core.service.SyncDataToUpstreamService;
import com.inspect.base.core.utils.DateUtils;
import com.inspect.base.core.utils.SFTPUtil;
import com.inspect.base.core.utils.xml.GenXmlByBean;
import java.io.ByteArrayInputStream;
import java.io.InputStream;
import java.util.*;
import java.util.stream.Collectors;
import javax.annotation.Resource;
import com.inspect.system.base.domain.SysDictData;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -51,14 +41,15 @@ import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import java.io.ByteArrayInputStream;
import java.io.InputStream;
import java.util.*;
@Service
public class BasedataPatrolPointServiceImpl implements IBasedataPatrolPointService {
protected final Logger logger = LoggerFactory.getLogger(this.getClass());
@Resource
private BasedataPatrolPointMapper basedataPatrolpointMapper;
@Resource
private BasedataDeviceMapper basedataDeviceMapper;
@Resource
BasedataStationMapper basedataStationMapper;
@Resource
BasedataDeviceTypeMapper basedataDevicetypeMapper;
@ -73,6 +64,10 @@ public class BasedataPatrolPointServiceImpl implements IBasedataPatrolPointServi
@Resource
SyncDataToUpstreamService syncDataToUpstreamService;
@Resource
private BasedataPatrolPointMapper basedataPatrolpointMapper;
@Resource
private BasedataDeviceMapper basedataDeviceMapper;
@Resource
private BasedataAlgSubtypeMapper basedataAlgSubtypeMapper;
@Resource
@ -86,6 +81,7 @@ public class BasedataPatrolPointServiceImpl implements IBasedataPatrolPointServi
return this.basedataPatrolpointMapper.selectBasedataPatrolPointList(basedataPatrolpoint);
}
@Override
public List<BasedataPatrolPoint> selectBasedataMonitorList(BasedataPatrolPoint basedataPatrolpoint) {
List<BasedataPatrolPoint> pointList = basedataPatrolpointMapper.selectBasedataMonitorList(basedataPatrolpoint);
logger.info("[META] pointList size: {},pointList: {}", pointList.size(), pointList);
@ -120,22 +116,19 @@ public class BasedataPatrolPointServiceImpl implements IBasedataPatrolPointServi
algSubtypeMap.put(item.getAlgSubtypeId() + "", item.getAlgSubtypeName());
});
logger.info("[META] algSubtypeMap: {}", algSubtypeMap);
// pointList.forEach((item) -> item.loadAlgSubtypeName(algSubtypeMap));
Map<String, String> deviceTypeDictMap = getDeviceTypeDictMap();
List<SysDictData> dictList = getSysDictDataList("point_device_type");
Optional<SysDictData> defaultDictData = dictList.stream()
.filter(SysDictData::getDefault)
.findFirst();
for (BasedataPatrolPoint basedataPatrolPoint : pointList) {
basedataPatrolPoint.loadAlgSubtypeName(algSubtypeMap);
String patrolPointCode = basedataPatrolPoint.getPatrolPointCode();
basedataPatrolPoint.setPointTypeName("摄像机");
if(StringUtils.isNotEmpty(patrolPointCode) && patrolPointCode.contains("|")) {
patrolPointCode = patrolPointCode.substring(0, patrolPointCode.indexOf("|"));
String pointTypeName = deviceTypeDictMap.getOrDefault(patrolPointCode, "未知设备类型");
basedataPatrolPoint.setPointTypeName(pointTypeName);
}
processPointType(basedataPatrolPoint, dictList, defaultDictData);
}
logger.info("[META] pointList size: {},pointList: {}", pointList.size(), pointList);
return pointList;
}
@Override
public List<BasedataPatrolPoint> selectBasedataMonitorRelationList(BasedataPatrolPoint basedataPatrolpoint) {
List<BasedataPatrolPoint> pointList = basedataPatrolpointMapper.selectBasedataMonitorRelationList(basedataPatrolpoint);
@ -170,39 +163,59 @@ public class BasedataPatrolPointServiceImpl implements IBasedataPatrolPointServi
algSubtypeMap.put(item.getAlgSubtypeId() + "", item.getAlgSubtypeName());
});
logger.info("[META] algSubtypeMap: {}", algSubtypeMap);
// pointList.forEach((item) -> item.loadAlgSubtypeName(algSubtypeMap));
Map<String, String> deviceTypeDictMap = getDeviceTypeDictMap();
List<SysDictData> dictList = getSysDictDataList("point_device_type");
Optional<SysDictData> defaultDictData = dictList.stream()
.filter(SysDictData::getDefault)
.findFirst();
for (BasedataPatrolPoint basedataPatrolPoint : pointList) {
basedataPatrolPoint.loadAlgSubtypeName(algSubtypeMap);
String patrolPointCode = basedataPatrolPoint.getPatrolPointCode();
basedataPatrolPoint.setPointTypeName("摄像机");
if(StringUtils.isNotEmpty(patrolPointCode) && patrolPointCode.contains("|")) {
patrolPointCode = patrolPointCode.substring(0, patrolPointCode.indexOf("|"));
String pointTypeName = deviceTypeDictMap.getOrDefault(patrolPointCode, "未知设备类型");
basedataPatrolPoint.setPointTypeName(pointTypeName);
}
processPointType(basedataPatrolPoint, dictList, defaultDictData);
}
logger.info("[META] pointList size: {},pointList: {}", pointList.size(), pointList);
return pointList;
}
/**
* 查询设备类型字典point_device_type并转换为 Map
* 处理点位的设备类型
*
* @param dictList
* @param basedataPatrolPoint
*/
private Map<String, String> getDeviceTypeDictMap() {
Map<String, String> dictMap = new HashMap<>();
try {
List<SysDictData> dictDatas = basedataPatrolpointMapper.selectDictDataByType("point_device_type");
if (dictDatas != null) {
dictMap = dictDatas.stream()
.collect(Collectors.toMap(SysDictData::getDictValue, SysDictData::getDictLabel));
private void processPointType(BasedataPatrolPoint basedataPatrolPoint, List<SysDictData> dictList, Optional<SysDictData> defaultDictData) {
String patrolPointCode = basedataPatrolPoint.getPatrolPointCode();
if (StringUtils.isNotEmpty(patrolPointCode)) {
if (patrolPointCode.contains("|")) {
String finalPatrolPointCode = patrolPointCode.substring(0, patrolPointCode.indexOf("|"));
Optional<String> pointTypeName = dictList.stream()
.filter(dict -> {
String valueStr = dict.getDictValue(); // 调用 getter
if (valueStr == null) {
return false;
}
return Arrays.stream(valueStr.split(","))
.map(String::trim)
.anyMatch(code -> code.equals(finalPatrolPointCode));
})
.map(SysDictData::getDictLabel)
.findFirst();
basedataPatrolPoint.setPointTypeName(pointTypeName.orElse("未知设备类型"));
basedataPatrolPoint.setPointTypeCode(finalPatrolPointCode);
} else {
defaultDictData.ifPresent(dict -> {
basedataPatrolPoint.setPointTypeName(dict.getDictLabel());
String[] codes = dict.getDictValue().split(",");
logger.info("[META] pointTypeCode: {}", codes);
if (codes.length > 0) {
basedataPatrolPoint.setPointTypeCode(codes[0]);
}
});
}
} catch (Exception e) {
logger.error("查询字典 point_device_type 失败", e);
}
return dictMap;
}
private List<SysDictData> getSysDictDataList(String dictType) {
return basedataPatrolpointMapper.selectDictDataByType(dictType);
}
public BasedataPatrolPoint insertBasedataPatrolPoint(BasedataPatrolPoint basedataPatrolpoint) {
basedataPatrolpoint.setCreateTime(DateUtils.getNowDate());


Loading…
Cancel
Save