Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
2
21_22-J 31
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
3
Merge Requests
3
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
21_22-J 31
21_22-J 31
Commits
fcbe0e41
Commit
fcbe0e41
authored
Jan 09, 2022
by
Withana R.D.K
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'Employee_Efficiency_IT18208818' into 'master'
Employee Efficiency See merge request
!17
parents
a62106af
5e89f65f
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
729 additions
and
107 deletions
+729
-107
Data/WorkHistory.csv
Data/WorkHistory.csv
+516
-102
User/forms.py
User/forms.py
+6
-2
User/urls.py
User/urls.py
+1
-0
User/views.py
User/views.py
+87
-2
templates/Admin/Employee_Efficiency.html
templates/Admin/Employee_Efficiency.html
+118
-0
templates/Admin/Sidebar2.html
templates/Admin/Sidebar2.html
+1
-1
No files found.
Data/WorkHistory.csv
View file @
fcbe0e41
Date,StaffID,EmployeeName,JobDone,WorkQuality,TakenTime
1/1/2019,1,Aroos,Engine Repairering,5,60
2/1/2020,1,Aroos,Engine Repairering,4,60
3/12/2021,1,Aroos,Engine Repairering,3,55
1/1/2019,,Aroos,Oil Changing,2,20
2/1/2020,,Aroos,Oil Changing,3,25
2/1/2020,,Aroos,Oil Changing,4,15
2/1/2020,,Aroos,Oil Changing,5,25
2/1/2020,,Aroos,Oil Changing,3,30
4/12/2021,1,Aroos,Painting,2,120
5/12/2021,1,Aroos,Painting,2,120
6/12/2021,1,Aroos,Painting,2,120
7/12/2021,1,Aroos,Painting,1,120
1/1/2019,1,Aroos,Interior Cleanning,5,50
2/1/2020,1,Aroos,Interior Cleanning,4,60
2/1/2020,1,Aroos,Interior Cleanning,3,55
2/1/2020,1,Aroos,Interior Cleanning,4,45
2/1/2020,1,Aroos,Body Wash,3,40
2/1/2020,1,Aroos,Body Wash,5,30
2/1/2020,1,Aroos,Body Wash,4,25
2/1/2020,1,Aroos,Body Wash,3,40
2/1/2020,1,Aroos,Body Wash,4,35
2/1/2020,1,Aroos,Body Wash,3,35
1/1/2019,2,husain,Engine Repairering,4,90
9/12/2021,2,husain,Engine Repairering,4,90
10/12/2021,2,husain,Engine Repairering,2,80
2/1/2020,2,husain,Engine Repairering,3,85
2/1/2020,2,husain,Engine Repairering,3,90
2/1/2020,2,husain,Oil Changing,5,10
2/1/2020,2,husain,Oil Changing,5,15
2/1/2020,2,husain,Oil Changing,4,20
2/1/2020,2,husain,Oil Changing,3,10
2/1/2020,2,husain,Under Wash,4,30
2/1/2020,2,husain,Under Wash,5,20
1/1/2019,2,husain,Under Wash,5,25
2/1/2020,2,husain,Under Wash,4,25
2/1/2020,2,husain,Body Wash,3,30
2/1/2020,2,husain,Body Wash,2,35
2/1/2020,2,husain,Body Wash,4,40
2/1/2020,2,husain,Body Wash,5,35
11/12/2021,2,husain,Painting,2,100
2/1/2020,2,husain,Painting,2,110
13/12/2021,2,husain,Painting,2,90
14/12/2021,2,husain,Painting,1,100
2/1/2020,3,Lakshan,Body Wash,5,30
2/1/2020,3,Lakshan,Body Wash,4,40
2/1/2020,3,Lakshan,Body Wash,3,30
2/1/2020,3,Lakshan,Body Wash,4,35
2/1/2020,3,Lakshan,Body Wash,5,30
2/1/2020,3,Lakshan,Interior Cleanning,3,32
2/1/2020,3,Lakshan,Interior Cleanning,2,40
2/1/2020,3,Lakshan,Interior Cleanning,3,43
2/1/2020,3,Lakshan,Interior Cleanning,1,45
2/1/2020,3,Lakshan,Under Wash,5,30
2/1/2020,3,Lakshan,Under Wash,4,35
2/1/2020,3,Lakshan,Under Wash,5,25
2/1/2020,3,Lakshan,Under Wash,3,30
2/1/2020,3,Lakshan,Under Wash,4,30
2/1/2020,3,Lakshan,Under Wash,5,35
2/1/2020,3,Lakshan,Oil Changing,4,15
2/1/2020,3,Lakshan,Oil Changing,3,25
2/1/2020,3,Lakshan,Oil Changing,4,20
2/1/2020,3,Lakshan,Oil Changing,2,25
2/1/2020,4,Sunil,Engine Repairering,5,70
2/1/2020,4,Sunil,Engine Repairering,4,40
2/1/2020,4,Sunil,Engine Repairering,5,85
2/1/2020,4,Sunil,Engine Repairering,4,65
2/1/2020,4,Sunil,Engine Repairering,3,70
2/1/2020,4,Sunil,Body Wash,3,20
2/1/2020,4,Sunil,Body Wash,4,35
2/1/2020,4,Sunil,Body Wash,3,45
2/1/2020,4,Sunil,Body Wash,4,34
2/1/2020,4,Sunil,Under Wash,5,40
2/1/2020,4,Sunil,Under Wash,4,30
2/1/2020,4,Sunil,Under Wash,5,40
2/1/2020,4,Sunil,Under Wash,4,25
2/1/2020,4,Sunil,Under Wash,3,30
2/1/2020,4,Sunil,Oil Changing,4,15
2/1/2020,4,Sunil,Oil Changing,3,20
2/1/2020,4,Sunil,Interior Cleanning,4,60
2/1/2020,4,Sunil,Interior Cleanning,3,70
2/1/2020,4,Sunil,Interior Cleanning,4,50
2/1/2020,5,Pradeepan,Interior Cleanning,5,50
2/1/2020,5,Pradeepan,Interior Cleanning,4,35
2/1/2020,5,Pradeepan,Interior Cleanning,5,40
2/1/2020,5,Pradeepan,Interior Cleanning,4,30
2/1/2020,5,Pradeepan,Under Wash,3,30
2/1/2020,5,Pradeepan,Under Wash,2,30
2/1/2020,5,Pradeepan,Under Wash,3,35
2/1/2020,5,Pradeepan,Under Wash,4,40
2/1/2020,5,Pradeepan,Under Wash,5,45
2/1/2020,5,Pradeepan,Under Wash,3,25
2/1/2020,5,Pradeepan,Under Wash,4,30
2/1/2020,5,Pradeepan,Body Wash,3,50
2/1/2020,5,Pradeepan,Body Wash,3,40
2/1/2020,5,Pradeepan,Body Wash,4,45
2/1/2020,5,Pradeepan,Body Wash,2,30
2/1/2020,5,Pradeepan,Oil Changing,3,15
2/1/2020,5,Pradeepan,Oil Changing,4,25
2/1/2020,5,Pradeepan,Oil Changing,2,20
2/1/2020,5,Pradeepan,Oil Changing,3,25
2/1/2020,5,Pradeepan,Oil Changing,4,30
Date,StaffID,EmployeeName,JobDone,WorkQuality,TakenTime,,
01-01-19,1,Wimal,Engine Repairering,5,60,,
02-01-20,1,Wimal,Engine Repairering,4,58,,
,1,Wimal,Engine Repairering,4,65,,
,1,Wimal,Engine Repairering,5,59,,
,1,Wimal,Engine Repairering,3,63,,
,1,Wimal,Engine Repairering,4,64,,
,1,Wimal,Engine Repairering,5,68,,
,1,Wimal,Engine Repairering,4,55,,61
,1,Wimal,Engine Repairering,5,54,,
,1,Wimal,Engine Repairering,4,60,,
,1,Wimal,Engine Repairering,2,60,,
,1,Wimal,Engine Repairering,4,63,,
,1,Wimal,Engine Repairering,5,57,,
,1,Wimal,Engine Repairering,3,61,,
,1,Wimal,Engine Repairering,4,60,,
,1,Wimal,Engine Repairering,4,65,,
,1,Wimal,Engine Repairering,4,60,,
,1,Wimal,Engine Repairering,5,64,,
,1,Wimal,Engine Repairering,4,65,,
,1,Wimal,Engine Repairering,3,60,,
,1,Wimal,Engine Repairering,3,65,,
,1,Wimal,Engine Repairering,5,60,,
03-12-21,1,Wimal,Engine Repairering,3,57,,
,1,Wimal,Oil Changing,2,20,,
,1,Wimal,Oil Changing,3,20,,
,1,Wimal,Oil Changing,3,23,,
,1,Wimal,Oil Changing,2,25,,
,1,Wimal,Oil Changing,4,18,,
,1,Wimal,Oil Changing,2,21,,
,1,Wimal,Oil Changing,4,22,,
,1,Wimal,Oil Changing,5,24,,
,1,Wimal,Oil Changing,3,21,,
,1,Wimal,Oil Changing,4,23,,22
,1,Wimal,Oil Changing,2,24,,
,1,Wimal,Oil Changing,4,24,,
,1,Wimal,Oil Changing,3,20,,
,1,Wimal,Oil Changing,3,23,,
,1,Wimal,Oil Changing,4,22,,
,1,Wimal,Oil Changing,5,25,,
,1,Wimal,Oil Changing,3,24,,
,1,Wimal,Oil Changing,4,20,,
,1,Wimal,Oil Changing,4,25,,
,1,Wimal,Oil Changing,4,21,,
01-01-19,1,Wimal,Oil Changing,2,20,,
02-01-20,1,Wimal,Oil Changing,3,24,,
02-01-20,1,Wimal,Oil Changing,4,18,,
02-01-20,1,Wimal,Oil Changing,5,23,,
02-01-20,1,Wimal,Oil Changing,3,20,,
,1,Wimal,Painting,4,109,,
,1,Wimal,Painting,3,108,,
,1,Wimal,Painting,4,102,,
,1,Wimal,Painting,3,110,,
,1,Wimal,Painting,3,109,,
,1,Wimal,Painting,1,109,,
,1,Wimal,Painting,3,111,,
,1,Wimal,Painting,4,110,,
,1,Wimal,Painting,3,104,,
,1,Wimal,Painting,2,100,,108
,1,Wimal,Painting,2,110,,
,1,Wimal,Painting,3,108,,
,1,Wimal,Painting,3,110,,
,1,Wimal,Painting,4,109,,
,1,Wimal,Painting,1,104,,
04-12-21,1,Wimal,Painting,2,110,,
05-12-21,1,Wimal,Painting,2,111,,
06-12-21,1,Wimal,Painting,1,108,,
,1,Wimal,Painting,3,110,,
,1,Wimal,Painting,2,107,,
,1,Wimal,Painting,3,111,,
,1,Wimal,Painting,1,104,,
,1,Wimal,Painting,3,105,,
,1,Wimal,Painting,3,116,,
,1,Wimal,Painting,2,105,,
,1,Wimal,Painting,3,107,,
,1,Wimal,Painting,2,108,,
07-12-21,1,Wimal,Painting,1,109,,
,1,Wimal,Interior Cleaning,3,60,,
,1,Wimal,Interior Cleaning,3,62,,
,1,Wimal,Interior Cleaning,4,61,,
,1,Wimal,Interior Cleaning,3,68,,
,1,Wimal,Interior Cleaning,2,58,,
,1,Wimal,Interior Cleaning,4,59,,
,1,Wimal,Interior Cleaning,5,57,,
,1,Wimal,Interior Cleaning,4,61,,
,1,Wimal,Interior Cleaning,5,63,,
,1,Wimal,Interior Cleaning,4,65,,
,1,Wimal,Interior Cleaning,3,61,,61
,1,Wimal,Interior Cleaning,5,60,,
,1,Wimal,Interior Cleaning,2,60,,
,1,Wimal,Interior Cleaning,5,57,,
,1,Wimal,Interior Cleaning,4,58,,
,1,Wimal,Interior Cleaning,2,59,,
,1,Wimal,Interior Cleaning,2,63,,
,1,Wimal,Interior Cleaning,3,62,,
01-01-19,1,Wimal,Interior Cleaning,5,60,,
02-01-20,1,Wimal,Interior Cleaning,4,61,,
,1,Wimal,Interior Cleaning,3,60,,
,1,Wimal,Interior Cleaning,2,65,,
,1,Wimal,Interior Cleaning,4,65,,
,1,Wimal,Interior Cleaning,1,60,,
,1,Wimal,Interior Cleaning,3,62,,
02-01-20,1,Wimal,Interior Cleaning,3,57,,
02-01-20,1,Wimal,Interior Cleaning,4,63,,
,1,Wimal,Body Wash,3,45,,
,1,Wimal,Body Wash,4,50,,
,1,Wimal,Body Wash,3,40,,
,1,Wimal,Body Wash,4,45,,
,1,Wimal,Body Wash,5,35,,
,1,Wimal,Body Wash,2,36,,
,1,Wimal,Body Wash,3,40,,
,1,Wimal,Body Wash,4,35,,
,1,Wimal,Body Wash,2,45,,
,1,Wimal,Body Wash,4,43,,41
02-01-20,1,Wimal,Body Wash,3,40,,
02-01-20,1,Wimal,Body Wash,5,38,,
02-01-20,1,Wimal,Body Wash,4,36,,
,1,Wimal,Body Wash,3,42,,
,1,Wimal,Body Wash,4,45,,
,1,Wimal,Body Wash,3,44,,
,1,Wimal,Body Wash,2,45,,
,1,Wimal,Body Wash,3,40,,
,1,Wimal,Body Wash,4,42,,
,1,Wimal,Body Wash,4,40,,
02-01-20,1,Wimal,Body Wash,3,43,,
02-01-20,1,Wimal,Body Wash,4,36,,
02-01-20,1,Wimal,Body Wash,3,38,,
01-01-19,2,Surendra,Engine Repairering,4,90,,
09-12-21,2,Surendra,Engine Repairering,4,92,,
10-12-21,2,Surendra,Engine Repairering,2,85,,
02-01-20,2,Surendra,Engine Repairering,3,84,,
,2,Surendra,Engine Repairering,3,90,,
,2,Surendra,Engine Repairering,4,91,,
,2,Surendra,Engine Repairering,4,97,,
,2,Surendra,Engine Repairering,3,92,,
,2,Surendra,Engine Repairering,2,94,,
,2,Surendra,Engine Repairering,4,84,,
,2,Surendra,Engine Repairering,5,86,,90
,2,Surendra,Engine Repairering,3,95,,
,2,Surendra,Engine Repairering,2,85,,
,2,Surendra,Engine Repairering,3,86,,
,2,Surendra,Engine Repairering,3,85,,
,2,Surendra,Engine Repairering,4,92,,
,2,Surendra,Engine Repairering,3,94,,
,2,Surendra,Engine Repairering,2,93,,
,2,Surendra,Engine Repairering,5,94,,
,2,Surendra,Engine Repairering,2,93,,
,2,Surendra,Engine Repairering,3,89,,
,2,Surendra,Engine Repairering,4,88,,
,2,Surendra,Engine Repairering,4,90,,
,2,Surendra,Engine Repairering,3,91,,
02-01-20,2,Surendra,Engine Repairering,3,90,,
02-01-20,2,Surendra,Oil Changing,5,21,,
02-01-20,2,Surendra,Oil Changing,5,18,,
02-01-20,2,Surendra,Oil Changing,4,28,,
,2,Surendra,Oil Changing,3,25,,
,2,Surendra,Oil Changing,2,24,,
,2,Surendra,Oil Changing,3,20,,
,2,Surendra,Oil Changing,4,23,,
,2,Surendra,Oil Changing,5,22,,
,2,Surendra,Oil Changing,2,26,,
,2,Surendra,Oil Changing,2,24,,23
,2,Surendra,Oil Changing,3,28,,
,2,Surendra,Oil Changing,3,18,,
,2,Surendra,Oil Changing,4,19,,
,2,Surendra,Oil Changing,3,21,,
,2,Surendra,Oil Changing,2,26,,
,2,Surendra,Oil Changing,5,29,,
,2,Surendra,Oil Changing,2,24,,
,2,Surendra,Oil Changing,3,22,,
02-01-20,2,Surendra,Oil Changing,3,19,,
02-01-20,2,Surendra,Under Wash,4,30,,
02-01-20,2,Surendra,Under Wash,5,33,,
,2,Surendra,Under Wash,3,32,,
,2,Surendra,Under Wash,2,32,,
,2,Surendra,Under Wash,3,42,,
,2,Surendra,Under Wash,4,38,,
,2,Surendra,Under Wash,3,40,,
,2,Surendra,Under Wash,3,34,,
,2,Surendra,Under Wash,2,33,,
,2,Surendra,Under Wash,2,35,,
,2,Surendra,Under Wash,3,41,,
,2,Surendra,Under Wash,4,40,,37
,2,Surendra,Under Wash,5,42,,
,2,Surendra,Under Wash,3,35,,
,2,Surendra,Under Wash,4,32,,
,2,Surendra,Under Wash,3,41,,
,2,Surendra,Under Wash,4,40,,
,2,Surendra,Under Wash,4,35,,
,2,Surendra,Under Wash,3,45,,
,2,Surendra,Under Wash,2,42,,
01-01-19,2,Surendra,Under Wash,5,37,,
02-01-20,2,Surendra,Under Wash,4,35,,
02-01-20,2,Surendra,Body Wash,3,58,,
,2,Surendra,Body Wash,3,50,,
,2,Surendra,Body Wash,3,60,,
,2,Surendra,Body Wash,4,55,,
,2,Surendra,Body Wash,3,60,,
,2,Surendra,Body Wash,4,60,,
,2,Surendra,Body Wash,3,59,,54
,2,Surendra,Body Wash,2,55,,
,2,Surendra,Body Wash,3,57,,
,2,Surendra,Body Wash,5,45,,
,2,Surendra,Body Wash,4,48,,
02-01-20,2,Surendra,Body Wash,2,55,,
02-01-20,2,Surendra,Body Wash,4,46,,
02-01-20,2,Surendra,Body Wash,5,48,,
11-12-21,2,Surendra,Painting,4,100,,
,2,Surendra,Painting,5,99,,
,2,Surendra,Painting,4,95,,
,2,Surendra,Painting,3,96,,
,2,Surendra,Painting,5,94,,
,2,Surendra,Painting,4,100,,
,2,Surendra,Painting,5,91,,
,2,Surendra,Painting,5,100,,
,2,Surendra,Painting,4,94,,
,2,Surendra,Painting,3,93,,
,2,Surendra,Painting,4,92,,95
,2,Surendra,Painting,3,98,,
,2,Surendra,Painting,4,90,,
,2,Surendra,Painting,5,90,,
,2,Surendra,Painting,5,97,,
,2,Surendra,Painting,3,100,,
,2,Surendra,Painting,4,91,,
,2,Surendra,Painting,4,97,,
,2,Surendra,Painting,3,100,,
,2,Surendra,Painting,4,100,,
,2,Surendra,Painting,5,98,,
,2,Surendra,Painting,4,88,,
,2,Surendra,Painting,5,89,,
,2,Surendra,Painting,5,91,,
,2,Surendra,Painting,4,92,,
,2,Surendra,Painting,5,100,,
02-01-20,2,Surendra,Painting,5,95,,
13-12-21,2,Surendra,Painting,3,93,,
14-12-21,2,Surendra,Painting,4,92,,
02-01-20,3,Lakshan,Body Wash,5,50,,
,3,Lakshan,Body Wash,4,52,,
,3,Lakshan,Body Wash,3,60,,
,3,Lakshan,Body Wash,2,58,,
,3,Lakshan,Body Wash,3,61,,
,3,Lakshan,Body Wash,3,55,,
,3,Lakshan,Body Wash,4,60,,
,3,Lakshan,Body Wash,4,50,,
,3,Lakshan,Body Wash,5,58,,56
,3,Lakshan,Body Wash,3,56,,
,3,Lakshan,Body Wash,2,57,,
,3,Lakshan,Body Wash,2,58,,
,3,Lakshan,Body Wash,3,55,,
02-01-20,3,Lakshan,Body Wash,4,56,,
02-01-20,3,Lakshan,Body Wash,3,57,,
02-01-20,3,Lakshan,Body Wash,4,55,,
02-01-20,3,Lakshan,Body Wash,5,54,,
02-01-20,3,Lakshan,Interior Cleaning,3,51,,
,3,Lakshan,Interior Cleaning,3,50,,
,3,Lakshan,Interior Cleaning,2,54,,
,3,Lakshan,Interior Cleaning,3,59,,
,3,Lakshan,Interior Cleaning,4,50,,
,3,Lakshan,Interior Cleaning,3,57,,
,3,Lakshan,Interior Cleaning,2,59,,
,3,Lakshan,Interior Cleaning,3,60,,
,3,Lakshan,Interior Cleaning,4,55,,
,3,Lakshan,Interior Cleaning,1,60,,
,3,Lakshan,Interior Cleaning,3,50,,
,3,Lakshan,Interior Cleaning,4,57,,55
,3,Lakshan,Interior Cleaning,3,54,,
,3,Lakshan,Interior Cleaning,4,55,,
,3,Lakshan,Interior Cleaning,4,52,,
,3,Lakshan,Interior Cleaning,4,55,,
,3,Lakshan,Interior Cleaning,3,58,,
,3,Lakshan,Interior Cleaning,2,59,,
,3,Lakshan,Interior Cleaning,3,55,,
,3,Lakshan,Interior Cleaning,1,52,,
,3,Lakshan,Interior Cleaning,3,54,,
02-01-20,3,Lakshan,Interior Cleaning,2,53,,
02-01-20,3,Lakshan,Interior Cleaning,3,60,,
02-01-20,3,Lakshan,Interior Cleaning,1,51,,
02-01-20,3,Lakshan,Under Wash,5,30,,
,3,Lakshan,Under Wash,4,27,,
,3,Lakshan,Under Wash,5,35,,
,3,Lakshan,Under Wash,3,30,,
,3,Lakshan,Under Wash,4,36,,
,3,Lakshan,Under Wash,4,34,,
,3,Lakshan,Under Wash,5,35,,
,3,Lakshan,Under Wash,4,40,,
,3,Lakshan,Under Wash,5,28,,
,3,Lakshan,Under Wash,5,29,,
,3,Lakshan,Under Wash,4,30,,33
,3,Lakshan,Under Wash,4,30,,
,3,Lakshan,Under Wash,3,38,,
,3,Lakshan,Under Wash,4,36,,
,3,Lakshan,Under Wash,5,33,,
,3,Lakshan,Under Wash,5,40,,
02-01-20,3,Lakshan,Under Wash,4,35,,
02-01-20,3,Lakshan,Under Wash,5,29,,
02-01-20,3,Lakshan,Under Wash,3,30,,
02-01-20,3,Lakshan,Under Wash,4,34,,
02-01-20,3,Lakshan,Under Wash,5,35,,
,3,Lakshan,Under Wash,4,28,,
,3,Lakshan,Under Wash,4,33,,
,3,Lakshan,Under Wash,5,37,,
,3,Lakshan,Oil Changing,4,20,,
,3,Lakshan,Oil Changing,3,25,,
,3,Lakshan,Oil Changing,4,28,,
,3,Lakshan,Oil Changing,4,20,,
,3,Lakshan,Oil Changing,2,25,,
,3,Lakshan,Oil Changing,3,30,,
,3,Lakshan,Oil Changing,4,29,,
,3,Lakshan,Oil Changing,3,25,,
,3,Lakshan,Oil Changing,2,28,,25
,3,Lakshan,Oil Changing,2,20,,
,3,Lakshan,Oil Changing,5,35,,
,3,Lakshan,Oil Changing,4,24,,
,3,Lakshan,Oil Changing,3,25,,
,3,Lakshan,Oil Changing,2,23,,
,3,Lakshan,Oil Changing,3,20,,
02-01-20,3,Lakshan,Oil Changing,4,24,,
02-01-20,3,Lakshan,Oil Changing,3,25,,
02-01-20,3,Lakshan,Oil Changing,4,23,,
02-01-20,3,Lakshan,Oil Changing,2,26,,
02-01-20,4,Sunil,Engine Repairering,5,90,,
02-01-20,4,Sunil,Engine Repairering,4,88,,
,4,Sunil,Engine Repairering,3,91,,
,4,Sunil,Engine Repairering,3,86,,
,4,Sunil,Engine Repairering,2,89,,
,4,Sunil,Engine Repairering,4,95,,
,4,Sunil,Engine Repairering,3,94,,
,4,Sunil,Engine Repairering,4,95,,
,4,Sunil,Engine Repairering,4,95,,92
,4,Sunil,Engine Repairering,2,94,,
,4,Sunil,Engine Repairering,3,93,,
,4,Sunil,Engine Repairering,2,94,,
,4,Sunil,Engine Repairering,2,93,,
,4,Sunil,Engine Repairering,4,92,,
,4,Sunil,Engine Repairering,2,88,,
02-01-20,4,Sunil,Engine Repairering,3,89,,
02-01-20,4,Sunil,Engine Repairering,4,96,,
02-01-20,4,Sunil,Engine Repairering,3,94,,
02-01-20,4,Sunil,Body Wash,3,30,,
02-01-20,4,Sunil,Body Wash,4,35,,
,4,Sunil,Body Wash,3,31,,
,4,Sunil,Body Wash,4,35,,
,4,Sunil,Body Wash,2,37,,
,4,Sunil,Body Wash,2,30,,
,4,Sunil,Body Wash,3,38,,
,4,Sunil,Body Wash,3,40,,
,4,Sunil,Body Wash,4,45,,
,4,Sunil,Body Wash,3,35,,38
,4,Sunil,Body Wash,3,30,,
,4,Sunil,Body Wash,4,35,,
,4,Sunil,Body Wash,2,45,,
,4,Sunil,Body Wash,3,40,,
,4,Sunil,Body Wash,2,43,,
,4,Sunil,Body Wash,3,42,,
,4,Sunil,Body Wash,3,45,,
,4,Sunil,Body Wash,3,40,,
,4,Sunil,Body Wash,4,39,,
02-01-20,4,Sunil,Body Wash,3,45,,
02-01-20,4,Sunil,Body Wash,4,38,,
02-01-20,4,Sunil,Under Wash,5,40,,
02-01-20,4,Sunil,Under Wash,4,30,,
,4,Sunil,Under Wash,3,37,,
,4,Sunil,Under Wash,3,35,,
,4,Sunil,Under Wash,3,34,,
,4,Sunil,Under Wash,4,40,,
,4,Sunil,Under Wash,2,35,,
,4,Sunil,Under Wash,3,39,,
,4,Sunil,Under Wash,4,40,,38
,4,Sunil,Under Wash,3,45,,
,4,Sunil,Under Wash,2,40,,
,4,Sunil,Under Wash,2,42,,
,4,Sunil,Under Wash,3,35,,
,4,Sunil,Under Wash,5,32,,
,4,Sunil,Under Wash,3,45,,
,4,Sunil,Under Wash,3,44,,
02-01-20,4,Sunil,Under Wash,5,41,,
02-01-20,4,Sunil,Under Wash,4,30,,
02-01-20,4,Sunil,Under Wash,3,38,,
,4,Sunil,Oil Changing,5,10,,
,4,Sunil,Oil Changing,5,15,,
,4,Sunil,Oil Changing,4,12,,
,4,Sunil,Oil Changing,4,15,,
,4,Sunil,Oil Changing,3,18,,
,4,Sunil,Oil Changing,5,15,,
,4,Sunil,Oil Changing,5,10,,
,4,Sunil,Oil Changing,5,12,,
,4,Sunil,Oil Changing,4,15,,
,4,Sunil,Oil Changing,5,17,,
,4,Sunil,Oil Changing,5,15,,15
,4,Sunil,Oil Changing,4,10,,
,4,Sunil,Oil Changing,3,22,,
,4,Sunil,Oil Changing,4,21,,
,4,Sunil,Oil Changing,5,10,,
,4,Sunil,Oil Changing,5,13,,
,4,Sunil,Oil Changing,4,15,,
,4,Sunil,Oil Changing,4,11,,
,4,Sunil,Oil Changing,5,20,,
,4,Sunil,Oil Changing,5,15,,
,4,Sunil,Oil Changing,3,22,,
,4,Sunil,Oil Changing,5,15,,
,4,Sunil,Oil Changing,5,20,,
,4,Sunil,Oil Changing,4,10,,
,4,Sunil,Oil Changing,3,12,,
02-01-20,4,Sunil,Oil Changing,4,15,,
02-01-20,4,Sunil,Oil Changing,5,20,,
02-01-20,4,Sunil,Interior Cleaning,4,60,,
,4,Sunil,Interior Cleaning,3,50,,
,4,Sunil,Interior Cleaning,3,45,,
,4,Sunil,Interior Cleaning,4,60,,
,4,Sunil,Interior Cleaning,4,65,,
,4,Sunil,Interior Cleaning,3,45,,
,4,Sunil,Interior Cleaning,4,55,,
,4,Sunil,Interior Cleaning,2,35,,
,4,Sunil,Interior Cleaning,2,50,,
,4,Sunil,Interior Cleaning,2,50,,53
,4,Sunil,Interior Cleaning,3,60,,
,4,Sunil,Interior Cleaning,1,40,,
,4,Sunil,Interior Cleaning,3,54,,
,4,Sunil,Interior Cleaning,2,50,,
,4,Sunil,Interior Cleaning,4,55,,
,4,Sunil,Interior Cleaning,3,60,,
02-01-20,4,Sunil,Interior Cleaning,3,70,,
02-01-20,4,Sunil,Interior Cleaning,4,50,,
02-01-20,5,Pradeepan,Interior Cleaning,5,38,,
02-01-20,5,Pradeepan,Interior Cleaning,4,44,,
,5,Pradeepan,Interior Cleaning,5,38,,
,5,Pradeepan,Interior Cleaning,5,31,,
,5,Pradeepan,Interior Cleaning,5,30,,
,5,Pradeepan,Interior Cleaning,4,35,,
,5,Pradeepan,Interior Cleaning,3,38,,
,5,Pradeepan,Interior Cleaning,4,40,,
,5,Pradeepan,Interior Cleaning,5,44,,36
,5,Pradeepan,Interior Cleaning,4,35,,
,5,Pradeepan,Interior Cleaning,5,37,,
,5,Pradeepan,Interior Cleaning,5,31,,
,5,Pradeepan,Interior Cleaning,4,36,,
,5,Pradeepan,Interior Cleaning,3,40,,
,5,Pradeepan,Interior Cleaning,4,38,,
,5,Pradeepan,Interior Cleaning,4,34,,
,5,Pradeepan,Interior Cleaning,5,30,,
,5,Pradeepan,Interior Cleaning,5,35,,
02-01-20,5,Pradeepan,Interior Cleaning,5,32,,
02-01-20,5,Pradeepan,Interior Cleaning,4,34,,
02-01-20,5,Pradeepan,Under Wash,3,42,,
02-01-20,5,Pradeepan,Under Wash,2,38,,
02-01-20,5,Pradeepan,Under Wash,3,35,,
,5,Pradeepan,Under Wash,3,40,,
,5,Pradeepan,Under Wash,3,41,,
,5,Pradeepan,Under Wash,1,45,,
,5,Pradeepan,Under Wash,2,35,,
,5,Pradeepan,Under Wash,2,36,,
,5,Pradeepan,Under Wash,3,37,,
,5,Pradeepan,Under Wash,4,45,,
,5,Pradeepan,Under Wash,2,40,,
,5,Pradeepan,Under Wash,1,32,,
,5,Pradeepan,Under Wash,1,36,,
,5,Pradeepan,Under Wash,4,45,,
,5,Pradeepan,Under Wash,3,35,,38
,5,Pradeepan,Under Wash,4,33,,
,5,Pradeepan,Under Wash,3,32,,
,5,Pradeepan,Under Wash,2,40,,
,5,Pradeepan,Under Wash,3,41,,
,5,Pradeepan,Under Wash,3,40,,
,5,Pradeepan,Under Wash,2,43,,
,5,Pradeepan,Under Wash,2,35,,
,5,Pradeepan,Under Wash,1,35,,
,5,Pradeepan,Under Wash,1,45,,
,5,Pradeepan,Under Wash,2,40,,
,5,Pradeepan,Under Wash,1,30,,
,5,Pradeepan,Under Wash,4,31,,
,5,Pradeepan,Under Wash,2,35,,
02-01-20,5,Pradeepan,Under Wash,4,43,,
02-01-20,5,Pradeepan,Under Wash,3,45,,
02-01-20,5,Pradeepan,Under Wash,3,34,,
02-01-20,5,Pradeepan,Under Wash,4,32,,
02-01-20,5,Pradeepan,Body Wash,4,38,,
,5,Pradeepan,Body Wash,3,30,,
,5,Pradeepan,Body Wash,4,25,,
,5,Pradeepan,Body Wash,4,25,,
,5,Pradeepan,Body Wash,5,30,,
,5,Pradeepan,Body Wash,4,31,,
,5,Pradeepan,Body Wash,5,45,,
,5,Pradeepan,Body Wash,4,25,,
,5,Pradeepan,Body Wash,4,25,,
,5,Pradeepan,Body Wash,4,28,,17
,5,Pradeepan,Body Wash,3,28,,
,5,Pradeepan,Body Wash,5,30,,
,5,Pradeepan,Body Wash,5,24,,
,5,Pradeepan,Body Wash,5,33,,
,5,Pradeepan,Body Wash,5,27,,
,5,Pradeepan,Body Wash,4,31,,
,5,Pradeepan,Body Wash,5,29,,
,5,Pradeepan,Body Wash,4,27,,
,5,Pradeepan,Body Wash,4,25,,
,5,Pradeepan,Body Wash,5,26,,
,5,Pradeepan,Body Wash,5,33,,
02-01-20,5,Pradeepan,Body Wash,5,34,,
02-01-20,5,Pradeepan,Body Wash,4,33,,
02-01-20,5,Pradeepan,Body Wash,4,30,,
02-01-20,5,Pradeepan,Oil Changing,3,25,,
,5,Pradeepan,Oil Changing,2,30,,
,5,Pradeepan,Oil Changing,3,25,,
,5,Pradeepan,Oil Changing,2,27,,
,5,Pradeepan,Oil Changing,1,32,,
,5,Pradeepan,Oil Changing,1,26,,
,5,Pradeepan,Oil Changing,1,35,,
,5,Pradeepan,Oil Changing,2,24,,28
,5,Pradeepan,Oil Changing,3,25,,
,5,Pradeepan,Oil Changing,4,28,,
,5,Pradeepan,Oil Changing,3,33,,
,5,Pradeepan,Oil Changing,4,26,,
,5,Pradeepan,Oil Changing,3,30,,
02-01-20,5,Pradeepan,Oil Changing,4,25,,
02-01-20,5,Pradeepan,Oil Changing,2,29,,
02-01-20,5,Pradeepan,Oil Changing,3,25,,
02-01-20,5,Pradeepan,Oil Changing,4,31,,
User/forms.py
View file @
fcbe0e41
...
...
@@ -6,7 +6,11 @@ from . import models
MODE_CHOICES
=
[
(
'0'
,
'Select Work'
),
(
'1'
,
'Engine Repairering'
),
(
'2'
,
'Painting'
)
(
'2'
,
'Painting'
),
(
'3'
,
'Oil Changing'
),
(
'4'
,
'Interior Cleaning'
),
(
'5'
,
'Body Wash'
),
(
'6'
,
'Under Wash'
)
]
MODE_DEMAND
=
[
...
...
@@ -23,7 +27,7 @@ class MyForm4(forms.Form):
inputdate
=
forms
.
DateField
(
widget
=
DateInput
)
class
MyForm
(
forms
.
Form
):
class
MyForm
5
(
forms
.
Form
):
customerid
=
forms
.
IntegerField
(
label
=
"Select Work To be Done"
,
widget
=
forms
.
Select
(
choices
=
MODE_CHOICES
))
...
...
User/urls.py
View file @
fcbe0e41
...
...
@@ -12,6 +12,7 @@ urlpatterns = [
path
(
'AdminHome/'
,
responseapp_views
.
AdminHome
),
path
(
'Employee_Data/'
,
responseapp_views
.
Employee_Data
),
path
(
'EmployeeStatus_Update/'
,
responseapp_views
.
EmployeeStatus_Update
),
path
(
'Employee_Efficiency/'
,
responseapp_views
.
Employee_Efficiency
),
path
(
'PurchaseHistory/'
,
responseapp_views
.
PurchaseHistory
),
path
(
'Forecasting/'
,
responseapp_views
.
Forecasting
),
path
(
'Result/'
,
responseapp_views
.
Forecasting
),
...
...
User/views.py
View file @
fcbe0e41
...
...
@@ -2,7 +2,9 @@ from datetime import datetime
from
django.shortcuts
import
render
,
redirect
,
reverse
from
django.template
import
loader
from
django.http
import
HttpResponse
from
User.forms
import
MyForm
,
MyForm2
,
MyForm3
,
MyForm4
from
sklearn.tree
import
DecisionTreeClassifier
from
User.forms
import
MyForm
,
MyForm2
,
MyForm3
,
MyForm4
,
MyForm5
from
django.contrib.auth
import
authenticate
,
login
from
User
import
models
as
Umodels
from
django.http
import
HttpResponseRedirect
...
...
@@ -35,7 +37,90 @@ def Homepage(request):
return
render
(
request
,
'Admin/Homepage.html'
);
# End CompanyHome
# Employee_Efficency
# Employee_Efficiency
def
Employee_Efficiency
(
request
):
if
request
.
method
==
'POST'
:
myForm
=
MyForm5
(
request
.
POST
)
if
myForm
.
is_valid
():
workid
=
myForm
.
cleaned_data
[
'customerid'
]
DateSet
=
pd
.
read_csv
(
"Data/WorkHistory.csv"
,
skipinitialspace
=
True
)
DateSet
[
'JobDone'
]
.
replace
({
'Engine Repairering'
:
1
,
'Painting'
:
2
,
'Oil Changing'
:
3
,
'Interior Cleaning'
:
4
,
'Body Wash'
:
5
,
'Under Wash'
:
6
},
inplace
=
True
)
DateSet
=
DateSet
[(
DateSet
.
WorkQuality
>
1
)]
# search for job need to be done
DateSet
=
DateSet
.
drop
(
columns
=
[
'WorkQuality'
])
x
=
DateSet
[[
'JobDone'
,
'TakenTime'
]]
y
=
DateSet
[[
'StaffID'
]]
grouped_df
=
DateSet
[(
DateSet
[
"JobDone"
]
==
workid
)]
# get selected work
grouped_df
=
grouped_df
.
groupby
(
"StaffID"
)
# group job staff
grouped_df
=
grouped_df
[
'TakenTime'
]
# get only taken time to complete work
mean_df
=
grouped_df
.
mean
()
# avarage time to complete work
min_df
=
mean_df
.
min
()
# get less time taken to complete work
# x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.3, random_state=2)
# lm = LinearRegression()
# lm.fit(x_train, y_train)
#
# new_input = [[workid, min_df]] # Best WorkQuality Work
# pred = lm.predict(new_input)
# workid = (int(pred.round())) # final employee ID by ML
#
# print("--------------Accuracy-----------------")
# accuracy = lm.score(x_test, y_test)
# print(accuracy)
X_train
,
X_test
,
y_train
,
y_test
=
train_test_split
(
x
,
y
,
test_size
=
0.3
,
random_state
=
2
)
clf
=
DecisionTreeClassifier
()
clf
=
clf
.
fit
(
X_train
,
y_train
)
y_pred
=
clf
.
predict
(
X_test
)
new_input
=
[[
workid
,
min_df
]]
# Best WorkQuality Work
pred
=
clf
.
predict
(
new_input
)
workid
=
(
int
(
pred
.
round
()))
# final employee ID by ML
print
(
"Accuracy:"
,
metrics
.
accuracy_score
(
y_test
,
y_pred
))
DateSetLoad
=
pd
.
read_csv
(
"Data/WorkHistory.csv"
,
skipinitialspace
=
True
)
data2
=
pd
.
read_csv
(
'Data/EmployeeStatus.csv'
)
# using merge function by setting how='inner'
output1
=
pd
.
merge
(
DateSetLoad
,
data2
,
on
=
'StaffID'
,
how
=
'inner'
)
DateSetResult
=
DateSetLoad
[(
output1
.
StaffID
==
workid
)
&
(
output1
.
Availability
==
"Yes"
)]
df
=
DateSetResult
[:
1
]
# data = data.to_html()
# ----------------------------------------------------------------------- aaAccuracy section
# ----------------------------------------------------------------------- aaAccuracy section
json_records
=
df
.
reset_index
()
.
to_json
(
orient
=
'records'
)
arr
=
[]
arr
=
json
.
loads
(
json_records
)
if
(
arr
==
[]
):
DateSetResult
=
DateSetLoad
[(
output1
.
Availability
==
"Yes"
)]
df
=
DateSetResult
[:
1
]
# data = data.to_html()
json_records
=
df
.
reset_index
()
.
to_json
(
orient
=
'records'
)
arr
=
[]
arr
=
json
.
loads
(
json_records
)
else
:
a
=
2
form
=
MyForm5
()
context
=
{
'form'
:
form
,
'd'
:
arr
}
return
render
(
request
,
'Admin/Employee_Efficiency.html'
,
context
)
else
:
form
=
MyForm5
()
return
render
(
request
,
'Admin/Employee_Efficiency.html'
,
{
'form'
:
form
});
def
Employee_Data
(
request
):
data1
=
pd
.
read_csv
(
'Data/WorkHistory.csv'
)
data2
=
pd
.
read_csv
(
'Data/EmployeeStatus.csv'
)
...
...
templates/Admin/Employee_Efficiency.html
0 → 100644
View file @
fcbe0e41
{% extends 'Admin/Sidebar2.html' %}
{% block content %}
{% load widget_tweaks %}
{%load static%}
<head>
<!-- Font special for pages-->
<link
href=
"https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,600,600i,700,700i,800,800i"
rel=
"stylesheet"
>
<!-- Main CSS-->
<link
href=
"{% static "
css
/
main
.
css
"
%}"
rel=
"stylesheet"
media=
"all"
>
</head>
<div
class=
" >
<div class="
wrapper
wrapper
0
"
>
<div
style=
"margin-left: 0px;"
class=
"card card-5"
>
{% if messages %}
<ul
class=
"messages"
>
{% for message in messages %}
<li
{%
if
message
.
tags
%}
class=
" {{ message.tags }} "
{%
endif
%}
>
{{ message }}
</li>
{% endfor %}
</ul>
{% endif %}
<div
class=
"card-heading"
>
<h2
class=
"title"
>
EMPLOYEE EFFICIENCY PREDICTION
</h2>
</div>
<div
id=
"myDiv"
>
<div
id=
"div_print"
>
<div
class=
"card card-body printableArea"
>
<div
role=
"alert"
>
<div
class=
"container"
style=
"overflow-x:auto;"
>
<table
class=
"table table-striped"
>
<thead>
<tr>
<th>
StaffID
</th>
<th>
EmployeeName
</th>
<th>
Available Status
</th>
</tr>
</thead>
<tbody>
{% if d %}
{% for i in d %}
<tr>
<td>
{{i.StaffID}}
</td>
<td>
{{i.EmployeeName}}
</td>
<td><div
class=
"alert alert-success"
>
Available
</div></td>
</tr>
{% endfor %}
{% endif %}
</tbody>
</table>
</div>
</div>
</div></div></div>
<script
language=
"javascript"
>
function
printdiv
(
printpage
)
{
var
headstr
=
"
<html><head><title></title></head><body>
"
;
var
footstr
=
"
</body>
"
;
var
newstr
=
document
.
all
.
item
(
printpage
).
innerHTML
;
var
oldstr
=
document
.
body
.
innerHTML
;
document
.
body
.
innerHTML
=
headstr
+
newstr
+
footstr
;
window
.
print
();
document
.
body
.
innerHTML
=
oldstr
;
location
.
reload
();
return
false
;
}
</script>
<div
class=
"card-body"
>
<form
action=
"/Admin/Employee_Efficiency/"
method=
"post"
>
{% csrf_token %}
<table
class=
"table table-light"
>
{{form.as_table}}
</table>
<input
type=
"submit"
value=
"PREDICT EMPLOYEE"
class=
"btn btn--radius-2 btn-primary"
/>
</form>
<br><div
class=
"text-right"
>
<input
name=
"b_print"
type=
"button"
class=
"btn btn-primary btn-print"
onClick=
"printdiv('div_print');"
value=
" Print "
>
</div>
<br>
</div>
</div>
</div>
<div
class=
"alert alert-primary"
role=
"alert"
>
© SMART SERVICE STATION 2022
</div>
</div>
{% endblock content %}
templates/Admin/Sidebar2.html
View file @
fcbe0e41
...
...
@@ -178,7 +178,7 @@ body{
<ul>
<li><a
style=
"text-decoration:none;"
href=
"/Admin/AdminHome/"
><i
class=
"fas fa-desktop"
></i>
Home
</a></li>
<li><a
style=
"text-decoration:none;"
href=
"#"
><i
class=
"fas fa-car "
></i>
Customer Registration
</a>
<li><a
style=
"text-decoration:none;"
href=
"
#
"
><i
class=
"fas fa-barcode"
></i>
Employee Efficiency
</a>
<li><a
style=
"text-decoration:none;"
href=
"
/Admin/Employee_Efficiency/
"
><i
class=
"fas fa-barcode"
></i>
Employee Efficiency
</a>
<li><a
style=
"text-decoration:none;"
href=
"/Admin/Employee_Data/"
><i
class=
"fas fa-paper-plane "
></i>
Employee Data
</a>
<li><a
style=
"text-decoration:none;"
href=
"/Admin/EmployeeStatus_Update/"
><i
class=
"fas fa-upload"
></i>
Assign Employee
</a>
...
...
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