Browse Source

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

master
yinhuaiwei 3 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.setMainDeviceId(basedataPatrolPoint.getMainDeviceId());
basedataPatrolPoint2.setPatrolPointCode(basedataPatrolPoint.getPatrolPointCode()); basedataPatrolPoint2.setPatrolPointCode(basedataPatrolPoint.getPatrolPointCode());
basedataPatrolPoint2.setPointTypeName(basedataPatrolPoint.getPointTypeName()); basedataPatrolPoint2.setPointTypeName(basedataPatrolPoint.getPointTypeName());
basedataPatrolPoint2.setPointTypeCode(basedataPatrolPoint.getPointTypeCode());
basedataPatrolPoint2.setPatrolPointName(basedataPatrolPoint.getPatrolPointName()); basedataPatrolPoint2.setPatrolPointName(basedataPatrolPoint.getPatrolPointName());
basedataPatrolPoint2.setDeviceName(basedataPatrolPoint.getDeviceName()); basedataPatrolPoint2.setDeviceName(basedataPatrolPoint.getDeviceName());
basedataPatrolPoint2.setAlgSubtypeId(basedataPatrolPoint.getAlgSubtypeId()); 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.Getter;
import lombok.Setter; import lombok.Setter;
import lombok.ToString;
import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle; import org.apache.commons.lang3.builder.ToStringStyle;
@Setter @Setter
@Getter @Getter
@ToString
public class BasedataPatrolPoint extends BaseEntity { public class BasedataPatrolPoint extends BaseEntity {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@JsonProperty("patrolpointId") @JsonProperty("patrolpointId")
@ -112,7 +114,11 @@ public class BasedataPatrolPoint extends BaseEntity {
private List<BasedataThresholdModification> subTypeDOList; private List<BasedataThresholdModification> subTypeDOList;
private BasedataThresholdModification subTypeDO; private BasedataThresholdModification subTypeDO;
/**
* 点位设备类型和点位设备编码
*/
private String pointTypeName; private String pointTypeName;
private String pointTypeCode;
public void setPatrolpointName(String patrolpointName) { public void setPatrolpointName(String patrolpointName) {
this.patrolpointName = patrolpointName; this.patrolpointName = patrolpointName;
@ -180,45 +186,4 @@ public class BasedataPatrolPoint extends BaseEntity {
.collect(Collectors.joining(",")); .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.JSONArray;
import com.alibaba.fastjson.JSONObject; 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.StringUtils;
import com.inspect.base.core.utils.xml.GenXmlByBean;
import com.inspect.metadata.alg.domain.BasedataAlgSubtype; import com.inspect.metadata.alg.domain.BasedataAlgSubtype;
import com.inspect.metadata.alg.mapper.BasedataAlgSubtypeMapper; import com.inspect.metadata.alg.mapper.BasedataAlgSubtypeMapper;
import com.inspect.metadata.area.domain.BaseDataArea; import com.inspect.metadata.area.domain.BaseDataArea;
import com.inspect.metadata.area.mapper.BaseDataAreaMapper; import com.inspect.metadata.area.mapper.BaseDataAreaMapper;
import com.inspect.metadata.eqpbook.domain.BasedataEqpBook; 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.domain.vo.PatrolTaskFtp;
import com.inspect.metadata.eqpbook.mapper.BasedataEqpBookChannelMapper; import com.inspect.metadata.eqpbook.mapper.BasedataEqpBookChannelMapper;
import com.inspect.metadata.eqpbook.mapper.BasedataEqpBookMapper; 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.prodevmnt.mapper.BasedataDeviceTypeMapper;
import com.inspect.metadata.station.domain.BasedataStation; import com.inspect.metadata.station.domain.BasedataStation;
import com.inspect.metadata.station.mapper.BasedataStationMapper; 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 com.inspect.system.base.domain.SysDictData;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@ -51,14 +41,15 @@ import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import java.io.ByteArrayInputStream;
import java.io.InputStream;
import java.util.*;
@Service @Service
public class BasedataPatrolPointServiceImpl implements IBasedataPatrolPointService { public class BasedataPatrolPointServiceImpl implements IBasedataPatrolPointService {
protected final Logger logger = LoggerFactory.getLogger(this.getClass()); protected final Logger logger = LoggerFactory.getLogger(this.getClass());
@Resource @Resource
private BasedataPatrolPointMapper basedataPatrolpointMapper;
@Resource
private BasedataDeviceMapper basedataDeviceMapper;
@Resource
BasedataStationMapper basedataStationMapper; BasedataStationMapper basedataStationMapper;
@Resource @Resource
BasedataDeviceTypeMapper basedataDevicetypeMapper; BasedataDeviceTypeMapper basedataDevicetypeMapper;
@ -73,6 +64,10 @@ public class BasedataPatrolPointServiceImpl implements IBasedataPatrolPointServi
@Resource @Resource
SyncDataToUpstreamService syncDataToUpstreamService; SyncDataToUpstreamService syncDataToUpstreamService;
@Resource @Resource
private BasedataPatrolPointMapper basedataPatrolpointMapper;
@Resource
private BasedataDeviceMapper basedataDeviceMapper;
@Resource
private BasedataAlgSubtypeMapper basedataAlgSubtypeMapper; private BasedataAlgSubtypeMapper basedataAlgSubtypeMapper;
@Resource @Resource
@ -86,6 +81,7 @@ public class BasedataPatrolPointServiceImpl implements IBasedataPatrolPointServi
return this.basedataPatrolpointMapper.selectBasedataPatrolPointList(basedataPatrolpoint); return this.basedataPatrolpointMapper.selectBasedataPatrolPointList(basedataPatrolpoint);
} }
@Override
public List<BasedataPatrolPoint> selectBasedataMonitorList(BasedataPatrolPoint basedataPatrolpoint) { public List<BasedataPatrolPoint> selectBasedataMonitorList(BasedataPatrolPoint basedataPatrolpoint) {
List<BasedataPatrolPoint> pointList = basedataPatrolpointMapper.selectBasedataMonitorList(basedataPatrolpoint); List<BasedataPatrolPoint> pointList = basedataPatrolpointMapper.selectBasedataMonitorList(basedataPatrolpoint);
logger.info("[META] pointList size: {},pointList: {}", pointList.size(), pointList); logger.info("[META] pointList size: {},pointList: {}", pointList.size(), pointList);
@ -120,22 +116,19 @@ public class BasedataPatrolPointServiceImpl implements IBasedataPatrolPointServi
algSubtypeMap.put(item.getAlgSubtypeId() + "", item.getAlgSubtypeName()); algSubtypeMap.put(item.getAlgSubtypeId() + "", item.getAlgSubtypeName());
}); });
logger.info("[META] algSubtypeMap: {}", algSubtypeMap); 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) { for (BasedataPatrolPoint basedataPatrolPoint : pointList) {
basedataPatrolPoint.loadAlgSubtypeName(algSubtypeMap); 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); logger.info("[META] pointList size: {},pointList: {}", pointList.size(), pointList);
return pointList; return pointList;
} }
@Override
public List<BasedataPatrolPoint> selectBasedataMonitorRelationList(BasedataPatrolPoint basedataPatrolpoint) { public List<BasedataPatrolPoint> selectBasedataMonitorRelationList(BasedataPatrolPoint basedataPatrolpoint) {
List<BasedataPatrolPoint> pointList = basedataPatrolpointMapper.selectBasedataMonitorRelationList(basedataPatrolpoint); List<BasedataPatrolPoint> pointList = basedataPatrolpointMapper.selectBasedataMonitorRelationList(basedataPatrolpoint);
@ -170,39 +163,59 @@ public class BasedataPatrolPointServiceImpl implements IBasedataPatrolPointServi
algSubtypeMap.put(item.getAlgSubtypeId() + "", item.getAlgSubtypeName()); algSubtypeMap.put(item.getAlgSubtypeId() + "", item.getAlgSubtypeName());
}); });
logger.info("[META] algSubtypeMap: {}", algSubtypeMap); 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) { for (BasedataPatrolPoint basedataPatrolPoint : pointList) {
basedataPatrolPoint.loadAlgSubtypeName(algSubtypeMap); 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); logger.info("[META] pointList size: {},pointList: {}", pointList.size(), pointList);
return 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) { public BasedataPatrolPoint insertBasedataPatrolPoint(BasedataPatrolPoint basedataPatrolpoint) {
basedataPatrolpoint.setCreateTime(DateUtils.getNowDate()); basedataPatrolpoint.setCreateTime(DateUtils.getNowDate());


Loading…
Cancel
Save