import 'package:flutter/material.dart'; import 'package:rkm/service/db/db_querys.dart'; import 'package:rkm/widgets/button_default.dart'; import '../../config/color_palette.dart'; import '../../service/api/api_data_post.dart'; import '../../service/db/db_sqlite_load.dart'; import '../../widgets/text_default.dart'; class SincDataScreen extends StatefulWidget { const SincDataScreen({Key? key}) : super(key: key); @override State createState() => _SincDataScreenState(); } class _SincDataScreenState extends State { 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 = []; String message = 'A Sincronização poderá demorar. Prosseguir?'; bool upload = false; bool done = false; updateTable()async{ setState(() { upload = true; message = 'Aguarde enquanto os dados são Sincronizados.'; }); await DBQuerys().cadCidadaos().then((response)async{ tableCIDADAOS = response; // print(tableCIDADAOS); await DBQuerys().cadDomiciliares().then((response)async{ tableCIDADAO_DOMICILIO = response; // print(tableCIDADAO_DOMICILIO); await DBQuerys().domCidadaos().then((response)async{ tableDOMICILIOS_CIDADAOS = response; // print(tableDOMICILIOS_CIDADAOS); await DBQuerys().logrDomicilios().then((response)async{ tableINNERJOINCIDADAO_DOMICILIO = response; // print(tableINNERJOINCIDADAO_DOMICILIO); await DBQuerys().cadIndividuais().then((response)async{ tableCADASTROS_INDIVIDUAIS = response; // print(tableCADASTROS_INDIVIDUAIS); await DBQuerys().atendsIndivCompl().then((response)async{ tableATENDS_INDIV_COMPL = response; // print(tableATENDS_INDIV_COMPL); await DBQuerys().atendsIndivExames().then((response)async{ tableATENDS_INDIV_EXAMES =response; // print(tableATENDS_INDIV_EXAMES); await DBQuerys().atendsIndivProc().then((response)async{ tableATENDS_INDIV_PROC = response; // print(tableATENDS_INDIV_PROC); await DBQuerys().atendsIndivProf().then((response)async{ tableATENDS_INDIV_PROF = response; // print(tableATENDS_INDIV_PROF); await DBQuerys().atendsIndividuais().then((response)async{ tableATENDS_INDIVIDUAIS = response; // print(tableATENDS_INDIVIDUAIS); await DBQuerys().procedimentosFichas().then((response)async{ tablePROCEDIMENTOS_FICHAS = response; // print(tablePROCEDIMENTOS_FICHAS); await DBQuerys().procedimentosIndiv().then((response)async{ tablePROCEDIMENTOS_INDIV = response; // print(tablePROCEDIMENTOS_INDIV); await DBQuerys().procedimentosIndivFicha().then((response)async{ tablePROCEDIMENTOS_INDIV_FICHA = response; // print(tablePROCEDIMENTOS_INDIV_FICHA); await DBQuerys().procedimentosIndivSigtap().then((response)async{ tablePROCEDIMENTOS_INDIV_SIGTAP = response; // print(tablePROCEDIMENTOS_INDIV_SIGTAP); await DBQuerys().visitasDomiciliares().then((response)async{ tableVISITAS_DOMICILIARES = response; // print(tableVISITAS_DOMICILIARES); await DBQuerys().visitasDomiciliaresCompl().then((response)async{ tableVISITAS_DOMICILIARES_COMPL = response; // print(tableVISITAS_DOMICILIARES_COMPL); await DBQuerys().visitasDomiciliaresProc().then((response)async{ tableVISITAS_DOMICILIARES_PROC = response; // print(tableVISITAS_DOMICILIARES_PROC); await DBQuerys().fichasComplementares().then((response)async{ tableFICHAS_COMPLEMENTARES = response; // print(tableFICHAS_COMPLEMENTARES); await DBQuerys().atendimentosDomiciliares().then((response)async{ tableATENDIMENTOS_DOMICILIARES = response; // print(tableATENDIMENTOS_DOMICILIARES); await DBQuerys().atendDomCompl().then((response)async{ tableATENDS_DOM_COMPL = response; // print(tableATENDS_DOM_COMPL); await DBQuerys().atendDomProcsFicha().then((response)async{ tableATENDS_DOM_PROC = response; // print(tableATENDS_DOM_PROC); await DBQuerys().atendDomProcsSigtap().then((response)async{ tableATENDS_DOM_SIGTAP = response; // print(tableATENDS_DOM_SIGTAP); await DBQuerys().atendsOdontologicos().then((response)async{ tableATENDS_ODONTOLOGICOS = response; // print(tableATENDS_ODONTOLOGICOS); await DBQuerys().atendsOdontoProf().then((response)async{ tableATENDS_ODONTO_PROF = response; // print(tableATENDS_ODONTO_PROF); await DBQuerys().atendsOdontoProc().then((response)async{ tableATENDS_ODONTO_PROC = response; // print(tableATENDS_ODONTO_PROC); await DBQuerys().atendsOdontoSigtap().then((response)async{ tableATENDS_ODONTO_SIGTAP = response; // print(tableATENDS_ODONTO_SIGTAP); await DBQuerys().atendsOdontoCompl().then((response)async{ tableATENDS_ODONTO_COMPL = response; // print(tableATENDS_ODONTO_COMPL); await DBQuerys().marcadoresConQuest().then((response)async{ tableMARCADORES_CON_QUEST = response; // print(tableMARCADORES_CON_QUEST); await DBQuerys().marcadoresConsumo().then((response)async{ tableMARCADORES_CONSUMO = response; // print(tableMARCADORES_CONSUMO); await DBQuerys().avalElegCondAval().then((response)async{ tableAVAL_ELEG_COND_AVAL = response; // print(tableAVAL_ELEG_COND_AVAL); await DBQuerys().avalElegConclIne().then((response)async{ tableAVAL_ELEG_CONCL_INE = response; // print(tableAVAL_ELEG_CONCL_INE); await DBQuerys().avaliacoesElegibilidade().then((response)async{ tableAVALIACOES_ELEGIBILIDADE = response; // print(tableAVALIACOES_ELEGIBILIDADE); // print('aqui2'); syncData(); }); }); }); }); }); }); }); }); }); }); }); }); }); }); }); }); }); }); }); }); }); }); }); }); }); }); }); }); }); }); }); }); } syncData()async{ // ApiDataPost().sincronizacao(urlAPI, mode, nameCityApi).then((value){}); setState(() { upload = false; done = true; message = ''; }); } dataSQLite()async{ 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']; }); // print(urlAPI); // print(mode); // print(nameCityApi); } @override void initState() { super.initState(); dataSQLite(); } @override Widget build(BuildContext context) { double width = MediaQuery.of(context).size.width; double height = MediaQuery.of(context).size.height; return Scaffold( bottomSheet: Container( color: ColorPalette.appBar, child: Row( children: [ Spacer(), ButtonDefault( title: 'Voltar', width: width*0.2, textColor: ColorPalette.white, background: ColorPalette.appBar, borderColor: ColorPalette.appBar, onPressed: ()=>Navigator.pushNamedAndRemoveUntil(context, '/home', (Route route) => false), ) ], ), ), body: Container( padding: EdgeInsets.only(top: 100), decoration: BoxDecoration( color: ColorPalette.grayBackground, image: DecorationImage( fit: BoxFit.fitHeight, image: AssetImage('assets/images/load_image.png'), ) ), width: double.infinity, height: double.infinity, child: Column( children: [ 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( padding: const EdgeInsets.symmetric(vertical: 5.0), child: TextDefault( text: message, color: ColorPalette.black54, fontSize: 22, 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(), !upload && !done?ButtonDefault( title: 'Enviar informações', width: width*0.9, textColor: ColorPalette.white, background: ColorPalette.appBar, borderColor: ColorPalette.appBar, onPressed: ()=>updateTable(), ):Container(), SizedBox(height: 20,), done?Container( color: ColorPalette.white, width: width, height: height*0.3, child: ListView( children: [ TextDefault( text: 'Atendimentos Domiciliares: ${tableATENDIMENTOS_DOMICILIARES.length}', textAlign: TextAlign.center, fontWeigth: FontWeight.bold, color: ColorPalette.black54, fontSize: 18, ), TextDefault( text: 'Atendimento Individuais: ${tableATENDS_INDIVIDUAIS.length}', textAlign: TextAlign.center, fontWeigth: FontWeight.bold, color: ColorPalette.black54, fontSize: 18, ), TextDefault( textAlign: TextAlign.center, text: 'Atendimentos Odontológicos: ${tableATENDS_ODONTOLOGICOS.length}', fontWeigth: FontWeight.bold, color: ColorPalette.black54, fontSize: 18, ), TextDefault( textAlign: TextAlign.center, text: 'Avaliação Elegibilidade: ${tableAVALIACOES_ELEGIBILIDADE.length}', fontWeigth: FontWeight.bold, color: ColorPalette.black54, fontSize: 18, ), TextDefault( textAlign: TextAlign.center, text: 'Cadastros Cidadãos Realizados / Atualizados : ${tableCIDADAOS.length}', fontWeigth: FontWeight.bold, color: ColorPalette.black54, fontSize: 18, ), TextDefault( textAlign: TextAlign.center, text: 'Fichas Complementares: ${tableFICHAS_COMPLEMENTARES.length}', fontWeigth: FontWeight.bold, color: ColorPalette.black54, fontSize: 18, ), TextDefault( textAlign: TextAlign.center, text: 'Marcadores de Consumo : ${tableMARCADORES_CONSUMO.length}', fontWeigth: FontWeight.bold, color: ColorPalette.black54, fontSize: 18, ), TextDefault( textAlign: TextAlign.center, //aqui verificar de qual tela seria esses dados text: 'Procedimentos Consolidados: 0', fontWeigth: FontWeight.bold, color: ColorPalette.black54, fontSize: 18, ), TextDefault( textAlign: TextAlign.center, text: 'Procedimentos Individuais : ${tablePROCEDIMENTOS_INDIV.length}', fontWeigth: FontWeight.bold, color: ColorPalette.black54, fontSize: 18, ), TextDefault( textAlign: TextAlign.center, text: 'Visitas Domiciliares: ${tableVISITAS_DOMICILIARES.length}', fontWeigth: FontWeight.bold, color: ColorPalette.black54, fontSize: 18, ), ], ) ):Container(), SizedBox(height: 30,), done?Padding( padding: const EdgeInsets.symmetric(horizontal: 30.0), child: ButtonDefault( title: 'Continuar (Mantendo os Dados)', width: width*0.9, textColor: ColorPalette.white, background: ColorPalette.appBar, borderColor: ColorPalette.appBar, onPressed: ()=>Navigator.pushNamedAndRemoveUntil(context, '/home', (Route route) => false), ), ):Container(), done?Padding( padding: const EdgeInsets.symmetric(horizontal: 30.0), child: ButtonDefault( title: 'Continuar (Limpando os Dados)', width: width*0.9, textColor: ColorPalette.white, background: ColorPalette.red, borderColor: ColorPalette.red, onPressed: (){}, ), ):Container(), ], ), ), ); } }