blob: 64ce827f72f8f9dad799ca4a8afc8707f710ccb4 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
import org.apache.ofbiz.entity.condition.*;
import org.apache.ofbiz.base.util.*;
taskStatusId = null;
reopenedStatusId = null;
backlogStatusId = parameters.backlogStatusId;
paraBacklogStatusId = backlogStatusId;
currentStatus = sprintStatus.currentStatusId;
projectSprintList = [];
if ("SPRINT_CLOSED".equals(currentStatus)) {
backlogStatusId = null;
} else {
if (backlogStatusId == "Any") {
backlogStatusId = null;
} else {
backlogStatusId = "CRQ_REVIEWED";
reopenedStatusId = "CRQ_REOPENED";
taskStatusId = "STS_CREATED";
}
}
orCurentExprs = [];
if (taskStatusId) {
orCurentExprs.add(EntityCondition.makeCondition("taskCurrentStatusId", EntityOperator.EQUALS, taskStatusId));
orCurentExprs.add(EntityCondition.makeCondition("taskCurrentStatusId", EntityOperator.EQUALS, "SPRINT_ACTIVE"));
}
orBacklogExprs = [];
if (backlogStatusId) {
orBacklogExprs.add(EntityCondition.makeCondition("backlogStatusId", EntityOperator.EQUALS, backlogStatusId));
}
if (reopenedStatusId) {
orBacklogExprs.add(EntityCondition.makeCondition("backlogStatusId", EntityOperator.EQUALS, reopenedStatusId));
}
andExprs = [];
if (parameters.projectId) {
andExprs.add(EntityCondition.makeCondition("projectId", EntityOperator.EQUALS, parameters.projectId));
} else {
andExprs.add(EntityCondition.makeCondition("projectId", EntityOperator.EQUALS, sprintStatus.workEffortParentId));
}
if (orBacklogExprs) {
andExprs.add(EntityCondition.makeCondition(orBacklogExprs, EntityOperator.OR));
}
if (orCurentExprs) {
andExprs.add(EntityCondition.makeCondition(orCurentExprs, EntityOperator.OR));
}
andExprs.add(EntityCondition.makeCondition("sprintId", EntityOperator.EQUALS, parameters.sprintId));
andExprs.add(EntityCondition.makeCondition("sprintTypeId", EntityOperator.EQUALS, "SCRUM_SPRINT"));
projectSprintCond = EntityCondition.makeCondition(andExprs, EntityOperator.AND);
projectSprintList = from("ProjectSprintBacklogAndTask").where(andExprs).orderBy("custSequenceNum","custRequestId","taskTypeId").queryList();
context.listIt = projectSprintList;
context.paraBacklogStatusId = paraBacklogStatusId;
//get backlog and task information
if (parameters.sprintId) {
//get total backlog size
completedBacklog = 0;
reviewedBacklog = 0;
totalbacklog = 0;
allTask = [];
sprintList = from("CustRequestWorkEffort").where("workEffortId", parameters.sprintId).queryList();
sprintList.each { sprintMap ->
custMap = sprintMap.getRelatedOne("CustRequest", false);
//if ("RF_PROD_BACKLOG".equals(custMap.custRequestTypeId)) {
totalbacklog += 1;
if ("CRQ_REVIEWED".equals(custMap.statusId)){
reviewedBacklog += 1;
} else {
completedBacklog += 1;
}
//get task
workEffortList = custMap.getRelated("CustRequestWorkEffort", null, null, false);
if (workEffortList) {
allTask.addAll(workEffortList);
}
//}
}
//get total task size
completedTask = 0;
createdTask = 0;
totalTask = 0;
if (allTask) {
allTask.each { taskMap ->
workEffMap = taskMap.getRelatedOne("WorkEffort", false);
if (!"SCRUM_SPRINT".equals(workEffMap.workEffortTypeId)) {
totalTask += 1;
if ("STS_CREATED".equals(workEffMap.currentStatusId)){
createdTask += 1;
} else {
completedTask += 1;
}
}
}
}
context.completedBacklog = completedBacklog;
context.reviewedBacklog = reviewedBacklog;
context.totalbacklog = totalbacklog;
context.completedTask = completedTask;
context.createdTask = createdTask;
context.totalTask = totalTask;
}