Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
C
CM6311-Group-6
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Requirements
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Locked files
Build
Pipelines
Jobs
Pipeline schedules
Test cases
Artifacts
Deploy
Releases
Package registry
Container registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Code review analytics
Issue analytics
Insights
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
GitLab community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
This is an archived project. Repository and other project resources are read-only.
Show more breadcrumbs
Tobiah Nott
CM6311-Group-6
Merge requests
!20
Create Energy Efficiency Improvement Costs page
Code
Review changes
Check out branch
Open in Workspace
Download
Patches
Plain diff
Expand sidebar
Merged
Create Energy Efficiency Improvement Costs page
sanil/energycosts
into
main
Overview
1
Commits
14
Pipelines
1
Changes
23
Merged
Create Energy Efficiency Improvement Costs page
Sanil Jalan
requested to merge
sanil/energycosts
into
main
Dec 10, 2023
Overview
1
Commits
14
Pipelines
1
Changes
23
Create a map UI for showing costs
Create bar graph separating data by Dwelling Type
Create bar graph separating data by Boiler Type
Create list of checkbox LADs that filters data shown in both the bar graphs including search bar for convenience
1
0
Merge request reports
Compare
main
version 3
ddf65564
Dec 10, 2023
version 2
0f9eede7
Dec 10, 2023
version 1
239d2ed1
Dec 10, 2023
main (base)
and
latest version
latest version
ae4b3dd1
14 commits,
Dec 10, 2023
version 3
ddf65564
13 commits,
Dec 10, 2023
version 2
0f9eede7
16 commits,
Dec 10, 2023
version 1
239d2ed1
15 commits,
Dec 10, 2023
23 files
+
977
−
7
Inline
Compare changes
Side-by-side
Inline
Show whitespace changes
Show one file at a time
Files
23
app/api/data/energyCost/filter/route.js
0 → 100644
+
104
−
0
View file @ ae4b3dd1
Edit in single-file editor
Open in Web IDE
import
{
PrismaClient
}
from
'
@prisma/client
'
;
// api/data/energyCost/filter route: get all energy efficiency costs by LAD (local authority district)
export
async
function
GET
(
request
)
{
const
type
=
request
.
nextUrl
.
searchParams
.
get
(
'
type
'
);
const
prisma
=
new
PrismaClient
();
try
{
const
records
=
await
prisma
.
heatingCost
.
findMany
({
include
:
{
lad19
:
true
}
});
let
aggregatedData
=
[];
let
totalData
;
if
(
type
==
'
dwelling
'
)
{
totalData
=
[
{
name
:
'
Detached
'
,
value
:
0
},
{
name
:
'
Flats
'
,
value
:
0
},
{
name
:
'
Semi-Detached
'
,
value
:
0
},
{
name
:
'
Terraced
'
,
value
:
0
}
];
records
.
map
((
lad
)
=>
{
let
detached
=
parseFloat
(
lad
.
detached_Biomass
)
+
parseFloat
(
lad
.
detached_Gas
)
+
parseFloat
(
lad
.
detached_Oil
)
+
parseFloat
(
lad
.
detached_Resistance
);
let
flats
=
parseFloat
(
lad
.
flats_Biomass
)
+
parseFloat
(
lad
.
flats_Gas
)
+
parseFloat
(
lad
.
flats_Oil
)
+
parseFloat
(
lad
.
flats_Resistance
);
let
semi
=
parseFloat
(
lad
.
semi_detached_Biomass
)
+
parseFloat
(
lad
.
semi_detached_Gas
)
+
parseFloat
(
lad
.
semi_detached_Oil
)
+
parseFloat
(
lad
.
semi_detached_Resistance
);
let
terraced
=
parseFloat
(
lad
.
terraced_Biomass
)
+
parseFloat
(
lad
.
terraced_Gas
)
+
parseFloat
(
lad
.
terraced_Oil
)
+
parseFloat
(
lad
.
terraced_Resistance
);
aggregatedData
.
push
({
Detached
:
detached
,
Flats
:
flats
,
'
Semi-Detached
'
:
semi
,
Terraced
:
terraced
,
lad19cd
:
lad
.
lad19
.
lad19cd
,
lad19nm
:
lad
.
lad19nm
});
totalData
.
find
((
v
)
=>
v
.
name
==
'
Detached
'
).
value
+=
detached
;
totalData
.
find
((
v
)
=>
v
.
name
==
'
Flats
'
).
value
+=
flats
;
totalData
.
find
((
v
)
=>
v
.
name
==
'
Semi-Detached
'
).
value
+=
semi
;
totalData
.
find
((
v
)
=>
v
.
name
==
'
Terraced
'
).
value
+=
terraced
;
});
}
else
if
(
type
==
'
boiler
'
)
{
totalData
=
[
{
name
:
'
Biomass
'
,
value
:
0
},
{
name
:
'
Gas
'
,
value
:
0
},
{
name
:
'
Oil
'
,
value
:
0
},
{
name
:
'
Resistance
'
,
value
:
0
}
];
records
.
map
((
lad
)
=>
{
let
biomass
=
parseFloat
(
lad
.
detached_Biomass
)
+
parseFloat
(
lad
.
flats_Biomass
)
+
parseFloat
(
lad
.
semi_detached_Biomass
)
+
parseFloat
(
lad
.
terraced_Biomass
);
let
gas
=
parseFloat
(
lad
.
flats_Gas
)
+
parseFloat
(
lad
.
detached_Gas
)
+
parseFloat
(
lad
.
semi_detached_Gas
)
+
parseFloat
(
lad
.
terraced_Gas
);
let
oil
=
parseFloat
(
lad
.
detached_Oil
)
+
parseFloat
(
lad
.
flats_Oil
)
+
parseFloat
(
lad
.
semi_detached_Oil
)
+
parseFloat
(
lad
.
terraced_Oil
);
let
resistance
=
parseFloat
(
lad
.
detached_Resistance
)
+
parseFloat
(
lad
.
flats_Resistance
)
+
parseFloat
(
lad
.
semi_detached_Resistance
)
+
parseFloat
(
lad
.
terraced_Resistance
);
aggregatedData
.
push
({
Biomass
:
biomass
,
Gas
:
gas
,
Oil
:
oil
,
Resistance
:
resistance
,
lad19cd
:
lad
.
lad19
.
lad19cd
,
lad19nm
:
lad
.
lad19nm
});
totalData
.
find
((
v
)
=>
v
.
name
==
'
Biomass
'
).
value
+=
biomass
;
totalData
.
find
((
v
)
=>
v
.
name
==
'
Gas
'
).
value
+=
gas
;
totalData
.
find
((
v
)
=>
v
.
name
==
'
Oil
'
).
value
+=
oil
;
totalData
.
find
((
v
)
=>
v
.
name
==
'
Resistance
'
).
value
+=
resistance
;
});
}
return
Response
.
json
({
total
:
totalData
,
aggregate
:
aggregatedData
});
}
catch
(
error
)
{
console
.
error
(
'
Prisma error:
'
,
error
);
return
Response
.
json
({
error
:
'
Something went wrong
'
});
}
}
Loading