public function getFaixaDescontoPermitido($offset, $limit, $busca = null) { $sql = "SELECT tfdp.*, count(tufdp.id) AS qtd_usuario FROM tbl_faixa_desconto_permitido AS tfdp\n\t\t\t\tLEFT JOIN tbl_usuario_faixa_desconto_permitido AS tufdp ON tfdp.id = tufdp.id_faixa_desconto_permitido \n\t\t\t\t"; if (is_array($busca) && count($busca) > 0) { $where = prepareWhere($busca); $sql .= " WHERE " . $where; } $sql .= ' group by tfdp.id'; if ($limit > 0) { $pag = $offset / $limit + 1; $Paginacao = new PaginacaoController($sql); $Paginacao->num_paginas = 10; $Paginacao->resultados_pagina = $limit; $Paginacao->paginarResultado($pag); $links_paginacao = $Paginacao->paginasDisponiveis($pag); $sql = $Paginacao->_sql_paginacao; } $select = $this->conn->prepare($sql); if ($select->execute() && $select->rowCount() > 0) { $faixas = parse_arr_values($select->fetchAll(PDO::FETCH_ASSOC), 'all'); $UsuarioFaixaDescontoPermitidoDao = new UsuarioFaixaDescontoPermitidoDao(); foreach ($faixas as $key => $faixa) { $faixas[$key]['usuarios'] = $UsuarioFaixaDescontoPermitidoDao->getfaixas(array('id_faixa_desconto_permitido' => $faixa['id'])); } if (isset($links_paginacao)) { return array('faixas' => $faixas, 'paginacao' => $links_paginacao); } else { return $faixas; } } else { return false; } }
public static function updateFaixaDescontoPermitido() { $FaixaDescontoPermitidoTO = new FaixaDescontoPermitidoTO(); $FaixaDescontoPermitidoDao = new FaixaDescontoPermitidoDao(); $validator = new DataValidator(); $FaixaDescontoPermitidoTO->id = isset($_POST["id"]) ? $_POST["id"] : null; $FaixaDescontoPermitidoTO->perc_desconto_max = isset($_POST["perc_desconto_max"]) ? $_POST["perc_desconto_max"] : null; $FaixaDescontoPermitidoTO->id_empreendimento = isset($_POST["id_empreendimento"]) ? $_POST["id_empreendimento"] : null; $usuarios = isset($_POST["usuarios"]) && count($_POST["usuarios"]) > 0 ? $_POST["usuarios"] : false; $delete_usuarios = isset($_POST["delete_usuarios"]) && count($_POST["delete_usuarios"]) > 0 ? $_POST["delete_usuarios"] : false; $validator->set_msg('O ID da faixa é obrigatório')->set('id', $FaixaDescontoPermitidoTO->id)->is_required(); $validator->set_msg('Informe o valor máximo de desconto desta faixa')->set('perc_desconto_max', $FaixaDescontoPermitidoTO->perc_desconto_max)->is_required(); $validator->set_msg('O id do empreendimento é obrigatório')->set('id_empreendimento', $FaixaDescontoPermitidoTO->id_empreendimento)->is_required(); if ($FaixaDescontoPermitidoDao->verificarFaixa($FaixaDescontoPermitidoTO->perc_desconto_max, $FaixaDescontoPermitidoTO->id_empreendimento, $FaixaDescontoPermitidoTO->id) && $FaixaDescontoPermitidoTO->perc_desconto_max > 0) { $validator->_errors['perc_desconto_max'][] = 'Já existe outra faixa com este valor máximo '; } if (!$validator->validate()) { Flight::response()->status(406)->header('Content-Type', 'application/json')->write(json_encode($validator->get_errors()))->send(); return; } $lastInsertId = $FaixaDescontoPermitidoDao->updateFaixaDescontoPermitido($FaixaDescontoPermitidoTO); if ($lastInsertId) { $UsuarioFaixaDescontoPermitidoDao = new UsuarioFaixaDescontoPermitidoDao(); $UsuarioFaixaDescontoPermitidoTO = new UsuarioFaixaDescontoPermitidoTO(); if ($usuarios) { $Dao = new Dao(); $Dao->setTimeZone($FaixaDescontoPermitidoTO->id_empreendimento); $UsuarioFaixaDescontoPermitidoTO->dta_entrada = date('Y-m-d H:i:s'); foreach ($usuarios as $usuario) { $UsuarioFaixaDescontoPermitidoTO->id_usuario = $usuario['id_usuario']; $UsuarioFaixaDescontoPermitidoTO->id_faixa_desconto_permitido = $FaixaDescontoPermitidoTO->id; $UsuarioFaixaDescontoPermitidoTO->flg_ativo = $usuario['flg_ativo']; $UsuarioFaixaDescontoPermitidoTO->id_responsavel_atv = $usuario['id_responsavel_atv']; if (!$UsuarioFaixaDescontoPermitidoDao->saveUsuarioFaixaDescontoPermitido($UsuarioFaixaDescontoPermitidoTO)) { Flight::halt(500, 'Erro ao vincular usuario a faixa '); } } } if ($delete_usuarios) { foreach ($delete_usuarios as $usuario) { if (!$UsuarioFaixaDescontoPermitidoDao->deleteUsuarioFaixaDescontoPermitido($usuario['id_rel'])) { Flight::halt(500, 'Erro ao deletar usuario'); } } } Flight::halt(201); } else { Flight::halt(500, 'Erro ao inserir Desconto'); } }