diff --git a/assets/images/logo_carteirinha_aguasdelindoia.png b/assets/images/logo_carteirinha_aguasdelindoia.png new file mode 100644 index 0000000..63da62b Binary files /dev/null and b/assets/images/logo_carteirinha_aguasdelindoia.png differ diff --git a/assets/images/logo_carteirinha_corumbatai.png b/assets/images/logo_carteirinha_corumbatai.png new file mode 100644 index 0000000..fc59692 Binary files /dev/null and b/assets/images/logo_carteirinha_corumbatai.png differ diff --git a/assets/images/logo_carteirinha_iracemapolis.png b/assets/images/logo_carteirinha_iracemapolis.png new file mode 100644 index 0000000..2154cea Binary files /dev/null and b/assets/images/logo_carteirinha_iracemapolis.png differ diff --git a/lib/componentes/buttom_custom.dart b/lib/componentes/buttom_custom.dart index 5a6678f..9fca02a 100644 --- a/lib/componentes/buttom_custom.dart +++ b/lib/componentes/buttom_custom.dart @@ -4,7 +4,7 @@ import 'package:rkm_educa_app/utils/dimensoes.dart'; class ButtonCustom extends StatelessWidget{ final VoidCallback onPressed; final String text; - final double size; + final double fontsize; final Color colorButton; final Color colorText; final Color colorBorder; @@ -14,7 +14,7 @@ class ButtonCustom extends StatelessWidget{ ButtonCustom({ required this.onPressed, required this.text, - required this.size, + required this.fontsize, required this.colorButton, required this.colorText, required this.colorBorder, @@ -34,7 +34,7 @@ ButtonCustom({ child: Text(text, style: TextStyle( color: colorText, - fontSize: size, + fontSize: fontsize, fontWeight: FontWeight.bold ), ) , diff --git a/lib/telas/tela_detalhes_avisos.dart b/lib/telas/tela_detalhes_avisos.dart index 7895adb..bd325b6 100644 --- a/lib/telas/tela_detalhes_avisos.dart +++ b/lib/telas/tela_detalhes_avisos.dart @@ -47,7 +47,7 @@ class _TelaDetalhesAvisosState extends State { padding: EdgeInsets.symmetric(horizontal: Dimensoes.width*0.2), child: ButtonCustom( text: 'Marcar como lido', - size: 14, + fontsize: 14, heightCustom: 0.05, widthCustom: 0.3, colorButton: PaletaCores.cinzaClaro, diff --git a/lib/telas/tela_login.dart b/lib/telas/tela_login.dart index d0b4cb4..40426fa 100644 --- a/lib/telas/tela_login.dart +++ b/lib/telas/tela_login.dart @@ -271,7 +271,7 @@ class _TelaLoginState extends State { widthCustom: 0.7, heightCustom: 0.07, text: alterarSenha?'Alterar Senha':"Entrar", - size: 14.0, + fontsize: 14.0, colorText: PaletaCores.branco, colorButton: PaletaCores.corPrimaria, colorBorder: PaletaCores.corPrimaria, diff --git a/lib/telas/tela_passe.dart b/lib/telas/tela_passe.dart index 7b433f2..a9cbdb6 100644 --- a/lib/telas/tela_passe.dart +++ b/lib/telas/tela_passe.dart @@ -1,9 +1,15 @@ +import 'dart:convert'; import 'package:flutter/material.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/snackBars.dart'; +import 'package:rkm_educa_app/componentes/text_custom.dart'; import 'package:rkm_educa_app/modelos/estudante_modelo.dart'; - +import 'package:http/http.dart' as http; +import 'package:rkm_educa_app/utils/dimensoes.dart'; +import '../componentes/buttom_custom.dart'; import '../controllers/main_controllers.dart'; +import '../utils/cores.dart'; class TelaPasse extends StatefulWidget { EstudanteModelo estudanteModelo; @@ -18,10 +24,109 @@ class TelaPasse extends StatefulWidget { class _TelaPasseState extends State { + List dadosPasse=[]; + List dadosFrequncia = []; + bool carregando = true; + String dataNasc = ''; + String dataEmissao = ''; + + getPasse()async{ + String teste_passe = '4E275A169EA2432E949FF90DF8D2CF10'; + String passe = widget.estudanteModelo.dados[widget.estudanteModelo.nroAluno]['CD_ALUNO']; + final url = 'http://192.168.18.2:8000/passe?CD_ALUNO=${teste_passe}&CIDADE=${widget.estudanteModelo.cidade}'; + print(url); + final response = await http.get(Uri.parse(url)); + var map = json.decode(response.body); + dadosPasse = map; + print(dadosPasse); + String dataBD = dadosPasse[0]['DT_NASCIMENTO']??''; + if(dataBD!=''){ + dataNasc = '${dataBD.substring(6,8)} / ${dataBD.substring(4,6)} / ${dataBD.substring(0,4)}'; + } + String dataDBEmissao = dadosPasse[0]['VALIDADE_CARTEIRINHA']??''; + if(dataDBEmissao!=''){ + List list = dataDBEmissao.toString().split('-'); + dataEmissao = '${list[2]} / ${list[1]} / ${list[0]}'; + } + + if(dadosPasse.length==0){ + showSnackBar(context, 'Nenhum passe disponível', Colors.red); + carregando = false; + setState(() {}); + }else{ + getFrequencia(teste_passe); + } + } + getFrequencia(String CD_ALUNO)async{ + dadosFrequncia.clear(); + final url = 'http://192.168.18.2:8000/frequencia?CD_ALUNO=${CD_ALUNO}&CIDADE=${widget.estudanteModelo.cidade}'; + print(url); + final response = await http.get(Uri.parse(url)); + var map = json.decode(response.body); + dadosFrequncia = map; + print(dadosFrequncia); + if(dadosPasse.length==0){ + showSnackBar(context, 'Nenhuma frequência registrada', Colors.red); + }else{ + dadosFrequncia = [ + {'DIA':1,'PRESENTE':0}, + {'DIA':2,'PRESENTE':0}, + {'DIA':3,'PRESENTE':1}, + {'DIA':4,'PRESENTE':1}, + {'DIA':5,'PRESENTE':1}, + {'DIA':6,'PRESENTE':0}, + {'DIA':7,'PRESENTE':0}, + {'DIA':8,'PRESENTE':1}, + {'DIA':9,'PRESENTE':1}, + {'DIA':10,'PRESENTE':1}, + {'DIA':11,'PRESENTE':1}, + {'DIA':12,'PRESENTE':1}, + {'DIA':13,'PRESENTE':1}, + {'DIA':14,'PRESENTE':1}, + {'DIA':15,'PRESENTE':1}, + {'DIA':16,'PRESENTE':1}, + {'DIA':17,'PRESENTE':1}, + {'DIA':18,'PRESENTE':0}, + {'DIA':19,'PRESENTE':0}, + {'DIA':20,'PRESENTE':0}, + {'DIA':21,'PRESENTE':0}, + {'DIA':22,'PRESENTE':0}, + {'DIA':23,'PRESENTE':0}, + {'DIA':24,'PRESENTE':0}, + {'DIA':25,'PRESENTE':0}, + {'DIA':26,'PRESENTE':0}, + {'DIA':27,'PRESENTE':0}, + {'DIA':28,'PRESENTE':0}, + {'DIA':29,'PRESENTE':0}, + {'DIA':30,'PRESENTE':0}, + {'DIA':31,'PRESENTE':0}, + ]; + } + carregando = false; + setState(() {}); + // print(dadosFrequncia); + } + + getCarteira()async{ + carregando = true; + setState(() {}); + String teste_passe = '4E275A169EA2432E949FF90DF8D2CF10'; + String CD_ALUNO = widget.estudanteModelo.dados[widget.estudanteModelo.nroAluno]['CD_ALUNO']; + final url = 'http://192.168.18.2:8000/carteira?CD_ALUNO=${teste_passe}&CIDADE=${widget.estudanteModelo.cidade}'; + print(url); + final response = await http.get(Uri.parse(url)); + var map = json.decode(response.body); + List list = map; + print(list); + carregando = false; + setState(() {}); + } + @override void initState() { super.initState(); MainControllers().salvarLog(widget.estudanteModelo, 'PASSE'); + getPasse(); } @override @@ -29,6 +134,113 @@ class _TelaPasseState extends State { return Scaffold( appBar: AppBarCustom().appbar(context, 'PASSE ESCOLAR'), drawer: DrawerCustom(estudanteModelo: widget.estudanteModelo), + bottomSheet: carregando?SizedBox(width: 0,height: 0,): Container( + width: Dimensoes.width, + height: 70, + alignment: Alignment.center, + child: ButtonCustom( + text: 'Exibir Carteira', + fontsize: 14.0, + colorBorder: PaletaCores.cinzaClaro, + colorButton: PaletaCores.cinzaClaro, + colorText: Colors.white, + widthCustom: 0.8, + heightCustom: 0.05, + onPressed: ()=>getCarteira(), + ), + ), + body: carregando?Center( + child: Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + CircularProgressIndicator(color: PaletaCores.cinzaClaro,), + SizedBox(width: 20,), + TextCustom(text: 'Buscando dados ...') + ], + ), + ):Container( + alignment: Alignment.center, + margin: EdgeInsets.all(10), + height: Dimensoes.height, + child: ListView( + children: [ + Container( + color: Colors.black, + child: TextCustom(text: widget.estudanteModelo.NO_ALUNO,fontWeight: FontWeight.bold,color: Colors.white,textAlign: TextAlign.center), + ), + Row( + children: [ + Column( + children: [ + Container( + width: Dimensoes.width*0.55, + child: TextCustom(text: 'RA: ${dadosPasse[0]['NR_RA']}',size: 14.0, fontWeight: FontWeight.bold) + ), + Container( + width: Dimensoes.width*0.55, + child: TextCustom(text: 'DATA NASC: $dataNasc',size: 14.0, fontWeight: FontWeight.bold,) + ), + ], + ), + Container( + width: Dimensoes.width*0.4, + alignment: Alignment.center, + child: TextCustom(text: 'CARTEIRA N°: ${dadosPasse[0]['NR_CARTEIRA']}',size: 16.0, fontWeight: FontWeight.bold,) + ), + ], + ), + TextCustom(text: 'DATA EMISSÃO: $dataEmissao',size: 14.0, fontWeight: FontWeight.bold,), + TextCustom(text: 'LINHA: ${dadosPasse[0]['NR_TRANSPORTE']}',size: 14.0, fontWeight: FontWeight.bold,), + TextCustom(text: 'SÉRIE: ${dadosPasse[0]['DESC_SERIE']} - ${dadosPasse[0]['GRAU']}' + ' TURNO: ${dadosPasse[0]['TURNO'].toString().trim()=='1'?'MANHÃ':dadosPasse[0]['GRAU'].toString().trim()=='2'?'TARDE':''}',size: 14.0, fontWeight: FontWeight.bold,), + TextCustom(text: 'ESCOLA: ${widget.estudanteModelo.ESCOLA}',size: 14.0, fontWeight: FontWeight.bold,), + Container( + margin: EdgeInsets.symmetric(vertical: 20), + color: Colors.black, + alignment: Alignment.center, + child: TextCustom(text: 'FREQUÊNCIA USO DO PASSE MÊS ${DateTime.now().month}',fontWeight: FontWeight.bold,color: Colors.white,), + ), + Container( + width: Dimensoes.width*0.9, + height: Dimensoes.height*0.5, + child: GridView.builder( + physics: NeverScrollableScrollPhysics(), + gridDelegate: SliverGridDelegateWithFixedCrossAxisCount( + crossAxisCount: 7, + mainAxisSpacing: 25, + crossAxisSpacing: 0 + ), + itemCount: dadosFrequncia.length, + itemBuilder: (context,index){ + return Container( + height: 40, + width: 40, + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + Container( + alignment: Alignment.center, + width: 20, + height: 15, + child: TextCustom(text: dadosFrequncia[index]['DIA'].toString(),size: 15.0,)), + Container( + width: 30, + height: 30, + child: Checkbox( + value: dadosFrequncia[index]['PRESENTE'].toString()=='1'?true:false, + onChanged: (v){}, + activeColor: PaletaCores.cinzaClaro, + ), + ) + ], + ), + ); + } + ), + ), + ], + ) + ), ); } } diff --git a/lib/telas/tela_perfil.dart b/lib/telas/tela_perfil.dart index 8c5bbaf..86b518e 100644 --- a/lib/telas/tela_perfil.dart +++ b/lib/telas/tela_perfil.dart @@ -83,7 +83,7 @@ class _TelaPerfilState extends State { text: 'Fechar', widthCustom: 0.2, heightCustom: 0.05, - size: 14, + fontsize: 14, colorText: Colors.white, colorBorder: PaletaCores.cinza, colorButton: PaletaCores.cinza, diff --git a/lib/telas/tela_seleciona_filho.dart b/lib/telas/tela_seleciona_filho.dart index ec2c03d..da048d7 100644 --- a/lib/telas/tela_seleciona_filho.dart +++ b/lib/telas/tela_seleciona_filho.dart @@ -137,7 +137,7 @@ class _TelaSelecionaFilhoState extends State { widthCustom: 0.7, heightCustom: 0.07, text: "Avançar", - size:14, + fontsize:14, colorText: PaletaCores.branco, colorButton: PaletaCores.corPrimaria, colorBorder: PaletaCores.corPrimaria,