scheduler related changes

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