retrieve latest tag values on dashboard

This commit is contained in:
Patrick McDonagh
2017-02-13 21:05:08 -06:00
parent 17e49a536c
commit b8d6efc5fc
3 changed files with 37 additions and 8 deletions

View File

@@ -3,7 +3,7 @@
{% block content %}
<div class="content">
<h1>{{card.timestamp | date}}</h1>
<h1>{{card.timestamp | datetime('long')}}</h1>
<div class="surfacecard card"></div>
@@ -19,6 +19,9 @@ var downhole_data = [
{ label: "Downhole Card",
x: {{card.downhole_position}},
y: {{card.downhole_load}} } ] ;
var all_position =surface_data[0]['x'].concat(downhole_data[0]['x'])
var xy_chart = d3_xy_chart()
.width(960)
.height(500)
@@ -49,13 +52,15 @@ function d3_xy_chart() {
var x_scale = d3.scale.linear()
.range([0, innerwidth])
.domain([ d3.min(datasets, function(d) { return d3.min(d.x); }),
d3.max(datasets, function(d) { return d3.max(d.x); }) ]) ;
// .domain([ d3.min(datasets, function(d) { return d3.min(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()
.range([innerheight, 0])
.domain([ d3.min(datasets, function(d) { return d3.min(d.y); }),
d3.max(datasets, function(d) { return d3.max(d.y); }) ]) ;
.domain([ d3.min(datasets, function(d) { return d3.min(d.y); }) - 1000,
d3.max(datasets, function(d) { return d3.max(d.y); }) + 1000 ]) ;
var color_scale = d3.scale.category10()
.domain(d3.range(datasets.length)) ;

View File

@@ -3,6 +3,11 @@
{% block content %}
<div class="content well">
<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>
{% endblock content %}

View File

@@ -38,10 +38,29 @@ class Pagination(object):
yield 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')
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):
@@ -82,7 +101,7 @@ def cards(request):
"count": {"$sum": 1}
}},
{"$sort": {"_id": 1}}
], useCursor=False)
])
for d in dateagg:
datelist.append({'count': d['count'], 'date': datetime.strptime(d['_id'], "%Y-%m-%d").date()})
return {'datelist': list(datelist), 'navgroup': 'cards'}