scheduler related changes

parent 7865ca77
......@@ -19,5 +19,7 @@ public class LoginDetailsVO {
private List<EmployeeLoginData> employeeLoginDataList;
private String avgHours;
private String orphanLogin;
private String functionalGroup;
private String deliverManager;
}
......@@ -25,7 +25,6 @@ import java.text.SimpleDateFormat;
import java.time.DayOfWeek;
import java.time.LocalDate;
import java.time.ZoneId;
import java.time.temporal.TemporalAdjusters;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
......@@ -79,6 +78,7 @@ public class EmployeeAVGHoursScheduler {
Date sunday = Date.from(lastWeekDay.with(DayOfWeek.SUNDAY).atStartOfDay(ZoneId.systemDefault()).toInstant());
List<Employee> activeEmpList = employeeService.getActiveEmployees();
List<LoginDetailsVO> hoursExemptEmployeeList = new ArrayList<>();
Map<String, String> employeeMangerMap = employeeService.getEmployeeManagers(activeEmpList);
activeEmpList.removeIf(e -> {
try {
Map<String, Object> obj = effectiveLoginTimeService.getEmployeesEffLoginData(new Long(e.getEmployeeId()), monday, sunday);
......@@ -90,6 +90,8 @@ public class EmployeeAVGHoursScheduler {
LoginDetailsVO loginDetailsVO = new LoginDetailsVO();
loginDetailsVO.setEmployeeId(e.getEmployeeId());
loginDetailsVO.setEmployeeName(e.getEmployeeName());
loginDetailsVO.setFunctionalGroup(e.getFunctionalGroup());
loginDetailsVO.setDeliverManager(employeeMangerMap.get(e.getEmployeeId()));
loginDetailsVO.setAvgHours((String) obj.get("averageTime"));
loginDetailsVO.setEffectiveLoginData((List<EffectiveLoginData>) obj.get("data"));
List<EffectiveLoginData> effectiveLoginDataList = (List<EffectiveLoginData>) obj.get("data");
......
package com.nisum.myteam.service;
import com.nisum.myteam.exception.handler.MyTeamException;
import com.nisum.myteam.model.FunctionalGroup;
import com.nisum.myteam.model.dao.Account;
import com.nisum.myteam.model.dao.Employee;
import org.springframework.stereotype.Service;
......@@ -9,10 +8,7 @@ import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.text.ParseException;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Set;
import java.util.*;
@Service
public interface IEmployeeService {
......@@ -68,5 +64,6 @@ public interface IEmployeeService {
Employee uploadProfile(String empId, MultipartFile file) throws MyTeamException, IOException;
byte[] getUploadFile(String empId);
public Map<String, String> getEmployeeManagers(List<Employee> employeeList) throws MyTeamException;
}
package com.nisum.myteam.service.impl;
import com.nisum.myteam.exception.handler.MyTeamException;
import com.nisum.myteam.model.FunctionalGroup;
import com.nisum.myteam.model.dao.Account;
import com.nisum.myteam.model.dao.Domain;
import com.nisum.myteam.model.dao.Employee;
import com.nisum.myteam.model.dao.EmployeeSubStatus;
import com.nisum.myteam.model.dao.*;
import com.nisum.myteam.repository.EmployeeRepo;
import com.nisum.myteam.service.*;
import com.nisum.myteam.utils.MyTeamUtils;
......@@ -22,9 +18,9 @@ import org.springframework.data.mongodb.core.query.Query;
import org.springframework.data.mongodb.core.query.Update;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import javax.transaction.Transactional;
import java.io.IOException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
......@@ -520,4 +516,17 @@ public class EmployeeService implements IEmployeeService {
return emp.getUpdateProfile();
}
@Override
public Map<String, String> getEmployeeManagers(List<Employee> employeeList) {
Map<String, String> employeeManager = new HashMap<>();
Map<String, String> employeeNameMap = getAllEmployees().stream().distinct().collect(Collectors.toMap(e -> e.getEmployeeId(), e -> e.getEmployeeName()));
employeeList.stream().forEach(employee -> {
Resource resource = resourceService.getLatestResourceByEmpId(employee.getEmployeeId());
Project project = projectService.getProjectByProjectId(resource.getProjectId());
employeeManager.put(employee.getEmployeeId(), project.getDeliveryLeadIds().stream().map(n -> employeeNameMap.get(n)).collect(Collectors.joining()));
}
);
return employeeManager;
}
}
......@@ -193,6 +193,10 @@ public class MailService implements IMailService {
exemptEmployeeRowsData.append("</td><td style = \"padding: 10px;\">");
exemptEmployeeRowsData.append(e.getAvgHours());
exemptEmployeeRowsData.append("</td><td style = \"padding: 10px;\">");
exemptEmployeeRowsData.append(e.getFunctionalGroup());
exemptEmployeeRowsData.append("</td><td style = \"padding: 10px;\">");
exemptEmployeeRowsData.append(e.getDeliverManager());
exemptEmployeeRowsData.append("</td><td style = \"padding: 10px;\">");
exemptEmployeeRowsData.append(e.getOrphanLogin());
exemptEmployeeRowsData.append("</td>");
});
......
......@@ -24,7 +24,7 @@ myteam.localFile.directory=/home/nisum/Documents/
spring.mail.host=smtp.gmail.com
spring.mail.port=587
spring.mail.username=mytime.nisum@gmail.com
spring.mail.password=nisum@123
spring.mail.password=nisummyteam@123
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
spring.mail.properties.mail.smtp.starttls.required=true
......
......@@ -45,7 +45,7 @@ table#alter th {
</tr>
<tr>
<td ><table align = "center" id="alter">
<tr><th style = "padding: 10px;">Employee ID </th><th style = "padding: 10px;">Employee Name</th><th style = "padding: 10px;">Avg. Hours</th><th style = "padding: 10px;">Orphan Login Hours</th></tr>
<tr><th style = "padding: 10px;">Employee ID </th><th style = "padding: 10px;">Employee Name</th><th style = "padding: 10px;">Avg. Hours</th><th style = "padding: 10px;">Functional Group</th><th style = "padding: 10px;">Delivery Manager(s)</th><th style = "padding: 10px;">Orphan Login Hours</th></tr>
employeeList
</table> </td>
</tr>
......
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