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
49a1ca8b
Commit
49a1ca8b
authored
May 03, 2019
by
Vijay Akula
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Provided the code for getting projects based on role
parent
a1970e3f
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
180 additions
and
53 deletions
+180
-53
ProjectController.java
...n/java/com/nisum/myteam/controller/ProjectController.java
+52
-9
IProjectService.java
src/main/java/com/nisum/myteam/service/IProjectService.java
+2
-1
BillingService.java
...in/java/com/nisum/myteam/service/impl/BillingService.java
+1
-0
EmployeeService.java
...n/java/com/nisum/myteam/service/impl/EmployeeService.java
+30
-34
ProjectService.java
...in/java/com/nisum/myteam/service/impl/ProjectService.java
+76
-8
ResourceService.java
...n/java/com/nisum/myteam/service/impl/ResourceService.java
+1
-0
IndustryType.java
...n/java/com/nisum/myteam/utils/constants/IndustryType.java
+16
-0
RoleEnum.java
src/main/java/com/nisum/myteam/utils/constants/RoleEnum.java
+2
-1
No files found.
src/main/java/com/nisum/myteam/controller/ProjectController.java
View file @
49a1ca8b
...
...
@@ -123,26 +123,38 @@ public class ProjectController {
// @RequestMapping(value = "/getProjects" //get projects only for DL
@RequestMapping
(
value
=
"/projects/employeeId/{employeeId}"
,
method
=
RequestMethod
.
GET
,
produces
=
MediaType
.
APPLICATION_JSON_VALUE
)
public
ResponseEntity
<?>
getProjects
(
public
ResponseEntity
<?>
getProjects
OnRoleBasis
(
@PathVariable
(
value
=
"employeeId"
)
String
employeeId
,
HttpServletRequest
request
)
throws
MyTeamException
{
List
<
HashMap
<
Object
,
Object
>>
projects
=
null
;
if
(
employeeId
!=
null
&&
!
""
.
equalsIgnoreCase
(
employeeId
)
&&
!
"undefined"
.
equalsIgnoreCase
(
employeeId
))
{
boolean
isDl
=
employeeService
.
verifyEmployeeRole
(
employeeId
,
MyTeamUtils
.
DL
);
if
(
isDl
)
{
projects
=
projectService
.
deliveryLeadProjects
(
employeeId
);
if
(
employeeId
!=
null
&&
!
""
.
equalsIgnoreCase
(
employeeId
)
)
{
boolean
isEmployeeHaveAccess
=
employeeService
.
verifyEmployeeRole
(
employeeId
,
MyTeamUtils
.
DL
);
if
(
isEmployeeHaveAccess
)
{
//projects = projectService.deliveryLeadProjects(employeeId);
projects
=
projectService
.
getRoleBasedProjects
(
employeeId
);
ResponseDetails
getRespDetails
=
new
ResponseDetails
(
new
Date
(),
604
,
"Retrieved the projects successfully"
,
"Projects list"
,
projects
,
request
.
getRequestURI
(),
"Project details"
,
null
);
return
new
ResponseEntity
<
ResponseDetails
>(
getRespDetails
,
HttpStatus
.
OK
);
}
else
{
projects
=
projectService
.
getProjectsInsteadOfRole
();
ResponseDetails
getRespDetails
=
new
ResponseDetails
(
new
Date
(),
604
,
"Retrieved the projects successfully"
,
"Projects list"
,
projects
,
request
.
getRequestURI
(),
"Project details"
,
null
);
ResponseDetails
getRespDetails
=
new
ResponseDetails
(
new
Date
(),
605
,
"You are not authorized to view Projects."
,
"Only Delivery leads can get the project details"
,
projects
,
request
.
getRequestURI
(),
"Project details"
,
null
);
return
new
ResponseEntity
<
ResponseDetails
>(
getRespDetails
,
HttpStatus
.
OK
);
}
return
new
ResponseEntity
<
ResponseDetails
>(
getRespDetails
,
HttpStatus
.
OK
);
// ResponseDetails getRespDetails = new ResponseDetails(new Date(), 605, "You are not authorized to view Projects.",
// "Only Delivery leads can get the project details", projects, request.getRequestURI(), "Project details", null);
//
// return new ResponseEntity<ResponseDetails>(getRespDetails, HttpStatus.OK);
}
...
...
@@ -152,7 +164,6 @@ public class ProjectController {
return
new
ResponseEntity
<
ResponseDetails
>(
getRespDetails
,
HttpStatus
.
OK
);
}
@RequestMapping
(
value
=
"/projects/deliveryLeadId/{deliveryLeadId}"
,
method
=
RequestMethod
.
GET
,
produces
=
MediaType
.
APPLICATION_JSON_VALUE
)
public
ResponseEntity
<?>
getProjectsUnderDeliveryLead
(
...
...
@@ -213,3 +224,35 @@ public class ProjectController {
//
// }
// @RequestMapping(value = "/getProjects" //get projects only for DL
// @RequestMapping(value = "/projects/employeeId/{employeeId}", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
// public ResponseEntity<?> getProjects(
// @PathVariable(value = "employeeId") String employeeId, HttpServletRequest request)
// throws MyTeamException {
// List<HashMap<Object, Object>> projects = null;
//
// if (employeeId != null && !"".equalsIgnoreCase(employeeId) && !"undefined".equalsIgnoreCase(employeeId)) {
// boolean isDl = employeeService.verifyEmployeeRole(employeeId, MyTeamUtils.DL);
// if (isDl) {
// projects = projectService.deliveryLeadProjects(employeeId);
//
// ResponseDetails getRespDetails = new ResponseDetails(new Date(), 604, "Retrieved the projects successfully",
// "Projects list", projects, request.getRequestURI(), "Project details", null);
//
// return new ResponseEntity<ResponseDetails>(getRespDetails, HttpStatus.OK);
// }
//
// ResponseDetails getRespDetails = new ResponseDetails(new Date(), 605, "You are not authorized to view Projects.",
// "Only Delivery leads can get the project details", projects, request.getRequestURI(), "Project details", null);
//
// return new ResponseEntity<ResponseDetails>(getRespDetails, HttpStatus.OK);
//
// }
//
// ResponseDetails getRespDetails = new ResponseDetails(new Date(), 606, "Please Provide valid employee id",
// "Projects list", null, request.getRequestURI(), "Project details", null);
//
// return new ResponseEntity<ResponseDetails>(getRespDetails, HttpStatus.OK);
// }
\ No newline at end of file
src/main/java/com/nisum/myteam/service/IProjectService.java
View file @
49a1ca8b
...
...
@@ -54,5 +54,6 @@ public interface IProjectService {
public
Account
updateProjSeqinAccount
(
Account
account
)
throws
MyTeamException
;
public
List
<
HashMap
<
Object
,
Object
>>
getRoleBasedProjects
(
String
empId
)
throws
MyTeamException
;
public
List
<
HashMap
<
Object
,
Object
>>
getProjectsInsteadOfRole
()
throws
MyTeamException
;
}
src/main/java/com/nisum/myteam/service/impl/BillingService.java
View file @
49a1ca8b
...
...
@@ -64,6 +64,7 @@ public class BillingService implements IBillingService {
if
(
billingsList
==
null
||
billingsList
.
size
()
==
0
)
{
return
billingsList
;
}
else
{
log
.
info
(
"The billing list before sorting::"
+
billingsList
);
return
billingsList
.
stream
().
sorted
(
Comparator
.
comparing
(
Billing:
:
getCreatedOn
).
reversed
())
.
collect
(
Collectors
.
toList
());
}
...
...
src/main/java/com/nisum/myteam/service/impl/EmployeeService.java
View file @
49a1ca8b
package
com
.
nisum
.
myteam
.
service
.
impl
;
import
java.util.ArrayList
;
import
java.util.Comparator
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Set
;
import
java.util.stream.Collectors
;
import
com.nisum.myteam.exception.handler.MyTeamException
;
import
com.nisum.myteam.model.Account
;
import
com.nisum.myteam.model.Domain
;
import
com.nisum.myteam.model.Employee
;
import
com.nisum.myteam.model.Resource
;
import
com.nisum.myteam.repository.EmployeeRepo
;
import
com.nisum.myteam.service.*
;
import
com.nisum.myteam.utils.MyTeamUtils
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.domain.Sort
;
import
org.springframework.data.mongodb.core.FindAndModifyOptions
;
...
...
@@ -16,24 +18,8 @@ import org.springframework.data.mongodb.core.query.Query;
import
org.springframework.data.mongodb.core.query.Update
;
import
org.springframework.stereotype.Service
;
import
com.mongodb.WriteResult
;
import
com.nisum.myteam.exception.handler.MyTeamException
;
import
com.nisum.myteam.model.Account
;
import
com.nisum.myteam.model.Domain
;
import
com.nisum.myteam.model.Employee
;
import
com.nisum.myteam.model.EmployeeRole
;
import
com.nisum.myteam.model.Resource
;
import
com.nisum.myteam.repository.EmployeeRepo
;
import
com.nisum.myteam.service.IAccountService
;
import
com.nisum.myteam.service.IDomainService
;
import
com.nisum.myteam.service.IEmployeeLocationService
;
import
com.nisum.myteam.service.IEmployeeRoleService
;
import
com.nisum.myteam.service.IEmployeeService
;
import
com.nisum.myteam.service.IProjectService
;
import
com.nisum.myteam.service.IResourceService
;
import
com.nisum.myteam.utils.MyTeamUtils
;
import
lombok.extern.slf4j.Slf4j
;
import
java.util.*
;
import
java.util.stream.Collectors
;
@Service
@Slf4j
...
...
@@ -303,19 +289,25 @@ public class EmployeeService implements IEmployeeService {
public
boolean
verifyEmployeeRole
(
String
empId
,
String
roleName
)
{
boolean
flag
=
false
;
log
.
info
(
"The employeeId::"
+
empId
);
log
.
info
(
"The employeeId::"
+
empId
);
Employee
employee
=
getEmployeeById
(
empId
);
log
.
info
(
"Employee::::in EmployeeService::"
+
employee
);
Employee
employee
=
getEmployeeById
(
empId
);
log
.
info
(
"Employee::::in EmployeeService::"
+
employee
);
String
role
=
employee
.
getRole
();
log
.
info
(
"The employee role::"
+
role
);
log
.
info
(
"The employee role::"
+
role
);
if
(
null
!=
role
&&
""
!=
role
&&
!
"Admin"
.
equalsIgnoreCase
(
role
))
{
Set
<
String
>
roleSet
=
employeeRoleService
.
empRolesMapInfoByEmpId
(
empId
);
if
(
null
!=
roleSet
&&
!
roleSet
.
isEmpty
()
&&
MyTeamUtils
.
INT_ZERO
<
roleSet
.
size
())
{
if
(
roleSet
.
contains
(
roleName
))
{
flag
=
true
;
if
(
"FM"
.
equalsIgnoreCase
(
role
)
||
"Delivery Lead"
.
equalsIgnoreCase
(
role
))
{
flag
=
true
;
}
else
{
Set
<
String
>
roleSet
=
employeeRoleService
.
empRolesMapInfoByEmpId
(
empId
);
if
(
null
!=
roleSet
&&
!
roleSet
.
isEmpty
()
&&
MyTeamUtils
.
INT_ZERO
<
roleSet
.
size
())
{
if
(
roleSet
.
contains
(
roleName
))
{
flag
=
true
;
}
}
}
}
...
...
@@ -332,6 +324,10 @@ public class EmployeeService implements IEmployeeService {
return
employeeRepo
.
findAll
();
}
}
src/main/java/com/nisum/myteam/service/impl/ProjectService.java
View file @
49a1ca8b
...
...
@@ -18,6 +18,8 @@ import org.springframework.data.mongodb.core.query.Criteria;
import
org.springframework.data.mongodb.core.query.Query
;
import
org.springframework.data.mongodb.core.query.Update
;
import
org.springframework.stereotype.Service
;
import
com.nisum.myteam.model.Domain
;
import
java.util.*
;
import
java.util.stream.Collectors
;
...
...
@@ -633,7 +635,7 @@ public class ProjectService implements IProjectService {
}
return
accIdsSet
;
}
@Override
public
List
<
HashMap
<
Object
,
Object
>>
deliveryLeadProjects
(
String
empId
)
throws
MyTeamException
{
...
...
@@ -650,24 +652,24 @@ public class ProjectService implements IProjectService {
for
(
Project
obj
:
prjts
)
{
projectMap
=
new
HashMap
<>();
account
=
accountRepo
.
findByAccountId
(
obj
.
getAccountId
());
domain
=
domainRepo
.
findByDomainId
(
obj
.
getDomainId
());
projectMap
.
put
(
"projectId"
,
obj
.
getProjectId
());
projectMap
.
put
(
"projectName"
,
obj
.
getProjectName
());
projectMap
.
put
(
"accountId"
,
obj
.
getAccountId
());
projectMap
.
put
(
"domainId"
,
obj
.
getDomainId
());
projectMap
.
put
(
"account"
,
null
!=
account
?
account
.
getAccountName
():
""
);
projectMap
.
put
(
"domain"
,
null
!=
domain
?
domain
.
getDomainName
()
:
""
);
projectMap
.
put
(
"status"
,
obj
.
getStatus
());
projectMap
.
put
(
"deliveryLeadIds"
,
null
!=
obj
.
getDeliveryLeadIds
()
?
employeeService
.
getDeliveryManagerMap
(
obj
.
getDeliveryLeadIds
())
:
""
);
projectMap
.
put
(
"managerIds"
,
null
!=
obj
.
getManagerIds
()
?
employeeService
.
getDeliveryManagerMap
(
obj
.
getManagerIds
())
:
""
);
projectsList
.
add
(
projectMap
);
}
}
...
...
@@ -675,4 +677,70 @@ public class ProjectService implements IProjectService {
}
/*
Need to refactor the following code
*/
@Override
public
List
<
HashMap
<
Object
,
Object
>>
getRoleBasedProjects
(
String
empId
)
throws
MyTeamException
{
List
<
HashMap
<
Object
,
Object
>>
projectsList
=
new
ArrayList
<
HashMap
<
Object
,
Object
>>();
Set
<
String
>
accountIdSet
=
domainService
.
accountsAssignedToDeliveryLead
(
empId
);
List
<
Project
>
projectList
=
projectRepo
.
findByAccountIdIn
(
accountIdSet
);
for
(
Project
proj
:
projectList
)
{
addToProjectList
(
projectsList
,
proj
);
}
return
projectsList
;
}
@Override
public
List
<
HashMap
<
Object
,
Object
>>
getProjectsInsteadOfRole
()
throws
MyTeamException
{
List
<
HashMap
<
Object
,
Object
>>
projectList
=
new
ArrayList
<>();
List
<
Project
>
projects
=
projectRepo
.
findAll
();
for
(
Project
proj
:
projects
)
{
addToProjectList
(
projectList
,
proj
);
}
return
projectList
;
}
private
void
addToProjectList
(
List
<
HashMap
<
Object
,
Object
>>
projectList
,
Project
proj
)
{
HashMap
<
Object
,
Object
>
projectMap
=
new
HashMap
<>();
buildProjectProperties
(
proj
,
projectMap
);
projectMap
.
put
(
"status"
,
proj
.
getStatus
());
projectMap
.
put
(
"projectStartDate"
,
proj
.
getProjectStartDate
());
projectMap
.
put
(
"projectEndDate"
,
proj
.
getProjectEndDate
());
projectList
.
add
(
projectMap
);
}
private
void
buildProjectProperties
(
Project
proj
,
HashMap
<
Object
,
Object
>
projectMap
)
{
projectMap
.
put
(
"id"
,
proj
.
getId
());
projectMap
.
put
(
"projectId"
,
proj
.
getProjectId
());
projectMap
.
put
(
"projectName"
,
proj
.
getProjectName
());
Account
account
=
accountService
.
getAccountById
(
proj
.
getAccountId
());
Domain
domain
=
domainService
.
getDomainById
(
proj
.
getDomainId
());
if
(
domain
!=
null
)
projectMap
.
put
(
"domain"
,
domain
.
getDomainName
());
if
(
account
!=
null
)
projectMap
.
put
(
"account"
,
account
.
getAccountName
());
projectMap
.
put
(
"accountId"
,
proj
.
getAccountId
());
projectMap
.
put
(
"domainId"
,
proj
.
getDomainId
());
projectMap
.
put
(
"employeeIds"
,
proj
.
getEmployeeIds
());
if
(
proj
.
getDeliveryLeadIds
()
!=
null
)
{
projectMap
.
put
(
"deliveryLeadIds"
,
employeeService
.
getDeliveryManagerMap
(
proj
.
getDeliveryLeadIds
()));
}
if
(
proj
.
getManagerIds
()
!=
null
)
{
projectMap
.
put
(
"managerIds"
,
employeeService
.
getDeliveryManagerMap
(
proj
.
getManagerIds
()));
}
}
}
src/main/java/com/nisum/myteam/service/impl/ResourceService.java
View file @
49a1ca8b
...
...
@@ -97,6 +97,7 @@ public class ResourceService implements IResourceService {
bDetails
.
setActive
(
false
);
billingService
.
updateBilling
(
bDetails
,
loginEmpId
);
}
Billing
billings
=
new
Billing
();
billings
.
setEmployeeId
(
resourcePersisted
.
getEmployeeId
());
billings
.
setEmployeeName
(
resourcePersisted
.
getEmployeeName
());
...
...
src/main/java/com/nisum/myteam/utils/constants/IndustryType.java
0 → 100644
View file @
49a1ca8b
package
com
.
nisum
.
myteam
.
utils
.
constants
;
public
enum
IndustryType
{
RETAIL
(
"retail"
),
FINANTIAL
(
"Financial"
);
private
String
type
;
private
IndustryType
(
String
type
)
{
this
.
type
=
type
;
}
public
String
getType
()
{
return
type
;
}
}
src/main/java/com/nisum/myteam/utils/constants/RoleEnum.java
View file @
49a1ca8b
...
...
@@ -2,7 +2,8 @@ package com.nisum.myteam.utils.constants;
public
enum
RoleEnum
{
DIRECTOR
(
"Director"
),
DELIVERY_LEAD
(
"Delivery Lead"
),
DELIVERY_MANAGER
(
"Delivery Manager"
),
LEAD
(
"Lead"
);
ADMIN
(
"admin"
),
DIRECTOR
(
"Director"
),
DELIVERY_MANAGER
(
"Delivery Manager"
),
DELIVERY_LEAD
(
"Delivery Lead"
),
LEAD
(
"Lead"
),
EMPLOYEE
(
"Employee"
),
HR
(
"hr"
);
private
String
role
;
...
...
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