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
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';

View File

@@ -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<SincDataScreen> {
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<SincDataScreen> {
});
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<SincDataScreen> {
});
}
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<SincDataScreen> {
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<SincDataScreen> {
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<SincDataScreen> {
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<SincDataScreen> {
),
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<SincDataScreen> {
),
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,

View File

@@ -138,6 +138,8 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
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<RegisterCitizenScreen> {
}
}
checkSave(){
checkSave()async{
bool checkMother = false;
bool checkFather = false;
bool checkClassification = false;
@@ -303,6 +305,16 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
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<RegisterCitizenScreen> {
saveCitizen()async{
Map<String, dynamic> row = {
'ID_CIDADAO' : idCidadao,
'CD_USUARIO_SUS' : codSus,
'NOME_CIDADAO' : nameController.text,
'NOME_SOCIAL' : nameSocialController.text,
@@ -383,24 +396,24 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
'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<RegisterCitizenScreen> {
'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<RegisterCitizenScreen> {
'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<RegisterCitizenScreen> {
AlertDialogDefault().alert(
context,
'Aviso',
editing?
'Cidadão alterado com sucesso!':
'Cidadão cadastrado com sucesso!',
'OK'
);
@@ -485,6 +500,7 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
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<RegisterCitizenScreen> {
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<RegisterCitizenScreen> {
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<RegisterCitizenScreen> {
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<RegisterCitizenScreen> {
onPressed: (){
setState(() {
edit = false;
editing = true;
});
},
title: 'Alterar',
@@ -1667,7 +1687,7 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
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<RegisterCitizenScreen> {
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';
}

View File

@@ -127,7 +127,7 @@ class _SyncInitScreenState extends State<SyncInitScreen> {
}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!");

View File

@@ -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';
}
});
}
}

View File

@@ -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'";

View File

@@ -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');