Added Energy Input & Output Values to Detailed Data of Equipment Efficiency Repor

pull/106/head
tianlinzhong 2021-12-29 18:54:00 +08:00
parent a248df9006
commit 8803fc4559
3 changed files with 341 additions and 12 deletions

View File

@ -168,6 +168,8 @@ def generate_excel(report,
current_row_number += 1
category = reporting_period_data['names']
numerator_names = reporting_period_data['numerator_names']
denominator_names = reporting_period_data['denominator_names']
ca_len = len(category)
ws.row_dimensions[current_row_number].height = 80
@ -186,6 +188,29 @@ def generate_excel(report,
col = chr(ord(col) + 1)
nu_len = len(numerator_names)
for i in range(0, nu_len):
ws[col + str(current_row_number)].fill = table_fill
ws[col + str(current_row_number)].font = name_font
ws[col + str(current_row_number)].alignment = c_c_alignment
ws[col + str(current_row_number)].border = f_border
ws[col + str(current_row_number)] = \
reporting_period_data['numerator_names'][i] + " (" + reporting_period_data['numerator_units'][i] + ")"
col = chr(ord(col) + 1)
de_len = len(denominator_names)
for i in range(0, de_len):
ws[col + str(current_row_number)].fill = table_fill
ws[col + str(current_row_number)].font = name_font
ws[col + str(current_row_number)].alignment = c_c_alignment
ws[col + str(current_row_number)].border = f_border
ws[col + str(current_row_number)] = \
reporting_period_data['denominator_names'][i] + " (" + \
reporting_period_data['denominator_units'][i] + ")"
col = chr(ord(col) + 1)
current_row_number += 1
ws['B' + str(current_row_number)].font = title_font
@ -203,6 +228,22 @@ def generate_excel(report,
col = chr(ord(col) + 1)
for i in range(0, nu_len):
ws[col + str(current_row_number)].font = name_font
ws[col + str(current_row_number)].alignment = c_c_alignment
ws[col + str(current_row_number)].border = f_border
ws[col + str(current_row_number)] = round(reporting_period_data['numerator_cumulation'][i], 2)
col = chr(ord(col) + 1)
for i in range(0, de_len):
ws[col + str(current_row_number)].font = name_font
ws[col + str(current_row_number)].alignment = c_c_alignment
ws[col + str(current_row_number)].border = f_border
ws[col + str(current_row_number)] = round(reporting_period_data['denominator_cumulation'][i], 2)
col = chr(ord(col) + 1)
current_row_number += 1
ws['B' + str(current_row_number)].font = title_font
@ -222,6 +263,25 @@ def generate_excel(report,
col = chr(ord(col) + 1)
for i in range(0, nu_len):
ws[col + str(current_row_number)].font = name_font
ws[col + str(current_row_number)].alignment = c_c_alignment
ws[col + str(current_row_number)].border = f_border
ws[col + str(current_row_number)] = str(
round(reporting_period_data['increment_rates_num'][i] * 100, 2)) + '%' \
if reporting_period_data['increment_rates_num'][i] is not None else '-'
col = chr(ord(col) + 1)
for i in range(0, de_len):
ws[col + str(current_row_number)].font = name_font
ws[col + str(current_row_number)].alignment = c_c_alignment
ws[col + str(current_row_number)].border = f_border
ws[col + str(current_row_number)] = str(
round(reporting_period_data['increment_rates_den'][i] * 100, 2)) + '%' \
if reporting_period_data['increment_rates_den'][i] is not None else '-'
col = chr(ord(col) + 1)
current_row_number += 2
####################################################################################################################
@ -262,6 +322,8 @@ def generate_excel(report,
if has_values_data and has_timestamps_data:
ca_len = len(reporting_period_data['names'])
de_len = len(reporting_period_data['denominator_names'])
nu_len = len(reporting_period_data['numerator_names'])
time = reporting_period_data['timestamps'][0]
ws['B' + str(current_row_number)].font = title_font
@ -271,7 +333,7 @@ def generate_excel(report,
chart_start_row_number = current_row_number
current_row_number += ca_len * 6 + 1
current_row_number += ca_len * 6 + de_len * 6 + nu_len * 6 + 1
if has_parameters_names_and_timestamps_and_values_data:
current_sheet_parameters_row_number = current_row_number
@ -303,6 +365,26 @@ def generate_excel(report,
reporting_period_data['names'][i] + " (" + reporting_period_data['units'][i] + ")"
col = chr(ord(col) + 1)
for i in range(0, nu_len):
ws[col + str(current_row_number)].fill = table_fill
ws[col + str(current_row_number)].font = title_font
ws[col + str(current_row_number)].alignment = c_c_alignment
ws[col + str(current_row_number)].border = f_border
ws[col + str(current_row_number)] = \
reporting_period_data['numerator_names'][i] + " (" + reporting_period_data['numerator_units'][i] + ")"
col = chr(ord(col) + 1)
for i in range(0, de_len):
ws[col + str(current_row_number)].fill = table_fill
ws[col + str(current_row_number)].font = name_font
ws[col + str(current_row_number)].alignment = c_c_alignment
ws[col + str(current_row_number)].border = f_border
ws[col + str(current_row_number)] = \
reporting_period_data['denominator_names'][i] + " (" + \
reporting_period_data['denominator_units'][i] + ")"
col = chr(ord(col) + 1)
current_row_number += 1
for i in range(0, len(time)):
@ -320,6 +402,22 @@ def generate_excel(report,
if reporting_period_data['values'][j][i] is not None else 0.00
col = chr(ord(col) + 1)
for j in range(0, nu_len):
ws[col + str(current_row_number)].font = title_font
ws[col + str(current_row_number)].alignment = c_c_alignment
ws[col + str(current_row_number)].border = f_border
ws[col + str(current_row_number)] = round(reporting_period_data['numerator_values'][j][i], 2) \
if reporting_period_data['numerator_values'][j][i] is not None else 0.00
col = chr(ord(col) + 1)
for j in range(0, de_len):
ws[col + str(current_row_number)].font = title_font
ws[col + str(current_row_number)].alignment = c_c_alignment
ws[col + str(current_row_number)].border = f_border
ws[col + str(current_row_number)] = round(reporting_period_data['denominator_values'][j][i], 2) \
if reporting_period_data['denominator_values'][j][i] is not None else 0.00
col = chr(ord(col) + 1)
current_row_number += 1
table_end_row_number = current_row_number - 1
@ -338,6 +436,22 @@ def generate_excel(report,
ws[col + str(current_row_number)] = round(reporting_period_data['cumulations'][i], 2)
col = chr(ord(col) + 1)
for i in range(0, nu_len):
ws[col + str(current_row_number)].font = title_font
ws[col + str(current_row_number)].alignment = c_c_alignment
ws[col + str(current_row_number)].border = f_border
ws[col + str(current_row_number)] = round(reporting_period_data['numerator_cumulation'][i], 2)
col = chr(ord(col) + 1)
for i in range(0, de_len):
ws[col + str(current_row_number)].font = title_font
ws[col + str(current_row_number)].alignment = c_c_alignment
ws[col + str(current_row_number)].border = f_border
ws[col + str(current_row_number)] = round(reporting_period_data['denominator_cumulation'][i], 2)
col = chr(ord(col) + 1)
current_row_number += 2
format_time_width_number = 1.0
@ -386,6 +500,58 @@ def generate_excel(report,
chart_start_row_number += 6
ws.add_chart(line, chart_cell)
for i in range(0, nu_len):
line = LineChart()
line.title = 'Reporting Period Cumulative Efficiency - ' + \
reporting_period_data['numerator_names'][i] + " (" + \
reporting_period_data['numerator_units'][i] + ")"
labels = Reference(ws, min_col=2, min_row=table_start_row_number + 1, max_row=table_end_row_number)
line_data = Reference(ws, min_col=3 + i, min_row=table_start_row_number, max_row=table_end_row_number)
line.add_data(line_data, titles_from_data=True)
line.set_categories(labels)
line_data = line.series[0]
line_data.marker.symbol = "circle"
line_data.smooth = True
line.x_axis.crosses = 'min'
line.height = 8.25
line.width = format_time_width_number * len(time) if len(time) > min_len_number else min_width_number
if line.width > 24:
line.width = 24
line.dLbls = DataLabelList()
line.dLbls.dLblPos = 't'
line.dLbls.showVal = True
line.dLbls.showPercent = False
chart_col = 'B'
chart_cell = chart_col + str(chart_start_row_number)
chart_start_row_number += 6
ws.add_chart(line, chart_cell)
for i in range(0, de_len):
line = LineChart()
line.title = 'Reporting Period Cumulative Efficiency - ' + \
reporting_period_data['denominator_names'][i] + " (" + \
reporting_period_data['denominator_units'][i] + ")"
labels = Reference(ws, min_col=2, min_row=table_start_row_number + 1, max_row=table_end_row_number)
line_data = Reference(ws, min_col=3 + i, min_row=table_start_row_number, max_row=table_end_row_number)
line.add_data(line_data, titles_from_data=True)
line.set_categories(labels)
line_data = line.series[0]
line_data.marker.symbol = "circle"
line_data.smooth = True
line.x_axis.crosses = 'min'
line.height = 8.25
line.width = format_time_width_number * len(time) if len(time) > min_len_number else min_width_number
if line.width > 24:
line.width = 24
line.dLbls = DataLabelList()
line.dLbls.dLblPos = 't'
line.dLbls.showVal = True
line.dLbls.showPercent = False
chart_col = 'B'
chart_cell = chart_col + str(chart_start_row_number)
chart_start_row_number += 6
ws.add_chart(line, chart_cell)
####################################################################################################################
if has_parameters_names_and_timestamps_and_values_data:

View File

@ -195,7 +195,7 @@ class Reporting:
################################################################################################################
# get all meters
meter_dict = dict()
query = (" SELECT m.id, m.uuid, ec.unit_of_measure "
query = (" SELECT m.id, m.uuid, ec.unit_of_measure, ec.name "
" FROM tbl_meters m, tbl_energy_categories ec "
" WHERE m.energy_category_id = ec.id ")
cursor_system.execute(query)
@ -203,10 +203,10 @@ class Reporting:
if rows_meters is not None and len(rows_meters) > 0:
for row in rows_meters:
meter_dict[row[1]] = {'id': row[0], 'unit': row[2]}
meter_dict[row[1]] = {'id': row[0], 'unit': row[2], 'name': row[3]}
# get all offline meters
offline_meter_dict = dict()
query = (" SELECT m.id, m.uuid, ec.unit_of_measure "
query = (" SELECT m.id, m.uuid, ec.unit_of_measure, ec.name "
" FROM tbl_offline_meters m, tbl_energy_categories ec "
" WHERE m.energy_category_id = ec.id ")
cursor_system.execute(query)
@ -214,10 +214,10 @@ class Reporting:
if rows_offline_meters is not None and len(rows_offline_meters) > 0:
for row in rows_offline_meters:
offline_meter_dict[row[1]] = {'id': row[0], 'unit': row[2]}
offline_meter_dict[row[1]] = {'id': row[0], 'unit': row[2], 'name': row[3]}
# get all virtual meters
virtual_meter_dict = dict()
query = (" SELECT m.id, m.uuid, ec.unit_of_measure "
query = (" SELECT m.id, m.uuid, ec.unit_of_measure, ec.name "
" FROM tbl_virtual_meters m, tbl_energy_categories ec "
" WHERE m.energy_category_id = ec.id ")
cursor_system.execute(query)
@ -225,32 +225,38 @@ class Reporting:
if rows_virtual_meters is not None and len(rows_virtual_meters) > 0:
for row in rows_virtual_meters:
virtual_meter_dict[row[1]] = {'id': row[0], 'unit': row[2]}
virtual_meter_dict[row[1]] = {'id': row[0], 'unit': row[2], 'name': row[3]}
if fraction_list is not None and len(fraction_list) > 0:
for fraction in fraction_list:
if fraction['numerator_meter_uuid'] in offline_meter_dict:
fraction['numerator_meter_name'] = offline_meter_dict[fraction['numerator_meter_uuid']]['name']
fraction['numerator_meter_id'] = offline_meter_dict[fraction['numerator_meter_uuid']]['id']
fraction['numerator_meter_unit'] = offline_meter_dict[fraction['numerator_meter_uuid']]['unit']
fraction['numerator_meter_type'] = 'offline_meter'
elif fraction['numerator_meter_uuid'] in virtual_meter_dict:
fraction['numerator_meter_name'] = virtual_meter_dict[fraction['numerator_meter_uuid']]['name']
fraction['numerator_meter_id'] = virtual_meter_dict[fraction['numerator_meter_uuid']]['id']
fraction['numerator_meter_unit'] = virtual_meter_dict[fraction['numerator_meter_uuid']]['unit']
fraction['numerator_meter_type'] = 'virtual_meter'
elif fraction['numerator_meter_uuid'] in meter_dict:
fraction['numerator_meter_name'] = meter_dict[fraction['numerator_meter_uuid']]['name']
fraction['numerator_meter_id'] = meter_dict[fraction['numerator_meter_uuid']]['id']
fraction['numerator_meter_unit'] = meter_dict[fraction['numerator_meter_uuid']]['unit']
fraction['numerator_meter_type'] = 'meter'
if fraction['denominator_meter_uuid'] in offline_meter_dict:
fraction['denominator_meter_name'] = offline_meter_dict[fraction['denominator_meter_uuid']]['name']
fraction['denominator_meter_id'] = offline_meter_dict[fraction['denominator_meter_uuid']]['id']
fraction['denominator_meter_unit'] = offline_meter_dict[fraction['denominator_meter_uuid']]['unit']
fraction['denominator_meter_type'] = 'offline_meter'
elif fraction['denominator_meter_uuid'] in virtual_meter_dict:
fraction['denominator_meter_name'] = virtual_meter_dict[fraction['denominator_meter_uuid']]['name']
fraction['denominator_meter_id'] = virtual_meter_dict[fraction['denominator_meter_uuid']]['id']
fraction['denominator_meter_unit'] = virtual_meter_dict[fraction['denominator_meter_uuid']]['unit']
fraction['denominator_meter_type'] = 'virtual_meter'
elif fraction['denominator_meter_uuid'] in meter_dict:
fraction['denominator_meter_name'] = meter_dict[fraction['denominator_meter_uuid']]['name']
fraction['denominator_meter_id'] = meter_dict[fraction['denominator_meter_uuid']]['id']
fraction['denominator_meter_unit'] = meter_dict[fraction['denominator_meter_uuid']]['unit']
fraction['denominator_meter_type'] = 'meter'
@ -406,6 +412,10 @@ class Reporting:
for fraction in fraction_list:
reporting[fraction['id']] = dict()
reporting[fraction['id']]['name'] = fraction['name']
reporting[fraction['id']]['numerator_name'] = fraction['numerator_meter_name']
reporting[fraction['id']]['numerator_unit'] = fraction['numerator_meter_unit']
reporting[fraction['id']]['denominator_name'] = fraction['denominator_meter_name']
reporting[fraction['id']]['denominator_unit'] = fraction['denominator_meter_unit']
reporting[fraction['id']]['unit'] = fraction['numerator_meter_unit'] + '/' + \
fraction['denominator_meter_unit']
reporting[fraction['id']]['numerator_timestamps'] = list()
@ -636,10 +646,23 @@ class Reporting:
result['reporting_period_efficiency'] = dict()
result['reporting_period_efficiency']['names'] = list()
result['reporting_period_efficiency']['units'] = list()
result['reporting_period_efficiency']['numerator_names'] = list()
result['reporting_period_efficiency']['numerator_units'] = list()
result['reporting_period_efficiency']['denominator_names'] = list()
result['reporting_period_efficiency']['denominator_units'] = list()
result['reporting_period_efficiency']['timestamps'] = list()
result['reporting_period_efficiency']['values'] = list()
result['reporting_period_efficiency']['numerator_timestamps'] = list()
result['reporting_period_efficiency']['numerator_values'] = list()
result['reporting_period_efficiency']['denominator_timestamps'] = list()
result['reporting_period_efficiency']['denominator_values'] = list()
result['reporting_period_efficiency']['cumulations'] = list()
result['reporting_period_efficiency']['numerator_cumulation'] = list()
result['reporting_period_efficiency']['denominator_cumulation'] = list()
result['reporting_period_efficiency']['increment_rates'] = list()
result['reporting_period_efficiency']['increment_rates_num'] = list()
result['reporting_period_efficiency']['increment_rates_den'] = list()
if fraction_list is not None and len(fraction_list) > 0:
for fraction in fraction_list:
result['base_period_efficiency']['timestamps'].append(base[fraction['id']]['timestamps'])
@ -647,12 +670,43 @@ class Reporting:
result['base_period_efficiency']['cumulations'].append(base[fraction['id']]['cumulation'])
result['reporting_period_efficiency']['names'].append(reporting[fraction['id']]['name'])
result['reporting_period_efficiency']['units'].append(reporting[fraction['id']]['unit'])
result['reporting_period_efficiency']['numerator_names'].append(
reporting[fraction['id']]['numerator_name'])
result['reporting_period_efficiency']['numerator_units'].append(
reporting[fraction['id']]['numerator_unit'])
result['reporting_period_efficiency']['denominator_names'].append(
reporting[fraction['id']]['denominator_name'])
result['reporting_period_efficiency']['denominator_units'].append(
reporting[fraction['id']]['denominator_unit'])
result['reporting_period_efficiency']['timestamps'].append(reporting[fraction['id']]['timestamps'])
result['reporting_period_efficiency']['values'].append(reporting[fraction['id']]['values'])
result['reporting_period_efficiency']['numerator_timestamps'].append(
reporting[fraction['id']]['numerator_timestamps'])
result['reporting_period_efficiency']['numerator_values'].append(
reporting[fraction['id']]['numerator_values'])
result['reporting_period_efficiency']['denominator_timestamps'].append(
reporting[fraction['id']]['denominator_timestamps'])
result['reporting_period_efficiency']['denominator_values'].append(
reporting[fraction['id']]['denominator_values'])
result['reporting_period_efficiency']['cumulations'].append(reporting[fraction['id']]['cumulation'])
result['reporting_period_efficiency']['numerator_cumulation'].append(
reporting[fraction['id']]['numerator_cumulation'])
result['reporting_period_efficiency']['denominator_cumulation'].append(
reporting[fraction['id']]['denominator_cumulation'])
result['reporting_period_efficiency']['increment_rates'].append(
(reporting[fraction['id']]['cumulation'] - base[fraction['id']]['cumulation']) /
base[fraction['id']]['cumulation'] if base[fraction['id']]['cumulation'] > Decimal(0.0) else None)
result['reporting_period_efficiency']['increment_rates_num'].append(
(reporting[fraction['id']]['numerator_cumulation'] - base[fraction['id']]['numerator_cumulation']) /
base[fraction['id']]['numerator_cumulation'] if base[fraction['id']]['numerator_cumulation'] >
Decimal(0.0) else None)
result['reporting_period_efficiency']['increment_rates_den'].append(
(reporting[fraction['id']]['denominator_cumulation'] -
base[fraction['id']]['denominator_cumulation']) /
base[fraction['id']]['denominator_cumulation'] if base[fraction['id']]['denominator_cumulation'] >
Decimal(0.0) else None)
result['parameters'] = {
"names": parameters_data['names'],

View File

@ -77,6 +77,8 @@ const EquipmentEfficiency = ({ setRedirect, setRedirectUrl, t }) => {
//Results
const [cardSummaryList, setCardSummaryList] = useState([]);
const [totalOutput, settotalOutput] = useState({});
const [totalConsumption, settotalConsumption] = useState({});
const [equipmentLineChartLabels, setEquipmentLineChartLabels] = useState([]);
const [equipmentLineChartData, setEquipmentLineChartData] = useState({});
const [equipmentLineChartOptions, setEquipmentLineChartOptions] = useState([]);
@ -320,7 +322,7 @@ const EquipmentEfficiency = ({ setRedirect, setRedirectUrl, t }) => {
}).then(json => {
if (isResponseOK) {
console.log(json)
let cardSummaryArray = []
json['reporting_period_efficiency']['names'].forEach((currentValue, index) => {
let cardSummaryItem = {}
@ -330,18 +332,50 @@ const EquipmentEfficiency = ({ setRedirect, setRedirectUrl, t }) => {
cardSummaryItem['increment_rate'] = parseFloat(json['reporting_period_efficiency']['increment_rates'][index] * 100).toFixed(2) + "%";
cardSummaryArray.push(cardSummaryItem);
});
console.log("cardSummaryArray")
console.log(cardSummaryArray)
setCardSummaryList(cardSummaryArray);
let totalOutput = {}
json['reporting_period_efficiency']['numerator_names'].forEach((currentValue, index) => {
totalOutput['name'] = json['reporting_period_efficiency']['numerator_names'][index];
totalOutput['unit'] = json['reporting_period_efficiency']['numerator_units'][index];
totalOutput['cumulation'] = json['reporting_period_efficiency']['numerator_cumulation'][index];
totalOutput['increment_rate'] = parseFloat(json['reporting_period_efficiency']['increment_rates_num'][index] * 100).toFixed(2) + "%";
});
settotalOutput(totalOutput);
let totalConsumption = {}
json['reporting_period_efficiency']['denominator_names'].forEach((currentValue, index) => {
totalConsumption['name'] = json['reporting_period_efficiency']['denominator_names'][index];
totalConsumption['unit'] = json['reporting_period_efficiency']['denominator_units'][index];
totalConsumption['cumulation'] = json['reporting_period_efficiency']['denominator_cumulation'][index];
totalConsumption['increment_rate'] = parseFloat(json['reporting_period_efficiency']['increment_rates_den'][index] * 100).toFixed(2) + "%";
});
settotalConsumption(totalConsumption);
let timestamps = {}
json['reporting_period_efficiency']['timestamps'].forEach((currentValue, index) => {
timestamps['a' + index] = currentValue;
});
json['reporting_period_efficiency']['numerator_timestamps'].forEach((currentValue, index) => {
timestamps['b' + index] = currentValue;
});
json['reporting_period_efficiency']['denominator_timestamps'].forEach((currentValue, index) => {
timestamps['c' + index] = currentValue;
});
setEquipmentLineChartLabels(timestamps);
let values = {}
json['reporting_period_efficiency']['values'].forEach((currentValue, index) => {
values['a' + index] = currentValue;
});
json['reporting_period_efficiency']['numerator_values'].forEach((currentValue, index) => {
values['b' + index] = currentValue;
});
json['reporting_period_efficiency']['denominator_values'].forEach((currentValue, index) => {
values['c' + index] = currentValue;
});
setEquipmentLineChartData(values);
let names = Array();
@ -349,8 +383,16 @@ const EquipmentEfficiency = ({ setRedirect, setRedirectUrl, t }) => {
let unit = json['reporting_period_efficiency']['units'][index];
names.push({ 'value': 'a' + index, 'label': currentValue + ' (' + unit + ')'});
});
json['reporting_period_efficiency']['numerator_names'].forEach((currentValue, index) => {
let unit = json['reporting_period_efficiency']['numerator_units'][index];
names.push({ 'value': 'b' + index, 'label': currentValue + ' (' + unit + ')'});
});
json['reporting_period_efficiency']['denominator_names'].forEach((currentValue, index) => {
let unit = json['reporting_period_efficiency']['denominator_units'][index];
names.push({ 'value': 'c' + index, 'label': currentValue + ' (' + unit + ')'});
});
setEquipmentLineChartOptions(names);
timestamps = {}
json['parameters']['timestamps'].forEach((currentValue, index) => {
timestamps['a' + index] = currentValue;
@ -386,7 +428,20 @@ const EquipmentEfficiency = ({ setRedirect, setRedirectUrl, t }) => {
detailed_value['a' + parameterIndex] = null;
};
});
json['reporting_period_efficiency']['numerator_values'].forEach((currentValue, parameterIndex) => {
if (json['reporting_period_efficiency']['numerator_values'][parameterIndex][timestampIndex] != null) {
detailed_value['b' + parameterIndex] = json['reporting_period_efficiency']['numerator_values'][parameterIndex][timestampIndex];
} else {
detailed_value['b' + parameterIndex] = null;
};
});
json['reporting_period_efficiency']['denominator_values'].forEach((currentValue, parameterIndex) => {
if (json['reporting_period_efficiency']['denominator_values'][parameterIndex][timestampIndex] != null) {
detailed_value['c' + parameterIndex] = json['reporting_period_efficiency']['denominator_values'][parameterIndex][timestampIndex];
} else {
detailed_value['c' + parameterIndex] = null;
};
});
detailed_value_list.push(detailed_value);
});
};
@ -397,6 +452,14 @@ const EquipmentEfficiency = ({ setRedirect, setRedirectUrl, t }) => {
json['reporting_period_efficiency']['cumulations'].forEach((currentValue, index) => {
detailed_value['a' + index] = currentValue;
});
json['reporting_period_efficiency']['numerator_cumulation'].forEach((currentValue, index) => {
detailed_value['b' + index] = currentValue;
});
json['reporting_period_efficiency']['denominator_cumulation'].forEach((currentValue, index) => {
detailed_value['c' + index] = currentValue;
});
console.log("detailed_value_list")
console.log(detailed_value_list)
detailed_value_list.push(detailed_value);
setDetailedDataTableData(detailed_value_list);
@ -421,6 +484,38 @@ const EquipmentEfficiency = ({ setRedirect, setRedirectUrl, t }) => {
}
})
});
json['reporting_period_efficiency']['numerator_names'].forEach((currentValue, index) => {
let unit = json['reporting_period_efficiency']['numerator_units'][index];
detailed_column_list.push({
dataField: 'b' + index,
text: currentValue + ' (' + unit + ')',
sort: true,
formatter: function (decimalValue) {
if (decimalValue !== null) {
return decimalValue.toFixed(2);
} else {
return null;
}
}
})
});
json['reporting_period_efficiency']['denominator_names'].forEach((currentValue, index) => {
let unit = json['reporting_period_efficiency']['denominator_units'][index];
detailed_column_list.push({
dataField: 'c' + index,
text: currentValue + ' (' + unit + ')',
sort: true,
formatter: function (decimalValue) {
if (decimalValue !== null) {
return decimalValue.toFixed(2);
} else {
return null;
}
}
})
});
console.log("detailed_column_list")
console.log(detailed_column_list)
setDetailedDataTableColumns(detailed_column_list);
setExcelBytesBase64(json['excel_bytes_base64']);
@ -611,11 +706,25 @@ const EquipmentEfficiency = ({ setRedirect, setRedirectUrl, t }) => {
<CardSummary key={cardSummaryItem['name']}
rate={cardSummaryItem['increment_rate']}
title={t('Reporting Period Cumulative Efficiency NAME UNIT', { 'NAME': cardSummaryItem['name'], 'UNIT': '(' + cardSummaryItem['unit'] + ')' })}
color="success"
color="success"
>
{cardSummaryItem['cumulation'] && <CountUp end={cardSummaryItem['cumulation']} duration={2} prefix="" separator="," decimal="." decimals={2} />}
</CardSummary>
))}
<CardSummary
rate={totalOutput['increment_rate'] || ''}
title={t('Reporting Period Output CATEGORY UNIT', { 'CATEGORY': totalOutput['name'], 'UNIT': '(' + totalOutput['unit'] + ')' })}
color="success" >
{totalOutput['cumulation'] && <CountUp end={totalOutput['cumulation']} duration={2} prefix="" separator="," decimal="." decimals={2} />}
</CardSummary>
<CardSummary
rate={totalConsumption['increment_rate'] || ''}
title={t('Reporting Period Consumption CATEGORY UNIT', { 'CATEGORY': totalConsumption['name'], 'UNIT': '(' + totalConsumption['unit'] + ')' })}
color="success" >
{totalConsumption['cumulation'] && <CountUp end={totalConsumption['cumulation']} duration={2} prefix="" separator="," decimal="." decimals={2} />}
</CardSummary>
</div>
<LineChart reportingTitle={t('Reporting Period Cumulative Efficiency VALUE UNIT', { 'VALUE': null, 'UNIT': null })}
baseTitle=''