blob: f8e791477029c0a9879c458309c58d39d9e98625 [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;
}