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
3ff7c67b
Commit
3ff7c67b
authored
May 12, 2019
by
Vijay Akula
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Provided new controller for dashboard
parent
2a843966
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
224 additions
and
0 deletions
+224
-0
DashboardController.java
...java/com/nisum/myteam/controller/DashboardController.java
+38
-0
MyProjectAllocationVO.java
...java/com/nisum/myteam/model/vo/MyProjectAllocationVO.java
+33
-0
ResourceVO.java
src/main/java/com/nisum/myteam/model/vo/ResourceVO.java
+38
-0
IDashboardService.java
...main/java/com/nisum/myteam/service/IDashboardService.java
+4
-0
DashboardService.java
.../java/com/nisum/myteam/service/impl/DashboardService.java
+98
-0
MyTeamDateUtils.java
src/main/java/com/nisum/myteam/utils/MyTeamDateUtils.java
+13
-0
No files found.
src/main/java/com/nisum/myteam/controller/DashboardController.java
0 → 100644
View file @
3ff7c67b
package
com
.
nisum
.
myteam
.
controller
;
import
com.nisum.myteam.exception.handler.MyTeamException
;
import
com.nisum.myteam.exception.handler.ResponseDetails
;
import
com.nisum.myteam.model.vo.EmployeeDashboardVO
;
import
com.nisum.myteam.service.IDashboardService
;
import
com.nisum.myteam.service.impl.DashboardService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.http.HttpStatus
;
import
org.springframework.http.MediaType
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMethod
;
import
org.springframework.web.bind.annotation.RestController
;
import
javax.servlet.http.HttpServletRequest
;
import
java.util.Date
;
import
java.util.List
;
@RestController
@RequestMapping
public
class
DashboardController
{
@Autowired
private
IDashboardService
dashboardService
;
@RequestMapping
(
value
=
"/resourceAllocation/getEmployeesDashBoard"
,
method
=
RequestMethod
.
GET
,
produces
=
MediaType
.
APPLICATION_JSON_VALUE
)
public
ResponseEntity
<?>
getEmployeesDashBoard
(
HttpServletRequest
request
)
throws
MyTeamException
{
List
<
EmployeeDashboardVO
>
employeeDashBoardList
=
dashboardService
.
getEmployeesDashBoard
();
ResponseDetails
responseDetails
=
new
ResponseDetails
(
new
Date
(),
602
,
"Resources have been retrieved successfully"
,
"List of Resources for dashboard"
,
employeeDashBoardList
,
request
.
getRequestURI
(),
"Resource details"
,
null
);
return
new
ResponseEntity
<
ResponseDetails
>(
responseDetails
,
HttpStatus
.
OK
);
}
}
src/main/java/com/nisum/myteam/model/vo/MyProjectAllocationVO.java
0 → 100644
View file @
3ff7c67b
package
com
.
nisum
.
myteam
.
model
.
vo
;
import
lombok.*
;
import
org.springframework.format.annotation.DateTimeFormat
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.List
;
@Getter
@Setter
@ToString
@AllArgsConstructor
@NoArgsConstructor
public
class
MyProjectAllocationVO
{
private
String
projectName
;
private
String
accountName
;
private
String
billableStatus
;
@DateTimeFormat
(
iso
=
DateTimeFormat
.
ISO
.
DATE
)
private
Date
billingStartDate
;
@DateTimeFormat
(
iso
=
DateTimeFormat
.
ISO
.
DATE
)
private
Date
billingEndDate
;
private
String
shift
;
private
String
resourceStatus
;
private
List
<
HashMap
<
String
,
String
>>
deliverLeadIds
;
}
src/main/java/com/nisum/myteam/model/vo/ResourceVO.java
0 → 100644
View file @
3ff7c67b
package
com
.
nisum
.
myteam
.
model
.
vo
;
import
lombok.*
;
import
org.bson.types.ObjectId
;
import
org.springframework.data.annotation.Id
;
import
org.springframework.format.annotation.DateTimeFormat
;
import
java.util.Date
;
@Getter
@Setter
@ToString
@AllArgsConstructor
@NoArgsConstructor
public
class
ResourceVO
{
@Id
private
ObjectId
id
;
private
String
employeeId
;
private
String
employeeName
;
private
String
designation
;
private
String
emailId
;
private
String
projectId
;
private
String
projectName
;
@DateTimeFormat
(
iso
=
DateTimeFormat
.
ISO
.
DATE
)
private
String
billableStatus
;
@DateTimeFormat
(
iso
=
DateTimeFormat
.
ISO
.
DATE
,
pattern
=
"yyyy-MM-dd'T'HH:mm:ss.SSSX"
)
private
Date
billingStartDate
;
@DateTimeFormat
(
iso
=
DateTimeFormat
.
ISO
.
DATE
,
pattern
=
"yyyy-MM-dd'T'HH:mm:ss.SSSX"
)
private
Date
billingEndDate
;
private
String
resourceStatus
;
private
String
resourceRole
;
}
src/main/java/com/nisum/myteam/service/IDashboardService.java
0 → 100644
View file @
3ff7c67b
package
com
.
nisum
.
myteam
.
service
;
public
class
IDashboardService
{
}
src/main/java/com/nisum/myteam/service/impl/DashboardService.java
0 → 100644
View file @
3ff7c67b
package
com
.
nisum
.
myteam
.
service
.
impl
;
import
com.nisum.myteam.model.dao.Employee
;
import
com.nisum.myteam.model.dao.Project
;
import
com.nisum.myteam.model.dao.ResourceAllocation
;
import
com.nisum.myteam.model.vo.EmployeeDashboardVO
;
import
com.nisum.myteam.service.IDashboardService
;
import
com.nisum.myteam.service.IEmployeeService
;
import
com.nisum.myteam.service.IProjectService
;
import
com.nisum.myteam.service.IResourceAllocationService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.*
;
@Service
@Slf4j
public
class
DashboardService
implements
IDashboardService
{
@Autowired
private
IEmployeeService
employeeService
;
@Autowired
private
IResourceAllocationService
resourceService
;
@Autowired
private
IProjectService
projectService
;
@Override
public
List
<
EmployeeDashboardVO
>
getEmployeesDashBoard
()
{
//List<Employee> allEmployees = employeeRepo.findAll();
List
<
Employee
>
allEmployees
=
employeeService
.
getAllEmployees
();
List
<
EmployeeDashboardVO
>
employeeDashboard
=
new
ArrayList
<>();
Map
<
String
,
Object
>
teamMatesMap
=
new
HashMap
();
Map
<
String
,
Object
>
teamMatesStatusMap
=
new
HashMap
();
// Find all active employees
List
<
ResourceAllocation
>
resources
=
resourceService
.
getAllResources
();
for
(
ResourceAllocation
resource
:
resources
)
{
//if (resource.isActive()) {
if
(
resource
.
getBillingEndDate
().
compareTo
(
new
Date
())>
0
)
{
Project
project
=
projectService
.
getProjectByProjectId
(
resource
.
getProjectId
());
if
(
project
!=
null
&&
project
.
getStatus
()
!=
null
&&
!
"Completed"
.
equalsIgnoreCase
(
project
.
getStatus
()))
{
Object
projectTeamMate
=
teamMatesMap
.
get
(
resource
.
getEmployeeId
());
if
(
projectTeamMate
==
null
)
{
List
listOfObjects
=
new
ArrayList
<>();
listOfObjects
.
add
(
resource
);
// A person can have multiple active projects with billability
teamMatesMap
.
put
(
resource
.
getEmployeeId
(),
listOfObjects
);
}
else
{
List
existingRecordsInMap
=
(
List
)
teamMatesMap
.
get
(
resource
.
getEmployeeId
());
existingRecordsInMap
.
add
(
resource
);
teamMatesMap
.
put
(
resource
.
getEmployeeId
(),
existingRecordsInMap
);
}
}
}
}
for
(
Employee
emp
:
allEmployees
)
{
if
(
teamMatesMap
.
containsKey
(
emp
.
getEmployeeId
()))
{
Object
value
=
teamMatesMap
.
get
(
emp
.
getEmployeeId
());
if
(
value
instanceof
List
)
{
List
listOfTeamMates
=
(
List
)
value
;
String
billableStatus
=
"NA"
;
for
(
Object
obj
:
listOfTeamMates
)
{
ResourceAllocation
projectTeamMate
=
(
ResourceAllocation
)
obj
;
String
status
=
projectTeamMate
.
getBillableStatus
();
if
(
status
==
null
)
{
status
=
"NA"
;
}
EmployeeDashboardVO
empVo
=
new
EmployeeDashboardVO
();
BeanUtils
.
copyProperties
(
emp
,
empVo
);
BeanUtils
.
copyProperties
(
projectTeamMate
,
empVo
,
"employeeId"
,
"employeeName"
,
"emailId"
,
"role"
,
"designation"
,
"mobileNumber"
);
employeeDashboard
.
add
(
empVo
);
}
}
}
else
{
EmployeeDashboardVO
empVo
=
new
EmployeeDashboardVO
();
BeanUtils
.
copyProperties
(
emp
,
empVo
);
empVo
.
setBillableStatus
(
"UA"
);
empVo
.
setProjectAssigned
(
false
);
employeeDashboard
.
add
(
empVo
);
}
}
return
employeeDashboard
;
}
}
src/main/java/com/nisum/myteam/utils/MyTeamDateUtils.java
0 → 100644
View file @
3ff7c67b
package
com
.
nisum
.
myteam
.
utils
;
import
java.util.Calendar
;
import
java.util.Date
;
public
class
MyTeamDateUtils
{
public
static
Date
getYesterdayDate
()
{
final
Calendar
cal
=
Calendar
.
getInstance
();
cal
.
add
(
Calendar
.
DATE
,
-
1
);
return
cal
.
getTime
();
}
}
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