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
b896a6bc
Commit
b896a6bc
authored
Jun 11, 2019
by
vikram singh
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
dashboard service we are showing with latest billable status
parent
5e029af6
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
178 additions
and
175 deletions
+178
-175
BillableEmployee.java
src/main/java/com/nisum/myteam/model/BillableEmployee.java
+0
-30
DashboardService.java
.../java/com/nisum/myteam/service/impl/DashboardService.java
+178
-145
No files found.
src/main/java/com/nisum/myteam/model/BillableEmployee.java
deleted
100644 → 0
View file @
5e029af6
package
com
.
nisum
.
myteam
.
model
;
import
java.io.Serializable
;
import
java.util.Date
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
import
lombok.NoArgsConstructor
;
import
lombok.Setter
;
import
lombok.ToString
;
@Setter
@Getter
@AllArgsConstructor
@NoArgsConstructor
@ToString
public
class
BillableEmployee
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
private
String
employeeId
;
private
String
employeeName
;
private
String
emailId
;
private
String
projectName
;
private
String
billableStatus
;
private
Date
billingStartDate
;
private
Date
billingEndDate
;
private
String
functionalGroup
;
}
src/main/java/com/nisum/myteam/service/impl/DashboardService.java
View file @
b896a6bc
package
com
.
nisum
.
myteam
.
service
.
impl
;
package
com
.
nisum
.
myteam
.
service
.
impl
;
import
com.nisum.myteam.exception.handler.MyTeamException
;
import
com.nisum.myteam.exception.handler.MyTeamException
;
import
com.nisum.myteam.model.dao.Account
;
import
com.nisum.myteam.model.dao.Account
;
import
com.nisum.myteam.model.dao.Domain
;
import
com.nisum.myteam.model.dao.Domain
;
import
com.nisum.myteam.model.dao.Employee
;
import
com.nisum.myteam.model.dao.Employee
;
import
com.nisum.myteam.model.dao.Project
;
import
com.nisum.myteam.model.dao.Project
;
import
com.nisum.myteam.model.vo.EmployeeDashboardVO
;
import
com.nisum.myteam.model.dao.Resource
;
import
com.nisum.myteam.model.vo.ResourceVO
;
import
com.nisum.myteam.model.vo.EmployeeDashboardVO
;
import
com.nisum.myteam.service.IDashboardService
;
import
com.nisum.myteam.model.vo.ResourceVO
;
import
com.nisum.myteam.service.IEmployeeService
;
import
com.nisum.myteam.service.IDashboardService
;
import
com.nisum.myteam.service.IProjectService
;
import
com.nisum.myteam.service.IEmployeeService
;
import
com.nisum.myteam.service.IResourceService
;
import
com.nisum.myteam.service.IProjectService
;
import
lombok.extern.slf4j.Slf4j
;
import
com.nisum.myteam.service.IResourceService
;
import
org.springframework.beans.BeanUtils
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.stereotype.Service
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.*
;
import
java.util.stream.Collectors
;
import
java.util.*
;
import
java.util.stream.Collectors
;
@Service
@Slf4j
@Service
public
class
DashboardService
implements
IDashboardService
{
@Slf4j
public
class
DashboardService
implements
IDashboardService
{
@Autowired
private
IEmployeeService
employeeService
;
@Autowired
private
IEmployeeService
employeeService
;
@Autowired
private
IResourceService
resourceService
;
@Autowired
private
IResourceService
resourceService
;
@Autowired
private
IProjectService
projectService
;
@Autowired
private
IProjectService
projectService
;
@Autowired
private
DomainService
domainService
;
@Autowired
private
DomainService
domainService
;
@Autowired
private
AccountService
accountService
;
@Autowired
private
AccountService
accountService
;
@Override
public
List
<
EmployeeDashboardVO
>
getEmployeesDashBoard
()
{
@Override
//List<Employee> allEmployees = employeeRepo.findAll();
public
List
<
EmployeeDashboardVO
>
getEmployeesDashBoard
()
{
List
<
Employee
>
allEmployees
=
employeeService
.
getAllEmployees
();
//List<Employee> allEmployees = employeeRepo.findAll();
List
<
Employee
>
allEmployees
=
employeeService
.
getAllEmployees
();
List
<
EmployeeDashboardVO
>
employeeDashboard
=
new
ArrayList
<>();
Map
<
String
,
Object
>
resourcesMap
=
new
HashMap
();
List
<
EmployeeDashboardVO
>
employeeDashboard
=
new
ArrayList
<>();
Map
<
String
,
Object
>
teamMatesStatusMap
=
new
HashMap
();
Map
<
String
,
Object
>
resourcesMap
=
new
HashMap
();
Map
<
String
,
Object
>
teamMatesStatusMap
=
new
HashMap
();
// Find all active employees
//List<Resource> resources = resourceService.getAllResources();
// Find all active employees
//List<Resource> resources = resourceService.getAllResources();
List
<
ResourceVO
>
resources
=
resourceService
.
getAllResourcesVO
();
List
<
ResourceVO
>
resources
=
resourceService
.
getAllResourcesVO
();
for
(
ResourceVO
resource
:
resources
)
{
//if (resource.isActive()) {
for
(
ResourceVO
resource
:
resources
)
{
if
(
resource
.
getBillingEndDate
().
compareTo
(
new
Date
())
>
0
)
{
//if (resource.isActive()) {
if
(
resource
.
getBillingEndDate
().
compareTo
(
new
Date
())
>
0
)
{
Project
project
=
projectService
.
getProjectByProjectId
(
resource
.
getProjectId
());
if
(
project
!=
null
&&
project
.
getStatus
()
!=
null
Project
project
=
projectService
.
getProjectByProjectId
(
resource
.
getProjectId
());
&&
!
"Completed"
.
equalsIgnoreCase
(
project
.
getStatus
()))
{
if
(
project
!=
null
&&
project
.
getStatus
()
!=
null
Object
projectResource
=
resourcesMap
.
get
(
resource
.
getEmployeeId
());
&&
!
"Completed"
.
equalsIgnoreCase
(
project
.
getStatus
()))
{
Object
projectResource
=
resourcesMap
.
get
(
resource
.
getEmployeeId
());
if
(
projectResource
==
null
)
{
List
listOfObjects
=
new
ArrayList
<>();
if
(
projectResource
==
null
)
{
listOfObjects
.
add
(
resource
);
List
listOfObjects
=
new
ArrayList
<>();
// A person can have multiple active projects with billability
listOfObjects
.
add
(
resource
);
resourcesMap
.
put
(
resource
.
getEmployeeId
(),
listOfObjects
);
// A person can have multiple active projects with billability
}
else
{
resourcesMap
.
put
(
resource
.
getEmployeeId
(),
listOfObjects
);
List
existingRecordsInMap
=
(
List
)
resourcesMap
}
else
{
.
get
(
resource
.
getEmployeeId
());
List
existingRecordsInMap
=
(
List
)
resourcesMap
existingRecordsInMap
.
add
(
resource
);
.
get
(
resource
.
getEmployeeId
());
resourcesMap
.
put
(
resource
.
getEmployeeId
(),
existingRecordsInMap
.
add
(
resource
);
existingRecordsInMap
);
resourcesMap
.
put
(
resource
.
getEmployeeId
(),
existingRecordsInMap
);
}
}
}
}
}
}
}
for
(
Employee
emp
:
allEmployees
)
{
}
if
(
resourcesMap
.
containsKey
(
emp
.
getEmployeeId
()))
{
for
(
Employee
emp
:
allEmployees
)
{
Object
value
=
resourcesMap
.
get
(
emp
.
getEmployeeId
());
if
(
resourcesMap
.
containsKey
(
emp
.
getEmployeeId
()))
{
if
(
value
instanceof
List
)
{
Object
value
=
resourcesMap
.
get
(
emp
.
getEmployeeId
());
List
listOfTeamMates
=
(
List
)
value
;
if
(
value
instanceof
List
)
{
String
billableStatus
=
"NA"
;
List
listOfTeamMates
=
(
List
)
value
;
for
(
Object
obj
:
listOfTeamMates
)
{
String
billableStatus
=
"NA"
;
ResourceVO
projectTeamMate
=
(
ResourceVO
)
obj
;
for
(
Object
obj
:
listOfTeamMates
)
{
String
status
=
projectTeamMate
.
getBillableStatus
();
ResourceVO
projectTeamMate
=
(
ResourceVO
)
obj
;
if
(
status
==
null
)
{
String
status
=
projectTeamMate
.
getBillableStatus
();
status
=
"NA"
;
if
(
status
==
null
)
{
}
status
=
"NA"
;
EmployeeDashboardVO
empVo
=
new
EmployeeDashboardVO
();
}
BeanUtils
.
copyProperties
(
emp
,
empVo
);
EmployeeDashboardVO
empVo
=
new
EmployeeDashboardVO
();
BeanUtils
.
copyProperties
(
projectTeamMate
,
empVo
,
BeanUtils
.
copyProperties
(
emp
,
empVo
);
"employeeId"
,
"employeeName"
,
"emailId"
,
"role"
,
BeanUtils
.
copyProperties
(
projectTeamMate
,
empVo
,
"designation"
,
"mobileNumber"
);
"employeeId"
,
"employeeName"
,
"emailId"
,
"role"
,
employeeDashboard
.
add
(
empVo
);
"designation"
,
"mobileNumber"
);
}
employeeDashboard
.
add
(
empVo
);
}
}
}
else
{
}
EmployeeDashboardVO
empVo
=
new
EmployeeDashboardVO
();
}
else
{
BeanUtils
.
copyProperties
(
emp
,
empVo
);
EmployeeDashboardVO
empVo
=
new
EmployeeDashboardVO
();
empVo
.
setBillableStatus
(
"UA"
);
BeanUtils
.
copyProperties
(
emp
,
empVo
);
empVo
.
setProjectAssigned
(
false
);
empVo
.
setBillableStatus
(
"UA"
);
employeeDashboard
.
add
(
empVo
);
empVo
.
setProjectAssigned
(
false
);
}
employeeDashboard
.
add
(
empVo
);
}
}
return
employeeDashboard
;
}
}
return
employeeDashboard
;
}
@Override
public
List
<
EmployeeDashboardVO
>
getDashBoardData
()
throws
MyTeamException
{
// @Override
List
<
EmployeeDashboardVO
>
employeeDashboard
=
new
ArrayList
<>();
// public List<EmployeeDashboardVO> getDashBoardData() throws MyTeamException {
List
<
Employee
>
allEmployees
=
employeeService
.
getActiveEmployees
();
// List<EmployeeDashboardVO> employeeDashboard = new ArrayList<>();
List
<
ResourceVO
>
resources
=
resourceService
.
getAllResourcesVO
();
// List<Employee> allEmployees = employeeService.getActiveEmployees();
// List<ResourceVO> resources = resourceService.getAllResourcesVO();
for
(
Employee
employee:
allEmployees
){
//
EmployeeDashboardVO
employeeDashboardVO
=
new
EmployeeDashboardVO
();
// for (Employee employee:allEmployees){
BeanUtils
.
copyProperties
(
employee
,
employeeDashboardVO
);
// EmployeeDashboardVO employeeDashboardVO = new EmployeeDashboardVO();
employeeDashboard
.
add
(
employeeDashboardVO
);
// BeanUtils.copyProperties(employee, employeeDashboardVO);
}
// employeeDashboard.add(employeeDashboardVO);
// }
employeeDashboard
.
stream
().
forEach
(
emp
->
{
//
List
<
ResourceVO
>
latestResourceList
=
resources
.
stream
().
// employeeDashboard.stream().forEach(emp -> {
filter
(
res
->
(
res
.
getEmployeeId
().
equals
(
emp
.
getEmployeeId
())&&
res
.
getBillingEndDate
().
after
(
new
Date
()))).
collect
(
Collectors
.
toList
());
// List<ResourceVO> latestResourceList = resources.stream().
if
(!
latestResourceList
.
isEmpty
()){
// filter(res -> (res.getEmployeeId().equals(emp.getEmployeeId())&&res.getBillingEndDate().after(new Date()))).collect(Collectors.toList());
ResourceVO
latestResource
=
latestResourceList
.
get
(
0
);
// if(!latestResourceList.isEmpty()){
Project
resourceProject
=
projectService
.
getProjectByProjectId
(
latestResource
.
getProjectId
());
// ResourceVO latestResource = latestResourceList.get(0);
if
(!
resourceProject
.
getStatus
().
equals
(
"Completed"
)){
// Project resourceProject = projectService.getProjectByProjectId(latestResource.getProjectId());
emp
.
setProjectId
(
resourceProject
.
getProjectId
());
// if(!resourceProject.getStatus().equals("Completed")){
emp
.
setProjectName
(
resourceProject
.
getProjectName
());
// emp.setProjectId(resourceProject.getProjectId());
emp
.
setBillingStartDate
(
latestResource
.
getBillingStartDate
());
// emp.setProjectName(resourceProject.getProjectName());
emp
.
setBillingEndDate
(
latestResource
.
getBillingEndDate
());
// emp.setBillingStartDate(latestResource.getBillingStartDate());
Domain
domain
=
domainService
.
getDomainById
(
resourceProject
.
getDomainId
());
// emp.setBillingEndDate(latestResource.getBillingEndDate());
Account
account
=
accountService
.
getAccountById
(
resourceProject
.
getAccountId
());
// Domain domain = domainService.getDomainById(resourceProject.getDomainId());
emp
.
setAccountName
(
account
.
getAccountName
());
// Account account = accountService.getAccountById(resourceProject.getAccountId());
emp
.
setDomain
(
domain
.
getDomainName
());
// emp.setAccountName(account.getAccountName());
}
// emp.setDomain(domain.getDomainName());
}
// }
});
// }
return
employeeDashboard
;
// });
}
// return employeeDashboard;
}
// }
@Override
public
List
<
EmployeeDashboardVO
>
getDashBoardData
()
throws
MyTeamException
{
List
<
EmployeeDashboardVO
>
employeeDashboard
=
new
ArrayList
<>();
List
<
Employee
>
allEmployees
=
employeeService
.
getActiveEmployees
();
List
<
ResourceVO
>
resources
=
resourceService
.
getAllResourcesVO
();
for
(
Employee
employee:
allEmployees
){
EmployeeDashboardVO
employeeDashboardVO
=
new
EmployeeDashboardVO
();
BeanUtils
.
copyProperties
(
employee
,
employeeDashboardVO
);
employeeDashboard
.
add
(
employeeDashboardVO
);
}
employeeDashboard
.
stream
().
forEach
(
emp
->
{
Resource
resource
=
resourceService
.
getLatestResourceByEmpId
(
emp
.
getEmployeeId
());
Project
resourceProject
=
projectService
.
getProjectByProjectId
(
resource
.
getProjectId
());
if
(!
resourceProject
.
getStatus
().
equals
(
"Completed"
)){
emp
.
setProjectId
(
resourceProject
.
getProjectId
());
emp
.
setProjectName
(
resourceProject
.
getProjectName
());
emp
.
setBillingStartDate
(
resource
.
getBillingStartDate
());
emp
.
setBillingEndDate
(
resource
.
getBillingEndDate
());
Domain
domain
=
domainService
.
getDomainById
(
resourceProject
.
getDomainId
());
Account
account
=
accountService
.
getAccountById
(
resourceProject
.
getAccountId
());
emp
.
setAccountName
(
account
.
getAccountName
());
emp
.
setDomain
(
domain
.
getDomainName
());
}
});
return
employeeDashboard
;
}
}
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