ciada a tela sync_init_screen.dart com a api_data_sync.dart, shared_preferences_service.dart e db_sqlite_sync.dart

This commit is contained in:
Reginaldo
2023-04-05 23:11:19 -03:00
parent 17f0fa7bcb
commit 8487b3dbba
16 changed files with 1139 additions and 205 deletions

View File

@@ -1,12 +1,13 @@
import 'package:flutter/material.dart';
import 'package:rkm/screens/sync_unit_screen.dart';
import 'package:rkm/screens/login/sync_login_screen.dart';
import 'package:rkm/utils/color_palette.dart';
import 'package:rkm/widgets/alert_dialog_default.dart';
import 'package:rkm/widgets/button_default.dart';
import 'package:rkm/widgets/text_default.dart';
import '../models/args_load_init_model.dart';
import '../service/api/api_data.dart';
import '../service/db/db_sqlite.dart';
import '../service/api/api_data_load.dart';
import '../service/db/db_sqlite_load.dart';
import '../service/shared_preferences/shared_preferences_service.dart';
class LoadInitScreen extends StatefulWidget {
ArgsLoadInitModel args;
@@ -21,8 +22,10 @@ class LoadInitScreen extends StatefulWidget {
class _LoadInitScreenState extends State<LoadInitScreen> {
final PrefService _prefService = PrefService();
String messageSteps = 'Aguarde ...';
bool finish = false;
String idUsuario = '';
@override
void initState() {
@@ -31,77 +34,81 @@ class _LoadInitScreenState extends State<LoadInitScreen> {
}
initLoading()async{
await DbSqlite().deleteDB().then((_)async{
await ApiData().loadPerm(widget.args).then((response)async{
await DbSqliteLoad().deleteLoad().then((_)async{
await ApiDataLoad().loadPerm(widget.args).then((response)async{
if(response['status'] == 0){
AlertDialogDefault().alert(context, 'Error', 'Permissão negada', 'Voltar');
AlertDialogDefault().alert(context, 'Erro', 'Permissão negada', 'Voltar');
} else if(response['status'] == 1 && response['load_perm'] == "S") {
await ApiData().loadUnidades(widget.args).then((value)async{
if(value.length !=0){
setState(() {
messageSteps = "Etapa 1 de 7 - Gravando as Unidades no Aplicativo";
});
await DbSqlite().saveUnidadesDB(value).then((value)async{
await ApiData().loadProcedimentos(widget.args).then((value)async{
setState(() {
messageSteps = "Etapa 2 de 7 - Gravando os Procedimentos no Aplicativo";
});
await DbSqlite().saveProceduresDB(value).then((value)async{
print('finalizou save Procedures');
await ApiData().loadProcedimentosRegistros(widget.args).then((value)async{
await DbSqlite().saveProceduresRegisterDB(value).then((value)async{
print('finalizou saveProceduresRegisterDB');
await ApiData().loadCID(widget.args).then((value)async{
print('loadCID');
setState(() {
messageSteps = "Etapa 3 de 7 - Gravando os CIDs no Aplicativo";
});
await DbSqlite().saveCID(value).then((value)async{
print('finalizou saveCID');
await ApiData().loadProcedimentosCID(widget.args).then((value)async{
print('loadProcedimentosCID');
await DbSqlite().saveProceduresCID(value).then((value)async{
print('finalizou saveProceduresCID');
await ApiData().loadCBO(widget.args).then((value)async{
print('loadCBO');
setState(() {
messageSteps = "Etapa 4 de 7 - Gravando os CBOs no Aplicativo";
});
await DbSqlite().saveCBO(value).then((value)async{
print('finalizou saveCBO');
await ApiData().loadProcedimentosCBO(widget.args).then((value)async{
print('loadProcedimentosCBO');
await DbSqlite().saveProceduresCBO(value).then((value)async{
print('finalizou saveProceduresCBO');
await ApiData().loadCIAP(widget.args).then((value)async{
print('loadCIAP');
setState(() {
messageSteps = "Etapa 5 de 7 - Gravando os CIAPs no Aplicativo";
});
await DbSqlite().saveCIAP(value).then((value)async{
print('finalizou saveCIAP');
await ApiData().loadMunicipios(widget.args).then((value)async{
print('loadMunicipios');
setState(() {
messageSteps = "Etapa 6 de 7 - Gravando os Municípios no Aplicativo";
});
await DbSqlite().saveCity(value).then((value)async{
print('finalizou saveCity');
await ApiData().loadEquipes(widget.args).then((value)async{
print('loadEquipes');
setState(() {
messageSteps = "Etapa 7 de 7 - Gravando as Equipes no Aplicativo";
});
await DbSqlite().saveTeam(value).then((value)async{
print('finalizou saveTeam');
await ApiData().loadEquipeComponentes(widget.args).then((value)async{
print('loadEquipeComponentes');
await DbSqlite().saveTeamComponents(value).then((value)async{
print('finalizou saveTeamComponents');
setState(() {
finish = true;
idUsuario = response['idUsuario'].toString();
print('idUsuario $idUsuario');
_prefService.createCacheidUsuario(idUsuario).then((value)async{
await ApiDataLoad().loadUnidades(widget.args).then((value)async{
if(value.length !=0){
setState(() {
messageSteps = "Etapa 1 de 7 - Gravando as Unidades no Aplicativo";
});
await DbSqliteLoad().saveUnidadesDB(value).then((value)async{
await ApiDataLoad().loadProcedimentos(widget.args).then((value)async{
setState(() {
messageSteps = "Etapa 2 de 7 - Gravando os Procedimentos no Aplicativo";
});
await DbSqliteLoad().saveProceduresDB(value).then((value)async{
print('finalizou save Procedures');
await ApiDataLoad().loadProcedimentosRegistros(widget.args).then((value)async{
await DbSqliteLoad().saveProceduresRegisterDB(value).then((value)async{
print('finalizou saveProceduresRegisterDB');
await ApiDataLoad().loadCID(widget.args).then((value)async{
print('loadCID');
setState(() {
messageSteps = "Etapa 3 de 7 - Gravando os CIDs no Aplicativo";
});
await DbSqliteLoad().saveCID(value).then((value)async{
print('finalizou saveCID');
await ApiDataLoad().loadProcedimentosCID(widget.args).then((value)async{
print('loadProcedimentosCID');
await DbSqliteLoad().saveProceduresCID(value).then((value)async{
print('finalizou saveProceduresCID');
await ApiDataLoad().loadCBO(widget.args).then((value)async{
print('loadCBO');
setState(() {
messageSteps = "Etapa 4 de 7 - Gravando os CBOs no Aplicativo";
});
await DbSqliteLoad().saveCBO(value).then((value)async{
print('finalizou saveCBO');
await ApiDataLoad().loadProcedimentosCBO(widget.args).then((value)async{
print('loadProcedimentosCBO');
await DbSqliteLoad().saveProceduresCBO(value).then((value)async{
print('finalizou saveProceduresCBO');
await ApiDataLoad().loadCIAP(widget.args).then((value)async{
print('loadCIAP');
setState(() {
messageSteps = "Etapa 5 de 7 - Gravando os CIAPs no Aplicativo";
});
await DbSqliteLoad().saveCIAP(value).then((value)async{
print('finalizou saveCIAP');
await ApiDataLoad().loadMunicipios(widget.args).then((value)async{
print('loadMunicipios');
setState(() {
messageSteps = "Etapa 6 de 7 - Gravando os Municípios no Aplicativo";
});
await DbSqliteLoad().saveCity(value).then((value)async{
print('finalizou saveCity');
await ApiDataLoad().loadEquipes(widget.args).then((value)async{
print('loadEquipes');
setState(() {
messageSteps = "Etapa 7 de 7 - Gravando as Equipes no Aplicativo";
});
await DbSqliteLoad().saveTeam(value).then((value)async{
print('finalizou saveTeam');
await ApiDataLoad().loadEquipeComponentes(widget.args).then((value)async{
print('loadEquipeComponentes');
await DbSqliteLoad().saveTeamComponents(value).then((value)async{
print('finalizou saveTeamComponents');
setState(() {
finish = true;
});
// Navigator.pushReplacementNamed(context, '/home');
});
// Navigator.pushReplacementNamed(context, '/home');
});
});
});
@@ -122,10 +129,10 @@ class _LoadInitScreenState extends State<LoadInitScreen> {
});
});
});
});
}else{
AlertDialogDefault().alert(context, 'Error', 'Unidades não carregada, tente novamente!', 'Voltar');
}
}else{
AlertDialogDefault().alert(context, 'Error', 'Unidades não carregada, tente novamente!', 'Voltar');
}
});
});
}
});
@@ -151,7 +158,7 @@ class _LoadInitScreenState extends State<LoadInitScreen> {
onPressed: (){
Navigator.pushReplacement(
context,
MaterialPageRoute(builder: (context) => SyncUnitScreen(args: widget.args)),
MaterialPageRoute(builder: (context) => SyncLoginScreen(args: widget.args)),
);
},
title: 'Continuar',

View File

@@ -7,10 +7,11 @@ import 'package:rkm/widgets/button_default.dart';
import 'package:rkm/widgets/dropdown_button_city.dart';
import 'package:rkm/widgets/input_text.dart';
import 'package:rkm/widgets/text_default.dart';
import '../models/city_load_model.dart';
import '../service/api/api_data.dart';
import '../service/api/encrypt_password.dart';
import 'load_init_screen.dart';
import '../../models/city_load_model.dart';
import '../../service/api/api_data_load.dart';
import '../../service/api/encrypt_password.dart';
import '../../service/shared_preferences/shared_preferences_service.dart';
import '../load_init_screen.dart';
class LoginLoadScreen extends StatefulWidget {
const LoginLoadScreen({Key? key}) : super(key: key);
@@ -30,12 +31,13 @@ class _LoginLoadScreenState extends State<LoginLoadScreen> {
String mode = 'desenvolvimento';
String urlAPI = UrlApiConst.ApiUrlDesenvolvimento;
bool loading = false;
final PrefService _prefService = PrefService();
checkLogin()async{
CityLoadModel? model;
ArgsLoadInitModel? args;
if(inputUser.text.isNotEmpty && inputPassword.text.isNotEmpty && inputUser.text.length>3 && inputPassword.text.length>3){
if(selectCity!=null){
_prefService.createCacheModel(inputUser.text,inputPassword.text,selectCity!,mode);
setState(() {
error = '';
loading = true;
@@ -55,7 +57,7 @@ class _LoginLoadScreenState extends State<LoginLoadScreen> {
);
}
if(args!=null){
await ApiData().apiConect(args!).then((response) async {
await ApiDataLoad().apiConect(args!).then((response) async {
if(inputUser.text == inputPassword.text || response['bloqueio']==1){
setState(() {
error = 'Usuário bloqueado/senha incorreta';

View File

@@ -3,7 +3,7 @@ import 'package:flutter/material.dart';
import 'package:intl/intl.dart';
import 'package:rkm/models/args_load_init_model.dart';
import 'package:rkm/service/api/url_api_const.dart';
import 'package:rkm/service/db/db_sqlite.dart';
import 'package:rkm/service/db/db_sqlite_load.dart';
import 'package:rkm/utils/color_palette.dart';
import 'package:rkm/utils/const_variable.dart';
import 'package:rkm/widgets/button_default.dart';
@@ -11,10 +11,10 @@ import 'package:rkm/widgets/dropdown_button_city.dart';
import 'package:rkm/widgets/input_text.dart';
import 'package:rkm/widgets/text_default.dart';
import 'package:sqflite/sqflite.dart';
import '../models/city_load_model.dart';
import '../service/api/api_data.dart';
import '../service/api/encrypt_password.dart';
import 'load_init_screen.dart';
import '../../models/city_load_model.dart';
import '../../service/api/api_data_load.dart';
import '../../service/api/encrypt_password.dart';
import '../load_init_screen.dart';
class LoginSavedScreen extends StatefulWidget {
List listControl;
@@ -63,7 +63,7 @@ class _LoginSavedScreenState extends State<LoginSavedScreen> {
);
}
if(args!=null){
await ApiData().apiConect(args!).then((response) async {
await ApiDataLoad().apiConect(args!).then((response) async {
if(inputUser.text == inputPassword.text || response['bloqueio']==1){
setState(() {
error = 'Usuário bloqueado/senha incorreta';

View File

@@ -1,6 +1,7 @@
import 'package:flutter/material.dart';
import 'package:intl/intl.dart';
import 'package:rkm/models/args_load_init_model.dart';
import 'package:rkm/screens/sync_init_screen.dart';
import 'package:rkm/service/api/url_api_const.dart';
import 'package:rkm/utils/color_palette.dart';
import 'package:rkm/utils/const_variable.dart';
@@ -10,23 +11,24 @@ import 'package:rkm/widgets/dropdown_button_default.dart';
import 'package:rkm/widgets/input_text.dart';
import 'package:rkm/widgets/text_default.dart';
import 'package:sqflite/sqflite.dart';
import '../models/city_load_model.dart';
import '../service/api/api_data.dart';
import '../service/api/encrypt_password.dart';
import '../service/db/db_sqlite.dart';
import 'load_init_screen.dart';
class SyncUnitScreen extends StatefulWidget {
import '../../models/city_load_model.dart';
import '../../service/api/api_data_load.dart';
import '../../service/api/encrypt_password.dart';
import '../../service/db/db_sqlite_load.dart';
import '../../service/shared_preferences/shared_preferences_service.dart';
import '../load_init_screen.dart';
class SyncLoginScreen extends StatefulWidget {
ArgsLoadInitModel args;
SyncUnitScreen({
SyncLoginScreen({
required this.args
});
@override
State<SyncUnitScreen> createState() => _SyncUnitScreenState();
State<SyncLoginScreen> createState() => _SyncLoginScreenState();
}
class _SyncUnitScreenState extends State<SyncUnitScreen> {
class _SyncLoginScreenState extends State<SyncLoginScreen> {
var inputUser = TextEditingController();
var inputPassword = TextEditingController();
@@ -35,63 +37,60 @@ class _SyncUnitScreenState extends State<SyncUnitScreen> {
String? selectUnit;
String? selectTeam;
bool validatorDropDown= false;
bool citizenOutArea = false;
int contLogo = 0;
String mode = 'desenvolvimento';
String urlAPI = UrlApiConst.ApiUrlDesenvolvimento;
bool loading = false;
List<String> listUnit=[];
List searchUnitCodList=[];
List listTeam = [];
List<String> listTeam = [];
String idUnidade ='';
String idUsuario ='';
final PrefService _prefService = PrefService();
checkLogin()async{
CityLoadModel? model;
ArgsLoadInitModel? args;
if(inputUser.text.isNotEmpty && inputPassword.text.isNotEmpty && inputUser.text.length>3 && inputPassword.text.length>3){
if(selectUnit!=null){
setState(() {
error = '';
loading = true;
});
await DbSqlite().saveCityInit(widget.args).then((value)async{
});
if(model!=null){
args = ArgsLoadInitModel(
mode: mode,
model:model!,
user: inputUser.text,
password: inputPassword.text,
urlAPI: urlAPI
);
}
if(args!=null){
await ApiData().apiConect(args!).then((response) async {
if(inputUser.text == inputPassword.text || response['bloqueio']==1){
await ApiDataLoad().apiConect(widget.args!).then((response) async {
if(inputUser.text == inputPassword.text || response['bloqueio']==1){
setState(() {
error = 'Usuário bloqueado/senha incorreta';
});
}else if(response['status']==0) {
setState(() {
error = 'Usuário não encontrado';
});
}else if(response['status']==1) {
setState((){
error = '';
});
if(EncryptPassword().encrypt(inputPassword.text,response['userPass']) == response['userPass']){
setState(() {
error = 'Usuário bloqueado/senha incorreta';
loading = false;
});
}else if(response['status']==0) {
setState(() {
error = 'Usuário não encontrado';
});
}else if(response['status']==1) {
setState((){
error = '';
});
//verificar se a criptografia identificou se a senha está correta
if(EncryptPassword().encrypt(inputPassword.text,response['userPass']) == response['userPass']){
// print(EncryptPassword().encrypt(inputPassword.text,response['userPass']));
setState(() {
loading = false;
});
ArgsLoadInitModel?args = ArgsLoadInitModel(
mode: mode,
model:widget.args.model,
user: inputUser.text,
password: inputPassword.text,
urlAPI: urlAPI
);
_prefService.createCacheSync(selectTeam!, citizenOutArea).then((value){
Navigator.push(
context,
MaterialPageRoute(builder: (context) => LoadInitScreen(args: args!)),
MaterialPageRoute(builder: (context) => SyncInitScreen(args: args)),
);
}
});
}
});
}
}
});
}else{
setState(() {
error = 'Selecione sua cidade';
@@ -113,10 +112,18 @@ class _SyncUnitScreenState extends State<SyncUnitScreen> {
inputPassword.text = widget.args.password;
});
getUnit();
getUser();
}
getUser(){
_prefService.readCacheIdUsuario('idUsuario').then((value){
if(value != null){
idUsuario = value;
}
});
}
getUnit()async{
Database db = await DbSqlite().intialDB();
Database db = await DbSqliteLoad().intialDB();
var query = "SELECT * FROM UNIDADES";
List list = await db.rawQuery(query);
// print("SELECT * FROM UNIDADES");
@@ -125,8 +132,6 @@ class _SyncUnitScreenState extends State<SyncUnitScreen> {
listUnit.add(list[i]['NOME_UNIDADE']);
searchUnitCodList.add(list[i]['ID_UNIDADE']);
}
print('searchListUnit');
print(searchUnitCodList);
setState(() {});
}
@@ -134,15 +139,19 @@ class _SyncUnitScreenState extends State<SyncUnitScreen> {
for(int i=0; listUnit.length > i;i++){
if(listUnit[i] == selectUnit){
idUnidade = searchUnitCodList[i].toString();
print(searchUnitCodList[i]);
_prefService.createCacheidUnidade(idUnidade);
}
}
if(idUnidade!=''){
Database db = await DbSqlite().intialDB();
var query = "SELECT * FROM EQUIPES WHERE ID_UNIDADE = $idUnidade";
List list = await db!.rawQuery(query);
print('getEquipes');
print(list);
Database db = await DbSqliteLoad().intialDB();
var query = "SELECT * FROM EQUIPES JOIN PROFISSIONAIS_EQUIPE ON PROFISSIONAIS_EQUIPE.ID_EQUIPE = EQUIPES.ID_EQUIPE WHERE ID_UNIDADE = $idUnidade AND ID_PROFISSIONAL = $idUsuario";
List list = await db.rawQuery(query);
listTeam.clear();
for(int i=0; list.length > i;i++){
listTeam.add('INE: ${list[i]['INE']} / Área: ${list[i]['AREA']} - Microárea : ${list[i]['MICROAREA']}');
}
// print('getEquipes');
// print(listTeam);
setState(() {});
}
}
@@ -168,25 +177,7 @@ class _SyncUnitScreenState extends State<SyncUnitScreen> {
mainAxisSize: MainAxisSize.min,
mainAxisAlignment: MainAxisAlignment.start,
children: [
GestureDetector(
onTap: loading?null:()=>setState((){
contLogo++;
if(contLogo>=5 && contLogo<=10){
mode = UrlApiConst.ModeHomologacao;
urlAPI = UrlApiConst.ApiUrlHomologacao;
}
if(contLogo>10){
mode = UrlApiConst.ModeDesenvolvimento;
urlAPI = UrlApiConst.ApiUrlDesenvolvimento;
if(contLogo==15){
contLogo=0;
mode = UrlApiConst.ModeOnline;
urlAPI = UrlApiConst.ApiUrlOnline;
}
}
}),
child: Image.asset('assets/images/logo.PNG',width: width*0.4)
),
Image.asset('assets/images/logo.PNG',width: width*0.4),
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(),
SizedBox(height: 10),
@@ -203,7 +194,7 @@ class _SyncUnitScreenState extends State<SyncUnitScreen> {
autovalidateMode: AutovalidateMode.onUserInteraction,
child: Container(
width: width*0.6,
height: height*0.3,
height: height*0.35,
child: ListView(
children: [
InputText(
@@ -231,18 +222,36 @@ class _SyncUnitScreenState extends State<SyncUnitScreen> {
list: listUnit,
select: selectUnit,
onChanged: (value){
// for(int i=0;listUnit.length > i;i++){
// if(listUnit[i] == selectUnit){
//
// }
// }
setState(() {
selectUnit = value!;
validatorDropDown = true;
selectTeam = null;
});
getTeam();
},
),
DropDownButtonDefault(
width: width*0.6,
title: 'Equipe',
list: listTeam,
select: selectTeam,
onChanged: (value){
setState(() {
selectTeam = value!;
});
},
),
Container(
margin: EdgeInsets.symmetric(vertical: 5),
color: ColorPalette.white,
width: width*0.6,
height: height*0.05,
child: SwitchListTile(
title: TextDefault(text: 'Sincronizar Cidadãos Fora de Área',fontSize: 15,color: Colors.black,),
onChanged:(v)=>setState(()=>citizenOutArea=v),
value: citizenOutArea,
),
),
],
),
),
@@ -253,6 +262,18 @@ class _SyncUnitScreenState extends State<SyncUnitScreen> {
width: width*0.6,
),
SizedBox(height: 10),
loading?Container():Container(
padding: EdgeInsets.symmetric(vertical: 5),
width: width*0.6,
child: TextDefault(
text: 'Cidade Sincronizada: ${widget.args.model.nameCityFront!=''?widget.args.model.nameCityFront:''}',
fontWeigth: FontWeight.bold,
fontSize: 18,
color: Colors.black,
textAlign: TextAlign.center,
maxLines: 2,
),
),
TextDefault(text: error,color: ColorPalette.red),
],
),

View File

@@ -2,10 +2,12 @@ import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:rkm/models/args_load_init_model.dart';
import 'package:rkm/models/city_load_model.dart';
import 'package:rkm/screens/sync_unit_screen.dart';
import 'package:rkm/screens/login/sync_login_screen.dart';
import 'package:rkm/service/api/url_api_const.dart';
import 'package:rkm/utils/const_variable.dart';
import '../service/db/db_sqlite.dart';
import 'login_saved_screen.dart';
import '../service/db/db_sqlite_load.dart';
import '../service/shared_preferences/shared_preferences_service.dart';
import 'login/login_saved_screen.dart';
class SplashScreen extends StatefulWidget {
const SplashScreen({Key? key}) : super(key: key);
@@ -19,28 +21,49 @@ class _SplashScreenState extends State<SplashScreen> {
@override
void initState() {
super.initState();
DbSqlite().intialDB();
DbSqliteLoad().intialDB();
timer();
}
timer()async{
await DbSqlite().intialDB().then((db)async{
List data = await db.query('MUNICIPIOS');
if(data.length != 0){
await DbSqliteLoad().intialDB().then((db)async{
List dataControl = await db.query('MUNICIPIOS');
List dataCitizen = await db.query('CIDADAOS');
if(dataControl.length != 0){
var query = "SELECT * FROM CONTROLE_INTERNO";
data = await db.rawQuery(query);
if(data.length != 0){
dataControl = await db.rawQuery(query);
print(dataCitizen);
if(dataCitizen.length != 0){
Navigator.push(
context,
MaterialPageRoute(builder: (context) => LoginSavedScreen(listControl: data)),
MaterialPageRoute(builder: (context) => LoginSavedScreen(listControl: dataControl)),
);
}else{
CityLoadModel model = CityLoadModel(codCity: 0, nameCityApi: '', nameCityFront: '', codState: '', codCityIbge: 0);
ArgsLoadInitModel args = ArgsLoadInitModel(mode: '', model: model, user: '', password: '', urlAPI: '');
Navigator.push(
context,
MaterialPageRoute(builder: (context) => SyncUnitScreen(args: args)),
);
CityLoadModel? model;
String? url;
final PrefService _prefService = PrefService();
_prefService.readCacheModel('user', 'password', 'city', 'mode').then((list){
print('list $list');
for(int i=0;ConstVariable().itensCity.length > i;i++){
if(ConstVariable().itensCity[i].nameCityFront == list[2]!){
model = ConstVariable().itensCity[i];
}
}
if(list[3]=='desenvolvimento'){
url = UrlApiConst.ApiUrlDesenvolvimento;
}else if(list[3]=='online'){
url = UrlApiConst.ApiUrlOnline;
}else if(list[3]=='homologacao'){
url = UrlApiConst.ApiUrlHomologacao;
}
if(url!=null && model!=null){
ArgsLoadInitModel args = ArgsLoadInitModel(mode: list[3], model: model!, user: list[0], password: list[1], urlAPI: url!);
Navigator.push(
context,
MaterialPageRoute(builder: (context) => SyncLoginScreen(args: args)),
);
}
});
}
}else{
Navigator.pushReplacementNamed(context, '/login_load');

View File

@@ -0,0 +1,231 @@
import 'package:flutter/material.dart';
import 'package:rkm/screens/login/sync_login_screen.dart';
import 'package:rkm/service/api/api_data_sync.dart';
import 'package:rkm/service/db/db_sqlite_sync.dart';
import 'package:rkm/utils/color_palette.dart';
import 'package:rkm/widgets/alert_dialog_default.dart';
import 'package:rkm/widgets/button_default.dart';
import 'package:rkm/widgets/text_default.dart';
import '../models/args_load_init_model.dart';
import '../service/api/api_data_load.dart';
import '../service/db/db_sqlite_load.dart';
import '../service/shared_preferences/shared_preferences_service.dart';
class SyncInitScreen extends StatefulWidget {
ArgsLoadInitModel args;
SyncInitScreen({
required this.args,
});
@override
State<SyncInitScreen> createState() => _SyncInitScreenState();
}
class _SyncInitScreenState extends State<SyncInitScreen> {
final PrefService _prefService = PrefService();
String messageSteps = 'Aguarde ...';
bool finish = false;
String idUsuario = '';
String idUnidade = '';
String area = '';
String microarea = '';
bool foraArea = false;
@override
void initState() {
super.initState();
dataUser();
}
dataUser()async{
_prefService.readCacheIdUnidade('idUnidade').then((id)async{
_prefService.readCacheSync('area', false).then((list){
foraArea = list[1];
List splited = list[0].split(': ');
area = splited[2].toString().substring(0,1);
microarea = splited[3];
idUnidade = id;
initSync();
});
});
}
initSync()async{
await DbSqliteSync().deleteSync().then((_)async{
await ApiDataSync().syncPerm(widget.args).then((response)async{
if(response['status'] == 0 || response['sync_perm'] != "S"){
AlertDialogDefault().alert(context, 'Erro', 'Usuário sem permissão para Sincronização de Unidade!', 'Voltar');
}else{
setState(()=> messageSteps = "Etapa 1 de 10 - Importando informações do CONECTASUS");
await ApiDataSync().syncBairros(widget.args).then((value)async{
if(value.length == 0){
setState(()=> messageSteps = "ERRO: Erro para carregar os Bairros - Por favor, tente novamente!");
}else{
setState(()=> messageSteps = "Etapa 2 de 10 - Gravando os Bairros no Aplicativo");
}
await DbSqliteSync().insertBairros(value).then((value)async{
await ApiDataSync().syncTiposLogradouros(widget.args).then((value)async{
if(value.length == 0){
setState(()=> messageSteps = "ERRO: Erro para carregar os Tipos de Logradouros - Por favor, tente novamente!");
}else{
setState(()=> messageSteps = "Etapa 3 de 10 - Gravando os Tipos de Logradouros no Aplicativo");
}
await DbSqliteSync().insertTiposLogradouros(value).then((value)async{
await ApiDataSync().syncLogradouros(widget.args).then((value)async{
if(value.length == 0){
setState(()=> messageSteps = "ERRO: Erro para carregar os Logradouros - Por favor, tente novamente!");
}else{
setState(()=> messageSteps = "Etapa 4 de 10 - Gravando os Logradouros no Aplicativo");
}
await DbSqliteSync().insertLogradouros(value).then((value)async{
await ApiDataSync().syncLoteamentos(widget.args).then((value)async{
if(value.length == 0){
setState(()=> messageSteps = "ERRO: Erro para carregar os Loteamentos - Por favor, tente novamente!");
}else{
setState(()=> messageSteps = "Etapa 5 de 10 - Gravando os Loteamentos no Aplicativo");
}
await DbSqliteSync().insertLoteamentos(value).then((value)async{
await ApiDataSync().syncProfissionais(widget.args,idUnidade).then((value)async{
if(value.length == 0){
setState(()=> messageSteps = "ERRO: Erro para carregar os Profissionais - Por favor, tente novamente!");
}else{
setState(()=> messageSteps = "Etapa 6 de 10 - Gravando os Profissionais no Aplicativo");
}
await DbSqliteSync().insertProfissionais(value).then((value)async{
await ApiDataSync().syncProfissionaisCBOs(widget.args,idUnidade).then((value)async{
if(value.length == 0){
setState(()=> messageSteps = "ERRO: Erro para carregar os CBOs dos Profissionais - Por favor, tente novamente!");
}else{
setState(()=> messageSteps = "Etapa 7 de 10 - Gravando os CBO´s dos Profissionais no Aplicativo");
}
await DbSqliteSync().insertProfissionaisCBOs(value).then((value)async{
await ApiDataSync().syncCidadaos(widget.args,idUnidade,area,microarea,foraArea).then((value)async{
if(value.length == 0){
setState(()=> messageSteps = "ERRO: Erro para carregar os Cadastros dos Cidadãos - Por favor, tente novamente!");
}else{
setState(()=> messageSteps = "Etapa 8 de 10 - Gravando os Cidadãos no Aplicativo");
}
await DbSqliteSync().insertCidadaos(value).then((value)async{
await ApiDataSync().syncCadastrosDomiciliares(widget.args,idUnidade,area,microarea,foraArea).then((value)async{
if(value.length == 0){
setState(()=> messageSteps = "ERRO: Erro para carregar os Cadastros Domiciliares - Por favor, tente novamente!");
}else{
setState(()=> messageSteps = "Etapa 9 de 10 - Gravando os Cadastros Domiciliares no Aplicativo");
}
await DbSqliteSync().insertCadastrosDomiciliares(value).then((value)async{
await ApiDataSync().syncCadastrosIndividuais(widget.args,idUnidade,area,microarea,foraArea).then((value)async{
if(value.length == 0){
setState(()=> messageSteps = "ERRO: Erro para carregar os Cadastros Individuais - Por favor, tente novamente!");
}else{
setState(()=> messageSteps = "Etapa 10 de 10 - Gravando os Cadastros Individuais no Aplicativo");
}
await DbSqliteSync().insertCadastrosIndividuais(value).then((value)async{
//agora salvar controle interno
});
});
});
});
});
});
});
});
});
});
});
});
});
});
});
});
});
});
}
});
});
}
@override
Widget build(BuildContext context) {
double width = MediaQuery.of(context).size.width;
double height = MediaQuery.of(context).size.height;
return Scaffold(
bottomSheet: Container(
width: width,
height: height*0.05,
color: ColorPalette.appBar,
child: finish
?Row(
children: [
Spacer(),
ButtonDefault(
onPressed: (){
Navigator.pushReplacement(
context,
MaterialPageRoute(builder: (context) => SyncLoginScreen(args: widget.args)),
);
},
title: 'Continuar',
width: width*0.3,
height: height*0.1,
textColor: ColorPalette.white,
background: ColorPalette.appBar,
borderColor: ColorPalette.appBar,
),
],
)
:Padding(
padding: const EdgeInsets.all(10.0),
child: TextDefault(
text: messageSteps,
color: ColorPalette.white,
maxLines: 2,
),
),
),
body: Container(
padding: EdgeInsets.all(50),
width: width,
height: height,
decoration: BoxDecoration(
color: ColorPalette.grayBackground,
image: DecorationImage(
fit: BoxFit.fitHeight,
image: AssetImage('assets/images/load_image.png'
),
)
),
child: finish?ListView(
children: [
Image.asset('assets/images/logo.PNG',width: width*0.3,height: height*0.2,),
Image.asset('assets/images/load-done.png',width: width*0.9,height: height*0.2,),
],
):ListView(
children: [
Image.asset('assets/images/logo.PNG',width: width*0.2,height: height*0.1,),
SizedBox(height: height*0.1),
Image.asset('assets/images/loading.gif',width: width*0.2,height: height*0.1,),
SizedBox(height: height*0.1),
TextDefault(
text: 'Aguarde enquanto a Sincronização da Unidade é realizada.\n',
textAlign: TextAlign.center,
maxLines: 2,
color: Colors.black,
fontWeigth: FontWeight.bold,
),
TextDefault(
text: 'Esse processo pode levar vários minutos dependendo da sua conexão!',
color: Colors.black,
fontWeigth: FontWeight.bold,
textAlign: TextAlign.center,
maxLines: 3,
)
],
),
),
);
}
}

View File

@@ -2,7 +2,7 @@ import 'dart:convert';
import 'package:http/http.dart' as http;
import '../../models/args_load_init_model.dart';
class ApiData{
class ApiDataLoad{
Future apiConect(ArgsLoadInitModel args)async{
//http://192.168.0.42:8010/api/atb/desenvolvimento/cabreuva/load/pass/admin
final url = '${args.urlAPI}${args.mode}/${args.model.nameCityApi}/pass/${args.user}';
@@ -16,16 +16,13 @@ class ApiData{
// final url = 'http://192.168.0.42:8010/api/atb/desenvolvimento/corumbatai/load/perm/admin';
final response = await http.get(Uri.parse(url));
final map = json.decode(response.body);
// print(map);
return map;
}
Future loadUnidades(ArgsLoadInitModel args)async{
print('entrou aqui ${args.model.nameCityApi}');
// http://192.168.0.42:8010/api/atb/desenvolvimento/corumbatai/admin/load/unidades
final url = '${args.urlAPI}${args.mode}/${args.model.nameCityApi}/${args.user}/load/unidades';
final response = await http.get(Uri.parse(url));
final map = json.decode(response.body);
// print(map);
return map;
}
Future loadProcedimentos(ArgsLoadInitModel args)async{
@@ -33,7 +30,6 @@ class ApiData{
final url = '${args.urlAPI}${args.mode}/${args.model.nameCityApi}/${args.user}/load/procedimentos';
final response = await http.get(Uri.parse(url));
final map = json.decode(response.body);
// print(map);
return map;
}
Future loadProcedimentosRegistros(ArgsLoadInitModel args)async{
@@ -41,7 +37,6 @@ class ApiData{
final url = '${args.urlAPI}${args.mode}/${args.model.nameCityApi}/${args.user}/load/procedimentosRegistros';
final response = await http.get(Uri.parse(url));
final map = json.decode(response.body);
// print(map);
return map;
}
Future loadCID(ArgsLoadInitModel args)async{
@@ -49,7 +44,6 @@ class ApiData{
final url = '${args.urlAPI}${args.mode}/${args.model.nameCityApi}/${args.user}/load/cid';
final response = await http.get(Uri.parse(url));
final map = json.decode(response.body);
// print(map);
return map;
}
Future loadProcedimentosCID(ArgsLoadInitModel args)async{
@@ -57,7 +51,6 @@ class ApiData{
final url = '${args.urlAPI}${args.mode}/${args.model.nameCityApi}/${args.user}/load/procedimentosCID';
final response = await http.get(Uri.parse(url));
final map = json.decode(response.body);
// print(map);
return map;
}
Future loadCBO(ArgsLoadInitModel args)async{
@@ -65,7 +58,6 @@ class ApiData{
final url = '${args.urlAPI}${args.mode}/${args.model.nameCityApi}/${args.user}/load/cbo';
final response = await http.get(Uri.parse(url));
final map = json.decode(response.body);
// print(map);
return map;
}
Future loadProcedimentosCBO(ArgsLoadInitModel args)async{
@@ -73,7 +65,6 @@ class ApiData{
final url = '${args.urlAPI}${args.mode}/${args.model.nameCityApi}/${args.user}/load/procedimentosCBO';
final response = await http.get(Uri.parse(url));
final map = json.decode(response.body);
// print(map);
return map;
}
Future loadCIAP(ArgsLoadInitModel args)async{
@@ -81,7 +72,6 @@ class ApiData{
final url = '${args.urlAPI}${args.mode}/${args.model.nameCityApi}/${args.user}/load/ciap';
final response = await http.get(Uri.parse(url));
final map = json.decode(response.body);
// print(map);
return map;
}
Future loadMunicipios(ArgsLoadInitModel args)async{
@@ -89,7 +79,6 @@ class ApiData{
final url = '${args.urlAPI}${args.mode}/${args.model.nameCityApi}/${args.user}/load/municipios';
final response = await http.get(Uri.parse(url));
final map = json.decode(response.body);
// print(map);
return map;
}
Future loadEquipes(ArgsLoadInitModel args)async{
@@ -98,7 +87,6 @@ class ApiData{
final url = '${args.urlAPI}${args.mode}/${args.model.nameCityApi}/${args.user}/load/equipes';
final response = await http.get(Uri.parse(url));
final map = json.decode(response.body);
// print(map);
return map;
}
Future loadEquipeComponentes(ArgsLoadInitModel args)async{
@@ -106,7 +94,6 @@ class ApiData{
final url = '${args.urlAPI}${args.mode}/${args.model.nameCityApi}/${args.user}/load/equipeComponentes';
final response = await http.get(Uri.parse(url));
final map = json.decode(response.body);
print(map);
return map;
}
Future loadCompetencia(ArgsLoadInitModel args)async{
@@ -116,7 +103,6 @@ class ApiData{
final url = '${args.urlAPI}${args.mode}/${args.model.nameCityApi}/${args.user}/load/competencia';
final response = await http.get(Uri.parse(url));
final map = json.decode(response.body);
// print(map);
return map;
}
}

View File

@@ -0,0 +1,79 @@
import 'dart:convert';
import 'package:http/http.dart' as http;
import '../../models/args_load_init_model.dart';
import '../shared_preferences/shared_preferences_service.dart';
class ApiDataSync{
Future syncPerm(ArgsLoadInitModel args)async{
//http://192.168.0.42:8010/api/atb/desenvolvimento/corumbatai/sync/perm/admin
final url = '${args.urlAPI}${args.mode}/${args.model.nameCityApi}/sync/perm/${args.user}';
// final url = 'http://192.168.0.42:8010/api/atb/desenvolvimento/corumbatai/load/perm/admin';
final response = await http.get(Uri.parse(url));
final map = json.decode(response.body);
// print(map);
return map;
}
Future syncBairros(ArgsLoadInitModel args)async{
// http://192.168.0.42:8010/api/atb/desenvolvimento/corumbatai/admin/sync/bairros
final url = '${args.urlAPI}${args.mode}/${args.model.nameCityApi}/${args.user}/sync/bairros';
final response = await http.get(Uri.parse(url));
final map = json.decode(response.body);
return map;
}
Future syncTiposLogradouros(ArgsLoadInitModel args)async{
// http://192.168.0.42:8010/api/atb/desenvolvimento/corumbatai/admin/sync/tiposLogradouros
final url = '${args.urlAPI}${args.mode}/${args.model.nameCityApi}/${args.user}/sync/tiposLogradouros';
final response = await http.get(Uri.parse(url));
final map = json.decode(response.body);
return map;
}
Future syncLogradouros(ArgsLoadInitModel args)async{
// http://192.168.0.42:8010/api/atb/desenvolvimento/corumbatai/admin/sync/logradouros
final url = '${args.urlAPI}${args.mode}/${args.model.nameCityApi}/${args.user}/sync/logradouros';
final response = await http.get(Uri.parse(url));
final map = json.decode(response.body);
return map;
}
Future syncLoteamentos(ArgsLoadInitModel args)async{
// http://192.168.0.42:8010/api/atb/desenvolvimento/corumbatai/admin/sync/loteamentos
final url = '${args.urlAPI}${args.mode}/${args.model.nameCityApi}/${args.user}/sync/loteamentos';
final response = await http.get(Uri.parse(url));
final map = json.decode(response.body);
return map;
}
Future syncProfissionais(ArgsLoadInitModel args,String idUnidade)async{
// http://192.168.0.42:8010/api/atb/desenvolvimento/corumbatai/admin/sync/3/profissionais
final url = '${args.urlAPI}${args.mode}/${args.model.nameCityApi}/${args.user}/sync/${idUnidade}/profissionais';
final response = await http.get(Uri.parse(url));
final map = json.decode(response.body);
return map;
}
Future syncProfissionaisCBOs(ArgsLoadInitModel args,String idUnidade)async{
// http://192.168.0.42:8010/api/atb/desenvolvimento/corumbatai/admin/sync/3/profissionaisCBOs
final url = '${args.urlAPI}${args.mode}/${args.model.nameCityApi}/${args.user}/sync/${idUnidade}/profissionaisCBOs';
final response = await http.get(Uri.parse(url));
final map = json.decode(response.body);
return map;
}
Future syncCidadaos(ArgsLoadInitModel args,String idUnidade,String area, String microarea, bool foraArea)async{
// http://192.168.0.42:8010/api/atb/desenvolvimento/corumbatai/admin/sync/3/cidadaos/1/1/true
final url = '${args.urlAPI}${args.mode}/${args.model.nameCityApi}/${args.user}/sync/${idUnidade}/cidadaos/$area/$microarea/$foraArea';
final response = await http.get(Uri.parse(url));
final map = json.decode(response.body);
return map;
}
Future syncCadastrosDomiciliares(ArgsLoadInitModel args,String idUnidade,String area, String microarea, bool foraArea)async{
// http://192.168.0.42:8010/api/atb/desenvolvimento/corumbatai/admin/sync/3/cadastrosDomiciliares/1/1/true
final url = '${args.urlAPI}${args.mode}/${args.model.nameCityApi}/${args.user}/sync/${idUnidade}/cadastrosDomiciliares/$area/$microarea/$foraArea';
final response = await http.get(Uri.parse(url));
final map = json.decode(response.body);
return map;
}
Future syncCadastrosIndividuais(ArgsLoadInitModel args,String idUnidade,String area, String microarea, bool foraArea)async{
// http://192.168.0.42:8010/api/atb/desenvolvimento/corumbatai/admin/sync/3/cadastrosIndividuais/1/1/true
final url = '${args.urlAPI}${args.mode}/${args.model.nameCityApi}/${args.user}/sync/${idUnidade}/cadastrosIndividuais/$area/$microarea/$foraArea';
final response = await http.get(Uri.parse(url));
final map = json.decode(response.body);
return map;
}
}

View File

@@ -2,8 +2,7 @@ import 'package:rkm/models/args_load_init_model.dart';
import 'package:sqflite/sqflite.dart';
import 'package:path/path.dart';
class DbSqlite{
class DbSqliteLoad{
Future intialDB()async{
final path = await getDatabasesPath();
final local = join(path,'rkmab.db');
@@ -66,7 +65,7 @@ class DbSqlite{
);
return db;
}
Future deleteDB()async{
Future deleteLoad()async{
var querys = [
'UPDATE CONTROLE_INTERNO SET SYNC_UNIDADE = NULL, UNIDADE_SYNC = NULL, NOME_UNIDADE = NULL WHERE rowid = 1;',
'DELETE FROM ATENDS_DOM_COMPL;',
@@ -116,6 +115,7 @@ class DbSqlite{
Database db = await intialDB();
for(int i=0;value.length > i;i++){
Map<String, dynamic> row = {
'ID_UNIDADE' : value[i]['idUnidade'],
'NOME_UNIDADE' : value[i]['nomeFantasia'],
'CNES_UNIDADE' : value[i]['nrCNES']
};

View File

@@ -0,0 +1,415 @@
import 'package:rkm/service/db/db_sqlite_load.dart';
import 'package:sqflite/sqflite.dart';
class DbSqliteSync{
Future deleteSync()async{
var querys = [
"UPDATE CONTROLE_INTERNO SET SYNC_UNIDADE = NULL, UNIDADE_SYNC = NULL, NOME_UNIDADE = NULL WHERE rowid = 1;",
"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{
Database db = await DbSqliteLoad().intialDB();
//"idBairro":2,"nomeBairro":"RURAL"
// BAIRROS (ID_BAIRRO INTEGER PRIMARY KEY AUTOINCREMENT, NO_BAIRRO TEXT);');
for(int i=0;value.length > i;i++){
Map<String, dynamic> row = {
'ID_BAIRRO' : value[i]['idBairro'],
'NO_BAIRRO' : value[i]['nomeBairro'],
};
int id = await db.insert('BAIRROS', row);
// print('id increment $id');
}
// print(await db.query('BAIRROS'));
return db;
}
Future insertTiposLogradouros(var value)async{
Database db = await DbSqliteLoad().intialDB();
// LOGRADOUROS_TIPOS (ID_LOGR_TIPO INTEGER PRIMARY KEY AUTOINCREMENT, NO_LOGR_TIPO TEXT);
// {"idTipoLogradouro":0,"nomeTipoLogradouro":"NAO DEFINIDO"}
for(int i=0;value.length > i;i++){
Map<String, dynamic> row = {
'ID_LOGR_TIPO' : value[i]['idTipoLogradouro'],
'NO_LOGR_TIPO' : value[i]['nomeTipoLogradouro'],
};
int id = await db.insert('LOGRADOUROS_TIPOS', row);
// print('id increment $id');
// print(await db.query('LOGRADOUROS_TIPOS'));
}
return db;
}
Future insertLogradouros(var value)async{
Database db = await DbSqliteLoad().intialDB();
// LOGRADOUROS_ENDERECOS (ID_LOGR_ENDERECO INTEGER, ID_LOGR_TIPO INTEGER, DESC_LOGR_ENDERECO TEXT, ID_BAIRRO INTEGER);
// "idLogradouro":7,"descLogradouro":"1A","idTipoLogradouro":6,"idBairro":65
for(int i=0;value.length > i;i++){
Map<String, dynamic> row = {
'ID_LOGR_ENDERECO' : value[i]['idLogradouro'],
'ID_LOGR_TIPO' : value[i]['descLogradouro'],
'DESC_LOGR_ENDERECO' : value[i]['idTipoLogradouro'],
'ID_BAIRRO' : value[i]['idBairro'],
};
int id = await db.insert('LOGRADOUROS_ENDERECOS', row);
// print('id increment $id PROCEDIMENTOS_SIGTAP_REGISTRO');
// print(await db.query('LOGRADOUROS_ENDERECOS'));
}
return db;
}
Future insertLoteamentos(var value)async{
Database db = await DbSqliteLoad().intialDB();
// LOGRADOUROS_LOTEAMENTOS (ID_LOGR_LOTEAMENTO INTEGER PRIMARY KEY AUTOINCREMENT, DESC_LOGR_LOTEAMENTO TEXT);
// "idLoteamento":1,"descLoteamento":"ASSENTAMENTO MARINEL"
for(int i=0;value.length > i;i++){
Map<String, dynamic> row = {
'ID_LOGR_LOTEAMENTO' : value[i]['idLoteamento'],
'DESC_LOGR_LOTEAMENTO' : value[i]['descLoteamento'],
};
int id = await db.insert('LOGRADOUROS_LOTEAMENTOS', row);
// print('id increment $id PROCEDIMENTOS_SIGTAP_REGISTRO');
// print(await db.query('LOGRADOUROS_LOTEAMENTOS'));
}
return db;
}
Future insertProfissionais(var value)async{
Database db = await DbSqliteLoad().intialDB();
// PROFISSIONAIS (ID_PROFISSIONAL INTEGER PRIMARY KEY AUTOINCREMENT, NOME_PROFISSIONAL TEXT, CNS_PROFISSIONAL TEXT, USERNAME TEXT, SENHA TEXT, BLOQUEIO_ACESSO INTEGER);');
// "idProfissional":1,"nomeProfissional":"ADMINISTRADOR","CNSProfissional":"999999999999999","username":"ADMIN","senha":"1$c124af0fb0b0941b907a9ddf3d5fb3c921d64e7d","bloqueioAcesso":0
for(int i=0;value.length > i;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'],
};
int id = await db.insert('PROFISSIONAIS', row);
// print('id increment $id PROCEDIMENTOS_SIGTAP_REGISTRO');
// print(await db.query('PROFISSIONAIS'));
}
return db;
}
Future insertProfissionaisCBOs(var value)async{
Database db = await DbSqliteLoad().intialDB();
// PROFISSIONAIS_CBOS (ID_PROFISSIONAL INTEGER, CODIGO_CBO TEXT);');
// "idProfissional":1,"codCBO":"225125"
for(int i=0;value.length > i;i++){
Map<String, dynamic> row = {
'ID_PROFISSIONAL' : value[i]['idProfissional'],
'CODIGO_CBO' : value[i]['codCBO'],
};
int id = await db.insert('PROFISSIONAIS_CBOS', row);
// print('id increment $id PROCEDIMENTOS_SIGTAP_REGISTRO');
// print(await db.query('PROFISSIONAIS_CBOS'));
}
return db;
}
Future insertCidadaos(var value)async{
Database db = await DbSqliteLoad().intialDB();
// CIDADAOS (ID_CIDADAO,CD_USUARIO_SUS,NOME_CIDADAO,NOME_SOCIAL,SEXO,DT_NASCIMENTO,ID_ESTADO_CIVIL,NOME_CONJUGE,NACIONALIDADE,ID_MUNICIPIO_NASC,NO_MUNICIPIO_NASC,ESTADO_UF_NASC
// ID_ETNIA,ID_ESCOLARIDADE,ID_DEFICIENCIA,NOME_MAE,DESCONHECE_MAE,NOME_PAI,DESCONHECE_PAI,ID_UNIDADE,NUM_PRONTUARIO,NUM_PRONTUARIO_PROV,CLASSIFICACAO,CLASSIFICACAO_SUB,
// NUM_FAMILIA,ID_PAIS_RESID,ID_MUNICIPIO_RESID,NO_MUNICIPIO_RESID,ESTADO_UF_RESID,CODIGO_IBGE_RESID,NO_BAIRRO_LOGR,ID_LOGR_TIPO,NOME_LOGR,CEP_LOGR,NUMERO_LOGR,LOTEAMENTO_LOGR
// COMPL_LOGR,PONTO_REFERENCIA,ZONA_LOGR,DDD_TELEFONE,NUM_TELEFONE,DDD_CELULAR,NUM_CELULAR,DDD_RECADO,NUM_RECADO,EMAIL,OBSERVACOES,CPF,CNS,TITULO_ELEITOR,RG_NUMERO,
// RG_COMPLEMENTO,RG_UF,RG_ORGAO,RG_DATA_EMISSAO,TIPO_CERTIDAO,NUM_CERTIDAO,CARTORIO_CERTIDAO,LIVRO_CERTIDAO,FOLHA_CERTIDAO,TERMO_CERTIDAO,DT_EMISSAO_CERTIDAO,NUM_CTPS,
// NUM_SERIE_CTPS,ESTADO_UF_CTPS,NUM_PIS_PASEP,FL_RETIROU_CARTAO,NUM_NIS,NUM_PROT_CROSS,RENDA_MENSAL,PROFISSAO,DT_OBITO,DECLARACAO_OBITO,BLOQUEIO,ORIGEM,DT_HORA_CADASTRO,
// ID_USUARIO_CADASTRO,ID_DOMICILIO,ATENDIMENTOS,SINCRONIZADO);');
'"idCidadao":3,"cdUsuarioSus":"571A22D79C24526537C7E4CE8C0D4046","noUsuario":"REBECA MARIA DE MELO RIBEIRO DOS SANTOS","nomeSocial":"","inSexo":"F",'
'"dtNascimento":"2007-01-20","inSituacaoConjugal":null,"noConjugue":"","nacionalidade":1,"cdMunicipioNasc":1523,"noMunicipioNasc":"CORUMBATAI","cdEstado":"SP","cdEtnia":1,'
'"cdUsuarioEscolaridade":4,"nrDeficiencia":null,"noMae":"JOELMA MARIA DE MELO","desconheceMae":0,"noPai":"AILTON JOSE RIBEIRO DOS SANTOS","desconhecePai":0,"nrUnidade":3,'
'"nrProntuario":"000004","nrProntuarioProvisorio":null,"classificacao":1,"nrFamilia":"","idPaisResid":33,"cdMunicipioResid":3427,"noMunicipioResid":"CORUMBATAI",'
'"cdEstadoResid":"SP","muniCdCodIbgeResid":"351270","noBairro":"RURAL","idTipoLogradouro":6,"noLogradouro":"NAO INFORMADO","cdCep":"13540000","nrLogradouro":"0",'
'"loteamento":"","noComplLogradouro":"WASHIGNTON LUIZ","pontoReferencia":"","zona":2,"nrDddTelefone":"","nrTelefone":"","nrDddCelular":"11","nrCelular":"976399671",'
'"nrDddRecado":"","nrRecado":"","email":"","observacao":"","nrCpf":"57459957852","nrCns":"702309150758010","tituloEleitor":null,"nrIdentidade":"","noComplIdentidade":"",'
'"cdSiglaUfIdentidade":"--","cdOrgaoEmissorIdentidade":null,"dtEmissaoIdentidade":null,"cdTipoCertidao":null,"nrCertidaoNova":"","noCartorioCertidao":"",'
'"nrLivroCertidao":null,"nrFolhaCertidao":null,"noTermoCertidao":"","dtEmissaoCertidao":null,"nrCtps":null,"nrSerieCtps":null,"cdSiglaUfCtps":"--","nrPispasep":"",'
'"cartaoMunicipalRetirado":"N","nrNis":"","rendaMensal":null,"profissao":"","dtObito":null,"bloqueio":"0","origem":"S","cdDomicilio":1838,"atendimentos":0,'
'"idUsuarioCadastro":null';
for(int i=0;value.length > i;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_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'],
'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]['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'],
'SINCRONIZADO' : '',
};
int id = await db.insert('CIDADAOS', row);
// print('id increment $id PROCEDIMENTOS_SIGTAP_REGISTRO');
// print(await db.query('CIDADAOS'));
}
return db;
}
Future insertCadastrosDomiciliares(var value)async{
Database db = await DbSqliteLoad().intialDB();
// CIDADAO_DOMICILIO (ID_DOMICILIO,TIPO_IMOVEL,ID_AREA_DOMICILIO,ID_MICROAREA_DOMICILIO,FORA_AREA,SITUACAO_MORADIA,TIPO_LOCALIDADE,TIPO_DOMICILIO,NUM_MORADORES,
// NUM_COMODOS,SITUACAO_RURAL,TIPO_ACESSO,MAT_PREDOMINANTE,DISPONIBILIDADE_ENERGIA,TIPO_ABASTECIMENTO,TRATAMENTO_AGUA,DESTINO_LIXO,ESCOAMENTO,FL_ANIMAIS,
// ANIMAIS_GATO,ANIMAIS_CACHORRO,ANIMAIS_PASSARO,ANIMAIS_OUTROS,QTDE_ANIMAIS,CBO_RESP_CADASTRO,ID_RESP_CADASTRO,CNES_RESP_CADASTRO,INE_RESP_CADASTRO,DT_CADASTRO,
// ID_EQUIPE,ORIGEM,SINCRONIZADO,NOME_INSTITUICAO_PERMANENCIA,PROFISSIONAIS_VINCULADOS_INST,RESPONSAVEL_TECNICO_INST,CNS_RESP_TECNICO_INST,CARGO_RESP_TECNICO_INST,
// TEL_RESP_TECNICO_INST)
// "cdDomicilio":16,"cdTipoImovel":1,"cdAreaDomicilio":null,"cdMicroareaDomicilio":null,"foraArea":1,"cdSituacao":2,"cdTipoLocalidade":1,"cdTipoDomicilio":1,
// "nrMoradores":6,"nrComodo":7,"situacaoProducaoRural":0,"tipoAcesso":1,"materialParedesExternas":1,"dispEnergiaEletrica":1,"cdTipoAbastecimento":1,"cdTratamentoAgua":4,
// "cdDestinoLixo":1,"cdEscoamento":1,"animais":0,"animaisGato":0,"animaisCachorro":0,"animaisPassaro":0,"animaisOutros":0,"animaisQtde":null,"respCadastro":68,
// "cnesUnidade":"9372253","cboRespCadastro":"515105","ine":"0001485628","dtCadastro":"2021-11-10","cdEquipe":5,"noInstPermanencia":null,"outrosProfissionaisInst":null,
// "noResponsavelInst":null,"cnsResponsavelInst":null,"gargoResponsavelInst":null,"telefoneResponsavelInst":null
for(int i=0;value.length > i;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'],
'PROFISSIONAIS_VINCULADOS_INST': value[i]['gargoResponsavelInst'],
'TEL_RESP_TECNICO_INST' : value[i]['telefoneResponsavelInst'],
};
int id = await db.insert('CIDADAO_DOMICILIO', row);
// print('id increment $id PROCEDIMENTOS_SIGTAP_REGISTRO');
// print(await db.query('CIDADAO_DOMICILIO'));
}
return db;
}
Future insertCadastrosIndividuais(var value)async{
Database db = await DbSqliteLoad().intialDB();
// CADASTROS_INDIVIDUAIS (ID_CAD_INDIVIDUAL,STATUS_CADASTRO,ID_CIDADAO,CD_USUARIO_SUS,ID_AREA_CIDADAO,ID_MICROAREA_CIDADAO,FORA_AREA,RESPONSAVEL_FAMILIAR,
// ID_RESPONSAVEL_FAMILIAR,NOME_RESPONSAVEL_FAMILIAR,PARENTESCO,ESCOLARIDADE,FREQ_ESCOLA_CRECHE,SITUACAO_MERCADO,CUIDADOR_TRADICIONAL,GRUPO_COMUNITARIO,PLANO_PRIVADO,
// COMUNIDADE_TRADICIONAL,COM_TRADI_QUAL,ORIENT_SEXUAL,TEM_DEFICIENCIA,DEF_AUDITIVA,DEF_INTELECTUAL,DEF_VISUAL,DEF_FISICA,DEF_OUTRAS,SAIDA_CADASTRO,DATA_SAIDA_CADASTRO,
// CADASTRO_RECUSADO,GESTANTE,MATERNIDADE_REFERENCIA,PESO,FUMANTE,USA_ALCOOL,USA_DROGAS,HIPERTENSAO,DIABETES,AVC_DERRAME,INFARTO,HANSENIASE,TUBERCULOSE,CANCER,
// INTERNACAO,MOTIVO,DOENCA_CARDIACA,PROBLEMA_RINS,DOENCA_PULMAO,SAUDE_MENTAL,ACAMADO,DOMICILIADO,PLANTAS_MED,PLANTAS_MED_QUAIS,PIC,OUTRAS_CONDICOES,TEMPO_SITUACAO_RUA
// ACOMP_INTITUICAO,ACOMP_INTITUICAO_QUAL,BENEFICIO,REF_FAMILIAR,VISITA_FAMILIAR,PARENTESCO_VISITA,ALIMENTACAO_DIARIA,REST_POPULAR,DOACAO_REST,DOACAO_RELIGIOSO,
// DOACAO_POPULAR,OUTROS_ALIM,ACESSO_HIGIENE,BANHO,SANITARIO,HIGIENE_BUCAL,OUTROS_HIGIENE,FICHA_ALTERACAO,ID_RESP_CADASTRO,CNES_RESP_CADASTRO,CBO_RESP_CADASTRO,
// INE_RESP_CADASTRO,DT_CADASTRO,ID_EQUIPE,ORIGEM,SINCRONIZADO,DT_ENTRADA_BRASIL,DT_NATURALIZACAO,PORTARIA_NATURALIZACAO,CRIANCAS_ADULTO,CRIANCAS_OUTRAS_CRIANCAS,
// CRIANCAS_ADOLESCENTE,CRIANCAS_SOZINHA,CRIANCAS_CRECHE,CRIANCAS_OUTRO,IDENTIDADE_GENERO)
// "idCadIndividual":5,"idCidadao":6,"cdUsuarioSUS":"4576021578C044ACF57CF5582356B697","idAreaCidadao":null,"idMicroAreaCidadao":null,"foraArea":1,"flResponsavelFamiliar":1,
// "cdResponsavelFamiliar":"4576021578C044ACF57CF5582356B697","nomeResponsavelFamiliar":"MARIA CLEIDIANA DE OLIVEIRA CRUZ","parentesco":null,"curso":11,"frequentaEscola":null,
// "situacaoMercado":2,"cuidadorTrad":2,"grupoComunitario":2,"plSaudePrivado":2,"comunidadeTradicional":2,"comunidadeTradicionalEspec":"","orientacaoSexual":2,
// "temDeficiencia":2,"defAuditiva":2,"defIntelectual":2,"defVisual":2,"defFisica":2,"defOutros":2,"saidaMotivo":null,"saidaData":null,"recusado":null,"gestante":null,
// "maternidadeReferencia":"","peso":2,"fumante":null,"usaAlcool":1,"outrasDrogas":2,"hipertensao":2,"diabetes":2,"avcDerrame":2,"infarto":2,"hanseniase":2,"tuberculose":2,
// "cancer":2,"internacao12Meses":2,"motivo":"","doencaCardiaca":1,"problemasRins":1,"doencaRespiratoriaPulmao":1,"tratamInternacaoPsiquiatrica":2,"acamado":2,
// "domiciliado":2,"plantasMedicinais":2,"plantasQuais":"","praticasIntegrativasComplem":null,"outrasCondSaude":"","tempoSituacaoRua":1,"acompanhadoInstituicao":null,
// "instituicaoQual":"","recebeBeneficio":null,"referenciaFamiliar":null,"visitaFamiliarFrequente":null,"visitaFamiliarParentesco":"","alimentacaoDiaria":null,
// "alimentecaoRestaurantePop":2,"alimentacaoDoacaoRestaurante":2,"alimentacaoDoacaoGrupoRel":2,"alimentacaoDoacaoPop":2,"alimentacaoOutros":2,"higienePessoal":2,
// "higieneBanho":2,"higieneSanitario":2,"higieneBucal":2,"higieneOutros":2,"fichaAlteracao":null,"idProfissionalResponsavel":68,"cnesUnidade":"9372253",
// "cboProfissional":"515105", "ine":"0001485628","dtCadastro":"2022-04-05","cdEquipe":5,"dtEntradaBrasil":null,"dtNaturalizado":null,"portariaNaturalizacao":"",
// "criancasAdulto":2,"criancasOutrasCriancas":2,"criancasAdolescente":2,"criancasSozinha":2,"criancasCresce":2,"criancasOutro":2,"identidadeGenero":null,"statusCadastro":null}
for(int i=0;value.length > i;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'],
};
int id = await db.insert('CADASTROS_INDIVIDUAIS', row);
// print('id increment $id PROCEDIMENTOS_SIGTAP_REGISTRO');
print(await db.query('CADASTROS_INDIVIDUAIS'));
}
return db;
}
}

View File

@@ -0,0 +1,70 @@
import 'package:shared_preferences/shared_preferences.dart';
class PrefService{
Future createCacheidUsuario(String idUsuario)async{
SharedPreferences _preferences = await SharedPreferences.getInstance();
_preferences.setString('idUsuario', idUsuario);
}
Future createCacheidUnidade(String idUnidade)async{
SharedPreferences _preferences = await SharedPreferences.getInstance();
_preferences.setString('idUnidade', idUnidade);
}
Future createCacheSync(String area,bool foraArea)async{
SharedPreferences _preferences = await SharedPreferences.getInstance();
_preferences.setString('area', area);
_preferences.setBool('foraArea', foraArea);
}
Future createCacheModel(String user,String password,String city,String mode)async{
SharedPreferences _preferences = await SharedPreferences.getInstance();
_preferences.setString('user', user);
_preferences.setString('password', password);
_preferences.setString('city', city);
_preferences.setString('mode', mode);
}
Future readCacheIdUsuario(String idUsuario) async{
SharedPreferences _preferences = await SharedPreferences.getInstance();
var idUsuario = _preferences.getString('idUsuario');
return idUsuario;
}
Future readCacheIdUnidade(String idUnidade) async{
SharedPreferences _preferences = await SharedPreferences.getInstance();
var idUnidade = _preferences.getString('idUnidade');
return idUnidade;
}
Future readCacheModel(String user,String password,String city,String mode) async{
SharedPreferences _preferences = await SharedPreferences.getInstance();
String? user = _preferences.getString('user');
String? password = _preferences.getString('password');
String? city = _preferences.getString('city');
String? mode = _preferences.getString('mode');
List list =[
user,
password,
city,
mode
];
return list;
}
Future readCacheSync(String area,bool foraArea) async{
SharedPreferences _preferences = await SharedPreferences.getInstance();
String? area = _preferences.getString('area');
bool? foraArea = _preferences.getBool('foraArea');
List list =[
area,
foraArea
];
return list;
}
Future removeCache(String idUsuario) async{
SharedPreferences _preferences = await SharedPreferences.getInstance();
_preferences.remove('idUsuario');
}
}

View File

@@ -1,13 +1,12 @@
import 'package:rkm/screens/about_screen.dart';
import 'package:rkm/screens/attendance_list_screen.dart';
import 'package:rkm/screens/home_screen.dart';
import 'package:rkm/screens/load_init_screen.dart';
import 'package:rkm/screens/login_load_screen.dart';
import 'package:rkm/screens/select_service/eligibility_assessment_screen.dart';
import 'package:rkm/screens/splash_screen.dart';
import '../screens/clear_data_screen.dart';
import '../screens/edit_procedures_screen.dart';
import '../screens/import_sigtap_screen.dart';
import '../screens/login/login_load_screen.dart';
import '../screens/main_procedures_screen.dart';
import '../screens/registers_citizen/register_citizen_screen.dart';
import '../screens/select_service/complementary_sheet_screen.dart';

View File

@@ -50,7 +50,7 @@ class InputText extends StatelessWidget {
obscureText: this.obscure,
controller: this.controller,
style: TextStyle(
color: ColorPalette.gray,
color: Colors.black,
fontSize: this.fontSize,
),
decoration: InputDecoration(

View File

@@ -6,9 +6,11 @@ import FlutterMacOS
import Foundation
import package_info_plus
import shared_preferences_foundation
import sqflite
func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
FLTPackageInfoPlusPlugin.register(with: registry.registrar(forPlugin: "FLTPackageInfoPlusPlugin"))
SharedPreferencesPlugin.register(with: registry.registrar(forPlugin: "SharedPreferencesPlugin"))
SqflitePlugin.register(with: registry.registrar(forPlugin: "SqflitePlugin"))
}

View File

@@ -92,6 +92,13 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.1"
file:
dependency: transitive
description:
name: file
url: "https://pub.dartlang.org"
source: hosted
version: "6.1.4"
flutter:
dependency: "direct main"
description: flutter
@@ -205,6 +212,34 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "1.8.2"
path_provider_linux:
dependency: transitive
description:
name: path_provider_linux
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.10"
path_provider_platform_interface:
dependency: transitive
description:
name: path_provider_platform_interface
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.6"
path_provider_windows:
dependency: transitive
description:
name: path_provider_windows
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.5"
platform:
dependency: transitive
description:
name: platform
url: "https://pub.dartlang.org"
source: hosted
version: "3.1.0"
plugin_platform_interface:
dependency: transitive
description:
@@ -219,6 +254,62 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "3.7.2"
process:
dependency: transitive
description:
name: process
url: "https://pub.dartlang.org"
source: hosted
version: "4.2.4"
shared_preferences:
dependency: "direct main"
description:
name: shared_preferences
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.0"
shared_preferences_android:
dependency: transitive
description:
name: shared_preferences_android
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.0"
shared_preferences_foundation:
dependency: transitive
description:
name: shared_preferences_foundation
url: "https://pub.dartlang.org"
source: hosted
version: "2.2.0"
shared_preferences_linux:
dependency: transitive
description:
name: shared_preferences_linux
url: "https://pub.dartlang.org"
source: hosted
version: "2.2.0"
shared_preferences_platform_interface:
dependency: transitive
description:
name: shared_preferences_platform_interface
url: "https://pub.dartlang.org"
source: hosted
version: "2.2.0"
shared_preferences_web:
dependency: transitive
description:
name: shared_preferences_web
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.0"
shared_preferences_windows:
dependency: transitive
description:
name: shared_preferences_windows
url: "https://pub.dartlang.org"
source: hosted
version: "2.2.0"
sky_engine:
dependency: transitive
description: flutter
@@ -307,7 +398,14 @@ packages:
name: win32
url: "https://pub.dartlang.org"
source: hosted
version: "4.1.1"
version: "3.1.3"
xdg_directories:
dependency: transitive
description:
name: xdg_directories
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.0"
sdks:
dart: ">=2.18.6 <3.0.0"
flutter: ">=3.3.0"

View File

@@ -18,6 +18,7 @@ dependencies:
http:
gainer_crypto: ^0.0.6
sqflite: ^2.0.0+3
shared_preferences: ^2.0.15
dev_dependencies:
flutter_test: