adicionado API e DB no import_sigtap_screen.dart
This commit is contained in:
BIN
assets/images/sigtap-done.png
Normal file
BIN
assets/images/sigtap-done.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 73 KiB |
@@ -1,7 +1,10 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:rkm/screens/home_screen.dart';
|
||||||
|
import 'package:rkm/service/db/db_sqlite_Sigtap.dart';
|
||||||
import '../../config/color_palette.dart';
|
import '../../config/color_palette.dart';
|
||||||
import '../../config/const_variable.dart';
|
import '../../service/api/api_data_import_sigtap.dart';
|
||||||
import '../../service/shared_preferences/shared_preferences_service.dart';
|
import '../../service/db/db_sqlite_load.dart';
|
||||||
|
import '../../widgets/button_default.dart';
|
||||||
import '../../widgets/text_default.dart';
|
import '../../widgets/text_default.dart';
|
||||||
|
|
||||||
class ImportSigtapScreen extends StatefulWidget {
|
class ImportSigtapScreen extends StatefulWidget {
|
||||||
@@ -14,18 +17,62 @@ class ImportSigtapScreen extends StatefulWidget {
|
|||||||
class _ImportSigtapScreenState extends State<ImportSigtapScreen> {
|
class _ImportSigtapScreenState extends State<ImportSigtapScreen> {
|
||||||
|
|
||||||
String mode ='';
|
String mode ='';
|
||||||
|
String urlAPI ='';
|
||||||
|
String nameCityApi ='';
|
||||||
|
String stage = 'Conectando ...';
|
||||||
|
bool finish = false;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
super.initState();
|
super.initState();
|
||||||
dataSQLite();
|
recupDB();
|
||||||
}
|
}
|
||||||
|
|
||||||
dataSQLite()async{
|
recupDB()async{
|
||||||
final PrefService _preferences = PrefService();
|
await DbSqliteLoad().intialDB().then((db)async{
|
||||||
_preferences.readCacheModel('user', 'password', 'city', 'mode').then((list){
|
List list = await db.query('ARGS');
|
||||||
|
urlAPI = list[0]['URLAPI'];
|
||||||
|
mode = list[0]['MODE'];
|
||||||
|
nameCityApi = list[0]['NAME_CITY_API'];
|
||||||
|
}).then((value){
|
||||||
|
setState(() {});
|
||||||
|
importSigtap();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
importSigtap()async{
|
||||||
|
await DbSqliteSigtap().deleteSigtap().then((value)async{
|
||||||
setState(() {
|
setState(() {
|
||||||
mode = list[3];
|
stage = "Etapa 1 de 4 - Importando informações do CONECTASUS";
|
||||||
|
});
|
||||||
|
await ApiDataImportSigtap().loadSIGTAP(urlAPI, mode, nameCityApi).then((valueAPI)async{
|
||||||
|
setState(() {
|
||||||
|
stage = "Etapa 2 de 4 - Gravando os Procedimentos no Aplicativo";
|
||||||
|
});
|
||||||
|
// print(value['procedimentos']);
|
||||||
|
await DbSqliteSigtap().saveProceduresSigtapDB(valueAPI['procedimentos']).then((value)async{
|
||||||
|
await DbSqliteSigtap().saveProceduresRegisterSigtapDB(valueAPI['procedimentosRegistros']).then((value)async{
|
||||||
|
setState(() {
|
||||||
|
stage = "Etapa 3 de 4 - Gravando os CIDs no Aplicativo";
|
||||||
|
});
|
||||||
|
await DbSqliteSigtap().saveSigtapCID(valueAPI['CID']).then((value)async{
|
||||||
|
await DbSqliteSigtap().saveProceduresSigtapCID(valueAPI['procedimentosCID']).then((value)async{
|
||||||
|
setState(() {
|
||||||
|
stage = "Etapa 4 de 4 - Gravando os CIDs no Aplicativo";
|
||||||
|
});
|
||||||
|
await DbSqliteSigtap().saveCBOSigtap(valueAPI['CBO']).then((value)async{
|
||||||
|
await DbSqliteSigtap().saveProceduresCBOSigtap(valueAPI['procedimentosCBO']).then((value)async{
|
||||||
|
await DbSqliteSigtap().saveSyncSigtap(valueAPI['competencia']).then((value)async{
|
||||||
|
setState(() {
|
||||||
|
finish = true;
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -40,10 +87,29 @@ class _ImportSigtapScreenState extends State<ImportSigtapScreen> {
|
|||||||
color: ColorPalette.appBar,
|
color: ColorPalette.appBar,
|
||||||
width: double.infinity,
|
width: double.infinity,
|
||||||
padding: EdgeInsets.all(15),
|
padding: EdgeInsets.all(15),
|
||||||
child: TextDefault(
|
child: finish
|
||||||
text: 'Etapa 1 de 4 - Teste',
|
?Row(
|
||||||
|
children: [
|
||||||
|
Spacer(),
|
||||||
|
ButtonDefault(
|
||||||
|
onPressed: (){
|
||||||
|
Navigator.pushReplacement(
|
||||||
|
context,
|
||||||
|
MaterialPageRoute(builder: (context) => HomeScreen()),
|
||||||
|
);
|
||||||
|
},
|
||||||
|
title: 'Continuar',
|
||||||
|
width: width*0.3,
|
||||||
|
height: height*0.05,
|
||||||
|
textColor: ColorPalette.white,
|
||||||
|
background: ColorPalette.appBar,
|
||||||
|
borderColor: ColorPalette.appBar,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
):TextDefault(
|
||||||
|
text: stage,
|
||||||
color: ColorPalette.white,
|
color: ColorPalette.white,
|
||||||
fontSize: 20,
|
fontSize: 15,
|
||||||
fontWeigth: FontWeight.bold,
|
fontWeigth: FontWeight.bold,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
@@ -58,7 +124,12 @@ class _ImportSigtapScreenState extends State<ImportSigtapScreen> {
|
|||||||
),
|
),
|
||||||
width: double.infinity,
|
width: double.infinity,
|
||||||
height: double.infinity,
|
height: double.infinity,
|
||||||
child: Column(
|
child: finish?ListView(
|
||||||
|
children: [
|
||||||
|
Image.asset('assets/images/logo.PNG',width: width*0.25,height: height*0.1,),
|
||||||
|
Image.asset('assets/images/sigtap-done.png',width: width*0.9,height: height*0.2,),
|
||||||
|
],
|
||||||
|
):Column(
|
||||||
children: [
|
children: [
|
||||||
Image.asset('assets/images/logo.PNG',width: width*0.5,),
|
Image.asset('assets/images/logo.PNG',width: width*0.5,),
|
||||||
mode == 'homologacao'?Image.asset('assets/images/homologacao.png',width: width*0.4):Container(),
|
mode == 'homologacao'?Image.asset('assets/images/homologacao.png',width: width*0.4):Container(),
|
||||||
|
|||||||
45
lib/screens/configurations/sigtap_json
Normal file
45
lib/screens/configurations/sigtap_json
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
{
|
||||||
|
"competencia":"202303",
|
||||||
|
"procedimentos":[
|
||||||
|
{
|
||||||
|
"codProcedimento":"0101010010",
|
||||||
|
"nome":"ATIVIDADE EDUCATIVA \/ ORIENTA\u00c7\u00c3O EM GRUPO NA ATEN\u00c7\u00c3O PRIM\u00c1RIA",
|
||||||
|
"codGrupo":"01",
|
||||||
|
"qtdeMax":9999,
|
||||||
|
"idadeMin":833,
|
||||||
|
"idadeMax":833,
|
||||||
|
"sexo":"N"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"procedimentosRegistros":[
|
||||||
|
{
|
||||||
|
"codProcedimento":"0101010010",
|
||||||
|
"codRegistro":"01"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"CID":[
|
||||||
|
{
|
||||||
|
"codCID":"A000",
|
||||||
|
"descCID":"A00.0 Colera dev Vibrio cholerae 01 biot cholerae",
|
||||||
|
"restSexo":"5"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"procedimentosCID":[
|
||||||
|
{
|
||||||
|
"codProcedimento":"0201010046",
|
||||||
|
"codCID":"C211"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"CBO":[
|
||||||
|
{
|
||||||
|
"codCBO":"223208",
|
||||||
|
"descCBO":"Cirurgi\u00e3o dentista - cl\u00ednico geral"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"procedimentosCBO":[
|
||||||
|
{
|
||||||
|
"codProcedimento":"0101010010",
|
||||||
|
"codCBO":"223208"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -181,6 +181,7 @@ class _LoadInitScreenState extends State<LoadInitScreen> {
|
|||||||
:Padding(
|
:Padding(
|
||||||
padding: const EdgeInsets.all(10.0),
|
padding: const EdgeInsets.all(10.0),
|
||||||
child: TextDefault(
|
child: TextDefault(
|
||||||
|
fontSize: 15,
|
||||||
text: messageSteps,
|
text: messageSteps,
|
||||||
color: ColorPalette.white,
|
color: ColorPalette.white,
|
||||||
maxLines: 2,
|
maxLines: 2,
|
||||||
|
|||||||
@@ -27,8 +27,8 @@ class _LoginLoadScreenState extends State<LoginLoadScreen> {
|
|||||||
String? selectCity;
|
String? selectCity;
|
||||||
bool validatorDropDown= false;
|
bool validatorDropDown= false;
|
||||||
int contLogo = 0;
|
int contLogo = 0;
|
||||||
String mode = 'homologacao';
|
String mode = 'desenvolvimento';
|
||||||
String urlAPI = UrlApiConst.ApiUrlHomologacao;
|
String urlAPI = UrlApiConst.ApiUrlDesenvolvimento;
|
||||||
bool loading = false;
|
bool loading = false;
|
||||||
String nameCityApi = '';
|
String nameCityApi = '';
|
||||||
String nameCityFront = '';
|
String nameCityFront = '';
|
||||||
|
|||||||
@@ -202,6 +202,7 @@ class _SyncInitScreenState extends State<SyncInitScreen> {
|
|||||||
:Padding(
|
:Padding(
|
||||||
padding: const EdgeInsets.all(10.0),
|
padding: const EdgeInsets.all(10.0),
|
||||||
child: TextDefault(
|
child: TextDefault(
|
||||||
|
fontSize: 15,
|
||||||
text: messageSteps,
|
text: messageSteps,
|
||||||
color: ColorPalette.white,
|
color: ColorPalette.white,
|
||||||
maxLines: 2,
|
maxLines: 2,
|
||||||
|
|||||||
13
lib/service/api/api_data_import_sigtap.dart
Normal file
13
lib/service/api/api_data_import_sigtap.dart
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
import 'dart:convert';
|
||||||
|
import 'package:http/http.dart' as http;
|
||||||
|
|
||||||
|
class ApiDataImportSigtap{
|
||||||
|
Future loadSIGTAP(urlAPI,mode,nameCityApi)async{
|
||||||
|
//http://192.168.0.42:8010/api/atb/desenvolvimento/corumbatai/ADMIN/sigtap
|
||||||
|
final url = '${urlAPI}${mode}/${nameCityApi}/ADMIN/sigtap';
|
||||||
|
final response = await http.get(Uri.parse(url));
|
||||||
|
final map = json.decode(response.body);
|
||||||
|
// print(map);
|
||||||
|
return map;
|
||||||
|
}
|
||||||
|
}
|
||||||
129
lib/service/db/db_sqlite_Sigtap.dart
Normal file
129
lib/service/db/db_sqlite_Sigtap.dart
Normal file
@@ -0,0 +1,129 @@
|
|||||||
|
import 'package:rkm/service/db/db_sqlite_load.dart';
|
||||||
|
import 'package:sqflite/sqflite.dart';
|
||||||
|
|
||||||
|
class DbSqliteSigtap{
|
||||||
|
Future deleteSigtap()async{
|
||||||
|
var querys = [
|
||||||
|
"DELETE FROM PROCEDIMENTOS_SIGTAP;",
|
||||||
|
"DELETE FROM PROCEDIMENTOS_SIGTAP_REGISTRO;",
|
||||||
|
"DELETE FROM CIDS;",
|
||||||
|
"DELETE FROM PROCEDIMENTOS_SIGTAP_CID;",
|
||||||
|
"DELETE FROM CBOS;",
|
||||||
|
"DELETE FROM PROCEDIMENTOS_SIGTAP_CBO;"
|
||||||
|
];
|
||||||
|
Database db = await DbSqliteLoad().intialDB();
|
||||||
|
for(int i=0;querys.length>i;i++){
|
||||||
|
db.execute(querys[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Future saveProceduresSigtapDB(var value)async{
|
||||||
|
Database db = await DbSqliteLoad().intialDB();
|
||||||
|
|
||||||
|
// {"codProcedimento":"0701020580","nome":"MANUTEN\u00c7\u00c3O DE OPM ORTOP\u00c9DICA","codGrupo":"07","qtdeMax":2,"idadeMin":833,"idadeMax":833,"sexo":"N"}
|
||||||
|
for(int i=0;value.length > i;i++){
|
||||||
|
Map<String, dynamic> row = {
|
||||||
|
'COD_PROC_SIGTAP' : value[i]['codProcedimento'],
|
||||||
|
'DESC_PROC_SIGTAP' : value[i]['nome'],
|
||||||
|
'GRUPO_PROC_SIGTAP' : value[i]['codGrupo'],
|
||||||
|
'QTDE_MAXIMA' : value[i]['qtdeMax'],
|
||||||
|
'IDADE_MIN' : value[i]['idadeMin'],
|
||||||
|
'IDADE_MAX' : value[i]['idadeMax'],
|
||||||
|
'SEXO' : value[i]['sexo'],
|
||||||
|
};
|
||||||
|
int id = await db.insert('PROCEDIMENTOS_SIGTAP', row);
|
||||||
|
}
|
||||||
|
// print('id increment $id');
|
||||||
|
// print(await db.query('PROCEDIMENTOS_SIGTAP'));
|
||||||
|
return db;
|
||||||
|
}
|
||||||
|
Future saveProceduresRegisterSigtapDB(var value)async{
|
||||||
|
Database db = await DbSqliteLoad().intialDB();
|
||||||
|
|
||||||
|
// {"codProcedimento":"0701020580","nome":"MANUTEN\u00c7\u00c3O DE OPM ORTOP\u00c9DICA","codGrupo":"07","qtdeMax":2,"idadeMin":833,"idadeMax":833,"sexo":"N"}
|
||||||
|
for(int i=0;value.length > i;i++){
|
||||||
|
Map<String, dynamic> row = {
|
||||||
|
'COD_PROC_SIGTAP' : value[i]['codProcedimento'],
|
||||||
|
'CODIGO_REGISTRO' : value[i]['codRegistro'],
|
||||||
|
};
|
||||||
|
int id = await db.insert('PROCEDIMENTOS_SIGTAP_REGISTRO', row);
|
||||||
|
// print('id increment $id');
|
||||||
|
}
|
||||||
|
|
||||||
|
// print(await db.query('PROCEDIMENTOS_SIGTAP_REGISTRO'));
|
||||||
|
return db;
|
||||||
|
}
|
||||||
|
Future saveSigtapCID(var value)async{
|
||||||
|
Database db = await DbSqliteLoad().intialDB();
|
||||||
|
// "INSERT OR REPLACE INTO CIDS (CODIGO_CID, DESCRICAO_CID, RESTRICAO_SEXO) VALUES (?,?,?)"
|
||||||
|
// {"codCID":"A000","descCID":"A00.0 Colera dev Vibrio cholerae 01 biot cholerae","restSexo":"5"},
|
||||||
|
for(int i=0;value.length > i;i++){
|
||||||
|
Map<String, dynamic> row = {
|
||||||
|
'CODIGO_CID' : value[i]['codCID'],
|
||||||
|
'DESCRICAO_CID' : value[i]['descCID'],
|
||||||
|
'RESTRICAO_SEXO' : value[i]['restSexo'],
|
||||||
|
};
|
||||||
|
int id = await db.insert('CIDS', row);
|
||||||
|
// print('id increment $id CIDS');
|
||||||
|
}
|
||||||
|
// print(await db.query('CIDS'));
|
||||||
|
return db;
|
||||||
|
}
|
||||||
|
Future saveProceduresSigtapCID(var value)async{
|
||||||
|
Database db = await DbSqliteLoad().intialDB();
|
||||||
|
// "INSERT OR REPLACE INTO PROCEDIMENTOS_SIGTAP_CID (COD_PROC_SIGTAP, CODIGO_CID) VALUES (?,?)"
|
||||||
|
// {"codProcedimento":"0201010046","codCID":"C211"}
|
||||||
|
for(int i=0;value.length > i;i++){
|
||||||
|
Map<String, dynamic> row = {
|
||||||
|
'COD_PROC_SIGTAP' : value[i]['codProcedimento'],
|
||||||
|
'CODIGO_CID' : value[i]['codCID'],
|
||||||
|
};
|
||||||
|
int id = await db.insert('PROCEDIMENTOS_SIGTAP_CID', row);
|
||||||
|
// print('id increment $id PROCEDIMENTOS_SIGTAP_CID');
|
||||||
|
}
|
||||||
|
// print(await db.query('PROCEDIMENTOS_SIGTAP_CID'));
|
||||||
|
return db;
|
||||||
|
}
|
||||||
|
Future saveCBOSigtap(var value)async{
|
||||||
|
Database db = await DbSqliteLoad().intialDB();
|
||||||
|
// "INSERT OR REPLACE INTO CBOS (CODIGO_CBO, DESCRICAO_CBO) VALUES (?,?)"
|
||||||
|
// "codCBO":"223208","descCBO":"Cirurgi\u00e3o dentista - cl\u00ednico geral"
|
||||||
|
for(int i=0;value.length > i;i++){
|
||||||
|
Map<String, dynamic> row = {
|
||||||
|
'CODIGO_CBO' : value[i]['codCBO'],
|
||||||
|
'DESCRICAO_CBO' : value[i]['descCBO'],
|
||||||
|
};
|
||||||
|
int id = await db.insert('CBOS', row);
|
||||||
|
// print('id increment $id CBOS');
|
||||||
|
}
|
||||||
|
// print(await db.query('CBOS'));
|
||||||
|
return db;
|
||||||
|
}
|
||||||
|
Future saveProceduresCBOSigtap(var value)async{
|
||||||
|
Database db = await DbSqliteLoad().intialDB();
|
||||||
|
// "INSERT OR REPLACE INTO PROCEDIMENTOS_SIGTAP_CBO (COD_PROC_SIGTAP, CODIGO_CBO) VALUES (?,?)";
|
||||||
|
// "codProcedimento":"0101010010","codCBO":"223208"
|
||||||
|
for(int i=0;value.length > i;i++){
|
||||||
|
Map<String, dynamic> row = {
|
||||||
|
'COD_PROC_SIGTAP' : value[i]['codProcedimento'],
|
||||||
|
'CODIGO_CBO' : value[i]['codCBO'],
|
||||||
|
};
|
||||||
|
int id = await db.insert('PROCEDIMENTOS_SIGTAP_CBO', row);
|
||||||
|
// print('id increment $id PROCEDIMENTOS_SIGTAP_CBO');
|
||||||
|
}
|
||||||
|
// print(await db.query('PROCEDIMENTOS_SIGTAP_CBO'));
|
||||||
|
return db;
|
||||||
|
}
|
||||||
|
Future saveSyncSigtap(competencia)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 = {
|
||||||
|
'COMPETENCIA' : competencia,
|
||||||
|
};
|
||||||
|
await db.update('CONTROLE_INTERNO', row,where: "CARGA_INICIAL = 1");
|
||||||
|
print(await db.query('CONTROLE_INTERNO'));
|
||||||
|
return db;
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user