feito o cadastro do cidadão

This commit is contained in:
Reginaldo
2023-04-13 22:54:17 -03:00
parent cdee8fcc44
commit 632cdbfeef
34 changed files with 2076 additions and 1108 deletions

View File

@@ -6,17 +6,10 @@ import 'package:rkm/utils/color_palette.dart';
import 'package:rkm/widgets/alert_dialog_default.dart';
import 'package:rkm/widgets/button_default.dart';
import 'package:rkm/widgets/text_default.dart';
import '../models/args_load_init_model.dart';
import '../service/api/api_data_load.dart';
import '../service/db/db_sqlite_load.dart';
import '../service/shared_preferences/shared_preferences_service.dart';
class SyncInitScreen extends StatefulWidget {
ArgsLoadInitModel args;
SyncInitScreen({
required this.args,
});
@override
State<SyncInitScreen> createState() => _SyncInitScreenState();
@@ -29,24 +22,51 @@ class _SyncInitScreenState extends State<SyncInitScreen> {
bool finish = false;
String idUsuario = '';
String idUnidade = '';
String nomeUnidade = '';
String area = '';
String microarea = '';
bool foraArea = false;
String urlAPI='';
String mode = '';
String nameCityApi = '';
String nameCityFront = '';
String user = '';
int codCity = 0;
int codCityIbge = 0;
String codState = '';
@override
void initState() {
super.initState();
dataUser();
recupDB();
}
recupDB()async{
await DbSqliteLoad().intialDB().then((db)async{
List list = await db.query('ARGS');
urlAPI = list[0]['URLAPI'];
mode = list[0]['MODE'];
nameCityApi = list[0]['NAME_CITY_API'];
nameCityFront = list[0]['NAME_CITY_FRONT'];
user = list[0]['USER'];
codCity = list[0]['COD_CITY'];
codState = list[0]['COD_STATE'];
codCityIbge = list[0]['COD_IBGE'];
if(urlAPI!=''){
dataUser();
}
});
}
dataUser()async{
_prefService.readCacheIdUnidade('idUnidade').then((id)async{
_prefService.readCacheUnidade('idUnidade').then((listUnidade)async{
_prefService.readCacheSync('area', false).then((list){
foraArea = list[1];
List splited = list[0].split(': ');
area = splited[2].toString().substring(0,1);
microarea = splited[3];
idUnidade = id;
idUnidade = listUnidade[0];
nomeUnidade = listUnidade[1];
initSync();
});
});
@@ -54,75 +74,75 @@ class _SyncInitScreenState extends State<SyncInitScreen> {
initSync()async{
await DbSqliteSync().deleteSync().then((_)async{
await ApiDataSync().syncPerm(widget.args).then((response)async{
await ApiDataSync().syncPerm(urlAPI,mode,nameCityApi,user).then((response)async{
if(response['status'] == 0 || response['sync_perm'] != "S"){
AlertDialogDefault().alert(context, 'Erro', 'Usuário sem permissão para Sincronização de Unidade!', 'Voltar');
}else{
setState(()=> messageSteps = "Etapa 1 de 10 - Importando informações do CONECTASUS");
await ApiDataSync().syncBairros(widget.args).then((value)async{
await ApiDataSync().syncBairros(urlAPI,mode,nameCityApi,user).then((value)async{
if(value.length == 0){
setState(()=> messageSteps = "ERRO: Erro para carregar os Bairros - Por favor, tente novamente!");
}else{
setState(()=> messageSteps = "Etapa 2 de 10 - Gravando os Bairros no Aplicativo");
}
await DbSqliteSync().insertBairros(value).then((value)async{
await ApiDataSync().syncTiposLogradouros(widget.args).then((value)async{
await ApiDataSync().syncTiposLogradouros(urlAPI,mode,nameCityApi,user).then((value)async{
if(value.length == 0){
setState(()=> messageSteps = "ERRO: Erro para carregar os Tipos de Logradouros - Por favor, tente novamente!");
}else{
setState(()=> messageSteps = "Etapa 3 de 10 - Gravando os Tipos de Logradouros no Aplicativo");
}
await DbSqliteSync().insertTiposLogradouros(value).then((value)async{
await ApiDataSync().syncLogradouros(widget.args).then((value)async{
await ApiDataSync().syncLogradouros(urlAPI,mode,nameCityApi,user).then((value)async{
if(value.length == 0){
setState(()=> messageSteps = "ERRO: Erro para carregar os Logradouros - Por favor, tente novamente!");
}else{
setState(()=> messageSteps = "Etapa 4 de 10 - Gravando os Logradouros no Aplicativo");
}
await DbSqliteSync().insertLogradouros(value).then((value)async{
await ApiDataSync().syncLoteamentos(widget.args).then((value)async{
await ApiDataSync().syncLoteamentos(urlAPI,mode,nameCityApi,user).then((value)async{
if(value.length == 0){
setState(()=> messageSteps = "ERRO: Erro para carregar os Loteamentos - Por favor, tente novamente!");
}else{
setState(()=> messageSteps = "Etapa 5 de 10 - Gravando os Loteamentos no Aplicativo");
}
await DbSqliteSync().insertLoteamentos(value).then((value)async{
await ApiDataSync().syncProfissionais(widget.args,idUnidade).then((value)async{
await ApiDataSync().syncProfissionais(urlAPI,mode,nameCityApi,user,idUnidade).then((value)async{
if(value.length == 0){
setState(()=> messageSteps = "ERRO: Erro para carregar os Profissionais - Por favor, tente novamente!");
}else{
setState(()=> messageSteps = "Etapa 6 de 10 - Gravando os Profissionais no Aplicativo");
}
await DbSqliteSync().insertProfissionais(value).then((value)async{
await ApiDataSync().syncProfissionaisCBOs(widget.args,idUnidade).then((value)async{
await ApiDataSync().syncProfissionaisCBOs(urlAPI,mode,nameCityApi,user,idUnidade).then((value)async{
if(value.length == 0){
setState(()=> messageSteps = "ERRO: Erro para carregar os CBOs dos Profissionais - Por favor, tente novamente!");
}else{
setState(()=> messageSteps = "Etapa 7 de 10 - Gravando os CBO´s dos Profissionais no Aplicativo");
}
await DbSqliteSync().insertProfissionaisCBOs(value).then((value)async{
await ApiDataSync().syncCidadaos(widget.args,idUnidade,area,microarea,foraArea).then((value)async{
await ApiDataSync().syncCidadaos(urlAPI,mode,nameCityApi,user,idUnidade,area,microarea,foraArea).then((value)async{
if(value.length == 0){
setState(()=> messageSteps = "ERRO: Erro para carregar os Cadastros dos Cidadãos - Por favor, tente novamente!");
}else{
setState(()=> messageSteps = "Etapa 8 de 10 - Gravando os Cidadãos no Aplicativo");
}
await DbSqliteSync().insertCidadaos(value).then((value)async{
await ApiDataSync().syncCadastrosDomiciliares(widget.args,idUnidade,area,microarea,foraArea).then((value)async{
await DbSqliteSync().insertCidadaos(value,'sync').then((value)async{
await ApiDataSync().syncCadastrosDomiciliares(urlAPI,mode,nameCityApi,user,idUnidade,area,microarea,foraArea).then((value)async{
if(value.length == 0){
setState(()=> messageSteps = "ERRO: Erro para carregar os Cadastros Domiciliares - Por favor, tente novamente!");
}else{
setState(()=> messageSteps = "Etapa 9 de 10 - Gravando os Cadastros Domiciliares no Aplicativo");
}
await DbSqliteSync().insertCadastrosDomiciliares(value).then((value)async{
await ApiDataSync().syncCadastrosIndividuais(widget.args,idUnidade,area,microarea,foraArea).then((value)async{
await ApiDataSync().syncCadastrosIndividuais(urlAPI,mode,nameCityApi,user,idUnidade,area,microarea,foraArea).then((value)async{
if(value.length == 0){
setState(()=> messageSteps = "ERRO: Erro para carregar os Cadastros Individuais - Por favor, tente novamente!");
}else{
setState(()=> messageSteps = "Etapa 10 de 10 - Gravando os Cadastros Individuais no Aplicativo");
}
await DbSqliteSync().insertCadastrosIndividuais(value).then((value)async{
await DbSqliteSync().saveSync(widget.args,idUnidade,area,microarea).then((value)async{
await DbSqliteSync().saveSync(codCity,codState,urlAPI,mode,nameCityApi,nameCityFront,codCityIbge,user,idUnidade,nomeUnidade,area,microarea).then((value)async{
Navigator.pushNamed(context, '/home');
});
});
@@ -167,7 +187,7 @@ class _SyncInitScreenState extends State<SyncInitScreen> {
onPressed: (){
Navigator.pushReplacement(
context,
MaterialPageRoute(builder: (context) => SyncLoginScreen(args: widget.args)),
MaterialPageRoute(builder: (context) => SyncLoginScreen()),
);
},
title: 'Continuar',