ano letivo recuperando do banco de dados

This commit is contained in:
Reginaldo
2023-10-03 17:14:01 -03:00
parent b85f4804e5
commit 571b97b7b2
4 changed files with 33 additions and 14 deletions

View File

@@ -6,7 +6,6 @@ import 'package:rkm_educa_app/telas/tela_agenda.dart';
import 'package:rkm_educa_app/telas/tela_botetim.dart'; import 'package:rkm_educa_app/telas/tela_botetim.dart';
import 'package:rkm_educa_app/telas/tela_chamada.dart'; import 'package:rkm_educa_app/telas/tela_chamada.dart';
import 'package:rkm_educa_app/telas/tela_contatos.dart'; import 'package:rkm_educa_app/telas/tela_contatos.dart';
import 'package:rkm_educa_app/telas/tela_historico.dart';
import 'package:rkm_educa_app/telas/tela_login.dart'; import 'package:rkm_educa_app/telas/tela_login.dart';
import 'package:rkm_educa_app/telas/tela_passe.dart'; import 'package:rkm_educa_app/telas/tela_passe.dart';
import 'package:rkm_educa_app/telas/tela_perfil.dart'; import 'package:rkm_educa_app/telas/tela_perfil.dart';
@@ -19,6 +18,7 @@ import 'item_drawer.dart';
class DrawerCustom extends StatelessWidget { class DrawerCustom extends StatelessWidget {
List<EstudanteModelo> alunos; List<EstudanteModelo> alunos;
int indiceFilhos; int indiceFilhos;
DrawerCustom({ DrawerCustom({
required this.alunos, required this.alunos,
required this.indiceFilhos, required this.indiceFilhos,
@@ -72,12 +72,12 @@ class DrawerCustom extends StatelessWidget {
Container(height: 1,color: PaletaCores.divider,margin: EdgeInsets.symmetric(horizontal: 20),), Container(height: 1,color: PaletaCores.divider,margin: EdgeInsets.symmetric(horizontal: 20),),
ItemDrawer( ItemDrawer(
icone: LineIcons.clipboardList, icone: LineIcons.clipboardList,
texto: 'Boletim Escolar ${DateTime.now().year}', texto: 'Boletim Escolar ${alunos[indiceFilhos].ANO_LETIVO}',
onPressed: ()=>Navigator.push(context, MaterialPageRoute( onPressed: ()=>Navigator.push(context, MaterialPageRoute(
builder: (context)=> builder: (context)=>
TelaBoletim( TelaBoletim(
estudanteModelo: alunos[indiceFilhos], estudanteModelo: alunos[indiceFilhos],
ano: '${DateTime.now().year}', ano: '${alunos[indiceFilhos].ANO_LETIVO}',
turma: "${alunos[indiceFilhos].dados[alunos[indiceFilhos].nroAluno]['DESC_SERIE']} ${alunos[indiceFilhos].dados[alunos[indiceFilhos].nroAluno]['TURMA']}", turma: "${alunos[indiceFilhos].dados[alunos[indiceFilhos].nroAluno]['DESC_SERIE']} ${alunos[indiceFilhos].dados[alunos[indiceFilhos].nroAluno]['TURMA']}",
matricula: alunos[indiceFilhos].dados[alunos[indiceFilhos].nroAluno]['CD_MATRICULA'].toString() matricula: alunos[indiceFilhos].dados[alunos[indiceFilhos].nroAluno]['CD_MATRICULA'].toString()
) )
@@ -87,12 +87,12 @@ class DrawerCustom extends StatelessWidget {
Container(height: 1,color: PaletaCores.divider,margin: EdgeInsets.symmetric(horizontal: 20),), Container(height: 1,color: PaletaCores.divider,margin: EdgeInsets.symmetric(horizontal: 20),),
ItemDrawer( ItemDrawer(
icone: LineIcons.fileContract, icone: LineIcons.fileContract,
texto: 'Boletim Escolar ${DateTime.now().year-1}', texto: 'Boletim Escolar ${alunos[indiceFilhos].ANO_LETIVO-1}',
onPressed: ()=> Navigator.push(context, onPressed: ()=> Navigator.push(context,
MaterialPageRoute(builder: (context)=> MaterialPageRoute(builder: (context)=>
TelaBoletim( TelaBoletim(
estudanteModelo: alunos[indiceFilhos], estudanteModelo: alunos[indiceFilhos],
ano: '${DateTime.now().year-1}', ano: '${alunos[indiceFilhos].ANO_LETIVO-1}',
turma: "${alunos[indiceFilhos].dados[alunos[indiceFilhos].nroAluno]['DESC_SERIE']} ${alunos[indiceFilhos].dados[alunos[indiceFilhos].nroAluno]['TURMA']}", turma: "${alunos[indiceFilhos].dados[alunos[indiceFilhos].nroAluno]['DESC_SERIE']} ${alunos[indiceFilhos].dados[alunos[indiceFilhos].nroAluno]['TURMA']}",
matricula: alunos[indiceFilhos].dados[alunos[indiceFilhos].nroAluno]['CD_MATRICULA'].toString() matricula: alunos[indiceFilhos].dados[alunos[indiceFilhos].nroAluno]['CD_MATRICULA'].toString()
) )

View File

@@ -1,3 +1,5 @@
import 'dart:convert';
import 'package:gainer_crypto/crypto.dart'; import 'package:gainer_crypto/crypto.dart';
import 'package:http/http.dart' as http; import 'package:http/http.dart' as http;
import 'package:intl/intl.dart'; import 'package:intl/intl.dart';
@@ -44,10 +46,8 @@ class MainControllers{
} }
salvarLog(EstudanteModelo estudanteModelo,String TELA)async{ salvarLog(EstudanteModelo estudanteModelo,String TELA)async{
final url = '${estudanteModelo.URL}/log'; final url = '${estudanteModelo.URL}/log';
// print('dados'); // print('dados');
// print(widget.estudanteModelo.dados); // print(widget.estudanteModelo.dados);
final response = await http.post( final response = await http.post(
Uri.parse(url), Uri.parse(url),
body:{ body:{
@@ -63,4 +63,22 @@ class MainControllers{
print('response : ${response.body}'); print('response : ${response.body}');
} }
Future<int> pegarAno(String urlAPI,String cidade)async{
final url = '$urlAPI/mostrar_boletim?ANO=${DateTime.now().year}&CIDADE=$cidade';
print(url);
final response = await http.get(Uri.parse(url));
var map = json.decode(response.body);
String data = map[0]['DT_INICIAL'];
DateTime dataInicial = DateTime.parse(data);
// print(dataInicial);
// print(DateTime.now());
// print((DateTime.now().difference(dataInicial).inDays).toInt());
if(DateTime.now().difference(dataInicial).inDays>=0){
print('exibir ano atual');
return DateTime.now().year;
}else{
print('exibir ano anterior');
return DateTime.now().year-1;
}
}
} }

View File

@@ -1,8 +1,6 @@
import 'dart:convert'; import 'dart:convert';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:rkm_educa_app/componentes/appbar_custom.dart'; import 'package:rkm_educa_app/componentes/appbar_custom.dart';
import 'package:rkm_educa_app/componentes/drawer_custom.dart';
import 'package:rkm_educa_app/componentes/item_bimestre.dart'; import 'package:rkm_educa_app/componentes/item_bimestre.dart';
import 'package:rkm_educa_app/componentes/item_disciplina.dart'; import 'package:rkm_educa_app/componentes/item_disciplina.dart';
import 'package:rkm_educa_app/componentes/item_modelo.dart'; import 'package:rkm_educa_app/componentes/item_modelo.dart';

View File

@@ -1,10 +1,10 @@
import 'dart:convert'; import 'dart:convert';
import 'dart:math';
import 'package:brasil_fields/brasil_fields.dart'; import 'package:brasil_fields/brasil_fields.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/services.dart'; import 'package:flutter/services.dart';
import 'package:intl/intl.dart'; import 'package:intl/intl.dart';
import 'package:rkm_educa_app/Telas/tela_situacao_escolar.dart'; import 'package:rkm_educa_app/Telas/tela_situacao_escolar.dart';
import 'package:rkm_educa_app/controllers/main_controllers.dart';
import 'package:rkm_educa_app/modelos/estudante_modelo.dart'; import 'package:rkm_educa_app/modelos/estudante_modelo.dart';
import 'package:rkm_educa_app/telas/tela_cadastro.dart'; import 'package:rkm_educa_app/telas/tela_cadastro.dart';
import 'package:rkm_educa_app/telas/tela_seleciona_filho.dart'; import 'package:rkm_educa_app/telas/tela_seleciona_filho.dart';
@@ -124,8 +124,11 @@ class _TelaLoginState extends State<TelaLogin> {
status = 'CARREGANDO ESTUDANTE(S) ...'; status = 'CARREGANDO ESTUDANTE(S) ...';
}); });
showSnackBar(context, 'Acesso validado', Colors.green); showSnackBar(context, 'Acesso validado', Colors.green);
_prefService.createCacheLogin(map['CPF'], map['SENHA']).then((value){ _prefService.createCacheLogin(map['CPF'], map['SENHA']).then((value)async{
buscaFilhos(map['NOME'],map['PARENTESCO'],map['CIDADE'],map['CPF'].toString().replaceAll('-', '').replaceAll('.', '')); int ano = 0;
ano = await MainControllers().pegarAno(urlAPI,map['CIDADE']);
print(ano);
buscaFilhos(map['NOME'],map['PARENTESCO'],map['CIDADE'],map['CPF'].toString().replaceAll('-', '').replaceAll('.', ''),ano);
}); });
}else{ }else{
setState(() { setState(() {
@@ -151,7 +154,7 @@ class _TelaLoginState extends State<TelaLogin> {
} }
} }
buscaFilhos(String nome,String parentesco,String cidade, String CPF)async{ buscaFilhos(String nome,String parentesco,String cidade, String CPF,int anoLetivo)async{
String q = nome.replaceAll(' ', '%20').toUpperCase(); String q = nome.replaceAll(' ', '%20').toUpperCase();
final url = '$urlAPI/buscafilhos?NOME=$q&PARENTESCO=${parentesco.replaceAll("Ã", 'A').replaceAll('ã', 'a')}&CIDADE=$cidade'; final url = '$urlAPI/buscafilhos?NOME=$q&PARENTESCO=${parentesco.replaceAll("Ã", 'A').replaceAll('ã', 'a')}&CIDADE=$cidade';
print(url); print(url);
@@ -188,7 +191,7 @@ class _TelaLoginState extends State<TelaLogin> {
RA_ALUNO: listAlunos[0]['NR_RA'], RA_ALUNO: listAlunos[0]['NR_RA'],
ESCOLA: listAlunos[0]['NO_FANTASIA']=='' || listAlunos[0]['NO_FANTASIA']==null?listAlunos[0]['NO_RAZAO_SOCIAL']:listAlunos[0]['NO_FANTASIA'], ESCOLA: listAlunos[0]['NO_FANTASIA']=='' || listAlunos[0]['NO_FANTASIA']==null?listAlunos[0]['NO_RAZAO_SOCIAL']:listAlunos[0]['NO_FANTASIA'],
IDADE_ALUNO: idade, IDADE_ALUNO: idade,
ANO_LETIVO: DateTime.now().year, ANO_LETIVO: anoLetivo,
dados: listAlunos, dados: listAlunos,
nroAluno: 0, nroAluno: 0,
cidade: cidade, cidade: cidade,