added last year data to dashboard

pull/47/head
13621160019@163.com 2021-06-26 21:21:36 +08:00
parent e71e0c1f22
commit 5f603548d7
3 changed files with 76 additions and 10 deletions

View File

@ -601,6 +601,7 @@ class Reporting:
result['base_period_input']['subtotals'] = list()
result['base_period_input']['subtotals_in_kgce'] = list()
result['base_period_input']['subtotals_in_kgco2e'] = list()
result['base_period_input']['subtotals_per_unit_area'] = list()
result['base_period_input']['total_in_kgce'] = Decimal(0.0)
result['base_period_input']['total_in_kgco2e'] = Decimal(0.0)
if energy_category_set is not None and len(energy_category_set) > 0:
@ -619,6 +620,9 @@ class Reporting:
base_input[energy_category_id]['subtotal_in_kgce'])
result['base_period_input']['subtotals_in_kgco2e'].append(
base_input[energy_category_id]['subtotal_in_kgco2e'])
result['base_period_input']['subtotals_per_unit_area'].append(
base_input[energy_category_id]['subtotal'] / space['area']
if space['area'] > 0.0 else None)
result['base_period_input']['total_in_kgce'] += \
base_input[energy_category_id]['subtotal_in_kgce']
result['base_period_input']['total_in_kgco2e'] += \
@ -630,6 +634,7 @@ class Reporting:
result['base_period_cost']['timestamps'] = list()
result['base_period_cost']['values'] = list()
result['base_period_cost']['subtotals'] = list()
result['base_period_cost']['subtotals_per_unit_area'] = list()
result['base_period_cost']['total'] = Decimal(0.0)
if energy_category_set is not None and len(energy_category_set) > 0:
for energy_category_id in energy_category_set:
@ -643,6 +648,9 @@ class Reporting:
base_cost[energy_category_id]['values'])
result['base_period_cost']['subtotals'].append(
base_cost[energy_category_id]['subtotal'])
result['base_period_cost']['subtotals_per_unit_area'].append(
base_cost[energy_category_id]['subtotal'] / space['area']
if space['area'] > 0.0 else None)
result['base_period_cost']['total'] += base_cost[energy_category_id]['subtotal']
result['reporting_period_input'] = dict()

View File

@ -29,8 +29,10 @@ const Dashboard = ({ setRedirect, setRedirectUrl, t }) => {
const [TCEShareData, setTCEShareData] = useState([]);
const [TCO2EShareData, setTCO2EShareData] = useState([]);
const [inputCardSummaryList, setInputCardSummaryList] = useState([]);
const [costCardSummaryList, setCostCardSummaryList] = useState([]);
const [thisYearInputCardSummaryList, setThisYearInputCardSummaryList] = useState([]);
const [thisYearCostCardSummaryList, setThisYearCostCardSummaryList] = useState([]);
const [lastYearInputCardSummaryList, setLastYearInputCardSummaryList] = useState([]);
const [lastYearCostCardSummaryList, setLastYearCostCardSummaryList] = useState([]);
const [totalInTCE, setTotalInTCE] = useState({});
const [totalInTCO2E, setTotalInTCO2E] = useState({});
@ -99,7 +101,7 @@ const Dashboard = ({ setRedirect, setRedirectUrl, t }) => {
if (isResponseOK) {
console.log(json);
setFetchSuccess(true);
let inputCardSummaryArray = []
let thisYearInputCardSummaryArray = []
json['reporting_period_input']['names'].forEach((currentValue, index) => {
let cardSummaryItem = {}
cardSummaryItem['name'] = json['reporting_period_input']['names'][index];
@ -107,11 +109,11 @@ const Dashboard = ({ setRedirect, setRedirectUrl, t }) => {
cardSummaryItem['subtotal'] = json['reporting_period_input']['subtotals'][index];
cardSummaryItem['increment_rate'] = parseFloat(json['reporting_period_input']['increment_rates'][index] * 100).toFixed(2) + "%";
cardSummaryItem['subtotal_per_unit_area'] = json['reporting_period_input']['subtotals_per_unit_area'][index];
inputCardSummaryArray.push(cardSummaryItem);
thisYearInputCardSummaryArray.push(cardSummaryItem);
});
setInputCardSummaryList(inputCardSummaryArray);
setThisYearInputCardSummaryList(thisYearInputCardSummaryArray);
let costCardSummaryArray = []
let thisYearCostCardSummaryArray = []
json['reporting_period_cost']['names'].forEach((currentValue, index) => {
let cardSummaryItem = {}
cardSummaryItem['name'] = json['reporting_period_cost']['names'][index];
@ -119,9 +121,33 @@ const Dashboard = ({ setRedirect, setRedirectUrl, t }) => {
cardSummaryItem['subtotal'] = json['reporting_period_cost']['subtotals'][index];
cardSummaryItem['increment_rate'] = parseFloat(json['reporting_period_cost']['increment_rates'][index] * 100).toFixed(2) + "%";
cardSummaryItem['subtotal_per_unit_area'] = json['reporting_period_cost']['subtotals_per_unit_area'][index];
costCardSummaryArray.push(cardSummaryItem);
thisYearCostCardSummaryArray.push(cardSummaryItem);
});
setCostCardSummaryList(costCardSummaryArray);
setThisYearCostCardSummaryList(thisYearCostCardSummaryArray);
let lastYearInputCardSummaryArray = []
json['base_period_input']['names'].forEach((currentValue, index) => {
let cardSummaryItem = {}
cardSummaryItem['name'] = json['base_period_input']['names'][index];
cardSummaryItem['unit'] = json['base_period_input']['units'][index];
cardSummaryItem['subtotal'] = json['base_period_input']['subtotals'][index];
cardSummaryItem['increment_rate'] = null;
cardSummaryItem['subtotal_per_unit_area'] = json['base_period_input']['subtotals_per_unit_area'][index];
lastYearInputCardSummaryArray.push(cardSummaryItem);
});
setLastYearInputCardSummaryList(lastYearInputCardSummaryArray);
let lastYearCostCardSummaryArray = []
json['base_period_cost']['names'].forEach((currentValue, index) => {
let cardSummaryItem = {}
cardSummaryItem['name'] = json['base_period_cost']['names'][index];
cardSummaryItem['unit'] = json['base_period_cost']['units'][index];
cardSummaryItem['subtotal'] = json['base_period_cost']['subtotals'][index];
cardSummaryItem['increment_rate'] = null;
cardSummaryItem['subtotal_per_unit_area'] = json['base_period_cost']['subtotals_per_unit_area'][index];
lastYearCostCardSummaryArray.push(cardSummaryItem);
});
setLastYearCostCardSummaryList(lastYearCostCardSummaryArray);
let timeOfUseArray = [];
json['reporting_period_input']['energy_category_ids'].forEach((currentValue, index) => {
@ -329,7 +355,7 @@ const Dashboard = ({ setRedirect, setRedirectUrl, t }) => {
return (
<Fragment>
<div className="card-deck">
{inputCardSummaryList.map(cardSummaryItem => (
{thisYearInputCardSummaryList.map(cardSummaryItem => (
<CardSummary key={uuid()}
rate={cardSummaryItem['increment_rate']}
title={t("This Year's Consumption CATEGORY VALUE UNIT", { 'CATEGORY': cardSummaryItem['name'], 'VALUE': null, 'UNIT': '(' + cardSummaryItem['unit'] + ')' })}
@ -340,7 +366,7 @@ const Dashboard = ({ setRedirect, setRedirectUrl, t }) => {
{cardSummaryItem['subtotal'] && <CountUp end={cardSummaryItem['subtotal']} duration={2} prefix="" separator="," decimal="." decimals={0} />}
</CardSummary>
))}
{costCardSummaryList.map(cardSummaryItem => (
{thisYearCostCardSummaryList.map(cardSummaryItem => (
<CardSummary key={uuid()}
rate={cardSummaryItem['increment_rate']}
title={t("This Year's Costs CATEGORY VALUE UNIT", { 'CATEGORY': cardSummaryItem['name'], 'VALUE': null, 'UNIT': '(' + cardSummaryItem['unit'] + ')' })}
@ -351,6 +377,32 @@ const Dashboard = ({ setRedirect, setRedirectUrl, t }) => {
{cardSummaryItem['subtotal'] && <CountUp end={cardSummaryItem['subtotal']} duration={2} prefix="" separator="," decimal="." decimals={0} />}
</CardSummary>
))}
</div>
<div className="card-deck">
{lastYearInputCardSummaryList.map(cardSummaryItem => (
<CardSummary key={uuid()}
rate={cardSummaryItem['increment_rate']}
title={t("Last Year's Consumption CATEGORY VALUE UNIT", { 'CATEGORY': cardSummaryItem['name'], 'VALUE': null, 'UNIT': '(' + cardSummaryItem['unit'] + ')' })}
color="success"
footnote={t('Per Unit Area')}
footvalue={cardSummaryItem['subtotal_per_unit_area']}
footunit={"(" + cardSummaryItem['unit'] + "/M²)"} >
{cardSummaryItem['subtotal'] && <CountUp end={cardSummaryItem['subtotal']} duration={2} prefix="" separator="," decimal="." decimals={0} />}
</CardSummary>
))}
{lastYearCostCardSummaryList.map(cardSummaryItem => (
<CardSummary key={uuid()}
rate={cardSummaryItem['increment_rate']}
title={t("Last Year's Costs CATEGORY VALUE UNIT", { 'CATEGORY': cardSummaryItem['name'], 'VALUE': null, 'UNIT': '(' + cardSummaryItem['unit'] + ')' })}
color="success"
footnote={t('Per Unit Area')}
footvalue={cardSummaryItem['subtotal_per_unit_area']}
footunit={"(" + cardSummaryItem['unit'] + "/M²)"} >
{cardSummaryItem['subtotal'] && <CountUp end={cardSummaryItem['subtotal']} duration={2} prefix="" separator="," decimal="." decimals={0} />}
</CardSummary>
))}
</div>
<div className="card-deck">
<CardSummary
rate={totalInTCE['increment_rate'] || ''}
title={t("This Year's Consumption CATEGORY VALUE UNIT", { 'CATEGORY': t('Ton of Standard Coal'), 'UNIT': '(TCE)' })}

View File

@ -68,6 +68,8 @@ const resources = {
"Ton of Carbon Dioxide Emissions by Energy Category": "Ton of Carbon Dioxide Emissions(TCO2E) by Energy Category",
"This Year's Consumption CATEGORY VALUE UNIT": "This Year's Consumption {{CATEGORY}} {{VALUE}} {{UNIT}}",
"This Year's Costs CATEGORY VALUE UNIT": "This Year's Costs {{CATEGORY}} {{VALUE}} {{UNIT}}",
"Last Year's Consumption CATEGORY VALUE UNIT": "Last Year's Consumption {{CATEGORY}} {{VALUE}} {{UNIT}}",
"Last Year's Costs CATEGORY VALUE UNIT": "Last Year's Costs {{CATEGORY}} {{VALUE}} {{UNIT}}",
// Entities
"Space": "Space",
"Equipment": "Equipment",
@ -409,6 +411,8 @@ const resources = {
"Ton of Carbon Dioxide Emissions by Energy Category": "Tonne Kohlendioxidemissionen(TCO2E) nach Energiekategorie",
"This Year's Consumption CATEGORY VALUE UNIT": "Der Verbrauch Dieses Jahr {{CATEGORY}} {{VALUE}} {{UNIT}}",
"This Year's Costs CATEGORY VALUE UNIT": "Der Kosten Dieses Jahr {{CATEGORY}} {{VALUE}} {{UNIT}}",
"Last Year's Consumption CATEGORY VALUE UNIT": "Der Verbrauch Letztes Jahr {{CATEGORY}} {{VALUE}} {{UNIT}}",
"Last Year's Costs CATEGORY VALUE UNIT": "Der Kosten Letztes Jahr {{CATEGORY}} {{VALUE}} {{UNIT}}",
// Entities
"Space": "Platz",
"Equipment": "Ausrüstung",
@ -753,6 +757,8 @@ const resources = {
"Ton of Carbon Dioxide Emissions by Energy Category": "吨二氧化碳排放(TCO2E)占比",
"This Year's Consumption CATEGORY VALUE UNIT": "本年消耗 {{CATEGORY}} {{VALUE}} {{UNIT}}",
"This Year's Costs CATEGORY VALUE UNIT": "本年成本 {{CATEGORY}} {{VALUE}} {{UNIT}}",
"Last Year's Consumption CATEGORY VALUE UNIT": "去年消耗 {{CATEGORY}} {{VALUE}} {{UNIT}}",
"Last Year's Costs CATEGORY VALUE UNIT": "去年成本 {{CATEGORY}} {{VALUE}} {{UNIT}}",
// Entities
"Space": "空间",
"Equipment": "设备",