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);
|
||||
await DBQuerys().visitasDomiciliares().then((response)async{
|
||||
tableVISITAS_DOMICILIARES = response;
|
||||
// print('tableVISITAS_DOMICILIARES');
|
||||
// print(tableVISITAS_DOMICILIARES);
|
||||
await DBQuerys().visitasDomiciliaresCompl().then((response)async{
|
||||
tableVISITAS_DOMICILIARES_COMPL = response;
|
||||
// print('tableVISITAS_DOMICILIARES_COMPL');
|
||||
// print(tableVISITAS_DOMICILIARES_COMPL);
|
||||
await DBQuerys().visitasDomiciliaresProc().then((response)async{
|
||||
tableVISITAS_DOMICILIARES_PROC = response;
|
||||
|
||||
@@ -6,6 +6,7 @@ import '../../config/const_variable.dart';
|
||||
import '../../models/check_model.dart';
|
||||
import '../../service/db/db_querys.dart';
|
||||
import '../../service/db/db_sqlite_load.dart';
|
||||
import '../../service/db/db_sqlite_sync.dart';
|
||||
import '../../service/shared_preferences/shared_preferences_service.dart';
|
||||
import '../../widgets/alert_dialog_default.dart';
|
||||
import '../../widgets/appbar_default.dart';
|
||||
@@ -61,7 +62,9 @@ class _HomeVisitScreenState extends State<HomeVisitScreen> {
|
||||
int DESFECHO_COD = 0;
|
||||
int ID_PROFISSIONAL=0;
|
||||
int ID_CIDADAO=0;
|
||||
int ID_EQUIPE=0;
|
||||
|
||||
String INE_PROFISSIONAL='';
|
||||
String CD_USUARIO_SUS='';
|
||||
String idUnidade = '';
|
||||
String idUsuario = '';
|
||||
@@ -133,11 +136,12 @@ class _HomeVisitScreenState extends State<HomeVisitScreen> {
|
||||
List listSIGTAP = await db.query('PROCEDIMENTOS_SIGTAP');
|
||||
for(int i = 0; listSIGTAP.length>i;i++){
|
||||
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']}');
|
||||
}
|
||||
}
|
||||
List listProf = await DBQuerys().buscaDadosProfissional(idUnidade,idUsuario);
|
||||
INE_PROFISSIONAL = listProf[0]['INE'];
|
||||
ID_EQUIPE = listProf[0]['ID_EQUIPE'];
|
||||
setState(() {});
|
||||
}
|
||||
|
||||
@@ -182,11 +186,71 @@ class _HomeVisitScreenState extends State<HomeVisitScreen> {
|
||||
setState(() {
|
||||
mandatory = false;
|
||||
showCheckError = false;
|
||||
saveHomeVisit();
|
||||
//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();
|
||||
}
|
||||
|
||||
}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 = {
|
||||
'ID_CIDADAO' : ID_CIDADAO,
|
||||
'CD_USUARIO_SUS' : CD_USUARIO_SUS,
|
||||
@@ -206,6 +270,112 @@ class _HomeVisitScreenState extends State<HomeVisitScreen> {
|
||||
'COMPLEMENTO' : COMPLEMENTO.text,
|
||||
'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
|
||||
|
||||
@@ -22,6 +22,9 @@ class ApiDataPost{
|
||||
await DBQuerys().updateATENDIMENTOS_DOMICILIARES();
|
||||
await DBQuerys().deleteATENDS_DOM_COMPL();
|
||||
await DBQuerys().deleteATENDS_DOM_PROC();
|
||||
await DBQuerys().updateVISITAS_DOMICILIARES();
|
||||
await DBQuerys().deleteVISITAS_DOMICILIARES_COMPL();
|
||||
await DBQuerys().deleteVISITAS_DOMICILIARES_PROC();
|
||||
return json.decode(response.body);
|
||||
}else{
|
||||
return 'error';
|
||||
|
||||
@@ -515,4 +515,21 @@ class DBQuerys{
|
||||
String query = 'DELETE FROM ATENDS_DOM_PROC WHERE ID_ATENDIMENTO_DOMICILIAR <> 0;';
|
||||
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{
|
||||
Database db = await DbSqliteLoad().intialDB();
|
||||
int id = await db.insert('ATENDIMENTOS_DOMICILIARES', value);
|
||||
print(await db.query('ATENDIMENTOS_DOMICILIARES'));
|
||||
// print(await db.query('ATENDIMENTOS_DOMICILIARES'));
|
||||
return id;
|
||||
}
|
||||
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'));
|
||||
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{
|
||||
Database db = await DbSqliteLoad().intialDB();
|
||||
// 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'));
|
||||
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{
|
||||
Database db = await DbSqliteLoad().intialDB();
|
||||
//refatorar cidade_load e nome_cidade
|
||||
|
||||
Reference in New Issue
Block a user