Commit 1dfa330c authored by Rajeshekar's avatar Rajeshekar

MT-50: Fixed the flow in saving record from excel.

parent d19eb1de
...@@ -3,15 +3,9 @@ ...@@ -3,15 +3,9 @@
*/ */
package com.nisum.mytime.service; package com.nisum.mytime.service;
import java.util.Date;
import java.util.List; import java.util.List;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.FindAndModifyOptions;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
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;
...@@ -45,7 +39,7 @@ public class VisaServiceImpl implements VisaService { ...@@ -45,7 +39,7 @@ public class VisaServiceImpl implements VisaService {
private EmployeeVisaRepo employeeVisaRepo; private EmployeeVisaRepo employeeVisaRepo;
@Autowired @Autowired
private MongoTemplate mongoTemplate; private UserService userService;
@Override @Override
public List<Visa> getAllVisas() { public List<Visa> getAllVisas() {
...@@ -93,61 +87,80 @@ public class VisaServiceImpl implements VisaService { ...@@ -93,61 +87,80 @@ public class VisaServiceImpl implements VisaService {
} }
@Override @Override
public String exportDataFromExcelFile(MultipartFile file) throws MyTimeException { public String exportDataFromExcelFile(MultipartFile file)
throws MyTimeException {
String result = "Failure"; String result = "Failure";
int counter = 0; int counter = 0;
try { try {
List<EmployeeRoles> employees = Poiji.fromExcel(file.getInputStream(), PoijiExcelType.XLS, List<EmployeeRoles> employees = Poiji.fromExcel(
file.getInputStream(), PoijiExcelType.XLS,
EmployeeRoles.class); EmployeeRoles.class);
if (!employees.isEmpty()) { if (!employees.isEmpty()) {
for(EmployeeRoles employee: employees){ for (EmployeeRoles employee : employees) {
if(null != employee.getEmployeeId()) if (null != employee.getEmployeeId())
findAndModifyEmployeeRole(employee); findAndModifyEmployeeRole(employee);
else else
counter++; counter++;
} }
if(counter == 0){ if (counter == 0) {
result = "Success"; result = "Success";
log.info("Exported {} employee records from file: {}", employees.size(), file.getOriginalFilename()); log.info("Exported {} employee records from file: {}",
}else{ employees.size(), file.getOriginalFilename());
log.info("Uploaded file: {}, does not contain valid employee records", file.getOriginalFilename()); } else {
log.info(
"Uploaded file: {}, does not contain valid employee records",
file.getOriginalFilename());
} }
} }
} catch (Exception e) { } catch (Exception e) {
log.error("Exception occured while exporting the data from excel file due to: {}", e); log.error(
"Exception occured while exporting the data from excel file due to: {}",
e);
throw new MyTimeException(""); throw new MyTimeException("");
} }
return result; return result;
} }
private void findAndModifyEmployeeRole(EmployeeRoles employee) { private void findAndModifyEmployeeRole(EmployeeRoles employee) {
Query query = new Query(Criteria.where("employeeId").is(employee.getEmployeeId())) /*
.addCriteria(Criteria.where("emailId").is(employee.getEmailId())); * Query query = new
Update update = new Update(); * Query(Criteria.where("employeeId").is(employee.getEmployeeId()))
update.set("employeeId", employee.getEmployeeId()); * .addCriteria(Criteria.where("emailId").is(employee.getEmailId()));
update.set("employeeName", employee.getEmployeeName()); * Update update = new Update(); update.set("employeeId",
update.set("emailId", employee.getEmailId()); * employee.getEmployeeId()); update.set("employeeName",
update.set("role", employee.getRole()); * employee.getEmployeeName()); update.set("emailId",
update.set("functionalGroup", employee.getFunctionalGroup()); * employee.getEmailId()); update.set("role", employee.getRole());
update.set("empStatus", employee.getEmpStatus()); * update.set("functionalGroup", employee.getFunctionalGroup());
update.set("employmentType", employee.getEmploymentType()); * update.set("empStatus", employee.getEmpStatus());
update.set("empLocation", employee.getEmpLocation()); * update.set("employmentType", employee.getEmploymentType());
update.set("domain", employee.getDomain()); * update.set("empLocation", employee.getEmpLocation());
update.set("designation", employee.getDesignation()); * update.set("domain", employee.getDomain()); update.set("designation",
update.set("dateOfBirth", employee.getDateOfBirth()); * employee.getDesignation()); update.set("dateOfBirth",
update.set("dateOfJoining", employee.getDateOfJoining()); * employee.getDateOfBirth()); update.set("dateOfJoining",
update.set("shift", employee.getShift()); * employee.getDateOfJoining()); update.set("shift",
update.set("baseTechnology", employee.getBaseTechnology()); * employee.getShift()); update.set("baseTechnology",
update.set("technologyKnown", employee.getTechnologyKnown()); * employee.getBaseTechnology()); update.set("technologyKnown",
update.set("mobileNumber", employee.getMobileNumber()); * employee.getTechnologyKnown()); update.set("mobileNumber",
update.set("alternateMobileNumber", employee.getAlternateMobileNumber()); * employee.getMobileNumber()); update.set("alternateMobileNumber",
update.set("personalEmailId", employee.getPersonalEmailId()); * employee.getAlternateMobileNumber()); update.set("personalEmailId",
update.set("createdOn", new Date()); * employee.getPersonalEmailId()); update.set("createdOn", new Date());
update.set("lastModifiedOn", new Date()); * update.set("lastModifiedOn", new Date()); FindAndModifyOptions
FindAndModifyOptions options = new FindAndModifyOptions(); * options = new FindAndModifyOptions(); options.returnNew(true);
options.returnNew(true); * options.upsert(true); mongoTemplate.findAndModify(query, update,
options.upsert(true); * options, EmployeeRoles.class);
mongoTemplate.findAndModify(query, update, options, EmployeeRoles.class); * log.info("Inserted Employee record with Id: {}",
log.info("Inserted Employee record with Id: {}", employee.getEmployeeId()); * employee.getEmployeeId());
*/
EmployeeRoles emp = userService
.getEmployeesRoleData(employee.getEmployeeId());
if (emp == null) {
try {
userService.assigingEmployeeRole(employee);
} catch (MyTimeException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
} }
} }
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