diff --git a/app/controllers/data.py b/app/controllers/data.py index e4404da9f426169a74f15434749aacf458240666..253e18fa287f56ae8f47e7cb7931d4c01d41a952 100644 --- a/app/controllers/data.py +++ b/app/controllers/data.py @@ -29,6 +29,11 @@ class DataController(RestController): where_tuple = where_tuple + (node_module_number,) where_statement = where_statement[:-4] + ')' + + if 'unit_id' in filter_data: + where_statement += 'AND unit_id=%s' + where_tuple = where_tuple + (filter_data['unit_id'],) + sql = "SELECT ts, value, unit, unit_id, name, sn, mod FROM data {} ORDER BY ts".format(where_statement) cur = self.redshift.get_cursor() cur = self.redshift.execute(cur, sql, where_tuple) diff --git a/app/controllers/gateway.py b/app/controllers/gateway.py index f1e706cb004db665c4008b5292060ec720da7b31..105cda2ecf0e5225d4872b234051e58a512566b1 100644 --- a/app/controllers/gateway.py +++ b/app/controllers/gateway.py @@ -37,12 +37,15 @@ class GatewayController(RestController): gateway['nodes'] = node_result if 'data' in filter_data and 'from' in filter_data and result: - date = filter_data.get('from') args = [('node_id[]', node_id) for node_id in node_ids] data_mapping = {} # Continue if any of the gateways have serials if args: - args.append(('from', date)) + args.append(('from', filter_data.get('from'))) + + if 'unit_id' in filter_data: + args.append(('unit_id', filter_data.get('unit_id'))) + multi_dict_args = MultiDict(args) data_result = DataController().index(multi_dict_args) # Map data to gateway serial numbers