blob: 5d8bf1bdb0a2114269d381253e00e039f2c0e73a [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
}