/*
* 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.
*/
package org.apache.ofbiz.scrum

import org.apache.ofbiz.entity.condition.EntityCondition
import org.apache.ofbiz.entity.condition.EntityOperator

taskStatusId = null
paraBacklogStatusId = backlogStatusId

orStsExprs = []
    if ("Any" != backlogStatusId) {
        taskStatusId = "STS_CREATED"
        orStsExprs.add(EntityCondition.makeCondition("statusId", EntityOperator.EQUALS, "CRQ_REVIEWED"))
    } else {
        orStsExprs.add(EntityCondition.makeCondition("statusId", EntityOperator.EQUALS, "CRQ_REVIEWED"))
        orStsExprs.add(EntityCondition.makeCondition("statusId", EntityOperator.EQUALS, "CRQ_COMPLETED"))
    }
orCurentExprs = []
    if (taskStatusId) {
        orCurentExprs.add(EntityCondition.makeCondition("currentStatusId", EntityOperator.EQUALS, taskStatusId))
        orCurentExprs.add(EntityCondition.makeCondition("currentStatusId", EntityOperator.EQUALS, null))
    }
andExprs =  []
    andExprs.add(EntityCondition.makeCondition("productId", EntityOperator.EQUALS, parameters.productId))
    andExprs.add(EntityCondition.makeCondition("custRequestTypeId", EntityOperator.EQUALS, "RF_UNPLAN_BACKLOG"))
    andExprs.add(EntityCondition.makeCondition(orStsExprs, EntityOperator.OR))
    andExprs.add(EntityCondition.makeCondition(orCurentExprs, EntityOperator.OR))
unplannedBacklogCond = EntityCondition.makeCondition(andExprs, EntityOperator.AND)
unplannedBacklogList = from("UnPlannedBacklogsAndTasks").where(unplannedBacklogCond).orderBy("-custRequestId","workEffortTypeId","custSequenceNum").queryList()

context.listIt = unplannedBacklogList
context.paraBacklogStatusId = paraBacklogStatusId
