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