Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
MyEMS
MyEMS能源管理系统
提交
8597c762
M
MyEMS能源管理系统
项目概览
MyEMS
/
MyEMS能源管理系统
通知
46
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
M
MyEMS能源管理系统
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
8597c762
编写于
4月 28, 2024
作者:
nengyuangzhang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
updated microgrid dashboard
上级
e7ee70aa
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
66 addition
and
38 deletion
+66
-38
myems-api/reports/microgriddashboard.py
myems-api/reports/microgriddashboard.py
+17
-1
myems-web/src/components/MyEMS/Microgrid/Dashboard.js
myems-web/src/components/MyEMS/Microgrid/Dashboard.js
+3
-3
myems-web/src/components/MyEMS/Microgrid/MicrogridTable.js
myems-web/src/components/MyEMS/Microgrid/MicrogridTable.js
+46
-34
未找到文件。
myems-api/reports/microgriddashboard.py
浏览文件 @
8597c762
...
...
@@ -172,6 +172,21 @@ class Reporting:
microgrid_list
=
list
()
if
rows_microgrids
is
not
None
and
len
(
rows_microgrids
)
>
0
:
for
row
in
rows_microgrids
:
# get gateway latest seen datetime to determine if it is online
query
=
(
" SELECT tg.last_seen_datetime_utc "
" FROM tbl_microgrids_batteries mb, tbl_points p, tbl_data_sources tds, tbl_gateways tg "
" WHERE microgrid_id = %s "
" AND mb.soc_point_id = p.id "
" AND p.data_source_id = tds.id "
" AND tds.gateway_id = tg.id "
)
cursor_system_db
.
execute
(
query
,
(
row
[
0
],))
row_datetime
=
cursor_system_db
.
fetchone
()
is_online
=
False
if
row_datetime
is
not
None
and
len
(
row_datetime
)
>
0
:
if
isinstance
(
row_datetime
[
0
],
datetime
):
if
row_datetime
[
0
]
+
timedelta
(
minutes
=
10
)
>
datetime
.
utcnow
():
is_online
=
True
meta_result
=
{
"id"
:
row
[
0
],
"name"
:
row
[
1
],
"uuid"
:
row
[
2
],
...
...
@@ -182,7 +197,8 @@ class Reporting:
"rated_capacity"
:
row
[
7
],
"rated_power"
:
row
[
8
],
"serial_number"
:
row
[
9
],
"description"
:
row
[
10
]}
"description"
:
row
[
10
],
"status"
:
'online'
if
is_online
else
'offline'
}
microgrid_list
.
append
(
meta_result
)
charge_ranking
=
list
()
if
rows_microgrids
is
not
None
and
len
(
rows_microgrids
)
>
0
:
...
...
myems-web/src/components/MyEMS/Microgrid/Dashboard.js
浏览文件 @
8597c762
...
...
@@ -1256,7 +1256,7 @@ const Dashboard = ({ setRedirect, setRedirectUrl, t }) => {
toggleTabLeft
(
'
1
'
);
}}
>
<
h6
>
Energy
<
/h6
>
<
h6
>
{
t
(
'
Microgrid Energy
'
)}
<
/h6
>
<
/NavLink
>
<
/NavItem
>
<
NavItem
className
=
"
cursor-pointer
"
>
...
...
@@ -1266,7 +1266,7 @@ const Dashboard = ({ setRedirect, setRedirectUrl, t }) => {
toggleTabLeft
(
'
2
'
);
}}
>
<
h6
>
Revenue
<
/h6
>
<
h6
>
{
t
(
'
Microgrid Revenue
'
)}
<
/h6
>
<
/NavLink
>
<
/NavItem
>
<
NavItem
className
=
"
cursor-pointer
"
>
...
...
@@ -1276,7 +1276,7 @@ const Dashboard = ({ setRedirect, setRedirectUrl, t }) => {
toggleTabLeft
(
'
3
'
);
}}
>
<
h6
>
Carbon
<
/h6
>
<
h6
>
{
t
(
'
Microgrid Carbon
'
)}
<
/h6
>
<
/NavLink
>
<
/NavItem
>
<
/Nav
>
...
...
myems-web/src/components/MyEMS/Microgrid/MicrogridTable.js
浏览文件 @
8597c762
...
...
@@ -20,38 +20,6 @@ const nameFormatter = (nameuuid) => (
<
/Link
>
);
const
badgeFormatter
=
status
=>
{
let
color
=
''
;
let
icon
=
''
;
let
text
=
''
;
switch
(
status
)
{
case
'
charging
'
:
color
=
'
success
'
;
icon
=
'
check
'
;
text
=
'
Charging
'
;
break
;
case
'
discharging
'
:
color
=
'
success
'
;
icon
=
'
check
'
;
text
=
'
Discharging
'
;
break
;
case
'
offline
'
:
color
=
'
secondary
'
;
icon
=
'
ban
'
;
text
=
'
Offline
'
;
break
;
default
:
color
=
'
warning
'
;
icon
=
'
stream
'
;
text
=
'
Idling
'
;
}
return
(
<
Badge
color
=
{
`soft-
${
color
}
`
}
className
=
"
rounded-capsule
"
>
{
text
}
<
FontAwesomeIcon
icon
=
{
icon
}
transform
=
"
shrink-2
"
className
=
"
ml-1
"
/>
<
/Badge
>
);
};
const
energyFormatter
=
amount
=>
<
Fragment
>
{
amount
}
kWh
<
/Fragment>
;
const
capacityFormatter
=
amount
=>
<
Fragment
>
{
amount
}
kWh
<
/Fragment>
;
...
...
@@ -111,6 +79,43 @@ const MicrogridTable = ({ setIsSelected, microgridList, t }) => {
totalSize
:
microgridList
.
length
};
const
statusFormatter
=
status
=>
{
let
color
=
''
;
let
icon
=
''
;
let
text
=
''
;
switch
(
status
)
{
case
'
online
'
:
color
=
'
success
'
;
icon
=
'
check
'
;
text
=
t
(
'
Communication Online
'
);
break
;
case
'
charging
'
:
color
=
'
success
'
;
icon
=
'
check
'
;
text
=
'
Charging
'
;
break
;
case
'
discharging
'
:
color
=
'
success
'
;
icon
=
'
check
'
;
text
=
'
Discharging
'
;
break
;
case
'
offline
'
:
color
=
'
secondary
'
;
icon
=
'
ban
'
;
text
=
t
(
'
Communication Offline
'
);
break
;
default
:
color
=
'
warning
'
;
icon
=
'
stream
'
;
text
=
'
Idling
'
;
}
return
(
<
Badge
color
=
{
`soft-
${
color
}
`
}
className
=
"
rounded-capsule
"
>
{
text
}
<
FontAwesomeIcon
icon
=
{
icon
}
transform
=
"
shrink-2
"
className
=
"
ml-1
"
/>
<
/Badge
>
);
};
const
columns
=
[
{
dataField
:
'
nameuuid
'
,
...
...
@@ -127,6 +132,13 @@ const MicrogridTable = ({ setIsSelected, microgridList, t }) => {
headerClasses
:
'
border-0
'
,
sort
:
true
},
{
dataField
:
'
postal_code
'
,
text
:
t
(
'
Postal Code
'
),
classes
:
'
border-0 align-middle
'
,
headerClasses
:
'
border-0
'
,
sort
:
true
},
{
dataField
:
'
total_charge
'
,
text
:
t
(
'
Total Charge
'
),
...
...
@@ -168,9 +180,9 @@ const MicrogridTable = ({ setIsSelected, microgridList, t }) => {
sort
:
true
,
},
{
dataField
:
'
communication_
status
'
,
dataField
:
'
status
'
,
text
:
t
(
'
Communication Status
'
),
formatter
:
badge
Formatter
,
formatter
:
status
Formatter
,
classes
:
'
border-0 align-middle fs-0
'
,
headerClasses
:
'
border-0
'
,
sort
:
true
,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录