diff --git a/lib/screens/login/login_saved_screen.dart b/lib/screens/login/login_saved_screen.dart index fa4939f..2b5a1ec 100644 --- a/lib/screens/login/login_saved_screen.dart +++ b/lib/screens/login/login_saved_screen.dart @@ -79,6 +79,8 @@ class _LoginSavedScreenState extends State { @override void initState() { super.initState(); + // print('dados'); + // print(widget.listControl); recupDB(); } @@ -192,7 +194,7 @@ class _LoginSavedScreenState extends State { padding: EdgeInsets.symmetric(vertical: 5), width: width*0.6, child: TextDefault( - text: 'Área: '+widget.listControl[0]['AREA'].toString()+' - Microárea: '+widget.listControl[0]['MICROAREA'].toString(), + text: 'Área: '+widget.listControl[0]['AREA_DESCRICAO'].toString()+' - Microárea: '+widget.listControl[0]['MICROAREA_DESCRICAO'].toString(), fontWeigth: FontWeight.bold, color: Colors.black, textAlign: TextAlign.center, diff --git a/lib/screens/login/sync_login_screen.dart b/lib/screens/login/sync_login_screen.dart index 732fb77..dfedc28 100644 --- a/lib/screens/login/sync_login_screen.dart +++ b/lib/screens/login/sync_login_screen.dart @@ -138,7 +138,11 @@ class _SyncLoginScreenState extends State { for(int i=0; listUnit.length > i;i++){ if(listUnit[i] == selectUnit){ idUnidade = searchUnitCodList[i].toString(); - _prefService.createCacheUnidade(idUnidade,selectUnit!); + print('idUnidade: $idUnidade / select $selectUnit'); + _prefService.createCacheUnidade(idUnidade,selectUnit!).then((onValue){ + print('onValeu ${onValue.toString()}'); + }); + break; } } if(idUnidade!=''){ @@ -253,7 +257,10 @@ class _SyncLoginScreenState extends State { validatorDropDown = true; selectTeam = null; }); - getTeam(); + _prefService.removeUnidade().then((onValue){ + print('remove unidade'); + getTeam(); + }); }, ), TitleInput(title:'Equipe'), @@ -265,7 +272,18 @@ class _SyncLoginScreenState extends State { onChanged: (value){ setState(() { selectTeam = value!; + print('ID_ATB_AREA'); + print(selectTeam!.ID_ATB_AREA.toString()); + print('AREA'); + print(selectTeam!.AREA.toString()); + print('ID_ATB_MICROAREA'); print(selectTeam!.ID_ATB_MICROAREA.toString()); + print('MICROAREA'); + print(selectTeam!.MICROAREA.toString()); + print('UNIDADE'); + print(selectTeam!.ID_UNIDADE.toString()); + print('EQUIPE'); + print(selectTeam!.ID_EQUIPE.toString()); }); }, ), diff --git a/lib/screens/registers_citizen/register_citizen_screen.dart b/lib/screens/registers_citizen/register_citizen_screen.dart index 1abdd82..f83d1cb 100644 --- a/lib/screens/registers_citizen/register_citizen_screen.dart +++ b/lib/screens/registers_citizen/register_citizen_screen.dart @@ -2,6 +2,7 @@ import 'package:brasil_fields/brasil_fields.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:intl/intl.dart'; +import 'package:mask_text_input_formatter/mask_text_input_formatter.dart'; import 'package:rkm/config/color_palette.dart'; import 'package:rkm/config/const_variable.dart'; import 'package:rkm/models/drop_down_data_string_model.dart'; @@ -222,7 +223,7 @@ class _RegisterCitizenScreenState extends State { List listControl = await db.rawQuery(queryControl); final PrefService _prefService = PrefService(); _prefService.readCacheUnidade().then((listUnidade)async{ - idUnidade =listUnidade[0]; + idUnidade =listUnidade[0].toString(); }); setState(() { unitController.text = listControl[0]['NOME_UNIDADE']; @@ -459,10 +460,10 @@ class _RegisterCitizenScreenState extends State { 'NUM_RECADO' : messageController.text.isNotEmpty?int.parse(messageController.text):0, 'EMAIL' : emailController.text, 'OBSERVACOES' : observationController.text, - 'CPF' : CPFController.text.isNotEmpty?int.parse(CPFController.text):0, + 'CPF' : CPFController.text.isNotEmpty?int.parse(CPFController.text.replaceAll('.', '').replaceAll('-', '')):0, 'CNS' : checkCNS == 'ok'&& CNSController.text.isNotEmpty?int.parse(CNSController.text):999999999999999, 'TITULO_ELEITOR' : voterController.text, - 'RG_NUMERO' : RGController.text.isNotEmpty?int.parse(RGController.text):0, + 'RG_NUMERO' : RGController.text.isNotEmpty && RGController.text!='null'?int.parse(RGController.text):0, 'RG_COMPLEMENTO' : RGComplementController.text, 'RG_UF' : selectRGUF, 'RG_ORGAO' : RGOrganController.text, @@ -649,7 +650,7 @@ class _RegisterCitizenScreenState extends State { } List listTypeStreet = await DBQuerys().buscaTipoLogradouroPorId(idTipo); selectTypeStreet = listTypeStreet[0]['NO_LOGR_TIPO']; - cepController.text = widget.listData[0]['CEP_LOGR'].toString()=='null'?'': widget.listData[0]['CEP_LOGR'].toString(); + cepController.text = widget.listData[0]['CEP_LOGR'].toString()=='null'?'': cepfMaskFormatter.maskText(widget.listData[0]['CEP_LOGR'].toString()); numberController.text = widget.listData[0]['NUMERO_LOGR'].toString()??''; // print('numberController'); // print(numberController.text); @@ -674,12 +675,12 @@ class _RegisterCitizenScreenState extends State { messageController.text = widget.listData[0]['NUM_RECADO'].toString()=='null'?'':widget.listData[0]['NUM_RECADO'].toString(); emailController.text = widget.listData[0]['EMAIL']; observationController.text = widget.listData[0]['OBSERVACOES']; - CPFController.text = widget.listData[0]['CPF'].toString(); + CPFController.text = cpfMaskFormatter.maskText(widget.listData[0]['CPF'].toString()); CNSController.text = widget.listData[0]['CNS']; voterController.text = widget.listData[0]['TITULO_ELEITOR']==null?'':widget.listData[0]['TITULO_ELEITOR'].toString()??''; - RGController.text = widget.listData[0]['RG_NUMERO'].toString()=='null'?'':widget.listData[0]['RG_NUMERO'].toString(); - RGComplementController.text = widget.listData[0]['RG_COMPLEMENTO'].toString(); - selectRGUF = widget.listData[0]['RG_UF']??''; + RGController.text = widget.listData[0]['RG_NUMERO'].toString()==null?'':widget.listData[0]['RG_NUMERO'].toString(); + RGComplementController.text = widget.listData[0]['RG_COMPLEMENTO'].toString()==null?'':widget.listData[0]['RG_COMPLEMENTO'].toString(); + selectRGUF = widget.listData[0]['RG_UF']??'--'; RGOrganController.text = widget.listData[0]['RG_ORGAO']==null?'':widget.listData[0]['RG_ORGAO']; RGDateController.text = widget.listData[0]['RG_DATA_EMISSAO']==null?'':widget.listData[0]['RG_DATA_EMISSAO']; RGDateDB = RGDateController.text; @@ -718,6 +719,15 @@ class _RegisterCitizenScreenState extends State { setState(() {}); } + var cpfMaskFormatter = MaskTextInputFormatter( + mask: '###.###.###-##', + filter: { "#": RegExp(r'[0-9]') }, + ); + var cepfMaskFormatter = MaskTextInputFormatter( + mask: '##.###-###', + filter: { "#": RegExp(r'[0-9]') }, + ); + @override void initState() { super.initState(); @@ -739,7 +749,7 @@ class _RegisterCitizenScreenState extends State { double width = MediaQuery.of(context).size.width; return WillPopScope( - onWillPop: () async => await OnBackButton().onBackButton(context, widget.username), + onWillPop:showTab?null: () async => await OnBackButton().onBackButton(context, widget.username), child: Scaffold( appBar: AppBarDefault().appbar(context, 'RKM AB - Cadastro Cidadão',widget.username), body: Container( diff --git a/lib/screens/registers_citizen/register_home_screen.dart b/lib/screens/registers_citizen/register_home_screen.dart index d4e04d9..6c39435 100644 --- a/lib/screens/registers_citizen/register_home_screen.dart +++ b/lib/screens/registers_citizen/register_home_screen.dart @@ -150,7 +150,7 @@ class _RegisterHomeScreenState extends State { }); _prefService.readCacheUnidade().then((value){ if(value!=null){ - idUnidade = value[0]; + idUnidade = value[0].toString(); nomeUnidade = value[1]; } loadLists(); @@ -445,6 +445,7 @@ class _RegisterHomeScreenState extends State { 'Cadastro Domiciliar realizado com sucesso!', 'OK' ); + Navigator.pushAndRemoveUntil(context, MaterialPageRoute(builder: (context)=>HomeScreen(username: widget.username)), (route) => false); // print(value); }); diff --git a/lib/screens/registers_citizen/register_individual_screen.dart b/lib/screens/registers_citizen/register_individual_screen.dart index fd5da22..09c104f 100644 --- a/lib/screens/registers_citizen/register_individual_screen.dart +++ b/lib/screens/registers_citizen/register_individual_screen.dart @@ -177,7 +177,7 @@ class _RegisterIndividualScreenState extends State { }); _prefService.readCacheUnidade().then((value){ if(value!=null){ - idUnidade = value[0]; + idUnidade = value[0].toString(); nomeUnidade = value[1]; } loadLists(); @@ -653,7 +653,7 @@ class _RegisterIndividualScreenState extends State { double width = MediaQuery.of(context).size.width; return WillPopScope( - onWillPop: ()async=> await OnBackButton().onBackButton(context, widget.username), + onWillPop: showTab?null:()async=> await OnBackButton().onBackButton(context, widget.username), child: Scaffold( appBar: AppBarDefault().appbar(context, 'RKM AB - Cadastro Individual',widget.username), body: Container( diff --git a/lib/screens/select_service/atendimento_domiciliar_tela.dart b/lib/screens/select_service/atendimento_domiciliar_tela.dart index c0e39da..07921e5 100644 --- a/lib/screens/select_service/atendimento_domiciliar_tela.dart +++ b/lib/screens/select_service/atendimento_domiciliar_tela.dart @@ -147,7 +147,7 @@ class _AtendimentoDomiciliarTelaState extends State { }); _prefService.readCacheUnidade().then((value){ if(value!=null){ - idUnidade = value[0]; + idUnidade = value[0].toString(); CNES_UNIDADE.text = value[1]; } }); diff --git a/lib/screens/select_service/visita_domiciliar_tela.dart b/lib/screens/select_service/visita_domiciliar_tela.dart index 0666f86..2f64249 100644 --- a/lib/screens/select_service/visita_domiciliar_tela.dart +++ b/lib/screens/select_service/visita_domiciliar_tela.dart @@ -123,7 +123,7 @@ class _VisitaDomiciliarTelaState extends State { }); _prefService.readCacheUnidade().then((value){ if(value!=null){ - idUnidade = value[0]; + idUnidade = value[0].toString(); CNES_UNIDADE.text = value[1]; } }); diff --git a/lib/screens/splash_screen.dart b/lib/screens/splash_screen.dart index 2232f3c..0422851 100644 --- a/lib/screens/splash_screen.dart +++ b/lib/screens/splash_screen.dart @@ -39,6 +39,7 @@ class _SplashScreenState extends State { if(dataControl.length != 0){ var query = "SELECT * FROM CONTROLE_INTERNO"; dataControl = await db.rawQuery(query); + print(dataControl); String? url; if(list[3]=='desenvolvimento'){ url = UrlApiConst.ApiUrlDesenvolvimento; diff --git a/lib/screens/sync_init_screen.dart b/lib/screens/sync_init_screen.dart index da3147b..4a5a649 100644 --- a/lib/screens/sync_init_screen.dart +++ b/lib/screens/sync_init_screen.dart @@ -26,8 +26,10 @@ class _SyncInitScreenState extends State { String idUsuario = ''; String idUnidade = ''; String nomeUnidade = ''; - int idArea = 0; - int idMicroarea = 0; + int AREA_ID = 0; + int AREA_DESCRICAO = 0; + int MICROAREA_ID = 0; + int MICROAREA_DESCRICAO = 0; bool foraArea = false; int foraAreaInt = 0; String urlAPI=''; @@ -58,6 +60,7 @@ class _SyncInitScreenState extends State { codState = list[0]['COD_STATE']; codCityIbge = list[0]['COD_IBGE']; if(urlAPI!=''){ + print('chegou'); dataUser(); } }); @@ -65,13 +68,18 @@ class _SyncInitScreenState extends State { dataUser()async{ _prefService.readCacheUnidade().then((listUnidade)async{ + print('listUnidade'); + print(listUnidade); _prefService.readCacheSync().then((list){ + print('datauser'); print(list); - foraArea = list[8]; + AREA_ID = list[0]; + AREA_DESCRICAO = list[1]; + MICROAREA_ID = list[2]; + MICROAREA_DESCRICAO = list[3]; + foraArea = list[9]; foraAreaInt = foraArea?1:0; - idArea = list[2]; - idMicroarea = list[4]; - idUnidade = listUnidade[0].toString(); + idUnidade = list[5].toString(); nomeUnidade = listUnidade[1]; initSync(); }); @@ -132,7 +140,7 @@ class _SyncInitScreenState extends State { await DbSqliteSync().insertProfissionaisCBOs(value).then((value)async{ countProg = 0.7; setState(() {}); - await ApiDataSync().syncCidadaos(urlAPI,mode,nameCityApi,user,idUnidade,idArea,idMicroarea,foraAreaInt).then((value)async{ + await ApiDataSync().syncCidadaos(urlAPI,mode,nameCityApi,user,idUnidade,AREA_ID,MICROAREA_ID,foraAreaInt).then((value)async{ if(value.length == 0){ setState(()=> messageSteps = "ERRO: Erro para carregar os Cadastros dos Cidadãos - Por favor, tente novamente!"); }else{ @@ -140,7 +148,7 @@ class _SyncInitScreenState extends State { await DbSqliteSync().insertCidadaos(value,'sync','').then((value)async{ countProg = 0.8; setState(() {}); - await ApiDataSync().syncCadastrosDomiciliares(urlAPI,mode,nameCityApi,user,idUnidade,idArea,idMicroarea,foraAreaInt).then((value)async{ + await ApiDataSync().syncCadastrosDomiciliares(urlAPI,mode,nameCityApi,user,idUnidade,AREA_ID,MICROAREA_ID,foraAreaInt).then((value)async{ if(value.length == 0){ setState(()=> messageSteps = "ERRO: Erro para carregar os Cadastros Domiciliares - Por favor, tente novamente!"); }else{ @@ -148,13 +156,13 @@ class _SyncInitScreenState extends State { await DbSqliteSync().insertCadastrosDomiciliares(value,'sync',0,0,'').then((value)async{ countProg = 0.9; setState(() {}); - await ApiDataSync().syncCadastrosIndividuais(urlAPI,mode,nameCityApi,user,idUnidade,idArea,idMicroarea,foraAreaInt).then((value)async{ + await ApiDataSync().syncCadastrosIndividuais(urlAPI,mode,nameCityApi,user,idUnidade,AREA_ID,MICROAREA_ID,foraAreaInt).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,'sync',0).then((value)async{ - await DbSqliteSync().saveSync(codCity,codState,urlAPI,mode,nameCityApi,nameCityFront,codCityIbge,user,idUnidade,nomeUnidade,idArea,idMicroarea).then((value)async{ + await DbSqliteSync().saveSync(codCity,codState,urlAPI,mode,nameCityApi,nameCityFront,codCityIbge,user,idUnidade,nomeUnidade,AREA_ID,AREA_DESCRICAO,MICROAREA_ID,MICROAREA_DESCRICAO).then((value)async{ countProg = 1; setState(() {}); Navigator.pushReplacement(context, MaterialPageRoute(builder: (context)=>HomeScreen(username: user))); diff --git a/lib/service/db/db_sqlite_load.dart b/lib/service/db/db_sqlite_load.dart index 18a4b77..dcbd85d 100644 --- a/lib/service/db/db_sqlite_load.dart +++ b/lib/service/db/db_sqlite_load.dart @@ -34,7 +34,7 @@ class DbSqliteLoad{ db.execute('CREATE TABLE IF NOT EXISTS CIDADAOS (ID_CIDADAO INTEGER PRIMARY KEY AUTOINCREMENT, CD_USUARIO_SUS TEXT, NOME_CIDADAO TEXT, NOME_SOCIAL TEXT, SEXO TEXT, DT_NASCIMENTO TEXT, ID_ESTADO_CIVIL INTEGER, NOME_CONJUGE TEXT, NACIONALIDADE INTEGER, ID_MUNICIPIO_NASC INTEGER, NO_MUNICIPIO_NASC TEXT, ESTADO_UF_NASC TEXT, ID_ETNIA INTEGER, ID_ETNIA_INDIGENA TEXT, ID_ESCOLARIDADE INTEGER, ID_DEFICIENCIA INTEGER, NOME_MAE TEXT, DESCONHECE_MAE INTEGER, NOME_PAI TEXT, DESCONHECE_PAI INTEGER, ID_UNIDADE INTEGER, NUM_PRONTUARIO TEXT, NUM_PRONTUARIO_PROV TEXT, CLASSIFICACAO INTEGER, CLASSIFICACAO_SUB INTEGER, NUM_FAMILIA INTEGER, ID_PAIS_RESID INTEGER, ID_MUNICIPIO_RESID INTEGER, NO_MUNICIPIO_RESID TEXT, ESTADO_UF_RESID TEXT, CODIGO_IBGE_RESID INTEGER, NO_BAIRRO_LOGR TEXT, ID_LOGR_TIPO INTEGER, NOME_LOGR TEXT, CEP_LOGR INTEGER, NUMERO_LOGR INTEGER, LOTEAMENTO_LOGR INTEGER, COMPL_LOGR TEXT, PONTO_REFERENCIA TEXT, ZONA_LOGR INTEGER, DDD_TELEFONE INTEGER, NUM_TELEFONE INTEGER, DDD_CELULAR INTEGER, NUM_CELULAR INTEGER, DDD_RECADO INTEGER, NUM_RECADO INTEGER, EMAIL TEXT, OBSERVACOES TEXT, CPF INTEGER, CNS TEXT, TITULO_ELEITOR INTEGER, RG_NUMERO INTEGER, RG_COMPLEMENTO TEXT, RG_UF TEXT, RG_ORGAO TEXT, RG_DATA_EMISSAO TEXT, TIPO_CERTIDAO INTEGER, NUM_CERTIDAO TEXT, CARTORIO_CERTIDAO TEXT, LIVRO_CERTIDAO TEXT, FOLHA_CERTIDAO TEXT, TERMO_CERTIDAO TEXT, DT_EMISSAO_CERTIDAO TEXT, NUM_CTPS TEXT, NUM_SERIE_CTPS TEXT, ESTADO_UF_CTPS TEXT, NUM_PIS_PASEP TEXT, FL_RETIROU_CARTAO INTEGER, NUM_NIS TEXT, NUM_PROT_CROSS TEXT, RENDA_MENSAL REAL, PROFISSAO TEXT, DT_OBITO TEXT, DECLARACAO_OBITO TEXT, BLOQUEIO INTEGER, ORIGEM INTEGER, DT_HORA_CADASTRO TEXT, ID_USUARIO_CADASTRO INTEGER, ID_DOMICILIO INTEGER, ATENDIMENTOS INTEGER, SINCRONIZADO TEXT, RENDA_TOTAL_FAMILIAR REAL , POSSUI_VEICULO TEXT , MODELO_VEICULO TEXT , ANO_VEICULO INTEGER , POSSUI_FINANCIAMENTO TEXT , VALOR_PARCELA_FINANCIAMENTO REAL , POSSUI_EMPRESTIMO TEXT , VALOR_PARCELA_EMPRESTIMO REAL);'); db.execute('CREATE TABLE IF NOT EXISTS CIDADAO_DOMICILIO (ID_DOMICILIO INTEGER PRIMARY KEY AUTOINCREMENT, TIPO_IMOVEL INTEGER, ID_AREA_DOMICILIO INTEGER, ID_MICROAREA_DOMICILIO INTEGER, FORA_AREA INTEGER, SITUACAO_MORADIA INTEGER, TIPO_LOCALIDADE INTEGER, TIPO_DOMICILIO INTEGER, NUM_MORADORES INTEGER, NUM_COMODOS INTEGER, SITUACAO_RURAL INTEGER, TIPO_ACESSO INTEGER, MAT_PREDOMINANTE INTEGER, DISPONIBILIDADE_ENERGIA INTEGER, TIPO_ABASTECIMENTO INTEGER, TRATAMENTO_AGUA INTEGER, DESTINO_LIXO INTEGER, ESCOAMENTO INTEGER, FL_ANIMAIS INTEGER, ANIMAIS_GATO INTEGER, ANIMAIS_CACHORRO INTEGER, ANIMAIS_PASSARO INTEGER, ANIMAIS_OUTROS INTEGER, QTDE_ANIMAIS INTEGER, CBO_RESP_CADASTRO TEXT, ID_RESP_CADASTRO INTEGER, CNES_RESP_CADASTRO TEXT, INE_RESP_CADASTRO TEXT, DT_CADASTRO TEXT, ID_EQUIPE INTEGER, ORIGEM TEXT, SINCRONIZADO TEXT, NOME_INSTITUICAO_PERMANENCIA TEXT, PROFISSIONAIS_VINCULADOS_INST INTEGER, RESPONSAVEL_TECNICO_INST TEXT, CNS_RESP_TECNICO_INST TEXT, CARGO_RESP_TECNICO_INST TEXT, TEL_RESP_TECNICO_INST TEXT);'); db.execute('CREATE TABLE IF NOT EXISTS CIDS (CODIGO_CID TEXT, DESCRICAO_CID TEXT, RESTRICAO_SEXO INTEGER);'); - db.execute('CREATE TABLE IF NOT EXISTS CONTROLE_INTERNO (CARGA_INICIAL INTEGER, SYNC_UNIDADE INTEGER, CIDADE_LOAD TEXT, NOME_CIDADE TEXT, ID_MUNICIPIO INTEGER, UF_ESTADO TEXT, UNIDADE_SYNC TEXT, CODIGO_IBGE INTEGER, NOME_UNIDADE TEXT, AMBIENTE TEXT, ULTIMA_SINCRONIZACAO TEXT, COMPETENCIA TEXT, AREA INTEGER, MICROAREA INTEGER);'); + db.execute('CREATE TABLE IF NOT EXISTS CONTROLE_INTERNO (CARGA_INICIAL INTEGER, SYNC_UNIDADE INTEGER, CIDADE_LOAD TEXT, NOME_CIDADE TEXT, ID_MUNICIPIO INTEGER, UF_ESTADO TEXT, UNIDADE_SYNC TEXT, CODIGO_IBGE INTEGER, NOME_UNIDADE TEXT, AMBIENTE TEXT, ULTIMA_SINCRONIZACAO TEXT, COMPETENCIA TEXT, AREA_ID INTEGER, AREA_DESCRICAO INTEGER, MICROAREA_ID INTEGER, MICROAREA_DESCRICAO INTEGER);'); db.execute('CREATE TABLE IF NOT EXISTS DOMICILIOS_CIDADAOS (ID_DOMICILIO INTEGER, CD_USUARIO_SUS TEXT);'); db.execute('CREATE TABLE IF NOT EXISTS EQUIPES (ID_EQUIPE INTEGER PRIMARY KEY AUTOINCREMENT, ID_UNIDADE INTEGER, INE TEXT, ID_ATB_AREA INTEGER, AREA INTEGER, ID_ATB_MICROAREA INTEGER, MICROAREA INTEGER);'); db.execute('CREATE TABLE IF NOT EXISTS FICHAS_COMPLEMENTARES (ID_FICHA_COMPLEMENTAR INTEGER PRIMARY KEY AUTOINCREMENT, ID_CIDADAO INTEGER, CD_USUARIO_SUS TEXT, ID_PROFISSIONAL INTEGER, CBO_PROFISSIONAL TEXT, INE_PROFISSIONAL TEXT, CNES_UNIDADE TEXT, ID_UNIDADE INTEGER, ID_EQUIPE INTEGER, DATA_ATENDIMENTO TEXT, TURNO INTEGER, DATA_OLHINHO TEXT, RESULTADO_OLHINHO INTEGER, DATA_FUNDO_OLHO TEXT, RESULTADO_FUNDO_OLHO INTEGER, DATA_ORELHINHA TEXT, RESULTADO_ORELHINHA INTEGER, DATA_TRANSFONTANELA TEXT, RESULTADO_TRANSFONTANELA INTEGER, DATA_TOMOGRAFIA TEXT, RESULTADO_TOMOGRAFIA INTEGER, DATA_RESSONANCIA TEXT, RESULTADO_RESSONANCIA INTEGER, SINCRONIZADO TEXT);'); diff --git a/lib/service/db/db_sqlite_sync.dart b/lib/service/db/db_sqlite_sync.dart index a63ea85..d8807cf 100644 --- a/lib/service/db/db_sqlite_sync.dart +++ b/lib/service/db/db_sqlite_sync.dart @@ -571,7 +571,7 @@ class DbSqliteSync{ print(await db.query('VISITAS_DOMICILIARES_PROC')); return db; } - Future saveSync(codCity,codState,urlAPI,mode,nameCityApi,nameCityFront,codCityIbge,user,idUnidade,nomeUnidade,area,microarea)async{ + Future saveSync(codCity,codState,urlAPI,mode,nameCityApi,nameCityFront,codCityIbge,user,idUnidade,nomeUnidade,AREA_ID,AREA_DESCRICAO,MICROAREA_ID,MICROAREA_DESCRICAO)async{ Database db = await DbSqliteLoad().intialDB(); //refatorar cidade_load e nome_cidade 'parameters = [{"carga_inicial": 1, "cidade_load": cidade, "nome_cidade": vm.nomeCidade[cidade], "cidade_id": cidadeID, "estado": estado, "ibge": ibge, "ambiente": ambiente, "competencia": competencia.replace(/\D/g, '')}]'; @@ -587,8 +587,10 @@ class DbSqliteSync{ 'AMBIENTE' : mode, 'SYNC_UNIDADE' : idUnidade, 'NOME_UNIDADE' : nomeUnidade, - 'AREA' : area, - 'MICROAREA' : microarea, + 'AREA_ID' : AREA_ID, + 'AREA_DESCRICAO' : AREA_DESCRICAO, + 'MICROAREA_ID' : MICROAREA_ID, + 'MICROAREA_DESCRICAO' : MICROAREA_DESCRICAO, 'ULTIMA_SINCRONIZACAO' : DateTime.now().toString(), 'COMPETENCIA' : '${DateTime.now().year}${DateTime.now().month<10?'0':''}${DateTime.now().month-1}', }; diff --git a/lib/service/shared_preferences/shared_preferences_service.dart b/lib/service/shared_preferences/shared_preferences_service.dart index 2b41074..5a2a36b 100644 --- a/lib/service/shared_preferences/shared_preferences_service.dart +++ b/lib/service/shared_preferences/shared_preferences_service.dart @@ -18,24 +18,32 @@ class PrefService{ Future createCacheUnidade(String idUnidade, String nomeUnidade)async{ + print('idUnidade $idUnidade'); + print('nomeUnidade $nomeUnidade'); + SharedPreferences _preferences = await SharedPreferences.getInstance(); _preferences.setString('idUnidade', idUnidade); _preferences.setString('nomeUnidade', nomeUnidade); + return [_preferences.getString('idUnidade'),_preferences.getString('nomeUnidade')]; + } + Future readCacheUnidade() async{ + SharedPreferences _preferences = await SharedPreferences.getInstance(); + return [_preferences.getInt('idUnidade'),_preferences.getString('nomeUnidade')]; } Future createCacheSync(EquipeModelo equipe,bool foraArea)async{ SharedPreferences _preferences = await SharedPreferences.getInstance(); - _preferences.setInt('idEquipe',equipe.ID_EQUIPE); - _preferences.setString('ine',equipe.INE); + _preferences.setInt('idAtbArea',equipe.ID_ATB_AREA); _preferences.setInt('area',equipe.AREA); _preferences.setInt('idAtbMicroarea',equipe.ID_ATB_MICROAREA==null?0:equipe.ID_ATB_MICROAREA); - _preferences.setInt('idAtbArea',equipe.ID_ATB_AREA); _preferences.setInt('microarea',equipe.MICROAREA==null?0:equipe.MICROAREA); + _preferences.setInt('idEquipe',equipe.ID_EQUIPE); + _preferences.setInt('idUnidade',equipe.ID_UNIDADE); + _preferences.setString('ine',equipe.INE); _preferences.setInt('idProfissional',equipe.ID_PROFISSIONAL); _preferences.setInt('ativo',equipe.ATIVO); _preferences.setBool('foraArea', foraArea); } - Future createCacheModel(String user,String password,String city,String mode)async{ SharedPreferences _preferences = await SharedPreferences.getInstance(); @@ -44,22 +52,11 @@ class PrefService{ _preferences.setString('city', city); _preferences.setString('mode', mode); } - Future readCacheIdUsername(String username) async{ SharedPreferences _preferences = await SharedPreferences.getInstance(); var username = _preferences.getString('username'); return username; } - Future readCacheUnidade() async{ - SharedPreferences _preferences = await SharedPreferences.getInstance(); - var idUnidade = _preferences.getString('idUnidade'); - var nomeUnidade = _preferences.getString('nomeUnidade'); - List list =[ - idUnidade, - nomeUnidade, - ]; - return list; - } Future readCacheModel(String user,String password,String city,String mode) async{ SharedPreferences _preferences = await SharedPreferences.getInstance(); String? username = _preferences.getString('username'); @@ -76,22 +73,24 @@ class PrefService{ } Future readCacheSync() async{ SharedPreferences _preferences = await SharedPreferences.getInstance(); - int? area = _preferences.getInt('area'); + int? AREA_ID = _preferences.getInt('idAtbArea'); + int? AREA_DESCRICAO = _preferences.getInt('area'); + int? MICROAREA_ID = _preferences.getInt('idAtbMicroarea'); + int? MICROAREA_DESCRICAO = _preferences.getInt('microarea'); int? idEquipe = _preferences.getInt('idEquipe'); + int? idUnidade = _preferences.getInt('idUnidade'); String? ine = _preferences.getString('ine'); - int? idAtbMicroarea = _preferences.getInt('idAtbMicroarea'); - int? idAtbArea = _preferences.getInt('idAtbArea'); - int? microarea = _preferences.getInt('microarea'); int? idProfissional = _preferences.getInt('idProfissional'); int? ativo = _preferences.getInt('ativo'); bool? foraArea = _preferences.getBool('foraArea'); List list =[ + AREA_ID, + AREA_DESCRICAO, + MICROAREA_ID, + MICROAREA_DESCRICAO, idEquipe, + idUnidade, ine, - idAtbArea, - area, - idAtbMicroarea, - microarea, idProfissional, ativo, foraArea @@ -99,8 +98,13 @@ class PrefService{ return list; } - Future removeCache(String idUsuario) async{ + Future removeCache() async{ SharedPreferences _preferences = await SharedPreferences.getInstance(); _preferences.remove('username'); } + Future removeUnidade() async{ + SharedPreferences _preferences = await SharedPreferences.getInstance(); + _preferences.remove('idUnidade'); + _preferences.remove('nomeUnidade'); + } } \ No newline at end of file diff --git a/pubspec.lock b/pubspec.lock index 5df2ba8..27cdbb3 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -293,6 +293,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.0.1" + mask_text_input_formatter: + dependency: "direct main" + description: + name: mask_text_input_formatter + sha256: "978c58ec721c25621ceb468e633f4eef64b64d45424ac4540e0565d4f7c800cd" + url: "https://pub.dev" + source: hosted + version: "2.9.0" matcher: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 7502d55..4918f75 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -5,6 +5,7 @@ description: RKM AB 2.0. #versão 1.0.6+5 finalizada dia 18/03/2024 #versão 1.0.10+11 AJUSTES PARA A SINCRONIZAÇÃO DIA 22/08/2024 #versão 1.0.11+12 AJUSTES PARA NÃO EXIBIR MICROAREA NULL, E AJUSTE DADOS FORA DE AREA DIA 23/08/2024 +#versão 1.0.12+13 AJUSTE DE ID E DESCRIÇÃO DE AREA E MICROAREA, AJUSTE DA MENSAGEM DADOS SALVOS DA EDIÇÃO DO PACIENTE. 26/08/2024 publish_to: 'none' version: 1.0.11+12 @@ -22,6 +23,7 @@ dependencies: line_icons: ^2.0.1 http: gainer_crypto: ^0.0.6 + mask_text_input_formatter: ^2.3.0 sqflite: ^2.0.0+3 shared_preferences: ^2.0.15 get: ^4.6.6