Commit fae9999e authored by harshavardhan.c's avatar harshavardhan.c

bug fix while displaying the oee dashboard.

parent 9b1da609
...@@ -100,14 +100,10 @@ class APIHandler: ...@@ -100,14 +100,10 @@ class APIHandler:
hierarchy=request_data.hierarchy, hierarchy=request_data.hierarchy,
prod_start_time=request_data.queryDate[0], prod_start_time=request_data.queryDate[0],
prod_end_time=request_data.queryDate[1], prod_end_time=request_data.queryDate[1],
reference_id=request_data.reference_id, reference_id=request_data.reference_id
tz=request_data.tz
) )
if isinstance(data, list) and data: raw_data = self.oee_agg.processor(data)
data = data[0] return chart_maker.main_creator(raw_data, overall=False)
raw_data = self.oee_agg.processor(data)
return chart_maker.main_creator(raw_data, overall=False)
return dict()
else: else:
agg_data = self.oee_agg.aggregator(request_data=request_data) agg_data = self.oee_agg.aggregator(request_data=request_data)
return chart_maker.main_creator(agg_data) return chart_maker.main_creator(agg_data)
......
from fastapi.encoders import jsonable_encoder from fastapi.encoders import jsonable_encoder
from sqlalchemy import func from sqlalchemy import func
from sqlalchemy.orm import Session, defer from sqlalchemy.orm import Session
from scripts.db.db_models import OEEDiscreteTable from scripts.db.db_models import OEEDiscreteTable
from scripts.errors import ILensError from scripts.errors import ILensError
...@@ -18,8 +18,8 @@ class DiscreteOEE(SQLDBUtils): ...@@ -18,8 +18,8 @@ class DiscreteOEE(SQLDBUtils):
try: try:
data = ( data = (
self.session.query(self.table) self.session.query(self.table)
.order_by(self.table.calculated_on) .order_by(self.table.calculated_on)
.filter( .filter(
self.table.hierarchy == hierarchy, self.table.hierarchy == hierarchy,
self.table.calculated_on >= prod_start_time, self.table.calculated_on >= prod_start_time,
self.table.calculated_on <= prod_end_time, self.table.calculated_on <= prod_end_time,
...@@ -37,12 +37,12 @@ class DiscreteOEE(SQLDBUtils): ...@@ -37,12 +37,12 @@ class DiscreteOEE(SQLDBUtils):
try: try:
data = ( data = (
self.session.query(self.table) self.session.query(self.table)
.order_by(self.table.calculated_on) .order_by(self.table.calculated_on)
.filter( .filter(
self.table.hierarchy == hierarchy, self.table.reference_id == reference_id, self.table.hierarchy == hierarchy, self.table.reference_id == reference_id,
self.table.project_id == project_id self.table.project_id == project_id
) )
.first() .first()
) )
if data: if data:
return jsonable_encoder(data) return jsonable_encoder(data)
...@@ -56,8 +56,8 @@ class DiscreteOEE(SQLDBUtils): ...@@ -56,8 +56,8 @@ class DiscreteOEE(SQLDBUtils):
try: try:
data = ( data = (
self.session.query(self.table.batch_id) self.session.query(self.table.batch_id)
.order_by(self.table.calculated_on) .order_by(self.table.calculated_on)
.filter( .filter(
self.table.hierarchy == hierarchy, self.table.hierarchy == hierarchy,
self.table.calculated_on >= prod_start_time, self.table.calculated_on >= prod_start_time,
self.table.calculated_on <= prod_end_time, self.table.calculated_on <= prod_end_time,
...@@ -81,8 +81,8 @@ class DiscreteOEE(SQLDBUtils): ...@@ -81,8 +81,8 @@ class DiscreteOEE(SQLDBUtils):
func.timezone(tz, self.table.prod_end_time).label(self.table.prod_end_time.key), func.timezone(tz, self.table.prod_end_time).label(self.table.prod_end_time.key),
func.timezone(tz, self.table.prod_start_time).label(self.table.prod_start_time.key), func.timezone(tz, self.table.prod_start_time).label(self.table.prod_start_time.key),
) )
.order_by(self.table.calculated_on) .order_by(self.table.calculated_on)
.filter( .filter(
self.table.hierarchy == hierarchy, self.table.hierarchy == hierarchy,
self.table.prod_start_time >= prod_start_time, self.table.prod_start_time >= prod_start_time,
self.table.prod_end_time <= prod_end_time, self.table.prod_end_time <= prod_end_time,
...@@ -97,38 +97,21 @@ class DiscreteOEE(SQLDBUtils): ...@@ -97,38 +97,21 @@ class DiscreteOEE(SQLDBUtils):
raise raise
def get_chart_data( def get_chart_data(
self, prod_start_time, prod_end_time, hierarchy, reference_id, tz, aggregation=False self, prod_start_time, prod_end_time, hierarchy, reference_id
): ):
try: try:
if not aggregation: data = (
data = ( self.session.query(self.table)
self.session.query(self.table) .filter(
.filter( self.table.hierarchy == hierarchy,
self.table.hierarchy == hierarchy, self.table.reference_id == reference_id,
self.table.reference_id == reference_id, self.table.prod_start_time >= prod_start_time,
self.table.prod_start_time >= prod_start_time, self.table.prod_end_time <= prod_end_time,
self.table.prod_end_time <= prod_end_time,
)
.first()
)
if data:
return jsonable_encoder(data)
else:
data = (
self.session.query(self.table)
.filter(
self.table.hierarchy == hierarchy,
self.table.prod_start_time >= prod_start_time,
self.table.prod_end_time <= prod_end_time,
)
.options(
defer(self.table.hierarchy),
defer(self.table.batch_id),
defer(self.table.uom),
)
) )
if data: .first()
return [jsonable_encoder(each) for each in data] )
if data:
return jsonable_encoder(data)
raise ILensError("Record(s) not found") raise ILensError("Record(s) not found")
except Exception as e: except Exception as e:
logger.exception(e) logger.exception(e)
......
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