salvas novas chamadas no banco na tela_faltas.dart
This commit is contained in:
@@ -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.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
@@ -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
|
||||
path.0=classes.dex
|
||||
renamed.0=classes.dex
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@@ -1 +1 @@
|
||||
8c8e0b5ffbd83354391d0b3009cab539f4e22e85
|
||||
5d83a7fc267472f956633891656b122c82d145d0
|
||||
@@ -1,46 +1,27 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:rkm_educa_prof_app/componentes/text_custom.dart';
|
||||
import '../modelos/modelo_presenca_aluno.dart';
|
||||
import '../utils/cores.dart';
|
||||
import '../utils/dimensoes.dart';
|
||||
|
||||
class ItemAlunoPresenca extends StatelessWidget {
|
||||
|
||||
String NO_ALUNO;
|
||||
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 onChanged2;
|
||||
var onChanged3;
|
||||
var onChanged4;
|
||||
var onChanged5;
|
||||
ModeloPresencaAluno aluno;
|
||||
|
||||
ItemAlunoPresenca({
|
||||
required this.NO_ALUNO,
|
||||
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.onChanged2,
|
||||
required this.onChanged3,
|
||||
required this.onChanged4,
|
||||
required this.onChanged5,
|
||||
required this.aluno
|
||||
});
|
||||
|
||||
@override
|
||||
@@ -51,53 +32,57 @@ class ItemAlunoPresenca extends StatelessWidget {
|
||||
children: [
|
||||
Container(
|
||||
width: Dimensoes.width*0.6,
|
||||
child: TextCustom(text: NO_ALUNO,size: 12.0)
|
||||
child: TextCustom(text: aluno.NO_ALUNO,size: 12.0)
|
||||
),
|
||||
Spacer(),
|
||||
CD_AULA1==0?Container():TextCustom(text: '${CD_AULA1}ª',size: 15.0),
|
||||
CD_AULA1==0?Container():Container(
|
||||
width: 25,
|
||||
child: Checkbox(
|
||||
value: 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,
|
||||
child: Checkbox(
|
||||
value: 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,
|
||||
child: Checkbox(
|
||||
value: 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,
|
||||
child: Checkbox(
|
||||
value: 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,
|
||||
child: Checkbox(
|
||||
value: FL_PRESENTE_AUSENTE5,
|
||||
activeColor: PaletaCores.cinzaEscuro,
|
||||
onChanged:!edit?null:onChanged5
|
||||
),
|
||||
aluno.STATUS!='MATRICULADO'?TextCustom(text: 'TRANSFERIDO', size: 12.0, fontWeight: FontWeight.bold,color: Colors.red,):Row(
|
||||
children: [
|
||||
aluno.CD_AULA1==0?Container():TextCustom(text: '${aluno.CD_AULA1}ª',size: 15.0),
|
||||
aluno.CD_AULA1==0?Container():Container(
|
||||
width: 25,
|
||||
child: Checkbox(
|
||||
value: aluno.FL_PRESENTE_AUSENTE1,
|
||||
activeColor: PaletaCores.cinzaEscuro,
|
||||
onChanged:!edit?null:onChanged1
|
||||
),
|
||||
),
|
||||
aluno.CD_AULA2==0?Container():TextCustom(text: '${aluno.CD_AULA2}ª',size: 15.0),
|
||||
aluno.CD_AULA2==0?Container():Container(
|
||||
width: 25,
|
||||
child: Checkbox(
|
||||
value: aluno.FL_PRESENTE_AUSENTE2,
|
||||
activeColor: PaletaCores.cinzaEscuro,
|
||||
onChanged:!edit?null: onChanged2
|
||||
),
|
||||
),
|
||||
aluno.CD_AULA3==0?Container():TextCustom(text: '${aluno.CD_AULA3}ª',size: 15.0),
|
||||
aluno.CD_AULA3==0?Container():Container(
|
||||
width: 25,
|
||||
child: Checkbox(
|
||||
value: aluno.FL_PRESENTE_AUSENTE3,
|
||||
activeColor: PaletaCores.cinzaEscuro,
|
||||
onChanged:!edit?null:onChanged3
|
||||
),
|
||||
),
|
||||
aluno.CD_AULA4==0?Container():TextCustom(text: '${aluno.CD_AULA4}ª',size: 15.0),
|
||||
aluno.CD_AULA4==0?Container():Container(
|
||||
width: 25,
|
||||
child: Checkbox(
|
||||
value: aluno.FL_PRESENTE_AUSENTE4,
|
||||
activeColor: PaletaCores.cinzaEscuro,
|
||||
onChanged:!edit?null:onChanged4
|
||||
),
|
||||
),
|
||||
aluno.CD_AULA5==0?Container():TextCustom(text: '${aluno.CD_AULA5}ª',size: 15.0),
|
||||
aluno.CD_AULA5==0?Container():Container(
|
||||
width: 25,
|
||||
child: Checkbox(
|
||||
value: aluno.FL_PRESENTE_AUSENTE5,
|
||||
activeColor: PaletaCores.cinzaEscuro,
|
||||
onChanged:!edit?null:onChanged5
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
],
|
||||
),
|
||||
|
||||
@@ -2,6 +2,7 @@ import 'dart:convert';
|
||||
import 'package:gainer_crypto/crypto.dart';
|
||||
import 'package:http/http.dart' as http;
|
||||
import 'package:intl/intl.dart';
|
||||
import 'package:rkm_educa_prof_app/modelos/modelo_presenca_aluno.dart';
|
||||
|
||||
class MainControllers{
|
||||
encrypt(String senhaDigitada,String senhaUsuario) {
|
||||
@@ -80,4 +81,152 @@ class MainControllers{
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,6 @@
|
||||
class ModeloPresencaAluno{
|
||||
String DT_DIARIO_CLASSE;
|
||||
int CD_SALA;
|
||||
int CD_AULA1;
|
||||
int CD_AULA2;
|
||||
int CD_AULA3;
|
||||
@@ -15,9 +16,12 @@ class ModeloPresencaAluno{
|
||||
String NO_ALUNO;
|
||||
String NR_TURMA;
|
||||
int CD_DISCIPLINA;
|
||||
String STATUS;
|
||||
String STATUS_DADOS;
|
||||
|
||||
ModeloPresencaAluno({
|
||||
required this.DT_DIARIO_CLASSE,
|
||||
required this.CD_SALA,
|
||||
required this.CD_MATRICULA,
|
||||
required this.CD_ALUNO,
|
||||
required this.NO_ALUNO,
|
||||
@@ -33,5 +37,7 @@ class ModeloPresencaAluno{
|
||||
this.FL_PRESENTE_AUSENTE3 = false,
|
||||
this.FL_PRESENTE_AUSENTE4 = false,
|
||||
this.FL_PRESENTE_AUSENTE5 = false,
|
||||
required this.STATUS,
|
||||
this.STATUS_DADOS = 'NOVO'
|
||||
});
|
||||
}
|
||||
@@ -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/snackBars.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_presenca_aluno.dart';
|
||||
import '../componentes/appbar_custom.dart';
|
||||
import '../componentes/drawer_custom.dart';
|
||||
import '../componentes/item_subtitulo_texto.dart';
|
||||
import '../modelos/modelo_disciplina.dart';
|
||||
import '../modelos/modelo_presenca_aluno.dart';
|
||||
import '../utils/cores.dart';
|
||||
import '../utils/dimensoes.dart';
|
||||
|
||||
@@ -35,6 +36,7 @@ class _TelaFaltasState extends State<TelaFaltas> {
|
||||
List<ModeloDisciplina> disciplinas = [];
|
||||
List<ModeloPeriodo> periodos = [];
|
||||
List<ModeloPresencaAluno> alunos = [];
|
||||
List<int> AULAS = [];
|
||||
List turmas = [];
|
||||
List tipoEnsino = [];
|
||||
ModeloDisciplina? selecionaDisciplina;
|
||||
@@ -51,6 +53,10 @@ class _TelaFaltasState extends State<TelaFaltas> {
|
||||
double hightLine = 40;
|
||||
int DIA_SEMANA = 0;
|
||||
bool edit = false;
|
||||
bool novaChamada = false;
|
||||
String SIGLA_TIPO_ENSINO = '';
|
||||
List<int> DIARIO_CLASSE = [];
|
||||
bool SALVANDO = false;
|
||||
EventList<Event> _markedDateMap = new EventList<Event>(
|
||||
events: {},
|
||||
);
|
||||
@@ -63,7 +69,7 @@ class _TelaFaltasState extends State<TelaFaltas> {
|
||||
width: 40,
|
||||
height: 40,
|
||||
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(
|
||||
'${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){
|
||||
List duplicada = turmas.toSet().toList();
|
||||
turmas = duplicada;
|
||||
@@ -151,23 +160,35 @@ class _TelaFaltasState extends State<TelaFaltas> {
|
||||
|
||||
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]}';
|
||||
print(url);
|
||||
// print(url);
|
||||
final response = await http.get(Uri.parse(url));
|
||||
List map = json.decode(response.body);
|
||||
if(map.isNotEmpty){
|
||||
print(map);
|
||||
// print(map);
|
||||
AULAS.clear();
|
||||
List diasSemana = [];
|
||||
List semana = ['DOMINGO', 'SEGUNDAS', 'TERÇAS', 'QUARTAS', 'QUINTAS', 'SEXTAS', 'SÁBADOS'];
|
||||
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)){
|
||||
_dataSelecionada = null;
|
||||
_markedDateMap.clear();
|
||||
showSnackBar(context, 'ESSA AULA É AS ${semana[diasSemana[0]]}!', Colors.red);
|
||||
}else{
|
||||
if(_dataSelecionada!=null){
|
||||
buscarchamadasrealizadas(CD_SALA,CD_DISCIPLINA);
|
||||
// print('dias das aulas');
|
||||
// print(diasSemana);
|
||||
// print('aulas');
|
||||
// print(AULAS);
|
||||
buscarchamadasrealizadas();
|
||||
}else{
|
||||
showSnackBar(context, 'Selecione uma data!', Colors.red);
|
||||
}
|
||||
@@ -176,18 +197,20 @@ class _TelaFaltasState extends State<TelaFaltas> {
|
||||
setState(() {});
|
||||
}
|
||||
|
||||
buscarchamadasrealizadas(int CD_SALA,int CD_DISCIPLINA)async{
|
||||
buscarchamadasrealizadas()async{
|
||||
String dia = _dataSelecionada!.day.toString();
|
||||
String mes = _dataSelecionada!.month.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]}';
|
||||
print(url);
|
||||
final url = '${widget.dados[2]}/buscarchamadasrealizadas?'
|
||||
'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));
|
||||
List map = json.decode(response.body);
|
||||
print(map);
|
||||
// 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']);
|
||||
@@ -196,6 +219,7 @@ class _TelaFaltasState extends State<TelaFaltas> {
|
||||
alunos.add(
|
||||
ModeloPresencaAluno(
|
||||
DT_DIARIO_CLASSE: map[i]['DT_DIARIO_CLASSE'],
|
||||
CD_SALA: CD_SALA,
|
||||
CD_MATRICULA: map[i]['CD_MATRICULA'],
|
||||
CD_ALUNO: map[i]['CD_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_AULA4: map[i]['CD_AULA'] == 4?4: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_AUSENTE2: map[i]['FL_PRESENTE_AUSENTE'].toString().toUpperCase()=='A' && map[i]['CD_AULA'] == 2?true:false,
|
||||
FL_PRESENTE_AUSENTE3: map[i]['FL_PRESENTE_AUSENTE'].toString().toUpperCase()=='A' && map[i]['CD_AULA'] == 3?true:false,
|
||||
FL_PRESENTE_AUSENTE4: map[i]['FL_PRESENTE_AUSENTE'].toString().toUpperCase()=='A' && map[i]['CD_AULA'] == 4?true:false,
|
||||
FL_PRESENTE_AUSENTE5: map[i]['FL_PRESENTE_AUSENTE'].toString().toUpperCase()=='A' && map[i]['CD_AULA'] == 5?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'?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'?true:false,
|
||||
FL_PRESENTE_AUSENTE5: map[i]['FL_PRESENTE_AUSENTE'].toString().toUpperCase()=='A'?true:false,
|
||||
STATUS: map[i]['STATUS'],
|
||||
)
|
||||
);
|
||||
}else{
|
||||
@@ -232,31 +257,137 @@ class _TelaFaltasState extends State<TelaFaltas> {
|
||||
}
|
||||
}
|
||||
}
|
||||
novaChamada = false;
|
||||
SALVANDO = false;
|
||||
edit = false;
|
||||
print('alunos : ${alunos.length}');
|
||||
}else{
|
||||
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(() {});
|
||||
}
|
||||
|
||||
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){
|
||||
_markedDateMap.clear();
|
||||
_markedDateMap.add(
|
||||
date,
|
||||
Event(
|
||||
date: date,
|
||||
icon: _eventIcon(date.day.toString(),Colors.indigo)
|
||||
)
|
||||
);
|
||||
|
||||
int resultado = date.compareTo(DateTime.now());
|
||||
|
||||
print(resultado);
|
||||
|
||||
if(resultado <= 0 ){
|
||||
_markedDateMap.clear();_markedDateMap.add(
|
||||
date,
|
||||
Event(
|
||||
date: date,
|
||||
icon: _eventIcon(date.day.toString(),Colors.deepOrangeAccent)
|
||||
)
|
||||
);
|
||||
|
||||
alunos.clear();
|
||||
selecionaDisciplina = null;
|
||||
_dataSelecionada = date;
|
||||
DIA_SEMANA = date.weekday;
|
||||
setState(() {});
|
||||
events.forEach((event) => print(event.title));
|
||||
print(_dataSelecionada);
|
||||
setState(() {});
|
||||
// events.forEach((event) => print(event.title));
|
||||
print(_dataSelecionada);
|
||||
}else{
|
||||
showSnackBar(context, 'Esta data maior do que a atual', Colors.red);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@override
|
||||
@@ -275,6 +406,13 @@ class _TelaFaltasState extends State<TelaFaltas> {
|
||||
fontSize: 14
|
||||
);
|
||||
|
||||
TextStyle selectedDayTextStyle = TextStyle(
|
||||
color: Colors.white,
|
||||
fontWeight: FontWeight.bold,
|
||||
fontFamily: 'Nunito',
|
||||
fontSize: 14
|
||||
);
|
||||
|
||||
TextStyle textStyleFDS = TextStyle(
|
||||
color: Colors.red,
|
||||
fontWeight: FontWeight.bold,
|
||||
@@ -286,18 +424,18 @@ class _TelaFaltasState extends State<TelaFaltas> {
|
||||
locale: 'pt',
|
||||
weekdayTextStyle: TextStyle(color: PaletaCores.cinza,fontSize: 14,fontFamily: 'Nunito',),
|
||||
daysTextStyle: textStyle,
|
||||
selectedDayButtonColor: Colors.indigo,
|
||||
selectedDayButtonColor: Colors.deepOrangeAccent,
|
||||
weekendTextStyle: textStyleFDS,
|
||||
markedDatesMap: _markedDateMap,
|
||||
height: Dimensoes.height*0.45,
|
||||
targetDateTime: dataAtual,
|
||||
markedDateCustomTextStyle: textStyle,
|
||||
markedDateCustomTextStyle: selectedDayTextStyle,
|
||||
markedDateMoreShowTotal: null,
|
||||
showHeader: false,
|
||||
todayTextStyle: textStyle,
|
||||
isScrollable: false,
|
||||
todayButtonColor: Colors.green,
|
||||
selectedDayTextStyle: textStyle,
|
||||
todayButtonColor: Colors.white,
|
||||
selectedDayTextStyle: selectedDayTextStyle,
|
||||
minSelectedDate: DT_INICIAL,
|
||||
maxSelectedDate: DT_FINAL,
|
||||
markedDateIconBuilder: (event){
|
||||
@@ -312,12 +450,12 @@ class _TelaFaltasState extends State<TelaFaltas> {
|
||||
return Scaffold(
|
||||
appBar: AppBarCustom().appbar(context, 'LANÇAMENTO DE FALTAS'),
|
||||
drawer: DrawerCustom(dados: widget.dados,),
|
||||
floatingActionButton: edit?Row(
|
||||
floatingActionButton: exibirCalendario?Container():edit?Row(
|
||||
crossAxisAlignment: CrossAxisAlignment.center,
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
children: [
|
||||
CircleAvatar(
|
||||
SALVANDO?Container():CircleAvatar(
|
||||
backgroundColor: Colors.red,
|
||||
child: IconButton(
|
||||
icon: Icon(Icons.clear,color: Colors.white,),
|
||||
@@ -328,11 +466,28 @@ class _TelaFaltasState extends State<TelaFaltas> {
|
||||
),
|
||||
),
|
||||
SizedBox(width: 10,),
|
||||
CircleAvatar(
|
||||
SALVANDO?Container():CircleAvatar(
|
||||
backgroundColor: PaletaCores.verdeCalendario,
|
||||
child: IconButton(
|
||||
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,
|
||||
Center(child: TextButton(
|
||||
style: TextButton.styleFrom(
|
||||
backgroundColor: PaletaCores.verdeCalendario,
|
||||
backgroundColor: Colors.deepOrangeAccent,
|
||||
),
|
||||
onPressed: ()=>setState(()=>exibirCalendario = false),
|
||||
child: TextCustom(text: 'SELECIONAR', color: Colors.white, size: 10.0),
|
||||
@@ -467,7 +622,19 @@ class _TelaFaltasState extends State<TelaFaltas> {
|
||||
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(
|
||||
children: [
|
||||
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,
|
||||
child: ListView.builder(
|
||||
itemCount: alunos.length,
|
||||
itemBuilder: (context, index){
|
||||
return ItemAlunoPresenca(
|
||||
NO_ALUNO: alunos[index].NO_ALUNO,
|
||||
edit: edit,
|
||||
CD_AULA1: alunos[index].CD_AULA1,
|
||||
CD_AULA2: alunos[index].CD_AULA2,
|
||||
CD_AULA3: alunos[index].CD_AULA3,
|
||||
CD_AULA4: alunos[index].CD_AULA4,
|
||||
CD_AULA5: alunos[index].CD_AULA5,
|
||||
FL_PRESENTE_AUSENTE1: alunos[index].FL_PRESENTE_AUSENTE1,
|
||||
FL_PRESENTE_AUSENTE2: alunos[index].FL_PRESENTE_AUSENTE2,
|
||||
FL_PRESENTE_AUSENTE3: alunos[index].FL_PRESENTE_AUSENTE3,
|
||||
FL_PRESENTE_AUSENTE4: alunos[index].FL_PRESENTE_AUSENTE4,
|
||||
FL_PRESENTE_AUSENTE5: alunos[index].FL_PRESENTE_AUSENTE5,
|
||||
onChanged1: (value)=>setState(()=>alunos[index].FL_PRESENTE_AUSENTE1 = value!),
|
||||
onChanged2: (value)=>setState(()=>alunos[index].FL_PRESENTE_AUSENTE2 = value!),
|
||||
onChanged3: (value)=>setState(()=>alunos[index].FL_PRESENTE_AUSENTE3 = value!),
|
||||
onChanged4: (value)=>setState(()=>alunos[index].FL_PRESENTE_AUSENTE4 = value!),
|
||||
onChanged5: (value)=>setState(()=>alunos[index].FL_PRESENTE_AUSENTE5 = value!)
|
||||
onChanged1: (value)=>setState((){
|
||||
alunos[index].FL_PRESENTE_AUSENTE1 = value!;
|
||||
alunos[index].STATUS_DADOS = 'ALTERADO';
|
||||
}),
|
||||
onChanged2: (value)=>setState((){
|
||||
alunos[index].FL_PRESENTE_AUSENTE2 = value!;
|
||||
alunos[index].STATUS_DADOS = 'ALTERADO';
|
||||
}),
|
||||
onChanged3: (value)=>setState((){
|
||||
alunos[index].FL_PRESENTE_AUSENTE3 = value!;
|
||||
alunos[index].STATUS_DADOS = 'ALTERADO';
|
||||
}),
|
||||
onChanged4: (value)=>setState((){
|
||||
alunos[index].FL_PRESENTE_AUSENTE4 = value!;
|
||||
alunos[index].STATUS_DADOS = 'ALTERADO';
|
||||
}),
|
||||
onChanged5: (value)=>setState((){
|
||||
alunos[index].FL_PRESENTE_AUSENTE5 = value!;
|
||||
alunos[index].STATUS_DADOS = 'ALTERADO';
|
||||
}),
|
||||
aluno: alunos[index],
|
||||
);
|
||||
},
|
||||
),
|
||||
|
||||
@@ -67,15 +67,15 @@ class _TelaLoginState extends State<TelaLogin> {
|
||||
if(map['NO_USERNAME']==usuario && map['SENHA']==inputSenha.text.toUpperCase()){
|
||||
showSnackBar(context, 'Acesso validado', Colors.green);
|
||||
List <String> dados = [
|
||||
cidade.toUpperCase(),
|
||||
map['NO_USUARIO_SISTEMA']??'',
|
||||
urlAPI,
|
||||
map['NO_FANTASIA']??'',
|
||||
map['CD_UNIDADE'].toString()??'',
|
||||
inputLogin.text,
|
||||
usuario,
|
||||
inputSenha.text,
|
||||
map['CD_USUARIO_SISTEMA'].toString()
|
||||
cidade.toUpperCase(),//0
|
||||
map['NO_USUARIO_SISTEMA']??'',//1
|
||||
urlAPI,//2
|
||||
map['NO_FANTASIA']??'',//3
|
||||
map['CD_UNIDADE'].toString()??'',//4
|
||||
inputLogin.text,//5
|
||||
usuario,//6
|
||||
inputSenha.text,//7
|
||||
map['CD_USUARIO_SISTEMA'].toString()//8
|
||||
];
|
||||
_prefService.createCacheLogin(dados).then((value){
|
||||
Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => TelaHome(dados: dados) ));
|
||||
@@ -91,15 +91,15 @@ class _TelaLoginState extends State<TelaLogin> {
|
||||
print(map);
|
||||
showSnackBar(context, 'Acesso validado', Colors.green);
|
||||
List <String> dados = [
|
||||
cidade.toUpperCase(),
|
||||
map['NO_USUARIO_SISTEMA']??'',
|
||||
urlAPI,
|
||||
map['NO_FANTASIA']??'',
|
||||
map['CD_UNIDADE'].toString()??'',
|
||||
inputLogin.text,
|
||||
usuario,
|
||||
inputSenha.text,
|
||||
map['CD_USUARIO_SISTEMA'].toString()
|
||||
cidade.toUpperCase(),//0
|
||||
map['NO_USUARIO_SISTEMA']??'',//1
|
||||
urlAPI,//2
|
||||
map['NO_FANTASIA']??'',//3
|
||||
map['CD_UNIDADE'].toString()??'',//4
|
||||
inputLogin.text,//5
|
||||
usuario,//6
|
||||
inputSenha.text,//7
|
||||
map['CD_USUARIO_SISTEMA'].toString()//8
|
||||
];
|
||||
_prefService.createCacheLogin(dados).then((value) =>
|
||||
Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => TelaHome(dados: dados) )));
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
</content>
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
<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="Dart Packages" level="project" />
|
||||
</component>
|
||||
</module>
|
||||
Reference in New Issue
Block a user