From b2ba044039e89f7b74c4fe1d18522353fbeaca63 Mon Sep 17 00:00:00 2001 From: Reginaldo Date: Thu, 20 Apr 2023 19:37:26 -0300 Subject: [PATCH] =?UTF-8?q?ajustes=20de=20edi=C3=A7=C3=A3o=20e=20envio=20d?= =?UTF-8?q?os=20dados=20para=20o=20post?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/controllers/main_controllers.dart | 28 ++-- .../configurations/sinc_data_screen.dart | 123 ++++++++++-------- .../register_citizen_screen.dart | 79 ++++++----- lib/screens/sync_init_screen.dart | 2 +- lib/service/api/api_data_post.dart | 21 ++- lib/service/db/db_querys.dart | 7 + lib/service/db/db_sqlite_sync.dart | 7 +- 7 files changed, 166 insertions(+), 101 deletions(-) diff --git a/lib/controllers/main_controllers.dart b/lib/controllers/main_controllers.dart index 3d8b458..d315ed6 100644 --- a/lib/controllers/main_controllers.dart +++ b/lib/controllers/main_controllers.dart @@ -43,19 +43,19 @@ class MainControllers{ // Retorna a senha criptografada return senhaCriptogradafa; } - validaCNS(String cns)async{ + validaCNS(String cns,bool editing)async{ //valido provisório 783107557570002 //cns valido def 187455333020009 String response = 'CNS inválido'; String type = cns.substring(0,1); if(type == '7'|| type =='8' || type == '9'){ - response = await validaCNSProv(cns); + response = await validaCNSProv(cns,editing); }else{ - response = validaCNSDef(cns); + response = validaCNSDef(cns,editing); } return response; } - validaCNSProv(String vlrCNS)async{ + validaCNSProv(String vlrCNS,bool editing)async{ int resto; int soma; if(vlrCNS.length == 15){ @@ -85,7 +85,7 @@ class MainControllers{ if (resto == 0) { // CNS provisório válido - List result = await DBQuerys().duplicidadeCNS(vlrCNS); + List result = editing?[]:await DBQuerys().duplicidadeCNS(vlrCNS); if(result.length==0){ return 'ok'; }else{ @@ -105,7 +105,7 @@ class MainControllers{ } } } - validaCNSDef(String vlrCNS){ + validaCNSDef(String vlrCNS,bool editing){ int soma = 0; int resto = 0; int dv = 0; @@ -153,7 +153,7 @@ class MainControllers{ return 'CNS definitivo inválido'; } else { // CNS válido - String result = DBQuerys().duplicidadeCNS(vlrCNS); + String result = editing?[]: DBQuerys().duplicidadeCNS(vlrCNS); if(result==''){ return 'ok'; }else{ @@ -168,15 +168,19 @@ class MainControllers{ } } } - validaCPF(String cpf)async{ + validaCPF(String cpf,bool editing)async{ // 60352523620 CPF VÁLIDO if(GetUtils.isCpf(cpf)){ - List result = await DBQuerys().duplicidadeCPF(cpf); - print(cpf); - if(result.length==0){ + if(editing){ return 'ok'; }else{ - return 'CPF duplicado'; + List result = await DBQuerys().duplicidadeCPF(cpf); + // print(cpf); + if(result.length==0){ + return 'ok'; + }else{ + return 'CPF duplicado'; + } } }else{ return 'CPF inválido'; diff --git a/lib/screens/configurations/sinc_data_screen.dart b/lib/screens/configurations/sinc_data_screen.dart index b37e5cf..2563c70 100644 --- a/lib/screens/configurations/sinc_data_screen.dart +++ b/lib/screens/configurations/sinc_data_screen.dart @@ -1,3 +1,5 @@ +import 'dart:convert'; + import 'package:flutter/material.dart'; import 'package:rkm/service/db/db_querys.dart'; import 'package:rkm/widgets/button_default.dart'; @@ -18,41 +20,42 @@ class _SincDataScreenState extends State { String mode =''; String urlAPI =''; String nameCityApi =''; - List tableCIDADAOS = []; - List tableCIDADAO_DOMICILIO = []; - List tableDOMICILIOS_CIDADAOS = []; - List tableINNERJOINCIDADAO_DOMICILIO = []; - List tableCADASTROS_INDIVIDUAIS = []; - List tableATENDS_INDIV_COMPL = []; - List tableATENDS_INDIV_EXAMES = []; - List tableATENDS_INDIV_PROC = []; - List tableATENDS_INDIV_PROF = []; - List tableATENDS_INDIVIDUAIS = []; - List tablePROCEDIMENTOS_FICHAS = []; - List tablePROCEDIMENTOS_INDIV = []; - List tablePROCEDIMENTOS_INDIV_FICHA = []; - List tablePROCEDIMENTOS_INDIV_SIGTAP = []; - List tableVISITAS_DOMICILIARES = []; - List tableVISITAS_DOMICILIARES_COMPL = []; - List tableVISITAS_DOMICILIARES_PROC = []; - List tableFICHAS_COMPLEMENTARES = []; - List tableATENDIMENTOS_DOMICILIARES = []; - List tableATENDS_DOM_COMPL = []; - List tableATENDS_DOM_PROC = []; - List tableATENDS_DOM_SIGTAP = []; - List tableATENDS_ODONTOLOGICOS = []; - List tableATENDS_ODONTO_PROF = []; - List tableATENDS_ODONTO_PROC = []; - List tableATENDS_ODONTO_SIGTAP = []; - List tableATENDS_ODONTO_COMPL = []; - List tableMARCADORES_CON_QUEST = []; - List tableMARCADORES_CONSUMO = []; - List tableAVAL_ELEG_COND_AVAL = []; - List tableAVAL_ELEG_CONCL_INE = []; - List tableAVALIACOES_ELEGIBILIDADE = []; + var tableCIDADAOS; + var tableCIDADAO_DOMICILIO; + var tableDOMICILIOS_CIDADAOS; + var tableINNERJOINCIDADAO_DOMICILIO; + var tableCADASTROS_INDIVIDUAIS; + var tableATENDS_INDIV_COMPL; + var tableATENDS_INDIV_EXAMES; + var tableATENDS_INDIV_PROC; + var tableATENDS_INDIV_PROF; + var tableATENDS_INDIVIDUAIS; + var tablePROCEDIMENTOS_FICHAS; + var tablePROCEDIMENTOS_INDIV; + var tablePROCEDIMENTOS_INDIV_FICHA; + var tablePROCEDIMENTOS_INDIV_SIGTAP; + var tableVISITAS_DOMICILIARES; + var tableVISITAS_DOMICILIARES_COMPL; + var tableVISITAS_DOMICILIARES_PROC; + var tableFICHAS_COMPLEMENTARES; + var tableATENDIMENTOS_DOMICILIARES; + var tableATENDS_DOM_COMPL; + var tableATENDS_DOM_PROC; + var tableATENDS_DOM_SIGTAP; + var tableATENDS_ODONTOLOGICOS; + var tableATENDS_ODONTO_PROF; + var tableATENDS_ODONTO_PROC; + var tableATENDS_ODONTO_SIGTAP; + var tableATENDS_ODONTO_COMPL; + var tableMARCADORES_CON_QUEST; + var tableMARCADORES_CONSUMO; + var tableAVAL_ELEG_COND_AVAL; + var tableAVAL_ELEG_CONCL_INE; + var tableAVALIACOES_ELEGIBILIDADE; String message = 'A Sincronização poderá demorar. Prosseguir?'; bool upload = false; bool done = false; + bool error = false; updateTable()async{ setState(() { @@ -61,7 +64,6 @@ class _SincDataScreenState extends State { }); await DBQuerys().cadCidadaos().then((response)async{ tableCIDADAOS = response; - // print(tableCIDADAOS); await DBQuerys().cadDomiciliares().then((response)async{ tableCIDADAO_DOMICILIO = response; // print(tableCIDADAO_DOMICILIO); @@ -191,21 +193,37 @@ class _SincDataScreenState extends State { }); } syncData()async{ - // ApiDataPost().sincronizacao(urlAPI, mode, nameCityApi).then((value){}); - setState(() { - upload = false; - done = true; - message = ''; - }); + if(tableCIDADAOS!=null){ + String map = json.encode(tableCIDADAOS); + ApiDataPost().sincronizacao(urlAPI, mode, nameCityApi,map).then((value){}).then((value){ + print('value'); + print(value); + if(value==null){ + setState(() { + error = true; + message = 'error'; + }); + }else{ + setState(() { + upload = false; + done = true; + message = ''; + }); + } + }); + } } dataSQLite()async{ + // print(DBQuerys().deleteCidadao()); + 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']; }); + setState(() {}); // print(urlAPI); // print(mode); // print(nameCityApi); @@ -254,7 +272,7 @@ class _SincDataScreenState extends State { Image.asset('assets/images/logo.PNG',width: width*0.5,), mode == 'homologacao'?Image.asset('assets/images/homologacao.png',width: width*0.4):Container(), mode == 'desenvolvimento'?Image.asset('assets/images/desenvolvimento.png',width: width*0.4):Container(), - Padding( + message == 'error'?Container():Padding( padding: const EdgeInsets.symmetric(vertical: 5.0), child: TextDefault( text: message, @@ -263,8 +281,9 @@ class _SincDataScreenState extends State { fontWeigth: FontWeight.bold, ), ), - upload?Image.asset('assets/images/loading.gif',width: width*0.4):Container(), - done?Image.asset('assets/images/send-done.png',width: width*0.9):Container(), + message!='error'&&upload?Image.asset('assets/images/loading.gif',width: width*0.4):Container(), + message==''&&done?Image.asset('assets/images/send-done.png',width: width*0.9):Container(), + error?Image.asset('assets/images/error.png',width: width*0.9):Container(), !upload && !done?ButtonDefault( title: 'Enviar informações', width: width*0.9, @@ -274,21 +293,21 @@ class _SincDataScreenState extends State { onPressed: ()=>updateTable(), ):Container(), SizedBox(height: 20,), - done?Container( + message==''&&done?Container( color: ColorPalette.white, width: width, height: height*0.3, child: ListView( children: [ TextDefault( - text: 'Atendimentos Domiciliares: ${tableATENDIMENTOS_DOMICILIARES.length}', + text: 'Atendimentos Domiciliares: ${tableATENDIMENTOS_DOMICILIARES==null?'0':tableATENDIMENTOS_DOMICILIARES.length}', textAlign: TextAlign.center, fontWeigth: FontWeight.bold, color: ColorPalette.black54, fontSize: 18, ), TextDefault( - text: 'Atendimento Individuais: ${tableATENDS_INDIVIDUAIS.length}', + text: 'Atendimento Individuais: ${tableATENDS_INDIVIDUAIS==null?'0':tableATENDS_INDIVIDUAIS.length}', textAlign: TextAlign.center, fontWeigth: FontWeight.bold, color: ColorPalette.black54, @@ -296,35 +315,35 @@ class _SincDataScreenState extends State { ), TextDefault( textAlign: TextAlign.center, - text: 'Atendimentos Odontológicos: ${tableATENDS_ODONTOLOGICOS.length}', + text: 'Atendimentos Odontológicos: ${tableATENDS_ODONTOLOGICOS==null?'0':tableATENDS_ODONTOLOGICOS.length}', fontWeigth: FontWeight.bold, color: ColorPalette.black54, fontSize: 18, ), TextDefault( textAlign: TextAlign.center, - text: 'Avaliação Elegibilidade: ${tableAVALIACOES_ELEGIBILIDADE.length}', + text: 'Avaliação Elegibilidade: ${tableAVALIACOES_ELEGIBILIDADE==null?'0':tableAVALIACOES_ELEGIBILIDADE.length}', fontWeigth: FontWeight.bold, color: ColorPalette.black54, fontSize: 18, ), TextDefault( textAlign: TextAlign.center, - text: 'Cadastros Cidadãos Realizados / Atualizados : ${tableCIDADAOS.length}', + text: 'Cadastros Cidadãos Realizados / Atualizados : ${tableCIDADAOS==null?'0':tableCIDADAOS.length}', fontWeigth: FontWeight.bold, color: ColorPalette.black54, fontSize: 18, ), TextDefault( textAlign: TextAlign.center, - text: 'Fichas Complementares: ${tableFICHAS_COMPLEMENTARES.length}', + text: 'Fichas Complementares: ${tableFICHAS_COMPLEMENTARES==null?'0':tableFICHAS_COMPLEMENTARES.length}', fontWeigth: FontWeight.bold, color: ColorPalette.black54, fontSize: 18, ), TextDefault( textAlign: TextAlign.center, - text: 'Marcadores de Consumo : ${tableMARCADORES_CONSUMO.length}', + text: 'Marcadores de Consumo : ${tableMARCADORES_CONSUMO==null?'0':tableMARCADORES_CONSUMO.length}', fontWeigth: FontWeight.bold, color: ColorPalette.black54, fontSize: 18, @@ -339,14 +358,14 @@ class _SincDataScreenState extends State { ), TextDefault( textAlign: TextAlign.center, - text: 'Procedimentos Individuais : ${tablePROCEDIMENTOS_INDIV.length}', + text: 'Procedimentos Individuais : ${tablePROCEDIMENTOS_INDIV==null?'0':tablePROCEDIMENTOS_INDIV.length}', fontWeigth: FontWeight.bold, color: ColorPalette.black54, fontSize: 18, ), TextDefault( textAlign: TextAlign.center, - text: 'Visitas Domiciliares: ${tableVISITAS_DOMICILIARES.length}', + text: 'Visitas Domiciliares: ${tableVISITAS_DOMICILIARES==null?'0':tableVISITAS_DOMICILIARES.length}', fontWeigth: FontWeight.bold, color: ColorPalette.black54, fontSize: 18, diff --git a/lib/screens/registers_citizen/register_citizen_screen.dart b/lib/screens/registers_citizen/register_citizen_screen.dart index 222efaf..c28b469 100644 --- a/lib/screens/registers_citizen/register_citizen_screen.dart +++ b/lib/screens/registers_citizen/register_citizen_screen.dart @@ -138,6 +138,8 @@ class _RegisterCitizenScreenState extends State { String idUnidade = ''; String codSus = ''; bool edit = false; + bool editing = false; + int idCidadao = 0; escolherprazoInicio(BuildContext context,String type) async { @@ -291,7 +293,7 @@ class _RegisterCitizenScreenState extends State { } } - checkSave(){ + checkSave()async{ bool checkMother = false; bool checkFather = false; bool checkClassification = false; @@ -303,6 +305,16 @@ class _RegisterCitizenScreenState extends State { checkFather = true; print('colocar nome pai'); } + if(CPFController.text.isNotEmpty){ + checkCPF = await MainControllers().validaCPF(CPFController.text,editing); + }else{ + checkCPF = 'ok'; + } + if(CNSController.text.isNotEmpty){ + checkCNS = await MainControllers().validaCNS(CNSController.text,editing); + }else{ + checkCNS = 'ok'; + } if((selectClassification!='OUTRO MUNICIPIO' && selectCountry == 'BRASIL' && selectStreet == null) || (selectStreet!=null && (cepController.text.isEmpty || cepController.text.length!=8)) || (selectStreet!=null && numberController.text.isEmpty) || @@ -351,6 +363,7 @@ class _RegisterCitizenScreenState extends State { saveCitizen()async{ Map row = { + 'ID_CIDADAO' : idCidadao, 'CD_USUARIO_SUS' : codSus, 'NOME_CIDADAO' : nameController.text, 'NOME_SOCIAL' : nameSocialController.text, @@ -383,24 +396,24 @@ class _RegisterCitizenScreenState extends State { 'NO_BAIRRO_LOGR' : selectVillage, 'ID_LOGR_TIPO' : idTipo, 'NOME_LOGR' : selectStreet, - 'CEP_LOGR' : cepController.text, - 'NUMERO_LOGR' : numberController.text, + 'CEP_LOGR' : cepController.text.isNotEmpty?int.parse(cepController.text):0, + 'NUMERO_LOGR' : numberController.text.isNotEmpty?int.parse(numberController.text):0, 'LOTEAMENTO_LOGR' : selectSubdivision, 'COMPL_LOGR' : complementController.text, 'PONTO_REFERENCIA' : referencePointController.text, 'ZONA_LOGR' : selectZoneCod, - 'DDD_CELULAR' : int.parse(mobileDDDController.text), - 'NUM_CELULAR' : int.parse(mobileController.text), - 'DDD_TELEFONE' : int.parse(foneDDDController.text), - 'NUM_TELEFONE' : int.parse(foneController.text), - 'DDD_RECADO' : int.parse(messageDDDController.text), - 'NUM_RECADO' : int.parse(messageController.text), + 'DDD_CELULAR' : mobileDDDController.text.isNotEmpty?int.parse(mobileDDDController.text):0, + 'NUM_CELULAR' : mobileController.text.isNotEmpty?int.parse(mobileController.text):0, + 'DDD_TELEFONE' : foneDDDController.text.isNotEmpty?int.parse(foneDDDController.text):0, + 'NUM_TELEFONE' : foneController.text.isNotEmpty?int.parse(foneController.text):0, + 'DDD_RECADO' : messageDDDController.text.isNotEmpty?int.parse(messageDDDController.text):0, + 'NUM_RECADO' : messageController.text.isNotEmpty?int.parse(messageController.text):0, 'EMAIL' : emailController.text, 'OBSERVACOES' : observationController.text, - 'CPF' : int.parse(CPFController.text), + 'CPF' : CPFController.text.isNotEmpty?int.parse(CPFController.text):0, 'CNS' : checkCNS == 'ok'&& CNSController.text.isNotEmpty?int.parse(CNSController.text):999999999999999, 'TITULO_ELEITOR' : voterController.text, - 'RG_NUMERO' : int.parse(RGController.text), + 'RG_NUMERO' : RGController.text.isNotEmpty?int.parse(RGController.text):0, 'RG_COMPLEMENTO' : RGComplementController.text, 'RG_UF' : selectRGUF, 'RG_ORGAO' : RGOrganController.text, @@ -412,15 +425,15 @@ class _RegisterCitizenScreenState extends State { 'FOLHA_CERTIDAO' : sheetCertificateController.text, 'TERMO_CERTIDAO' : termCertificateController.text, 'DT_EMISSAO_CERTIDAO' : dateCertificateController.text, - 'NUM_CTPS' : int.parse(CTPSController.text), - 'NUM_SERIE_CTPS' : int.parse(numberCTPSController.text), + 'NUM_CTPS' : CTPSController.text.isNotEmpty?int.parse(CTPSController.text):0, + 'NUM_SERIE_CTPS' : numberCTPSController.text.isNotEmpty?int.parse(numberCTPSController.text):0, 'ESTADO_UF_CTPS' : selectCTPSUF, - 'NUM_PIS_PASEP' : int.parse(PISController.text), + 'NUM_PIS_PASEP' : PISController.text.isNotEmpty?int.parse(PISController.text):0, 'FL_RETIROU_CARTAO' : enableCityCard?'S':'N', - 'NUM_NIS' : int.parse(NISController.text), + 'NUM_NIS' : NISController.text.isNotEmpty?int.parse(NISController.text):0, //aqui 'NUM_PROT_CROSS' : '', - 'RENDA_MENSAL' : incomeController.text, + 'RENDA_MENSAL' : incomeController.text.isNotEmpty?double.parse(incomeController.text.replaceAll('R\$ ', '').replaceAll('.', '').replaceAll(',', '.')):0, 'PROFISSAO' : professionalController.text, 'DT_OBITO' : dateDeathController.text, 'DECLARACAO_OBITO' : '', @@ -435,7 +448,7 @@ class _RegisterCitizenScreenState extends State { 'ATENDIMENTOS' : '', 'SINCRONIZADO' : 'N', }; - await DbSqliteSync().insertCidadaos(row,'update').then((value){ + await DbSqliteSync().insertCidadaos(row,editing?'update':'new',codSus).then((value){ if(checkCNS != 'ok' || CNSController.text.isEmpty){ AlertDialogDefault().alert( context, @@ -454,6 +467,8 @@ class _RegisterCitizenScreenState extends State { AlertDialogDefault().alert( context, 'Aviso', + editing? + 'Cidadão alterado com sucesso!': 'Cidadão cadastrado com sucesso!', 'OK' ); @@ -485,6 +500,7 @@ class _RegisterCitizenScreenState extends State { getData()async{ // print('passou'); // print(widget.listData); + idCidadao = widget.listData[0]['ID_CIDADAO']; codSus = widget.listData[0]['CD_USUARIO_SUS']; nameController.text = widget.listData[0]['NOME_CIDADAO']; nameSocialController.text = widget.listData[0]['NOME_SOCIAL']; @@ -568,11 +584,14 @@ class _RegisterCitizenScreenState extends State { selectStreet = widget.listData[0]['NOME_LOGR']; List listTypeStreet = await DBQuerys().buscaTipoLogradouroPorId(idTipo); selectTypeStreet = listTypeStreet[0]['NO_LOGR_TIPO']; - cepController.text = listTypeStreet[0]['CEP_LOGR']??''; - numberController.text = listTypeStreet[0]['NUMERO_LOGR']??''; - selectSubdivision = listTypeStreet[0]['LOTEAMENTO_LOGR']; - subdivisionDB.add(selectSubdivision!); - //aqui + cepController.text = widget.listData[0]['CEP_LOGR'].toString()=='null'?'': widget.listData[0]['CEP_LOGR'].toString(); + numberController.text = widget.listData[0]['NUMERO_LOGR'].toString()??''; + print('numberController'); + print(numberController.text); + selectSubdivision = listTypeStreet[0]['LOTEAMENTO_LOGR']??null; + if(selectSubdivision!=null){ + subdivisionDB.add(selectSubdivision!); + } complementController.text = listTypeStreet[0]['COMPL_LOGR']??''; referencePointController.text = listTypeStreet[0]['PONTO_REFERENCIA']??''; selectZoneCod = widget.listData[0]['ZONA_LOGR']; @@ -592,7 +611,7 @@ class _RegisterCitizenScreenState extends State { observationController.text = widget.listData[0]['OBSERVACOES']; CPFController.text = widget.listData[0]['CPF'].toString(); CNSController.text = widget.listData[0]['CNS']; - voterController.text = widget.listData[0]['TITULO_ELEITOR']??''; + voterController.text = 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']??''; @@ -611,13 +630,13 @@ class _RegisterCitizenScreenState extends State { sheetCertificateController.text = widget.listData[0]['FOLHA_CERTIDAO']??''; termCertificateController.text = widget.listData[0]['TERMO_CERTIDAO']??''; dateCertificateController.text = widget.listData[0]['DT_EMISSAO_CERTIDAO']??''; - CTPSController.text = widget.listData[0]['NUM_CTPS'].toString()??''; - numberCTPSController.text = widget.listData[0]['NUM_SERIE_CTPS'].toString()??''; + CTPSController.text = widget.listData[0]['NUM_CTPS'].toString()=='null'?'':widget.listData[0]['NUM_CTPS'].toString(); + numberCTPSController.text = widget.listData[0]['NUM_SERIE_CTPS'].toString()=='null'?'':widget.listData[0]['NUM_SERIE_CTPS'].toString(); selectCTPSUF = widget.listData[0]['ESTADO_UF_CTPS']; - PISController.text = widget.listData[0]['NUM_PIS_PASEP'].toString()??''; + PISController.text = widget.listData[0]['NUM_PIS_PASEP'].toString()=='null'?'':widget.listData[0]['NUM_PIS_PASEP'].toString(); enableCityCard = widget.listData[0]['FL_RETIROU_CARTAO'] == 'S'?true:false; NISController.text = widget.listData[0]['NUM_NIS'].toString()??''; - incomeController.text = widget.listData[0]['RENDA_MENSAL']==null?'R\$ 0,00':widget.listData[0]['RENDA_MENSAL']; + incomeController.text = widget.listData[0]['RENDA_MENSAL']==null?'R\$ 0,00':'R\$ ${widget.listData[0]['RENDA_MENSAL'].toString().replaceAll('.', ',')}'; professionalController.text = widget.listData[0]['PROFISSAO']??''; dateDeathController.text = widget.listData[0]['DT_OBITO']==null?'Data Óbito':widget.listData[0]['DT_OBITO']; enableBlocked = widget.listData[0]['BLOQUEIO']==1?true:false; @@ -681,6 +700,7 @@ class _RegisterCitizenScreenState extends State { onPressed: (){ setState(() { edit = false; + editing = true; }); }, title: 'Alterar', @@ -1667,7 +1687,7 @@ class _RegisterCitizenScreenState extends State { enabled: !edit, onChanged: (v)async{ if(CPFController.text.isNotEmpty){ - checkCPF = await MainControllers().validaCPF(v); + checkCPF = await MainControllers().validaCPF(v,editing); }else{ checkCPF = 'ok'; } @@ -1688,8 +1708,9 @@ class _RegisterCitizenScreenState extends State { mandatory: false, enabled: !edit, onChanged: (v)async{ + //783107557570002 if(CNSController.text.isNotEmpty){ - checkCNS = await MainControllers().validaCNS(v); + checkCNS = await MainControllers().validaCNS(v,editing); }else{ checkCNS = 'ok'; } diff --git a/lib/screens/sync_init_screen.dart b/lib/screens/sync_init_screen.dart index e443885..edd460c 100644 --- a/lib/screens/sync_init_screen.dart +++ b/lib/screens/sync_init_screen.dart @@ -127,7 +127,7 @@ class _SyncInitScreenState extends State { }else{ setState(()=> messageSteps = "Etapa 8 de 10 - Gravando os Cidadãos no Aplicativo"); } - await DbSqliteSync().insertCidadaos(value,'sync').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!"); diff --git a/lib/service/api/api_data_post.dart b/lib/service/api/api_data_post.dart index b64f769..b07ff4c 100644 --- a/lib/service/api/api_data_post.dart +++ b/lib/service/api/api_data_post.dart @@ -2,11 +2,24 @@ import 'dart:convert'; import 'package:http/http.dart' as http; class ApiDataPost{ - Future sincronizacao(urlAPI,mode,nameCityApi)async{ + Future sincronizacao(urlAPI,mode,nameCityApi,map)async{ // http://192.168.0.42:8010/api/atb/desenvolvimento/corumbatai/sincronizacao + print(map); final url = '${urlAPI}${mode}/${nameCityApi}/sincronizacao'; - final response = await http.post(Uri.parse(url)); - final map = json.decode(response.body); - return map; + await http.post( + Uri.parse(url), + body: map, + ).then((response){ + print(response.body); + print(response.request); + print(response.statusCode); + if (response.statusCode == 200) { + print(response.body.toString()); + return response; + }else{ + print('error'); + return 'error'; + } + }); } } \ No newline at end of file diff --git a/lib/service/db/db_querys.dart b/lib/service/db/db_querys.dart index deed30d..9a3e81a 100644 --- a/lib/service/db/db_querys.dart +++ b/lib/service/db/db_querys.dart @@ -119,6 +119,13 @@ class DBQuerys{ // print(list); return list; } + Future deleteCidadao()async{ + Database db = await DbSqliteLoad().intialDB(); + var query = "DELETE FROM CIDADAOS WHERE CD_USUARIO_SUS = '872488F88D1B2DB54D55BC8BBA2FAD1B'"; + await db.rawQuery(query); + // print(list); + return 'ok'; + } Future cadDomiciliares()async{ Database db = await DbSqliteLoad().intialDB(); var query = "SELECT * FROM CIDADAO_DOMICILIO WHERE ORIGEM = 'A' AND SINCRONIZADO = 'N'"; diff --git a/lib/service/db/db_sqlite_sync.dart b/lib/service/db/db_sqlite_sync.dart index 7f63171..c04b78e 100644 --- a/lib/service/db/db_sqlite_sync.dart +++ b/lib/service/db/db_sqlite_sync.dart @@ -119,7 +119,7 @@ class DbSqliteSync{ } return db; } - Future insertCidadaos(var value,String type)async{ + Future insertCidadaos(var value,String type,String CD_USUARIO_SUS)async{ Database db = await DbSqliteLoad().intialDB(); // CIDADAOS (ID_CIDADAO,CD_USUARIO_SUS,NOME_CIDADAO,NOME_SOCIAL,SEXO,DT_NASCIMENTO,ID_ESTADO_CIVIL,NOME_CONJUGE,NACIONALIDADE,ID_MUNICIPIO_NASC,NO_MUNICIPIO_NASC,ESTADO_UF_NASC // ID_ETNIA,ID_ESCOLARIDADE,ID_DEFICIENCIA,NOME_MAE,DESCONHECE_MAE,NOME_PAI,DESCONHECE_PAI,ID_UNIDADE,NUM_PRONTUARIO,NUM_PRONTUARIO_PROV,CLASSIFICACAO,CLASSIFICACAO_SUB, @@ -229,9 +229,11 @@ class DbSqliteSync{ // print('id increment $id PROCEDIMENTOS_SIGTAP_REGISTRO'); // print(await db.query('CIDADAOS')); } - }else{ + }else if(type=='new'){ int id = await db.insert('CIDADAOS', value); // print('novo id $id'); + }else if(type=='update'){ + await db.update('CIDADAOS', value,where: "CD_USUARIO_SUS = '$CD_USUARIO_SUS'"); } return db; } @@ -411,7 +413,6 @@ class DbSqliteSync{ 'CRIANCAS_CRECHE' : value[i]['criancasCresce'], 'CRIANCAS_OUTRO' : value[i]['criancasOutro'], 'IDENTIDADE_GENERO' : value[i]['identidadeGenero'], - }; int id = await db.insert('CADASTROS_INDIVIDUAIS', row); // print('id increment $id PROCEDIMENTOS_SIGTAP_REGISTRO');