Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
N
nisum-scorecard
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Venkaiah Naidu Singamchetty
nisum-scorecard
Commits
f057f43b
Commit
f057f43b
authored
Mar 14, 2024
by
Venkaiah Naidu Singamchetty
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
'averagecalculationadded'
parent
d6513c10
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
30 additions
and
8 deletions
+30
-8
server.js
server.js
+30
-8
No files found.
server.js
View file @
f057f43b
...
...
@@ -111,29 +111,29 @@ app.post('/create-performance',(req,res)=>{
let
{
data
}
=
req
.
body
;
data
=
{...
data
,
"recorded_date"
:
new
Date
(
data
[
'recorded_date'
])
};
let
query
=
{
empId
:
empId
};
db
.
collection
(
'performance_master'
).
findOne
(
query
).
then
((
result
)
=>
{
db
.
collection
(
'performance_master'
).
findOne
(
query
).
then
(
(
result
)
=>
{
if
(
result
){
db
.
collection
(
'performance_master'
).
updateOne
(
query
,{
$push
:
{
"activities"
:
data
}
})
.
then
((
updateRes
)
=>
{
.
then
(
async
(
updateRes
)
=>
{
await
calculateAverage
(
query
);
res
.
json
({
"reuslt"
:
updateRes
});
})
.
catch
((
error
)
=>
{
res
.
json
({
"error"
:
error
});
});
});
}
else
{
//create ne one
let
insertData
=
{
empId
:
empId
,
activities
:[]};
insertData
.
activities
.
push
(
data
);
db
.
collection
(
'performance_master'
).
insertOne
(
insertData
).
then
((
result
)
=>
{
db
.
collection
(
'performance_master'
).
insertOne
(
insertData
).
then
(
async
(
result
)
=>
{
await
calculateAverage
(
query
);
res
.
json
({
"result"
:
result
});
}).
catch
((
error
)
=>
{
res
.
json
({
"message"
:
error
})
})
}
}
}).
catch
((
error
)
=>
{
console
.
log
(
error
)
res
.
send
(
query
)
...
...
@@ -145,6 +145,28 @@ app.post('/create-performance',(req,res)=>{
})
//calculating average score and updating into employees data
const
calculateAverage
=
(
query
)
=>
{
return
new
Promise
((
res
,
rej
)
=>
{
db
.
collection
(
'performance_master'
).
findOne
(
query
).
then
((
result
)
=>
{
let
activitiesList
=
result
.
activities
;
let
activitiesLength
=
activitiesList
.
length
;
let
score
=
activitiesList
.
reduce
((
acc
,
curr
)
=>
{
return
(
acc
)
+
(
curr
.
score
)
},
0
)
let
averageScore
=
0
score
<
0
?
averageScore
=
0
:(
averageScore
=
(
score
/
activitiesLength
))
db
.
collection
(
"employees"
).
updateOne
(
query
,{
$set
:{
score
:
averageScore
}})
.
then
((
result
)
=>
{
res
(
result
)
})
.
catch
((
error
)
=>
rej
(
error
))
})
.
catch
((
error
)
=>
{
rej
(
error
)
})
});
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment