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