Browse Source

1.增加v2标识,将部分接口从get调整为post;

2.优化treeProMainDevicePatrolEquSelect获取树逻辑;
master
yinhuaiwei 3 months ago
parent
commit
9fd5ade3b3
9 changed files with 210 additions and 74 deletions
  1. +7
    -0
      inspect-metadata/src/main/java/com/inspect/metadata/area/controller/BaseDataAreaController.java
  2. +2
    -0
      inspect-metadata/src/main/java/com/inspect/metadata/eqpbook/mapper/BasedataEqpBookMapper.java
  3. +5
    -1
      inspect-metadata/src/main/java/com/inspect/metadata/patrolpointmnt/mapper/BasedataPatrolPointMapper.java
  4. +3
    -1
      inspect-metadata/src/main/java/com/inspect/metadata/patrolpointmnt/mapper/BasedataPatrolPointPresetMapper.java
  5. +27
    -0
      inspect-metadata/src/main/java/com/inspect/metadata/prodevmnt/controller/BasedataDeviceController.java
  6. +114
    -70
      inspect-metadata/src/main/java/com/inspect/metadata/prodevmnt/service/impl/BasedataDeviceServiceImpl.java
  7. +10
    -0
      inspect-metadata/src/main/resources/mapper/eqpbook/BasedataEqpBookMapper.xml
  8. +32
    -1
      inspect-metadata/src/main/resources/mapper/patrolpointmnt/BasedataPatrolPointMapper.xml
  9. +10
    -1
      inspect-metadata/src/main/resources/mapper/patrolpointmnt/BasedataPatrolPointPresetMapper.xml

+ 7
- 0
inspect-metadata/src/main/java/com/inspect/metadata/area/controller/BaseDataAreaController.java View File

@ -55,6 +55,13 @@ public class BaseDataAreaController extends BaseController {
return AjaxResult.success(dataAreaList);
}
@PostMapping({"/v2/list"})
public AjaxResult listV2(@RequestBody BaseDataArea area) {
this.paramsSetAreaIdToList(area);
List<BaseDataArea> dataAreaList = this.baseDataAreaService.selectAreaList(area);
return AjaxResult.success(dataAreaList);
}
@RequiresPermissions({"basedata:area:list"})
@GetMapping({"/list/exclude/{areaId}"})
public AjaxResult excludeChild(@PathVariable(value = "areaId", required = false) Long areaId) {


+ 2
- 0
inspect-metadata/src/main/java/com/inspect/metadata/eqpbook/mapper/BasedataEqpBookMapper.java View File

@ -18,6 +18,8 @@ import org.apache.ibatis.annotations.Param;
public interface BasedataEqpBookMapper {
BasedataEqpBook selectBasedataEqpBookByEqpBookId(Long bookId);
List<BasedataEqpBook> selectBasedataEqpBookByEqpBookIds(@Param("bookIds") List<Long> bookIds);
List<BasedataEqpBook> selectBasedataEqpBookList(BasedataEqpBook book);
List<BasedataEqpBook> selectBasedataEqpBookOnlineList(BasedataEqpBookTreeQueryFilterVo filterVo);


+ 5
- 1
inspect-metadata/src/main/java/com/inspect/metadata/patrolpointmnt/mapper/BasedataPatrolPointMapper.java View File

@ -30,9 +30,13 @@ public interface BasedataPatrolPointMapper {
BasedataPatrolPoint selectBasedataPatrolPointPresetForOne(BasedataPatrolPoint patrolPoint);
List<BasedataPatrolPoint> selectBasedataPatrolPointPresetByMainDeviceIds(@Param("mainDeviceIds") List<Long> mainDeviceIds);
List<BasedataPatrolPoint> selectBasedataPatrolPointListByMainDeviceIds(@Param("mainDeviceIds") List<Long> mainDeviceIds);
PointStatsVo getInspectPointStats(PointStatsVo pointStatsVo);
List<PointLatestResultVo> pointLatestResult(PointLatestResultVo pointLatestResultVo);
int deleteBySendCode(@Param("sendCode") String sendCode);
}
}

+ 3
- 1
inspect-metadata/src/main/java/com/inspect/metadata/patrolpointmnt/mapper/BasedataPatrolPointPresetMapper.java View File

@ -23,4 +23,6 @@ public interface BasedataPatrolPointPresetMapper {
BasedataPatrolPointPreset selectBasedataPatrolPointPresetByPatrolPointId(Long patrolPointId);
int deleteBySendCode(@Param("sendCode") String sendCode);
}
List<BasedataPatrolPointPreset> selectBasedataPatrolPointPresetListByPointIds(@Param("patrolPointIds") List<Long> patrolPointIds);
}

+ 27
- 0
inspect-metadata/src/main/java/com/inspect/metadata/prodevmnt/controller/BasedataDeviceController.java View File

@ -232,6 +232,21 @@ public class BasedataDeviceController extends BaseController {
return AjaxResult.success(this.basedataDeviceService.treeProMainDevicePatrolEquSelect(mainDevices));
}
@PostMapping({"/v2/treeProMainDevicePatrolEquSelect"})
public AjaxResult treeProMainDevicePatrolEquSelectV2(@RequestBody BasedataDevice basedataDevice) {
logger.info("[META] device: {}", basedataDevice);
idToList(basedataDevice);
paramsSetAreaIdToList(basedataDevice);
if (null != basedataDevice.getAreaName()) {
basedataDevice.setAreaName(null);
}
basedataDevice.setPowerMainEquFlag("Yes");
List<BasedataDevice> mainDevices = this.basedataDeviceService.selectBasedataDeviceList(basedataDevice);
logger.info("[META] -----------------------------------mainDevices size: {}", mainDevices.size());
return AjaxResult.success(this.basedataDeviceService.treeProMainDevicePatrolEquSelect(mainDevices));
}
@GetMapping({"/getMessageByDeviceId"})
public AjaxResult getMessageByDeviceId() {
BasedataDevice basedataDevice = new BasedataDevice();
@ -462,6 +477,18 @@ public class BasedataDeviceController extends BaseController {
return AjaxResult.success(list);
}
@Log(
title = "设备树查询v2",
businessType = BizType.OTHER
)
@PostMapping({"/v2/getProDeviceTreeSelect"})
public AjaxResult getProDeviceTreeSelectV2(@RequestBody BasedataDevice basedataDevice) {
this.idToList(basedataDevice);
this.paramsSetAreaIdToList(basedataDevice);
List<ProDeviceTreeSelectVO> list = this.basedataDeviceService.getProDeviceTreeSelect(basedataDevice);
return AjaxResult.success(list);
}
@Log(
title = "生产设备全路径名称对应的id",
businessType = BizType.OTHER


+ 114
- 70
inspect-metadata/src/main/java/com/inspect/metadata/prodevmnt/service/impl/BasedataDeviceServiceImpl.java View File

@ -663,17 +663,18 @@ public class BasedataDeviceServiceImpl implements IBasedataDeviceService {
}
logger.info("---111-------mainDevices:{}", mainDevices);
// 第一层处理主设备预置点检查
List<Long> deviceIds = mainDevices.stream().map(BasedataDevice::getDeviceId)
.filter(Objects::nonNull)
.collect(Collectors.toList());
List<BasedataPatrolPoint> basedataPatrolpoints = this.basedataPatrolPointMapper.selectBasedataPatrolPointPresetByMainDeviceIds(deviceIds);
for (BasedataDevice mainDevice : mainDevices) {
BasedataPatrolPoint patrolPointMainDevQuery = new BasedataPatrolPoint();
patrolPointMainDevQuery.setMainDeviceId(mainDevice.getDeviceId());
// 查询设备下的预置点
BasedataPatrolPoint basedataPatrolpoint = this.basedataPatrolPointMapper.selectBasedataPatrolPointPresetForOne(patrolPointMainDevQuery);
if (basedataPatrolpoint != null) {
// 复制设备信息到新对象
// 查询设备下的预置点是否存在
boolean exists = basedataPatrolpoints.stream()
.filter(Objects::nonNull)
.anyMatch(device -> mainDevice.getDeviceId().equals(device.getMainDeviceId()));
if (exists) {
// 复制设备信息到新对象
BasedataDevice mainDeviceForQuery = new BasedataDevice();
BeanUtils.copyBeanProp(mainDeviceForQuery, mainDevice);
mainDeviceExistPointList.add(mainDeviceForQuery);
@ -695,32 +696,89 @@ public class BasedataDeviceServiceImpl implements IBasedataDeviceService {
logger.info("---222------存在预置位的点位设备-mainDeviceExistPointList:{}", mainDeviceExistPointList);
// 第二层处理设备下的点位信息
for (BasedataDevice mainDevice : mainDeviceExistPointList) {
String mainDeviceName = mainDevice.getDeviceName();
BasedataPatrolPoint basedataPatrolpoint = new BasedataPatrolPoint();
basedataPatrolpoint.setMainDeviceId(mainDevice.getDeviceId());
if (!mainDeviceExistPointList.isEmpty()) {
// 批量获取所有相关点位信息
List<Long> mainDeviceIds = mainDeviceExistPointList.stream()
.map(BasedataDevice::getDeviceId)
.collect(Collectors.toList());
// 查询所有设备下的所有点位信息
List<BasedataPatrolPoint> allPatrolPoints = basedataPatrolPointMapper
.selectBasedataPatrolPointListByMainDeviceIds(mainDeviceIds);
// 按mainDeviceId分组点位信息
Map<Long, List<BasedataPatrolPoint>> patrolPointsByMainDevice = allPatrolPoints.stream()
.filter(Objects::nonNull)
.collect(Collectors.groupingBy(BasedataPatrolPoint::getMainDeviceId));
// 批量获取所有相关点位的预置信息
List<Long> allPatrolPointIds = allPatrolPoints.stream()
.filter(Objects::nonNull)
.map(BasedataPatrolPoint::getPatrolPointId)
.filter(Objects::nonNull)
.distinct()
.collect(Collectors.toList());
List<BasedataPatrolPointPreset> allPresets = new ArrayList<>();
if (!allPatrolPointIds.isEmpty()) {
allPresets = basedataPatrolPointPresetMapper
.selectBasedataPatrolPointPresetListByPointIds(allPatrolPointIds);
}
// 查询设备下的所有点位信息
List<BasedataPatrolPoint> patrolpointList = this.basedataPatrolPointMapper.selectBasedataPatrolPointList(basedataPatrolpoint);
if (patrolpointList.isEmpty()) {
continue;
// 按点位ID分组预置信息
Map<Long, List<BasedataPatrolPointPreset>> presetsByPointId = allPresets.stream()
.filter(Objects::nonNull)
.collect(Collectors.groupingBy(BasedataPatrolPointPreset::getPatrolPointId));
// 批量获取所有相关的设备信息
List<Long> pointDeviceIds = allPatrolPoints.stream()
.filter(Objects::nonNull)
.map(BasedataPatrolPoint::getDeviceId)
.filter(Objects::nonNull)
.distinct()
.collect(Collectors.toList());
// 批量获取所有相关的设备手册信息
List<Long> eqpBookIds = allPresets.stream()
.filter(Objects::nonNull)
.map(BasedataPatrolPointPreset::getEqpBookId)
.filter(Objects::nonNull)
.distinct()
.collect(Collectors.toList());
List<BasedataEqpBook> allEqpBooks = new ArrayList<>();
if (!eqpBookIds.isEmpty()) {
allEqpBooks = basedataEqpbookMapper.selectBasedataEqpBookByEqpBookIds(eqpBookIds);
}
logger.info("---333-------patrolpointList:{}", patrolpointList);
Map<Long, BasedataEqpBook> eqpBookMap = allEqpBooks.stream()
.filter(Objects::nonNull)
.collect(Collectors.toMap(BasedataEqpBook::getEqpBookId, e -> e));
Map<Long, BasedataDevice> mapDevToPoint = new HashMap<>();
for (BasedataDevice mainDevice : mainDeviceExistPointList) {
String mainDeviceName = mainDevice.getDeviceName();
Long mainDeviceId = mainDevice.getDeviceId();
// 处理每个点位
for (BasedataPatrolPoint patrolpoint : patrolpointList) {
BasedataPatrolPoint patrolPointIsExistPreset = new BasedataPatrolPoint();
patrolPointIsExistPreset.setPatrolPointId(patrolpoint.getPatrolPointId());
List<BasedataPatrolPoint> patrolpointList = patrolPointsByMainDevice.getOrDefault(
mainDeviceId, new ArrayList<>());
// 检查点位是否存在预置信息
BasedataPatrolPoint patrolPointExistOne = this.basedataPatrolPointMapper.selectBasedataPatrolPointPresetForOne(patrolPointIsExistPreset);
if (patrolpointList.isEmpty()) {
continue;
}
logger.info("---333-------patrolpointList:{}", patrolpointList);
Map<Long, BasedataDevice> mapDevToPoint = new HashMap<>();
// 合并处理每个点位及其预置位避免重复查询与循环
for (BasedataPatrolPoint patrolpoint : patrolpointList) {
Long patrolPointId = patrolpoint.getPatrolPointId();
List<BasedataPatrolPointPreset> presets = presetsByPointId.getOrDefault(
patrolPointId, new ArrayList<>());
if (presets.isEmpty()) {
continue;
}
if (patrolPointExistOne != null) {
Long mainDeviceId = patrolpoint.getMainDeviceId();
Long deviceId = patrolpoint.getDeviceId();
// 处理非主设备的情况
@ -728,10 +786,11 @@ public class BasedataDeviceServiceImpl implements IBasedataDeviceService {
this.recursionGetProMainDevice(mainDeviceId, mainDeviceName, deviceId, mainDevVOS, mapDevToPoint);
}
String pointKey = deviceId + "-" + patrolPointId;
// 创建点位节点
ProMainDevicePatrolEquTreeSelect pointTreeVO = new ProMainDevicePatrolEquTreeSelect();
pointTreeVO.setPatrolpointId(patrolpoint.getPatrolPointId());
pointTreeVO.setDataId(deviceId + "-" + patrolpoint.getPatrolPointId());
pointTreeVO.setPatrolpointId(patrolPointId);
pointTreeVO.setDataId(pointKey);
pointTreeVO.setLabel(patrolpoint.getPatrolPointName());
pointTreeVO.setPatrolpointName(patrolpoint.getPatrolPointName());
pointTreeVO.setMainDeviceName(mainDeviceName);
@ -741,50 +800,35 @@ public class BasedataDeviceServiceImpl implements IBasedataDeviceService {
pointTreeVO.setPositionY(patrolpoint.getPositionY());
pointTreeVO.setPositionZ(patrolpoint.getPositionZ());
mainDevVOS.add(pointTreeVO);
}
}
// 处理点位下的预置位
for (BasedataPatrolPoint patrolpoint : patrolpointList) {
BasedataPatrolPointPreset basedataPatrolpointPreset = new BasedataPatrolPointPreset();
basedataPatrolpointPreset.setPatrolPointId(patrolpoint.getPatrolPointId());
// 查询点位下的预置位信息
List<BasedataPatrolPointPreset> patrolpointPresetS = this.basedataPatrolPointPresetMapper.selectBasedataPatrolPointPresetList(basedataPatrolpointPreset);
if (patrolpointPresetS.isEmpty()) {
continue;
}
logger.info("---444-------patrolpointPresetS:{}", patrolpointPresetS);
Map<Long, Long> map = new HashMap<>();
logger.info("---444-------patrolpointPresetS:{}", presets);
for (BasedataPatrolPointPreset preset : patrolpointPresetS) {
if (map.containsKey(preset.getEqpBookId())) {
continue;
}
// 添加预置位节点去重eqpBookId
Set<Long> addedEqpBookIds = new HashSet<>();
for (BasedataPatrolPointPreset preset : presets) {
Long eqpBookId = preset.getEqpBookId();
if (eqpBookId == null || addedEqpBookIds.contains(eqpBookId)) {
continue;
}
ProMainDevicePatrolEquTreeSelect pointPreSetTreeVO = new ProMainDevicePatrolEquTreeSelect();
pointPreSetTreeVO.setParentId(patrolpoint.getDeviceId() + "-" + patrolpoint.getPatrolPointId());
pointPreSetTreeVO.setEqpbookId(preset.getEqpBookId());
pointPreSetTreeVO.setPresetCode(preset.getPresetCode());
logger.info("---555-------BasedataPatrolPointPreset:{}", preset);
if (preset.getEqpBookId() != null) {
BasedataEqpBook basedataEqpbook = this.basedataEqpbookMapper.selectBasedataEqpBookByEqpBookId(preset.getEqpBookId());
if (basedataEqpbook != null) {
pointPreSetTreeVO.setPatroldeviceName(basedataEqpbook.getPatrolDeviceName());
pointPreSetTreeVO.setMainDeviceName(basedataEqpbook.getPatrolDeviceName());
pointPreSetTreeVO.setLabel(basedataEqpbook.getPatrolDeviceName());
pointPreSetTreeVO.setPatroldeviceCode(basedataEqpbook.getPatrolDeviceCode());
pointPreSetTreeVO.setPatroldeviceName(basedataEqpbook.getPatrolDeviceName());
pointPreSetTreeVO.setDataId(patrolpoint.getDeviceId() + "-" + patrolpoint.getPatrolPointId() + basedataEqpbook.getEqpBookId());
pointPreSetTreeVO.setPatroldeviceFlag("Yes");
map.put(basedataEqpbook.getEqpBookId(), basedataEqpbook.getEqpBookId());
mainDevVOS.add(pointPreSetTreeVO);
BasedataEqpBook basedataEqpbook = eqpBookMap.get(eqpBookId);
if (basedataEqpbook == null) {
continue;
}
ProMainDevicePatrolEquTreeSelect pointPreSetTreeVO = new ProMainDevicePatrolEquTreeSelect();
pointPreSetTreeVO.setParentId(pointKey);
pointPreSetTreeVO.setEqpbookId(eqpBookId);
pointPreSetTreeVO.setPresetCode(preset.getPresetCode());
pointPreSetTreeVO.setPatroldeviceName(basedataEqpbook.getPatrolDeviceName());
pointPreSetTreeVO.setMainDeviceName(basedataEqpbook.getPatrolDeviceName());
pointPreSetTreeVO.setLabel(basedataEqpbook.getPatrolDeviceName());
pointPreSetTreeVO.setPatroldeviceCode(basedataEqpbook.getPatrolDeviceCode());
pointPreSetTreeVO.setDataId(pointKey + basedataEqpbook.getEqpBookId());
pointPreSetTreeVO.setPatroldeviceFlag("Yes");
mainDevVOS.add(pointPreSetTreeVO);
addedEqpBookIds.add(eqpBookId);
}
}
}


+ 10
- 0
inspect-metadata/src/main/resources/mapper/eqpbook/BasedataEqpBookMapper.xml View File

@ -184,6 +184,16 @@
where eqp_book_id = #{eqpBookId}
</select>
<select id="selectBasedataEqpBookByEqpBookIds" parameterType="java.util.List" resultMap="BasedataEqpBookResult">
<include refid="selectBasedataEqpBookVo"/>
<where>
eqp_book_id IN
<foreach item="item" collection="bookIds" open="(" separator="," close=")">
#{item}
</foreach>
</where>
</select>
<insert id="insertBasedataEqpBook" parameterType="BasedataEqpBook" useGeneratedKeys="true" keyProperty="eqpBookId">
insert into basedata_eqpbook
<trim prefix="(" suffix=")" suffixOverrides=",">


+ 32
- 1
inspect-metadata/src/main/resources/mapper/patrolpointmnt/BasedataPatrolPointMapper.xml View File

@ -119,6 +119,16 @@
</if>
</where>
</select>
<select id="selectBasedataPatrolPointListByMainDeviceIds" parameterType="java.util.List"
resultMap="BasedataPatrolPointResult">
<include refid="selectBasedataPatrolPointVo"/>
WHERE main_device_id IN
<foreach item="item" collection="mainDeviceIds" open="(" separator="," close=")">
#{item}
</foreach>
</select>
<select id="selectBasedataMonitorList" parameterType="BasedataPatrolPoint" resultMap="BasedataPatrolPointResult">
-- select a.patrol_point_id, a.patrol_point_code,a.area_id, a.patrol_point_name, a.main_device_id, a.device_id,
-- left join basedata_stdpatrol_point b on a.std_parol_point_id = b.std_patrol_point_id
@ -203,6 +213,27 @@
</where>
limit 1
</select>
<select id="selectBasedataPatrolPointPresetByMainDeviceIds" parameterType="java.util.List"
resultMap="BasedataPatrolPointResult">
SELECT
a.patrol_point_id,
a.patrol_point_code,
a.area_id,
a.patrol_point_name,
a.main_device_id,
a.device_id
FROM
basedata_patrolpoint a,
basedata_patrolpoint_preset b
<where>
a.patrol_point_id = b.patrol_point_id
AND a.main_device_id IN
<foreach item="item" collection="mainDeviceIds" open="(" separator="," close=")">
#{item}
</foreach>
</where>
</select>
<insert id="insertBasedataPatrolPoint" parameterType="BasedataPatrolPoint" useGeneratedKeys="true"
keyProperty="patrolPointId">
insert into basedata_patrolpoint
@ -415,4 +446,4 @@
</where>
</select>
</mapper>
</mapper>

+ 10
- 1
inspect-metadata/src/main/resources/mapper/patrolpointmnt/BasedataPatrolPointPresetMapper.xml View File

@ -62,6 +62,15 @@
</if>
</where>
</select>
<select id="selectBasedataPatrolPointPresetListByPointIds" parameterType="java.util.List"
resultMap="BasedataPatrolPointPresetResult">
<include refid="selectBasedataPatrolPointPresetVo"/>
WHERE patrol_point_id IN
<foreach item="item" collection="patrolPointIds" open="(" separator="," close=")">
#{item}
</foreach>
</select>
<select id="selectBasedataPatrolPointPresetByPatrolPointPresetId" parameterType="Long"
resultMap="BasedataPatrolPointPresetResult">
@ -146,4 +155,4 @@
<include refid="selectBasedataPatrolPointPresetVo"/>
where patrol_point_id = #{patrolPointId}
</select>
</mapper>
</mapper>

Loading…
Cancel
Save