pie chart related changes

parent d07ece5c
......@@ -7,6 +7,7 @@ import com.nisum.myteam.model.dao.Employee;
import org.springframework.stereotype.Service;
import java.text.ParseException;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Set;
......@@ -56,7 +57,7 @@ public interface IEmployeeService {
public List<Employee> getEmployeesByEmpStatusAndShift(String empStatus, String shift);
public List<Employee> getAllEmployeeListByFunGrps(List<String> functionalGroupList);
public List<Employee> getAllEmployeeListByFunGrps(List<String> functionalGroupList, Date onDate);
public List<Employee> getEmployeesByDesignation(String designation);
......
......@@ -484,10 +484,15 @@ public class EmployeeService implements IEmployeeService {
return employeeRepo.findByEmployeeId(employeeId);
}
public List<Employee> getAllEmployeeListByFunGrps(List<String> functionalGroupList){
public List<Employee> getAllEmployeeListByFunGrps(List<String> functionalGroupList, Date onDate){
Query query = new Query(Criteria.where("functionalGroup").in(functionalGroupList));
List<Employee> employeePersistedList = mongoTemplate.find(query, Employee.class);
employeePersistedList.removeIf(e -> !filterEmployeesByDate(onDate, e));
return employeePersistedList;
}
private boolean filterEmployeesByDate(Date onDate, Employee e) {
return onDate.after(e.getDateOfJoining()) && Optional.ofNullable(e.getEndDate()).isPresent() ? onDate.before(e.getEndDate()):true;
}
}
......@@ -65,7 +65,8 @@ public class ReportService implements IReportService {
float nonBillPer;
List<Employee> employeeList = new ArrayList<>();
if(byType.equals("AllFunctionalOrgs")) {
employeeList = getEmployeesByFunctionalGroup(category);
employeeList = getEmployeesByFunctionalGroup(category,onDate);
} else if(byType.equals("Account")){
employeeList = getEmployeeByAccounts(category,onDate);
}
......@@ -110,8 +111,10 @@ public class ReportService implements IReportService {
return empList;
}
private List<Employee> getEmployeesByFunctionalGroup(String functionalGroup){
return employeeService.getEmployeesByFunctionalGrp(functionalGroup);
private List<Employee> getEmployeesByFunctionalGroup(String functionalGroup,Date onDate){
List<Employee> employeeList= employeeService.getEmployeesByFunctionalGrp(functionalGroup);
employeeList.removeIf(e -> !filterEmployeesByDate(onDate, e));
return employeeList;
}
private List<Employee> getEmployeeByAccounts(String accountName,Date onDate){
......@@ -126,7 +129,7 @@ public class ReportService implements IReportService {
employeeList.add(employeeService.getEmployeeById(r.getEmployeeId()));
});
});
employeeList.removeIf(e -> !filterEmployeesByDate(onDate, e));
return employeeList;
}
......@@ -134,6 +137,7 @@ public class ReportService implements IReportService {
public List<Reports> getEmployeeDetailsByFGAndBillability(String fGroup, String billableStatus,Date onDate)
throws MyTeamException {
List<Employee> employeesByFG=employeeService.getEmployeesByFunctionalGrp(fGroup);
employeesByFG.removeIf(e -> !filterEmployeesByDate(onDate, e));
return resultantEmployeeWithBillability(employeesByFG,billableStatus,onDate);
}
......@@ -152,13 +156,13 @@ public class ReportService implements IReportService {
@Override
public ReportVo getPieChartReport(String byType, Date onDate) throws MyTeamException {
List<Employee> employeeList = employeeService.getAllEmployeeListByFunGrps(functionalGroupService.getAllBillableFunctionalGroups().stream().collect(Collectors.mapping(FunctionalGroup::getName, Collectors.toList())));
List<Employee> employeeList = employeeService.getAllEmployeeListByFunGrps(functionalGroupService.getAllBillableFunctionalGroups().stream().collect(Collectors.mapping(FunctionalGroup::getName, Collectors.toList())), onDate);
return preparePieChartData(byType, onDate, employeeList);
}
@Override
public List<Reports> getEmployeeDetailsByBillabilityType(String billabilityType, Date onDate) throws MyTeamException {
List<Employee> employeeList = employeeService.getAllEmployeeListByFunGrps(functionalGroupService.getAllBillableFunctionalGroups().stream().collect(Collectors.mapping(FunctionalGroup::getName, Collectors.toList())));
List<Employee> employeeList = employeeService.getAllEmployeeListByFunGrps(functionalGroupService.getAllBillableFunctionalGroups().stream().collect(Collectors.mapping(FunctionalGroup::getName, Collectors.toList())), onDate);
return resultantEmployeeWithBillability(employeeList, billabilityType, onDate);
}
......@@ -256,4 +260,8 @@ public class ReportService implements IReportService {
reportVo.getSeriesDataList().add(traineeObj);
return reportVo;
}
private boolean filterEmployeesByDate(Date onDate, Employee e) {
//System.out.println(e.getEndDate() + " : Empty Value : "+ Optional.ofNullable(e.getEndDate()).isPresent()+ " Emp "+e);
return onDate.after(e.getDateOfJoining()) && Optional.ofNullable(e.getEndDate()).isPresent() ? onDate.before(e.getEndDate()):true;
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment