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
59c0b16b
Commit
59c0b16b
authored
Mar 14, 2024
by
Your Name
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
https://gitlab.mynisum.com/vsingamchetty/nisum-scorecard
into bv1
parents
07de3a37
c70d10a4
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
38 additions
and
13 deletions
+38
-13
server.js
server.js
+30
-8
index.jsx
src/components/table/index.jsx
+1
-1
index.jsx
src/pages/home/index.jsx
+7
-4
No files found.
server.js
View file @
59c0b16b
...
@@ -111,29 +111,29 @@ app.post('/create-performance',(req,res)=>{
...
@@ -111,29 +111,29 @@ app.post('/create-performance',(req,res)=>{
let
{
data
}
=
req
.
body
;
let
{
data
}
=
req
.
body
;
data
=
{...
data
,
"recorded_date"
:
new
Date
(
data
[
'recorded_date'
])
};
data
=
{...
data
,
"recorded_date"
:
new
Date
(
data
[
'recorded_date'
])
};
let
query
=
{
empId
:
empId
};
let
query
=
{
empId
:
empId
};
db
.
collection
(
'performance_master'
).
findOne
(
query
).
then
((
result
)
=>
{
db
.
collection
(
'performance_master'
).
findOne
(
query
).
then
(
(
result
)
=>
{
if
(
result
){
if
(
result
){
db
.
collection
(
'performance_master'
).
updateOne
(
query
,{
$push
:
{
"activities"
:
data
}
})
db
.
collection
(
'performance_master'
).
updateOne
(
query
,{
$push
:
{
"activities"
:
data
}
})
.
then
((
updateRes
)
=>
{
.
then
(
async
(
updateRes
)
=>
{
await
calculateAverage
(
query
);
res
.
json
({
"reuslt"
:
updateRes
});
res
.
json
({
"reuslt"
:
updateRes
});
})
})
.
catch
((
error
)
=>
{
.
catch
((
error
)
=>
{
res
.
json
({
"error"
:
error
});
res
.
json
({
"error"
:
error
});
});
});
}
else
{
}
else
{
//create ne one
let
insertData
=
{
empId
:
empId
,
activities
:[]};
let
insertData
=
{
empId
:
empId
,
activities
:[]};
insertData
.
activities
.
push
(
data
);
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
});
res
.
json
({
"result"
:
result
});
}).
catch
((
error
)
=>
{
}).
catch
((
error
)
=>
{
res
.
json
({
"message"
:
error
})
res
.
json
({
"message"
:
error
})
})
})
}
}
}).
catch
((
error
)
=>
{
}).
catch
((
error
)
=>
{
console
.
log
(
error
)
console
.
log
(
error
)
res
.
send
(
query
)
res
.
send
(
query
)
...
@@ -145,6 +145,28 @@ app.post('/create-performance',(req,res)=>{
...
@@ -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
)
})
});
}
src/components/table/index.jsx
View file @
59c0b16b
...
@@ -7,7 +7,7 @@ function Table({headers, data, isView}) {
...
@@ -7,7 +7,7 @@ function Table({headers, data, isView}) {
<
thead
class=
"text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400"
>
<
thead
class=
"text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400"
>
<
tr
>
<
tr
>
{
headers
.
map
((
item
)
=>
(
{
headers
.
map
((
item
)
=>
(
<
th
scope=
"col"
class=
"px-6 py-3"
>
<
th
scope=
"col"
class=
"px-6 py-3
font-bold
"
>
{
item
.
title
}
{
item
.
title
}
</
th
>
</
th
>
))
}
))
}
...
...
src/pages/home/index.jsx
View file @
59c0b16b
...
@@ -10,8 +10,10 @@ function Home() {
...
@@ -10,8 +10,10 @@ function Home() {
};
};
return
(
return
(
<
div
className=
"container py-10 px-10 mx-0 min-w-full h-screen flex items-center justify-center"
>
<
div
className=
"container py-10 px-10 mx-0 min-w-full h-screen flex items-center justify-center bg-blue-100 "
>
<
div
className=
"max-w-sm p-6 bg-white border border-gray-200 rounded-lg shadow dark:bg-gray-800 dark:border-gray-700 "
>
<
div
class=
""
>
<
h1
class=
"mb-4 text-4xl font-extrabold leading-none tracking-tight md:text-5xl lg:text-6xl text-purple-900 mb-10 "
>
SCORE CARD
</
h1
>
<
div
className=
"max-w-sm p-10 bg-white border border-gray-400 rounded-lg shadow dark:bg-gray-800 dark:border-gray-700 "
>
<
label
<
label
for=
"email"
for=
"email"
className=
"block mb-2 text-sm font-medium text-gray-900 dark:text-white"
className=
"block mb-2 text-sm font-medium text-gray-900 dark:text-white"
...
@@ -27,13 +29,14 @@ function Home() {
...
@@ -27,13 +29,14 @@ function Home() {
onChange=
{
(
e
)
=>
setId
(
e
.
target
.
value
)
}
onChange=
{
(
e
)
=>
setId
(
e
.
target
.
value
)
}
/>
/>
<
button
<
button
className=
"bg-purple-900 text-white
hover:bg-blue-400 font-bold py-2 px-4 mt-3 rounded
"
className=
"bg-purple-900 text-white
disabled:bg-purple-900 hover:bg-blue-400 font-bold py-2 px-4 mt-6 rounded text-center ml-15
"
onClick=
{
handleNavigate
}
onClick=
{
handleNavigate
}
disabled=
{
!
id
}
disabled=
{
!
id
}
>
>
S
core Card
S
ubmit
</
button
>
</
button
>
</
div
>
</
div
>
</
div
>
</
div
>
</
div
>
);
);
}
}
...
...
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