Commit bb031d4e authored by xixinzhao's avatar xixinzhao

画布添加时装备树接口优化

parent 34f93445
......@@ -450,42 +450,74 @@ public class FireFightingSystemServiceImpl extends ServiceImpl<FireFightingSyste
* @return
*/
public List<PointTreeVo> transferListToPointTree(List<PointTreeVo> allRiskSource, String id) {
List<PointTreeVo> treeList = new ArrayList<>();
//TODO id为空,为消防建筑使用;id不为空,为点位图使用
List<PointTreeVo> pointData = fireFightingSystemMapper.getPointData(id);
if (!CollectionUtils.isEmpty(pointData)) {
List<Long> idList = pointData.stream().map(PointTreeVo::getSequenceNbr).collect(Collectors.toList());
List<SpeIndexVo> indexVoList = fireFightingSystemMapper.getSpeIndexIn(idList);
if (!CollectionUtils.isEmpty(indexVoList)) {
Map<Long, List<SpeIndexVo>> indexMap = indexVoList.stream().collect(Collectors.groupingBy(SpeIndexVo::getEquipmentSpecificId));
pointData.stream().forEach(p -> {
Map map = new HashMap();
map.put("imgPath", p.getImgPath());
map.put("equipCode", p.getEquipCode());
map.put("equipSyetemId", p.getEquipSyetemId());
map.put("equipTypeId", p.getEquipId());
map.put("speindexList", makeStatus(indexMap.get(p.getSequenceNbr())));
map.put("speindexApi", speindexUrl + p.getSequenceNbr());
map.put("detailInfoApi", equipmentDetailUrl + p.getSequenceNbr());
map.put("detailApi", equipmentDetailUrl + p.getSequenceNbr());
p.setDataConfig(map);
});
}
// List<Long> idList = pointData.stream().map(PointTreeVo::getSequenceNbr).collect(Collectors.toList());
// List<SpeIndexVo> indexVoList = fireFightingSystemMapper.getSpeIndexIn(idList);
// if (!CollectionUtils.isEmpty(indexVoList)) {
// Map<Long, List<SpeIndexVo>> indexMap = indexVoList.stream().collect(Collectors.groupingBy(SpeIndexVo::getEquipmentSpecificId));
// pointData.forEach(p -> {
// Map map = new HashMap(7);
// map.put("imgPath", p.getImgPath());
// map.put("equipCode", p.getEquipCode());
// map.put("equipSyetemId", p.getEquipSyetemId());
// map.put("equipTypeId", p.getEquipId());
// map.put("speindexList", makeStatus(indexMap.get(p.getSequenceNbr())));
// map.put("speindexApi", speindexUrl + p.getSequenceNbr());
// map.put("detailInfoApi", equipmentDetailUrl + p.getSequenceNbr());
// map.put("detailApi", equipmentDetailUrl + p.getSequenceNbr());
// p.setDataConfig(map);
// });
// }
}
// for (PointTreeVo tree : allRiskSource) {
// if (tree.getParentId() == null || tree.getParentId() == -1) {
// treeList.add(tree);
// }
// for (PointTreeVo treeNode : allRiskSource) {
// if (tree.getSequenceNbr().equals(treeNode.getParentId())) {
// if (tree.getChildren() == null) {
// tree.setChildren(new ArrayList<>());
// }
// tree.getChildren().add(treeNode);
// }
// }
// }
// 优化不查指标,
pointData.forEach(p -> {
Map map = new HashMap(7);
map.put("imgPath", p.getImgPath());
map.put("equipCode", p.getEquipCode());
map.put("equipSyetemId", p.getEquipSyetemId());
map.put("equipTypeId", p.getEquipId());
map.put("speindexApi", speindexUrl + p.getSequenceNbr());
map.put("detailInfoApi", equipmentDetailUrl + p.getSequenceNbr());
map.put("detailApi", equipmentDetailUrl + p.getSequenceNbr());
p.setDataConfig(map);
});
allRiskSource.addAll(pointData);
for (PointTreeVo tree : allRiskSource) {
if (tree.getParentId() == null || tree.getParentId() == -1) {
treeList.add(tree);
}
for (PointTreeVo treeNode : allRiskSource) {
if (tree.getSequenceNbr().equals(treeNode.getParentId())) {
if (tree.getChildren() == null) {
tree.setChildren(new ArrayList<>());
// 树组装优化
Map<Long, PointTreeVo> map = new HashMap<>(allRiskSource.size());
allRiskSource.forEach(e -> map.put(e.getSequenceNbr(), e));
Set<? extends Map.Entry<Long, ? extends PointTreeVo>> entries = map.entrySet();
List<PointTreeVo> treeList = new ArrayList<>();
entries.forEach(entry -> {
PointTreeVo value = entry.getValue();
if (value != null) {
PointTreeVo treeDto = map.get(value.getParentId());
if (treeDto != null) {
List<PointTreeVo> children = treeDto.getChildren();
if (children == null) {
children = new ArrayList<>();
treeDto.setChildren(children);
}
tree.getChildren().add(treeNode);
children.add(value);
} else {
treeList.add(value);
}
}
}
});
return treeList;
}
......
......@@ -179,7 +179,10 @@
'component' as template,
true as openStatus,
<if test="id == null">
if((select count(1) from `wl_source_scene` ss where find_in_set(spe.id, ss.point_in_scene) and EXISTS
if((select count(1) from `wl_source_scene` ss where
-- find_in_set(spe.id, ss.point_in_scene)
spe.id in (ss.point_in_scene)
and EXISTS
(SELECT es.instance_id FROM `wl_form_instance` es WHERE ss.source_id = es.instance_id)) = 0,0,1) as
isBinding, -- 一个装备只能在一个建筑使用
</if>
......@@ -203,9 +206,9 @@
spe.iot_code as iotCode,
equ.id as groupId,
equ.name as groupName,
null as ip,
null as token,
null as address
'' as ip,
'' as token,
'' as address
from wl_stock_detail as det
join wl_warehouse_structure as stru on det.warehouse_structure_id = stru.id
join wl_equipment_specific as spe on det.qr_code = spe.qr_code
......@@ -224,7 +227,10 @@
TRUE AS openStatus,
IF
(
( SELECT ss.id FROM wl_source_scene ss WHERE ss.video_in_scene LIKE CONCAT( '%', vid.id, '%' ) ) IS NULL,
( SELECT ss.id FROM wl_source_scene ss WHERE
-- ss.video_in_scene LIKE CONCAT( '%', vid.id, '%' )
vid.id in (ss.video_in_scene)
) IS NULL,
0,
1
) AS isBinding,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment