public function existirPlanilhaProduto($idPronac = 0, $idPedidoAlteracao = 0) { $buscaProjetoProduto = new SolicitarReadequacaoCustoDAO(); $buscaReadequacaoProduto = new ReadequacaoProjetos(); $resultadoItensCadastrados = $buscaProjetoProduto->buscarItensCadastrados($idPronac); $verificaPlanilhaCustoVerificacao = $buscaReadequacaoProduto->buscarprodutoSolicitado($idPedidoAlteracao); $resultadoEtapa = $buscaProjetoProduto->buscarEtapa('P'); foreach ($resultadoEtapa as $idEtapa) { $resultadoProdutosItens = $buscaProjetoProduto->buscarProdutosItens($idPronac, $idEtapa->idPlanilhaEtapa); $valorProduto[$idEtapa->idPlanilhaEtapa] = $resultadoProdutosItens; } $qtdPlanilhaAprovada = count($valorProduto); $verificaPlanilhaCustoVerifica = $buscaProjetoProduto->buscarProdutoAprovacao($idPronac); $qtProdutos = 0; $qtItens = 0; $p1 = array(); $p2 = array(); if (empty($verificaPlanilhaCustoVerifica)) { $verificaPlanilhaCusto = $buscaProjetoProduto->buscarProdutoAprovacaoSemProposta($idPronac); } else { $verificaPlanilhaCusto = $buscaProjetoProduto->buscarProdutoAprovacao($idPronac); } foreach ($verificaPlanilhaCustoVerifica as $v1) { if (!in_array($v1->idProduto, $p1)) { foreach ($verificaPlanilhaCusto as $v2) { if ($v1->idProduto == $v2->idProduto && !in_array($v2->idProduto, $p2)) { $b = $buscaProjetoProduto->buscarProdutosItensInseridos($idPronac, null, $v2->idProduto)->current(); if (count($b) > 0) { if ($b->idProduto == $v2->idProduto) { // && $b->idEtapa == $v2->idEtapa $qtItens += 1; $p2[] = $v2->idProduto; } } } } $qtProdutos += 1; $p1[] = $v1->idProduto; } } $produtosxitens = array(); $itensxprodutos = array(); foreach ($verificaPlanilhaCustoVerificacao as $produto) { if (!in_array($produto->idProduto, $itensxprodutos)) { $itensxprodutos[] = $produto->idProduto; } foreach ($resultadoItensCadastrados as $item) { if ($item->idProduto == $produto->idProduto && !in_array($item->idProduto, $produtosxitens)) { $produtosxitens[] = $produto->idProduto; } } } $this->view->Xitens = $p2; //x($qtdPlanilhaAprovada); //x(count($produtosxitens) .'-'. count($itensxprodutos)); //x($qtProdutos .'-'. $qtItens); if (count($produtosxitens) < count($itensxprodutos) || $qtdPlanilhaAprovada <= 0) { return false; } else { if ($qtProdutos > $qtItens && count($itensxprodutos) <= 0 && $qtdPlanilhaAprovada <= 0) { return false; } else { if ($qtProdutos > $qtItens && count($itensxprodutos) <= 0 && count($produtosxitens) <= 0) { return false; } else { return true; } } } }