管线业务模块实现

简介: 管线业务模块实现



电力管线业务模块是系统的电力业务功能,主要维护电气设备的电力连接关系以及电

缆在GIS 地图和工井内部的位置和走向。管线业务模块由配电线路的轨迹图、单线图、接

线图和工井立视图四部分构成。

1 .配电线路轨迹图

配电线路的轨迹图实现界面如图所示,通过导航树的配电线路右键菜单提供请求接口。系统获得请求后与业务逻辑服务通信获取此配电线路下电气设备和土建设备,然后通过GIS 服务将查询到的设备显示,并在GIS 地图上展示配电线路的轨迹图。另外,用户可以使用图层选择控件选择显示的设备图层,单独查看电气设备轨迹和土建设备轨迹。

2. 配电线路单线图

配电线路单线图的实现界面如图所示,它提供了可视化智能化管理配电线路单线图的工具。单线图模块提供了单线图的查看和编辑功能,并且通过右侧菜单栏可以实现单线图中的设备在GIS 地图上的定位。系统提供了简单的图形编辑菜单栏,电网管理人员可以对单线图中的设备、线路属性、位置和连接关系进行编辑,以提高单线图数据的准确性。

单线图管理包括单线图绘制功能、单线图存储功能。

1 )单线图绘制功能

电尊翩

崛岳毡盹量

从目录树上拖动设备到单线图,单击画线按钮,绘制单线图;还可删除某部分图形(甚

至全部),并重新绘制单线图。

单线图绘制功能关键代码如下:

Global. line . meth od. init = function ( initVar ) {
Global. constant. currentMap = 1;
OpenLayers . ProxyHost =”cgi/proxy. cgi?url =”,
var extent = new OpenLayers. Bounds( - 20, - 20, 20, 20);
Global. line . draw. pointStyleMap = Global. style. lineDiagramStyle;
Global. line . map = new OpenLayers. Map (’map2 ’);
Global. line . map. div. oncontextmenu = function () { return false;);
Global. line. method . drawUnit = function {name, type, sid) {
Global. line. unit . name = name;
Global. line. unit. typeID = type;
Global. line . unit. Static Id = sid;
switch( type) {
case ” 1010201”: Global. line. draw. style type = Global. style. form[O];break;
case ” 1010202 ”: Global. line. draw. style type = Global. style. form[l];break;
case ” 1010203 ”: Global.line.draw.style type= Global.style.form[2];break;
case ” 10102 04 ”: Global. line. draw. style type = Global. style. form[ 3) ;break;
case ” 1010205 ”: Global. line. draw. style type = Global. style. form[ 4); break;
case ” 1010208”: Global. line. draw. style type = Global. style. form[ 7); break;
case ” 1020101 ”: Global. line. draw. style type = Global. style. form[ 8); break;
case ” 1020102”: Global. line. draw. style type = Global. style. form[9J;break;
case ” 1010402”: Global. line. draw. style type = Global. style. form[ll];break;
case ” 1010403”: Global. line. draw. style type = Global. style. form[12];break;
if(type == ” 1010402” 11 type ==”1010403”){
Global. line.method. controlRelease();
Global. line. draw. lineControl. activate();
)else{
Global. line. meth od. controlRelease();
Global. line . draw. pointControl. activate();

单线图关联功能关键代码如下:

获取单线图侧栏数据

public JSONArray getSideBarJson() {
JSONArray jsa = newJSONArray ();
LongSid = Long . parseLong(fatherid);
List< TreeCatalogRecord > aimswitch = treeDao. getTreeCatalog( Sid, 10102020);
for( inti= 0; i < aimswitch. size(); ++ i) {
JSONObject jso = newJSONObject ();
jso.accumulate(” sid”, aimswitch. get( i). getStatic Id());
jso.accumulate(” type”, aimswitch. get( i) getTypeid());
jso.accumulate(”name ”, aimswitch.get(i) getName());
jsa. add( jso);
List< TreeCatalogRecord > a.ii由ranch = treeDao. getTreeCatalog( Sid, 10102050);
for( inti= 0; i < ai曲ranch. size(); ++ i) {
JSONObject jso = newJSONObject ();
jso . accumulate (飞id”, aimbranch.get(i).getStatic Id());
jso.accumulate (气ype”, aimbranch.get(i).getTypeid());
jso.accumulate (” name”, aimbranch. get( i). getName());
jsa.add(jso);
List< TreeCatalogRecord > aimhw = treeDao. getTreeCatalog( Sid, 10102040);
for( inti= 0; i < ai毗w. size(); ++ i) {
JSONObject jso = newJSONObject ();

2 )单线图存储功能

将上述过程中绘制的图形保存到数据库,并在单线图目录树中自动显示,用户选中该图

后,可实现自动绘制。

3. 设备接线图

设备接线图功能的实现界面如图所示,描绘了单电气设备内的配线方式。系统

在导航树中的电气设备右键菜单提供了接线图的查询接口,接线图模块通过OpenLayers

调用GIS 服务在前台渲染出要查询设备的接线图,同时通过业务逻辑服务查询此设备的逻

辑连接关系获取相应的设备信息。另外,接线图模块提供了接线图的编辑功能,电网管理人

员可以对设备的单线图进行维护

4. 工井立视图

工井立视图的功能实现如图所示,它实现了电缆在地下电力管道中位置的可视化。立视图模块提供工井剖面图的查询与编辑功能,同时可以查看工井测绘俯视图。并且通过查看剖面图及剖面信息,电网施工人员可以查询电缆的埋深、在工井中的走向和在管沟段中的位置等关键信息,直观可视化的操作可以降低电力事故发生的概率。另外,管理人员可以通过剖面图编辑、电缆穿孔等操作维护工井立视图,确保立视图数据的准确性。

(1 )管沟面符号添加:有矩形、拱形和圆形。

(2 )管沟面尺寸调整:在图上拉动。

(3 )管孔添加:圆形,有若干固定尺寸可选。

( 4 )管孔设置:可以单个或多选管孔批量移动或改变直径等属性,直径在若干固定尺

寸中选择。

(5 )管孔排列生成: 输入管孔尺寸(选择)、行数、列数、横向间隔距离、纵向间隔距离,

在图上单击,以单击处为左上角,生成规则管孔。

(6 )线路符号添加: 线路符号中间显示电压等级,线路符号尺寸可以在若干固定尺寸

中选择。

(7 )线路标注添加: 单击剖面,再在图上单击,自动生成剖面的线路标注表格。

(8 )通信电缆符号添加。

(9 )支架添加。

(10 )管孔支架批量移动:点选或框线多重选择,点选多重复制加CT R L 键。

(11 )管孔支架复制: 管孔与支架。

(12 )剖面复制:在图中选择一个管沟剖面,作为复制源。

(13 )剖面粘贴: 在图中某一位置单击,以该点为左上角将剖面复制源粘贴到该位置。

1 )剖面绘制

绘制某一具体工井剖面界面如图所示

,需要填人剖面编号、剖面长、剖面宽3个参数。

(1 )添加、更新单个管孔功能。

/添加、更新单个管孔功能函数/

Global. locus.method. drawPipeHole = function (feature, holeFeature) {
var Ppfeature;
for (var i = 0; i < Global . locus. layers. buildingLayer. features. length ; i忡){
if (Global. locus. layers. buildingLayer. features[ i] . attributes[’ Static _ id’]==
feature . attributes[’ pp_segment_id’]){
Ppfeature = Global. locus. layers. buildingLayer. features[ i];
break;
if(Ppfeature) {
Op四Layers. Request. GET( {
url :”getPropertyJson. action? type =”+ Ppfeature. attributes [’。bject_type ’]
+”在Static Id =”+ Ppfeature. attributes [’ Static _id’],
success : ppSegmentProperty_success,
failure: (function ( e) {
Plugins.dialog. show({
’ title ':’错误信息’,
’ text ’: e.responseText { , }
’ submit ’: function ( e) {
Plugins.dialog.remove();
目录
相关文章
|
27天前
|
XML Java 数据库
在微服务架构中,请求常跨越多个服务,涉及多组件交互,问题定位因此变得复杂
【9月更文挑战第8天】在微服务架构中,请求常跨越多个服务,涉及多组件交互,问题定位因此变得复杂。日志作为系统行为的第一手资料,传统记录方式因缺乏全局视角而难以满足跨服务追踪需求。本文通过一个电商系统的案例,介绍如何在Spring Boot应用中手动实现日志链路追踪,提升调试效率。我们生成并传递唯一追踪ID,确保日志记录包含该ID,即使日志分散也能串联。示例代码展示了使用过滤器设置追踪ID,并在日志记录及配置中自动包含该ID。这种方法不仅简化了问题定位,还具有良好的扩展性,适用于各种基于Spring Boot的微服务架构。
31 3
|
5月前
|
设计模式 安全 Java
老系统重构系列--如何用一套流程接入所有业务线
**摘要:** 本文介绍了老系统改造的过程,作者提出,ToB业务的挑战在于需要支持多种差异化的业务需求,而模板模式在处理这种需求时可能会导致继承关系复杂和粒度过粗。为了解决这些问题,文章提出了以下步骤: 1. **梳理流程差异点**:识别不同业务流程的差异,以便确定扩展点。 2. **领域模型梳理**:区分核心域和支撑域,确保核心域的稳定性。 3. **二次抽象隔离层**:创建隔离层,避免核心域因新业务接入而变得不稳定。 4. **基于SPI的扩展体系建设**:选择了COLA-SPI实现扩展点,允许业务域定义接口并实现差异化的流程逻辑。
101 0
|
5月前
|
存储 缓存 负载均衡
跨越界限:前端与后端的协同优化
在当今快节奏的技术环境下,前端与后端的协同优化成为了提升应用性能和用户体验的关键。本文探讨了如何通过前后端的紧密合作,实现更高效的数据传输、渲染优化以及系统性能提升,从而构建出更加流畅、响应迅速的应用程序。
|
5月前
|
前端开发 JavaScript 测试技术
前端模块规划
前端模块规划
57 1
前端模块规划
|
12月前
|
前端开发 芯片
【芯片前端】保持代码手感——一对多的握手拆分模块
【芯片前端】保持代码手感——一对多的握手拆分模块
|
存储 开发框架 缓存
数据流动的精妙之道——UniApp中的数据通信与状态管理解析
数据流动的精妙之道——UniApp中的数据通信与状态管理解析
|
前端开发 开发者
「前端工作小记」关于业务组件的思考
用技术实现梦想,用梦想打开前端技术之门。分享我在日常开发中关于业务组件的思考。
327 1
「前端工作小记」关于业务组件的思考
|
设计模式 存储 运维
使用Rainbond打包业务模块,实现业务积木式拼装
每个程序员在学习开发的过程中,都知道解耦和模块化的重要性,也希望自己设计和开发的程序支持模块化,开发好的模块其他人就能快速复用,为了达成这个效果,我们学习各种模块化和解耦的技术,从面向对象的设计模式到微服务架构,近几年大家觉得微服务架构是模块化的银弹,都朝微服务架构改造,但实际效果不仅没有很好模块化,反而陷入应用部署和运维的泥潭里。本文将讲讲Rainbond解决应用架构解耦和模块化的一些新思路。
使用Rainbond打包业务模块,实现业务积木式拼装
|
移动开发 小程序 搜索推荐
下一篇
无影云桌面