Commit e09a1938 authored by mduppanapudi-nisum-com's avatar mduppanapudi-nisum-com Committed by rbonthala-nisum-com

integration issue (#78)

parent c99aa775
......@@ -39,5 +39,6 @@ public class Project implements Serializable {
private List<String> managerIds;
private String accountId;
private String domainId;
private List<String> deliveryLeadIds;
}
......@@ -107,6 +107,7 @@ public class ProjectServiceImpl implements ProjectService {
*/
List<HashMap<Object, Object>> projectList = new ArrayList<>();
List<HashMap<String, String>> EmployeeList = null;
List<HashMap<String, String>> managerList = null;
List<Project> projects=projectRepo.findAll();
for (Project p : projects) {
HashMap<Object, Object> projectMap = new HashMap<>();
......@@ -123,15 +124,22 @@ public class ProjectServiceImpl implements ProjectService {
projectMap.put("domainId", p.getDomainId());
projectMap.put("status", p.getStatus());
projectMap.put("employeeIds", p.getEmployeeIds());
// projectMap.put("deliveryLeadIds", p.getDeliveryLeadIds());
/*if (p.getManagerIds() == null && p.getManagerId() != null) {
EmployeeList = getEmployeeData(Arrays.asList(p.getManagerId()));
} else*/ if (p.getManagerIds() != null) {
} else*/ if (p.getDeliveryLeadIds() != null) {
List<String> managerIds = p.getManagerIds();
EmployeeList = getEmployeeData(managerIds);
List<String> deliverLeadsId = p.getDeliveryLeadIds();
EmployeeList = getEmployeeData(deliverLeadsId);
projectMap.put("deliveryLeadIds", EmployeeList);
}
if (p.getManagerIds() != null) {
List<String> managerid = p.getManagerIds();
managerList = getEmployeeData(managerid);
projectMap.put("managerIds", managerList);
}
projectMap.put("managerIds", EmployeeList);
projectList.add(projectMap);
}
return projectList;
......@@ -147,6 +155,10 @@ public class ProjectServiceImpl implements ProjectService {
domain.setDeliveryManagers(project.getManagerIds());
domain.setStatus(project.getStatus());
domainController.addDomain(domain);
List<Domains> domainsList=domainRepo.findByAccountId(project.getAccountId());
Domains savedDomain=domainsList.get(0);
project.setDomainId(savedDomain.getDomainId());
project.setDomain(savedDomain.getDomainName());
}
return projectRepo.save(project);
}
......@@ -173,10 +185,14 @@ public class ProjectServiceImpl implements ProjectService {
Criteria.where("projectId").is(project.getProjectId()));
Update update = new Update();
update.set("projectName", project.getProjectName());
if(project.getManagerIds()!= null)
if(project.getDeliveryLeadIds()!=null)
{
update.set("deliveryLeadIds", project.getDeliveryLeadIds());
}
/* if(project.getManagerIds()!= null)
{
update.set("managerIds", project.getManagerIds());
}/*else{
}*//*else{
update.set("managerIds",Arrays.asList(project.getManagerId()));
}*/
update.set("accountId", project.getAccountId());
......@@ -237,7 +253,11 @@ public class ProjectServiceImpl implements ProjectService {
throws MyTimeException {
if (projectTeamMate.getRole() != null && projectTeamMate.getRole().equals("Lead")) {
Project project = projectRepo.findByProjectId(projectTeamMate.getProjectId());
//project.getManagerIds().add(projectTeamMate.getEmployeeId());
if(project.getManagerIds()!=null)
project.getManagerIds().add(projectTeamMate.getEmployeeId());
else
project.setManagerIds(Arrays.asList(projectTeamMate.getEmployeeId()));
projectRepo.save(project);
}
updateProjectEndDateInProjectTeamMate(projectTeamMate);
......
......@@ -37,7 +37,7 @@ myApp.controller("projectController", function ($scope, myFactory, exportUiGridS
{ field: 'projectName', displayName: 'Project ', enableColumnMenu: false, enableSorting: true, enableFiltering: true },
{ field: 'account', displayName: 'Account ', enableColumnMenu: false, enableSorting: true, enableFiltering: true },
//{field : 'managerId',displayName: 'Manager ID ', enableColumnMenu: false, enableSorting: false},
{ field: 'managerIds', displayName: 'Manager Name ', cellTemplate: '<div ng-repeat= "item in row.entity[col.field]">{{item.employeeName}}<span ng-hide="$last">,</span></div>', enableColumnMenu: false, enableSorting: true, enableFiltering: true },
{ field: 'managerIds', displayName: 'Delivery Lead / Lead ', cellTemplate: '<div ng-repeat= "item in row.entity[col.field]">{{item.employeeName}}<span ng-hide="$last">,</span></div>', enableColumnMenu: false, enableSorting: true, enableFiltering: true },
{ field: 'status', displayName: 'Status ', enableColumnMenu: false, enableSorting: true, enableFiltering: false },
{ name: 'Actions', displayName: 'Actions', cellTemplate: getCellTemplate, enableColumnMenu: false, enableSorting: false, enableFiltering: false, width: 130 }
]
......@@ -54,6 +54,7 @@ myApp.controller("projectController", function ($scope, myFactory, exportUiGridS
$scope.parentData.status = row.entity.status;
$scope.parentData.accountId = row.entity.accountId;
$scope.parentData.domainId = row.entity.domainId;
$scope.parentData.deliveryLeadIds = row.entity.deliveryLeadIds;
if (action == "Update")
$scope.addProject(action, $scope.parentData);
else if (action == "Delete")
......@@ -67,6 +68,9 @@ myApp.controller("projectController", function ($scope, myFactory, exportUiGridS
$scope.getProjects();
$scope.getManagerDetails();
}
getLeads = function(){
}
$scope.getProjects = function () {
$http({
......@@ -273,7 +277,7 @@ myApp.controller("projectController", function ($scope, myFactory, exportUiGridS
$scope.billableStatuses = ["Billable","Shadow","Non-Billable","Reserved"];
$scope.accounts=myFactory.getAccounts();
$scope.selectedTab = 0;
$scope.managersSelectedList = [];
$scope.deliveryLeadsSelectedList = [];
$scope.employeeInTeam = [];
$scope.employeeRoles = ["Lead","Employee"];
$scope.accountId = dataToPass.accountId;
......@@ -331,7 +335,7 @@ myApp.controller("projectController", function ($scope, myFactory, exportUiGridS
// code added
$scope.clearSearchTerm = function () {
console.log($scope.managersSelectedList);
console.log($scope.deliveryLeadsSelectedList);
// $("#lead .lead-search .md-select-value span .md-text").css({
//  'border': '1px solid #000',
......@@ -341,24 +345,24 @@ myApp.controller("projectController", function ($scope, myFactory, exportUiGridS
}
// $scope.removeSelectedLead = function (item) {
// var index = $scope.managersSelectedList.indexOf(item);
// $scope.managersSelectedList.splice(index, 1);
// var index = $scope.deliveryLeadsSelectedList.indexOf(item);
// $scope.deliveryLeadsSelectedList.splice(index, 1);
// }
$scope.closeSelectBox = function () {
$mdSelect.hide();
}
getSelectedLead = function () {
var managerIds = [];
if($scope.managersSelectedList.name){
managerIds.push($scope.managersSelectedList.id)
getSelectedDeliveryLeadIds = function () {
var deliveryLeadIds = [];
if($scope.deliveryLeadsSelectedList.name){
managerIds.push($scope.deliveryLeadsSelectedList.id)
}
else{
managerIds.push($scope.managersSelectedList.employeeId)
deliveryLeadIds.push($scope.deliveryLeadsSelectedList.employeeId)
}
return managerIds;
return deliveryLeadIds;
}
......@@ -395,8 +399,7 @@ myApp.controller("projectController", function ($scope, myFactory, exportUiGridS
}
console.log(dataToPass.managerIds[0]);
$scope.managersSelectedList = dataToPass.managerIds[0];
$scope.deliveryLeadsSelectedList = dataToPass.deliveryLeadIds[0];
$scope.domain = {"domainName":dataToPass.domain,"domainId":dataToPass.domainId};
$scope.projectStatus = dataToPass.status;
$scope.managerModel = {
......@@ -582,37 +585,30 @@ myApp.controller("projectController", function ($scope, myFactory, exportUiGridS
$scope.getAccountText = function () {
if ($scope.account !== undefined) {
getDomainsAssoicatedToAccount($scope.account.accountId);
return $scope.account.accountName;
} else {
return "Please select account";
}
};
$scope.onAccountChange = function(){
if($scope.account.accountId){
getDomainsAssoicatedToAccount($scope.account.accountId);
}
};
$scope.getDomainText = function () {
console.log($scope.domain,$scope.domains);
if ($scope.domain !== undefined) {
return $scope.domain.domainName;
} else {
return "Please select domain";
}
};
$scope.onDomainChange = function(){
if($scope.domain != undefined){
if($scope.domain.domainId !== undefined){
if($scope.domain.domainId != undefined){
getManagersAssociatedToDomain($scope.domain.domainId);
}
else{
$scope.managerDetails = managers;
}
return $scope.domain.domainName;
}
else{
$scope.managerDetails = managers;
return "Please select domain";
}
};
function getManagersAssociatedToDomain(id){
$http({
method : "GET",
......@@ -679,11 +675,11 @@ myApp.controller("projectController", function ($scope, myFactory, exportUiGridS
}
return false;
}
$scope.getSelectedManager = function () {
if (Object.keys($scope.managersSelectedList).length > 0) {
return $scope.managersSelectedList.employeeName;
$scope.getSelectedDeliveryLead = function () {
if (Object.keys($scope.deliveryLeadsSelectedList).length > 0) {
return $scope.deliveryLeadsSelectedList.employeeName;
} else {
return "Please select a lead";
return "Please select a Delivery lead";
}
}
......@@ -771,7 +767,7 @@ myApp.controller("projectController", function ($scope, myFactory, exportUiGridS
else {
$scope.alertMsg = "";
console.log($scope.projectStatus,$scope.domain.domainId);
var record = { "projectId": $scope.projectId, "projectName": $scope.projectName,"account": $scope.account.accountName, "domain": $scope.domain.domainName, "accountId":$scope.account.accountId, "domainId": $scope.domain.domainId, "managerIds": getSelectedLead(), "status": $scope.projectStatus};
var record = { "projectId": $scope.projectId, "projectName": $scope.projectName,"account": $scope.account.accountName, "domain": $scope.domain.domainName, "accountId":$scope.account.accountId, "domainId": $scope.domain.domainId, "managerIds": [], "deliveryLeadIds":getSelectedDeliveryLeadIds(), "status": $scope.projectStatus};
console.log(record);
addOrUpdateProject(record, $scope.templateTitle);
$timeout(function () { updateGrid($scope.templateTitle, record) }, 500);
......
......@@ -37,7 +37,7 @@
<b>Account</b>
</td>
<td colspan="8">
<md-select ng-model="account" md-selected-text="getAccountText()" ng-change="onAccountChange()" id="account">
<md-select ng-model="account" md-selected-text="getAccountText()" id="account">
<md-optgroup label="account">
<md-option ng-value="account1" ng-repeat="account1 in accounts">{{account1.accountName}}</md-option>
</md-optgroup>
......@@ -50,7 +50,7 @@
<b>Domain</b>
</td>
<td colspan="8">
<md-select ng-model="domain" md-selected-text="getDomainText()" ng-change="onDomainChange()" id="domain">
<md-select ng-model="domain" md-selected-text="getDomainText()" id="domain">
<md-optgroup label="domain">
<md-option ng-value="domain" ng-repeat="domain in domains">{{domain.domainName}}</md-option>
</md-optgroup>
......@@ -59,11 +59,11 @@
</tr>
<tr>
<td colspan="4">
<b>Lead</b>
<b>Delivery Lead</b>
</td>
<td colspan="8">
<div style="display: block; float: left; width: 100%;">
<md-select ng-model="managersSelectedList" data-md-container-class="selectHeader" md-selected-text="getSelectedManager()" >
<md-select ng-model="deliveryLeadsSelectedList" data-md-container-class="selectHeader" md-selected-text="getSelectedDeliveryLead()" >
<md-select-header class="selectHeaderChild header-spacing" layout="column">
<input ng-model="searchTerm" type="search" ng-keydown="updateSearch($event)" ng-model-options="{debounce: {'default': 500, 'blur': 0}}"
placeholder="Please Search for a lead" class="searchBoxHeader demo-header-searchbox md-text search-spacingleft" />
......
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