salvas novas notas no banco na tela_notas.dart e ajustado a tela_faltas.dart

This commit is contained in:
Reginaldo
2023-12-08 20:01:49 -03:00
parent 7fe3a16aef
commit d49081ff8e
21 changed files with 637 additions and 58 deletions

View File

@@ -57,6 +57,7 @@ class _TelaFaltasState extends State<TelaFaltas> {
String SIGLA_TIPO_ENSINO = '';
List<int> DIARIO_CLASSE = [];
bool SALVANDO = false;
EventList<Event> _markedDateMap = new EventList<Event>(
events: {},
);
@@ -98,11 +99,12 @@ class _TelaFaltasState extends State<TelaFaltas> {
TURMA: list[i]['TURMA'].toString().trim(),
DESC_SERIE: list[i]['DESC_SERIE'].toString().trim(),
GRAU: list[i]['GRAU'].toString().trim(),
HR_INICIO: list[i]['GRAU'].toString().trim()
HR_INICIO: list[i]['HR_INICIO'].toString().trim()
)
);
turmas.add(
'${disciplinas[i].GRAU} - ${disciplinas[i].DESC_SERIE} - ${disciplinas[i].TURMA} - ${disciplinas[i].HR_INICIO=='07:00:00'?'MANHA':'TARDE'}'
'${disciplinas[i].GRAU} - ${disciplinas[i].DESC_SERIE} - ${disciplinas[i].TURMA} - ${disciplinas[i].HR_INICIO.toString().trim().toUpperCase()=='07:00:00'?'MANHA':'TARDE'}'
);
if(SIGLA_TIPO_ENSINO != disciplinas[i].GRAU.toString().trim().toUpperCase()){
SIGLA_TIPO_ENSINO = disciplinas[i].GRAU.toString().trim().toUpperCase();
@@ -128,6 +130,7 @@ class _TelaFaltasState extends State<TelaFaltas> {
}
setState(() {});
}
buscarPediodoDatas(String id)async{
final url = '${widget.dados[2]}/buscarintervalodatas?ID_TIPO_ENSINO=${ID_TIPO_ENSINO}&ANO=${DateTime.now().year}-01-01&NR_SEQUENCIA=${id}&CIDADE=${widget.dados[0]}';
print(url);
@@ -188,7 +191,7 @@ class _TelaFaltasState extends State<TelaFaltas> {
// print(diasSemana);
// print('aulas');
// print(AULAS);
buscarchamadasrealizadas();
buscarChamadasRealizadas();
}else{
showSnackBar(context, 'Selecione uma data!', Colors.red);
}
@@ -197,7 +200,7 @@ class _TelaFaltasState extends State<TelaFaltas> {
setState(() {});
}
buscarchamadasrealizadas()async{
buscarChamadasRealizadas()async{
String dia = _dataSelecionada!.day.toString();
String mes = _dataSelecionada!.month.toString();
String ano = _dataSelecionada!.year.toString();
@@ -210,7 +213,6 @@ class _TelaFaltasState extends State<TelaFaltas> {
// print(map);
if(map.isNotEmpty){
alunos.clear();
ModeloPresencaAluno? modeloPresencaAluno;
for(int i = 0; map.length > i; i++){
int indexAluno = alunos.indexWhere((aluno) => aluno.CD_MATRICULA == map[i]['CD_MATRICULA']);
@@ -324,6 +326,7 @@ class _TelaFaltasState extends State<TelaFaltas> {
buscarDiarioClasse(dia, mes, ano, map[0]['CD_CALENDARIO']);
}
buscarDiarioClasse(String dia, String mes, String ano,int CD_CALENDARIO)async{
List<int> buscaAulas = [];
for(int i = 0; AULAS.length > i; i++){
@@ -357,7 +360,7 @@ class _TelaFaltasState extends State<TelaFaltas> {
bool SALVAMENTO_BANCO = await MainControllers().verificarDadosNovaChamada(alunos,widget.dados);
if(SALVAMENTO_BANCO){
showSnackBar(context, 'CHAMADA FOI SALVA', Colors.green);
buscarchamadasrealizadas();
buscarChamadasRealizadas();
}
}
}
@@ -450,54 +453,65 @@ class _TelaFaltasState extends State<TelaFaltas> {
return Scaffold(
appBar: AppBarCustom().appbar(context, 'LANÇAMENTO DE FALTAS'),
drawer: DrawerCustom(dados: widget.dados,),
floatingActionButton: exibirCalendario?Container():edit?Row(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.center,
mainAxisSize: MainAxisSize.min,
children: [
SALVANDO?Container():CircleAvatar(
backgroundColor: Colors.red,
child: IconButton(
icon: Icon(Icons.clear,color: Colors.white,),
onPressed: (){
setState(()=>edit=false);
buscarGrade(CD_SALA,CD_DISCIPLINA);
}
bottomNavigationBar: SALVANDO?Container(width: 0,height: 0,):exibirCalendario?Container(height: 0,width: 0,):edit?Padding(
padding: const EdgeInsets.all(8.0),
child: Row(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.end,
mainAxisSize: MainAxisSize.min,
children: [
SALVANDO?Container():CircleAvatar(
backgroundColor: Colors.red,
child: IconButton(
icon: Icon(Icons.clear,color: Colors.white,),
onPressed: (){
setState(()=>edit=false);
buscarGrade(CD_SALA,CD_DISCIPLINA);
}
),
),
),
SizedBox(width: 10,),
SALVANDO?Container():CircleAvatar(
backgroundColor: PaletaCores.verdeCalendario,
child: IconButton(
icon: Icon(Icons.check,color: Colors.white,),
onPressed: ()async{
if(novaChamada){
setState(()=>SALVANDO = true);
buscarCodigoCalendario();
}else{
setState(()=>SALVANDO = true);
bool aguardandoAlteracao = await MainControllers().atualizarChamada(alunos,widget.dados);
if(aguardandoAlteracao){
buscarchamadasrealizadas();
setState(()=>SALVANDO = false);
setState(()=>edit=false);
showSnackBar(context, 'DADOS SALVOS COM SUCESSO', Colors.green);
SizedBox(width: 10,),
SALVANDO?Container():CircleAvatar(
backgroundColor: PaletaCores.verdeCalendario,
child: IconButton(
icon: Icon(Icons.check,color: Colors.white,),
onPressed: ()async{
if(novaChamada){
setState(()=>SALVANDO = true);
buscarCodigoCalendario();
}else{
setState(()=>SALVANDO = false);
showSnackBar(context, 'DADOS NÃO FORAM SALVOS', Colors.red);
setState(()=>SALVANDO = true);
bool aguardandoAlteracao = await MainControllers().atualizarChamada(alunos,widget.dados);
if(aguardandoAlteracao){
buscarChamadasRealizadas();
setState(()=>SALVANDO = false);
setState(()=>edit=false);
showSnackBar(context, 'DADOS SALVOS COM SUCESSO', Colors.green);
}else{
setState(()=>SALVANDO = false);
showSnackBar(context, 'DADOS NÃO FORAM SALVOS', Colors.red);
}
}
}
}
)
),
],
):CircleAvatar(
backgroundColor: Colors.deepOrangeAccent,
child: IconButton(
icon: Icon(Icons.edit, color: Colors.white),
onPressed: ()=> setState(()=>edit=true)
),
)
),
],
),
):Padding(
padding: const EdgeInsets.all(8.0),
child: Row(
mainAxisAlignment: MainAxisAlignment.end,
children: [
CircleAvatar(
backgroundColor: Colors.deepOrangeAccent,
child: IconButton(
icon: Icon(Icons.edit, color: Colors.white),
onPressed: ()=> setState(()=>edit=true)
),
),
],
),
),
body: exibirCalendario?Container(
child: ListView(
children: [
@@ -630,7 +644,7 @@ class _TelaFaltasState extends State<TelaFaltas> {
children: [
CircularProgressIndicator(color: Colors.deepOrangeAccent),
SizedBox(height: 50),
TextCustom(text: 'Salvando dados dos estudantes.\nAguarde...', fontWeight: FontWeight.bold,)
TextCustom(text: 'Salvando dados dos estudantes.\nAguarde...', fontWeight: FontWeight.bold,maxLines: 2,)
],
),
):Container(),