ajustes de edição e envio dos dados para o post

This commit is contained in:
Reginaldo
2023-04-20 19:37:26 -03:00
parent a2869661b6
commit b2ba044039
7 changed files with 166 additions and 101 deletions

View File

@@ -43,19 +43,19 @@ class MainControllers{
// Retorna a senha criptografada // Retorna a senha criptografada
return senhaCriptogradafa; return senhaCriptogradafa;
} }
validaCNS(String cns)async{ validaCNS(String cns,bool editing)async{
//valido provisório 783107557570002 //valido provisório 783107557570002
//cns valido def 187455333020009 //cns valido def 187455333020009
String response = 'CNS inválido'; String response = 'CNS inválido';
String type = cns.substring(0,1); String type = cns.substring(0,1);
if(type == '7'|| type =='8' || type == '9'){ if(type == '7'|| type =='8' || type == '9'){
response = await validaCNSProv(cns); response = await validaCNSProv(cns,editing);
}else{ }else{
response = validaCNSDef(cns); response = validaCNSDef(cns,editing);
} }
return response; return response;
} }
validaCNSProv(String vlrCNS)async{ validaCNSProv(String vlrCNS,bool editing)async{
int resto; int resto;
int soma; int soma;
if(vlrCNS.length == 15){ if(vlrCNS.length == 15){
@@ -85,7 +85,7 @@ class MainControllers{
if (resto == 0) if (resto == 0)
{ {
// CNS provisório válido // CNS provisório válido
List result = await DBQuerys().duplicidadeCNS(vlrCNS); List result = editing?[]:await DBQuerys().duplicidadeCNS(vlrCNS);
if(result.length==0){ if(result.length==0){
return 'ok'; return 'ok';
}else{ }else{
@@ -105,7 +105,7 @@ class MainControllers{
} }
} }
} }
validaCNSDef(String vlrCNS){ validaCNSDef(String vlrCNS,bool editing){
int soma = 0; int soma = 0;
int resto = 0; int resto = 0;
int dv = 0; int dv = 0;
@@ -153,7 +153,7 @@ class MainControllers{
return 'CNS definitivo inválido'; return 'CNS definitivo inválido';
} else { } else {
// CNS válido // CNS válido
String result = DBQuerys().duplicidadeCNS(vlrCNS); String result = editing?[]: DBQuerys().duplicidadeCNS(vlrCNS);
if(result==''){ if(result==''){
return 'ok'; return 'ok';
}else{ }else{
@@ -168,16 +168,20 @@ class MainControllers{
} }
} }
} }
validaCPF(String cpf)async{ validaCPF(String cpf,bool editing)async{
// 60352523620 CPF VÁLIDO // 60352523620 CPF VÁLIDO
if(GetUtils.isCpf(cpf)){ if(GetUtils.isCpf(cpf)){
if(editing){
return 'ok';
}else{
List result = await DBQuerys().duplicidadeCPF(cpf); List result = await DBQuerys().duplicidadeCPF(cpf);
print(cpf); // print(cpf);
if(result.length==0){ if(result.length==0){
return 'ok'; return 'ok';
}else{ }else{
return 'CPF duplicado'; return 'CPF duplicado';
} }
}
}else{ }else{
return 'CPF inválido'; return 'CPF inválido';
} }

View File

@@ -1,3 +1,5 @@
import 'dart:convert';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:rkm/service/db/db_querys.dart'; import 'package:rkm/service/db/db_querys.dart';
import 'package:rkm/widgets/button_default.dart'; import 'package:rkm/widgets/button_default.dart';
@@ -18,41 +20,42 @@ class _SincDataScreenState extends State<SincDataScreen> {
String mode =''; String mode ='';
String urlAPI =''; String urlAPI ='';
String nameCityApi =''; String nameCityApi ='';
List tableCIDADAOS = []; var tableCIDADAOS;
List tableCIDADAO_DOMICILIO = []; var tableCIDADAO_DOMICILIO;
List tableDOMICILIOS_CIDADAOS = []; var tableDOMICILIOS_CIDADAOS;
List tableINNERJOINCIDADAO_DOMICILIO = []; var tableINNERJOINCIDADAO_DOMICILIO;
List tableCADASTROS_INDIVIDUAIS = []; var tableCADASTROS_INDIVIDUAIS;
List tableATENDS_INDIV_COMPL = []; var tableATENDS_INDIV_COMPL;
List tableATENDS_INDIV_EXAMES = []; var tableATENDS_INDIV_EXAMES;
List tableATENDS_INDIV_PROC = []; var tableATENDS_INDIV_PROC;
List tableATENDS_INDIV_PROF = []; var tableATENDS_INDIV_PROF;
List tableATENDS_INDIVIDUAIS = []; var tableATENDS_INDIVIDUAIS;
List tablePROCEDIMENTOS_FICHAS = []; var tablePROCEDIMENTOS_FICHAS;
List tablePROCEDIMENTOS_INDIV = []; var tablePROCEDIMENTOS_INDIV;
List tablePROCEDIMENTOS_INDIV_FICHA = []; var tablePROCEDIMENTOS_INDIV_FICHA;
List tablePROCEDIMENTOS_INDIV_SIGTAP = []; var tablePROCEDIMENTOS_INDIV_SIGTAP;
List tableVISITAS_DOMICILIARES = []; var tableVISITAS_DOMICILIARES;
List tableVISITAS_DOMICILIARES_COMPL = []; var tableVISITAS_DOMICILIARES_COMPL;
List tableVISITAS_DOMICILIARES_PROC = []; var tableVISITAS_DOMICILIARES_PROC;
List tableFICHAS_COMPLEMENTARES = []; var tableFICHAS_COMPLEMENTARES;
List tableATENDIMENTOS_DOMICILIARES = []; var tableATENDIMENTOS_DOMICILIARES;
List tableATENDS_DOM_COMPL = []; var tableATENDS_DOM_COMPL;
List tableATENDS_DOM_PROC = []; var tableATENDS_DOM_PROC;
List tableATENDS_DOM_SIGTAP = []; var tableATENDS_DOM_SIGTAP;
List tableATENDS_ODONTOLOGICOS = []; var tableATENDS_ODONTOLOGICOS;
List tableATENDS_ODONTO_PROF = []; var tableATENDS_ODONTO_PROF;
List tableATENDS_ODONTO_PROC = []; var tableATENDS_ODONTO_PROC;
List tableATENDS_ODONTO_SIGTAP = []; var tableATENDS_ODONTO_SIGTAP;
List tableATENDS_ODONTO_COMPL = []; var tableATENDS_ODONTO_COMPL;
List tableMARCADORES_CON_QUEST = []; var tableMARCADORES_CON_QUEST;
List tableMARCADORES_CONSUMO = []; var tableMARCADORES_CONSUMO;
List tableAVAL_ELEG_COND_AVAL = []; var tableAVAL_ELEG_COND_AVAL;
List tableAVAL_ELEG_CONCL_INE = []; var tableAVAL_ELEG_CONCL_INE;
List tableAVALIACOES_ELEGIBILIDADE = []; var tableAVALIACOES_ELEGIBILIDADE;
String message = 'A Sincronização poderá demorar. Prosseguir?'; String message = 'A Sincronização poderá demorar. Prosseguir?';
bool upload = false; bool upload = false;
bool done = false; bool done = false;
bool error = false;
updateTable()async{ updateTable()async{
setState(() { setState(() {
@@ -61,7 +64,6 @@ class _SincDataScreenState extends State<SincDataScreen> {
}); });
await DBQuerys().cadCidadaos().then((response)async{ await DBQuerys().cadCidadaos().then((response)async{
tableCIDADAOS = response; tableCIDADAOS = response;
// print(tableCIDADAOS);
await DBQuerys().cadDomiciliares().then((response)async{ await DBQuerys().cadDomiciliares().then((response)async{
tableCIDADAO_DOMICILIO = response; tableCIDADAO_DOMICILIO = response;
// print(tableCIDADAO_DOMICILIO); // print(tableCIDADAO_DOMICILIO);
@@ -191,21 +193,37 @@ class _SincDataScreenState extends State<SincDataScreen> {
}); });
} }
syncData()async{ syncData()async{
// ApiDataPost().sincronizacao(urlAPI, mode, nameCityApi).then((value){}); 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(() { setState(() {
upload = false; upload = false;
done = true; done = true;
message = ''; message = '';
}); });
} }
});
}
}
dataSQLite()async{ dataSQLite()async{
// print(DBQuerys().deleteCidadao());
await DbSqliteLoad().intialDB().then((db)async { await DbSqliteLoad().intialDB().then((db)async {
List list = await db.query('ARGS'); List list = await db.query('ARGS');
urlAPI = list[0]['URLAPI']; urlAPI = list[0]['URLAPI'];
mode = list[0]['MODE']; mode = list[0]['MODE'];
nameCityApi = list[0]['NAME_CITY_API']; nameCityApi = list[0]['NAME_CITY_API'];
}); });
setState(() {});
// print(urlAPI); // print(urlAPI);
// print(mode); // print(mode);
// print(nameCityApi); // print(nameCityApi);
@@ -254,7 +272,7 @@ class _SincDataScreenState extends State<SincDataScreen> {
Image.asset('assets/images/logo.PNG',width: width*0.5,), Image.asset('assets/images/logo.PNG',width: width*0.5,),
mode == 'homologacao'?Image.asset('assets/images/homologacao.png',width: width*0.4):Container(), 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(), 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), padding: const EdgeInsets.symmetric(vertical: 5.0),
child: TextDefault( child: TextDefault(
text: message, text: message,
@@ -263,8 +281,9 @@ class _SincDataScreenState extends State<SincDataScreen> {
fontWeigth: FontWeight.bold, fontWeigth: FontWeight.bold,
), ),
), ),
upload?Image.asset('assets/images/loading.gif',width: width*0.4):Container(), message!='error'&&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==''&&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( !upload && !done?ButtonDefault(
title: 'Enviar informações', title: 'Enviar informações',
width: width*0.9, width: width*0.9,
@@ -274,21 +293,21 @@ class _SincDataScreenState extends State<SincDataScreen> {
onPressed: ()=>updateTable(), onPressed: ()=>updateTable(),
):Container(), ):Container(),
SizedBox(height: 20,), SizedBox(height: 20,),
done?Container( message==''&&done?Container(
color: ColorPalette.white, color: ColorPalette.white,
width: width, width: width,
height: height*0.3, height: height*0.3,
child: ListView( child: ListView(
children: [ children: [
TextDefault( TextDefault(
text: 'Atendimentos Domiciliares: ${tableATENDIMENTOS_DOMICILIARES.length}', text: 'Atendimentos Domiciliares: ${tableATENDIMENTOS_DOMICILIARES==null?'0':tableATENDIMENTOS_DOMICILIARES.length}',
textAlign: TextAlign.center, textAlign: TextAlign.center,
fontWeigth: FontWeight.bold, fontWeigth: FontWeight.bold,
color: ColorPalette.black54, color: ColorPalette.black54,
fontSize: 18, fontSize: 18,
), ),
TextDefault( TextDefault(
text: 'Atendimento Individuais: ${tableATENDS_INDIVIDUAIS.length}', text: 'Atendimento Individuais: ${tableATENDS_INDIVIDUAIS==null?'0':tableATENDS_INDIVIDUAIS.length}',
textAlign: TextAlign.center, textAlign: TextAlign.center,
fontWeigth: FontWeight.bold, fontWeigth: FontWeight.bold,
color: ColorPalette.black54, color: ColorPalette.black54,
@@ -296,35 +315,35 @@ class _SincDataScreenState extends State<SincDataScreen> {
), ),
TextDefault( TextDefault(
textAlign: TextAlign.center, textAlign: TextAlign.center,
text: 'Atendimentos Odontológicos: ${tableATENDS_ODONTOLOGICOS.length}', text: 'Atendimentos Odontológicos: ${tableATENDS_ODONTOLOGICOS==null?'0':tableATENDS_ODONTOLOGICOS.length}',
fontWeigth: FontWeight.bold, fontWeigth: FontWeight.bold,
color: ColorPalette.black54, color: ColorPalette.black54,
fontSize: 18, fontSize: 18,
), ),
TextDefault( TextDefault(
textAlign: TextAlign.center, textAlign: TextAlign.center,
text: 'Avaliação Elegibilidade: ${tableAVALIACOES_ELEGIBILIDADE.length}', text: 'Avaliação Elegibilidade: ${tableAVALIACOES_ELEGIBILIDADE==null?'0':tableAVALIACOES_ELEGIBILIDADE.length}',
fontWeigth: FontWeight.bold, fontWeigth: FontWeight.bold,
color: ColorPalette.black54, color: ColorPalette.black54,
fontSize: 18, fontSize: 18,
), ),
TextDefault( TextDefault(
textAlign: TextAlign.center, 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, fontWeigth: FontWeight.bold,
color: ColorPalette.black54, color: ColorPalette.black54,
fontSize: 18, fontSize: 18,
), ),
TextDefault( TextDefault(
textAlign: TextAlign.center, textAlign: TextAlign.center,
text: 'Fichas Complementares: ${tableFICHAS_COMPLEMENTARES.length}', text: 'Fichas Complementares: ${tableFICHAS_COMPLEMENTARES==null?'0':tableFICHAS_COMPLEMENTARES.length}',
fontWeigth: FontWeight.bold, fontWeigth: FontWeight.bold,
color: ColorPalette.black54, color: ColorPalette.black54,
fontSize: 18, fontSize: 18,
), ),
TextDefault( TextDefault(
textAlign: TextAlign.center, textAlign: TextAlign.center,
text: 'Marcadores de Consumo : ${tableMARCADORES_CONSUMO.length}', text: 'Marcadores de Consumo : ${tableMARCADORES_CONSUMO==null?'0':tableMARCADORES_CONSUMO.length}',
fontWeigth: FontWeight.bold, fontWeigth: FontWeight.bold,
color: ColorPalette.black54, color: ColorPalette.black54,
fontSize: 18, fontSize: 18,
@@ -339,14 +358,14 @@ class _SincDataScreenState extends State<SincDataScreen> {
), ),
TextDefault( TextDefault(
textAlign: TextAlign.center, textAlign: TextAlign.center,
text: 'Procedimentos Individuais : ${tablePROCEDIMENTOS_INDIV.length}', text: 'Procedimentos Individuais : ${tablePROCEDIMENTOS_INDIV==null?'0':tablePROCEDIMENTOS_INDIV.length}',
fontWeigth: FontWeight.bold, fontWeigth: FontWeight.bold,
color: ColorPalette.black54, color: ColorPalette.black54,
fontSize: 18, fontSize: 18,
), ),
TextDefault( TextDefault(
textAlign: TextAlign.center, textAlign: TextAlign.center,
text: 'Visitas Domiciliares: ${tableVISITAS_DOMICILIARES.length}', text: 'Visitas Domiciliares: ${tableVISITAS_DOMICILIARES==null?'0':tableVISITAS_DOMICILIARES.length}',
fontWeigth: FontWeight.bold, fontWeigth: FontWeight.bold,
color: ColorPalette.black54, color: ColorPalette.black54,
fontSize: 18, fontSize: 18,

View File

@@ -138,6 +138,8 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
String idUnidade = ''; String idUnidade = '';
String codSus = ''; String codSus = '';
bool edit = false; bool edit = false;
bool editing = false;
int idCidadao = 0;
escolherprazoInicio(BuildContext context,String type) async { escolherprazoInicio(BuildContext context,String type) async {
@@ -291,7 +293,7 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
} }
} }
checkSave(){ checkSave()async{
bool checkMother = false; bool checkMother = false;
bool checkFather = false; bool checkFather = false;
bool checkClassification = false; bool checkClassification = false;
@@ -303,6 +305,16 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
checkFather = true; checkFather = true;
print('colocar nome pai'); 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) || if((selectClassification!='OUTRO MUNICIPIO' && selectCountry == 'BRASIL' && selectStreet == null) ||
(selectStreet!=null && (cepController.text.isEmpty || cepController.text.length!=8)) || (selectStreet!=null && (cepController.text.isEmpty || cepController.text.length!=8)) ||
(selectStreet!=null && numberController.text.isEmpty) || (selectStreet!=null && numberController.text.isEmpty) ||
@@ -351,6 +363,7 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
saveCitizen()async{ saveCitizen()async{
Map<String, dynamic> row = { Map<String, dynamic> row = {
'ID_CIDADAO' : idCidadao,
'CD_USUARIO_SUS' : codSus, 'CD_USUARIO_SUS' : codSus,
'NOME_CIDADAO' : nameController.text, 'NOME_CIDADAO' : nameController.text,
'NOME_SOCIAL' : nameSocialController.text, 'NOME_SOCIAL' : nameSocialController.text,
@@ -383,24 +396,24 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
'NO_BAIRRO_LOGR' : selectVillage, 'NO_BAIRRO_LOGR' : selectVillage,
'ID_LOGR_TIPO' : idTipo, 'ID_LOGR_TIPO' : idTipo,
'NOME_LOGR' : selectStreet, 'NOME_LOGR' : selectStreet,
'CEP_LOGR' : cepController.text, 'CEP_LOGR' : cepController.text.isNotEmpty?int.parse(cepController.text):0,
'NUMERO_LOGR' : numberController.text, 'NUMERO_LOGR' : numberController.text.isNotEmpty?int.parse(numberController.text):0,
'LOTEAMENTO_LOGR' : selectSubdivision, 'LOTEAMENTO_LOGR' : selectSubdivision,
'COMPL_LOGR' : complementController.text, 'COMPL_LOGR' : complementController.text,
'PONTO_REFERENCIA' : referencePointController.text, 'PONTO_REFERENCIA' : referencePointController.text,
'ZONA_LOGR' : selectZoneCod, 'ZONA_LOGR' : selectZoneCod,
'DDD_CELULAR' : int.parse(mobileDDDController.text), 'DDD_CELULAR' : mobileDDDController.text.isNotEmpty?int.parse(mobileDDDController.text):0,
'NUM_CELULAR' : int.parse(mobileController.text), 'NUM_CELULAR' : mobileController.text.isNotEmpty?int.parse(mobileController.text):0,
'DDD_TELEFONE' : int.parse(foneDDDController.text), 'DDD_TELEFONE' : foneDDDController.text.isNotEmpty?int.parse(foneDDDController.text):0,
'NUM_TELEFONE' : int.parse(foneController.text), 'NUM_TELEFONE' : foneController.text.isNotEmpty?int.parse(foneController.text):0,
'DDD_RECADO' : int.parse(messageDDDController.text), 'DDD_RECADO' : messageDDDController.text.isNotEmpty?int.parse(messageDDDController.text):0,
'NUM_RECADO' : int.parse(messageController.text), 'NUM_RECADO' : messageController.text.isNotEmpty?int.parse(messageController.text):0,
'EMAIL' : emailController.text, 'EMAIL' : emailController.text,
'OBSERVACOES' : observationController.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, 'CNS' : checkCNS == 'ok'&& CNSController.text.isNotEmpty?int.parse(CNSController.text):999999999999999,
'TITULO_ELEITOR' : voterController.text, '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_COMPLEMENTO' : RGComplementController.text,
'RG_UF' : selectRGUF, 'RG_UF' : selectRGUF,
'RG_ORGAO' : RGOrganController.text, 'RG_ORGAO' : RGOrganController.text,
@@ -412,15 +425,15 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
'FOLHA_CERTIDAO' : sheetCertificateController.text, 'FOLHA_CERTIDAO' : sheetCertificateController.text,
'TERMO_CERTIDAO' : termCertificateController.text, 'TERMO_CERTIDAO' : termCertificateController.text,
'DT_EMISSAO_CERTIDAO' : dateCertificateController.text, 'DT_EMISSAO_CERTIDAO' : dateCertificateController.text,
'NUM_CTPS' : int.parse(CTPSController.text), 'NUM_CTPS' : CTPSController.text.isNotEmpty?int.parse(CTPSController.text):0,
'NUM_SERIE_CTPS' : int.parse(numberCTPSController.text), 'NUM_SERIE_CTPS' : numberCTPSController.text.isNotEmpty?int.parse(numberCTPSController.text):0,
'ESTADO_UF_CTPS' : selectCTPSUF, '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', 'FL_RETIROU_CARTAO' : enableCityCard?'S':'N',
'NUM_NIS' : int.parse(NISController.text), 'NUM_NIS' : NISController.text.isNotEmpty?int.parse(NISController.text):0,
//aqui //aqui
'NUM_PROT_CROSS' : '', 'NUM_PROT_CROSS' : '',
'RENDA_MENSAL' : incomeController.text, 'RENDA_MENSAL' : incomeController.text.isNotEmpty?double.parse(incomeController.text.replaceAll('R\$ ', '').replaceAll('.', '').replaceAll(',', '.')):0,
'PROFISSAO' : professionalController.text, 'PROFISSAO' : professionalController.text,
'DT_OBITO' : dateDeathController.text, 'DT_OBITO' : dateDeathController.text,
'DECLARACAO_OBITO' : '', 'DECLARACAO_OBITO' : '',
@@ -435,7 +448,7 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
'ATENDIMENTOS' : '', 'ATENDIMENTOS' : '',
'SINCRONIZADO' : 'N', '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){ if(checkCNS != 'ok' || CNSController.text.isEmpty){
AlertDialogDefault().alert( AlertDialogDefault().alert(
context, context,
@@ -454,6 +467,8 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
AlertDialogDefault().alert( AlertDialogDefault().alert(
context, context,
'Aviso', 'Aviso',
editing?
'Cidadão alterado com sucesso!':
'Cidadão cadastrado com sucesso!', 'Cidadão cadastrado com sucesso!',
'OK' 'OK'
); );
@@ -485,6 +500,7 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
getData()async{ getData()async{
// print('passou'); // print('passou');
// print(widget.listData); // print(widget.listData);
idCidadao = widget.listData[0]['ID_CIDADAO'];
codSus = widget.listData[0]['CD_USUARIO_SUS']; codSus = widget.listData[0]['CD_USUARIO_SUS'];
nameController.text = widget.listData[0]['NOME_CIDADAO']; nameController.text = widget.listData[0]['NOME_CIDADAO'];
nameSocialController.text = widget.listData[0]['NOME_SOCIAL']; nameSocialController.text = widget.listData[0]['NOME_SOCIAL'];
@@ -568,11 +584,14 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
selectStreet = widget.listData[0]['NOME_LOGR']; selectStreet = widget.listData[0]['NOME_LOGR'];
List listTypeStreet = await DBQuerys().buscaTipoLogradouroPorId(idTipo); List listTypeStreet = await DBQuerys().buscaTipoLogradouroPorId(idTipo);
selectTypeStreet = listTypeStreet[0]['NO_LOGR_TIPO']; selectTypeStreet = listTypeStreet[0]['NO_LOGR_TIPO'];
cepController.text = listTypeStreet[0]['CEP_LOGR']??''; cepController.text = widget.listData[0]['CEP_LOGR'].toString()=='null'?'': widget.listData[0]['CEP_LOGR'].toString();
numberController.text = listTypeStreet[0]['NUMERO_LOGR']??''; numberController.text = widget.listData[0]['NUMERO_LOGR'].toString()??'';
selectSubdivision = listTypeStreet[0]['LOTEAMENTO_LOGR']; print('numberController');
print(numberController.text);
selectSubdivision = listTypeStreet[0]['LOTEAMENTO_LOGR']??null;
if(selectSubdivision!=null){
subdivisionDB.add(selectSubdivision!); subdivisionDB.add(selectSubdivision!);
//aqui }
complementController.text = listTypeStreet[0]['COMPL_LOGR']??''; complementController.text = listTypeStreet[0]['COMPL_LOGR']??'';
referencePointController.text = listTypeStreet[0]['PONTO_REFERENCIA']??''; referencePointController.text = listTypeStreet[0]['PONTO_REFERENCIA']??'';
selectZoneCod = widget.listData[0]['ZONA_LOGR']; selectZoneCod = widget.listData[0]['ZONA_LOGR'];
@@ -592,7 +611,7 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
observationController.text = widget.listData[0]['OBSERVACOES']; observationController.text = widget.listData[0]['OBSERVACOES'];
CPFController.text = widget.listData[0]['CPF'].toString(); CPFController.text = widget.listData[0]['CPF'].toString();
CNSController.text = widget.listData[0]['CNS']; 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(); RGController.text = widget.listData[0]['RG_NUMERO'].toString()=='null'?'':widget.listData[0]['RG_NUMERO'].toString();
RGComplementController.text = widget.listData[0]['RG_COMPLEMENTO'].toString(); RGComplementController.text = widget.listData[0]['RG_COMPLEMENTO'].toString();
selectRGUF = widget.listData[0]['RG_UF']??''; selectRGUF = widget.listData[0]['RG_UF']??'';
@@ -611,13 +630,13 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
sheetCertificateController.text = widget.listData[0]['FOLHA_CERTIDAO']??''; sheetCertificateController.text = widget.listData[0]['FOLHA_CERTIDAO']??'';
termCertificateController.text = widget.listData[0]['TERMO_CERTIDAO']??''; termCertificateController.text = widget.listData[0]['TERMO_CERTIDAO']??'';
dateCertificateController.text = widget.listData[0]['DT_EMISSAO_CERTIDAO']??''; dateCertificateController.text = widget.listData[0]['DT_EMISSAO_CERTIDAO']??'';
CTPSController.text = widget.listData[0]['NUM_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()??''; numberCTPSController.text = widget.listData[0]['NUM_SERIE_CTPS'].toString()=='null'?'':widget.listData[0]['NUM_SERIE_CTPS'].toString();
selectCTPSUF = widget.listData[0]['ESTADO_UF_CTPS']; 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; enableCityCard = widget.listData[0]['FL_RETIROU_CARTAO'] == 'S'?true:false;
NISController.text = widget.listData[0]['NUM_NIS'].toString()??''; 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']??''; professionalController.text = widget.listData[0]['PROFISSAO']??'';
dateDeathController.text = widget.listData[0]['DT_OBITO']==null?'Data Óbito':widget.listData[0]['DT_OBITO']; dateDeathController.text = widget.listData[0]['DT_OBITO']==null?'Data Óbito':widget.listData[0]['DT_OBITO'];
enableBlocked = widget.listData[0]['BLOQUEIO']==1?true:false; enableBlocked = widget.listData[0]['BLOQUEIO']==1?true:false;
@@ -681,6 +700,7 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
onPressed: (){ onPressed: (){
setState(() { setState(() {
edit = false; edit = false;
editing = true;
}); });
}, },
title: 'Alterar', title: 'Alterar',
@@ -1667,7 +1687,7 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
enabled: !edit, enabled: !edit,
onChanged: (v)async{ onChanged: (v)async{
if(CPFController.text.isNotEmpty){ if(CPFController.text.isNotEmpty){
checkCPF = await MainControllers().validaCPF(v); checkCPF = await MainControllers().validaCPF(v,editing);
}else{ }else{
checkCPF = 'ok'; checkCPF = 'ok';
} }
@@ -1688,8 +1708,9 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
mandatory: false, mandatory: false,
enabled: !edit, enabled: !edit,
onChanged: (v)async{ onChanged: (v)async{
//783107557570002
if(CNSController.text.isNotEmpty){ if(CNSController.text.isNotEmpty){
checkCNS = await MainControllers().validaCNS(v); checkCNS = await MainControllers().validaCNS(v,editing);
}else{ }else{
checkCNS = 'ok'; checkCNS = 'ok';
} }

View File

@@ -127,7 +127,7 @@ class _SyncInitScreenState extends State<SyncInitScreen> {
}else{ }else{
setState(()=> messageSteps = "Etapa 8 de 10 - Gravando os Cidadãos no Aplicativo"); 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{ await ApiDataSync().syncCadastrosDomiciliares(urlAPI,mode,nameCityApi,user,idUnidade,area,microarea,foraArea).then((value)async{
if(value.length == 0){ if(value.length == 0){
setState(()=> messageSteps = "ERRO: Erro para carregar os Cadastros Domiciliares - Por favor, tente novamente!"); setState(()=> messageSteps = "ERRO: Erro para carregar os Cadastros Domiciliares - Por favor, tente novamente!");

View File

@@ -2,11 +2,24 @@ import 'dart:convert';
import 'package:http/http.dart' as http; import 'package:http/http.dart' as http;
class ApiDataPost{ 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 // http://192.168.0.42:8010/api/atb/desenvolvimento/corumbatai/sincronizacao
print(map);
final url = '${urlAPI}${mode}/${nameCityApi}/sincronizacao'; final url = '${urlAPI}${mode}/${nameCityApi}/sincronizacao';
final response = await http.post(Uri.parse(url)); await http.post(
final map = json.decode(response.body); Uri.parse(url),
return map; 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';
}
});
} }
} }

View File

@@ -119,6 +119,13 @@ class DBQuerys{
// print(list); // print(list);
return 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{ Future cadDomiciliares()async{
Database db = await DbSqliteLoad().intialDB(); Database db = await DbSqliteLoad().intialDB();
var query = "SELECT * FROM CIDADAO_DOMICILIO WHERE ORIGEM = 'A' AND SINCRONIZADO = 'N'"; var query = "SELECT * FROM CIDADAO_DOMICILIO WHERE ORIGEM = 'A' AND SINCRONIZADO = 'N'";

View File

@@ -119,7 +119,7 @@ class DbSqliteSync{
} }
return db; 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(); 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 // 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, // 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('id increment $id PROCEDIMENTOS_SIGTAP_REGISTRO');
// print(await db.query('CIDADAOS')); // print(await db.query('CIDADAOS'));
} }
}else{ }else if(type=='new'){
int id = await db.insert('CIDADAOS', value); int id = await db.insert('CIDADAOS', value);
// print('novo id $id'); // print('novo id $id');
}else if(type=='update'){
await db.update('CIDADAOS', value,where: "CD_USUARIO_SUS = '$CD_USUARIO_SUS'");
} }
return db; return db;
} }
@@ -411,7 +413,6 @@ class DbSqliteSync{
'CRIANCAS_CRECHE' : value[i]['criancasCresce'], 'CRIANCAS_CRECHE' : value[i]['criancasCresce'],
'CRIANCAS_OUTRO' : value[i]['criancasOutro'], 'CRIANCAS_OUTRO' : value[i]['criancasOutro'],
'IDENTIDADE_GENERO' : value[i]['identidadeGenero'], 'IDENTIDADE_GENERO' : value[i]['identidadeGenero'],
}; };
int id = await db.insert('CADASTROS_INDIVIDUAIS', row); int id = await db.insert('CADASTROS_INDIVIDUAIS', row);
// print('id increment $id PROCEDIMENTOS_SIGTAP_REGISTRO'); // print('id increment $id PROCEDIMENTOS_SIGTAP_REGISTRO');