sincronização dos dados da Visita domiciliar ao banco de dados
This commit is contained in:
@@ -104,9 +104,11 @@ class _SincDataScreenState extends State<SincDataScreen> {
|
|||||||
// print(tablePROCEDIMENTOS_INDIV_SIGTAP);
|
// print(tablePROCEDIMENTOS_INDIV_SIGTAP);
|
||||||
await DBQuerys().visitasDomiciliares().then((response)async{
|
await DBQuerys().visitasDomiciliares().then((response)async{
|
||||||
tableVISITAS_DOMICILIARES = response;
|
tableVISITAS_DOMICILIARES = response;
|
||||||
|
// print('tableVISITAS_DOMICILIARES');
|
||||||
// print(tableVISITAS_DOMICILIARES);
|
// print(tableVISITAS_DOMICILIARES);
|
||||||
await DBQuerys().visitasDomiciliaresCompl().then((response)async{
|
await DBQuerys().visitasDomiciliaresCompl().then((response)async{
|
||||||
tableVISITAS_DOMICILIARES_COMPL = response;
|
tableVISITAS_DOMICILIARES_COMPL = response;
|
||||||
|
// print('tableVISITAS_DOMICILIARES_COMPL');
|
||||||
// print(tableVISITAS_DOMICILIARES_COMPL);
|
// print(tableVISITAS_DOMICILIARES_COMPL);
|
||||||
await DBQuerys().visitasDomiciliaresProc().then((response)async{
|
await DBQuerys().visitasDomiciliaresProc().then((response)async{
|
||||||
tableVISITAS_DOMICILIARES_PROC = response;
|
tableVISITAS_DOMICILIARES_PROC = response;
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import '../../config/const_variable.dart';
|
|||||||
import '../../models/check_model.dart';
|
import '../../models/check_model.dart';
|
||||||
import '../../service/db/db_querys.dart';
|
import '../../service/db/db_querys.dart';
|
||||||
import '../../service/db/db_sqlite_load.dart';
|
import '../../service/db/db_sqlite_load.dart';
|
||||||
|
import '../../service/db/db_sqlite_sync.dart';
|
||||||
import '../../service/shared_preferences/shared_preferences_service.dart';
|
import '../../service/shared_preferences/shared_preferences_service.dart';
|
||||||
import '../../widgets/alert_dialog_default.dart';
|
import '../../widgets/alert_dialog_default.dart';
|
||||||
import '../../widgets/appbar_default.dart';
|
import '../../widgets/appbar_default.dart';
|
||||||
@@ -61,7 +62,9 @@ class _HomeVisitScreenState extends State<HomeVisitScreen> {
|
|||||||
int DESFECHO_COD = 0;
|
int DESFECHO_COD = 0;
|
||||||
int ID_PROFISSIONAL=0;
|
int ID_PROFISSIONAL=0;
|
||||||
int ID_CIDADAO=0;
|
int ID_CIDADAO=0;
|
||||||
|
int ID_EQUIPE=0;
|
||||||
|
|
||||||
|
String INE_PROFISSIONAL='';
|
||||||
String CD_USUARIO_SUS='';
|
String CD_USUARIO_SUS='';
|
||||||
String idUnidade = '';
|
String idUnidade = '';
|
||||||
String idUsuario = '';
|
String idUsuario = '';
|
||||||
@@ -133,11 +136,12 @@ class _HomeVisitScreenState extends State<HomeVisitScreen> {
|
|||||||
List listSIGTAP = await db.query('PROCEDIMENTOS_SIGTAP');
|
List listSIGTAP = await db.query('PROCEDIMENTOS_SIGTAP');
|
||||||
for(int i = 0; listSIGTAP.length>i;i++){
|
for(int i = 0; listSIGTAP.length>i;i++){
|
||||||
if(listSIGTAP[i]['COD_PROC_SIGTAP']!=null && listSIGTAP[i]['DESC_PROC_SIGTAP']!=null){
|
if(listSIGTAP[i]['COD_PROC_SIGTAP']!=null && listSIGTAP[i]['DESC_PROC_SIGTAP']!=null){
|
||||||
print(listSIGTAP[i]['COD_PROC_SIGTAP']);
|
|
||||||
print(listSIGTAP[i]['DESC_PROC_SIGTAP']);
|
|
||||||
PROCEDIMENTOS_SIGTAP.add('${listSIGTAP[i]['COD_PROC_SIGTAP']} - ${listSIGTAP[i]['DESC_PROC_SIGTAP']}');
|
PROCEDIMENTOS_SIGTAP.add('${listSIGTAP[i]['COD_PROC_SIGTAP']} - ${listSIGTAP[i]['DESC_PROC_SIGTAP']}');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
List listProf = await DBQuerys().buscaDadosProfissional(idUnidade,idUsuario);
|
||||||
|
INE_PROFISSIONAL = listProf[0]['INE'];
|
||||||
|
ID_EQUIPE = listProf[0]['ID_EQUIPE'];
|
||||||
setState(() {});
|
setState(() {});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -182,11 +186,71 @@ class _HomeVisitScreenState extends State<HomeVisitScreen> {
|
|||||||
setState(() {
|
setState(() {
|
||||||
mandatory = false;
|
mandatory = false;
|
||||||
showCheckError = false;
|
showCheckError = false;
|
||||||
|
//TIPO VISITA
|
||||||
|
if(tipoVisitaModel[0].check || tipoVisitaModel[1].check){
|
||||||
|
//BUSCA ATIVA
|
||||||
|
if(CONSULTA || VACINA || EXAME || CONDICIONALIDADES){
|
||||||
|
//CONTROLE AMBIENTAL
|
||||||
|
if(ACAO_EDUCATIVA || ACAO_MECANICA || IMOVEL_FOCO || TRATAMENTO_FOCAL){
|
||||||
|
bool check1 = false;
|
||||||
|
bool check2 = false;
|
||||||
|
for(int i=0; tipoAcompanhamentoModel.length>i;i++){
|
||||||
|
if(tipoAcompanhamentoModel[i].check){
|
||||||
|
print('pegou a $i');
|
||||||
|
check1 = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for(int i=0; outrosModel.length>i;i++){
|
||||||
|
if(outrosModel[i].check){
|
||||||
|
print('outros $i');
|
||||||
|
check2 = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(!check1 || !check2){
|
||||||
|
AlertDialogDefault().alert(
|
||||||
|
context,
|
||||||
|
'Aviso',
|
||||||
|
'É obrigatória a seleção de pelo menos uma opção dentre os campos Tipo da Visita, Busca ativa, Controle Ambiental, Acompanhamento e Outros.',
|
||||||
|
'OK'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
if(check1 && check2){
|
||||||
|
print('save');
|
||||||
saveHomeVisit();
|
saveHomeVisit();
|
||||||
|
}
|
||||||
|
|
||||||
|
}else{
|
||||||
|
print('AQUI');
|
||||||
|
AlertDialogDefault().alert(
|
||||||
|
context,
|
||||||
|
'Aviso',
|
||||||
|
'É obrigatória a seleção de pelo menos uma opção dentre os campos Tipo da Visita, Busca ativa, Controle Ambiental, Acompanhamento e Outros.',
|
||||||
|
'OK'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
print('nesse');
|
||||||
|
AlertDialogDefault().alert(
|
||||||
|
context,
|
||||||
|
'Aviso',
|
||||||
|
'É obrigatória a seleção de pelo menos uma opção dentre os campos Tipo da Visita, Busca ativa, Controle Ambiental, Acompanhamento e Outros.',
|
||||||
|
'OK'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
AlertDialogDefault().alert(
|
||||||
|
context,
|
||||||
|
'Aviso',
|
||||||
|
'É obrigatória a seleção de pelo menos uma opção dentre os campos Tipo da Visita, Busca ativa, Controle Ambiental, Acompanhamento e Outros.',
|
||||||
|
'OK'
|
||||||
|
);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
saveHomeVisit(){
|
saveHomeVisit()async{
|
||||||
Map<String, dynamic> row = {
|
Map<String, dynamic> row = {
|
||||||
'ID_CIDADAO' : ID_CIDADAO,
|
'ID_CIDADAO' : ID_CIDADAO,
|
||||||
'CD_USUARIO_SUS' : CD_USUARIO_SUS,
|
'CD_USUARIO_SUS' : CD_USUARIO_SUS,
|
||||||
@@ -206,6 +270,112 @@ class _HomeVisitScreenState extends State<HomeVisitScreen> {
|
|||||||
'COMPLEMENTO' : COMPLEMENTO.text,
|
'COMPLEMENTO' : COMPLEMENTO.text,
|
||||||
'SINCRONIZADO' : 'N',
|
'SINCRONIZADO' : 'N',
|
||||||
};
|
};
|
||||||
|
await DbSqliteSync().insertVisitaDomiciliar(row).then((value)async{
|
||||||
|
print('value');
|
||||||
|
print(value);
|
||||||
|
//tipo visita == 1
|
||||||
|
for(int i = 0;tipoVisitaModel.length>i;i++){
|
||||||
|
if(tipoVisitaModel[i].check){
|
||||||
|
//cadastramento = 1
|
||||||
|
if(i==0){
|
||||||
|
await DbSqliteSync().insertVisitaDomiciliarCOMPL(value,1,1);
|
||||||
|
}else if(i == 1){
|
||||||
|
//periodica = 29
|
||||||
|
await DbSqliteSync().insertVisitaDomiciliarCOMPL(value,1,29);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//busca ativa == 2
|
||||||
|
//CONSULTA 2
|
||||||
|
if(CONSULTA){
|
||||||
|
await DbSqliteSync().insertVisitaDomiciliarCOMPL(value,2,2);
|
||||||
|
}
|
||||||
|
//busca ativa == 2
|
||||||
|
//EXAME 3
|
||||||
|
if(EXAME){
|
||||||
|
await DbSqliteSync().insertVisitaDomiciliarCOMPL(value,2,3);
|
||||||
|
}
|
||||||
|
//busca ativa == 2
|
||||||
|
//VACINA 8
|
||||||
|
if(VACINA){
|
||||||
|
await DbSqliteSync().insertVisitaDomiciliarCOMPL(value,2,8);
|
||||||
|
}
|
||||||
|
//busca ativa == 2
|
||||||
|
//CONDICIONALIDADES 30
|
||||||
|
if(CONDICIONALIDADES){
|
||||||
|
await DbSqliteSync().insertVisitaDomiciliarCOMPL(value,2,30);
|
||||||
|
}
|
||||||
|
//controle ambiental == 5
|
||||||
|
// ACAO_EDUCATIVA == 34
|
||||||
|
if(ACAO_EDUCATIVA){
|
||||||
|
await DbSqliteSync().insertVisitaDomiciliarCOMPL(value,5,34);
|
||||||
|
}
|
||||||
|
//controle ambiental == 5
|
||||||
|
// IMOVEL_FOCO == 35
|
||||||
|
if(IMOVEL_FOCO){
|
||||||
|
await DbSqliteSync().insertVisitaDomiciliarCOMPL(value,5,35);
|
||||||
|
}
|
||||||
|
//controle ambiental == 5
|
||||||
|
// ACAO_MECANICA == 36
|
||||||
|
if(ACAO_MECANICA){
|
||||||
|
await DbSqliteSync().insertVisitaDomiciliarCOMPL(value,5,36);
|
||||||
|
}
|
||||||
|
//controle ambiental == 5
|
||||||
|
// TRATAMENTO_FOCAL == 37
|
||||||
|
if(TRATAMENTO_FOCAL){
|
||||||
|
await DbSqliteSync().insertVisitaDomiciliarCOMPL(value,5,37);
|
||||||
|
}
|
||||||
|
|
||||||
|
//ACOMPANHAMENTO == 3
|
||||||
|
for(int i=0; tipoAcompanhamentoModel.length>i;i++){
|
||||||
|
if(tipoAcompanhamentoModel[i].check){
|
||||||
|
print('pegou a $i');
|
||||||
|
print(tipoAcompanhamentoModel[i].subtitle);
|
||||||
|
if(i<=13){
|
||||||
|
print('CODIGO ${i+5}');
|
||||||
|
await DbSqliteSync().insertVisitaDomiciliarCOMPL(value,3,i+5);
|
||||||
|
}else if(i==14){
|
||||||
|
//respiratorios == 32
|
||||||
|
print('CODIGO ${i}');
|
||||||
|
await DbSqliteSync().insertVisitaDomiciliarCOMPL(value,3,32);
|
||||||
|
}else if(i==15){
|
||||||
|
print('CODIGO ${i}');
|
||||||
|
//tabagista == 33
|
||||||
|
await DbSqliteSync().insertVisitaDomiciliarCOMPL(value,3,33);
|
||||||
|
}else if(i>=16){
|
||||||
|
print('CODIGO ${i+3}');
|
||||||
|
await DbSqliteSync().insertVisitaDomiciliarCOMPL(value,3,i+3);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//outros == 4
|
||||||
|
for(int i=0; outrosModel.length>i;i++){
|
||||||
|
if(outrosModel[i].check){
|
||||||
|
print('outros a $i');
|
||||||
|
print(outrosModel[i].subtitle);
|
||||||
|
//orientacao prevencao == 31
|
||||||
|
if(i==3){
|
||||||
|
await DbSqliteSync().insertVisitaDomiciliarCOMPL(value,4,31);
|
||||||
|
}else if(i==4){
|
||||||
|
print('CODIGO outros ${i+24}');
|
||||||
|
await DbSqliteSync().insertVisitaDomiciliarCOMPL(value,4,i+24);
|
||||||
|
}else{
|
||||||
|
print('CODIGO outros ${i+25}');
|
||||||
|
await DbSqliteSync().insertVisitaDomiciliarCOMPL(value,4,i+25);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for(int i=0;listProc.length>i;i++){
|
||||||
|
List splitted = listProc[i].toString().split(' ');
|
||||||
|
await DbSqliteSync().insertVISITAS_DOMICILIARES_PROC(value,splitted[0]);
|
||||||
|
}
|
||||||
|
AlertDialogDefault().alert(
|
||||||
|
context,
|
||||||
|
'Aviso',
|
||||||
|
'Visita Domiciliar realizada com sucesso!',
|
||||||
|
'OK'
|
||||||
|
);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
|||||||
@@ -22,6 +22,9 @@ class ApiDataPost{
|
|||||||
await DBQuerys().updateATENDIMENTOS_DOMICILIARES();
|
await DBQuerys().updateATENDIMENTOS_DOMICILIARES();
|
||||||
await DBQuerys().deleteATENDS_DOM_COMPL();
|
await DBQuerys().deleteATENDS_DOM_COMPL();
|
||||||
await DBQuerys().deleteATENDS_DOM_PROC();
|
await DBQuerys().deleteATENDS_DOM_PROC();
|
||||||
|
await DBQuerys().updateVISITAS_DOMICILIARES();
|
||||||
|
await DBQuerys().deleteVISITAS_DOMICILIARES_COMPL();
|
||||||
|
await DBQuerys().deleteVISITAS_DOMICILIARES_PROC();
|
||||||
return json.decode(response.body);
|
return json.decode(response.body);
|
||||||
}else{
|
}else{
|
||||||
return 'error';
|
return 'error';
|
||||||
|
|||||||
@@ -515,4 +515,21 @@ class DBQuerys{
|
|||||||
String query = 'DELETE FROM ATENDS_DOM_PROC WHERE ID_ATENDIMENTO_DOMICILIAR <> 0;';
|
String query = 'DELETE FROM ATENDS_DOM_PROC WHERE ID_ATENDIMENTO_DOMICILIAR <> 0;';
|
||||||
await db.execute(query);
|
await db.execute(query);
|
||||||
}
|
}
|
||||||
|
Future updateVISITAS_DOMICILIARES()async{
|
||||||
|
Map<String, dynamic> row = {
|
||||||
|
'SINCRONIZADO': 'S',
|
||||||
|
};
|
||||||
|
Database db = await DbSqliteLoad().intialDB();
|
||||||
|
await db.update('VISITAS_DOMICILIARES', row,where: "SINCRONIZADO = 'N'");
|
||||||
|
}
|
||||||
|
Future deleteVISITAS_DOMICILIARES_COMPL()async{
|
||||||
|
Database db = await DbSqliteLoad().intialDB();
|
||||||
|
String query = 'DELETE FROM VISITAS_DOMICILIARES_COMPL WHERE ID_VISITA_DOMICILIAR <> 0;';
|
||||||
|
await db.execute(query);
|
||||||
|
}
|
||||||
|
Future deleteVISITAS_DOMICILIARES_PROC()async{
|
||||||
|
Database db = await DbSqliteLoad().intialDB();
|
||||||
|
String query = 'DELETE FROM VISITAS_DOMICILIARES_PROC WHERE ID_VISITA_DOMICILIAR <> 0;';
|
||||||
|
await db.execute(query);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -459,7 +459,7 @@ class DbSqliteSync{
|
|||||||
Future insertAtendimentoDomiciliar(var value)async{
|
Future insertAtendimentoDomiciliar(var value)async{
|
||||||
Database db = await DbSqliteLoad().intialDB();
|
Database db = await DbSqliteLoad().intialDB();
|
||||||
int id = await db.insert('ATENDIMENTOS_DOMICILIARES', value);
|
int id = await db.insert('ATENDIMENTOS_DOMICILIARES', value);
|
||||||
print(await db.query('ATENDIMENTOS_DOMICILIARES'));
|
// print(await db.query('ATENDIMENTOS_DOMICILIARES'));
|
||||||
return id;
|
return id;
|
||||||
}
|
}
|
||||||
Future insertCondicoesAvaliadas(int ID_ATENDIMENTO_DOMICILIAR,int COND_AVAL_ATEND_DOM)async{
|
Future insertCondicoesAvaliadas(int ID_ATENDIMENTO_DOMICILIAR,int COND_AVAL_ATEND_DOM)async{
|
||||||
@@ -473,6 +473,24 @@ class DbSqliteSync{
|
|||||||
// print(await db.query('ATENDS_DOM_COMPL'));
|
// print(await db.query('ATENDS_DOM_COMPL'));
|
||||||
return db;
|
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 PROC_ATEND_DOM)async{
|
Future insertProcedimentosDomiciliares(int ID_ATENDIMENTO_DOMICILIAR,int PROC_ATEND_DOM)async{
|
||||||
Database db = await DbSqliteLoad().intialDB();
|
Database db = await DbSqliteLoad().intialDB();
|
||||||
// ATENDS_DOM_COMPL (ID_ATENDIMENTO_DOMICILIAR INTEGER, COND_AVAL_ATEND_DOM INTEGER)
|
// ATENDS_DOM_COMPL (ID_ATENDIMENTO_DOMICILIAR INTEGER, COND_AVAL_ATEND_DOM INTEGER)
|
||||||
@@ -484,6 +502,17 @@ class DbSqliteSync{
|
|||||||
print(await db.query('ATENDS_DOM_PROC'));
|
print(await db.query('ATENDS_DOM_PROC'));
|
||||||
return db;
|
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,microarea)async{
|
Future saveSync(codCity,codState,urlAPI,mode,nameCityApi,nameCityFront,codCityIbge,user,idUnidade,nomeUnidade,area,microarea)async{
|
||||||
Database db = await DbSqliteLoad().intialDB();
|
Database db = await DbSqliteLoad().intialDB();
|
||||||
//refatorar cidade_load e nome_cidade
|
//refatorar cidade_load e nome_cidade
|
||||||
|
|||||||
Reference in New Issue
Block a user