From 00714efe738e523d7e7346afb58cdc77fa4226f5 Mon Sep 17 00:00:00 2001 From: yinhuaiwei Date: Mon, 23 Mar 2026 16:15:04 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E7=82=B9=E4=BD=8D=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E6=8C=89=E7=85=A7=E5=AD=97=E5=85=B8=E8=A1=A8?= =?UTF-8?q?=E7=9A=84=E8=AE=BE=E5=A4=87=E7=B1=BB=E5=9E=8B=E5=B0=81=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BasedataPatrolPointController.java | 1 + .../domain/BasedataPatrolPoint.java | 47 +------- .../impl/BasedataPatrolPointServiceImpl.java | 109 ++++++++++-------- 3 files changed, 68 insertions(+), 89 deletions(-) diff --git a/inspect-metadata/src/main/java/com/inspect/metadata/patrolpointmnt/controller/BasedataPatrolPointController.java b/inspect-metadata/src/main/java/com/inspect/metadata/patrolpointmnt/controller/BasedataPatrolPointController.java index 6679653..ce22a24 100644 --- a/inspect-metadata/src/main/java/com/inspect/metadata/patrolpointmnt/controller/BasedataPatrolPointController.java +++ b/inspect-metadata/src/main/java/com/inspect/metadata/patrolpointmnt/controller/BasedataPatrolPointController.java @@ -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()); diff --git a/inspect-metadata/src/main/java/com/inspect/metadata/patrolpointmnt/domain/BasedataPatrolPoint.java b/inspect-metadata/src/main/java/com/inspect/metadata/patrolpointmnt/domain/BasedataPatrolPoint.java index 6a8d1ab..2d7af8a 100644 --- a/inspect-metadata/src/main/java/com/inspect/metadata/patrolpointmnt/domain/BasedataPatrolPoint.java +++ b/inspect-metadata/src/main/java/com/inspect/metadata/patrolpointmnt/domain/BasedataPatrolPoint.java @@ -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 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 + '\'' + - '}'; - } } diff --git a/inspect-metadata/src/main/java/com/inspect/metadata/patrolpointmnt/service/impl/BasedataPatrolPointServiceImpl.java b/inspect-metadata/src/main/java/com/inspect/metadata/patrolpointmnt/service/impl/BasedataPatrolPointServiceImpl.java index 22d8a31..6ab8124 100644 --- a/inspect-metadata/src/main/java/com/inspect/metadata/patrolpointmnt/service/impl/BasedataPatrolPointServiceImpl.java +++ b/inspect-metadata/src/main/java/com/inspect/metadata/patrolpointmnt/service/impl/BasedataPatrolPointServiceImpl.java @@ -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 selectBasedataMonitorList(BasedataPatrolPoint basedataPatrolpoint) { List 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 deviceTypeDictMap = getDeviceTypeDictMap(); + List dictList = getSysDictDataList("point_device_type"); + Optional 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 selectBasedataMonitorRelationList(BasedataPatrolPoint basedataPatrolpoint) { List 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 deviceTypeDictMap = getDeviceTypeDictMap(); + List dictList = getSysDictDataList("point_device_type"); + Optional 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 getDeviceTypeDictMap() { - Map dictMap = new HashMap<>(); - try { - List 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 dictList, Optional defaultDictData) { + String patrolPointCode = basedataPatrolPoint.getPatrolPointCode(); + if (StringUtils.isNotEmpty(patrolPointCode)) { + if (patrolPointCode.contains("|")) { + String finalPatrolPointCode = patrolPointCode.substring(0, patrolPointCode.indexOf("|")); + Optional 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 getSysDictDataList(String dictType) { + return basedataPatrolpointMapper.selectDictDataByType(dictType); + } public BasedataPatrolPoint insertBasedataPatrolPoint(BasedataPatrolPoint basedataPatrolpoint) { basedataPatrolpoint.setCreateTime(DateUtils.getNowDate());