Commit 1dfa330c authored by Rajeshekar's avatar Rajeshekar

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

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