Commit 39abe4d2 authored by Rajashekar jadala's avatar Rajashekar jadala Committed by rbonthala-nisum-com

MT-80_employee_role_active_status (#36)

parent 5e0fcd53
......@@ -22,11 +22,8 @@ public class RoleMappingInfo implements Serializable {
@Id
private ObjectId id;
String employeeId;
String roleID;
// String active;
// String accountId;
// String domainId;
// String projectId;
private String employeeId;
private String roleId;
private String isActive;
}
package com.nisum.mytime.repository;
import org.springframework.data.mongodb.repository.MongoRepository;
import org.springframework.data.mongodb.repository.Query;
import com.nisum.mytime.model.RoleMappingInfo;
public interface RoleMappingInfoRepo extends MongoRepository<RoleMappingInfo, String> {
@Query("{'employeeId':?0},{'roleId':?1}")
RoleMappingInfo findByEmployeeIdAndRoleId(String employeeId, String roleId);
}
\ No newline at end of file
package com.nisum.mytime.service;
import java.util.List;
import com.nisum.mytime.exception.handler.MyTimeException;
import com.nisum.mytime.model.RoleMappingInfo;
public interface RoleMappingService {
void saveUniqueEmployeeAndRole(String employeeId, String roleId) throws MyTimeException;
RoleMappingInfo updateEmployeeRoleInfo(RoleMappingInfo roleMappingInfo) throws MyTimeException;
RoleMappingInfo getEmployeeAssignedRole() throws MyTimeException;
void saveUniqueEmployeeAndRole(List<String> employeeIds, String roleId, String status) throws MyTimeException;
}
package com.nisum.mytime.service;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
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 com.mongodb.WriteResult;
import com.nisum.mytime.exception.handler.MyTimeException;
import com.nisum.mytime.model.RoleMappingInfo;
import com.nisum.mytime.repository.RoleMappingInfoRepo;
import com.nisum.mytime.utils.MyTimeUtils;
@Service
public class RoleMappingServiceImpl implements RoleMappingService {
......@@ -13,29 +21,32 @@ public class RoleMappingServiceImpl implements RoleMappingService {
@Autowired
private RoleMappingInfoRepo roleMappingInfoRepo;
@Autowired
private MongoTemplate mongoTemplate;
@Override
public void saveUniqueEmployeeAndRole(String employeeId, String roleId) throws MyTimeException {
RoleMappingInfo roleMappingInfo;
public void saveUniqueEmployeeAndRole(List<String> employeeIds, String roleId, String status)
throws MyTimeException {
if (roleMappingInfoRepo.findByEmployeeIdAndRoleId(employeeId, roleId) == null) {
for (String employeeId : employeeIds) {
RoleMappingInfo roleMappingInfo = roleMappingInfoRepo.findByEmployeeIdAndRoleId(employeeId, roleId);
if (roleMappingInfo == null) {
roleMappingInfo = new RoleMappingInfo();
roleMappingInfo.setEmployeeId(employeeId);
roleMappingInfo.setRoleID(roleId);
roleMappingInfo = updateEmployeeRoleInfo(roleMappingInfo);
roleMappingInfo.setRoleId(roleId);
roleMappingInfo.setIsActive("Y");
} else if (roleMappingInfo.getIsActive().equalsIgnoreCase("N")) {
roleMappingInfo.setIsActive("Y");
}
}
@Override
public RoleMappingInfo updateEmployeeRoleInfo(RoleMappingInfo roleMappingInfo) throws MyTimeException {
roleMappingInfoRepo.save(roleMappingInfo);
return roleMappingInfo;
}
}
@Override
public RoleMappingInfo getEmployeeAssignedRole() {
return null;
public WriteResult deleteRole(String employeeId, String roleId) throws MyTimeException {
Query query = new Query(Criteria.where("employeeId").is(employeeId).and("roleId").is(roleId));
Update update = new Update();
update.set(MyTimeUtils.IS_ACTIVE, "N");
return mongoTemplate.upsert(query, update, RoleMappingInfo.class);
}
}
......@@ -35,7 +35,7 @@ public class MyTimeUtils {
public final static String SINGLE_QUOTE = "'";
public final static String ABESENT_QUERY = "SELECT * FROM EMPLOYEES WHERE EMPLOYEECODE NOT IN(";
public final static String ABESENT_QUERY1 = ") AND STATUS='Working' AND EMPLOYEECODE NOT LIKE 'del%' ";
public final static String ABESENT ="Absent";
public final static String ABESENT = "Absent";
public final static String EMAIL_ID = "emailId";
public final static String ACCOUNT_ID = "accountId";
......@@ -59,12 +59,18 @@ public class MyTimeUtils {
public final static String PROJECT_NAME = "projectName";
public final static String SET = "$set";
public final static int MINUS_ONE = -1;
public final static String FREE_POLL="Free Pool";
public final static String START_DATE="startDate";
public final static String FREE_POLL = "Free Pool";
public final static String START_DATE = "startDate";
// Domain Constants
public final static String DOM = "DOM";
public final static String DOMAIN_NAME = "domainName";
public final static String DOMAIN_ID = "domainId";
// Role Mapping Info
public static final String ACCOUNT = "Account Manager";
public static final String PROJECT = "Delivery Lead";
public static final String DOMAIN = "Delivery Manager";
public static final String IS_ACTIVE = "isActive";
//Domain Constants
public final static String DOM="DOM";
public final static String DOMAIN_NAME="domainName";
public final static String DOMAIN_ID="domainId";
//public final static String NAME="deliveryManagers";
}
\ No newline at end of file
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