retrieve latest tag values on dashboard
This commit is contained in:
@@ -3,7 +3,7 @@
|
|||||||
{% block content %}
|
{% block content %}
|
||||||
|
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<h1>{{card.timestamp | date}}</h1>
|
<h1>{{card.timestamp | datetime('long')}}</h1>
|
||||||
|
|
||||||
|
|
||||||
<div class="surfacecard card"></div>
|
<div class="surfacecard card"></div>
|
||||||
@@ -19,6 +19,9 @@ var downhole_data = [
|
|||||||
{ label: "Downhole Card",
|
{ label: "Downhole Card",
|
||||||
x: {{card.downhole_position}},
|
x: {{card.downhole_position}},
|
||||||
y: {{card.downhole_load}} } ] ;
|
y: {{card.downhole_load}} } ] ;
|
||||||
|
|
||||||
|
var all_position =surface_data[0]['x'].concat(downhole_data[0]['x'])
|
||||||
|
|
||||||
var xy_chart = d3_xy_chart()
|
var xy_chart = d3_xy_chart()
|
||||||
.width(960)
|
.width(960)
|
||||||
.height(500)
|
.height(500)
|
||||||
@@ -49,13 +52,15 @@ function d3_xy_chart() {
|
|||||||
|
|
||||||
var x_scale = d3.scale.linear()
|
var x_scale = d3.scale.linear()
|
||||||
.range([0, innerwidth])
|
.range([0, innerwidth])
|
||||||
.domain([ d3.min(datasets, function(d) { return d3.min(d.x); }),
|
// .domain([ d3.min(datasets, function(d) { return d3.min(d.x) ; }),
|
||||||
d3.max(datasets, function(d) { return d3.max(d.x); }) ]) ;
|
// d3.max(datasets, function(d) { return d3.max(d.x); }) ]) ;
|
||||||
|
.domain([ d3.min(all_position) - 10,
|
||||||
|
d3.max(all_position) + 10 ]) ;
|
||||||
|
|
||||||
var y_scale = d3.scale.linear()
|
var y_scale = d3.scale.linear()
|
||||||
.range([innerheight, 0])
|
.range([innerheight, 0])
|
||||||
.domain([ d3.min(datasets, function(d) { return d3.min(d.y); }),
|
.domain([ d3.min(datasets, function(d) { return d3.min(d.y); }) - 1000,
|
||||||
d3.max(datasets, function(d) { return d3.max(d.y); }) ]) ;
|
d3.max(datasets, function(d) { return d3.max(d.y); }) + 1000 ]) ;
|
||||||
|
|
||||||
var color_scale = d3.scale.category10()
|
var color_scale = d3.scale.category10()
|
||||||
.domain(d3.range(datasets.length)) ;
|
.domain(d3.range(datasets.length)) ;
|
||||||
|
|||||||
@@ -3,6 +3,11 @@
|
|||||||
{% block content %}
|
{% block content %}
|
||||||
<div class="content well">
|
<div class="content well">
|
||||||
<h1>Henry Pump POC</h1>
|
<h1>Henry Pump POC</h1>
|
||||||
|
<h2>Latest Tag Values</h2>
|
||||||
|
<pre>
|
||||||
|
{% for t in tag_values %}
|
||||||
|
{{t._id}} = {{t.lastTagValue}} @ {{t.lastTagStamp}}
|
||||||
|
{% endfor %}
|
||||||
|
</pre>
|
||||||
</div>
|
</div>
|
||||||
{% endblock content %}
|
{% endblock content %}
|
||||||
|
|||||||
@@ -38,10 +38,29 @@ class Pagination(object):
|
|||||||
yield num
|
yield num
|
||||||
last = num
|
last = num
|
||||||
|
|
||||||
|
def get_lastest_tag_values(request):
|
||||||
|
latest_tag_values = []
|
||||||
|
latesttag_agg = request.db['wellData'].aggregate([
|
||||||
|
{
|
||||||
|
'$sort': {"tagname": 1, "timestamp": 1}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'$group': {
|
||||||
|
'_id': "$tagname",
|
||||||
|
'lastTagStamp': {'$last': "$timestamp"},
|
||||||
|
'lastTagValue': {'$last': "$currentValue"}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
])
|
||||||
|
for t in latesttag_agg:
|
||||||
|
latest_tag_values.append(t)
|
||||||
|
return {'tag_values': latest_tag_values}
|
||||||
|
|
||||||
|
|
||||||
@view_config(route_name='home', renderer='templates/dashboard.jinja2')
|
@view_config(route_name='home', renderer='templates/dashboard.jinja2')
|
||||||
def my_view(request):
|
def my_view(request):
|
||||||
return {'project': 'POC Web Interface', 'navgroup': 'dashboard'}
|
ltv = get_lastest_tag_values(request)
|
||||||
|
return {'project': 'POC Web Interface', 'navgroup': 'dashboard', 'tag_values': ltv['tag_values']}
|
||||||
|
|
||||||
|
|
||||||
def card_page(request):
|
def card_page(request):
|
||||||
@@ -82,7 +101,7 @@ def cards(request):
|
|||||||
"count": {"$sum": 1}
|
"count": {"$sum": 1}
|
||||||
}},
|
}},
|
||||||
{"$sort": {"_id": 1}}
|
{"$sort": {"_id": 1}}
|
||||||
], useCursor=False)
|
])
|
||||||
for d in dateagg:
|
for d in dateagg:
|
||||||
datelist.append({'count': d['count'], 'date': datetime.strptime(d['_id'], "%Y-%m-%d").date()})
|
datelist.append({'count': d['count'], 'date': datetime.strptime(d['_id'], "%Y-%m-%d").date()})
|
||||||
return {'datelist': list(datelist), 'navgroup': 'cards'}
|
return {'datelist': list(datelist), 'navgroup': 'cards'}
|
||||||
|
|||||||
Reference in New Issue
Block a user