Added Energy Input & Output Values to Detailed Data of CombinedEquipment Efficiency Report

pull/108/head
tianlinzhong 2021-12-30 22:02:49 +08:00
parent 0e01185730
commit 60c37b7a2f
3 changed files with 324 additions and 11 deletions

View File

@ -78,7 +78,7 @@ def generate_excel(report,
ws.column_dimensions['B'].width = 25.0
for i in range(ord('C'), ord('L')):
for i in range(ord('C'), ord('R')):
ws.column_dimensions[chr(i)].width = 15.0
# Font
@ -188,6 +188,26 @@ def generate_excel(report,
col = chr(ord(col) + 1)
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['names'][i] + '-' + reporting_period_data['numerator_names'][i] + " (" + \
reporting_period_data['numerator_units'][i] + ")"
col = chr(ord(col) + 1)
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['names'][i] + '-' + 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
@ -205,6 +225,20 @@ def generate_excel(report,
col = chr(ord(col) + 1)
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_cumulations'][i], 2)
col = chr(ord(col) + 1)
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_cumulations'][i], 2)
col = chr(ord(col) + 1)
current_row_number += 1
ws['B' + str(current_row_number)].font = title_font
@ -224,6 +258,24 @@ def generate_excel(report,
col = chr(ord(col) + 1)
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)
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
####################################################################################################################
@ -264,6 +316,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
@ -273,7 +327,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
@ -305,6 +359,25 @@ def generate_excel(report,
reporting_period_data['names'][i] + " (" + reporting_period_data['units'][i] + ")"
col = chr(ord(col) + 1)
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['names'][i] + '-' + reporting_period_data['numerator_names'][i] + " (" + \
reporting_period_data['numerator_units'][i] + ")"
col = chr(ord(col) + 1)
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['names'][i] + '-' + 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)):
@ -322,6 +395,20 @@ def generate_excel(report,
if reporting_period_data['values'][j][i] is not None else 0.00
col = chr(ord(col) + 1)
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)
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
@ -340,6 +427,18 @@ def generate_excel(report,
ws[col + str(current_row_number)] = round(reporting_period_data['cumulations'][i], 2)
col = chr(ord(col) + 1)
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_cumulations'][i], 2)
col = chr(ord(col) + 1)
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_cumulations'][i], 2)
col = chr(ord(col) + 1)
current_row_number += 2
format_time_width_number = 1.0
@ -363,12 +462,13 @@ def generate_excel(report,
min_len_number = 5
min_width_number = 11.5
i_num = 0
for i in range(0, ca_len):
line = LineChart()
line.title = 'Reporting Period Cumulative Efficiency - ' + \
reporting_period_data['names'][i] + " (" + reporting_period_data['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_data = Reference(ws, min_col=3 + i_num, 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]
@ -388,6 +488,59 @@ def generate_excel(report,
chart_start_row_number += 6
ws.add_chart(line, chart_cell)
i_num += 1
line = LineChart()
line.title = 'Reporting Period Cumulative Efficiency - ' + \
reporting_period_data['names'][i] + '-' + 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_num, 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)
i_num += 1
line = LineChart()
line.title = 'Reporting Period Cumulative Efficiency - ' + \
reporting_period_data['names'][i] + '-' +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_num, 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)
i_num += 1
################################################################################################################
has_associated_equipment_flag = True

View File

@ -303,7 +303,7 @@ class Reporting:
offline_meter_dict[row[1]] = {'id': row[0], 'unit': row[2]}
# 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)
@ -311,32 +311,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'
@ -494,6 +500,12 @@ class Reporting:
reporting[fraction['id']]['name'] = fraction['name']
reporting[fraction['id']]['unit'] = fraction['numerator_meter_unit'] + '/' + \
fraction['denominator_meter_unit']
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']]['numerator_timestamps'] = list()
reporting[fraction['id']]['numerator_values'] = list()
reporting[fraction['id']]['numerator_cumulation'] = Decimal(0.0)
@ -752,10 +764,30 @@ 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_cumulations'] = list()
result['reporting_period_efficiency']['denominator_cumulations'] = 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'])
@ -763,13 +795,49 @@ 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_cumulations'].append(
reporting[fraction['id']]['numerator_cumulation'])
result['reporting_period_efficiency']['denominator_cumulations'].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'],
"timestamps": parameters_data['timestamps'],

View File

@ -336,6 +336,16 @@ const CombinedEquipmentEfficiency = ({ setRedirect, setRedirectUrl, t }) => {
cardSummaryItem['unit'] = json['reporting_period_efficiency']['units'][index];
cardSummaryItem['cumulation'] = json['reporting_period_efficiency']['cumulations'][index];
cardSummaryItem['increment_rate'] = parseFloat(json['reporting_period_efficiency']['increment_rates'][index] * 100).toFixed(2) + "%";
cardSummaryItem['numerator_name'] = json['reporting_period_efficiency']['numerator_names'][index];
cardSummaryItem['numerator_unit'] = json['reporting_period_efficiency']['numerator_units'][index];
cardSummaryItem['numerator_cumulation'] = json['reporting_period_efficiency']['numerator_cumulations'][index];
cardSummaryItem['increment_rates_num'] = parseFloat(json['reporting_period_efficiency']['increment_rates_num'][index] * 100).toFixed(2) + "%";
cardSummaryItem['denominator_name'] = json['reporting_period_efficiency']['denominator_names'][index];
cardSummaryItem['denominator_unit'] = json['reporting_period_efficiency']['denominator_units'][index];
cardSummaryItem['denominator_cumulation'] = json['reporting_period_efficiency']['denominator_cumulations'][index];
cardSummaryItem['increment_rates_den'] = parseFloat(json['reporting_period_efficiency']['increment_rates_den'][index] * 100).toFixed(2) + "%";
cardSummaryArray.push(cardSummaryItem);
});
setCardSummaryList(cardSummaryArray);
@ -344,12 +354,24 @@ const CombinedEquipmentEfficiency = ({ setRedirect, setRedirectUrl, t }) => {
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;
});
setCombinedEquipmentLineChartLabels(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;
});
setCombinedEquipmentLineChartData(values);
let names = Array();
@ -357,6 +379,16 @@ const CombinedEquipmentEfficiency = ({ 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];
let name = json['reporting_period_efficiency']['names'][index];
names.push({ 'value': 'b' + index, 'label': name + '-' + currentValue + ' (' + unit + ')'});
});
json['reporting_period_efficiency']['denominator_names'].forEach((currentValue, index) => {
let unit = json['reporting_period_efficiency']['denominator_units'][index];
let name = json['reporting_period_efficiency']['names'][index];
names.push({ 'value': 'c' + index, 'label': name + '-' + currentValue + ' (' + unit + ')'});
});
setCombinedEquipmentLineChartOptions(names);
timestamps = {}
@ -394,6 +426,20 @@ const CombinedEquipmentEfficiency = ({ 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);
});
@ -405,6 +451,13 @@ const CombinedEquipmentEfficiency = ({ setRedirect, setRedirectUrl, t }) => {
json['reporting_period_efficiency']['cumulations'].forEach((currentValue, index) => {
detailed_value['a' + index] = currentValue;
});
json['reporting_period_efficiency']['numerator_cumulations'].forEach((currentValue, index) => {
detailed_value['b' + index] = currentValue;
});
json['reporting_period_efficiency']['denominator_cumulations'].forEach((currentValue, index) => {
detailed_value['c' + index] = currentValue;
});
detailed_value_list.push(detailed_value);
setDetailedDataTableData(detailed_value_list);
@ -416,6 +469,10 @@ const CombinedEquipmentEfficiency = ({ setRedirect, setRedirectUrl, t }) => {
})
json['reporting_period_efficiency']['names'].forEach((currentValue, index) => {
let unit = json['reporting_period_efficiency']['units'][index];
let numerator_name = json['reporting_period_efficiency']['numerator_names'][index];
let numerator_unit = json['reporting_period_efficiency']['numerator_units'][index];
let denominator_name = json['reporting_period_efficiency']['denominator_names'][index];
let denominator_unit = json['reporting_period_efficiency']['denominator_units'][index];
detailed_column_list.push({
dataField: 'a' + index,
text: currentValue + ' (' + unit + ')',
@ -428,6 +485,30 @@ const CombinedEquipmentEfficiency = ({ setRedirect, setRedirectUrl, t }) => {
}
}
})
detailed_column_list.push({
dataField: 'b' + index,
text: currentValue + '-' + numerator_name + ' (' + numerator_unit + ')',
sort: true,
formatter: function (decimalValue) {
if (decimalValue !== null) {
return decimalValue.toFixed(2);
} else {
return null;
}
}
})
detailed_column_list.push({
dataField: 'c' + index,
text: currentValue + '-' + denominator_name + ' (' + denominator_unit + ')',
sort: true,
formatter: function (decimalValue) {
if (decimalValue !== null) {
return decimalValue.toFixed(2);
} else {
return null;
}
}
})
});
setDetailedDataTableColumns(detailed_column_list);
@ -646,17 +727,28 @@ const CombinedEquipmentEfficiency = ({ setRedirect, setRedirectUrl, t }) => {
</Form>
</CardBody>
</Card>
<div className="card-deck">
{cardSummaryList.map(cardSummaryItem => (
{cardSummaryList.map(cardSummaryItem => (
<div className="card-deck" key={cardSummaryItem['name']}>
<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>
))}
</div>
<CardSummary key={cardSummaryItem['numerator_name']}
rate={cardSummaryItem['increment_rates_num']}
title={t('Reporting Period Output CATEGORY UNIT', { 'CATEGORY': cardSummaryItem['name'] + '-' + cardSummaryItem['numerator_name'], 'UNIT': '(' + cardSummaryItem['numerator_unit'] + ')' })}
color="success" >
{cardSummaryItem['numerator_cumulation'] && <CountUp end={cardSummaryItem['numerator_cumulation']} duration={2} prefix="" separator="," decimal="." decimals={2} />}
</CardSummary>
<CardSummary key={cardSummaryItem['denominator_name']}
rate={cardSummaryItem['increment_rates_den']}
title={t('Reporting Period Consumption CATEGORY UNIT', { 'CATEGORY': cardSummaryItem['name'] + '-' + cardSummaryItem['denominator_name'], 'UNIT': '(' + cardSummaryItem['denominator_unit'] + ')' })}
color="success" >
{cardSummaryItem['denominator_cumulation'] && <CountUp end={cardSummaryItem['denominator_cumulation']} duration={2} prefix="" separator="," decimal="." decimals={2} />}
</CardSummary>
</div>
))}
<LineChart reportingTitle={t('Reporting Period Cumulative Efficiency VALUE UNIT', { 'VALUE': null, 'UNIT': null })}
baseTitle=''
labels={combinedEquipmentLineChartLabels}