blob: 514b7fc0e5a35d3d86db7f270bea3afd392ccd2c [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 java.util.*
import java.lang.*
import org.apache.tools.ant.taskdefs.Parallel.TaskList
import org.apache.ofbiz.base.util.*
import org.apache.ofbiz.entity.*
import org.apache.ofbiz.base.util.UtilMisc
import org.apache.ofbiz.base.util.UtilValidate
import org.apache.ofbiz.base.util.UtilDateTime
import org.apache.ofbiz.entity.util.*
import org.apache.ofbiz.entity.condition.*
import java.sql.Timestamp
partyId = userLogin.partyId
taskUnplanList = []
taskPlanList = []
taskPartyList = []
taskListDropdown = []
//${projectId} - ${projectName} - ${sprintName} - ${groovy:description.substring(0,Math.min(description.length(),30))}[${custRequestId}] - ${groovy:taskName.substring(0,Math.min(taskName.length(),20))}[${taskId}]"/>
taskUnplanList = from("ProjectSprintBacklogTaskAndParty").where("partyId", partyId,"taskCurrentStatusId", "STS_CREATED","custRequestTypeId","RF_UNPLAN_BACKLOG").orderBy("taskTypeId").queryList()
taskUnplanList.each { taskUnplanMap ->
unplanMap=[:]
custRequestId = taskUnplanMap.custRequestId
productlist = from("CustRequestItem").where("custRequestId", custRequestId).orderBy("productId").queryList()
productlist.each { productMap ->
productId = productMap.productId
product = from("Product").where("productId", productId).queryOne()
productName = product.internalName
unplanMap.taskId = taskUnplanMap.taskId
unplanMap.taskName = taskUnplanMap.taskName
unplanMap.projectId = taskUnplanMap.projectId
unplanMap.projectName = taskUnplanMap.projectName
unplanMap.sprintId = taskUnplanMap.sprintId
unplanMap.sprintName = taskUnplanMap.sprintName
unplanMap.custRequestId = custRequestId
unplanMap.description = taskUnplanMap.description
unplanMap.productId = productId
unplanMap.productName = productName
}
taskPartyList.add(taskUnplanMap)
taskListDropdown.add(unplanMap)
}
exprBldr = []
exprBldr.add(EntityCondition.makeCondition("custRequestTypeId", EntityOperator.EQUALS, "RF_PROD_BACKLOG"))
exprBldr.add(EntityCondition.makeCondition("custRequestTypeId", EntityOperator.EQUALS, "RF_SCRUM_MEETINGS"))
andExprs = []
andExprs.add(EntityCondition.makeCondition("taskCurrentStatusId", EntityOperator.EQUALS, "STS_CREATED"))
andExprs.add(EntityCondition.makeCondition("partyId", EntityOperator.EQUALS, partyId))
andExprs.add(EntityCondition.makeCondition(exprBldr, EntityOperator.OR))
custRequestTypeCond = EntityCondition.makeCondition(andExprs, EntityOperator.AND)
taskPlanList = from("ProjectSprintBacklogTaskAndParty").where(custRequestTypeCond).orderBy("taskTypeId","projectId","sprintId").queryList()
taskPlanList.each { taskPlanMap ->
planMap=[:]
if ("RF_SCRUM_MEETINGS".equals(taskPlanMap.custRequestTypeId)) {
workEffPartyAssignedList = from("WorkEffortPartyAssignment").where("partyId", partyId, "workEffortId", taskPlanMap.taskId).queryList()
workEffPartyAssignedMap = workEffPartyAssignedList[0]
if (!"SCAS_COMPLETED".equals(workEffPartyAssignedMap.statusId)) {
taskPartyList.add(taskPlanMap)
taskListDropdown.add(taskPlanMap)
}
} else {
if (taskPlanMap.projectId) {
taskPartyList.add(taskPlanMap)
taskListDropdown.add(taskPlanMap)
} else {
custRequestId = taskPlanMap.custRequestId
productlist = from("CustRequestItem").where("custRequestId", custRequestId).orderBy("productId").queryList()
product = from("Product").where("productId", productlist[0].productId).queryOne()
productName = product.internalName
planMap.taskId = taskPlanMap.taskId
planMap.taskTypeId = taskPlanMap.taskTypeId
planMap.taskName = taskPlanMap.taskName
planMap.projectId = taskPlanMap.projectId
planMap.projectName = taskPlanMap.projectName
planMap.sprintId = taskPlanMap.sprintId
planMap.sprintName = taskPlanMap.sprintName
planMap.custRequestId = custRequestId
planMap.description = taskPlanMap.description
planMap.productId = productlist[0].productId
planMap.productName = productName
taskPartyList.add(planMap)
taskListDropdown.add(planMap)
}
}
}
if (taskPartyList){
context.taskPartyList = taskPartyList
}
if (taskListDropdown){
context.taskListDropdown = taskListDropdown
}