salvas novas chamadas no banco na tela_faltas.dart

This commit is contained in:
Reginaldo
2023-12-07 14:53:09 -03:00
parent 3a5b2bdb44
commit 7fe3a16aef
21 changed files with 456 additions and 144 deletions

View File

@@ -1 +1 @@
{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"package_info","path":"C:\\\\Users\\\\Reginaldo\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\package_info-2.0.2\\\\","native_build":true,"dependencies":[]},{"name":"shared_preferences_foundation","path":"C:\\\\Users\\\\Reginaldo\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\shared_preferences_foundation-2.3.4\\\\","shared_darwin_source":true,"native_build":true,"dependencies":[]}],"android":[{"name":"package_info","path":"C:\\\\Users\\\\Reginaldo\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\package_info-2.0.2\\\\","native_build":true,"dependencies":[]},{"name":"shared_preferences_android","path":"C:\\\\Users\\\\Reginaldo\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\shared_preferences_android-2.2.1\\\\","native_build":true,"dependencies":[]}],"macos":[{"name":"package_info","path":"C:\\\\Users\\\\Reginaldo\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\package_info-2.0.2\\\\","native_build":true,"dependencies":[]},{"name":"shared_preferences_foundation","path":"C:\\\\Users\\\\Reginaldo\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\shared_preferences_foundation-2.3.4\\\\","shared_darwin_source":true,"native_build":true,"dependencies":[]}],"linux":[{"name":"path_provider_linux","path":"C:\\\\Users\\\\Reginaldo\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\path_provider_linux-2.2.1\\\\","native_build":false,"dependencies":[]},{"name":"shared_preferences_linux","path":"C:\\\\Users\\\\Reginaldo\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\shared_preferences_linux-2.3.2\\\\","native_build":false,"dependencies":["path_provider_linux"]}],"windows":[{"name":"path_provider_windows","path":"C:\\\\Users\\\\Reginaldo\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\path_provider_windows-2.2.1\\\\","native_build":false,"dependencies":[]},{"name":"shared_preferences_windows","path":"C:\\\\Users\\\\Reginaldo\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\shared_preferences_windows-2.3.2\\\\","native_build":false,"dependencies":["path_provider_windows"]}],"web":[{"name":"shared_preferences_web","path":"C:\\\\Users\\\\Reginaldo\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\shared_preferences_web-2.2.1\\\\","dependencies":[]}]},"dependencyGraph":[{"name":"package_info","dependencies":[]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_windows","dependencies":[]},{"name":"shared_preferences","dependencies":["shared_preferences_android","shared_preferences_foundation","shared_preferences_linux","shared_preferences_web","shared_preferences_windows"]},{"name":"shared_preferences_android","dependencies":[]},{"name":"shared_preferences_foundation","dependencies":[]},{"name":"shared_preferences_linux","dependencies":["path_provider_linux"]},{"name":"shared_preferences_web","dependencies":[]},{"name":"shared_preferences_windows","dependencies":["path_provider_windows"]}],"date_created":"2023-12-05 10:48:36.879430","version":"3.13.9"} {"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"package_info","path":"C:\\\\Users\\\\Reginaldo\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\package_info-2.0.2\\\\","native_build":true,"dependencies":[]},{"name":"shared_preferences_foundation","path":"C:\\\\Users\\\\Reginaldo\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\shared_preferences_foundation-2.3.4\\\\","shared_darwin_source":true,"native_build":true,"dependencies":[]}],"android":[{"name":"package_info","path":"C:\\\\Users\\\\Reginaldo\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\package_info-2.0.2\\\\","native_build":true,"dependencies":[]},{"name":"shared_preferences_android","path":"C:\\\\Users\\\\Reginaldo\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\shared_preferences_android-2.2.1\\\\","native_build":true,"dependencies":[]}],"macos":[{"name":"package_info","path":"C:\\\\Users\\\\Reginaldo\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\package_info-2.0.2\\\\","native_build":true,"dependencies":[]},{"name":"shared_preferences_foundation","path":"C:\\\\Users\\\\Reginaldo\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\shared_preferences_foundation-2.3.4\\\\","shared_darwin_source":true,"native_build":true,"dependencies":[]}],"linux":[{"name":"path_provider_linux","path":"C:\\\\Users\\\\Reginaldo\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\path_provider_linux-2.2.1\\\\","native_build":false,"dependencies":[]},{"name":"shared_preferences_linux","path":"C:\\\\Users\\\\Reginaldo\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\shared_preferences_linux-2.3.2\\\\","native_build":false,"dependencies":["path_provider_linux"]}],"windows":[{"name":"path_provider_windows","path":"C:\\\\Users\\\\Reginaldo\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\path_provider_windows-2.2.1\\\\","native_build":false,"dependencies":[]},{"name":"shared_preferences_windows","path":"C:\\\\Users\\\\Reginaldo\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\shared_preferences_windows-2.3.2\\\\","native_build":false,"dependencies":["path_provider_windows"]}],"web":[{"name":"shared_preferences_web","path":"C:\\\\Users\\\\Reginaldo\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\shared_preferences_web-2.2.1\\\\","dependencies":[]}]},"dependencyGraph":[{"name":"package_info","dependencies":[]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_windows","dependencies":[]},{"name":"shared_preferences","dependencies":["shared_preferences_android","shared_preferences_foundation","shared_preferences_linux","shared_preferences_web","shared_preferences_windows"]},{"name":"shared_preferences_android","dependencies":[]},{"name":"shared_preferences_foundation","dependencies":[]},{"name":"shared_preferences_linux","dependencies":["path_provider_linux"]},{"name":"shared_preferences_web","dependencies":[]},{"name":"shared_preferences_windows","dependencies":["path_provider_windows"]}],"date_created":"2023-12-07 09:13:43.135866","version":"3.13.9"}

Binary file not shown.

File diff suppressed because one or more lines are too long

View File

@@ -1,4 +1,4 @@
#Tue Dec 05 10:49:21 BRT 2023 #Thu Dec 07 09:14:43 BRT 2023
base.0=D\:\\PROJETOS\\clientes\\rkm\\rkm_educa_prof_app\\build\\app\\intermediates\\dex\\debug\\mergeDexDebug\\classes.dex base.0=D\:\\PROJETOS\\clientes\\rkm\\rkm_educa_prof_app\\build\\app\\intermediates\\dex\\debug\\mergeDexDebug\\classes.dex
path.0=classes.dex path.0=classes.dex
renamed.0=classes.dex renamed.0=classes.dex

View File

@@ -1 +1 @@
8c8e0b5ffbd83354391d0b3009cab539f4e22e85 5d83a7fc267472f956633891656b122c82d145d0

View File

@@ -1,46 +1,27 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:rkm_educa_prof_app/componentes/text_custom.dart'; import 'package:rkm_educa_prof_app/componentes/text_custom.dart';
import '../modelos/modelo_presenca_aluno.dart';
import '../utils/cores.dart'; import '../utils/cores.dart';
import '../utils/dimensoes.dart'; import '../utils/dimensoes.dart';
class ItemAlunoPresenca extends StatelessWidget { class ItemAlunoPresenca extends StatelessWidget {
String NO_ALUNO;
bool edit; bool edit;
int CD_AULA1;
int CD_AULA2;
int CD_AULA3;
int CD_AULA4;
int CD_AULA5;
bool FL_PRESENTE_AUSENTE1;
bool FL_PRESENTE_AUSENTE2;
bool FL_PRESENTE_AUSENTE3;
bool FL_PRESENTE_AUSENTE4;
bool FL_PRESENTE_AUSENTE5;
var onChanged1; var onChanged1;
var onChanged2; var onChanged2;
var onChanged3; var onChanged3;
var onChanged4; var onChanged4;
var onChanged5; var onChanged5;
ModeloPresencaAluno aluno;
ItemAlunoPresenca({ ItemAlunoPresenca({
required this.NO_ALUNO,
required this.edit, required this.edit,
required this.CD_AULA1,
required this.CD_AULA2,
required this.CD_AULA3,
required this.CD_AULA4,
required this.CD_AULA5,
required this.FL_PRESENTE_AUSENTE1,
required this.FL_PRESENTE_AUSENTE2,
required this.FL_PRESENTE_AUSENTE3,
required this.FL_PRESENTE_AUSENTE4,
required this.FL_PRESENTE_AUSENTE5,
required this.onChanged1, required this.onChanged1,
required this.onChanged2, required this.onChanged2,
required this.onChanged3, required this.onChanged3,
required this.onChanged4, required this.onChanged4,
required this.onChanged5, required this.onChanged5,
required this.aluno
}); });
@override @override
@@ -51,53 +32,57 @@ class ItemAlunoPresenca extends StatelessWidget {
children: [ children: [
Container( Container(
width: Dimensoes.width*0.6, width: Dimensoes.width*0.6,
child: TextCustom(text: NO_ALUNO,size: 12.0) child: TextCustom(text: aluno.NO_ALUNO,size: 12.0)
), ),
Spacer(), Spacer(),
CD_AULA1==0?Container():TextCustom(text: '${CD_AULA1}ª',size: 15.0), aluno.STATUS!='MATRICULADO'?TextCustom(text: 'TRANSFERIDO', size: 12.0, fontWeight: FontWeight.bold,color: Colors.red,):Row(
CD_AULA1==0?Container():Container( children: [
width: 25, aluno.CD_AULA1==0?Container():TextCustom(text: '${aluno.CD_AULA1}ª',size: 15.0),
child: Checkbox( aluno.CD_AULA1==0?Container():Container(
value: FL_PRESENTE_AUSENTE1, width: 25,
activeColor: PaletaCores.cinzaEscuro, child: Checkbox(
onChanged:!edit?null:onChanged1 value: aluno.FL_PRESENTE_AUSENTE1,
), activeColor: PaletaCores.cinzaEscuro,
), onChanged:!edit?null:onChanged1
CD_AULA2==0?Container():TextCustom(text: '${CD_AULA2}ª',size: 15.0), ),
CD_AULA2==0?Container():Container( ),
width: 25, aluno.CD_AULA2==0?Container():TextCustom(text: '${aluno.CD_AULA2}ª',size: 15.0),
child: Checkbox( aluno.CD_AULA2==0?Container():Container(
value: FL_PRESENTE_AUSENTE2, width: 25,
activeColor: PaletaCores.cinzaEscuro, child: Checkbox(
onChanged:!edit?null: onChanged2 value: aluno.FL_PRESENTE_AUSENTE2,
), activeColor: PaletaCores.cinzaEscuro,
), onChanged:!edit?null: onChanged2
CD_AULA3==0?Container():TextCustom(text: '${CD_AULA3}ª',size: 15.0), ),
CD_AULA3==0?Container():Container( ),
width: 25, aluno.CD_AULA3==0?Container():TextCustom(text: '${aluno.CD_AULA3}ª',size: 15.0),
child: Checkbox( aluno.CD_AULA3==0?Container():Container(
value: FL_PRESENTE_AUSENTE3, width: 25,
activeColor: PaletaCores.cinzaEscuro, child: Checkbox(
onChanged:!edit?null:onChanged3 value: aluno.FL_PRESENTE_AUSENTE3,
), activeColor: PaletaCores.cinzaEscuro,
), onChanged:!edit?null:onChanged3
CD_AULA4==0?Container():TextCustom(text: '${CD_AULA4}ª',size: 15.0), ),
CD_AULA4==0?Container():Container( ),
width: 25, aluno.CD_AULA4==0?Container():TextCustom(text: '${aluno.CD_AULA4}ª',size: 15.0),
child: Checkbox( aluno.CD_AULA4==0?Container():Container(
value: FL_PRESENTE_AUSENTE4, width: 25,
activeColor: PaletaCores.cinzaEscuro, child: Checkbox(
onChanged:!edit?null:onChanged4 value: aluno.FL_PRESENTE_AUSENTE4,
), activeColor: PaletaCores.cinzaEscuro,
), onChanged:!edit?null:onChanged4
CD_AULA5==0?Container():TextCustom(text: '${CD_AULA5}ª',size: 15.0), ),
CD_AULA5==0?Container():Container( ),
width: 25, aluno.CD_AULA5==0?Container():TextCustom(text: '${aluno.CD_AULA5}ª',size: 15.0),
child: Checkbox( aluno.CD_AULA5==0?Container():Container(
value: FL_PRESENTE_AUSENTE5, width: 25,
activeColor: PaletaCores.cinzaEscuro, child: Checkbox(
onChanged:!edit?null:onChanged5 value: aluno.FL_PRESENTE_AUSENTE5,
), activeColor: PaletaCores.cinzaEscuro,
onChanged:!edit?null:onChanged5
),
),
],
), ),
], ],
), ),

View File

@@ -2,6 +2,7 @@ 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';
import 'package:rkm_educa_prof_app/modelos/modelo_presenca_aluno.dart';
class MainControllers{ class MainControllers{
encrypt(String senhaDigitada,String senhaUsuario) { encrypt(String senhaDigitada,String senhaUsuario) {
@@ -80,4 +81,152 @@ class MainControllers{
return DateTime.now().year-1; return DateTime.now().year-1;
} }
} }
atualizarChamada(List<ModeloPresencaAluno> dados, List usuario)async{
List<bool> response = [];
for(int i = 0; dados.length > i; i++){
if(dados[i].STATUS_DADOS!='NOVO'){
if(dados[i].CD_AULA1!=0){
response.add(await atualizarPresencaAluno(dados[i],usuario,dados[i].CD_AULA1, dados[i].FL_PRESENTE_AUSENTE1));
print(dados[i].CD_AULA1);
print('foi alterado os dados ${dados[i].NO_ALUNO}');
}
if(dados[i].CD_AULA2!=0){
response.add(await atualizarPresencaAluno(dados[i],usuario,dados[i].CD_AULA2, dados[i].FL_PRESENTE_AUSENTE2));
print(dados[i].CD_AULA2);
print('foi alterado os dados ${dados[i].NO_ALUNO}');
}
if(dados[i].CD_AULA3!=0){
response.add(await atualizarPresencaAluno(dados[i],usuario,dados[i].CD_AULA3, dados[i].FL_PRESENTE_AUSENTE3));
print(dados[i].CD_AULA3);
print('foi alterado os dados ${dados[i].NO_ALUNO}');
}
if(dados[i].CD_AULA4!=0){
response.add(await atualizarPresencaAluno(dados[i],usuario,dados[i].CD_AULA4, dados[i].FL_PRESENTE_AUSENTE4));
print(dados[i].CD_AULA4);
print('foi alterado os dados ${dados[i].NO_ALUNO}');
}
if(dados[i].CD_AULA5!=0){
response.add(await atualizarPresencaAluno(dados[i],usuario,dados[i].CD_AULA5, dados[i].FL_PRESENTE_AUSENTE5));
print(dados[i].CD_AULA5);
print('foi alterado os dados ${dados[i].NO_ALUNO}');
}
}else{
print('nada foi alterado');
}
}
if(!response.contains(false)){
print('TODOS FORAM EDITADOS');
return true;
}else{
print('ALGUM DADOS NÃO ALTERADO');
return false;
}
}
Future<bool> atualizarPresencaAluno(ModeloPresencaAluno dados,List usuario, int AULA, bool FL_PRESENTE_AUSENTE)async{
final url = '${usuario[2]}/editarchamada';
print(dados.DT_DIARIO_CLASSE);
print(AULA);
print(dados.CD_SALA);
print(dados.CD_MATRICULA);
print(usuario[0]);
print(usuario[2]);
final response = await http.post(
Uri.parse(url),
body:{
'DT_DIARIO_CLASSE' : dados.DT_DIARIO_CLASSE.toString(),
'FL_PRESENTE_AUSENTE': FL_PRESENTE_AUSENTE?'A':'P',
'CD_AULA' : AULA.toString(),
'CD_SALA' : dados.CD_SALA.toString(),
'CD_MATRICULA' : dados.CD_MATRICULA.toString(),
'CIDADE' : usuario[0].toString(),
}
);
print('response : ${response.body}');
if(response.body=='editado com sucesso'){
return true;
}else{
return false;
}
}
Future <int> salvarDiarioClasse(List usuario, List dados,int CD_AULA)async{
final url = '${usuario[2]}/salvardiarioclasse';
final response = await http.post(
Uri.parse(url),
body:{
'DT_DIARIO_CLASSE': dados[0].toString(),
'CD_SALA' : dados[1].toString(),
'CD_AULA' : CD_AULA.toString(),
'CD_CALENDARIO' : dados[2].toString(),
'CD_DISCIPLINA' : dados[3].toString(),
'CD_USUARIO' : usuario[8].toString(),
'CIDADE' : usuario[0].toString(),
}
);
print('response : ${response.body}');
if(response.body=='sucesso'){
return CD_AULA;
}else{
return 0;
}
}
Future<bool>verificarDadosNovaChamada(List<ModeloPresencaAluno> dados, List usuario)async{
List<bool> response = [];
for(int i = 0; dados.length > i; i++){
if(dados[i].CD_AULA1!=0){
response.add(await salvarChamadaNova(dados[i],usuario,dados[i].CD_AULA1, dados[i].FL_PRESENTE_AUSENTE1));
print(dados[i].CD_AULA1);
print('salvo novos dados do ${dados[i].NO_ALUNO}');
}
if(dados[i].CD_AULA2!=0){
response.add(await salvarChamadaNova(dados[i],usuario,dados[i].CD_AULA2, dados[i].FL_PRESENTE_AUSENTE2));
print(dados[i].CD_AULA2);
print('salvo novos dados do ${dados[i].NO_ALUNO}');
}
if(dados[i].CD_AULA3!=0){
response.add(await salvarChamadaNova(dados[i],usuario,dados[i].CD_AULA3, dados[i].FL_PRESENTE_AUSENTE3));
print(dados[i].CD_AULA3);
print('salvo novos dados do ${dados[i].NO_ALUNO}');
}
if(dados[i].CD_AULA4!=0){
response.add(await salvarChamadaNova(dados[i],usuario,dados[i].CD_AULA4, dados[i].FL_PRESENTE_AUSENTE4));
print(dados[i].CD_AULA4);
print('salvo novos dados do ${dados[i].NO_ALUNO}');
}
if(dados[i].CD_AULA5!=0){
response.add(await salvarChamadaNova(dados[i],usuario,dados[i].CD_AULA5, dados[i].FL_PRESENTE_AUSENTE5));
print(dados[i].CD_AULA5);
print('salvo novos dados do ${dados[i].NO_ALUNO}');
}
}
if(!response.contains(false)){
print('TODOS FORAM SALVOS');
return true;
}else{
print('ALGUM USUARIO NÃO SALVO');
return false;
}
}
Future<bool>salvarChamadaNova(ModeloPresencaAluno dados,List usuario, int AULA, bool FL_PRESENTE_AUSENTE)async{
final url = '${usuario[2]}/salvarnovachamada';
final response = await http.post(
Uri.parse(url),
body:{
'DT_DIARIO_CLASSE' : dados.DT_DIARIO_CLASSE.toString(),
'CD_SALA' : dados.CD_SALA.toString(),
'CD_AULA' : AULA.toString(),
'CD_MATRICULA' : dados.CD_MATRICULA.toString(),
'FL_PRESENTE_AUSENTE' : FL_PRESENTE_AUSENTE?'A':'P',
'CD_USUARIO_SISTEMA_REGISTRO' : usuario[8].toString(),
'CIDADE' : usuario[0].toString(),
}
);
print('response : ${response.body}');
if(response.body=='sucesso'){
return true;
}else{
return false;
}
}
} }

View File

@@ -1,5 +1,6 @@
class ModeloPresencaAluno{ class ModeloPresencaAluno{
String DT_DIARIO_CLASSE; String DT_DIARIO_CLASSE;
int CD_SALA;
int CD_AULA1; int CD_AULA1;
int CD_AULA2; int CD_AULA2;
int CD_AULA3; int CD_AULA3;
@@ -15,9 +16,12 @@ class ModeloPresencaAluno{
String NO_ALUNO; String NO_ALUNO;
String NR_TURMA; String NR_TURMA;
int CD_DISCIPLINA; int CD_DISCIPLINA;
String STATUS;
String STATUS_DADOS;
ModeloPresencaAluno({ ModeloPresencaAluno({
required this.DT_DIARIO_CLASSE, required this.DT_DIARIO_CLASSE,
required this.CD_SALA,
required this.CD_MATRICULA, required this.CD_MATRICULA,
required this.CD_ALUNO, required this.CD_ALUNO,
required this.NO_ALUNO, required this.NO_ALUNO,
@@ -33,5 +37,7 @@ class ModeloPresencaAluno{
this.FL_PRESENTE_AUSENTE3 = false, this.FL_PRESENTE_AUSENTE3 = false,
this.FL_PRESENTE_AUSENTE4 = false, this.FL_PRESENTE_AUSENTE4 = false,
this.FL_PRESENTE_AUSENTE5 = false, this.FL_PRESENTE_AUSENTE5 = false,
required this.STATUS,
this.STATUS_DADOS = 'NOVO'
}); });
} }

View File

@@ -10,12 +10,13 @@ import 'package:rkm_educa_prof_app/componentes/dropdown_periodo.dart';
import 'package:rkm_educa_prof_app/componentes/item_aluno_presenca.dart'; import 'package:rkm_educa_prof_app/componentes/item_aluno_presenca.dart';
import 'package:rkm_educa_prof_app/componentes/snackBars.dart'; import 'package:rkm_educa_prof_app/componentes/snackBars.dart';
import 'package:rkm_educa_prof_app/componentes/text_custom.dart'; import 'package:rkm_educa_prof_app/componentes/text_custom.dart';
import 'package:rkm_educa_prof_app/controllers/main_controllers.dart';
import 'package:rkm_educa_prof_app/modelos/modelo_periodo.dart'; import 'package:rkm_educa_prof_app/modelos/modelo_periodo.dart';
import 'package:rkm_educa_prof_app/modelos/modelo_presenca_aluno.dart';
import '../componentes/appbar_custom.dart'; import '../componentes/appbar_custom.dart';
import '../componentes/drawer_custom.dart'; import '../componentes/drawer_custom.dart';
import '../componentes/item_subtitulo_texto.dart'; import '../componentes/item_subtitulo_texto.dart';
import '../modelos/modelo_disciplina.dart'; import '../modelos/modelo_disciplina.dart';
import '../modelos/modelo_presenca_aluno.dart';
import '../utils/cores.dart'; import '../utils/cores.dart';
import '../utils/dimensoes.dart'; import '../utils/dimensoes.dart';
@@ -35,6 +36,7 @@ class _TelaFaltasState extends State<TelaFaltas> {
List<ModeloDisciplina> disciplinas = []; List<ModeloDisciplina> disciplinas = [];
List<ModeloPeriodo> periodos = []; List<ModeloPeriodo> periodos = [];
List<ModeloPresencaAluno> alunos = []; List<ModeloPresencaAluno> alunos = [];
List<int> AULAS = [];
List turmas = []; List turmas = [];
List tipoEnsino = []; List tipoEnsino = [];
ModeloDisciplina? selecionaDisciplina; ModeloDisciplina? selecionaDisciplina;
@@ -51,6 +53,10 @@ class _TelaFaltasState extends State<TelaFaltas> {
double hightLine = 40; double hightLine = 40;
int DIA_SEMANA = 0; int DIA_SEMANA = 0;
bool edit = false; bool edit = false;
bool novaChamada = false;
String SIGLA_TIPO_ENSINO = '';
List<int> DIARIO_CLASSE = [];
bool SALVANDO = false;
EventList<Event> _markedDateMap = new EventList<Event>( EventList<Event> _markedDateMap = new EventList<Event>(
events: {}, events: {},
); );
@@ -63,7 +69,7 @@ class _TelaFaltasState extends State<TelaFaltas> {
width: 40, width: 40,
height: 40, height: 40,
child: Center( child: Center(
child: TextCustom(text: dia,fontWeight: FontWeight.bold,size: 14.0,color: cor==Color(0xffee1d24)?Colors.white:PaletaCores.cinza), child: TextCustom(text: dia,fontWeight: FontWeight.bold,size: 14.0,color: Colors.white),
), ),
); );
@@ -98,6 +104,9 @@ class _TelaFaltasState extends State<TelaFaltas> {
turmas.add( 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=='07:00:00'?'MANHA':'TARDE'}'
); );
if(SIGLA_TIPO_ENSINO != disciplinas[i].GRAU.toString().trim().toUpperCase()){
SIGLA_TIPO_ENSINO = disciplinas[i].GRAU.toString().trim().toUpperCase();
}
if(turmas.isNotEmpty){ if(turmas.isNotEmpty){
List duplicada = turmas.toSet().toList(); List duplicada = turmas.toSet().toList();
turmas = duplicada; turmas = duplicada;
@@ -151,23 +160,35 @@ class _TelaFaltasState extends State<TelaFaltas> {
buscarGrade(int CD_SALA, int CD_DISCIPLINA)async{ buscarGrade(int CD_SALA, int CD_DISCIPLINA)async{
final url = '${widget.dados[2]}/buscargrade?CD_SALA=${CD_SALA}&CD_DISCIPLINA=${CD_DISCIPLINA}&CIDADE=${widget.dados[0]}'; final url = '${widget.dados[2]}/buscargrade?CD_SALA=${CD_SALA}&CD_DISCIPLINA=${CD_DISCIPLINA}&CIDADE=${widget.dados[0]}';
print(url); // print(url);
final response = await http.get(Uri.parse(url)); final response = await http.get(Uri.parse(url));
List map = json.decode(response.body); List map = json.decode(response.body);
if(map.isNotEmpty){ if(map.isNotEmpty){
print(map); // print(map);
AULAS.clear();
List diasSemana = []; List diasSemana = [];
List semana = ['DOMINGO', 'SEGUNDAS', 'TERÇAS', 'QUARTAS', 'QUINTAS', 'SEXTAS', 'SÁBADOS']; List semana = ['DOMINGO', 'SEGUNDAS', 'TERÇAS', 'QUARTAS', 'QUINTAS', 'SEXTAS', 'SÁBADOS'];
for(int i = 0; map.length > i; i ++){ for(int i = 0; map.length > i; i ++){
diasSemana.add(map[i]['DIA_SEMANA']); diasSemana.add(int.parse(map[i]['DIA_SEMANA'].toString().trim()));
if(DIA_SEMANA==map[i]['DIA_SEMANA']){
AULAS.add(map[i]['AULA']);
}
} }
print('AULAS');
print(AULAS);
List diasAula = diasSemana.toSet().toList();
diasSemana = diasAula;
if(!diasSemana.contains(DIA_SEMANA)){ if(!diasSemana.contains(DIA_SEMANA)){
_dataSelecionada = null; _dataSelecionada = null;
_markedDateMap.clear(); _markedDateMap.clear();
showSnackBar(context, 'ESSA AULA É AS ${semana[diasSemana[0]]}!', Colors.red); showSnackBar(context, 'ESSA AULA É AS ${semana[diasSemana[0]]}!', Colors.red);
}else{ }else{
if(_dataSelecionada!=null){ if(_dataSelecionada!=null){
buscarchamadasrealizadas(CD_SALA,CD_DISCIPLINA); // print('dias das aulas');
// print(diasSemana);
// print('aulas');
// print(AULAS);
buscarchamadasrealizadas();
}else{ }else{
showSnackBar(context, 'Selecione uma data!', Colors.red); showSnackBar(context, 'Selecione uma data!', Colors.red);
} }
@@ -176,18 +197,20 @@ class _TelaFaltasState extends State<TelaFaltas> {
setState(() {}); setState(() {});
} }
buscarchamadasrealizadas(int CD_SALA,int CD_DISCIPLINA)async{ buscarchamadasrealizadas()async{
String dia = _dataSelecionada!.day.toString(); String dia = _dataSelecionada!.day.toString();
String mes = _dataSelecionada!.month.toString(); String mes = _dataSelecionada!.month.toString();
String ano = _dataSelecionada!.year.toString(); String ano = _dataSelecionada!.year.toString();
final url = '${widget.dados[2]}/buscarchamadasrealizadas?CD_SALA=${CD_SALA}&CD_DISCIPLINA=${CD_DISCIPLINA}&DATA=$ano-$mes-$dia&CIDADE=${widget.dados[0]}'; final url = '${widget.dados[2]}/buscarchamadasrealizadas?'
print(url); 'CD_SALA=${CD_SALA}&CD_DISCIPLINA=${CD_DISCIPLINA}&DATA=$ano-$mes-$dia&ANO=${int.parse(ano)}&CIDADE=${widget.dados[0]}';
// print(url);
final response = await http.get(Uri.parse(url)); final response = await http.get(Uri.parse(url));
List map = json.decode(response.body); List map = json.decode(response.body);
print(map); // print(map);
if(map.isNotEmpty){ if(map.isNotEmpty){
alunos.clear(); alunos.clear();
ModeloPresencaAluno? modeloPresencaAluno;
for(int i = 0; map.length > i; i++){ for(int i = 0; map.length > i; i++){
int indexAluno = alunos.indexWhere((aluno) => aluno.CD_MATRICULA == map[i]['CD_MATRICULA']); int indexAluno = alunos.indexWhere((aluno) => aluno.CD_MATRICULA == map[i]['CD_MATRICULA']);
@@ -196,6 +219,7 @@ class _TelaFaltasState extends State<TelaFaltas> {
alunos.add( alunos.add(
ModeloPresencaAluno( ModeloPresencaAluno(
DT_DIARIO_CLASSE: map[i]['DT_DIARIO_CLASSE'], DT_DIARIO_CLASSE: map[i]['DT_DIARIO_CLASSE'],
CD_SALA: CD_SALA,
CD_MATRICULA: map[i]['CD_MATRICULA'], CD_MATRICULA: map[i]['CD_MATRICULA'],
CD_ALUNO: map[i]['CD_ALUNO'], CD_ALUNO: map[i]['CD_ALUNO'],
NO_ALUNO: map[i]['NO_ALUNO'], NO_ALUNO: map[i]['NO_ALUNO'],
@@ -206,11 +230,12 @@ class _TelaFaltasState extends State<TelaFaltas> {
CD_AULA3: map[i]['CD_AULA'] == 3?3:0, CD_AULA3: map[i]['CD_AULA'] == 3?3:0,
CD_AULA4: map[i]['CD_AULA'] == 4?4:0, CD_AULA4: map[i]['CD_AULA'] == 4?4:0,
CD_AULA5: map[i]['CD_AULA'] == 5?5:0, CD_AULA5: map[i]['CD_AULA'] == 5?5:0,
FL_PRESENTE_AUSENTE1: map[i]['FL_PRESENTE_AUSENTE'].toString().toUpperCase()=='A' && map[i]['CD_AULA'] == 1?true:false, FL_PRESENTE_AUSENTE1: map[i]['FL_PRESENTE_AUSENTE'].toString().toUpperCase()=='A'?true:false,
FL_PRESENTE_AUSENTE2: map[i]['FL_PRESENTE_AUSENTE'].toString().toUpperCase()=='A' && map[i]['CD_AULA'] == 2?true:false, FL_PRESENTE_AUSENTE2: map[i]['FL_PRESENTE_AUSENTE'].toString().toUpperCase()=='A'?true:false,
FL_PRESENTE_AUSENTE3: map[i]['FL_PRESENTE_AUSENTE'].toString().toUpperCase()=='A' && map[i]['CD_AULA'] == 3?true:false, FL_PRESENTE_AUSENTE3: map[i]['FL_PRESENTE_AUSENTE'].toString().toUpperCase()=='A'?true:false,
FL_PRESENTE_AUSENTE4: map[i]['FL_PRESENTE_AUSENTE'].toString().toUpperCase()=='A' && map[i]['CD_AULA'] == 4?true:false, FL_PRESENTE_AUSENTE4: map[i]['FL_PRESENTE_AUSENTE'].toString().toUpperCase()=='A'?true:false,
FL_PRESENTE_AUSENTE5: map[i]['FL_PRESENTE_AUSENTE'].toString().toUpperCase()=='A' && map[i]['CD_AULA'] == 5?true:false, FL_PRESENTE_AUSENTE5: map[i]['FL_PRESENTE_AUSENTE'].toString().toUpperCase()=='A'?true:false,
STATUS: map[i]['STATUS'],
) )
); );
}else{ }else{
@@ -232,31 +257,137 @@ class _TelaFaltasState extends State<TelaFaltas> {
} }
} }
} }
novaChamada = false;
SALVANDO = false;
edit = false;
print('alunos : ${alunos.length}'); print('alunos : ${alunos.length}');
}else{ }else{
print('chamada não realizada'); print('chamada não realizada');
showSnackBar(context, 'Chamada não foi realizada nesta data!', Colors.red); showSnackBar(context, 'NOVA CHAMADA!', Colors.deepOrangeAccent);
novaChamada = true;
buscarNovaChamada(CD_SALA, ano);
} }
setState(() {}); setState(() {});
} }
buscarNovaChamada(int sala, String ano)async{
final url = '${widget.dados[2]}/buscarnovachamada?''CD_SALA=${sala}&ANO=${ano}&CIDADE=${widget.dados[0]}';
// print(url);
final response = await http.get(Uri.parse(url));
List map = json.decode(response.body);
// print(map);
if(map.isNotEmpty){
String dia = _dataSelecionada!.day.toString();
String mes = _dataSelecionada!.month.toString();
String ano = _dataSelecionada!.year.toString();
alunos.clear();
for(int i = 0; map.length > i; i++){
alunos.add(
new ModeloPresencaAluno(
DT_DIARIO_CLASSE: '$ano-$mes-$dia',
CD_SALA: sala,
CD_MATRICULA: map[i]['CD_MATRICULA'],
CD_ALUNO: map[i]['CD_ALUNO'],
NO_ALUNO: map[i]['NO_ALUNO'],
NR_TURMA: map[i]['NR_TURMA'],
CD_DISCIPLINA: CD_DISCIPLINA,
STATUS: map[i]['STATUS'],
CD_AULA1: AULAS.contains(1)?1:0,
CD_AULA2: AULAS.contains(2)?2:0,
CD_AULA3: AULAS.contains(3)?3:0,
CD_AULA4: AULAS.contains(4)?4:0,
CD_AULA5: AULAS.contains(5)?5:0,
)
);
}
}else{
showSnackBar(context, 'NÃO FOI POSSÍVEL CRIAR UMA NOVA CHAMADA', Colors.red);
}
setState(() {});
}
buscarCodigoCalendario()async{
String dia = _dataSelecionada!.day.toString();
String mes = _dataSelecionada!.month.toString();
String ano = _dataSelecionada!.year.toString();
final url = '${widget.dados[2]}/buscarcodigocalendario?CD_CAD_DIVERSO=${widget.dados[4]}&'
'DT_CALENDARIO=$ano-$mes-$dia&SIGLA=$SIGLA_TIPO_ENSINO&CIDADE=${widget.dados[0]}';
print(url);
final response = await http.get(Uri.parse(url));
List map = json.decode(response.body);
print('CD_CALENDARIO');
print(map[0]['CD_CALENDARIO']);
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++){
final url = '${widget.dados[2]}/buscardiarioclasse?CD_AULA=${AULAS[i]}&CD_SALA=$CD_SALA&'
'DT_DIARIO_CLASSE=$ano-$mes-$dia&CIDADE=${widget.dados[0]}';
print(url);
final response = await http.get(Uri.parse(url));
List map = json.decode(response.body);
print(map);
if(map.isNotEmpty){
buscaAulas.add(AULAS[i]);
}
}
if(buscaAulas.isEmpty){
DIARIO_CLASSE = [];
List dados = [
'$ano-$mes-$dia',
CD_SALA,
CD_CALENDARIO,
CD_DISCIPLINA
];
for(int i = 0; AULAS.length> i; i++){
DIARIO_CLASSE.add(await MainControllers().salvarDiarioClasse(widget.dados, dados, AULAS[i])) ;
}
}
print('DIARIO_CLASSE : $DIARIO_CLASSE');
if(DIARIO_CLASSE.isNotEmpty){
bool SALVAMENTO_BANCO = await MainControllers().verificarDadosNovaChamada(alunos,widget.dados);
if(SALVAMENTO_BANCO){
showSnackBar(context, 'CHAMADA FOI SALVA', Colors.green);
buscarchamadasrealizadas();
}
}
}
atualizarData(DateTime date, List<Event> events){ atualizarData(DateTime date, List<Event> events){
_markedDateMap.clear();
_markedDateMap.add( int resultado = date.compareTo(DateTime.now());
date,
Event( print(resultado);
date: date,
icon: _eventIcon(date.day.toString(),Colors.indigo) if(resultado <= 0 ){
) _markedDateMap.clear();_markedDateMap.add(
); date,
Event(
date: date,
icon: _eventIcon(date.day.toString(),Colors.deepOrangeAccent)
)
);
alunos.clear(); alunos.clear();
selecionaDisciplina = null; selecionaDisciplina = null;
_dataSelecionada = date; _dataSelecionada = date;
DIA_SEMANA = date.weekday; DIA_SEMANA = date.weekday;
setState(() {}); setState(() {});
events.forEach((event) => print(event.title)); // events.forEach((event) => print(event.title));
print(_dataSelecionada); print(_dataSelecionada);
}else{
showSnackBar(context, 'Esta data maior do que a atual', Colors.red);
}
} }
@override @override
@@ -275,6 +406,13 @@ class _TelaFaltasState extends State<TelaFaltas> {
fontSize: 14 fontSize: 14
); );
TextStyle selectedDayTextStyle = TextStyle(
color: Colors.white,
fontWeight: FontWeight.bold,
fontFamily: 'Nunito',
fontSize: 14
);
TextStyle textStyleFDS = TextStyle( TextStyle textStyleFDS = TextStyle(
color: Colors.red, color: Colors.red,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
@@ -286,18 +424,18 @@ class _TelaFaltasState extends State<TelaFaltas> {
locale: 'pt', locale: 'pt',
weekdayTextStyle: TextStyle(color: PaletaCores.cinza,fontSize: 14,fontFamily: 'Nunito',), weekdayTextStyle: TextStyle(color: PaletaCores.cinza,fontSize: 14,fontFamily: 'Nunito',),
daysTextStyle: textStyle, daysTextStyle: textStyle,
selectedDayButtonColor: Colors.indigo, selectedDayButtonColor: Colors.deepOrangeAccent,
weekendTextStyle: textStyleFDS, weekendTextStyle: textStyleFDS,
markedDatesMap: _markedDateMap, markedDatesMap: _markedDateMap,
height: Dimensoes.height*0.45, height: Dimensoes.height*0.45,
targetDateTime: dataAtual, targetDateTime: dataAtual,
markedDateCustomTextStyle: textStyle, markedDateCustomTextStyle: selectedDayTextStyle,
markedDateMoreShowTotal: null, markedDateMoreShowTotal: null,
showHeader: false, showHeader: false,
todayTextStyle: textStyle, todayTextStyle: textStyle,
isScrollable: false, isScrollable: false,
todayButtonColor: Colors.green, todayButtonColor: Colors.white,
selectedDayTextStyle: textStyle, selectedDayTextStyle: selectedDayTextStyle,
minSelectedDate: DT_INICIAL, minSelectedDate: DT_INICIAL,
maxSelectedDate: DT_FINAL, maxSelectedDate: DT_FINAL,
markedDateIconBuilder: (event){ markedDateIconBuilder: (event){
@@ -312,12 +450,12 @@ class _TelaFaltasState extends State<TelaFaltas> {
return Scaffold( return Scaffold(
appBar: AppBarCustom().appbar(context, 'LANÇAMENTO DE FALTAS'), appBar: AppBarCustom().appbar(context, 'LANÇAMENTO DE FALTAS'),
drawer: DrawerCustom(dados: widget.dados,), drawer: DrawerCustom(dados: widget.dados,),
floatingActionButton: edit?Row( floatingActionButton: exibirCalendario?Container():edit?Row(
crossAxisAlignment: CrossAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center,
mainAxisSize: MainAxisSize.min, mainAxisSize: MainAxisSize.min,
children: [ children: [
CircleAvatar( SALVANDO?Container():CircleAvatar(
backgroundColor: Colors.red, backgroundColor: Colors.red,
child: IconButton( child: IconButton(
icon: Icon(Icons.clear,color: Colors.white,), icon: Icon(Icons.clear,color: Colors.white,),
@@ -328,11 +466,28 @@ class _TelaFaltasState extends State<TelaFaltas> {
), ),
), ),
SizedBox(width: 10,), SizedBox(width: 10,),
CircleAvatar( SALVANDO?Container():CircleAvatar(
backgroundColor: PaletaCores.verdeCalendario, backgroundColor: PaletaCores.verdeCalendario,
child: IconButton( child: IconButton(
icon: Icon(Icons.check,color: Colors.white,), icon: Icon(Icons.check,color: Colors.white,),
onPressed: ()=> setState(()=>edit=false) 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);
}else{
setState(()=>SALVANDO = false);
showSnackBar(context, 'DADOS NÃO FORAM SALVOS', Colors.red);
}
}
}
) )
), ),
], ],
@@ -373,7 +528,7 @@ class _TelaFaltasState extends State<TelaFaltas> {
_calendario, _calendario,
Center(child: TextButton( Center(child: TextButton(
style: TextButton.styleFrom( style: TextButton.styleFrom(
backgroundColor: PaletaCores.verdeCalendario, backgroundColor: Colors.deepOrangeAccent,
), ),
onPressed: ()=>setState(()=>exibirCalendario = false), onPressed: ()=>setState(()=>exibirCalendario = false),
child: TextCustom(text: 'SELECIONAR', color: Colors.white, size: 10.0), child: TextCustom(text: 'SELECIONAR', color: Colors.white, size: 10.0),
@@ -467,7 +622,19 @@ class _TelaFaltasState extends State<TelaFaltas> {
setState(() {}); setState(() {});
}, },
), ),
alunos.isEmpty?Container():Container( SALVANDO?Container(
height: Dimensoes.height*0.55,
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.center,
children: [
CircularProgressIndicator(color: Colors.deepOrangeAccent),
SizedBox(height: 50),
TextCustom(text: 'Salvando dados dos estudantes.\nAguarde...', fontWeight: FontWeight.bold,)
],
),
):Container(),
SALVANDO || alunos.isEmpty?Container():Container(
child: Row( child: Row(
children: [ children: [
TextCustom(text: 'ESTUDANTE',size: 12.0, fontWeight: FontWeight.bold), TextCustom(text: 'ESTUDANTE',size: 12.0, fontWeight: FontWeight.bold),
@@ -476,29 +643,34 @@ class _TelaFaltasState extends State<TelaFaltas> {
], ],
), ),
), ),
alunos.isEmpty?Container():Container( SALVANDO || alunos.isEmpty?Container():Container(
height: Dimensoes.height*0.55, height: Dimensoes.height*0.55,
child: ListView.builder( child: ListView.builder(
itemCount: alunos.length, itemCount: alunos.length,
itemBuilder: (context, index){ itemBuilder: (context, index){
return ItemAlunoPresenca( return ItemAlunoPresenca(
NO_ALUNO: alunos[index].NO_ALUNO,
edit: edit, edit: edit,
CD_AULA1: alunos[index].CD_AULA1, onChanged1: (value)=>setState((){
CD_AULA2: alunos[index].CD_AULA2, alunos[index].FL_PRESENTE_AUSENTE1 = value!;
CD_AULA3: alunos[index].CD_AULA3, alunos[index].STATUS_DADOS = 'ALTERADO';
CD_AULA4: alunos[index].CD_AULA4, }),
CD_AULA5: alunos[index].CD_AULA5, onChanged2: (value)=>setState((){
FL_PRESENTE_AUSENTE1: alunos[index].FL_PRESENTE_AUSENTE1, alunos[index].FL_PRESENTE_AUSENTE2 = value!;
FL_PRESENTE_AUSENTE2: alunos[index].FL_PRESENTE_AUSENTE2, alunos[index].STATUS_DADOS = 'ALTERADO';
FL_PRESENTE_AUSENTE3: alunos[index].FL_PRESENTE_AUSENTE3, }),
FL_PRESENTE_AUSENTE4: alunos[index].FL_PRESENTE_AUSENTE4, onChanged3: (value)=>setState((){
FL_PRESENTE_AUSENTE5: alunos[index].FL_PRESENTE_AUSENTE5, alunos[index].FL_PRESENTE_AUSENTE3 = value!;
onChanged1: (value)=>setState(()=>alunos[index].FL_PRESENTE_AUSENTE1 = value!), alunos[index].STATUS_DADOS = 'ALTERADO';
onChanged2: (value)=>setState(()=>alunos[index].FL_PRESENTE_AUSENTE2 = value!), }),
onChanged3: (value)=>setState(()=>alunos[index].FL_PRESENTE_AUSENTE3 = value!), onChanged4: (value)=>setState((){
onChanged4: (value)=>setState(()=>alunos[index].FL_PRESENTE_AUSENTE4 = value!), alunos[index].FL_PRESENTE_AUSENTE4 = value!;
onChanged5: (value)=>setState(()=>alunos[index].FL_PRESENTE_AUSENTE5 = value!) alunos[index].STATUS_DADOS = 'ALTERADO';
}),
onChanged5: (value)=>setState((){
alunos[index].FL_PRESENTE_AUSENTE5 = value!;
alunos[index].STATUS_DADOS = 'ALTERADO';
}),
aluno: alunos[index],
); );
}, },
), ),

View File

@@ -67,15 +67,15 @@ class _TelaLoginState extends State<TelaLogin> {
if(map['NO_USERNAME']==usuario && map['SENHA']==inputSenha.text.toUpperCase()){ if(map['NO_USERNAME']==usuario && map['SENHA']==inputSenha.text.toUpperCase()){
showSnackBar(context, 'Acesso validado', Colors.green); showSnackBar(context, 'Acesso validado', Colors.green);
List <String> dados = [ List <String> dados = [
cidade.toUpperCase(), cidade.toUpperCase(),//0
map['NO_USUARIO_SISTEMA']??'', map['NO_USUARIO_SISTEMA']??'',//1
urlAPI, urlAPI,//2
map['NO_FANTASIA']??'', map['NO_FANTASIA']??'',//3
map['CD_UNIDADE'].toString()??'', map['CD_UNIDADE'].toString()??'',//4
inputLogin.text, inputLogin.text,//5
usuario, usuario,//6
inputSenha.text, inputSenha.text,//7
map['CD_USUARIO_SISTEMA'].toString() map['CD_USUARIO_SISTEMA'].toString()//8
]; ];
_prefService.createCacheLogin(dados).then((value){ _prefService.createCacheLogin(dados).then((value){
Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => TelaHome(dados: dados) )); Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => TelaHome(dados: dados) ));
@@ -91,15 +91,15 @@ class _TelaLoginState extends State<TelaLogin> {
print(map); print(map);
showSnackBar(context, 'Acesso validado', Colors.green); showSnackBar(context, 'Acesso validado', Colors.green);
List <String> dados = [ List <String> dados = [
cidade.toUpperCase(), cidade.toUpperCase(),//0
map['NO_USUARIO_SISTEMA']??'', map['NO_USUARIO_SISTEMA']??'',//1
urlAPI, urlAPI,//2
map['NO_FANTASIA']??'', map['NO_FANTASIA']??'',//3
map['CD_UNIDADE'].toString()??'', map['CD_UNIDADE'].toString()??'',//4
inputLogin.text, inputLogin.text,//5
usuario, usuario,//6
inputSenha.text, inputSenha.text,//7
map['CD_USUARIO_SISTEMA'].toString() map['CD_USUARIO_SISTEMA'].toString()//8
]; ];
_prefService.createCacheLogin(dados).then((value) => _prefService.createCacheLogin(dados).then((value) =>
Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => TelaHome(dados: dados) ))); Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => TelaHome(dados: dados) )));

View File

@@ -9,7 +9,7 @@
</content> </content>
<orderEntry type="sourceFolder" forTests="false" /> <orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="Dart SDK" level="project" /> <orderEntry type="library" name="Dart SDK" level="project" />
<orderEntry type="library" name="Dart Packages" level="project" />
<orderEntry type="library" name="Flutter Plugins" level="project" /> <orderEntry type="library" name="Flutter Plugins" level="project" />
<orderEntry type="library" name="Dart Packages" level="project" />
</component> </component>
</module> </module>