Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
M
mytime
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
Narendar Vakiti
mytime
Commits
afdeb36f
Commit
afdeb36f
authored
Jul 24, 2018
by
Rajashekar jadala
Committed by
rbonthala-nisum-com
Jul 24, 2018
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
MT-80: Sent employee assigned role to UI (#50)
parent
c8e144f5
Changes
7
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
254 additions
and
262 deletions
+254
-262
UserController.java
...main/java/com/nisum/mytime/controller/UserController.java
+176
-219
RoleInfo.java
src/main/java/com/nisum/mytime/model/RoleInfo.java
+1
-0
RoleInfoRepo.java
src/main/java/com/nisum/mytime/repository/RoleInfoRepo.java
+3
-0
RoleMappingInfoRepo.java
...java/com/nisum/mytime/repository/RoleMappingInfoRepo.java
+4
-0
EmployeeDataService.java
...in/java/com/nisum/mytime/service/EmployeeDataService.java
+39
-43
RoleMappingService.java
...ain/java/com/nisum/mytime/service/RoleMappingService.java
+2
-0
RoleMappingServiceImpl.java
...java/com/nisum/mytime/service/RoleMappingServiceImpl.java
+29
-0
No files found.
src/main/java/com/nisum/mytime/controller/UserController.java
View file @
afdeb36f
This diff is collapsed.
Click to expand it.
src/main/java/com/nisum/mytime/model/RoleInfo.java
View file @
afdeb36f
...
@@ -24,6 +24,7 @@ public class RoleInfo implements Serializable {
...
@@ -24,6 +24,7 @@ public class RoleInfo implements Serializable {
@Id
@Id
private
ObjectId
id
;
private
ObjectId
id
;
private
int
priority
;
private
String
roleId
;
private
String
roleId
;
private
String
roleName
;
private
String
roleName
;
private
String
roleDescription
;
private
String
roleDescription
;
...
...
src/main/java/com/nisum/mytime/repository/RoleInfoRepo.java
View file @
afdeb36f
...
@@ -5,5 +5,8 @@ import org.springframework.data.mongodb.repository.MongoRepository;
...
@@ -5,5 +5,8 @@ import org.springframework.data.mongodb.repository.MongoRepository;
import
com.nisum.mytime.model.RoleInfo
;
import
com.nisum.mytime.model.RoleInfo
;
public
interface
RoleInfoRepo
extends
MongoRepository
<
RoleInfo
,
String
>
{
public
interface
RoleInfoRepo
extends
MongoRepository
<
RoleInfo
,
String
>
{
RoleInfo
findByRoleName
(
String
roleName
);
RoleInfo
findByRoleName
(
String
roleName
);
RoleInfo
findByRoleId
(
String
roleId
);
}
}
\ No newline at end of file
src/main/java/com/nisum/mytime/repository/RoleMappingInfoRepo.java
View file @
afdeb36f
package
com
.
nisum
.
mytime
.
repository
;
package
com
.
nisum
.
mytime
.
repository
;
import
java.util.List
;
import
org.springframework.data.mongodb.repository.MongoRepository
;
import
org.springframework.data.mongodb.repository.MongoRepository
;
import
com.nisum.mytime.model.RoleMappingInfo
;
import
com.nisum.mytime.model.RoleMappingInfo
;
...
@@ -7,4 +9,6 @@ import com.nisum.mytime.model.RoleMappingInfo;
...
@@ -7,4 +9,6 @@ import com.nisum.mytime.model.RoleMappingInfo;
public
interface
RoleMappingInfoRepo
extends
MongoRepository
<
RoleMappingInfo
,
String
>
{
public
interface
RoleMappingInfoRepo
extends
MongoRepository
<
RoleMappingInfo
,
String
>
{
RoleMappingInfo
findByEmployeeIdAndRoleId
(
String
employeeId
,
String
roleId
);
RoleMappingInfo
findByEmployeeIdAndRoleId
(
String
employeeId
,
String
roleId
);
List
<
RoleMappingInfo
>
findByEmployeeId
(
String
employeeId
);
}
}
\ No newline at end of file
src/main/java/com/nisum/mytime/service/EmployeeDataService.java
View file @
afdeb36f
...
@@ -20,61 +20,57 @@ import com.nisum.mytime.utils.MyTimeLogger;
...
@@ -20,61 +20,57 @@ import com.nisum.mytime.utils.MyTimeLogger;
import
com.nisum.mytime.utils.MyTimeUtils
;
import
com.nisum.mytime.utils.MyTimeUtils
;
@Component
@Component
@Transactional
@Transactional
public
class
EmployeeDataService
{
public
class
EmployeeDataService
{
@Autowired
@Autowired
DbConnection
dbConnection
;
DbConnection
dbConnection
;
public
List
<
EmpLoginData
>
fetchEmployeeLoginsBasedOnDates
(
long
employeeId
,
String
fromDate
,
String
toDate
)
public
List
<
EmpLoginData
>
fetchEmployeeLoginsBasedOnDates
(
long
employeeId
,
String
fromDate
,
String
toDate
)
throws
MyTimeException
{
throws
MyTimeException
{
long
start_ms
=
System
.
currentTimeMillis
();
long
start_ms
=
System
.
currentTimeMillis
();
String
querys
=
MyTimeUtils
.
ABESENT_STATUS_QUERY
+
"'"
+
fromDate
+
"'"
+
MyTimeUtils
.
ABESENT_STATUS_QUERY1
+
"'"
+
toDate
+
"'"
+
MyTimeUtils
.
ABESENT_STATUS_QUERY2
+
employeeId
+
MyTimeUtils
.
ABESENT_STATUS_QUERY3
;
String
querys
=
null
;
System
.
out
.
println
(
"fetch employee details"
+
querys
);
if
(
employeeId
==
0
)
int
countHours
=
0
;
querys
=
MyTimeUtils
.
ABESENT_STATUS_QUERY
+
"'"
+
fromDate
+
"'"
+
MyTimeUtils
.
ABESENT_STATUS_QUERY1
+
"'"
+
toDate
+
"'"
+
MyTimeUtils
.
ABESENT_STATUS_QUERY3
;
else
querys
=
MyTimeUtils
.
ABESENT_STATUS_QUERY
+
"'"
+
fromDate
+
"'"
+
MyTimeUtils
.
ABESENT_STATUS_QUERY1
+
"'"
+
toDate
+
"'"
+
MyTimeUtils
.
ABESENT_STATUS_QUERY2
+
employeeId
+
MyTimeUtils
.
ABESENT_STATUS_QUERY3
;
int
countHours
=
0
;
List
<
EmpLoginData
>
listOfEmpLoginData
=
new
ArrayList
<>();
List
<
EmpLoginData
>
listOfEmpLoginData
=
new
ArrayList
<>();
try
(
Connection
connection
=
dbConnection
.
getDBConnection
();
try
(
Connection
connection
=
dbConnection
.
getDBConnection
();
Statement
statement
=
connection
.
createStatement
();
Statement
statement
=
connection
.
createStatement
();
ResultSet
resultSet
=
statement
.
executeQuery
(
querys
.
toString
()))
ResultSet
resultSet
=
statement
.
executeQuery
(
querys
.
toString
()))
{
{
while
(
resultSet
.
next
())
{
if
(
employeeId
>
0
)
{
EmpLoginData
empLoginData
=
new
EmpLoginData
();
while
(
resultSet
.
next
())
{
empLoginData
.
setEmployeeId
(
resultSet
.
getString
(
"EmployeeCode"
));
EmpLoginData
empLoginData
=
new
EmpLoginData
();
empLoginData
.
setEmployeeName
(
resultSet
.
getString
(
"FirstName"
));
empLoginData
.
setEmployeeId
(
resultSet
.
getString
(
"EmployeeCode"
));
empLoginData
.
setDateOfLogin
(
resultSet
.
getDate
(
"FirstLogin"
).
toString
());
empLoginData
.
setEmployeeName
(
resultSet
.
getString
(
"FirstName"
));
empLoginData
.
setFirstLogin
(
resultSet
.
getTime
(
"FirstLogin"
).
toString
());
empLoginData
.
setDateOfLogin
(
resultSet
.
getDate
(
"FirstLogin"
).
toString
());
empLoginData
.
setLastLogout
(
resultSet
.
getTime
(
"LastLogin"
).
toString
());
empLoginData
.
setFirstLogin
(
resultSet
.
getTime
(
"FirstLogin"
).
toString
());
Time
from
=
resultSet
.
getTime
(
"FirstLogin"
);
empLoginData
.
setLastLogout
(
resultSet
.
getTime
(
"LastLogin"
).
toString
());
Time
to
=
resultSet
.
getTime
(
"LastLogin"
);
Time
from
=
resultSet
.
getTime
(
"FirstLogin"
);
long
milliseconds
=
to
.
getTime
()
-
from
.
getTime
();
Time
to
=
resultSet
.
getTime
(
"LastLogin"
);
int
seconds
=
(
int
)
milliseconds
/
1000
;
long
milliseconds
=
to
.
getTime
()
-
from
.
getTime
();
int
hours
=
seconds
/
3600
;
int
seconds
=
(
int
)
milliseconds
/
1000
;
int
minutes
=
(
seconds
%
3600
)
/
60
;
int
hours
=
seconds
/
3600
;
seconds
=
(
seconds
%
3600
)
%
60
;
int
minutes
=
(
seconds
%
3600
)
/
60
;
seconds
=
(
seconds
%
3600
)
%
60
;
empLoginData
.
setTotalLoginTime
(
hours
+
":"
+
minutes
+
":"
+
seconds
);
empLoginData
.
setTotalLoginTime
(
hours
+
":"
+
minutes
+
":"
+
seconds
);
Date
d
=
MyTimeUtils
.
tdf
.
parse
(
empLoginData
.
getTotalLoginTime
());
countHours
+=
d
.
getTime
();
listOfEmpLoginData
.
add
(
empLoginData
);
}
if
(!
listOfEmpLoginData
.
isEmpty
())
{
listOfEmpLoginData
.
get
(
0
)
.
setTotalAvgTime
(
MyTimeUtils
.
tdf
.
format
(
countHours
/
listOfEmpLoginData
.
size
()));
}
MyTimeLogger
.
getInstance
().
info
(
" Time Taken fecth Employee data based on Dates ::: "
empLoginData
.
setTotalLoginTime
(
hours
+
":"
+
minutes
+
":"
+
seconds
);
+
(
System
.
currentTimeMillis
()
-
start_ms
));
empLoginData
.
setTotalLoginTime
(
hours
+
":"
+
minutes
+
":"
+
seconds
);
Date
d
=
MyTimeUtils
.
tdf
.
parse
(
empLoginData
.
getTotalLoginTime
());
countHours
+=
d
.
getTime
();
listOfEmpLoginData
.
add
(
empLoginData
);
}
if
(!
listOfEmpLoginData
.
isEmpty
())
{
listOfEmpLoginData
.
get
(
0
)
.
setTotalAvgTime
(
MyTimeUtils
.
tdf
.
format
(
countHours
/
listOfEmpLoginData
.
size
()));
}
}
else
if
(
employeeId
==
0
)
{
MyTimeLogger
.
getInstance
().
info
(
" Time Taken fecth Employee data based on Dates ::: "
+
(
System
.
currentTimeMillis
()
-
start_ms
));
listOfEmpLoginData
=
null
;
MyTimeLogger
.
getInstance
().
info
(
"Time Taken for with fecth All Employees data based on Dates ::: "
+
(
System
.
currentTimeMillis
()
-
start_ms
));
}
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
MyTimeLogger
.
getInstance
().
error
(
e
.
getMessage
());
MyTimeLogger
.
getInstance
().
error
(
e
.
getMessage
());
throw
new
MyTimeException
(
e
.
getMessage
());
throw
new
MyTimeException
(
e
.
getMessage
());
...
...
src/main/java/com/nisum/mytime/service/RoleMappingService.java
View file @
afdeb36f
...
@@ -10,4 +10,6 @@ public interface RoleMappingService {
...
@@ -10,4 +10,6 @@ public interface RoleMappingService {
void
saveUniqueEmployeeAndRole
(
List
<
String
>
employeeIds
,
String
roleId
)
throws
MyTimeException
;
void
saveUniqueEmployeeAndRole
(
List
<
String
>
employeeIds
,
String
roleId
)
throws
MyTimeException
;
WriteResult
deleteRole
(
String
employeeId
,
String
roleId
)
throws
MyTimeException
;
WriteResult
deleteRole
(
String
employeeId
,
String
roleId
)
throws
MyTimeException
;
String
getEmployeeRole
(
String
employeeId
);
}
}
src/main/java/com/nisum/mytime/service/RoleMappingServiceImpl.java
View file @
afdeb36f
package
com
.
nisum
.
mytime
.
service
;
package
com
.
nisum
.
mytime
.
service
;
import
java.util.LinkedHashMap
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.mongodb.core.MongoTemplate
;
import
org.springframework.data.mongodb.core.MongoTemplate
;
...
@@ -12,6 +15,7 @@ import org.springframework.stereotype.Service;
...
@@ -12,6 +15,7 @@ import org.springframework.stereotype.Service;
import
com.mongodb.WriteResult
;
import
com.mongodb.WriteResult
;
import
com.nisum.mytime.exception.handler.MyTimeException
;
import
com.nisum.mytime.exception.handler.MyTimeException
;
import
com.nisum.mytime.model.RoleMappingInfo
;
import
com.nisum.mytime.model.RoleMappingInfo
;
import
com.nisum.mytime.repository.RoleInfoRepo
;
import
com.nisum.mytime.repository.RoleMappingInfoRepo
;
import
com.nisum.mytime.repository.RoleMappingInfoRepo
;
import
com.nisum.mytime.utils.MyTimeUtils
;
import
com.nisum.mytime.utils.MyTimeUtils
;
...
@@ -21,6 +25,9 @@ public class RoleMappingServiceImpl implements RoleMappingService {
...
@@ -21,6 +25,9 @@ public class RoleMappingServiceImpl implements RoleMappingService {
@Autowired
@Autowired
private
RoleMappingInfoRepo
roleMappingInfoRepo
;
private
RoleMappingInfoRepo
roleMappingInfoRepo
;
@Autowired
private
RoleInfoRepo
roleInfoRepo
;
@Autowired
@Autowired
private
MongoTemplate
mongoTemplate
;
private
MongoTemplate
mongoTemplate
;
...
@@ -49,4 +56,26 @@ public class RoleMappingServiceImpl implements RoleMappingService {
...
@@ -49,4 +56,26 @@ public class RoleMappingServiceImpl implements RoleMappingService {
return
mongoTemplate
.
upsert
(
query
,
update
,
RoleMappingInfo
.
class
);
return
mongoTemplate
.
upsert
(
query
,
update
,
RoleMappingInfo
.
class
);
}
}
@Override
public
String
getEmployeeRole
(
String
employeeId
)
{
Map
<
Integer
,
String
>
roleInfoMap
=
new
LinkedHashMap
<
Integer
,
String
>();
List
<
RoleMappingInfo
>
listOfEmployeeRoles
=
roleMappingInfoRepo
.
findByEmployeeId
(
employeeId
);
for
(
RoleMappingInfo
employee
:
listOfEmployeeRoles
)
{
roleInfoMap
.
put
((
roleInfoRepo
.
findByRoleId
(
employee
.
getRoleId
())).
getPriority
(),
employee
.
getRoleId
());
}
roleInfoMap
=
roleInfoMap
.
entrySet
().
stream
().
sorted
(
Map
.
Entry
.
comparingByKey
()).
collect
(
Collectors
.
toMap
(
Map
.
Entry
::
getKey
,
Map
.
Entry
::
getValue
,
(
oldValue
,
newValue
)
->
oldValue
,
LinkedHashMap:
:
new
));
String
roleName
=
null
;
if
(!
roleInfoMap
.
isEmpty
())
{
Map
.
Entry
<
Integer
,
String
>
entry
=
roleInfoMap
.
entrySet
().
iterator
().
next
();
roleName
=
entry
.
getValue
();
}
else
{
roleName
=
null
;
}
return
roleName
;
}
}
}
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