Files
rkmmobile/lib/service/db/db_sqlite_sync.dart

600 lines
26 KiB
Dart

import 'package:rkm/service/db/db_querys.dart';
import 'package:rkm/service/db/db_sqlite_load.dart';
import 'package:sqflite/sqflite.dart';
class DbSqliteSync{
Future deleteSync()async{
var querys = [
"DELETE FROM CONTROLE_INTERNO",
"DELETE FROM BAIRROS;",
"DELETE FROM LOGRADOUROS_TIPOS;",
"DELETE FROM LOGRADOUROS_ENDERECOS;",
"DELETE FROM LOGRADOUROS_LOTEAMENTOS;",
"DELETE FROM PROFISSIONAIS;",
"DELETE FROM PROFISSIONAIS_CBOS;",
"DELETE FROM CIDADAOS;",
"DELETE FROM CIDADAO_DOMICILIO;",
"DELETE FROM CADASTROS_INDIVIDUAIS;",
"DELETE FROM DOMICILIOS_CIDADAOS;"
];
Database db = await DbSqliteLoad().intialDB();
for(int i=0;querys.length>i;i++){
db.execute(querys[i]);
}
}
Future insertBairros(var value)async{
List list = value;
List<Map<String, dynamic>> rows = [];
Database db = await DbSqliteLoad().intialDB();
Batch batch = db.batch();
for (int i = 0; i < list.length; i++) {
Map<String, dynamic> row = {
'ID_BAIRRO' : list[i]['idBairro'],
'NO_BAIRRO' : list[i]['nomeBairro'],
};
rows.add(row);
}
rows.forEach((row) {
batch.insert('BAIRROS', row);
});
List<Object?> result = await batch.commit();
print('Linhas inseridas: ${result.length}');
List<Map<String, dynamic>> BAIRROS = await db.query('BAIRROS');
print('Total de BAIRROS : ${BAIRROS.length}');
return db;
}
Future insertTiposLogradouros(var value)async{
List list = value;
List<Map<String, dynamic>> rows = [];
Database db = await DbSqliteLoad().intialDB();
Batch batch = db.batch();
for (int i = 0; i < list.length; i++) {
Map<String, dynamic> row = {
'ID_LOGR_TIPO' : value[i]['idTipoLogradouro'],
'NO_LOGR_TIPO' : value[i]['nomeTipoLogradouro'],
};
rows.add(row);
}
rows.forEach((row) {
batch.insert('LOGRADOUROS_TIPOS', row);
});
List<Object?> result = await batch.commit();
print('Linhas inseridas: ${result.length}');
List<Map<String, dynamic>> LOGRADOUROS_TIPOS = await db.query('LOGRADOUROS_TIPOS');
print('Total de LOGRADOUROS_TIPOS : ${LOGRADOUROS_TIPOS.length}');
return db;
}
Future insertLogradouros(var value)async{
List list = value;
List<Map<String, dynamic>> rows = [];
Database db = await DbSqliteLoad().intialDB();
Batch batch = db.batch();
for (int i = 0; i < list.length; i++) {
Map<String, dynamic> row = {
'ID_LOGR_ENDERECO' : value[i]['idLogradouro'],
'ID_LOGR_TIPO' : value[i]['idTipoLogradouro'],
'DESC_LOGR_ENDERECO' : value[i]['descLogradouro'],
'ID_BAIRRO' : value[i]['idBairro'],
};
rows.add(row);
}
rows.forEach((row) {
batch.insert('LOGRADOUROS_ENDERECOS', row);
});
List<Object?> result = await batch.commit();
print('Linhas inseridas: ${result.length}');
List<Map<String, dynamic>> LOGRADOUROS_ENDERECOS = await db.query('LOGRADOUROS_ENDERECOS');
print('Total de LOGRADOUROS_ENDERECOS : ${LOGRADOUROS_ENDERECOS.length}');
return db;
}
Future insertLoteamentos(var value)async{
List list = value;
List<Map<String, dynamic>> rows = [];
Database db = await DbSqliteLoad().intialDB();
Batch batch = db.batch();
for (int i = 0; i < list.length; i++) {
Map<String, dynamic> row = {
'ID_LOGR_LOTEAMENTO' : value[i]['idLoteamento'],
'DESC_LOGR_LOTEAMENTO' : value[i]['descLoteamento'],
};
rows.add(row);
}
rows.forEach((row) {
batch.insert('LOGRADOUROS_LOTEAMENTOS', row);
});
List<Object?> result = await batch.commit();
print('Linhas inseridas: ${result.length}');
List<Map<String, dynamic>> LOGRADOUROS_LOTEAMENTOS = await db.query('LOGRADOUROS_LOTEAMENTOS');
print('Total de LOGRADOUROS_LOTEAMENTOS : ${LOGRADOUROS_LOTEAMENTOS.length}');
return db;
}
Future insertProfissionais(var value)async{
List list = value;
List<Map<String, dynamic>> rows = [];
Database db = await DbSqliteLoad().intialDB();
Batch batch = db.batch();
for (int i = 0; i < list.length; i++) {
Map<String, dynamic> row = {
'ID_PROFISSIONAL' : value[i]['idProfissional'],
'NOME_PROFISSIONAL': value[i]['nomeProfissional'],
'CNS_PROFISSIONAL' : value[i]['CNSProfissional'],
'USERNAME' : value[i]['username'],
'SENHA' : value[i]['senha'],
'BLOQUEIO_ACESSO' : value[i]['bloqueioAcesso'],
'ID_UNIDADE' : value[i]['idUnidade'],
};
rows.add(row);
}
rows.forEach((row) {
batch.insert('PROFISSIONAIS', row);
});
List<Object?> result = await batch.commit();
print('Linhas inseridas: ${result.length}');
List<Map<String, dynamic>> PROFISSIONAIS = await db.query('PROFISSIONAIS');
print('Total de PROFISSIONAIS : ${PROFISSIONAIS.length}');
return db;
}
Future insertProfissionaisCBOs(var value)async{
List list = value;
List<Map<String, dynamic>> rows = [];
Database db = await DbSqliteLoad().intialDB();
Batch batch = db.batch();
for (int i = 0; i < list.length; i++) {
Map<String, dynamic> row = {
'ID_PROFISSIONAL' : value[i]['idProfissional'],
'CODIGO_CBO' : value[i]['codCBO'],
};
rows.add(row);
}
rows.forEach((row) {
batch.insert('PROFISSIONAIS_CBOS', row);
});
List<Object?> result = await batch.commit();
print('Linhas inseridas: ${result.length}');
List<Map<String, dynamic>> PROFISSIONAIS_CBOS = await db.query('PROFISSIONAIS_CBOS');
print('Total de PROFISSIONAIS_CBOS : ${PROFISSIONAIS_CBOS.length}');
return db;
}
Future insertCidadaos(var value,String type,String CD_USUARIO_SUS)async{
List<Map<String, dynamic>> rows = [];
Database db = await DbSqliteLoad().intialDB();
Batch batch = db.batch();
if(value.toString() == '[Erro para carregar os Cidadaos - Sync -> syncCidadaos()]'){
return db;
}
if(type=='sync'){
//para a carga inicial o datalista funciona
List dataList = value;
for (int i = 0; i < dataList.length; i++) {
Map<String, dynamic> row = {
'ID_CIDADAO' : value[i]['idCidadao'],
'CD_USUARIO_SUS' : value[i]['cdUsuarioSus'],
'NOME_CIDADAO' : value[i]['noUsuario'],
'NOME_SOCIAL' : value[i]['nomeSocial'],
'SEXO' : value[i]['inSexo'],
'DT_NASCIMENTO' : value[i]['dtNascimento'],
'ID_ESTADO_CIVIL' : value[i]['inSituacaoConjugal'],
'ID_ESTADO_CIVIL' : value[i]['inSituacaoConjugal'],
'NOME_CONJUGE' : value[i]['noConjugue'],
'NACIONALIDADE' : value[i]['nacionalidade'],
'ID_MUNICIPIO_NASC' : value[i]['cdMunicipioNasc'],
'NO_MUNICIPIO_NASC' : value[i]['noMunicipioNasc'],
'ESTADO_UF_NASC' : value[i]['cdEstado'],
'ID_ETNIA' : value[i]['cdEtnia'],
'ID_ETNIA_INDIGENA' : value[i]['cdEtniaIndigena'],
'ID_ESCOLARIDADE' : value[i]['cdUsuarioEscolaridade'],
'ID_DEFICIENCIA' : value[i]['nrDeficiencia'],
'NOME_MAE' : value[i]['noMae'],
'DESCONHECE_MAE' : value[i]['desconheceMae'],
'NOME_PAI' : value[i]['noPai'],
'DESCONHECE_PAI' : value[i]['desconhecePai'],
'ID_UNIDADE' : value[i]['nrUnidade'],
'NUM_PRONTUARIO' : value[i]['nrProntuario'],
'NUM_PRONTUARIO_PROV' : value[i]['nrProntuarioProvisorio'],
'CLASSIFICACAO' : value[i]['classificacao'],
'CLASSIFICACAO_SUB' : '',
'NUM_FAMILIA' : value[i]['nrFamilia'],
'ID_PAIS_RESID' : value[i]['idPaisResid'],
'ID_MUNICIPIO_RESID' : value[i]['cdMunicipioResid'],
'NO_MUNICIPIO_RESID' : value[i]['noMunicipioResid'],
'ESTADO_UF_RESID' : value[i]['cdEstadoResid'],
'CODIGO_IBGE_RESID' : value[i]['muniCdCodIbgeResid'],
'NO_BAIRRO_LOGR' : value[i]['noBairro'],
'ID_LOGR_TIPO' : value[i]['idTipoLogradouro'],
'NOME_LOGR' : value[i]['noLogradouro'],
'CEP_LOGR' : value[i]['cdCep'],
'NUMERO_LOGR' : value[i]['nrLogradouro'],
'LOTEAMENTO_LOGR' : value[i]['loteamento'],
'COMPL_LOGR' : value[i]['noComplLogradouro'],
'PONTO_REFERENCIA' : value[i]['pontoReferencia'],
'ZONA_LOGR' : value[i]['zona'],
'DDD_TELEFONE' : value[i]['nrDddTelefone'],
'NUM_TELEFONE' : value[i]['nrTelefone'],
'DDD_CELULAR' : value[i]['nrDddCelular'],
'NUM_CELULAR' : value[i]['nrCelular'],
'DDD_RECADO' : value[i]['nrDddRecado'],
'NUM_RECADO' : value[i]['nrRecado'],
'EMAIL' : value[i]['email'],
'OBSERVACOES' : value[i]['observacao'],
'CPF' : value[i]['nrCpf'],
'CNS' : value[i]['nrCns'],
'TITULO_ELEITOR' : value[i]['tituloEleitor'],
'RG_NUMERO' : value[i]['nrIdentidade'],
'RG_COMPLEMENTO' : value[i]['noComplIdentidade'],
'RG_UF' : value[i]['cdSiglaUfIdentidade'],
'RG_ORGAO' : value[i]['cdOrgaoEmissorIdentidade'],
'RG_DATA_EMISSAO' : value[i]['dtEmissaoIdentidade'],
'TIPO_CERTIDAO' : value[i]['cdTipoCertidao'],
'NUM_CERTIDAO' : value[i]['nrCertidaoNova'],
'CARTORIO_CERTIDAO' : value[i]['noCartorioCertidao'],
'LIVRO_CERTIDAO' : value[i]['nrLivroCertidao'],
'FOLHA_CERTIDAO' : value[i]['nrFolhaCertidao'],
'TERMO_CERTIDAO' : value[i]['noTermoCertidao'],
'DT_EMISSAO_CERTIDAO' : value[i]['dtEmissaoCertidao'],
'NUM_CTPS' : value[i]['nrCtps'],
'NUM_SERIE_CTPS' : value[i]['nrSerieCtps'],
'ESTADO_UF_CTPS' : value[i]['cdSiglaUfCtps'],
'NUM_PIS_PASEP' : value[i]['nrPispasep'],
'FL_RETIROU_CARTAO' : value[i]['cartaoMunicipalRetirado'],
'NUM_NIS' : value[i]['nrNis'],
'NUM_PROT_CROSS' : '',
'RENDA_MENSAL' : value[i]['rendaMensal'],
'PROFISSAO' : value[i]['profissao'],
'DT_OBITO' : value[i]['dtObito'],
'DECLARACAO_OBITO' : '',
'BLOQUEIO' : value[i]['bloqueio'],
'ORIGEM' : value[i]['origem'],
'DT_HORA_CADASTRO' : value[i]['profissao'],
'ID_USUARIO_CADASTRO' : value[i]['idUsuarioCadastro'],
'ID_DOMICILIO' : value[i]['cdDomicilio'],
'ATENDIMENTOS' : value[i]['atendimentos'],
'RENDA_TOTAL_FAMILIAR': value[i]['rendaTotalFamiliar'],
'POSSUI_VEICULO': value[i]['possuiVeiculo'],
'MODELO_VEICULO': value[i]['modeloVeiculo'] ,
'ANO_VEICULO': value[i]['anoVeiculo'],
'POSSUI_FINANCIAMENTO': value[i]['possuiFinanciamento'] ,
'VALOR_PARCELA_FINANCIAMENTO': value[i]['valorParcelaFinanciamento'] ,
'POSSUI_EMPRESTIMO': value[i]['possuiEmprestimo'] ,
'VALOR_PARCELA_EMPRESTIMO': value[i]['valorParcelaEmprestimo'],
'SINCRONIZADO' : '',
};
rows.add(row);
}
rows.forEach((row) {
batch.insert('CIDADAOS', row);
});
List<Object?> result = await batch.commit();
print('Linhas inseridas: ${result.length}');
List<Map<String, dynamic>> CIDADAOS = await db.query('CIDADAOS');
print('Total de CIDADAOS : ${CIDADAOS.length}');
}else if(type=='new'){
//testar depois ao incluir um novo cidadao se precisara do map data
Map<String, dynamic> dataMap = value;
int id = await db.insert('CIDADAOS', dataMap);
// print('novo id $id');
}else if(type=='update'){
//testar depois ao incluir um novo cidadao se precisara do map data
Map<String, dynamic> dataMap = value;
await db.update('CIDADAOS', dataMap,where: "CD_USUARIO_SUS = '$CD_USUARIO_SUS'");
}
return db;
}
Future insertCadastrosDomiciliares(var value,String type,int ID_DOMICILIO,int ID_CIDADAO,String CD_USUARIO_SUS)async{
List<Map<String, dynamic>> rows = [];
Database db = await DbSqliteLoad().intialDB();
Batch batch = db.batch();
if(type=='sync'){
List list = value;
for (int i = 0; i < list.length; i++) {
Map<String, dynamic> row = {
'ID_DOMICILIO': value[i]['cdDomicilio'],
'TIPO_IMOVEL': value[i]['cdTipoImovel'],
'ID_AREA_DOMICILIO': value[i]['cdAreaDomicilio'],
'ID_MICROAREA_DOMICILIO': value[i]['cdMicroareaDomicilio'],
'FORA_AREA': value[i]['foraArea'],
'SITUACAO_MORADIA': value[i]['cdSituacao'],
'TIPO_LOCALIDADE': value[i]['cdTipoLocalidade'],
'TIPO_DOMICILIO': value[i]['cdTipoDomicilio'],
'NUM_MORADORES': value[i]['nrMoradores'],
'NUM_COMODOS': value[i]['nrComodo'],
'SITUACAO_RURAL': value[i]['situacaoProducaoRural'],
'TIPO_ACESSO': value[i]['tipoAcesso'],
'MAT_PREDOMINANTE': value[i]['materialParedesExternas'],
'DISPONIBILIDADE_ENERGIA': value[i]['dispEnergiaEletrica'],
'TIPO_ABASTECIMENTO': value[i]['cdTipoAbastecimento'],
'TRATAMENTO_AGUA': value[i]['cdTratamentoAgua'],
'DESTINO_LIXO': value[i]['cdDestinoLixo'],
'ESCOAMENTO': value[i]['cdEscoamento'],
'FL_ANIMAIS': value[i]['animais'],
'ANIMAIS_GATO': value[i]['animaisGato'],
'ANIMAIS_CACHORRO': value[i]['animaisCachorro'],
'ANIMAIS_PASSARO': value[i]['animaisPassaro'],
'ANIMAIS_OUTROS': value[i]['animaisOutros'],
'QTDE_ANIMAIS': value[i]['animaisQtde'],
'CBO_RESP_CADASTRO': value[i]['cboRespCadastro'],
'ID_RESP_CADASTRO': value[i]['respCadastro'],
'CNES_RESP_CADASTRO': value[i]['cnesUnidade'],
'INE_RESP_CADASTRO': value[i]['ine'],
'DT_CADASTRO': value[i]['dtCadastro'],
'ID_EQUIPE': value[i]['cdEquipe'],
'ORIGEM': '',
'SINCRONIZADO': '',
'NOME_INSTITUICAO_PERMANENCIA': value[i]['noInstPermanencia'],
'PROFISSIONAIS_VINCULADOS_INST': value[i]['outrosProfissionaisInst'],
'RESPONSAVEL_TECNICO_INST': value[i]['noResponsavelInst'],
'CARGO_RESP_TECNICO_INST': value[i]['gargoResponsavelInst'],
'TEL_RESP_TECNICO_INST': value[i]['telefoneResponsavelInst'],
};
rows.add(row);
}
rows.forEach((row) {
batch.insert('CIDADAO_DOMICILIO', row);
});
List<Object?> result = await batch.commit();
print('Linhas inseridas: ${result.length}');
List<Map<String, dynamic>> CIDADAO_DOMICILIO = await db.query('CIDADAO_DOMICILIO');
print('Total de CIDADAO_DOMICILIO : ${CIDADAO_DOMICILIO.length}');
}else if(type=='new'){
int id = await db.insert('CIDADAO_DOMICILIO', value);
print('novo id $id');
Map<String, dynamic> row = {
'ID_DOMICILIO': id,
'ORIGEM' : 'A',
'SINCRONIZADO': 'N'
};
await db.update('CIDADAOS', row,where: "ID_CIDADAO = $ID_CIDADAO");
Map<String, dynamic> rowDom = {
'ID_DOMICILIO': id,
'CD_USUARIO_SUS': CD_USUARIO_SUS
};
await db.insert('DOMICILIOS_CIDADAOS', rowDom);
}else if(type=='update'){
await db.update('CIDADAO_DOMICILIO', value,where: "ID_DOMICILIO = '$ID_DOMICILIO'");
Map<String, dynamic> row = {
'ORIGEM' : 'A',
'SINCRONIZADO': 'N'
};
await db.update('CIDADAOS', row,where: "ID_CIDADAO = $ID_CIDADAO");
Map<String, dynamic> rowDom = {
'ID_DOMICILIO': ID_DOMICILIO,
'CD_USUARIO_SUS': CD_USUARIO_SUS
};
await db.insert('DOMICILIOS_CIDADAOS', rowDom);
}
return db;
}
Future insertCadastrosIndividuais(var value,String type,int ID_CIDADAO)async{
List<Map<String, dynamic>> rows = [];
Database db = await DbSqliteLoad().intialDB();
Batch batch = db.batch();
if(type=='sync'){
List list = value;
for (int i = 0; i < list.length; i++) {
Map<String, dynamic> row = {
'ID_CAD_INDIVIDUAL': value[i]['idCadIndividual'],
'STATUS_CADASTRO': value[i]['statusCadastro'],
'ID_CIDADAO': value[i]['idCidadao'],
'CD_USUARIO_SUS': value[i]['cdUsuarioSUS'],
'ID_AREA_CIDADAO': value[i]['idAreaCidadao'],
'ID_MICROAREA_CIDADAO': value[i]['idMicroAreaCidadao'],
'FORA_AREA': value[i]['foraArea'],
'RESPONSAVEL_FAMILIAR': value[i]['flResponsavelFamiliar'],
'ID_RESPONSAVEL_FAMILIAR': value[i]['cdResponsavelFamiliar'],
'NOME_RESPONSAVEL_FAMILIAR': value[i]['nomeResponsavelFamiliar'],
'PARENTESCO': value[i]['parentesco'],
'ESCOLARIDADE': value[i]['curso'],
'FREQ_ESCOLA_CRECHE': value[i]['frequentaEscola'],
'SITUACAO_MERCADO': value[i]['situacaoMercado'],
'CUIDADOR_TRADICIONAL': value[i]['cuidadorTrad'],
'GRUPO_COMUNITARIO': value[i]['grupoComunitario'],
'PLANO_PRIVADO': value[i]['plSaudePrivado'],
'COMUNIDADE_TRADICIONAL': value[i]['comunidadeTradicional'],
'COM_TRADI_QUAL': value[i]['comunidadeTradicionalEspec'],
'ORIENT_SEXUAL': value[i]['orientacaoSexual'],
'TEM_DEFICIENCIA': value[i]['temDeficiencia'],
'DEF_AUDITIVA': value[i]['defAuditiva'],
'DEF_INTELECTUAL': value[i]['defIntelectual'],
'DEF_VISUAL': value[i]['defVisual'],
'DEF_FISICA': value[i]['defFisica'],
'DEF_OUTRAS': value[i]['defOutros'],
'SAIDA_CADASTRO': value[i]['saidaMotivo'],
'DATA_SAIDA_CADASTRO': value[i]['saidaData'],
'CADASTRO_RECUSADO': value[i]['recusado'],
'GESTANTE': value[i]['gestante'],
'MATERNIDADE_REFERENCIA': value[i]['maternidadeReferencia'],
'PESO': value[i]['peso'],
'FUMANTE': value[i]['fumante'],
'USA_ALCOOL': value[i]['usaAlcool'],
'USA_DROGAS': value[i]['outrasDrogas'],
'HIPERTENSAO': value[i]['hipertensao'],
'DIABETES': value[i]['diabetes'],
'AVC_DERRAME': value[i]['avcDerrame'],
'INFARTO': value[i]['infarto'],
'HANSENIASE': value[i]['hanseniase'],
'TUBERCULOSE': value[i]['tuberculose'],
'CANCER': value[i]['cancer'],
'INTERNACAO': value[i]['internacao12Meses'],
'MOTIVO': value[i]['motivo'],
'DOENCA_CARDIACA': value[i]['doencaCardiaca'],
'PROBLEMA_RINS': value[i]['problemasRins'],
'DOENCA_PULMAO': value[i]['doencaRespiratoriaPulmao'],
'SAUDE_MENTAL': value[i]['tratamInternacaoPsiquiatrica'],
'ACAMADO': value[i]['acamado'],
'DOMICILIADO': value[i]['domiciliado'],
'PLANTAS_MED': value[i]['plantasMedicinais'],
'PLANTAS_MED_QUAIS': value[i]['plantasQuais'],
'PIC': value[i]['praticasIntegrativasComplem'],
'OUTRAS_CONDICOES': value[i]['outrasCondSaude'],
'TEMPO_SITUACAO_RUA': value[i]['tempoSituacaoRua'],
'ACOMP_INTITUICAO': value[i]['acompanhadoInstituicao'],
'ACOMP_INTITUICAO_QUAL': value[i]['instituicaoQual'],
'BENEFICIO': value[i]['recebeBeneficio'],
'REF_FAMILIAR': value[i]['referenciaFamiliar'],
'PARENTESCO_VISITA': value[i]['visitaFamiliarParentesco'],
'ALIMENTACAO_DIARIA': value[i]['alimentacaoDiaria'],
'REST_POPULAR': value[i]['alimentecaoRestaurantePop'],
'DOACAO_REST': value[i]['alimentacaoDoacaoRestaurante'],
'DOACAO_RELIGIOSO': value[i]['alimentacaoDoacaoGrupoRel'],
'DOACAO_POPULAR': value[i]['alimentacaoDoacaoPop'],
'OUTROS_ALIM': value[i]['alimentacaoOutros'],
'ACESSO_HIGIENE': value[i]['higienePessoal'],
'BANHO': value[i]['higieneBanho'],
'SANITARIO': value[i]['higieneSanitario'],
'HIGIENE_BUCAL': value[i]['higieneBucal'],
'OUTROS_HIGIENE': value[i]['higieneOutros'],
'FICHA_ALTERACAO': value[i]['fichaAlteracao'],
'ID_RESP_CADASTRO': value[i]['idProfissionalResponsavel'],
'CNES_RESP_CADASTRO': value[i]['cnesUnidade'],
'CBO_RESP_CADASTRO': value[i]['cboProfissional'],
'INE_RESP_CADASTRO': value[i]['ine'],
'DT_CADASTRO': value[i]['dtCadastro'],
'ID_EQUIPE': value[i]['cdEquipe'],
'ORIGEM': '',
'SINCRONIZADO': '',
'DT_ENTRADA_BRASIL': value[i]['dtEntradaBrasil'],
'DT_NATURALIZACAO': value[i]['dtNaturalizado'],
'PORTARIA_NATURALIZACAO': value[i]['portariaNaturalizacao'],
'CRIANCAS_ADULTO': value[i]['criancasAdulto'],
'CRIANCAS_OUTRAS_CRIANCAS': value[i]['criancasOutrasCriancas'],
'CRIANCAS_ADOLESCENTE': value[i]['criancasAdolescente'],
'CRIANCAS_SOZINHA': value[i]['criancasSozinha'],
'CRIANCAS_CRECHE': value[i]['criancasCresce'],
'CRIANCAS_OUTRO': value[i]['criancasOutro'],
'IDENTIDADE_GENERO': value[i]['identidadeGenero'],
'FIBROMIALGIA': value[i]['fibromialgia'],
'TRANSTORNO_ESPECTRO_AUTISTA': value[i]['transtornoEspectroAutista'],
};
rows.add(row);
}
rows.forEach((row) {
batch.insert('CADASTROS_INDIVIDUAIS', row);
});
List<Object?> result = await batch.commit();
print('Linhas inseridas: ${result.length}');
List<Map<String, dynamic>> CADASTROS_INDIVIDUAIS = await db.query('CADASTROS_INDIVIDUAIS');
print('Total de CADASTROS_INDIVIDUAIS : ${CADASTROS_INDIVIDUAIS.length}');
}else if(type=='new'){
Map<String, dynamic> dataMap = value;
int id = await db.insert('CADASTROS_INDIVIDUAIS', dataMap);
// print('novo id $id');
}else if(type=='update'){
Map<String, dynamic> dataMap = value;
await db.update('CADASTROS_INDIVIDUAIS', dataMap ,where: "ID_CIDADAO = $ID_CIDADAO");
}
return db;
}
Future insertAtendimentoDomiciliar(var value)async{
Database db = await DbSqliteLoad().intialDB();
int id = await db.insert('ATENDIMENTOS_DOMICILIARES', value);
// print(await db.query('ATENDIMENTOS_DOMICILIARES'));
return id;
}
Future insertCondicoesAvaliadas(int ID_ATENDIMENTO_DOMICILIAR,int COND_AVAL_ATEND_DOM)async{
Database db = await DbSqliteLoad().intialDB();
// ATENDS_DOM_COMPL (ID_ATENDIMENTO_DOMICILIAR INTEGER, COND_AVAL_ATEND_DOM INTEGER)
Map<String,dynamic> row = {
'ID_ATENDIMENTO_DOMICILIAR' :ID_ATENDIMENTO_DOMICILIAR,
'COND_AVAL_ATEND_DOM' :COND_AVAL_ATEND_DOM,
};
int id = await db.insert('ATENDS_DOM_COMPL', row);
// print(await db.query('ATENDS_DOM_COMPL'));
return db;
}
Future insertVisitaDomiciliar(var value)async{
Database db = await DbSqliteLoad().intialDB();
int id = await db.insert('VISITAS_DOMICILIARES', value);
print(await db.query('VISITAS_DOMICILIARES'));
return id;
}
Future insertVisitaDomiciliarCOMPL(int ID_VISITA_DOMICILIAR,int ID_VISITA_DOM_TIPO, int ID_VISITA_COMPLEMENTO)async{
Database db = await DbSqliteLoad().intialDB();
// ATENDS_DOM_COMPL (ID_ATENDIMENTO_DOMICILIAR INTEGER, COND_AVAL_ATEND_DOM INTEGER)
Map<String,dynamic> row = {
'ID_VISITA_DOMICILIAR' :ID_VISITA_DOMICILIAR,
'ID_VISITA_DOM_TIPO' :ID_VISITA_DOM_TIPO,
'ID_VISITA_COMPLEMENTO' :ID_VISITA_COMPLEMENTO,
};
int id = await db.insert('VISITAS_DOMICILIARES_COMPL', row);
print(await db.query('VISITAS_DOMICILIARES_COMPL'));
return db;
}
Future insertProcedimentosDomiciliares(int ID_ATENDIMENTO_DOMICILIAR,int PROCEDIMENTO_SELECIONADO)async{
Database db = await DbSqliteLoad().intialDB();
// ATENDS_DOM_COMPL (ID_ATENDIMENTO_DOMICILIAR INTEGER, COND_AVAL_ATEND_DOM INTEGER)
// String procedimento = await DBQuerys().buscarCodProced(PROCEDIMENTO_SELECIONADO);
Map<String,dynamic> row = {
'ID_ATENDIMENTO_DOMICILIAR' :ID_ATENDIMENTO_DOMICILIAR,
'PROC_ATEND_DOM' :PROCEDIMENTO_SELECIONADO,
};
int id = await db.insert('ATENDS_DOM_PROC', row);
// print(await db.query('ATENDS_DOM_PROC'));
return db;
}
Future insertVISITAS_DOMICILIARES_PROC(int ID_VISITA_DOMICILIAR,String COD_PROC_SIGTAP)async{
Database db = await DbSqliteLoad().intialDB();
// ATENDS_DOM_COMPL (ID_ATENDIMENTO_DOMICILIAR INTEGER, COND_AVAL_ATEND_DOM INTEGER)
Map<String,dynamic> row = {
'ID_VISITA_DOMICILIAR' :ID_VISITA_DOMICILIAR,
'COD_PROC_SIGTAP' :COD_PROC_SIGTAP,
};
int id = await db.insert('VISITAS_DOMICILIARES_PROC', row);
print(await db.query('VISITAS_DOMICILIARES_PROC'));
return db;
}
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, '')}]';
"INSERT OR REPLACE INTO CONTROLE_INTERNO (rowid, CARGA_INICIAL, CIDADE_LOAD, NOME_CIDADE, ID_MUNICIPIO, UF_ESTADO, CODIGO_IBGE, AMBIENTE, COMPETENCIA) VALUES (1,?,?,?,?,?,?,?,?)";
Map<String, dynamic> row = {
'CARGA_INICIAL' : 1,
'CIDADE_LOAD' : nameCityApi,
'NOME_CIDADE' : nameCityFront,
'ID_MUNICIPIO' : codCity,
'UF_ESTADO' : codState,
'CODIGO_IBGE' : codCityIbge,
'AMBIENTE' : mode,
'SYNC_UNIDADE' : idUnidade,
'NOME_UNIDADE' : nomeUnidade,
'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}',
};
int id = await db.insert('CONTROLE_INTERNO', row);
return db;
}
}