function getDataInicioDias($id_atividade, $dias) { $link = connectSQL(); $pai = new Pai(); $DAO = new PaiDAO(); $query_r = mysql_query("SELECT dia FROM " . MYSQL_BASE_FERIADOS . " WHERE excluido IS NULL"); $query_retorno = array(); while ($row = mysql_fetch_array($query_r)) { $query_retorno[] = $row['dia']; } mysql_free_result($query_r); $query = mysql_query("SELECT ADDDATE(ADDDATE('" . $data_inicio . "', vencimento), (SELECT COUNT(*) FROM " . MYSQL_BASE_FERIADOS . " WHERE dia BETWEEN '" . $data_inicio . "' AND ADDDATE('" . $data_inicio . "', vencimento)) ) AS new_fim,\r\n\t\t\t\t\t\t\t\tdias_corridos\r\n\t\t\t\t\t\t\tFROM " . MYSQL_BASE_PROCEDIMENTO_LICITATORIO_ATIVIDADE . "\r\n\t\t\t\t\t\t\tWHERE excluido IS NULL\r\n\t\t\t\t\t\t\tAND dias_corridos = 'N'\r\n\t\t\t\t\t\t\tAND id = " . $id_atividade . "\r\n\t\t\t\t\t\t\t/*Consulta com calculo do Feriado + os dias Vencimentos*/\r\n\t\t\t\t\t\t\tUNION\r\n\t\t\t\t\t\t\tSELECT ADDDATE('" . $data_inicio . "', vencimento) AS new_fim,\r\n\t\t\t\t\t\t\t\tdias_corridos\r\n\t\t\t\t\t\t\tFROM " . MYSQL_BASE_PROCEDIMENTO_LICITATORIO_ATIVIDADE . "\r\n\t\t\t\t\t\t\tWHERE excluido IS NULL\r\n\t\t\t\t\t\t\tAND dias_corridos = 'S'\r\n\t\t\t\t\t\t\tAND id = " . $id_atividade); $res = array(); // $dias_corridos = array(); // $new_fim = array(); while ($row = mysql_fetch_array($query)) { $new_fim[] = array(); $dias_corridos[] = array(); // 'dias_corridos' => $row ['dias_corridos'], // 'new_fim' => $row ['new_fim'] $new_fim[] = $row['new_fim']; $dias_corridos[] = $row['dias_corridos']; } if ($dias_corridos == 'N') { //Se vencimento não são dias corridos, calcula feriados + sabados e domingos $fim = mysql_query("CALL sp_fim_de_semana (@retorno, '" . $data_inicio . "', '" . $new_fim . "');"); while ($fim_semana = mysql_fetch_array($fim)) { $fim_de_semana = $fim_semana['qtd']; //Quantidade de Sabados e Domingos } mysql_free_result($fim); $data = date('Y/m/d', strtotime('+' . $fim_de_semana . ' days', strtotime($new_fim))); // Calculo Dias de Vencimentos + Feriados + Sabado e Domingos $new_data = $pai->verificaDataFim($data, $query_retorno); } else { $new_data = $new_fim; //Se vencimento são dias corridos, calcula data inicial + dias de vencimento } mysql_free_result($query); return $new_data; }