diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index 4b52cd1..69d72cc 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -8,6 +8,7 @@ android:icon="@mipmap/ic_launcher"> RGUF = ['AC','AI','AL','AM','AN','AP','AS','BA','BY','CA','CB','CE','CH','CN','CO','DC','DF','ES','GD','GO','GU', diff --git a/lib/screens/configurations/import_sigtap_screen.dart b/lib/screens/configurations/import_sigtap_screen.dart index b6359eb..b40ebd9 100644 --- a/lib/screens/configurations/import_sigtap_screen.dart +++ b/lib/screens/configurations/import_sigtap_screen.dart @@ -46,22 +46,101 @@ class _ImportSigtapScreenState extends State { stage = "Etapa 1 de 4 - Importando informações do CONECTASUS"; }); await ApiDataImportSigtap().loadSIGTAP(urlAPI, mode, nameCityApi).then((valueAPI)async{ - setState(() { - stage = "Etapa 2 de 4 - Gravando os Procedimentos no Aplicativo"; - }); - // print(valueAPI['procedimentos']); - await DbSqliteSigtap().saveProceduresSigtapDB(valueAPI['procedimentos']).then((value)async{ - await DbSqliteSigtap().saveProceduresRegisterSigtapDB(valueAPI['procedimentosRegistros']).then((value)async{ + + List> rows = []; + List procedimentos = valueAPI['procedimentos']; + print(procedimentos); + if(procedimentos.isNotEmpty){ + for(int i=0;procedimentos.length > i;i++){ + Map row = { + 'COD_PROC_SIGTAP' : procedimentos[i]['codProcedimento'], + 'DESC_PROC_SIGTAP' : procedimentos[i]['nome'], + 'GRUPO_PROC_SIGTAP' : procedimentos[i]['codGrupo'], + 'QTDE_MAXIMA' : procedimentos[i]['qtdeMax'], + 'IDADE_MIN' : procedimentos[i]['idadeMin'], + 'IDADE_MAX' : procedimentos[i]['idadeMax'], + 'SEXO' : procedimentos[i]['sexo'], + }; + rows.add(row); + setState(() {}); + } + } + await DbSqliteSigtap().saveProceduresSigtapDB(rows).then((value)async{ + setState(() { + stage = "Etapa 2 de 4 - Gravando os Procedimentos no Aplicativo"; + }); + List> rows = []; + List list = valueAPI['procedimentosRegistros']; + if(list.isNotEmpty) { + for (int i = 0; list.length > i; i++) { + Map row = { + 'COD_PROC_SIGTAP': list[i]['codProcedimento'], + 'CODIGO_REGISTRO': list[i]['codRegistro'], + }; + rows.add(row); + setState(() {}); + } + } + await DbSqliteSigtap().saveProceduresRegisterSigtapDB(rows).then((value)async{ setState(() { stage = "Etapa 3 de 4 - Gravando os CIDs no Aplicativo"; }); - await DbSqliteSigtap().saveSigtapCID(valueAPI['CID']).then((value)async{ - await DbSqliteSigtap().saveProceduresSigtapCID(valueAPI['procedimentosCID']).then((value)async{ - setState(() { - stage = "Etapa 4 de 4 - Gravando os CIDs no Aplicativo"; - }); - await DbSqliteSigtap().saveCBOSigtap(valueAPI['CBO']).then((value)async{ - await DbSqliteSigtap().saveProceduresCBOSigtap(valueAPI['procedimentosCBO']).then((value)async{ + List> rows = []; + List list = valueAPI['CID']; + if(list.isNotEmpty) { + for (int i = 0; list.length > i; i++) { + Map row = { + 'CODIGO_CID' : list[i]['codCID'], + 'DESCRICAO_CID' : list[i]['descCID'], + 'RESTRICAO_SEXO' : list[i]['restSexo'], + }; + rows.add(row); + setState(() {}); + } + } + await DbSqliteSigtap().saveSigtapCID(rows).then((value)async{ + setState(() { + stage = "Etapa 4 de 4 - Gravando os CIDs no Aplicativo"; + }); + List> rows = []; + List list = valueAPI['procedimentosCID']; + if(list.isNotEmpty) { + for (int i = 0; list.length > i; i++) { + Map row = { + 'COD_PROC_SIGTAP' : list[i]['codProcedimento'], + 'CODIGO_CID' : list[i]['codCID'], + }; + rows.add(row); + setState(() {}); + } + } + await DbSqliteSigtap().saveProceduresSigtapCID(rows).then((value)async{ + List> rows = []; + List list = valueAPI['CBO']; + if(list.isNotEmpty) { + for (int i = 0; list.length > i; i++) { + Map row = { + 'CODIGO_CBO' : list[i]['codCBO'], + 'DESCRICAO_CBO' : list[i]['descCBO'], + }; + rows.add(row); + setState(() {}); + } + } + await DbSqliteSigtap().saveCBOSigtap(rows).then((value)async{ + List> rows = []; + List list = valueAPI['procedimentosCBO']; + if(list.isNotEmpty) { + for (int i = 0; list.length > i; i++) { + Map row = { + 'COD_PROC_SIGTAP' : list[i]['codProcedimento'], + 'CODIGO_CBO' : list[i]['codCBO'], + }; + rows.add(row); + setState(() {}); + } + } + await DbSqliteSigtap().saveProceduresCBOSigtap(rows).then((value)async{ await DbSqliteSigtap().saveSyncSigtap(valueAPI['competencia']).then((value)async{ setState(() { finish = true; diff --git a/lib/screens/load_init_screen.dart b/lib/screens/load_init_screen.dart index 14ac6e1..aa9bc77 100644 --- a/lib/screens/load_init_screen.dart +++ b/lib/screens/load_init_screen.dart @@ -6,6 +6,7 @@ import 'package:rkm/widgets/button_default.dart'; import 'package:rkm/widgets/text_default.dart'; import '../config/const_variable.dart'; import '../service/api/api_data_load.dart'; +import '../service/db/db_querys.dart'; import '../service/db/db_sqlite_load.dart'; import '../service/shared_preferences/shared_preferences_service.dart'; @@ -20,12 +21,11 @@ class _LoadInitScreenState extends State { final PrefService _prefService = PrefService(); String messageSteps = 'Aguarde ...'; bool finish = false; - String idUsuario = ''; String mode = ''; String urlAPI = ''; bool loading = false; String nameCityApi = ''; - String user = ''; + String username = ''; double countProg = 0.0; @override @@ -40,7 +40,7 @@ class _LoadInitScreenState extends State { urlAPI = list[0]['URLAPI']; mode = list[0]['MODE']; nameCityApi = list[0]['NAME_CITY_API']; - user = list[0]['USER']; + username = list[0]['USER']; if(urlAPI!=''){ initLoading(); } @@ -48,295 +48,293 @@ class _LoadInitScreenState extends State { } initLoading()async{ - await ApiDataLoad().loadPerm(urlAPI,mode,nameCityApi,user).then((response)async{ + await ApiDataLoad().loadPerm(urlAPI,mode,nameCityApi,username).then((response)async{ + print(response); if(response['status'] == 0){ AlertDialogDefault().alert(context, 'Erro', 'Permissão negada', 'Voltar'); } else if(response['status'] == 1 && response['load_perm'] == "S") { - idUsuario = response['idUsuario'].toString(); - print('idUsuario $idUsuario'); - _prefService.createCacheidUsuario(idUsuario).then((value)async{ - await ApiDataLoad().loadUnidades(urlAPI,mode,nameCityApi,user).then((value)async{ - List list = value; - List> rows = []; - if(list.length !=0){ - setState(() { - messageSteps = "Etapa 1 de 11 - Gravando as Unidades no Aplicativo"; - }); - for (int i = 0; i < list.length; i++) { - Map row = { - 'ID_UNIDADE': list[i]['idUnidade'], - 'NOME_UNIDADE': list[i]['nomeFantasia'], - 'CNES_UNIDADE': list[i]['nrCNES'] - }; - rows.add(row); - countProg = 0.1; - setState(() {}); - } - await DbSqliteLoad().saveUnidadesDB(rows).then((value)async{ - await ApiDataLoad().loadProcedimentos(urlAPI,mode,nameCityApi,user).then((value)async{ - List list = value; - List> rows = []; - if(list.length !=0){ - setState(() { - messageSteps = "Etapa 2 de 11 - Gravando os Procedimentos no Aplicativo"; - }); - for (int i = 0; i < list.length; i++) { - Map row = { - 'COD_PROC_SIGTAP' : list[i]['codProcedimento'], - 'DESC_PROC_SIGTAP' : list[i]['nome'], - 'GRUPO_PROC_SIGTAP' : list[i]['codGrupo'], - 'QTDE_MAXIMA' : list[i]['qtdeMax'], - 'IDADE_MIN' : list[i]['idadeMin'], - 'IDADE_MAX' : list[i]['idadeMax'], - 'SEXO' : list[i]['sexo'], - }; - rows.add(row); - countProg = 0.2; - setState(() {}); - } - await DbSqliteLoad().saveProceduresDB(rows).then((value)async{ - print('finalizou save Procedures'); - await ApiDataLoad().loadProcedimentosRegistros(urlAPI,mode,nameCityApi,user).then((value)async{ - List list = value; - List> rows = []; - if(list.length !=0){ - setState(() { - messageSteps = "Etapa 3 de 11 - Gravando os Procedimentos Registros no Aplicativo"; - }); - print('finalizou saveProceduresRegisterDB'); - for (int i = 0; i < list.length; i++) { - Map row = { - 'COD_PROC_SIGTAP' : list[i]['codProcedimento'], - 'CODIGO_REGISTRO' : list[i]['codRegistro'], - }; - rows.add(row); - countProg = 0.3; - setState(() {}); - } - await DbSqliteLoad().saveProceduresRegisterDB(rows).then((value)async{ - await ApiDataLoad().loadCID(urlAPI,mode,nameCityApi,user).then((value)async{ - print('loadCID'); - List list = value; - List> rows = []; - if(list.length !=0){ - setState(() { - messageSteps = "Etapa 4 de 11 - Gravando os CIDs no Aplicativo"; - }); - for (int i = 0; i < list.length; i++) { - Map row = { - 'CODIGO_CID' : list[i]['codCID'], - 'DESCRICAO_CID' : list[i]['descCID'], - 'RESTRICAO_SEXO' : list[i]['restSexo'], - }; - rows.add(row); - countProg = 0.4; - setState(() {}); - } - await DbSqliteLoad().saveCID(rows).then((value)async{ - print('finalizou saveCID'); - await ApiDataLoad().loadProcedimentosCID(urlAPI,mode,nameCityApi,user).then((value)async{ - print('loadProcedimentosCID'); - List list = value; - List> rows = []; - if(list.length !=0){ - setState(() { - messageSteps = "Etapa 5 de 11 - Gravando os Procedimentos CIDs no Aplicativo"; - }); - for (int i = 0; i < list.length; i++) { - Map row = { - 'COD_PROC_SIGTAP' : list[i]['codProcedimento'], - 'CODIGO_CID' : list[i]['codCID'], - }; - rows.add(row); - countProg = 0.5; - setState(() {}); - } - await DbSqliteLoad().saveProceduresCID(rows).then((value)async{ - print('finalizou saveProceduresCID'); - await ApiDataLoad().loadCBO(urlAPI,mode,nameCityApi,user).then((value)async{ - print('loadCBO'); - List list = value; - List> rows = []; - if(list.length !=0){ - setState(() { - messageSteps = "Etapa 6 de 11 - Gravando os CBOs no Aplicativo"; - }); - for (int i = 0; i < list.length; i++) { - Map row = { - 'CODIGO_CBO' : list[i]['codCBO'], - 'DESCRICAO_CBO' : list[i]['descCBO'], - }; - rows.add(row); - countProg = 0.6; - setState(() {}); - } - await DbSqliteLoad().saveCBO(rows).then((value)async{ - print('finalizou saveCBO'); - await ApiDataLoad().loadProcedimentosCBO(urlAPI,mode,nameCityApi,user).then((value)async{ - print('loadProcedimentosCBO'); - List list = value; - List> rows = []; - if(list.length !=0){ - setState(() { - messageSteps = "Etapa 7 de 11 - Gravando os Procedimentos CBO no Aplicativo"; - }); - for (int i = 0; i < list.length; i++) { - Map row = { - 'COD_PROC_SIGTAP' : value[i]['codProcedimento'], - 'CODIGO_CBO' : value[i]['codCBO'], - }; - rows.add(row); - countProg = 0.7; - setState(() {}); - } - await DbSqliteLoad().saveProceduresCBO(rows).then((value)async{ - print('finalizou saveProceduresCBO'); - await ApiDataLoad().loadCIAP(urlAPI,mode,nameCityApi,user).then((value)async{ - print('loadCIAP'); - List list = value; - List> rows = []; - if(list.length != 0){ - setState(() { - messageSteps = "Etapa 8 de 11 - Gravando os CIAPs no Aplicativo"; - }); - for(int i=0;list.length > i;i++){ - Map row = { - 'CODIGO_CIAP' : list[i]['codCIAP'], - 'DESC_CIAP' : list[i]['descCIAP'], - 'TIPO_CIAP' : list[i]['tipoCIAP'], - }; - rows.add(row); - countProg = 0.8; - setState(() {}); - } - await DbSqliteLoad().saveCIAP(rows).then((value)async{ - print('finalizou saveCIAP'); - await ApiDataLoad().loadMunicipios(urlAPI,mode,nameCityApi,user).then((value)async{ - print('loadMunicipios'); - List list = value; - List> rows = []; - if(list.length!=0){ - setState(() { - messageSteps = "Etapa 9 de 11 - Gravando os Municípios no Aplicativo"; - }); - for(int i=0;list.length > i;i++){ - Map row = { - 'ID_MUNICIPIO' : list[i]['idMunicipio'], - 'CODIGO_IBGE' : list[i]['codIBGE'], - 'NO_MUNICIPIO' : list[i]['nomeMunicipio'], - 'UF_ESTADO' : list[i]['UF'], - 'ID_PAIS' : list[i]['idPais'], - }; - rows.add(row); - countProg = 0.9; - setState(() {}); - } - await DbSqliteLoad().saveCity(rows).then((value)async{ - await ApiDataLoad().loadEquipes(urlAPI,mode,nameCityApi,user).then((value)async{ - print('loadEquipes'); - List list = value; - List> rows = []; - if(list.length!=0){ - setState(() { - messageSteps = "Etapa 10 de 11 - Gravando as Equipes no Aplicativo"; - }); - for(int i=0;list.length > i;i++){ - Map row = { - 'ID_EQUIPE' : list[i]['idEquipe'], - 'ID_UNIDADE' : list[i]['idUnidade'], - 'INE' : list[i]['INE'], - 'ID_ATB_AREA' : list[i]['idAtbArea'], - 'AREA' : list[i]['area'], - 'ID_ATB_MICROAREA': list[i]['idAtbMicroarea'], - 'MICROAREA' : list[i]['microarea'], - }; - rows.add(row); - countProg = 0.92; - setState(() {}); - } - await DbSqliteLoad().saveTeam(rows).then((value)async{ - countProg = 0.95; - setState(() {}); - print('finalizou saveTeam'); - await ApiDataLoad().loadEquipeComponentes(urlAPI,mode,nameCityApi,user).then((value)async{ - print('loadEquipeComponentes'); - List list = value; - List> rows = []; - if(list.length!=0) { - setState(() { - messageSteps ="Etapa 11 de 11 - Gravando os Profissionais das Equipes no Aplicativo"; - }); - for(int i=0;list.length > i;i++){ - Map row = { - 'ID_EQUIPE' : list[i]['idEquipe'], - 'ID_PROFISSIONAL' : list[i]['idProfissional'], - 'ATIVO' : list[i]['ativo'], - }; - rows.add(row); - countProg = 0.97; - setState(() {}); - } - await DbSqliteLoad().saveTeamComponents(rows).then((value)async{ - print('finalizou saveTeamComponents'); - setState(() { - countProg = 1; - finish = true; - }); - }); - }else{ - AlertDialogDefault().alert(context, 'Error', 'Profissionais Equipes não carregadas, tente novamente!', 'Voltar'); - } - }); - }); - }else{ - AlertDialogDefault().alert(context, 'Error', 'Equipes não carregadas, tente novamente!', 'Voltar'); - } - }); - }); - }else{ - AlertDialogDefault().alert(context, 'Error', 'Municípios não carregados, tente novamente!', 'Voltar'); - } - }); - }); - }else{ - AlertDialogDefault().alert(context, 'Error', 'CIAPs não carregados, tente novamente!', 'Voltar'); - } - }); - }); - }else{ - AlertDialogDefault().alert(context, 'Error', 'Procedimentos CBOs não carregados, tente novamente!', 'Voltar'); - } - }); - }); - }else{ - AlertDialogDefault().alert(context, 'Error', 'CBOs não carregados, tente novamente!', 'Voltar'); - } - }); - }); - }else{ - AlertDialogDefault().alert(context, 'Error', 'Procedimentos CIDs não carregados, tente novamente!', 'Voltar'); - } - }); - }); - }else{ - AlertDialogDefault().alert(context, 'Error', 'CIDs não carregados, tente novamente!', 'Voltar'); - } - }); - }); - }else{ - AlertDialogDefault().alert(context, 'Error', 'Procedimentos Registros não carregados, tente novamente!', 'Voltar'); - } - }); - }); - }else{ - AlertDialogDefault().alert(context, 'Error', 'Procedimentos não carregados, tente novamente!', 'Voltar'); - } - }); - }); - }else{ - AlertDialogDefault().alert(context, 'Error', 'Unidades não carregadas, tente novamente!', 'Voltar'); + + await ApiDataLoad().loadUnidades(urlAPI,mode,nameCityApi,username).then((value)async{ + List list = value; + List> rows = []; + if(list.length !=0){ + setState(() { + messageSteps = "Etapa 1 de 11 - Gravando as Unidades no Aplicativo"; + }); + for (int i = 0; i < list.length; i++) { + Map row = { + 'ID_UNIDADE': list[i]['idUnidade'], + 'NOME_UNIDADE': list[i]['nomeFantasia'], + 'CNES_UNIDADE': list[i]['nrCNES'] + }; + rows.add(row); + countProg = 0.1; + setState(() {}); } - }); + await DbSqliteLoad().saveUnidadesDB(rows).then((value)async{ + await ApiDataLoad().loadProcedimentos(urlAPI,mode,nameCityApi,username).then((value)async{ + List list = value; + List> rows = []; + if(list.length !=0){ + setState(() { + messageSteps = "Etapa 2 de 11 - Gravando os Procedimentos no Aplicativo"; + }); + for (int i = 0; i < list.length; i++) { + Map row = { + 'COD_PROC_SIGTAP' : list[i]['codProcedimento'], + 'DESC_PROC_SIGTAP' : list[i]['nome'], + 'GRUPO_PROC_SIGTAP' : list[i]['codGrupo'], + 'QTDE_MAXIMA' : list[i]['qtdeMax'], + 'IDADE_MIN' : list[i]['idadeMin'], + 'IDADE_MAX' : list[i]['idadeMax'], + 'SEXO' : list[i]['sexo'], + }; + rows.add(row); + countProg = 0.2; + setState(() {}); + } + await DbSqliteLoad().saveProceduresDB(rows).then((value)async{ + print('finalizou save Procedures'); + await ApiDataLoad().loadProcedimentosRegistros(urlAPI,mode,nameCityApi,username).then((value)async{ + List list = value; + List> rows = []; + if(list.length !=0){ + setState(() { + messageSteps = "Etapa 3 de 11 - Gravando os Procedimentos Registros no Aplicativo"; + }); + print('finalizou saveProceduresRegisterDB'); + for (int i = 0; i < list.length; i++) { + Map row = { + 'COD_PROC_SIGTAP' : list[i]['codProcedimento'], + 'CODIGO_REGISTRO' : list[i]['codRegistro'], + }; + rows.add(row); + countProg = 0.3; + setState(() {}); + } + await DbSqliteLoad().saveProceduresRegisterDB(rows).then((value)async{ + await ApiDataLoad().loadCID(urlAPI,mode,nameCityApi,username).then((value)async{ + print('loadCID'); + List list = value; + List> rows = []; + if(list.length !=0){ + setState(() { + messageSteps = "Etapa 4 de 11 - Gravando os CIDs no Aplicativo"; + }); + for (int i = 0; i < list.length; i++) { + Map row = { + 'CODIGO_CID' : list[i]['codCID'], + 'DESCRICAO_CID' : list[i]['descCID'], + 'RESTRICAO_SEXO' : list[i]['restSexo'], + }; + rows.add(row); + countProg = 0.4; + setState(() {}); + } + await DbSqliteLoad().saveCID(rows).then((value)async{ + print('finalizou saveCID'); + await ApiDataLoad().loadProcedimentosCID(urlAPI,mode,nameCityApi,username).then((value)async{ + print('loadProcedimentosCID'); + List list = value; + List> rows = []; + if(list.length !=0){ + setState(() { + messageSteps = "Etapa 5 de 11 - Gravando os Procedimentos CIDs no Aplicativo"; + }); + for (int i = 0; i < list.length; i++) { + Map row = { + 'COD_PROC_SIGTAP' : list[i]['codProcedimento'], + 'CODIGO_CID' : list[i]['codCID'], + }; + rows.add(row); + countProg = 0.5; + setState(() {}); + } + await DbSqliteLoad().saveProceduresCID(rows).then((value)async{ + print('finalizou saveProceduresCID'); + await ApiDataLoad().loadCBO(urlAPI,mode,nameCityApi,username).then((value)async{ + print('loadCBO'); + List list = value; + List> rows = []; + if(list.length !=0){ + setState(() { + messageSteps = "Etapa 6 de 11 - Gravando os CBOs no Aplicativo"; + }); + for (int i = 0; i < list.length; i++) { + Map row = { + 'CODIGO_CBO' : list[i]['codCBO'], + 'DESCRICAO_CBO' : list[i]['descCBO'], + }; + rows.add(row); + countProg = 0.6; + setState(() {}); + } + await DbSqliteLoad().saveCBO(rows).then((value)async{ + print('finalizou saveCBO'); + await ApiDataLoad().loadProcedimentosCBO(urlAPI,mode,nameCityApi,username).then((value)async{ + print('loadProcedimentosCBO'); + List list = value; + List> rows = []; + if(list.length !=0){ + setState(() { + messageSteps = "Etapa 7 de 11 - Gravando os Procedimentos CBO no Aplicativo"; + }); + for (int i = 0; i < list.length; i++) { + Map row = { + 'COD_PROC_SIGTAP' : value[i]['codProcedimento'], + 'CODIGO_CBO' : value[i]['codCBO'], + }; + rows.add(row); + countProg = 0.7; + setState(() {}); + } + await DbSqliteLoad().saveProceduresCBO(rows).then((value)async{ + print('finalizou saveProceduresCBO'); + await ApiDataLoad().loadCIAP(urlAPI,mode,nameCityApi,username).then((value)async{ + print('loadCIAP'); + List list = value; + List> rows = []; + if(list.length != 0){ + setState(() { + messageSteps = "Etapa 8 de 11 - Gravando os CIAPs no Aplicativo"; + }); + for(int i=0;list.length > i;i++){ + Map row = { + 'CODIGO_CIAP' : list[i]['codCIAP'], + 'DESC_CIAP' : list[i]['descCIAP'], + 'TIPO_CIAP' : list[i]['tipoCIAP'], + }; + rows.add(row); + countProg = 0.8; + setState(() {}); + } + await DbSqliteLoad().saveCIAP(rows).then((value)async{ + print('finalizou saveCIAP'); + await ApiDataLoad().loadMunicipios(urlAPI,mode,nameCityApi,username).then((value)async{ + print('loadMunicipios'); + List list = value; + List> rows = []; + if(list.length!=0){ + setState(() { + messageSteps = "Etapa 9 de 11 - Gravando os Municípios no Aplicativo"; + }); + for(int i=0;list.length > i;i++){ + Map row = { + 'ID_MUNICIPIO' : list[i]['idMunicipio'], + 'CODIGO_IBGE' : list[i]['codIBGE'], + 'NO_MUNICIPIO' : list[i]['nomeMunicipio'], + 'UF_ESTADO' : list[i]['UF'], + 'ID_PAIS' : list[i]['idPais'], + }; + rows.add(row); + countProg = 0.9; + setState(() {}); + } + await DbSqliteLoad().saveCity(rows).then((value)async{ + await ApiDataLoad().loadEquipes(urlAPI,mode,nameCityApi,username).then((value)async{ + print('loadEquipes'); + List list = value; + List> rows = []; + if(list.length!=0){ + setState(() { + messageSteps = "Etapa 10 de 11 - Gravando as Equipes no Aplicativo"; + }); + for(int i=0;list.length > i;i++){ + Map row = { + 'ID_EQUIPE' : list[i]['idEquipe'], + 'ID_UNIDADE' : list[i]['idUnidade'], + 'INE' : list[i]['INE'], + 'ID_ATB_AREA' : list[i]['idAtbArea'], + 'AREA' : list[i]['area'], + 'ID_ATB_MICROAREA': list[i]['idAtbMicroarea'], + 'MICROAREA' : list[i]['microarea'], + }; + rows.add(row); + countProg = 0.92; + setState(() {}); + } + await DbSqliteLoad().saveTeam(rows).then((value)async{ + countProg = 0.95; + setState(() {}); + print('finalizou saveTeam'); + await ApiDataLoad().loadEquipeComponentes(urlAPI,mode,nameCityApi,username).then((value)async{ + print('loadEquipeComponentes'); + List list = value; + List> rows = []; + if(list.length!=0) { + setState(() { + messageSteps ="Etapa 11 de 11 - Gravando os Profissionais das Equipes no Aplicativo"; + }); + for(int i=0;list.length > i;i++){ + Map row = { + 'ID_EQUIPE' : list[i]['idEquipe'], + 'ID_PROFISSIONAL' : list[i]['idProfissional'], + 'ATIVO' : list[i]['ativo'], + }; + rows.add(row); + countProg = 0.97; + setState(() {}); + } + await DbSqliteLoad().saveTeamComponents(rows).then((value)async{ + print('finalizou saveTeamComponents'); + setState(() { + countProg = 1; + finish = true; + }); + }); + }else{ + AlertDialogDefault().alert(context, 'Error', 'Profissionais Equipes não carregadas, tente novamente!', 'Voltar'); + } + }); + }); + }else{ + AlertDialogDefault().alert(context, 'Error', 'Equipes não carregadas, tente novamente!', 'Voltar'); + } + }); + }); + }else{ + AlertDialogDefault().alert(context, 'Error', 'Municípios não carregados, tente novamente!', 'Voltar'); + } + }); + }); + }else{ + AlertDialogDefault().alert(context, 'Error', 'CIAPs não carregados, tente novamente!', 'Voltar'); + } + }); + }); + }else{ + AlertDialogDefault().alert(context, 'Error', 'Procedimentos CBOs não carregados, tente novamente!', 'Voltar'); + } + }); + }); + }else{ + AlertDialogDefault().alert(context, 'Error', 'CBOs não carregados, tente novamente!', 'Voltar'); + } + }); + }); + }else{ + AlertDialogDefault().alert(context, 'Error', 'Procedimentos CIDs não carregados, tente novamente!', 'Voltar'); + } + }); + }); + }else{ + AlertDialogDefault().alert(context, 'Error', 'CIDs não carregados, tente novamente!', 'Voltar'); + } + }); + }); + }else{ + AlertDialogDefault().alert(context, 'Error', 'Procedimentos Registros não carregados, tente novamente!', 'Voltar'); + } + }); + }); + }else{ + AlertDialogDefault().alert(context, 'Error', 'Procedimentos não carregados, tente novamente!', 'Voltar'); + } + }); + }); + }else{ + AlertDialogDefault().alert(context, 'Error', 'Unidades não carregadas, tente novamente!', 'Voltar'); + } }); } }); diff --git a/lib/screens/login/login_saved_screen.dart b/lib/screens/login/login_saved_screen.dart index 3d813e9..59217f4 100644 --- a/lib/screens/login/login_saved_screen.dart +++ b/lib/screens/login/login_saved_screen.dart @@ -81,10 +81,15 @@ class _LoginSavedScreenState extends State { setState(() { loading = false; }); - Navigator.push( - context, - MaterialPageRoute(builder: (context) => HomeScreen()), - ); + int mes = DateTime.now().month; + if(widget.listControl[0]['COMPETENCIA'].toString()=='${DateTime.now().year}${mes<10?'0${mes}':'$mes'}'){ + Navigator.push( + context, + MaterialPageRoute(builder: (context) => HomeScreen()), + ); + }else{ + Navigator.pushNamed(context, '/import_sigtap'); + } }); } } diff --git a/lib/screens/login/sync_login_screen.dart b/lib/screens/login/sync_login_screen.dart index b6ae870..a2d7180 100644 --- a/lib/screens/login/sync_login_screen.dart +++ b/lib/screens/login/sync_login_screen.dart @@ -9,6 +9,7 @@ import 'package:rkm/widgets/text_default.dart'; import 'package:sqflite/sqflite.dart'; import '../../controllers/main_controllers.dart'; import '../../service/api/api_data_load.dart'; +import '../../service/api/api_data_sync.dart'; import '../../service/db/db_sqlite_load.dart'; import '../../service/shared_preferences/shared_preferences_service.dart'; import '../../widgets/title_input.dart'; @@ -37,7 +38,7 @@ class _SyncLoginScreenState extends State { List searchUnitCodList=[]; List listTeam = []; String idUnidade =''; - String idUsuario ='1'; + int idUsuario =0; final PrefService _prefService = PrefService(); @@ -112,14 +113,20 @@ class _SyncLoginScreenState extends State { super.initState(); recupDB(); getUnit(); - // getUser(); } - getUser(){ - _prefService.readCacheIdUsuario('idUsuario').then((value){ - if(value != null){ - idUsuario = value; + + Future getUser()async{ + await ApiDataSync().syncProfissionais(urlAPI,mode,nameCityApi,inputUser.text,idUnidade).then((value)async{ + List users = value; + for(int i =0; users.length > i; i++){ + if( value[i]['username'].toString().toUpperCase()==inputUser.text.toUpperCase()){ + print('idUsuario' + value[i]['idProfissional'].toString()); + idUsuario = value[i]['idProfissional']; + } } + print(value); }); + return idUsuario; } getUnit()async{ @@ -144,20 +151,30 @@ class _SyncLoginScreenState extends State { } } if(idUnidade!=''){ - // print('idUnidade'); - // print(idUnidade); - // print('idUsuario'); - // print(idUsuario); - var query = "SELECT * FROM EQUIPES JOIN PROFISSIONAIS_EQUIPE ON PROFISSIONAIS_EQUIPE.ID_EQUIPE = EQUIPES.ID_EQUIPE WHERE ID_UNIDADE = $idUnidade AND ID_PROFISSIONAL = $idUsuario"; - List list = await db.rawQuery(query); - listTeam.clear(); - for(int i=0; list.length > i;i++){ - listTeam.add('INE: ${list[i]['INE']} / Área: ${list[i]['AREA']} - Microárea : ${list[i]['MICROAREA']}'); - } - setState(() {}); + getUser().then((value)async{ + var query = "SELECT * FROM EQUIPES JOIN PROFISSIONAIS_EQUIPE ON PROFISSIONAIS_EQUIPE.ID_EQUIPE = EQUIPES.ID_EQUIPE WHERE ID_UNIDADE = $idUnidade AND ID_PROFISSIONAL = $value"; + List list = await db.rawQuery(query); + listTeam.clear(); + for(int i=0; list.length > i;i++){ + listTeam.add('INE: ${list[i]['INE']} / Área: ${list[i]['AREA']} - Microárea : ${list[i]['MICROAREA']==null?'':list[i]['MICROAREA']}'); + } + var query1 = "SELECT * FROM EQUIPES WHERE ID_EQUIPE = $idUnidade"; + List list1 = await db.rawQuery(query1); + print(list1); + var query2 = "SELECT * FROM PROFISSIONAIS_EQUIPE WHERE ID_PROFISSIONAL = $idUsuario"; + List list2 = await db.rawQuery(query2); + print(list2); + print(list2.length); + print('idUsuario'); + print(idUsuario); + print('idUnidade'); + print(idUnidade); + print('listTeam'); + print(listTeam); + setState(() {}); + _prefService.createCacheidUsuario(value.toString()); + }); } - // print('listTeam'); - // print(listTeam); } @override @@ -168,6 +185,7 @@ class _SyncLoginScreenState extends State { return Scaffold( appBar: AppBar( + iconTheme: ConstVariable().iconThemeDataDefault, centerTitle: true, title: TextDefault(text: 'RKM AB - Sincronização de Unidade',fontSize: ConstVariable().fontSizeTitleAppBar,color: ColorPalette.white), ), diff --git a/lib/screens/registers_citizen/register_citizen_screen.dart b/lib/screens/registers_citizen/register_citizen_screen.dart index 7a05778..5543990 100644 --- a/lib/screens/registers_citizen/register_citizen_screen.dart +++ b/lib/screens/registers_citizen/register_citizen_screen.dart @@ -185,7 +185,7 @@ class _RegisterCitizenScreenState extends State { var queryControl = "SELECT * FROM CONTROLE_INTERNO"; List listControl = await db.rawQuery(queryControl); final PrefService _prefService = PrefService(); - _prefService.readCacheUnidade('idUnidade').then((listUnidade)async{ + _prefService.readCacheUnidade().then((listUnidade)async{ idUnidade =listUnidade[0]; }); setState(() { @@ -214,9 +214,10 @@ class _RegisterCitizenScreenState extends State { for(int i=0; listVillageDB.length > i;i++){ villageDB.add('${listVillageDB[i]['NO_BAIRRO']}'); } - if(widget.listData[0]['NO_BAIRRO_LOGR']!=null && widget.listData[0]['NO_BAIRRO_LOGR']!=''){ + if(widget.listData[0]['NO_BAIRRO_LOGR']!=null && widget.listData[0]['NO_BAIRRO_LOGR']!='' && !villageDB.contains(widget.listData[0]['NO_BAIRRO_LOGR'])){ villageDB.add(widget.listData[0]['NO_BAIRRO_LOGR']); } + // print(villageDB); setState(() {}); } diff --git a/lib/screens/registers_citizen/register_home_screen.dart b/lib/screens/registers_citizen/register_home_screen.dart index 7642e35..0199574 100644 --- a/lib/screens/registers_citizen/register_home_screen.dart +++ b/lib/screens/registers_citizen/register_home_screen.dart @@ -61,7 +61,7 @@ class _RegisterHomeScreenState extends State { List listCBO = []; List listINEPROF = []; - String idUsuario = ''; + int idUsuario = 0; String idUnidade = ''; String nomeUnidade = ''; String INE_DB=''; @@ -128,12 +128,12 @@ class _RegisterHomeScreenState extends State { getUser(){ final PrefService _prefService = PrefService(); - _prefService.readCacheIdUsuario('idUsuario').then((value){ + _prefService.readCacheIdUsername('idUsuario').then((value){ if(value != null){ idUsuario = value; } }); - _prefService.readCacheUnidade('idUnidade').then((value){ + _prefService.readCacheUnidade().then((value){ if(value!=null){ idUnidade = value[0]; nomeUnidade = value[1]; diff --git a/lib/screens/registers_citizen/register_individual_screen.dart b/lib/screens/registers_citizen/register_individual_screen.dart index b2d6eff..cc4d8d4 100644 --- a/lib/screens/registers_citizen/register_individual_screen.dart +++ b/lib/screens/registers_citizen/register_individual_screen.dart @@ -133,7 +133,7 @@ class _RegisterIndividualScreenState extends State { String? CBO_RESP_CADASTRO; String? INE_RESP_CADASTRO; String CNS_PROFISSIONAL=''; - String idUsuario = ''; + int idUsuario = 0; String idUnidade = ''; String nomeUnidade = ''; String date_cad = ''; @@ -161,12 +161,12 @@ class _RegisterIndividualScreenState extends State { final PrefService _prefService = PrefService(); getUser(){ - _prefService.readCacheIdUsuario('idUsuario').then((value){ + _prefService.readCacheIdUsername('idUsuario').then((value){ if(value != null){ idUsuario = value; } }); - _prefService.readCacheUnidade('idUnidade').then((value){ + _prefService.readCacheUnidade().then((value){ if(value!=null){ idUnidade = value[0]; nomeUnidade = value[1]; diff --git a/lib/screens/select_service/complementary_sheet_screen.dart b/lib/screens/select_service/complementary_sheet_screen.dart index 4ad4c53..a28b631 100644 --- a/lib/screens/select_service/complementary_sheet_screen.dart +++ b/lib/screens/select_service/complementary_sheet_screen.dart @@ -1,4 +1,7 @@ import 'package:flutter/material.dart'; +import 'package:rkm/config/const_variable.dart'; +import 'package:rkm/widgets/appbar_default.dart'; +import 'package:rkm/widgets/screen_dev.dart'; class ComplementarySheetScreen extends StatefulWidget { const ComplementarySheetScreen({Key? key}) : super(key: key); @@ -10,6 +13,10 @@ class ComplementarySheetScreen extends StatefulWidget { class _ComplementarySheetScreenState extends State { @override Widget build(BuildContext context) { - return Center(child: Text('Ficha Complementar'),); + + return Scaffold( + appBar: AppBarDefault().appbar(context, 'RKM AB - Ficha Complemetar'), + body: ScreenDev(), + ); } } diff --git a/lib/screens/select_service/consumption_markers_screen.dart b/lib/screens/select_service/consumption_markers_screen.dart index 54e093f..fc08a57 100644 --- a/lib/screens/select_service/consumption_markers_screen.dart +++ b/lib/screens/select_service/consumption_markers_screen.dart @@ -1,5 +1,8 @@ import 'package:flutter/material.dart'; +import '../../widgets/appbar_default.dart'; +import '../../widgets/screen_dev.dart'; + class ConsumptionMarkersScreen extends StatefulWidget { const ConsumptionMarkersScreen({Key? key}) : super(key: key); @@ -10,6 +13,9 @@ class ConsumptionMarkersScreen extends StatefulWidget { class _ConsumptionMarkersScreenState extends State { @override Widget build(BuildContext context) { - return Center(child: Text('Marcadores de Consumo'),); + return Scaffold( + appBar: AppBarDefault().appbar(context, 'RKM AB - Marcadores de Consumo'), + body: ScreenDev(), + ); } } diff --git a/lib/screens/select_service/eligibility_assessment_screen.dart b/lib/screens/select_service/eligibility_assessment_screen.dart index fea52c2..828b364 100644 --- a/lib/screens/select_service/eligibility_assessment_screen.dart +++ b/lib/screens/select_service/eligibility_assessment_screen.dart @@ -1,5 +1,8 @@ import 'package:flutter/material.dart'; +import '../../widgets/appbar_default.dart'; +import '../../widgets/screen_dev.dart'; + class EligibilityAssessmentScreen extends StatefulWidget { const EligibilityAssessmentScreen({Key? key}) : super(key: key); @@ -10,6 +13,9 @@ class EligibilityAssessmentScreen extends StatefulWidget { class _EligibilityAssessmentScreenState extends State { @override Widget build(BuildContext context) { - return Center(child: Text('Avaliação de Elegibilidade'),); + return Scaffold( + appBar: AppBarDefault().appbar(context, 'RKM AB - Avaliação de Elegibilidade'), + body: ScreenDev(), + ); } } diff --git a/lib/screens/select_service/home_visit_screen.dart b/lib/screens/select_service/home_visit_screen.dart index 0140b68..10520df 100644 --- a/lib/screens/select_service/home_visit_screen.dart +++ b/lib/screens/select_service/home_visit_screen.dart @@ -67,7 +67,7 @@ class _HomeVisitScreenState extends State { String INE_PROFISSIONAL=''; String CD_USUARIO_SUS=''; String idUnidade = ''; - String idUsuario = ''; + int idUsuario = 0; String date = ''; String dateDB = ''; List typeTurnService = []; @@ -107,13 +107,13 @@ class _HomeVisitScreenState extends State { CD_USUARIO_SUS = list[0]['CD_USUARIO_SUS']; }); final PrefService _prefService = PrefService(); - _prefService.readCacheIdUsuario('idUsuario').then((value){ + _prefService.readCacheIdUsername('idUsuario').then((value){ if(value != null){ idUsuario = value; loadData(); } }); - _prefService.readCacheUnidade('idUnidade').then((value){ + _prefService.readCacheUnidade().then((value){ if(value!=null){ idUnidade = value[0]; CNES_UNIDADE.text = value[1]; @@ -159,6 +159,8 @@ class _HomeVisitScreenState extends State { } loadData()async{ + print('idUsuario'); + print(idUsuario); await DBQuerys().buscaProfissionalCadInd(idUsuario).then((list){ ID_PROFISSIONAL = list['ID_PROFISSIONAL']; NOME_PROFISSIONAL.text = list['NOME_PROFISSIONAL']; @@ -261,7 +263,7 @@ class _HomeVisitScreenState extends State { 'DESFECHO' : DESFECHO_COD, 'PESO' : PESO.text, 'ALTURA' : ALTURA.text, - 'ID_PROFISSIONAL' : int.parse(idUsuario), + 'ID_PROFISSIONAL' : idUsuario, 'CBO_PROFISSIONAL' : CBO_PROFISSIONAL, 'INE_PROFISSIONAL' : INE_PROFISSIONAL, 'CNES_UNIDADE' : CNES_UNIDADE.text, diff --git a/lib/screens/select_service/procedures_screen.dart b/lib/screens/select_service/procedures_screen.dart index 7fbc0d9..3c36d8f 100644 --- a/lib/screens/select_service/procedures_screen.dart +++ b/lib/screens/select_service/procedures_screen.dart @@ -1,5 +1,8 @@ import 'package:flutter/material.dart'; +import '../../widgets/appbar_default.dart'; +import '../../widgets/screen_dev.dart'; + class ProceduresScreen extends StatefulWidget { const ProceduresScreen({Key? key}) : super(key: key); @@ -10,6 +13,9 @@ class ProceduresScreen extends StatefulWidget { class _ProceduresScreenState extends State { @override Widget build(BuildContext context) { - return Center(child: Text('Procedimentos'),); + return Scaffold( + appBar: AppBarDefault().appbar(context, 'RKM AB - Procedimentos'), + body: ScreenDev(), + ); } } diff --git a/lib/screens/select_service/service_dental_screen.dart b/lib/screens/select_service/service_dental_screen.dart index d948a56..6e71b5b 100644 --- a/lib/screens/select_service/service_dental_screen.dart +++ b/lib/screens/select_service/service_dental_screen.dart @@ -1,5 +1,8 @@ import 'package:flutter/material.dart'; +import '../../widgets/appbar_default.dart'; +import '../../widgets/screen_dev.dart'; + class ServiceDentalScreen extends StatefulWidget { const ServiceDentalScreen({Key? key}) : super(key: key); @@ -10,6 +13,9 @@ class ServiceDentalScreen extends StatefulWidget { class _ServiceDentalScreenState extends State { @override Widget build(BuildContext context) { - return Center(child: Text('Atendimento Odontológico'),); + return Scaffold( + appBar: AppBarDefault().appbar(context, 'RKM AB - Atendimento Odontológico'), + body: ScreenDev(), + ); } } diff --git a/lib/screens/select_service/service_home_screen.dart b/lib/screens/select_service/service_home_screen.dart index 6082b05..9a6196b 100644 --- a/lib/screens/select_service/service_home_screen.dart +++ b/lib/screens/select_service/service_home_screen.dart @@ -40,7 +40,7 @@ class _ServiceHomeScreenState extends State { String date=''; String dateDB=''; - String idUsuario=''; + int idUsuario=0; String idUnidade=''; String? nameCityApi; String? mode; @@ -129,36 +129,20 @@ class _ServiceHomeScreenState extends State { getUser()async{ final PrefService _prefService = PrefService(); - _prefService.readCacheIdUsuario('idUsuario').then((value){ - if(value != null){ - idUsuario = value; + _prefService.readCacheIDUser().then((value){ + if(value != 0){ + idUsuario = int.parse(value); + // print('idUsuario get'); + // print(idUsuario); loadData(); } }); - _prefService.readCacheUnidade('idUnidade').then((value){ + _prefService.readCacheUnidade().then((value){ if(value!=null){ idUnidade = value[0]; CNES_UNIDADE.text = value[1]; } }); - 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']; - }).then((value)async{ - await ApiDataImportSigtap().loadSIGTAP(urlAPI, mode, nameCityApi).then((value)async{ - await DbSqliteSigtap().saveProceduresSigtapDB(value).then((db)async{ - List list = await db.query('PROCEDIMENTOS_SIGTAP'); - for(int i = 0; list.length>i;i++){ - if(list[i]['COD_PROC_SIGTAP']!=null && list[i]['DESC_PROC_SIGTAP']!=null){ - PROCEDIMENTOS_SIGTAP.add(list[i]['COD_PROC_SIGTAP']+' - ' + list[i]['DESC_PROC_SIGTAP']); - } - } - setState(() {}); - }); - }); - }); await DBQuerys().buscaCIAP().then((list){ listCIAP.add(DropDownDataModel(cod: int.parse(list['CODIGO_CIAP']), title: list['DESC_CIAP'])); }); @@ -168,6 +152,8 @@ class _ServiceHomeScreenState extends State { } loadData()async{ + // print('idUsuario'); + // print(idUsuario); await DBQuerys().buscaProfissionalCadInd(idUsuario).then((list){ ID_PROFISSIONAL = list['ID_PROFISSIONAL']; NOME_PROFISSIONAL.text = list['NOME_PROFISSIONAL']; @@ -177,15 +163,62 @@ class _ServiceHomeScreenState extends State { } setState(() {}); }); - await DBQuerys().buscaCBOProfissional(idUsuario).then((list){ + await DBQuerys().buscaCBOProfissional(idUsuario).then((list)async{ if(list.length!=0){ for(int i = 0; list.length>i;i++){ listCBO.add(list[i]['CODIGO_CBO'].toString()); } } + if(listCBO.isNotEmpty){ + 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']; + }).then((value)async{ + + //sigtap + for(int i = 0; listCBO.length>i;i++){ + print(listCBO[i]); + await DBQuerys().buscaCBOSProfissional(listCBO[i]).then((sigtap)async{ + print('indice $i'); + print(sigtap); + if(listCBO[i]==sigtap[0]['CODIGO_CBO']){ + PROCEDIMENTOS_SIGTAP.add(sigtap[0]['CODIGO_CBO']+' - ' + sigtap[0]['DESCRICAO_CBO']); + List aux = PROCEDIMENTOS_SIGTAP.toSet().toList(); + PROCEDIMENTOS_SIGTAP = aux; + } + }); + } + print(PROCEDIMENTOS_SIGTAP); + setState(() {}); + // await ApiDataImportSigtap().loadSIGTAP(urlAPI, mode, nameCityApi).then((value)async{ + // List procedimentos = value['procedimentos']; + // print(procedimentos.length); + // print(procedimentos); + // if(procedimentos.isNotEmpty){ + // await DbSqliteSigtap().saveProceduresSigtapDB(procedimentos).then((db)async{ + // List list = await db.query('PROCEDIMENTOS_SIGTAP'); + // for(int i = 0; list.length>i;i++){ + // if(list[i]['COD_PROC_SIGTAP']!=null && list[i]['DESC_PROC_SIGTAP']!=null){ + // PROCEDIMENTOS_SIGTAP.add(list[i]['COD_PROC_SIGTAP']+' - ' + list[i]['DESC_PROC_SIGTAP']); + // List aux = PROCEDIMENTOS_SIGTAP.toSet().toList(); + // PROCEDIMENTOS_SIGTAP = aux; + // } + // } + // setState(() { + // loadSIGTAP = false; + // }); + // }); + // } + // }); + }); + } CBO_RESP_CADASTRO = list.length == 0?null:list[0]['CODIGO_CBO'].toString(); setState(() {}); }); + // print('IdUsuario: ${idUsuario}'); + // print('IdUnidade: '+idUnidade); List list = await DBQuerys().buscaDadosProfissional(idUnidade,idUsuario); for(int i=0; list.length > i;i++){ INE_RESP_CADASTRO = 'INE: ${list[i]['INE']} / Área: ${list[i]['AREA']} - Microárea : ${list[i]['MICROAREA']}'; @@ -198,7 +231,7 @@ class _ServiceHomeScreenState extends State { // adicionar depois e usar um usuário real // CBO_RESP_CADASTRO //ok - if(date.isEmpty || dateDB.isEmpty || LOCAL_ATENDIMENTO_COD==0 || TIPO_ATENDIMENTO_COD ==0 || MODALIDADE_COD == 0 || TURNO_COD == 0 + if(date.isEmpty || dateDB.isEmpty || LOCAL_ATENDIMENTO_COD==0 || TIPO_ATENDIMENTO_COD ==0 || MODALIDADE_COD == 0 || TURNO_COD == 0 || CBO_PROFISSIONAL == null ){ print('erro'); setState(() { @@ -219,7 +252,7 @@ class _ServiceHomeScreenState extends State { Map row = { 'ID_CIDADAO' : ID_CIDADAO, 'CD_USUARIO_SUS' : CD_USUARIO_SUS, - 'ID_PROFISSIONAL' : int.parse(idUsuario), + 'ID_PROFISSIONAL' : idUsuario, 'CBO_PROFISSIONAL' : CBO_PROFISSIONAL, 'INE_PROFISSIONAL' : INE_PROFISSIONAL, 'CNES_UNIDADE' : CNES_UNIDADE.text, @@ -261,15 +294,16 @@ class _ServiceHomeScreenState extends State { CD_USUARIO_SUS = list[0]['CD_USUARIO_SUS']; }); List list = await DBQuerys().buscaDadosProfissional(idUnidade,idUsuario); - INE_PROFISSIONAL = list[0]['INE']; - ID_EQUIPE = list[0]['ID_EQUIPE']; + + INE_PROFISSIONAL = list[0]['INE']??''; + ID_EQUIPE = list[0]['ID_EQUIPE']??0; } @override void initState() { super.initState(); - dadosCidadao(); getUser(); + dadosCidadao(); loadLists(); } @@ -328,7 +362,7 @@ class _ServiceHomeScreenState extends State { onChanged: (v)=>setState((){}), ), DropdownWithSubtitle( - list: listCBO, + list: PROCEDIMENTOS_SIGTAP, widthSubtitle: width*0.7, subtitle: 'CBO', hintDropdown: 'CBO', diff --git a/lib/screens/sync_init_screen.dart b/lib/screens/sync_init_screen.dart index 3a63704..86f76d6 100644 --- a/lib/screens/sync_init_screen.dart +++ b/lib/screens/sync_init_screen.dart @@ -6,6 +6,8 @@ import 'package:rkm/config/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 '../service/api/api_data_import_sigtap.dart'; +import '../service/db/db_sqlite_Sigtap.dart'; import '../service/db/db_sqlite_load.dart'; import '../service/shared_preferences/shared_preferences_service.dart'; @@ -60,7 +62,7 @@ class _SyncInitScreenState extends State { } dataUser()async{ - _prefService.readCacheUnidade('idUnidade').then((listUnidade)async{ + _prefService.readCacheUnidade().then((listUnidade)async{ _prefService.readCacheSync('area', false).then((list){ foraArea = list[1]; List splited = list[0].split(': '); @@ -152,10 +154,10 @@ class _SyncInitScreenState extends State { }else{ setState(()=> messageSteps = "Etapa 10 de 10 - Gravando os Cadastros Individuais no Aplicativo"); await DbSqliteSync().insertCadastrosIndividuais(value,'sync',0).then((value)async{ - countProg = 1; - setState(() {}); await DbSqliteSync().saveSync(codCity,codState,urlAPI,mode,nameCityApi,nameCityFront,codCityIbge,user,idUnidade,nomeUnidade,area,microarea).then((value)async{ - Navigator.pushNamed(context, '/home'); + countProg = 1; + setState(() {}); + Navigator.pushNamed(context, '/import_sigtap'); }); }); } diff --git a/lib/service/api/api_data_import_sigtap.dart b/lib/service/api/api_data_import_sigtap.dart index 2daa1f5..6ae8070 100644 --- a/lib/service/api/api_data_import_sigtap.dart +++ b/lib/service/api/api_data_import_sigtap.dart @@ -5,6 +5,7 @@ class ApiDataImportSigtap{ Future loadSIGTAP(urlAPI,mode,nameCityApi)async{ //http://192.168.0.42:8010/api/atb/desenvolvimento/corumbatai/ADMIN/sigtap final url = '${urlAPI}${mode}/${nameCityApi}/ADMIN/sigtap'; + print(url); final response = await http.get(Uri.parse(url)); final map = json.decode(response.body); // print(map); diff --git a/lib/service/api/api_data_load.dart b/lib/service/api/api_data_load.dart index ecb9779..b4928d2 100644 --- a/lib/service/api/api_data_load.dart +++ b/lib/service/api/api_data_load.dart @@ -100,6 +100,7 @@ class ApiDataLoad{ Future loadEquipeComponentes(urlAPI,mode,nameCityApi,user)async{ // http://192.168.0.42:8010/api/atb/desenvolvimento/corumbatai/admin/load/equipeComponentes final url = '${urlAPI}${mode}/${nameCityApi}/${user}/load/equipeComponentes'; + // print(url); final response = await http.get(Uri.parse(url)); final map = json.decode(response.body); return map; diff --git a/lib/service/db/db_querys.dart b/lib/service/db/db_querys.dart index 848240a..3f1b6f0 100644 --- a/lib/service/db/db_querys.dart +++ b/lib/service/db/db_querys.dart @@ -40,16 +40,19 @@ class DBQuerys{ // print(list); return list[0]; } - buscaDadosProfissional(String idUnidade, String idUsuario)async{ + buscaDadosProfissional(String idUnidade, int idUsuario)async{ Database db = await DbSqliteLoad().intialDB(); var query = "SELECT * FROM EQUIPES JOIN PROFISSIONAIS_EQUIPE ON PROFISSIONAIS_EQUIPE.ID_EQUIPE = EQUIPES.ID_EQUIPE WHERE ID_UNIDADE = $idUnidade AND ID_PROFISSIONAL = $idUsuario"; List list = await db.rawQuery(query); // print(list); return list; } - Future buscaProfissionalCadInd(String ID_PROFISSIONAL)async{ + Future buscaProfissionalCadInd(int ID_PROFISSIONAL)async{ Database db = await DbSqliteLoad().intialDB(); + // print('ID_PROFISSIONAL'); + // print(ID_PROFISSIONAL); var query = "SELECT * FROM PROFISSIONAIS WHERE ID_PROFISSIONAL = $ID_PROFISSIONAL"; + // var query = "SELECT * FROM PROFISSIONAIS"; List list = await db.rawQuery(query); // print(list); return list[0]; @@ -169,7 +172,16 @@ class DBQuerys{ } Future buscaCBOProfissional(ID_PROFISSIONAL)async{ Database db = await DbSqliteLoad().intialDB(); - var query = 'SELECT * FROM PROFISSIONAIS_CBOS WHERE CODIGO_CBO = "$ID_PROFISSIONAL"'; + var query = 'SELECT * FROM PROFISSIONAIS_CBOS WHERE ID_PROFISSIONAL = $ID_PROFISSIONAL'; + // var query = 'SELECT * FROM PROFISSIONAIS_CBOS'; + List list = await db.rawQuery(query); + // print(list); + return list; + } + Future buscaCBOSProfissional(CBOS)async{ + Database db = await DbSqliteLoad().intialDB(); + var query = "SELECT * FROM CBOS WHERE CODIGO_CBO = $CBOS"; + // var query = 'SELECT * FROM CBOS'; List list = await db.rawQuery(query); // print(list); return list; diff --git a/lib/service/db/db_sqlite_Sigtap.dart b/lib/service/db/db_sqlite_Sigtap.dart index fa830f7..51c16a5 100644 --- a/lib/service/db/db_sqlite_Sigtap.dart +++ b/lib/service/db/db_sqlite_Sigtap.dart @@ -16,101 +16,76 @@ class DbSqliteSigtap{ db.execute(querys[i]); } } - Future saveProceduresSigtapDB(var value)async{ + Future saveProceduresSigtapDB(var rows)async{ Database db = await DbSqliteLoad().intialDB(); - - // {"codProcedimento":"0701020580","nome":"MANUTEN\u00c7\u00c3O DE OPM ORTOP\u00c9DICA","codGrupo":"07","qtdeMax":2,"idadeMin":833,"idadeMax":833,"sexo":"N"} - for(int i=0;value.length > i;i++){ - Map row = { - 'COD_PROC_SIGTAP' : value[i]['codProcedimento'], - 'DESC_PROC_SIGTAP' : value[i]['nome'], - 'GRUPO_PROC_SIGTAP' : value[i]['codGrupo'], - 'QTDE_MAXIMA' : value[i]['qtdeMax'], - 'IDADE_MIN' : value[i]['idadeMin'], - 'IDADE_MAX' : value[i]['idadeMax'], - 'SEXO' : value[i]['sexo'], - }; - int id = await db.insert('PROCEDIMENTOS_SIGTAP', row); - } - // print('id increment $id'); - // print(await db.query('PROCEDIMENTOS_SIGTAP')); + Batch batch = db.batch(); + rows.forEach((row) { + batch.insert('PROCEDIMENTOS_SIGTAP', row); + }); + List result = await batch.commit(); + print('Linhas inseridas: ${result.length}'); + List> PROCEDIMENTOS_SIGTAP = await db.query('PROCEDIMENTOS_SIGTAP'); + print('Total de PROCEDIMENTOS_SIGTAP : ${PROCEDIMENTOS_SIGTAP.length}'); return db; } - Future saveProceduresRegisterSigtapDB(var value)async{ + Future saveProceduresRegisterSigtapDB(var rows)async{ Database db = await DbSqliteLoad().intialDB(); - - // {"codProcedimento":"0701020580","nome":"MANUTEN\u00c7\u00c3O DE OPM ORTOP\u00c9DICA","codGrupo":"07","qtdeMax":2,"idadeMin":833,"idadeMax":833,"sexo":"N"} - for(int i=0;value.length > i;i++){ - Map row = { - 'COD_PROC_SIGTAP' : value[i]['codProcedimento'], - 'CODIGO_REGISTRO' : value[i]['codRegistro'], - }; - int id = await db.insert('PROCEDIMENTOS_SIGTAP_REGISTRO', row); - // print('id increment $id'); - } - - // print(await db.query('PROCEDIMENTOS_SIGTAP_REGISTRO')); + Batch batch = db.batch(); + rows.forEach((row) { + batch.insert('PROCEDIMENTOS_SIGTAP_REGISTRO', row); + }); + List result = await batch.commit(); + print('Linhas inseridas: ${result.length}'); + List> PROCEDIMENTOS_SIGTAP_REGISTRO = await db.query('PROCEDIMENTOS_SIGTAP_REGISTRO'); + print('Total de PROCEDIMENTOS_SIGTAP_REGISTRO : ${PROCEDIMENTOS_SIGTAP_REGISTRO.length}'); return db; } - Future saveSigtapCID(var value)async{ + Future saveSigtapCID(var rows)async{ Database db = await DbSqliteLoad().intialDB(); - // "INSERT OR REPLACE INTO CIDS (CODIGO_CID, DESCRICAO_CID, RESTRICAO_SEXO) VALUES (?,?,?)" - // {"codCID":"A000","descCID":"A00.0 Colera dev Vibrio cholerae 01 biot cholerae","restSexo":"5"}, - for(int i=0;value.length > i;i++){ - Map row = { - 'CODIGO_CID' : value[i]['codCID'], - 'DESCRICAO_CID' : value[i]['descCID'], - 'RESTRICAO_SEXO' : value[i]['restSexo'], - }; - int id = await db.insert('CIDS', row); - // print('id increment $id CIDS'); - } - // print(await db.query('CIDS')); + Batch batch = db.batch(); + rows.forEach((row) { + batch.insert('CIDS', row); + }); + List result = await batch.commit(); + print('Linhas inseridas: ${result.length}'); + List> CIDS = await db.query('CIDS'); + print('Total de CIDS : ${CIDS.length}'); return db; } - Future saveProceduresSigtapCID(var value)async{ + Future saveProceduresSigtapCID(var rows)async{ Database db = await DbSqliteLoad().intialDB(); - // "INSERT OR REPLACE INTO PROCEDIMENTOS_SIGTAP_CID (COD_PROC_SIGTAP, CODIGO_CID) VALUES (?,?)" - // {"codProcedimento":"0201010046","codCID":"C211"} - for(int i=0;value.length > i;i++){ - Map row = { - 'COD_PROC_SIGTAP' : value[i]['codProcedimento'], - 'CODIGO_CID' : value[i]['codCID'], - }; - int id = await db.insert('PROCEDIMENTOS_SIGTAP_CID', row); - // print('id increment $id PROCEDIMENTOS_SIGTAP_CID'); - } - // print(await db.query('PROCEDIMENTOS_SIGTAP_CID')); + Batch batch = db.batch(); + rows.forEach((row) { + batch.insert('PROCEDIMENTOS_SIGTAP_CID', row); + }); + List result = await batch.commit(); + print('Linhas inseridas: ${result.length}'); + List> PROCEDIMENTOS_SIGTAP_CID = await db.query('PROCEDIMENTOS_SIGTAP_CID'); + print('Total de PROCEDIMENTOS_SIGTAP_CID : ${PROCEDIMENTOS_SIGTAP_CID.length}'); return db; } - Future saveCBOSigtap(var value)async{ + Future saveCBOSigtap(var rows)async{ Database db = await DbSqliteLoad().intialDB(); - // "INSERT OR REPLACE INTO CBOS (CODIGO_CBO, DESCRICAO_CBO) VALUES (?,?)" - // "codCBO":"223208","descCBO":"Cirurgi\u00e3o dentista - cl\u00ednico geral" - for(int i=0;value.length > i;i++){ - Map row = { - 'CODIGO_CBO' : value[i]['codCBO'], - 'DESCRICAO_CBO' : value[i]['descCBO'], - }; - int id = await db.insert('CBOS', row); - // print('id increment $id CBOS'); - } - // print(await db.query('CBOS')); + Batch batch = db.batch(); + rows.forEach((row) { + batch.insert('CBOS', row); + }); + List result = await batch.commit(); + print('Linhas inseridas: ${result.length}'); + List> CBOS = await db.query('CBOS'); + print('Total de CBOS : ${CBOS.length}'); return db; } - Future saveProceduresCBOSigtap(var value)async{ + Future saveProceduresCBOSigtap(var rows)async{ Database db = await DbSqliteLoad().intialDB(); - // "INSERT OR REPLACE INTO PROCEDIMENTOS_SIGTAP_CBO (COD_PROC_SIGTAP, CODIGO_CBO) VALUES (?,?)"; - // "codProcedimento":"0101010010","codCBO":"223208" - for(int i=0;value.length > i;i++){ - Map row = { - 'COD_PROC_SIGTAP' : value[i]['codProcedimento'], - 'CODIGO_CBO' : value[i]['codCBO'], - }; - int id = await db.insert('PROCEDIMENTOS_SIGTAP_CBO', row); - // print('id increment $id PROCEDIMENTOS_SIGTAP_CBO'); - } - // print(await db.query('PROCEDIMENTOS_SIGTAP_CBO')); + Batch batch = db.batch(); + rows.forEach((row) { + batch.insert('PROCEDIMENTOS_SIGTAP_CBO', row); + }); + List result = await batch.commit(); + print('Linhas inseridas: ${result.length}'); + List> PROCEDIMENTOS_SIGTAP_CBO = await db.query('PROCEDIMENTOS_SIGTAP_CBO'); + print('Total de PROCEDIMENTOS_SIGTAP_CBO : ${PROCEDIMENTOS_SIGTAP_CBO.length}'); return db; } Future saveSyncSigtap(competencia)async{ diff --git a/lib/service/shared_preferences/shared_preferences_service.dart b/lib/service/shared_preferences/shared_preferences_service.dart index 4c28142..f8b4326 100644 --- a/lib/service/shared_preferences/shared_preferences_service.dart +++ b/lib/service/shared_preferences/shared_preferences_service.dart @@ -7,6 +7,13 @@ class PrefService{ SharedPreferences _preferences = await SharedPreferences.getInstance(); _preferences.setString('idUsuario', idUsuario); } + + Future readCacheIDUser() async{ + SharedPreferences _preferences = await SharedPreferences.getInstance(); + String idUsuario = _preferences.getString('idUsuario')!; + return idUsuario; + } + Future createCacheUnidade(String idUnidade, String nomeUnidade)async{ SharedPreferences _preferences = await SharedPreferences.getInstance(); @@ -23,18 +30,18 @@ class PrefService{ Future createCacheModel(String user,String password,String city,String mode)async{ SharedPreferences _preferences = await SharedPreferences.getInstance(); - _preferences.setString('user', user); + _preferences.setString('username', user); _preferences.setString('password', password); _preferences.setString('city', city); _preferences.setString('mode', mode); } - Future readCacheIdUsuario(String idUsuario) async{ + Future readCacheIdUsername(String username) async{ SharedPreferences _preferences = await SharedPreferences.getInstance(); - var idUsuario = _preferences.getString('idUsuario'); - return idUsuario; + var username = _preferences.getString('username'); + return username; } - Future readCacheUnidade(String idUnidade) async{ + Future readCacheUnidade() async{ SharedPreferences _preferences = await SharedPreferences.getInstance(); var idUnidade = _preferences.getString('idUnidade'); var nomeUnidade = _preferences.getString('nomeUnidade'); @@ -46,7 +53,7 @@ class PrefService{ } Future readCacheModel(String user,String password,String city,String mode) async{ SharedPreferences _preferences = await SharedPreferences.getInstance(); - String? user = _preferences.getString('user'); + String? username = _preferences.getString('username'); String? password = _preferences.getString('password'); String? city = _preferences.getString('city'); String? mode = _preferences.getString('mode'); @@ -71,6 +78,6 @@ class PrefService{ Future removeCache(String idUsuario) async{ SharedPreferences _preferences = await SharedPreferences.getInstance(); - _preferences.remove('idUsuario'); + _preferences.remove('username'); } } \ No newline at end of file diff --git a/lib/widgets/appbar_default.dart b/lib/widgets/appbar_default.dart index 0c7a5b2..58d30b5 100644 --- a/lib/widgets/appbar_default.dart +++ b/lib/widgets/appbar_default.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import 'package:rkm/config/const_variable.dart'; import 'package:rkm/widgets/alert_dialog_settings.dart'; import '../screens/login/login_saved_screen.dart'; import '../config/color_palette.dart'; @@ -11,7 +12,8 @@ class AppBarDefault{ return PreferredSize( preferredSize: Size.fromHeight(50), child: AppBar( - title: Text(title), + title: Text(title,style: TextStyle(color: Colors.white),), + iconTheme: ConstVariable().iconThemeDataDefault, centerTitle: true, actions: [ IconButtonDefault( diff --git a/lib/widgets/screen_dev.dart b/lib/widgets/screen_dev.dart new file mode 100644 index 0000000..631dd05 --- /dev/null +++ b/lib/widgets/screen_dev.dart @@ -0,0 +1,33 @@ +import 'package:flutter/material.dart'; + +import '../config/const_variable.dart'; + +class ScreenDev extends StatefulWidget { + const ScreenDev({super.key}); + + @override + State createState() => _ScreenDevState(); +} + +class _ScreenDevState extends State { + @override + Widget build(BuildContext context) { + + double width = MediaQuery.of(context).size.width; + double height = MediaQuery.of(context).size.height; + + return Container( + alignment: Alignment.center, + width: width, + height: height, + decoration: ConstVariable().backgroundGradient, + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + Image.asset('assets/images/logo.PNG',width: width*0.4), + Text('Tela em desenvolvimento...') + ], + ), + ); + } +} diff --git a/pubspec.lock b/pubspec.lock index 578930c..f78f766 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -61,10 +61,10 @@ packages: dependency: transitive description: name: collection - sha256: "4a07be6cb69c84d677a6c3096fcf960cc3285a8330b4603e0d463d15d9bd934c" + sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a url: "https://pub.dev" source: hosted - version: "1.17.1" + version: "1.18.0" convert: dependency: transitive description: @@ -212,26 +212,26 @@ packages: dependency: transitive description: name: matcher - sha256: "6501fbd55da300384b768785b83e5ce66991266cec21af89ab9ae7f5ce1c4cbb" + sha256: "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e" url: "https://pub.dev" source: hosted - version: "0.12.15" + version: "0.12.16" material_color_utilities: dependency: transitive description: name: material_color_utilities - sha256: d92141dc6fe1dad30722f9aa826c7fbc896d021d792f80678280601aff8cf724 + sha256: "9528f2f296073ff54cb9fee677df673ace1218163c3bc7628093e7eed5203d41" url: "https://pub.dev" source: hosted - version: "0.2.0" + version: "0.5.0" meta: dependency: transitive description: name: meta - sha256: "3c74dbf8763d36539f114c799d8a2d87343b5067e9d796ca22b5eb8437090ee3" + sha256: a6e590c838b18133bb482a2745ad77c5bb7715fb0451209e1a7567d416678b8e url: "https://pub.dev" source: hosted - version: "1.9.1" + version: "1.10.0" package_info_plus: dependency: "direct main" description: @@ -377,10 +377,10 @@ packages: dependency: transitive description: name: source_span - sha256: dd904f795d4b4f3b870833847c461801f6750a9fa8e61ea5ac53f9422b31f250 + sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c" url: "https://pub.dev" source: hosted - version: "1.9.1" + version: "1.10.0" sqflite: dependency: "direct main" description: @@ -401,18 +401,18 @@ packages: dependency: transitive description: name: stack_trace - sha256: c3c7d8edb15bee7f0f74debd4b9c5f3c2ea86766fe4178eb2a18eb30a0bdaed5 + sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" url: "https://pub.dev" source: hosted - version: "1.11.0" + version: "1.11.1" stream_channel: dependency: transitive description: name: stream_channel - sha256: "83615bee9045c1d322bbbd1ba209b7a749c2cbcdcb3fdd1df8eb488b3279c1c8" + sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7 url: "https://pub.dev" source: hosted - version: "2.1.1" + version: "2.1.2" string_scanner: dependency: transitive description: @@ -441,10 +441,10 @@ packages: dependency: transitive description: name: test_api - sha256: eb6ac1540b26de412b3403a163d919ba86f6a973fe6cc50ae3541b80092fdcfb + sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b" url: "https://pub.dev" source: hosted - version: "0.5.1" + version: "0.6.1" typed_data: dependency: transitive description: @@ -461,6 +461,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.4" + web: + dependency: transitive + description: + name: web + sha256: afe077240a270dcfd2aafe77602b4113645af95d0ad31128cc02bce5ac5d5152 + url: "https://pub.dev" + source: hosted + version: "0.3.0" win32: dependency: transitive description: @@ -478,5 +486,5 @@ packages: source: hosted version: "1.0.0" sdks: - dart: ">=3.0.0-0 <4.0.0" + dart: ">=3.2.3 <4.0.0" flutter: ">=3.3.0" diff --git a/pubspec.yaml b/pubspec.yaml index 8c0b267..4bb83f4 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -2,10 +2,10 @@ name: rkm description: RKM AB 2.0. publish_to: 'none' -version: 1.0.5+4 +version: 1.0.6+5 environment: - sdk: '>=2.17.6 <3.0.0' + sdk: '>=3.2.3 <4.0.0' dependencies: flutter: