correção visita_domiciliar_tela.dart, register_citizen_screen.dart e register_individual_screen.dart

This commit is contained in:
Reginaldo
2024-03-18 22:16:02 -03:00
parent f5abac7a70
commit 58fcb66022
19 changed files with 903 additions and 487 deletions

View File

@@ -11,7 +11,7 @@ class ConstVariable{
IconThemeData iconThemeDataDefault = IconThemeData(color: Colors.white); IconThemeData iconThemeDataDefault = IconThemeData(color: Colors.white);
double fontSizeInput = 15; double fontSizeInput = 15;
double fontSizeTitleAppBar = 20; double fontSizeTitleAppBar = 20;
List<String> RGUF = ['AC','AL','AP','AM','BA','CE','DF','ES','GO','MA','MT','MS','MG','PA','PB','PR','PE','PI','RJ','RN','RS','RO','RR','SC','SP','SE','TO',]; List<String> RGUF = ['AC','AL','AP','AM','BA','CE','DF','ES','GO','MA','MT','MS','MG','PA','PB','PR','PE','PI','RJ','RN','RS','RO','RR','SC','SP','SE','TO','--'];
List<String> itensProceduresStart = [ List<String> itensProceduresStart = [
'ATEND. INDIVIDUAL', 'ATEND. INDIVIDUAL',
'VISTA DOMICILIAR' 'VISTA DOMICILIAR'
@@ -86,6 +86,7 @@ class ConstVariable{
'PESSOA COM DESNUTRIÇÃO', 'PESSOA COM DESNUTRIÇÃO',
'PESSOA EM REABILITAÇÃO OU COM DEFICIÊNCIA', 'PESSOA EM REABILITAÇÃO OU COM DEFICIÊNCIA',
'PESSOA COM HIPERTENSÃO', 'PESSOA COM HIPERTENSÃO',
'PESSOA COM DIABETES',
'PESSOA COM ASMA', 'PESSOA COM ASMA',
'PESSOA COM DPOC/ENFISEMA', 'PESSOA COM DPOC/ENFISEMA',
'PESSOA COM CÂNCER', 'PESSOA COM CÂNCER',
@@ -124,7 +125,7 @@ class ConstVariable{
'USO DE COLOSTOMIA', 'USO DE COLOSTOMIA',
'USO DE GASTROSTOMIA', 'USO DE GASTROSTOMIA',
'USO DE SONDA NASOENTERAL - SNE', 'USO DE SONDA NASOENTERAL - SNE',
'USO DE SONDA NASOGRÁSTRICA - SNG', 'USO DE SONDA NASOGÁSTRICA - SNG',
'USO DE SONDA VESICAL DE DEMORA - SVD', 'USO DE SONDA VESICAL DE DEMORA - SVD',
'USO DE TRAQUEOSTOMIA', 'USO DE TRAQUEOSTOMIA',
]; ];

View File

@@ -1,9 +1,13 @@
import 'dart:io'; import 'dart:io';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_localizations/flutter_localizations.dart'; import 'package:flutter_localizations/flutter_localizations.dart';
import 'package:rkm/config/color_palette.dart'; import 'package:rkm/config/color_palette.dart';
import 'package:rkm/config/routes.dart'; import 'package:rkm/config/routes.dart';
//Cadastro e edição do Cadastro do Cidadão, Cadastro Individual, Cadastro Domiciliar e Visita Domiciliar
class PostHttpOverrides extends HttpOverrides{ class PostHttpOverrides extends HttpOverrides{
@override @override
HttpClient createHttpClient( context){ HttpClient createHttpClient( context){
@@ -13,10 +17,11 @@ class PostHttpOverrides extends HttpOverrides{
} }
void main() { void main() {
WidgetsFlutterBinding.ensureInitialized();
SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]);
HttpOverrides.global = new PostHttpOverrides(); HttpOverrides.global = new PostHttpOverrides();
runApp(const MyApp()); runApp(const MyApp());
} }
//Cadastro e edição do Cadastro do Cidadão, Cadastro Individual, Cadastro Domiciliar e Visita Domiciliar
class MyApp extends StatelessWidget { class MyApp extends StatelessWidget {
const MyApp({super.key}); const MyApp({super.key});
@@ -31,7 +36,7 @@ class MyApp extends StatelessWidget {
GlobalWidgetsLocalizations.delegate, GlobalWidgetsLocalizations.delegate,
], ],
supportedLocales: [ supportedLocales: [
const Locale('pt', 'BR'), // Adicione os locales que você precisa const Locale('pt', 'BR'),
], ],
theme: ThemeData( theme: ThemeData(
primaryColor: ColorPalette.primary, primaryColor: ColorPalette.primary,

View File

@@ -6,5 +6,17 @@ class DropDownDataStringModel{
required this.cod, required this.cod,
required this.title required this.title
}); });
@override
bool operator ==(Object other) =>
identical(this, other) ||
other is DropDownDataStringModel &&
runtimeType == other.runtimeType &&
cod == other.cod &&
title == other.title;
@override
int get hashCode => cod.hashCode ^ title.hashCode;
} }

View File

@@ -2,13 +2,15 @@ import 'package:flutter/material.dart';
import 'package:intl/intl.dart'; import 'package:intl/intl.dart';
import 'package:rkm/config/const_variable.dart'; import 'package:rkm/config/const_variable.dart';
import 'package:rkm/widgets/appbar_default.dart'; import 'package:rkm/widgets/appbar_default.dart';
import 'package:rkm/widgets/input_text.dart';
import 'package:rkm/widgets/onbackbutton.dart'; import 'package:rkm/widgets/onbackbutton.dart';
import 'package:rkm/widgets/text_default.dart'; import 'package:rkm/widgets/text_default.dart';
import 'package:sqflite/sqflite.dart';
import '../config/color_palette.dart'; import '../config/color_palette.dart';
import '../service/db/db_querys.dart';
import '../service/db/db_sqlite_load.dart';
import '../service/shared_preferences/shared_preferences_service.dart';
import '../widgets/button_default.dart'; import '../widgets/button_default.dart';
import '../widgets/dropdown_button_default.dart'; import '../widgets/dropdown_button_default.dart';
import '../widgets/subtitle_containers.dart';
import '../widgets/title_containers.dart'; import '../widgets/title_containers.dart';
class EditProceduresScreen extends StatefulWidget { class EditProceduresScreen extends StatefulWidget {
@@ -24,9 +26,15 @@ class _EditProceduresScreenState extends State<EditProceduresScreen> {
var controllerProfessional = TextEditingController(); var controllerProfessional = TextEditingController();
var controllerUnit = TextEditingController(); var controllerUnit = TextEditingController();
var NOME_PROFISSIONAL = TextEditingController();
var NOME_UNIDADE = TextEditingController();
List listCBO = [];
List listINEPROF = [];
String? selectCBO; String? selectCBO;
String? selectTeam; String? INE_RESP_CADASTRO;
String? date; String? date;
int idUsuario = 0;
String idUnidade = '';
escolherprazoInicio(BuildContext context) async { escolherprazoInicio(BuildContext context) async {
var pickDate = await showDatePicker( var pickDate = await showDatePicker(
@@ -47,7 +55,66 @@ class _EditProceduresScreenState extends State<EditProceduresScreen> {
String formattedDate = DateFormat('dd/MM/yyyy').format(data); String formattedDate = DateFormat('dd/MM/yyyy').format(data);
return formattedDate; return formattedDate;
} }
getUser()async{
final PrefService _prefService = PrefService();
_prefService.readCacheIDUser().then((value){
if(value != null){
idUsuario = int.parse(value);
}
}).then((value)async{
await DBQuerys().buscaProfissionalCadInd(idUsuario).then((list){
// ID_PROFISSIONAL = list['ID_PROFISSIONAL'];
NOME_PROFISSIONAL.text = list['NOME_PROFISSIONAL'];
// String CNS_PROFISSIONAL = list['CNS_PROFISSIONAL'];
// if(CNS_PROFISSIONAL == 999999999999999 || CNS_PROFISSIONAL == '999999999999999'){
// CNS_VALIDO = true;
// }
loadCBO();
});
});
_prefService.readCacheUnidade().then((value){
if(value!=null){
idUnidade = value[0];
NOME_UNIDADE.text = value[1];
}
});
}
loadCBO()async{
Database dbcbo = await DbSqliteLoad().intialDB();
var query = 'SELECT * FROM PROFISSIONAIS_CBOS WHERE ID_PROFISSIONAL = $idUsuario';
List listcbo = await dbcbo.rawQuery(query);
if(listcbo.length!=0){
for(int i = 0; listcbo.length>i;i++){
await DBQuerys().buscaCBOSProfissional(listcbo[i]['CODIGO_CBO']).then((cbo)async{
if(cbo.length!=0){
listCBO.add(cbo[0]['DESCRICAO_CBO']+' - '+listcbo[i]['CODIGO_CBO'].toString());
}
});
}
}
loadEquipe();
}
loadEquipe()async{
List list = await DBQuerys().buscaDadosProfissional(idUnidade,idUsuario);
for(int i=0; list.length > i;i++){
INE_RESP_CADASTRO = 'INE: ${list[i]['INE']} / Área: ${list[i]['AREA']} - Microárea : ${list[i]['MICROAREA']}';
listINEPROF.add('INE: ${list[i]['INE']} / Área: ${list[i]['AREA']} - Microárea : ${list[i]['MICROAREA']}');
}
setState(() {});
}
@override
void initState() {
super.initState();
getUser();
}
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
@@ -137,7 +204,7 @@ class _EditProceduresScreenState extends State<EditProceduresScreen> {
padding: EdgeInsets.all(5), padding: EdgeInsets.all(5),
width: width*0.5, width: width*0.5,
color: ColorPalette.titleContainer, color: ColorPalette.titleContainer,
child: TextDefault(text: 'ADMINISTRADOR',color: ColorPalette.black54,fontSize: 15,), child: TextDefault(text: NOME_PROFISSIONAL.text,color: ColorPalette.black54,fontSize: 15,),
) )
], ],
), ),
@@ -159,7 +226,7 @@ class _EditProceduresScreenState extends State<EditProceduresScreen> {
width: width*0.5, width: width*0.5,
color: ColorPalette.titleContainer, color: ColorPalette.titleContainer,
child: TextDefault( child: TextDefault(
text: 'USF PINHAL - EMILIA STEPHANI SIMIONATO', text: NOME_UNIDADE.text,
color: ColorPalette.black54, color: ColorPalette.black54,
fontSize: 15, fontSize: 15,
), ),
@@ -188,7 +255,7 @@ class _EditProceduresScreenState extends State<EditProceduresScreen> {
width: width*0.4, width: width*0.4,
widthContainer: width*0.3, widthContainer: width*0.3,
select: selectCBO, select: selectCBO,
list: ConstVariable().itensCBO, list: listCBO,
onChanged: (value){ onChanged: (value){
setState(() { setState(() {
selectCBO = value!; selectCBO = value!;
@@ -218,11 +285,11 @@ class _EditProceduresScreenState extends State<EditProceduresScreen> {
fontSize: 15, fontSize: 15,
width: width*0.5, width: width*0.5,
widthContainer: width*0.4, widthContainer: width*0.4,
select: selectTeam, select: INE_RESP_CADASTRO,
list: [], list: listINEPROF,
onChanged: (value){ onChanged: (value){
setState(() { setState(() {
selectTeam = value!; INE_RESP_CADASTRO = value!;
}); });
}, },
), ),

View File

@@ -30,7 +30,7 @@ class _HomeScreenState extends State<HomeScreen> {
loadCitizen()async{ loadCitizen()async{
await DbSqliteLoad().intialDB().then((db)async { await DbSqliteLoad().intialDB().then((db)async {
dataCitizen = await db.query('CIDADAOS ORDER BY NOME_CIDADAO'); dataCitizen = await db.query('CIDADAOS ORDER BY NOME_CIDADAO');
print(dataCitizen.length); // print(dataCitizen.length);
// print(await db.rawQuery("SELECT * FROM CIDADAOS")); // print(await db.rawQuery("SELECT * FROM CIDADAOS"));
}); });
searchCitizen(); searchCitizen();
@@ -150,7 +150,7 @@ class _HomeScreenState extends State<HomeScreen> {
numberMedicalRecord: '${showResults[index]['NUM_PRONTUARIO']}'==''?'-----':'${showResults[index]['NUM_PRONTUARIO']}', numberMedicalRecord: '${showResults[index]['NUM_PRONTUARIO']}'==''?'-----':'${showResults[index]['NUM_PRONTUARIO']}',
onTap: ()async { onTap: ()async {
await DBQuerys().buscaCidadao(showResults[index]['NOME_CIDADAO']).then((list){ await DBQuerys().buscaCidadao(showResults[index]['NOME_CIDADAO']).then((list){
print(showResults[index]['CD_USUARIO_SUS']); // print(showResults[index]['CD_USUARIO_SUS']);
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute(builder:(context) => RegisterCitizenScreen(listData: list,username: widget.username,)), MaterialPageRoute(builder:(context) => RegisterCitizenScreen(listData: list,username: widget.username,)),

View File

@@ -53,288 +53,307 @@ class _LoadInitScreenState extends State<LoadInitScreen> {
if(response['status'] == 0){ if(response['status'] == 0){
AlertDialogDefault().alert(context, 'Erro', 'Permissão negada', 'Voltar'); AlertDialogDefault().alert(context, 'Erro', 'Permissão negada', 'Voltar');
} else if(response['status'] == 1 && response['load_perm'] == "S") { } else if(response['status'] == 1 && response['load_perm'] == "S") {
await ApiDataLoad().loadEtniasIndigenas(urlAPI, mode, nameCityApi, username).then((value)async{
await ApiDataLoad().loadUnidades(urlAPI,mode,nameCityApi,username).then((value)async{
List list = value; List list = value;
List<Map<String, dynamic>> rows = []; List<Map<String, dynamic>> rows = [];
if(list.length !=0){ if(list.length !=0) {
setState(() { setState(() {
messageSteps = "Etapa 1 de 11 - Gravando as Unidades no Aplicativo"; messageSteps = "Etapa 1 de 12 - Gravando as Etnias Indigenas no Aplicativo";
}); });
for (int i = 0; i < list.length; i++) { for (int i = 0; i < list.length; i++) {
Map<String, dynamic> row = { Map<String, dynamic> row = {
'ID_UNIDADE': list[i]['idUnidade'], 'ID_ETNIA_INDIGENA': list[i]['idEtniaIndigena'].toString().trim(),
'NOME_UNIDADE': list[i]['nomeFantasia'], 'DESC_ETNIA_INDIGENA': list[i]['descEtniaIndigena'].toString().trim(),
'CNES_UNIDADE': list[i]['nrCNES']
}; };
rows.add(row); rows.add(row);
countProg = 0.1; countProg = 0.05;
setState(() {}); setState(() {});
} }
await DbSqliteLoad().saveUnidadesDB(rows).then((value)async{
await ApiDataLoad().loadProcedimentos(urlAPI,mode,nameCityApi,username).then((value)async{
List list = value;
List<Map<String, dynamic>> rows = [];
if(list.length !=0){
setState(() {
messageSteps = "Etapa 2 de 11 - Gravando os Procedimentos no Aplicativo";
});
for (int i = 0; i < list.length; i++) {
Map<String, dynamic> row = {
'COD_PROC_SIGTAP' : list[i]['codProcedimento'],
'DESC_PROC_SIGTAP' : list[i]['nome'],
'GRUPO_PROC_SIGTAP' : list[i]['codGrupo'],
'QTDE_MAXIMA' : list[i]['qtdeMax'],
'IDADE_MIN' : list[i]['idadeMin'],
'IDADE_MAX' : list[i]['idadeMax'],
'SEXO' : list[i]['sexo'],
};
rows.add(row);
countProg = 0.2;
setState(() {});
}
await DbSqliteLoad().saveProceduresDB(rows).then((value)async{
print('finalizou save Procedures');
await ApiDataLoad().loadProcedimentosRegistros(urlAPI,mode,nameCityApi,username).then((value)async{
List list = value;
List<Map<String, dynamic>> rows = [];
if(list.length !=0){
setState(() {
messageSteps = "Etapa 3 de 11 - Gravando os Procedimentos Registros no Aplicativo";
});
print('finalizou saveProceduresRegisterDB');
for (int i = 0; i < list.length; i++) {
Map<String, dynamic> row = {
'COD_PROC_SIGTAP' : list[i]['codProcedimento'],
'CODIGO_REGISTRO' : list[i]['codRegistro'],
};
rows.add(row);
countProg = 0.3;
setState(() {});
}
await DbSqliteLoad().saveProceduresRegisterDB(rows).then((value)async{
await ApiDataLoad().loadCID(urlAPI,mode,nameCityApi,username).then((value)async{
print('loadCID');
List list = value;
List<Map<String, dynamic>> rows = [];
if(list.length !=0){
setState(() {
messageSteps = "Etapa 4 de 11 - Gravando os CIDs no Aplicativo";
});
for (int i = 0; i < list.length; i++) {
Map<String, dynamic> row = {
'CODIGO_CID' : list[i]['codCID'],
'DESCRICAO_CID' : list[i]['descCID'],
'RESTRICAO_SEXO' : list[i]['restSexo'],
};
rows.add(row);
countProg = 0.4;
setState(() {});
}
await DbSqliteLoad().saveCID(rows).then((value)async{
print('finalizou saveCID');
await ApiDataLoad().loadProcedimentosCID(urlAPI,mode,nameCityApi,username).then((value)async{
print('loadProcedimentosCID');
List list = value;
List<Map<String, dynamic>> rows = [];
if(list.length !=0){
setState(() {
messageSteps = "Etapa 5 de 11 - Gravando os Procedimentos CIDs no Aplicativo";
});
for (int i = 0; i < list.length; i++) {
Map<String, dynamic> row = {
'COD_PROC_SIGTAP' : list[i]['codProcedimento'],
'CODIGO_CID' : list[i]['codCID'],
};
rows.add(row);
countProg = 0.5;
setState(() {});
}
await DbSqliteLoad().saveProceduresCID(rows).then((value)async{
print('finalizou saveProceduresCID');
await ApiDataLoad().loadCBO(urlAPI,mode,nameCityApi,username).then((value)async{
print('loadCBO');
List list = value;
List<Map<String, dynamic>> rows = [];
if(list.length !=0){
setState(() {
messageSteps = "Etapa 6 de 11 - Gravando os CBOs no Aplicativo";
});
for (int i = 0; i < list.length; i++) {
Map<String, dynamic> row = {
'CODIGO_CBO' : list[i]['codCBO'],
'DESCRICAO_CBO' : list[i]['descCBO'],
};
rows.add(row);
countProg = 0.6;
setState(() {});
}
await DbSqliteLoad().saveCBO(rows).then((value)async{
print('finalizou saveCBO');
await ApiDataLoad().loadProcedimentosCBO(urlAPI,mode,nameCityApi,username).then((value)async{
print('loadProcedimentosCBO');
List list = value;
List<Map<String, dynamic>> rows = [];
if(list.length !=0){
setState(() {
messageSteps = "Etapa 7 de 11 - Gravando os Procedimentos CBO no Aplicativo";
});
for (int i = 0; i < list.length; i++) {
Map<String, dynamic> row = {
'COD_PROC_SIGTAP' : value[i]['codProcedimento'],
'CODIGO_CBO' : value[i]['codCBO'],
};
rows.add(row);
countProg = 0.7;
setState(() {});
}
await DbSqliteLoad().saveProceduresCBO(rows).then((value)async{
print('finalizou saveProceduresCBO');
await ApiDataLoad().loadCIAP(urlAPI,mode,nameCityApi,username).then((value)async{
print('loadCIAP');
List list = value;
List<Map<String, dynamic>> rows = [];
if(list.length != 0){
setState(() {
messageSteps = "Etapa 8 de 11 - Gravando os CIAPs no Aplicativo";
});
for(int i=0;list.length > i;i++){
Map<String, dynamic> row = {
'CODIGO_CIAP' : list[i]['codCIAP'],
'DESC_CIAP' : list[i]['descCIAP'],
'TIPO_CIAP' : list[i]['tipoCIAP'],
};
rows.add(row);
countProg = 0.8;
setState(() {});
}
await DbSqliteLoad().saveCIAP(rows).then((value)async{
print('finalizou saveCIAP');
await ApiDataLoad().loadMunicipios(urlAPI,mode,nameCityApi,username).then((value)async{
print('loadMunicipios');
List list = value;
List<Map<String, dynamic>> rows = [];
if(list.length!=0){
setState(() {
messageSteps = "Etapa 9 de 11 - Gravando os Municípios no Aplicativo";
});
for(int i=0;list.length > i;i++){
Map<String, dynamic> row = {
'ID_MUNICIPIO' : list[i]['idMunicipio'],
'CODIGO_IBGE' : list[i]['codIBGE'],
'NO_MUNICIPIO' : list[i]['nomeMunicipio'],
'UF_ESTADO' : list[i]['UF'],
'ID_PAIS' : list[i]['idPais'],
};
rows.add(row);
countProg = 0.9;
setState(() {});
}
await DbSqliteLoad().saveCity(rows).then((value)async{
await ApiDataLoad().loadEquipes(urlAPI,mode,nameCityApi,username).then((value)async{
print('loadEquipes');
List list = value;
List<Map<String, dynamic>> rows = [];
if(list.length!=0){
setState(() {
messageSteps = "Etapa 10 de 11 - Gravando as Equipes no Aplicativo";
});
for(int i=0;list.length > i;i++){
Map<String, dynamic> row = {
'ID_EQUIPE' : list[i]['idEquipe'],
'ID_UNIDADE' : list[i]['idUnidade'],
'INE' : list[i]['INE'],
'ID_ATB_AREA' : list[i]['idAtbArea'],
'AREA' : list[i]['area'],
'ID_ATB_MICROAREA': list[i]['idAtbMicroarea'],
'MICROAREA' : list[i]['microarea'],
};
rows.add(row);
countProg = 0.92;
setState(() {});
}
await DbSqliteLoad().saveTeam(rows).then((value)async{
countProg = 0.95;
setState(() {});
print('finalizou saveTeam');
await ApiDataLoad().loadEquipeComponentes(urlAPI,mode,nameCityApi,username).then((value)async{
print('loadEquipeComponentes');
List list = value;
List<Map<String, dynamic>> rows = [];
if(list.length!=0) {
setState(() {
messageSteps ="Etapa 11 de 11 - Gravando os Profissionais das Equipes no Aplicativo";
});
for(int i=0;list.length > i;i++){
Map<String, dynamic> row = {
'ID_EQUIPE' : list[i]['idEquipe'],
'ID_PROFISSIONAL' : list[i]['idProfissional'],
'ATIVO' : list[i]['ativo'],
};
rows.add(row);
countProg = 0.97;
setState(() {});
}
await DbSqliteLoad().saveTeamComponents(rows).then((value)async{
print('finalizou saveTeamComponents');
setState(() {
countProg = 1;
finish = true;
});
});
}else{
AlertDialogDefault().alert(context, 'Error', 'Profissionais Equipes não carregadas, tente novamente!', 'Voltar');
}
});
});
}else{
AlertDialogDefault().alert(context, 'Error', 'Equipes não carregadas, tente novamente!', 'Voltar');
}
});
});
}else{
AlertDialogDefault().alert(context, 'Error', 'Municípios não carregados, tente novamente!', 'Voltar');
}
});
});
}else{
AlertDialogDefault().alert(context, 'Error', 'CIAPs não carregados, tente novamente!', 'Voltar');
}
});
});
}else{
AlertDialogDefault().alert(context, 'Error', 'Procedimentos CBOs não carregados, tente novamente!', 'Voltar');
}
});
});
}else{
AlertDialogDefault().alert(context, 'Error', 'CBOs não carregados, tente novamente!', 'Voltar');
}
});
});
}else{
AlertDialogDefault().alert(context, 'Error', 'Procedimentos CIDs não carregados, tente novamente!', 'Voltar');
}
});
});
}else{
AlertDialogDefault().alert(context, 'Error', 'CIDs não carregados, tente novamente!', 'Voltar');
}
});
});
}else{
AlertDialogDefault().alert(context, 'Error', 'Procedimentos Registros não carregados, tente novamente!', 'Voltar');
}
});
});
}else{
AlertDialogDefault().alert(context, 'Error', 'Procedimentos não carregados, tente novamente!', 'Voltar');
}
});
});
}else{
AlertDialogDefault().alert(context, 'Error', 'Unidades não carregadas, tente novamente!', 'Voltar');
} }
await DbSqliteLoad().saveEtniasIndigenasDB(rows).then((value)async{
await ApiDataLoad().loadUnidades(urlAPI,mode,nameCityApi,username).then((value)async{
List list = value;
List<Map<String, dynamic>> rows = [];
if(list.length !=0){
setState(() {
messageSteps = "Etapa 2 de 12 - Gravando as Unidades no Aplicativo";
});
for (int i = 0; i < list.length; i++) {
Map<String, dynamic> row = {
'ID_UNIDADE': list[i]['idUnidade'],
'NOME_UNIDADE': list[i]['nomeFantasia'],
'CNES_UNIDADE': list[i]['nrCNES']
};
rows.add(row);
// countProg = 0.1;
// setState(() {});
}
await DbSqliteLoad().saveUnidadesDB(rows).then((value)async{
await ApiDataLoad().loadProcedimentos(urlAPI,mode,nameCityApi,username).then((value)async{
List list = value;
List<Map<String, dynamic>> rows = [];
if(list.length !=0){
setState(() {
messageSteps = "Etapa 3 de 12 - Gravando os Procedimentos no Aplicativo";
});
for (int i = 0; i < list.length; i++) {
Map<String, dynamic> row = {
'COD_PROC_SIGTAP' : list[i]['codProcedimento'],
'DESC_PROC_SIGTAP' : list[i]['nome'],
'GRUPO_PROC_SIGTAP' : list[i]['codGrupo'],
'QTDE_MAXIMA' : list[i]['qtdeMax'],
'IDADE_MIN' : list[i]['idadeMin'],
'IDADE_MAX' : list[i]['idadeMax'],
'SEXO' : list[i]['sexo'],
};
rows.add(row);
countProg = 0.2;
setState(() {});
}
await DbSqliteLoad().saveProceduresDB(rows).then((value)async{
print('finalizou save Procedures');
await ApiDataLoad().loadProcedimentosRegistros(urlAPI,mode,nameCityApi,username).then((value)async{
List list = value;
List<Map<String, dynamic>> rows = [];
if(list.length !=0){
setState(() {
messageSteps = "Etapa 4 de 12 - Gravando os Procedimentos Registros no Aplicativo";
});
print('finalizou saveProceduresRegisterDB');
for (int i = 0; i < list.length; i++) {
Map<String, dynamic> row = {
'COD_PROC_SIGTAP' : list[i]['codProcedimento'],
'CODIGO_REGISTRO' : list[i]['codRegistro'],
};
rows.add(row);
countProg = 0.3;
setState(() {});
}
await DbSqliteLoad().saveProceduresRegisterDB(rows).then((value)async{
await ApiDataLoad().loadCID(urlAPI,mode,nameCityApi,username).then((value)async{
print('loadCID');
List list = value;
List<Map<String, dynamic>> rows = [];
if(list.length !=0){
setState(() {
messageSteps = "Etapa 5 de 12 - Gravando os CIDs no Aplicativo";
});
for (int i = 0; i < list.length; i++) {
Map<String, dynamic> row = {
'CODIGO_CID' : list[i]['codCID'],
'DESCRICAO_CID' : list[i]['descCID'],
'RESTRICAO_SEXO' : list[i]['restSexo'],
};
rows.add(row);
countProg = 0.4;
setState(() {});
}
await DbSqliteLoad().saveCID(rows).then((value)async{
print('finalizou saveCID');
await ApiDataLoad().loadProcedimentosCID(urlAPI,mode,nameCityApi,username).then((value)async{
print('loadProcedimentosCID');
List list = value;
List<Map<String, dynamic>> rows = [];
if(list.length !=0){
setState(() {
messageSteps = "Etapa 6 de 12 - Gravando os Procedimentos CIDs no Aplicativo";
});
for (int i = 0; i < list.length; i++) {
Map<String, dynamic> row = {
'COD_PROC_SIGTAP' : list[i]['codProcedimento'],
'CODIGO_CID' : list[i]['codCID'],
};
rows.add(row);
countProg = 0.5;
setState(() {});
}
await DbSqliteLoad().saveProceduresCID(rows).then((value)async{
print('finalizou saveProceduresCID');
await ApiDataLoad().loadCBO(urlAPI,mode,nameCityApi,username).then((value)async{
print('loadCBO');
List list = value;
List<Map<String, dynamic>> rows = [];
if(list.length !=0){
setState(() {
messageSteps = "Etapa 8 de 12 - Gravando os CBOs no Aplicativo";
});
for (int i = 0; i < list.length; i++) {
Map<String, dynamic> row = {
'CODIGO_CBO' : list[i]['codCBO'],
'DESCRICAO_CBO' : list[i]['descCBO'],
};
rows.add(row);
countProg = 0.6;
setState(() {});
}
await DbSqliteLoad().saveCBO(rows).then((value)async{
print('finalizou saveCBO');
await ApiDataLoad().loadProcedimentosCBO(urlAPI,mode,nameCityApi,username).then((value)async{
print('loadProcedimentosCBO');
List list = value;
List<Map<String, dynamic>> rows = [];
if(list.length !=0){
setState(() {
messageSteps = "Etapa 8 de 12 - Gravando os Procedimentos CBO no Aplicativo";
});
for (int i = 0; i < list.length; i++) {
Map<String, dynamic> row = {
'COD_PROC_SIGTAP' : value[i]['codProcedimento'],
'CODIGO_CBO' : value[i]['codCBO'],
};
rows.add(row);
countProg = 0.7;
setState(() {});
}
await DbSqliteLoad().saveProceduresCBO(rows).then((value)async{
print('finalizou saveProceduresCBO');
await ApiDataLoad().loadCIAP(urlAPI,mode,nameCityApi,username).then((value)async{
print('loadCIAP');
List list = value;
List<Map<String, dynamic>> rows = [];
if(list.length != 0){
setState(() {
messageSteps = "Etapa 9 de 12 - Gravando os CIAPs no Aplicativo";
});
for(int i=0;list.length > i;i++){
Map<String, dynamic> row = {
'CODIGO_CIAP' : list[i]['codCIAP'],
'DESC_CIAP' : list[i]['descCIAP'],
'TIPO_CIAP' : list[i]['tipoCIAP'],
};
rows.add(row);
countProg = 0.8;
setState(() {});
}
await DbSqliteLoad().saveCIAP(rows).then((value)async{
print('finalizou saveCIAP');
await ApiDataLoad().loadMunicipios(urlAPI,mode,nameCityApi,username).then((value)async{
print('loadMunicipios');
List list = value;
List<Map<String, dynamic>> rows = [];
if(list.length!=0){
setState(() {
messageSteps = "Etapa 10 de 12 - Gravando os Municípios no Aplicativo";
});
for(int i=0;list.length > i;i++){
Map<String, dynamic> row = {
'ID_MUNICIPIO' : list[i]['idMunicipio'],
'CODIGO_IBGE' : list[i]['codIBGE'],
'NO_MUNICIPIO' : list[i]['nomeMunicipio'],
'UF_ESTADO' : list[i]['UF'],
'ID_PAIS' : list[i]['idPais'],
};
rows.add(row);
countProg = 0.9;
setState(() {});
}
await DbSqliteLoad().saveCity(rows).then((value)async{
await ApiDataLoad().loadEquipes(urlAPI,mode,nameCityApi,username).then((value)async{
print('loadEquipes');
List list = value;
List<Map<String, dynamic>> rows = [];
if(list.length!=0){
setState(() {
messageSteps = "Etapa 11 de 12 - Gravando as Equipes no Aplicativo";
});
for(int i=0;list.length > i;i++){
Map<String, dynamic> row = {
'ID_EQUIPE' : list[i]['idEquipe'],
'ID_UNIDADE' : list[i]['idUnidade'],
'INE' : list[i]['INE'],
'ID_ATB_AREA' : list[i]['idAtbArea'],
'AREA' : list[i]['area'],
'ID_ATB_MICROAREA': list[i]['idAtbMicroarea'],
'MICROAREA' : list[i]['microarea'],
};
rows.add(row);
countProg = 0.92;
setState(() {});
}
await DbSqliteLoad().saveTeam(rows).then((value)async{
countProg = 0.95;
setState(() {});
print('finalizou saveTeam');
await ApiDataLoad().loadEquipeComponentes(urlAPI,mode,nameCityApi,username).then((value)async{
print('loadEquipeComponentes');
List list = value;
List<Map<String, dynamic>> rows = [];
if(list.length!=0) {
setState(() {
messageSteps ="Etapa 12 de 12 - Gravando os Profissionais das Equipes no Aplicativo";
});
for(int i=0;list.length > i;i++){
Map<String, dynamic> row = {
'ID_EQUIPE' : list[i]['idEquipe'],
'ID_PROFISSIONAL' : list[i]['idProfissional'],
'ATIVO' : list[i]['ativo'],
};
rows.add(row);
countProg = 0.97;
setState(() {});
}
await DbSqliteLoad().saveTeamComponents(rows).then((value)async{
print('finalizou saveTeamComponents');
setState(() {
countProg = 1;
finish = true;
});
});
}else{
AlertDialogDefault().alert(context, 'Error', 'Profissionais Equipes não carregadas, tente novamente!', 'Voltar');
}
});
});
}else{
AlertDialogDefault().alert(context, 'Error', 'Equipes não carregadas, tente novamente!', 'Voltar');
}
});
});
}else{
AlertDialogDefault().alert(context, 'Error', 'Municípios não carregados, tente novamente!', 'Voltar');
}
});
});
}else{
AlertDialogDefault().alert(context, 'Error', 'CIAPs não carregados, tente novamente!', 'Voltar');
}
});
});
}else{
AlertDialogDefault().alert(context, 'Error', 'Procedimentos CBOs não carregados, tente novamente!', 'Voltar');
}
});
});
}else{
AlertDialogDefault().alert(context, 'Error', 'CBOs não carregados, tente novamente!', 'Voltar');
}
});
});
}else{
AlertDialogDefault().alert(context, 'Error', 'Procedimentos CIDs não carregados, tente novamente!', 'Voltar');
}
});
});
}else{
AlertDialogDefault().alert(context, 'Error', 'CIDs não carregados, tente novamente!', 'Voltar');
}
});
});
}else{
AlertDialogDefault().alert(context, 'Error', 'Procedimentos Registros não carregados, tente novamente!', 'Voltar');
}
});
});
}else{
AlertDialogDefault().alert(context, 'Error', 'Procedimentos não carregados, tente novamente!', 'Voltar');
}
});
});
}else{
AlertDialogDefault().alert(context, 'Error', 'Unidades não carregadas, tente novamente!', 'Voltar');
}
});
});
}); });
} }
}); });

View File

@@ -4,6 +4,7 @@ import 'package:flutter/services.dart';
import 'package:intl/intl.dart'; import 'package:intl/intl.dart';
import 'package:rkm/config/color_palette.dart'; import 'package:rkm/config/color_palette.dart';
import 'package:rkm/config/const_variable.dart'; import 'package:rkm/config/const_variable.dart';
import 'package:rkm/models/drop_down_data_string_model.dart';
import 'package:rkm/models/pais_modelo.dart'; import 'package:rkm/models/pais_modelo.dart';
import 'package:rkm/widgets/alert_dialog_default.dart'; import 'package:rkm/widgets/alert_dialog_default.dart';
import 'package:rkm/widgets/button_default.dart'; import 'package:rkm/widgets/button_default.dart';
@@ -16,6 +17,7 @@ import '../../service/db/db_sqlite_load.dart';
import '../../service/db/db_sqlite_sync.dart'; import '../../service/db/db_sqlite_sync.dart';
import '../../service/shared_preferences/shared_preferences_service.dart'; import '../../service/shared_preferences/shared_preferences_service.dart';
import '../../widgets/appbar_default.dart'; import '../../widgets/appbar_default.dart';
import '../../widgets/dropdown_etnia_indigena.dart';
import '../../widgets/dropdown_with_subtitle.dart'; import '../../widgets/dropdown_with_subtitle.dart';
import '../../widgets/error_default.dart'; import '../../widgets/error_default.dart';
import '../../widgets/input_search_text.dart'; import '../../widgets/input_search_text.dart';
@@ -108,6 +110,7 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
String? selectMaritalStatus; String? selectMaritalStatus;
int? selectMaritalStatusCod; int? selectMaritalStatusCod;
String? selectBreed; String? selectBreed;
DropDownDataStringModel? selectEtniaIndigena;
int? selectBreedCod; int? selectBreedCod;
String? selectScooling; String? selectScooling;
int? selectScoolingCod; int? selectScoolingCod;
@@ -146,6 +149,7 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
List<String> listScooling = []; List<String> listScooling = [];
List<String> listBreed = []; List<String> listBreed = [];
List<String> listMaritalStatus = []; List<String> listMaritalStatus = [];
List<DropDownDataStringModel> listEtniasIndigenas = [];
String idUnidade = ''; String idUnidade = '';
String codSus = ''; String codSus = '';
bool edit = false; bool edit = false;
@@ -190,6 +194,28 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
return formattedDate; return formattedDate;
} }
getEtniasIndigenas()async{
Database db = await DbSqliteLoad().intialDB();
var query = "SELECT * FROM ETNIAS_INDIGENAS";
List list = await db.rawQuery(query);
for(int i = 0; list.length > i ; i++ ){
listEtniasIndigenas.add(DropDownDataStringModel(cod: list[i]['ID_ETNIA_INDIGENA'], title: list[i]['DESC_ETNIA_INDIGENA']));
}
print('antes');
print(listEtniasIndigenas.length);
List<DropDownDataStringModel> listaSemDuplicatas = listEtniasIndigenas.toSet().toList();
listEtniasIndigenas = listaSemDuplicatas;
print('depois');
print(listEtniasIndigenas.length);
if(widget.listData.length!=0){
getData();
edit = true;
showTab = true;
}
}
getUnit()async{ getUnit()async{
Database db = await DbSqliteLoad().intialDB(); Database db = await DbSqliteLoad().intialDB();
var queryControl = "SELECT * FROM CONTROLE_INTERNO"; var queryControl = "SELECT * FROM CONTROLE_INTERNO";
@@ -207,13 +233,11 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
Database db = await DbSqliteLoad().intialDB(); Database db = await DbSqliteLoad().intialDB();
var queryCity = "SELECT * FROM ARGS"; var queryCity = "SELECT * FROM ARGS";
List listCity = await db.rawQuery(queryCity); List listCity = await db.rawQuery(queryCity);
// print(listCity);
setState(() { setState(() {
cityController.text = '${listCity[0]['NAME_CITY_FRONT']} - ${listCity[0]['COD_STATE']}'.toUpperCase(); cityController.text = '${listCity[0]['NAME_CITY_FRONT']} - ${listCity[0]['COD_STATE']}'.toUpperCase();
codIBGEController.text = listCity[0]['COD_IBGE'].toString(); codIBGEController.text = listCity[0]['COD_IBGE'].toString();
}); });
String city = MainControllers().replaceDefaul(listCity[0]['NAME_CITY_FRONT']); String city = MainControllers().replaceDefaul(listCity[0]['NAME_CITY_FRONT']);
// print(city);
resultListResid = await DBQuerys().buscaMunicipioporNome(city); resultListResid = await DBQuerys().buscaMunicipioporNome(city);
} }
@@ -229,7 +253,6 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
villageDB.add(widget.listData[0]['NO_BAIRRO_LOGR']); villageDB.add(widget.listData[0]['NO_BAIRRO_LOGR']);
} }
} }
// print(villageDB);
setState(() {}); setState(() {});
} }
@@ -240,16 +263,12 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
for(int i=0; list.length > i;i++){ for(int i=0; list.length > i;i++){
typeStreetDB.add('${list[i]['NO_LOGR_TIPO']}'); typeStreetDB.add('${list[i]['NO_LOGR_TIPO']}');
} }
// print('oque');
// print(typeStreetDB);
setState(() {}); setState(() {});
} }
loadStreetDB()async{ loadStreetDB()async{
streetDB=[]; streetDB=[];
Database db = await DbSqliteLoad().intialDB(); 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";
// {ID_LOGR_ENDERECO: 14, ID_LOGR_TIPO: 27, DESC_LOGR_ENDERECO: NICOLAU MAROTTI, ID_BAIRRO: 135},
var query = "SELECT * FROM LOGRADOUROS_ENDERECOS WHERE ID_BAIRRO = $idBairro AND ID_LOGR_TIPO = $idTipo ORDER BY DESC_LOGR_ENDERECO"; var query = "SELECT * FROM LOGRADOUROS_ENDERECOS WHERE ID_BAIRRO = $idBairro AND ID_LOGR_TIPO = $idTipo ORDER BY DESC_LOGR_ENDERECO";
List list = await db.rawQuery(query); List list = await db.rawQuery(query);
@@ -360,6 +379,7 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
selectClassification==null || selectClassification==null ||
selectCountry==null || selectCountry==null ||
date == 'Data de Nascimento'|| date == 'Data de Nascimento'||
date == 'Data de Nascimento'||
cityBirthController.text.isEmpty || cityBirthController.text.isEmpty ||
mobileDDDController.text.isEmpty || mobileDDDController.text.isEmpty ||
mobileController.text.isEmpty || mobileController.text.isEmpty ||
@@ -390,8 +410,6 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
} }
//sdsafdsf //sdsafdsf
saveCitizen()async{ saveCitizen()async{
print('NISController.text');
print(NISController.text);
Map<String, dynamic> row = { Map<String, dynamic> row = {
'ID_CIDADAO' : idCidadao, 'ID_CIDADAO' : idCidadao,
'CD_USUARIO_SUS' : codSus, 'CD_USUARIO_SUS' : codSus,
@@ -406,6 +424,7 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
'NO_MUNICIPIO_NASC' : resultListNasc[0]['NO_MUNICIPIO'], 'NO_MUNICIPIO_NASC' : resultListNasc[0]['NO_MUNICIPIO'],
'ESTADO_UF_NASC' : resultListNasc[0]['UF_ESTADO'], 'ESTADO_UF_NASC' : resultListNasc[0]['UF_ESTADO'],
'ID_ETNIA' : selectBreedCod, 'ID_ETNIA' : selectBreedCod,
'ID_ETNIA_INDIGENA' : selectEtniaIndigena!.cod.toString().trim(),
'ID_ESCOLARIDADE' : selectScoolingCod, 'ID_ESCOLARIDADE' : selectScoolingCod,
'ID_DEFICIENCIA' : selectDeficiencyCod, 'ID_DEFICIENCIA' : selectDeficiencyCod,
'NOME_MAE' : nameMotherController.text, 'NOME_MAE' : nameMotherController.text,
@@ -521,8 +540,6 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
} }
getData()async{ getData()async{
// print('passou');
// print(widget.listData[0]['ID_USUARIO_CADASTRO']);
idCidadao = widget.listData[0]['ID_CIDADAO']; idCidadao = widget.listData[0]['ID_CIDADAO'];
codSus = widget.listData[0]['CD_USUARIO_SUS']; codSus = widget.listData[0]['CD_USUARIO_SUS'];
nameController.text = widget.listData[0]['NOME_CIDADAO']; nameController.text = widget.listData[0]['NOME_CIDADAO'];
@@ -538,6 +555,9 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
} }
} }
spouseController.text = widget.listData[0]['NOME_CONJUGE']; spouseController.text = widget.listData[0]['NOME_CONJUGE'];
if(spouseController.text.isNotEmpty){
enableSpouse = true;
}
selectNaturalityCod = widget.listData[0]['NACIONALIDADE']; selectNaturalityCod = widget.listData[0]['NACIONALIDADE'];
if(selectNaturalityCod==1){ if(selectNaturalityCod==1){
selectNaturality = 'BRASILEIRO'; selectNaturality = 'BRASILEIRO';
@@ -558,6 +578,18 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
selectBreed = ConstVariable().listBreed[i].title; selectBreed = ConstVariable().listBreed[i].title;
} }
} }
if(widget.listData[0]['ID_ETNIA_INDIGENA']!=null &&widget.listData[0]['ID_ETNIA_INDIGENA']!=''){
print('${widget.listData[0]['ID_ETNIA_INDIGENA']}');
for(int i = 0; listEtniasIndigenas.length >i;i++){
if(listEtniasIndigenas[i].cod == widget.listData[0]['ID_ETNIA_INDIGENA'].toString().trim()){
selectEtniaIndigena = DropDownDataStringModel(cod: listEtniasIndigenas[i].cod.toString().trim(), title: listEtniasIndigenas[i].title.toString().trim());
print('load');
print(selectEtniaIndigena!.cod);
print(selectEtniaIndigena!.title);
}
}
}
for(int i = 0;ConstVariable().listScooling.length >i;i++){ for(int i = 0;ConstVariable().listScooling.length >i;i++){
if(ConstVariable().listScooling[i].cod == widget.listData[0]['ID_ESCOLARIDADE']){ if(ConstVariable().listScooling[i].cod == widget.listData[0]['ID_ESCOLARIDADE']){
selectScoolingCod = ConstVariable().listScooling[i].cod; selectScoolingCod = ConstVariable().listScooling[i].cod;
@@ -599,8 +631,8 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
for(int i = 0; ConstVariable().paises.length > i;i++){ for(int i = 0; ConstVariable().paises.length > i;i++){
if(ConstVariable().paises[i].ID_PAIS_RESID == widget.listData[0]['ID_PAIS_RESID']){ if(ConstVariable().paises[i].ID_PAIS_RESID == widget.listData[0]['ID_PAIS_RESID']){
selectCountry = ConstVariable().paises[i]; selectCountry = ConstVariable().paises[i];
print(selectCountry!.ID_PAIS_RESID); // print(selectCountry!.ID_PAIS_RESID);
print(selectCountry!.PAIS); // print(selectCountry!.PAIS);
} }
} }
} }
@@ -651,6 +683,7 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
RGOrganController.text = widget.listData[0]['RG_ORGAO']==null?'':widget.listData[0]['RG_ORGAO']; RGOrganController.text = widget.listData[0]['RG_ORGAO']==null?'':widget.listData[0]['RG_ORGAO'];
RGDateController.text = widget.listData[0]['RG_DATA_EMISSAO']==null?'':widget.listData[0]['RG_DATA_EMISSAO']; RGDateController.text = widget.listData[0]['RG_DATA_EMISSAO']==null?'':widget.listData[0]['RG_DATA_EMISSAO'];
RGDateDB = RGDateController.text; RGDateDB = RGDateController.text;
if(widget.listData[0]['TIPO_CERTIDAO'] is int){ if(widget.listData[0]['TIPO_CERTIDAO'] is int){
selectTypeCertificateCod = widget.listData[0]['TIPO_CERTIDAO']; selectTypeCertificateCod = widget.listData[0]['TIPO_CERTIDAO'];
}else{ }else{
@@ -660,9 +693,10 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
for(int i = 0;ConstVariable().itensCertificate.length >i;i++){ for(int i = 0;ConstVariable().itensCertificate.length >i;i++){
if(ConstVariable().itensCertificate[i].cod == selectTypeCertificateCod){ if(ConstVariable().itensCertificate[i].cod == selectTypeCertificateCod){
selectTypeCertificate = ConstVariable().itensCertificate[i].title; selectTypeCertificate = ConstVariable().itensCertificate[i].title;
break;
} }
break;
} }
numberCertificateController.text = widget.listData[0]['NUM_CERTIDAO']??''; numberCertificateController.text = widget.listData[0]['NUM_CERTIDAO']??'';
nameCertificateController.text = widget.listData[0]['CARTORIO_CERTIDAO']??''; nameCertificateController.text = widget.listData[0]['CARTORIO_CERTIDAO']??'';
bookCertificateController.text = widget.listData[0]['LIVRO_CERTIDAO']??''; bookCertificateController.text = widget.listData[0]['LIVRO_CERTIDAO']??'';
@@ -689,17 +723,13 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
super.initState(); super.initState();
searchCityBirthController.addListener(_searchCityBirth); searchCityBirthController.addListener(_searchCityBirth);
searchCityController.addListener(_searchCity); searchCityController.addListener(_searchCity);
getEtniasIndigenas();
getCity(); getCity();
getUnit(); getUnit();
loadVillgeDB(); loadVillgeDB();
loadTypeStreetDB(); loadTypeStreetDB();
loadSubdivisionsDB(); loadSubdivisionsDB();
loadLists(); loadLists();
if(widget.listData.length!=0){
getData();
edit = true;
showTab = true;
}
} }
@override @override
@@ -882,6 +912,7 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
}); });
}, },
), ),
InputWithSubtitle( InputWithSubtitle(
controller: spouseController, controller: spouseController,
subtitle: 'Cônjuge', subtitle: 'Cônjuge',
@@ -1067,6 +1098,7 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
for(int i = 0;ConstVariable().listBreed.length >i;i++){ for(int i = 0;ConstVariable().listBreed.length >i;i++){
if(ConstVariable().listBreed[i].title == selectBreed){ if(ConstVariable().listBreed[i].title == selectBreed){
selectBreedCod = ConstVariable().listBreed[i].cod; selectBreedCod = ConstVariable().listBreed[i].cod;
selectEtniaIndigena = null;
print(selectBreedCod); print(selectBreedCod);
} }
} }
@@ -1074,6 +1106,20 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
}, },
), ),
selectBreed==null&& mandatory?ErrorDefault():Container(), selectBreed==null&& mandatory?ErrorDefault():Container(),
DropDownEtniaIndigena(
title: 'Etnia Indígena',
width: width*0.69,
list: listEtniasIndigenas,
select: selectEtniaIndigena,
onChanged:!edit&&selectBreedCod!=5?null: (value){
setState(() {
selectEtniaIndigena = value!;
print(selectEtniaIndigena!.cod);
print(selectEtniaIndigena!.title);
});
},
),
selectBreedCod==5 &&selectEtniaIndigena==null && mandatory?ErrorDefault():Container(),
DropdownWithSubtitle( DropdownWithSubtitle(
list: listScooling, list: listScooling,
subtitle: 'Escolaridade', subtitle: 'Escolaridade',
@@ -1127,7 +1173,7 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
enabled: !enableMother && !edit, enabled: !enableMother && !edit,
onChanged: (v)=>setState((){}), onChanged: (v)=>setState((){}),
), ),
!enableMother&& mandatory?ErrorDefault():Container(), !enableMother && nameMotherController.text.isEmpty && mandatory?ErrorDefault():Container(),
SwitchWithSubtitle( SwitchWithSubtitle(
width: width*0.65, width: width*0.65,
title: 'Desconhece Mãe', title: 'Desconhece Mãe',
@@ -1153,7 +1199,7 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
enabled: !enableFather && !edit, enabled: !enableFather && !edit,
onChanged: (v)=>setState((){}), onChanged: (v)=>setState((){}),
), ),
!enableFather&& mandatory?ErrorDefault():Container(), !enableFather&& nameFatherController.text.isEmpty && mandatory?ErrorDefault():Container(),
SwitchWithSubtitle( SwitchWithSubtitle(
width: width*0.65, width: width*0.65,
title: 'Desconhece Pai', title: 'Desconhece Pai',

View File

@@ -226,11 +226,13 @@ class _RegisterIndividualScreenState extends State<RegisterIndividualScreen> {
loadCadIndividual()async{ loadCadIndividual()async{
ID_CIDADAO = widget.listData[0]['ID_CIDADAO']; ID_CIDADAO = widget.listData[0]['ID_CIDADAO'];
print(widget.listData[0]['ID_CAD_INDIVIDUAL']); // print(widget.listData[0]['ID_CAD_INDIVIDUAL']);
print('ID_CIDADAO');
print(ID_CIDADAO); print(ID_CIDADAO);
await DBQuerys().buscaCadInvidual(ID_CIDADAO).then((dataCitizen)async{ await DBQuerys().buscaCadInvidual(ID_CIDADAO).then((dataCitizen)async{
if(dataCitizen.length != 0) {
if(dataCitizen.isNotEmpty) {
ID_PROFISSIONAL = dataCitizen[0]['ID_RESP_CADASTRO']; ID_PROFISSIONAL = dataCitizen[0]['ID_RESP_CADASTRO'];
TIPO_SALVAR = 'update'; TIPO_SALVAR = 'update';
showTab = true; showTab = true;
@@ -422,12 +424,13 @@ class _RegisterIndividualScreenState extends State<RegisterIndividualScreen> {
OUTROS_HIGIENE = dataCitizen[0]['OUTROS_HIGIENE'] == 1 ? true : false; OUTROS_HIGIENE = dataCitizen[0]['OUTROS_HIGIENE'] == 1 ? true : false;
CBO_RESP_CADASTRO = dataCitizen[0]['CBO_RESP_CADASTRO'].toString(); CBO_RESP_CADASTRO = dataCitizen[0]['CBO_RESP_CADASTRO'].toString();
date_cad = dataCitizen[0]['DT_CADASTRO']??''; date_cad = dataCitizen[0]['DT_CADASTRO']??'';
// print('data $date_cad');
List splitted = date_cad.toString().split('-'); List splitted = date_cad.toString().split('-');
DT_CADASTRO.text = splitted.length<2?'':'${splitted[2]}/${splitted[1]}/${splitted[0]}'; DT_CADASTRO.text = splitted.length<2?'':'${splitted[2]}/${splitted[1]}/${splitted[0]}';
CNES_RESP_CADASTRO.text = dataCitizen[0]['CNES_RESP_CADASTRO']??'';
setState(() {}); setState(() {});
}else{
showTab = true;
} }
CNES_RESP_CADASTRO.text = dataCitizen[0]['CNES_RESP_CADASTRO']=='null'?'':dataCitizen[0]['CNES_RESP_CADASTRO'];
if(listINE.length == 0){ if(listINE.length == 0){
List list = await DBQuerys().buscaDadosProfissional(idUnidade,idUsuario); List list = await DBQuerys().buscaDadosProfissional(idUnidade,idUsuario);
for(int i=0; list.length > i;i++){ for(int i=0; list.length > i;i++){

View File

@@ -7,6 +7,7 @@ import 'package:rkm/models/drop_down_data_model.dart';
import 'package:rkm/service/db/db_sqlite_Sigtap.dart'; import 'package:rkm/service/db/db_sqlite_Sigtap.dart';
import 'package:rkm/widgets/alert_dialog_default.dart'; import 'package:rkm/widgets/alert_dialog_default.dart';
import 'package:rkm/widgets/appbar_default.dart'; import 'package:rkm/widgets/appbar_default.dart';
import 'package:sqflite/sqflite.dart';
import '../../config/const_variable.dart'; import '../../config/const_variable.dart';
import '../../models/drop_down_data_string_model.dart'; import '../../models/drop_down_data_string_model.dart';
import '../../service/api/api_data_import_sigtap.dart'; import '../../service/api/api_data_import_sigtap.dart';
@@ -24,16 +25,16 @@ import '../../widgets/text_default.dart';
import '../../widgets/title_containers.dart'; import '../../widgets/title_containers.dart';
import '../home_screen.dart'; import '../home_screen.dart';
class ServiceHomeScreen extends StatefulWidget { class AtendimentoDomiciliarTela extends StatefulWidget {
String name; String name;
String username; String username;
ServiceHomeScreen({required this.name,required this.username}); AtendimentoDomiciliarTela({required this.name,required this.username});
@override @override
State<ServiceHomeScreen> createState() => _ServiceHomeScreenState(); State<AtendimentoDomiciliarTela> createState() => _AtendimentoDomiciliarTelaState();
} }
class _ServiceHomeScreenState extends State<ServiceHomeScreen> { class _AtendimentoDomiciliarTelaState extends State<AtendimentoDomiciliarTela> {
var NOME_PROFISSIONAL = TextEditingController(); var NOME_PROFISSIONAL = TextEditingController();
var CNES_UNIDADE = TextEditingController(); var CNES_UNIDADE = TextEditingController();
@@ -56,7 +57,7 @@ class _ServiceHomeScreenState extends State<ServiceHomeScreen> {
int TIPO_ATENDIMENTO_COD=0; int TIPO_ATENDIMENTO_COD=0;
int MODALIDADE_COD=0; int MODALIDADE_COD=0;
int TURNO_COD=0; int TURNO_COD=0;
int CIAP_COD=0; String CIAP_COD='';
int CONDUTA_COD=0; int CONDUTA_COD=0;
int ID_EQUIPE=0; int ID_EQUIPE=0;
String CID_COD=''; String CID_COD='';
@@ -80,7 +81,7 @@ class _ServiceHomeScreenState extends State<ServiceHomeScreen> {
List <String>typeModelService = []; List <String>typeModelService = [];
List <String>typeTurnService = []; List <String>typeTurnService = [];
List <String>listINEPROF = []; List <String>listINEPROF = [];
List<DropDownDataModel> listCIAP = []; List<DropDownDataStringModel> listCIAP = [];
List<DropDownDataStringModel> listCID = []; List<DropDownDataStringModel> listCID = [];
List<String> PROCEDIMENTOS_SIGTAP = []; List<String> PROCEDIMENTOS_SIGTAP = [];
List<String> ATENDS_DOM_PROC = []; List<String> ATENDS_DOM_PROC = [];
@@ -137,6 +138,8 @@ class _ServiceHomeScreenState extends State<ServiceHomeScreen> {
// print('idUsuario get'); // print('idUsuario get');
// print(idUsuario); // print(idUsuario);
loadData(); loadData();
getPro();
// getProcedimentos();
} }
}); });
_prefService.readCacheUnidade().then((value){ _prefService.readCacheUnidade().then((value){
@@ -146,16 +149,28 @@ class _ServiceHomeScreenState extends State<ServiceHomeScreen> {
} }
}); });
await DBQuerys().buscaCIAP().then((list){ await DBQuerys().buscaCIAP().then((list){
listCIAP.add(DropDownDataModel(cod: int.parse(list['CODIGO_CIAP']), title: list['DESC_CIAP'])); for(int i = 0 ; list.length > i ; i++){
listCIAP.add(DropDownDataStringModel(cod: list[i]['CODIGO_CIAP'], title: list[i]['DESC_CIAP']));
}
}); });
await DBQuerys().buscaCID().then((list){ await DBQuerys().buscaCID().then((list){
listCID.add(DropDownDataStringModel(cod: list['CODIGO_CID'], title: list['DESCRICAO_CID'])); for(int i = 0 ; list.length > i ; i++){
listCID.add(DropDownDataStringModel(cod: list[i]['CODIGO_CID'], title: list[i]['DESCRICAO_CID']));
}
}); });
} }
loadData()async{ loadData()async{
// print('idUsuario'); // print('idUsuario');
// print(idUsuario); // print(idUsuario);
await DBQuerys().buscaAtendDomProc().then((value){
for(int i = 0 ; value.length > i ; i++){
PROCEDIMENTOS_SIGTAP.add('${value[i]['COD_PROC_SIGTAP']} - ${value[i]['DESC_PROC_SIGTAP']}');
}
});
await DBQuerys().buscaProfissionalCadInd(idUsuario).then((list){ await DBQuerys().buscaProfissionalCadInd(idUsuario).then((list){
ID_PROFISSIONAL = list['ID_PROFISSIONAL']; ID_PROFISSIONAL = list['ID_PROFISSIONAL'];
NOME_PROFISSIONAL.text = list['NOME_PROFISSIONAL']; NOME_PROFISSIONAL.text = list['NOME_PROFISSIONAL'];
@@ -163,64 +178,7 @@ class _ServiceHomeScreenState extends State<ServiceHomeScreen> {
if(CNS_PROFISSIONAL == 999999999999999 || CNS_PROFISSIONAL == '999999999999999'){ if(CNS_PROFISSIONAL == 999999999999999 || CNS_PROFISSIONAL == '999999999999999'){
CNS_VALIDO = true; CNS_VALIDO = true;
} }
setState(() {});
}); });
await DBQuerys().buscaCBOProfissional(idUsuario).then((list)async{
if(list.length!=0){
for(int i = 0; list.length>i;i++){
listCBO.add(list[i]['CODIGO_CBO'].toString());
}
}
if(listCBO.isNotEmpty){
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'];
}).then((value)async{
//sigtap
for(int i = 0; listCBO.length>i;i++){
print(listCBO[i]);
await DBQuerys().buscaCBOSProfissional(listCBO[i]).then((sigtap)async{
print('indice $i');
print(sigtap);
if(listCBO[i]==sigtap[0]['CODIGO_CBO']){
PROCEDIMENTOS_SIGTAP.add(sigtap[0]['CODIGO_CBO']+' - ' + sigtap[0]['DESCRICAO_CBO']);
List<String> aux = PROCEDIMENTOS_SIGTAP.toSet().toList();
PROCEDIMENTOS_SIGTAP = aux;
}
});
}
print(PROCEDIMENTOS_SIGTAP);
setState(() {});
// await ApiDataImportSigtap().loadSIGTAP(urlAPI, mode, nameCityApi).then((value)async{
// List<dynamic> procedimentos = value['procedimentos'];
// print(procedimentos.length);
// print(procedimentos);
// if(procedimentos.isNotEmpty){
// await DbSqliteSigtap().saveProceduresSigtapDB(procedimentos).then((db)async{
// List list = await db.query('PROCEDIMENTOS_SIGTAP');
// for(int i = 0; list.length>i;i++){
// if(list[i]['COD_PROC_SIGTAP']!=null && list[i]['DESC_PROC_SIGTAP']!=null){
// PROCEDIMENTOS_SIGTAP.add(list[i]['COD_PROC_SIGTAP']+' - ' + list[i]['DESC_PROC_SIGTAP']);
// List<String> aux = PROCEDIMENTOS_SIGTAP.toSet().toList();
// PROCEDIMENTOS_SIGTAP = aux;
// }
// }
// setState(() {
// loadSIGTAP = false;
// });
// });
// }
// });
});
}
CBO_RESP_CADASTRO = list.length == 0?null:list[0]['CODIGO_CBO'].toString();
setState(() {});
});
// print('IdUsuario: ${idUsuario}');
// print('IdUnidade: '+idUnidade);
List list = await DBQuerys().buscaDadosProfissional(idUnidade,idUsuario); List list = await DBQuerys().buscaDadosProfissional(idUnidade,idUsuario);
for(int i=0; list.length > i;i++){ for(int i=0; list.length > i;i++){
INE_RESP_CADASTRO = 'INE: ${list[i]['INE']} / Área: ${list[i]['AREA']} - Microárea : ${list[i]['MICROAREA']}'; INE_RESP_CADASTRO = 'INE: ${list[i]['INE']} / Área: ${list[i]['AREA']} - Microárea : ${list[i]['MICROAREA']}';
@@ -229,6 +187,58 @@ class _ServiceHomeScreenState extends State<ServiceHomeScreen> {
setState(() {}); setState(() {});
} }
getPro()async{
Database dbcbo = await DbSqliteLoad().intialDB();
var query = 'SELECT * FROM PROFISSIONAIS_CBOS WHERE ID_PROFISSIONAL = $idUsuario';
List listcbo = await dbcbo.rawQuery(query);
if(listcbo.length!=0){
for(int i = 0; listcbo.length>i;i++){
await DBQuerys().buscaCBOSProfissional(listcbo[i]['CODIGO_CBO']).then((cbo)async{
if(cbo.length!=0){
listCBO.add(cbo[0]['DESCRICAO_CBO']+' - '+listcbo[i]['CODIGO_CBO'].toString());
}
});
}
}
}
getProcedimentos()async{
List CBOS = [];
await DBQuerys().buscaCBOProfissional(idUsuario).then((cbosProfissional){
if(cbosProfissional.length!=0){
for(int i = 0; cbosProfissional.length>i;i++){
CBOS.add(cbosProfissional[i]['CODIGO_CBO'].toString());
}
}
CBO_RESP_CADASTRO = cbosProfissional.length == 0?null:cbosProfissional[0]['CODIGO_CBO'].toString();
}).then((value)async{
print('CBOS.length');
print(CBOS.length);
print(CBOS);
for(int i = 0; CBOS.length>i;i++){
await DBQuerys().buscaPROCEDIMENTOS_SIGTAP_CBO(CBOS[i]).then((dadosCBOS)async{
print('dadosCBOS.length');
print(dadosCBOS.length);
print(dadosCBOS[0]);
for(int i = 0; dadosCBOS.length>i;i++){
await DBQuerys().buscaPROCEDIMENTOS_SIGTAP(dadosCBOS[i]['COD_PROC_SIGTAP']).then((dadosSIGTAP){
PROCEDIMENTOS_SIGTAP.add('${dadosSIGTAP[i]['COD_PROC_SIGTAP']} - ${dadosSIGTAP[i]['DESC_PROC_SIGTAP']}');
// print('dadosSIGTAP');
// print(dadosSIGTAP[0]);
});
}
});
}
print('PROCEDIMENTOS_SIGTAP');
print(PROCEDIMENTOS_SIGTAP.length);
print(PROCEDIMENTOS_SIGTAP);
});
}
checkSave()async{ checkSave()async{
// adicionar depois e usar um usuário real // adicionar depois e usar um usuário real
// CBO_RESP_CADASTRO // CBO_RESP_CADASTRO
@@ -605,7 +615,7 @@ class _ServiceHomeScreenState extends State<ServiceHomeScreen> {
padding: EdgeInsets.symmetric(vertical: 10), padding: EdgeInsets.symmetric(vertical: 10),
width: width*0.7, width: width*0.7,
child: TextDefault( child: TextDefault(
text: CID!=null?'CID $CIAP':'CID', text: CID!=null?'CID $CID':'CID',
color:Colors.black, color:Colors.black,
fontSize: 15, fontSize: 15,
) )
@@ -640,9 +650,13 @@ class _ServiceHomeScreenState extends State<ServiceHomeScreen> {
physics: const NeverScrollableScrollPhysics(), physics: const NeverScrollableScrollPhysics(),
itemCount: ConstVariable().serviceHomeCheckProclist.length, itemCount: ConstVariable().serviceHomeCheckProclist.length,
itemBuilder: (context,index){ itemBuilder: (context,index){
List aux = ConstVariable().serviceHomeCheckProclist;
aux.sort();
serviceProcModel.add( serviceProcModel.add(
CheckModel( CheckModel(
subtitle: ConstVariable().serviceHomeCheckProclist[index], subtitle: aux[index],
check: false check: false
) )
); );
@@ -685,7 +699,7 @@ class _ServiceHomeScreenState extends State<ServiceHomeScreen> {
IconButton( IconButton(
icon: Icon(Icons.add_circle,color: ColorPalette.blackButton), icon: Icon(Icons.add_circle,color: ColorPalette.blackButton),
onPressed: (){ onPressed: (){
AlertDialogDefault().otherProc(context, 'Outros Procedimentos', 'Adicionar Procedimento', CBO_PROFISSIONAL, CBO_PROFISSIONAL, 'add',PROCEDIMENTOS_SIGTAP,listProc); AlertDialogDefault().otherProc(context, 'Outros Procedimentos', 'Adicionar Procedimento', CBO_PROFISSIONAL, CBO_PROFISSIONAL, 'add',listCBO,listProc);
}, },
) )
], ],

View File

@@ -24,16 +24,16 @@ import '../../widgets/switch_with_subtitle.dart';
import '../../widgets/text_default.dart'; import '../../widgets/text_default.dart';
import '../../widgets/title_containers.dart'; import '../../widgets/title_containers.dart';
class HomeVisitScreen extends StatefulWidget { class VisitaDomiciliarTela extends StatefulWidget {
String name; String name;
String username; String username;
HomeVisitScreen({required this.name, required this.username}); VisitaDomiciliarTela({required this.name, required this.username});
@override @override
State<HomeVisitScreen> createState() => _HomeVisitScreenState(); State<VisitaDomiciliarTela> createState() => _VisitaDomiciliarTelaState();
} }
class _HomeVisitScreenState extends State<HomeVisitScreen> { class _VisitaDomiciliarTelaState extends State<VisitaDomiciliarTela> {
var PESO = TextEditingController(); var PESO = TextEditingController();
var ALTURA = TextEditingController(); var ALTURA = TextEditingController();
@@ -126,8 +126,39 @@ class _HomeVisitScreenState extends State<HomeVisitScreen> {
} }
}); });
Database dbcbo = await DbSqliteLoad().intialDB(); Database dbcbo = await DbSqliteLoad().intialDB();
var query = 'SELECT * FROM PROFISSIONAIS_CBOS WHERE ID_PROFISSIONAL = $idUsuario'; var querycbo = 'SELECT * FROM PROFISSIONAIS_CBOS WHERE ID_PROFISSIONAL = $idUsuario';
List listcbo = await dbcbo.rawQuery(query); List listcbo = await dbcbo.rawQuery(querycbo);
List todosSigtap = [];
// print('listcbo');
// print(listcbo.length);
// print(listcbo);
for(int i = 0; listcbo.length > i ; i++){
var querySigtap = 'SELECT * FROM PROCEDIMENTOS_SIGTAP_CBO WHERE CODIGO_CBO = ${listcbo[i]['CODIGO_CBO']}';
List listSigtap = await dbcbo.rawQuery(querySigtap);
todosSigtap.addAll(listSigtap);
// print('listSigtap');
// print(listSigtap.length);
// print('todosSigtap');
// print(todosSigtap.length);
}
List aux = todosSigtap.toSet().toList();
todosSigtap = aux;
for(int i = 0; todosSigtap.length > i ; i++){
var querySigtapDesc = 'SELECT * FROM PROCEDIMENTOS_SIGTAP WHERE COD_PROC_SIGTAP = \'${todosSigtap[i]['COD_PROC_SIGTAP']}\'';
List listSigtapDesc = await dbcbo.rawQuery(querySigtapDesc);
if(listSigtapDesc.isNotEmpty){
PROCEDIMENTOS_SIGTAP.add('${listSigtapDesc[0]['COD_PROC_SIGTAP']} - ${listSigtapDesc[0]['DESC_PROC_SIGTAP']}');
}
}
print('PROCEDIMENTOS_SIGTAP');
print(PROCEDIMENTOS_SIGTAP.length);
print(PROCEDIMENTOS_SIGTAP[0]);
if(listcbo.length!=0){ if(listcbo.length!=0){
for(int i = 0; listcbo.length>i;i++){ for(int i = 0; listcbo.length>i;i++){
@@ -139,23 +170,23 @@ class _HomeVisitScreenState extends State<HomeVisitScreen> {
} }
} }
var querycbo = 'SELECT * FROM CBOS WHERE CODIGO_CBO = 223208'; /*var querycbo = 'SELECT * FROM CBOS WHERE CODIGO_CBO = 223208';
// var query = 'SELECT * FROM PROFISSIONAIS_CBOS'; var query = 'SELECT * FROM PROFISSIONAIS_CBOS';
List listcbocompleta = await dbcbo.rawQuery(querycbo); List listcbocompleta = await dbcbo.rawQuery(querycbo);
print(listcbocompleta); print(listcbocompleta);*/
List list = await DBQuerys().buscaDadosProfissional(idUnidade,idUsuario); List list = await DBQuerys().buscaDadosProfissional(idUnidade,idUsuario);
for(int i=0; list.length > i;i++){ for(int i=0; list.length > i;i++){
INE_RESP_CADASTRO = 'INE: ${list[i]['INE']} / Área: ${list[i]['AREA']} - Microárea : ${list[i]['MICROAREA']}'; INE_RESP_CADASTRO = 'INE: ${list[i]['INE']} / Área: ${list[i]['AREA']} - Microárea : ${list[i]['MICROAREA']}';
listINEPROF.add('INE: ${list[i]['INE']} / Área: ${list[i]['AREA']} - Microárea : ${list[i]['MICROAREA']}'); listINEPROF.add('INE: ${list[i]['INE']} / Área: ${list[i]['AREA']} - Microárea : ${list[i]['MICROAREA']}');
} }
var db = await DbSqliteLoad().intialDB(); // var db = await DbSqliteLoad().intialDB();
List listSIGTAP = await db.query('PROCEDIMENTOS_SIGTAP'); // List listSIGTAP = await db.query('PROCEDIMENTOS_SIGTAP');
for(int i = 0; listSIGTAP.length>i;i++){ // for(int i = 0; listSIGTAP.length>i;i++){
if(listSIGTAP[i]['COD_PROC_SIGTAP']!=null && listSIGTAP[i]['DESC_PROC_SIGTAP']!=null){ // if(listSIGTAP[i]['COD_PROC_SIGTAP']!=null && listSIGTAP[i]['DESC_PROC_SIGTAP']!=null){
PROCEDIMENTOS_SIGTAP.add('${listSIGTAP[i]['COD_PROC_SIGTAP']} - ${listSIGTAP[i]['DESC_PROC_SIGTAP']}'); // PROCEDIMENTOS_SIGTAP.add('${listSIGTAP[i]['COD_PROC_SIGTAP']} - ${listSIGTAP[i]['DESC_PROC_SIGTAP']}');
} // }
} // }
List listProf = await DBQuerys().buscaDadosProfissional(idUnidade,idUsuario); List listProf = await DBQuerys().buscaDadosProfissional(idUnidade,idUsuario);
INE_PROFISSIONAL = listProf[0]['INE']; INE_PROFISSIONAL = listProf[0]['INE'];
ID_EQUIPE = listProf[0]['ID_EQUIPE']; ID_EQUIPE = listProf[0]['ID_EQUIPE'];
@@ -176,8 +207,8 @@ class _HomeVisitScreenState extends State<HomeVisitScreen> {
} }
loadData()async{ loadData()async{
print('idUsuario'); // print('idUsuario');
print(idUsuario); // print(idUsuario);
await DBQuerys().buscaProfissionalCadInd(idUsuario).then((list){ await DBQuerys().buscaProfissionalCadInd(idUsuario).then((list){
ID_PROFISSIONAL = list['ID_PROFISSIONAL']; ID_PROFISSIONAL = list['ID_PROFISSIONAL'];
NOME_PROFISSIONAL.text = list['NOME_PROFISSIONAL']; NOME_PROFISSIONAL.text = list['NOME_PROFISSIONAL'];
@@ -190,44 +221,56 @@ class _HomeVisitScreenState extends State<HomeVisitScreen> {
} }
checkSave()async{ checkSave()async{
// adicionar depois e usar um usuário real /* adicionar depois e usar um usuário real
// CBO_RESP_CADASTRO CBO_RESP_CADASTRO
//ok ok*/
if(date.isEmpty || dateDB.isEmpty || TIPO_IMOVEL_COD==0 || DESFECHO_COD ==0 || TURNO_COD == 0 || CBO_PROFISSIONAL == null //salvar
if(date.isEmpty || dateDB.isEmpty || TIPO_IMOVEL_COD==0 || DESFECHO_COD ==0 || TURNO_COD == 0 || CBO_PROFISSIONAL == null || CBO_PROFISSIONAL == null || listProc.isEmpty
){ ){
print('erro'); print('erro principal');
setState(() { setState(() {
showCheckError = true; showCheckError = true;
mandatory = true; mandatory = true;
}); });
}else{ }else{
print('passou');
setState(() { setState(() {
mandatory = false; mandatory = false;
showCheckError = false; showCheckError = false;
//TIPO VISITA /*TIPO VISITA*/
if(tipoVisitaModel[0].check || tipoVisitaModel[1].check){ if(tipoVisitaModel[0].check || tipoVisitaModel[1].check){
//BUSCA ATIVA /*BUSCA ATIVA*/
if(CONSULTA || VACINA || EXAME || CONDICIONALIDADES){ print('tipoVisitaModel[1].check');
//CONTROLE AMBIENTAL print(tipoVisitaModel[1].check);
if(ACAO_EDUCATIVA || ACAO_MECANICA || IMOVEL_FOCO || TRATAMENTO_FOCAL){ if(CONSULTA || VACINA || EXAME || CONDICIONALIDADES || tipoVisitaModel[1].check){
/*CONTROLE AMBIENTAL*/
if(ACAO_EDUCATIVA || ACAO_MECANICA || IMOVEL_FOCO || TRATAMENTO_FOCAL || tipoVisitaModel[1].check){
bool check1 = false; bool check1 = false;
bool check2 = false; bool check2 = false;
for(int i=0; tipoAcompanhamentoModel.length>i;i++){ if(!tipoVisitaModel[1].check){
if(tipoAcompanhamentoModel[i].check){ for(int i=0; tipoAcompanhamentoModel.length>i;i++){
print('pegou a $i'); if(tipoAcompanhamentoModel[i].check){
check1 = true; print('pegou a $i');
break; check1 = true;
break;
}
} }
}else{
check1 = true;
} }
for(int i=0; outrosModel.length>i;i++){ if(!tipoVisitaModel[1].check){
if(outrosModel[i].check){ for(int i=0; outrosModel.length>i;i++){
print('outros $i'); if(outrosModel[i].check){
check2 = true; print('outros $i');
break; check2 = true;
break;
}
} }
}else{
check2 = true;
} }
if(!check1 || !check2){ if(!check1 || !check2){
print('erro 1');
AlertDialogDefault().alert( AlertDialogDefault().alert(
context, context,
'Aviso', 'Aviso',
@@ -242,6 +285,8 @@ class _HomeVisitScreenState extends State<HomeVisitScreen> {
}else{ }else{
print('AQUI'); print('AQUI');
print('erro 2');
AlertDialogDefault().alert( AlertDialogDefault().alert(
context, context,
'Aviso', 'Aviso',
@@ -251,6 +296,8 @@ class _HomeVisitScreenState extends State<HomeVisitScreen> {
} }
}else{ }else{
print('nesse'); print('nesse');
print('erro 3');
AlertDialogDefault().alert( AlertDialogDefault().alert(
context, context,
'Aviso', 'Aviso',
@@ -290,62 +337,62 @@ class _HomeVisitScreenState extends State<HomeVisitScreen> {
'SINCRONIZADO' : 'N', 'SINCRONIZADO' : 'N',
}; };
await DbSqliteSync().insertVisitaDomiciliar(row).then((value)async{ await DbSqliteSync().insertVisitaDomiciliar(row).then((value)async{
print('value'); // print('value');
print(value); // print(value);
//tipo visita == 1 /*tipo visita == 1*/
for(int i = 0;tipoVisitaModel.length>i;i++){ for(int i = 0;tipoVisitaModel.length>i;i++){
if(tipoVisitaModel[i].check){ if(tipoVisitaModel[i].check){
//cadastramento = 1 /*cadastramento = 1*/
if(i==0){ if(i==0){
await DbSqliteSync().insertVisitaDomiciliarCOMPL(value,1,1); await DbSqliteSync().insertVisitaDomiciliarCOMPL(value,1,1);
}else if(i == 1){ }else if(i == 1){
//periodica = 29 /*periodica = 29*/
await DbSqliteSync().insertVisitaDomiciliarCOMPL(value,1,29); await DbSqliteSync().insertVisitaDomiciliarCOMPL(value,1,29);
} }
} }
} }
//busca ativa == 2 /*busca ativa == 2
//CONSULTA 2 CONSULTA 2*/
if(CONSULTA){ if(CONSULTA){
await DbSqliteSync().insertVisitaDomiciliarCOMPL(value,2,2); await DbSqliteSync().insertVisitaDomiciliarCOMPL(value,2,2);
} }
//busca ativa == 2 /*busca ativa == 2
//EXAME 3 EXAME 3*/
if(EXAME){ if(EXAME){
await DbSqliteSync().insertVisitaDomiciliarCOMPL(value,2,3); await DbSqliteSync().insertVisitaDomiciliarCOMPL(value,2,3);
} }
//busca ativa == 2 /*busca ativa == 2
//VACINA 8 VACINA 8*/
if(VACINA){ if(VACINA){
await DbSqliteSync().insertVisitaDomiciliarCOMPL(value,2,8); await DbSqliteSync().insertVisitaDomiciliarCOMPL(value,2,8);
} }
//busca ativa == 2 /*busca ativa == 2
//CONDICIONALIDADES 30 CONDICIONALIDADES 30*/
if(CONDICIONALIDADES){ if(CONDICIONALIDADES){
await DbSqliteSync().insertVisitaDomiciliarCOMPL(value,2,30); await DbSqliteSync().insertVisitaDomiciliarCOMPL(value,2,30);
} }
//controle ambiental == 5 /*controle ambiental == 5
// ACAO_EDUCATIVA == 34 ACAO_EDUCATIVA == 34*/
if(ACAO_EDUCATIVA){ if(ACAO_EDUCATIVA){
await DbSqliteSync().insertVisitaDomiciliarCOMPL(value,5,34); await DbSqliteSync().insertVisitaDomiciliarCOMPL(value,5,34);
} }
//controle ambiental == 5 /*controle ambiental == 5
// IMOVEL_FOCO == 35 IMOVEL_FOCO == 35*/
if(IMOVEL_FOCO){ if(IMOVEL_FOCO){
await DbSqliteSync().insertVisitaDomiciliarCOMPL(value,5,35); await DbSqliteSync().insertVisitaDomiciliarCOMPL(value,5,35);
} }
//controle ambiental == 5 /*controle ambiental == 5
// ACAO_MECANICA == 36 ACAO_MECANICA == 36*/
if(ACAO_MECANICA){ if(ACAO_MECANICA){
await DbSqliteSync().insertVisitaDomiciliarCOMPL(value,5,36); await DbSqliteSync().insertVisitaDomiciliarCOMPL(value,5,36);
} }
//controle ambiental == 5 /*controle ambiental == 5
// TRATAMENTO_FOCAL == 37 TRATAMENTO_FOCAL == 37*/
if(TRATAMENTO_FOCAL){ if(TRATAMENTO_FOCAL){
await DbSqliteSync().insertVisitaDomiciliarCOMPL(value,5,37); await DbSqliteSync().insertVisitaDomiciliarCOMPL(value,5,37);
} }
//ACOMPANHAMENTO == 3 /*ACOMPANHAMENTO == 3*/
for(int i=0; tipoAcompanhamentoModel.length>i;i++){ for(int i=0; tipoAcompanhamentoModel.length>i;i++){
if(tipoAcompanhamentoModel[i].check){ if(tipoAcompanhamentoModel[i].check){
print('pegou a $i'); print('pegou a $i');
@@ -354,12 +401,12 @@ class _HomeVisitScreenState extends State<HomeVisitScreen> {
print('CODIGO ${i+5}'); print('CODIGO ${i+5}');
await DbSqliteSync().insertVisitaDomiciliarCOMPL(value,3,i+5); await DbSqliteSync().insertVisitaDomiciliarCOMPL(value,3,i+5);
}else if(i==14){ }else if(i==14){
//respiratorios == 32 /*respiratorios == 32*/
print('CODIGO ${i}'); print('CODIGO ${i}');
await DbSqliteSync().insertVisitaDomiciliarCOMPL(value,3,32); await DbSqliteSync().insertVisitaDomiciliarCOMPL(value,3,32);
}else if(i==15){ }else if(i==15){
print('CODIGO ${i}'); print('CODIGO ${i}');
//tabagista == 33 /*tabagista == 33*/
await DbSqliteSync().insertVisitaDomiciliarCOMPL(value,3,33); await DbSqliteSync().insertVisitaDomiciliarCOMPL(value,3,33);
}else if(i>=16){ }else if(i>=16){
print('CODIGO ${i+3}'); print('CODIGO ${i+3}');
@@ -367,12 +414,12 @@ class _HomeVisitScreenState extends State<HomeVisitScreen> {
} }
} }
} }
//outros == 4 /*outros == 4*/
for(int i=0; outrosModel.length>i;i++){ for(int i=0; outrosModel.length>i;i++){
if(outrosModel[i].check){ if(outrosModel[i].check){
print('outros a $i'); print('outros a $i');
print(outrosModel[i].subtitle); print(outrosModel[i].subtitle);
//orientacao prevencao == 31 /*orientacao prevencao == 31*/
if(i==3){ if(i==3){
await DbSqliteSync().insertVisitaDomiciliarCOMPL(value,4,31); await DbSqliteSync().insertVisitaDomiciliarCOMPL(value,4,31);
}else if(i==4){ }else if(i==4){
@@ -388,13 +435,16 @@ class _HomeVisitScreenState extends State<HomeVisitScreen> {
List splitted = listProc[i].toString().split(' '); List splitted = listProc[i].toString().split(' ');
await DbSqliteSync().insertVISITAS_DOMICILIARES_PROC(value,splitted[0]); await DbSqliteSync().insertVISITAS_DOMICILIARES_PROC(value,splitted[0]);
} }
AlertDialogDefault().alert( AlertDialogDefault().sucess(
context, context,
'Aviso', 'Aviso',
'Visita Domiciliar realizada com sucesso!', 'Visita Domiciliar realizada com sucesso!',
'OK' 'OK',
(){
Navigator.pushAndRemoveUntil(context, MaterialPageRoute(builder: (context)=>HomeScreen(username: widget.username)), (route) => false);
}
); );
Navigator.pushAndRemoveUntil(context, MaterialPageRoute(builder: (context)=>HomeScreen(username: widget.username)), (route) => false); // Navigator.pushAndRemoveUntil(context, MaterialPageRoute(builder: (context)=>HomeScreen(username: widget.username)), (route) => false);
}); });
} }
@@ -546,7 +596,11 @@ class _HomeVisitScreenState extends State<HomeVisitScreen> {
) )
); );
return CheckBoxSubtitle( return CheckBoxSubtitle(
ontap:DESFECHO != 'VISITA REALIZADA'?null: ()=>setState(()=>tipoVisitaModel[index].check?tipoVisitaModel[index].check=false:tipoVisitaModel[index].check=true), ontap:DESFECHO != 'VISITA REALIZADA'?null: (){
setState((){
tipoVisitaModel[index].check?tipoVisitaModel[index].check=false:tipoVisitaModel[index].check=true;
});
},
subtitle: tipoVisitaModel[index].subtitle, subtitle: tipoVisitaModel[index].subtitle,
checkbox:tipoVisitaModel[index].check, checkbox:tipoVisitaModel[index].check,
width: width*0.6, width: width*0.6,
@@ -604,7 +658,7 @@ class _HomeVisitScreenState extends State<HomeVisitScreen> {
TitleContainers(title: 'Acompanhamento',width: width*0.7,textAling: TextAlign.start,fontSize: 15), TitleContainers(title: 'Acompanhamento',width: width*0.7,textAling: TextAlign.start,fontSize: 15),
Container( Container(
width: width*0.7, width: width*0.7,
height: heigth*0.85, height: heigth*0.9,
child: ListView.builder( child: ListView.builder(
physics: const NeverScrollableScrollPhysics(), physics: const NeverScrollableScrollPhysics(),
itemCount: ConstVariable().tipoAcompanhamentoModel.length, itemCount: ConstVariable().tipoAcompanhamentoModel.length,
@@ -829,21 +883,42 @@ class _HomeVisitScreenState extends State<HomeVisitScreen> {
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
GestureDetector( GestureDetector(
onTap: ()=>AlertDialogDefault().otherProc(context, 'Outros Procedimentos', 'Adicionar Procedimento', CBO_PROFISSIONAL, CBO_PROFISSIONAL, 'add',PROCEDIMENTOS_SIGTAP,listProc), onTap: ()=>setState(() {
AlertDialogDefault().otherProc(context, 'Outros Procedimentos', 'Adicionar Procedimento', CBO_PROFISSIONAL, CBO_PROFISSIONAL, 'add',PROCEDIMENTOS_SIGTAP,listProc);
}),
child: Container( child: Container(
padding: const EdgeInsets.symmetric(horizontal: 10.0), padding: const EdgeInsets.symmetric(horizontal: 10.0),
child: Container( child: Container(
height: 200, height: 200,
width: width*0.7, width: width*0.7,
child: Row( child: Column(
mainAxisAlignment:MainAxisAlignment.center ,
children: [ children: [
TextDefault(text: 'Procedimento',color: Colors.black,), Row(
Spacer(), children: [
IconButton( TextDefault(text: 'Procedimento',color: Colors.black,),
icon: Icon(Icons.add_circle,color: ColorPalette.blackButton), Spacer(),
onPressed: (){ IconButton(
icon: Icon(Icons.add_circle,color: ColorPalette.blackButton),
onPressed: ()=>setState(() {
AlertDialogDefault().otherProc(context, 'Outros Procedimentos', 'Adicionar Procedimento', CBO_PROFISSIONAL, CBO_PROFISSIONAL, 'add',PROCEDIMENTOS_SIGTAP,listProc);
}),
)
],
),
GestureDetector(
onTap: ()=>setState(() {
AlertDialogDefault().otherProc(context, 'Outros Procedimentos', 'Adicionar Procedimento', CBO_PROFISSIONAL, CBO_PROFISSIONAL, 'add',PROCEDIMENTOS_SIGTAP,listProc); AlertDialogDefault().otherProc(context, 'Outros Procedimentos', 'Adicionar Procedimento', CBO_PROFISSIONAL, CBO_PROFISSIONAL, 'add',PROCEDIMENTOS_SIGTAP,listProc);
}, }),
child: Container(
height: listProc.isEmpty?0:150,
child: ListView.builder(
itemCount: listProc.length,
itemBuilder: (context,i){
return Text(listProc[i]);
},
),
),
) )
], ],
), ),

View File

@@ -25,6 +25,16 @@ class ApiDataLoad{
final map = json.decode(response.body); final map = json.decode(response.body);
return map; return map;
} }
Future loadEtniasIndigenas(urlAPI,mode,nameCityApi,user)async{
//https://app0.rkmsistemas.com.br/api/atb/homologacao/cabreuva/admin/load/unidades
// http://192.168.0.42:8061/api/atb/desenvolvimento/portoferreira/admin/load/etnias_indigenas
final url = '${urlAPI}${mode}/${nameCityApi}/${user}/load/etnias_indigenas';
// print(url);
final response = await http.get(Uri.parse(url));
final map = json.decode(response.body);
// print(map);
return map;
}
Future loadUnidades(urlAPI,mode,nameCityApi,user)async{ Future loadUnidades(urlAPI,mode,nameCityApi,user)async{
//https://app0.rkmsistemas.com.br/api/atb/homologacao/cabreuva/admin/load/unidades //https://app0.rkmsistemas.com.br/api/atb/homologacao/cabreuva/admin/load/unidades
// http://192.168.0.42:8010/api/atb/desenvolvimento/corumbatai/admin/load/unidades // http://192.168.0.42:8010/api/atb/desenvolvimento/corumbatai/admin/load/unidades

View File

@@ -56,6 +56,7 @@ class ApiDataSync{
} }
Future syncCidadaos(urlAPI,mode,nameCityApi,user,idUnidade,area,microarea,foraArea)async{ Future syncCidadaos(urlAPI,mode,nameCityApi,user,idUnidade,area,microarea,foraArea)async{
// http://192.168.0.42:8010/api/atb/desenvolvimento/corumbatai/admin/sync/3/cidadaos/1/1/true // http://192.168.0.42:8010/api/atb/desenvolvimento/corumbatai/admin/sync/3/cidadaos/1/1/true
// http://192.168.0.42:8061/api/atb/desenvolvimento/portoferreira/admin/sync/47/cidadaos/1/1/true
final url = '${urlAPI}${mode}/${nameCityApi}/${user}/sync/${idUnidade}/cidadaos/$area/$microarea/$foraArea'; final url = '${urlAPI}${mode}/${nameCityApi}/${user}/sync/${idUnidade}/cidadaos/$area/$microarea/$foraArea';
print(url); print(url);
final response = await http.get(Uri.parse(url)); final response = await http.get(Uri.parse(url));

View File

@@ -1,3 +1,4 @@
import 'package:flutter/cupertino.dart';
import 'package:rkm/service/db/db_sqlite_load.dart'; import 'package:rkm/service/db/db_sqlite_load.dart';
import 'package:sqflite/sqflite.dart'; import 'package:sqflite/sqflite.dart';
@@ -24,21 +25,20 @@ class DBQuerys{
var query = "SELECT * FROM CIAPS"; var query = "SELECT * FROM CIAPS";
List list = await db.rawQuery(query); List list = await db.rawQuery(query);
// print(list); // print(list);
return list[0]; return list;
} }
Future buscaCID()async{ Future buscaCID()async{
Database db = await DbSqliteLoad().intialDB(); Database db = await DbSqliteLoad().intialDB();
var query = "SELECT * FROM CIDS"; var query = "SELECT * FROM CIDS";
List list = await db.rawQuery(query); List list = await db.rawQuery(query);
// print(list); // print(list);
return list[0]; return list;
} }
Future buscaAtendDomProc()async{ Future buscaAtendDomProc()async{
Database db = await DbSqliteLoad().intialDB(); Database db = await DbSqliteLoad().intialDB();
var query = "SELECT * FROM ATENDS_DOM_SIGTAP"; var query = "SELECT * FROM PROCEDIMENTOS_SIGTAP";
List list = await db.rawQuery(query); List list = await db.rawQuery(query);
// print(list); return list;
return list[0];
} }
buscaDadosProfissional(String idUnidade, int idUsuario)async{ buscaDadosProfissional(String idUnidade, int idUsuario)async{
Database db = await DbSqliteLoad().intialDB(); Database db = await DbSqliteLoad().intialDB();
@@ -113,6 +113,22 @@ class DBQuerys{
// print(list); // print(list);
return list; return list;
} }
Future buscaPROCEDIMENTOS_SIGTAP_CBO(String CBO)async{
Database db = await DbSqliteLoad().intialDB();
var query = "SELECT * FROM PROCEDIMENTOS_SIGTAP_CBO WHERE CODIGO_CBO = $CBO";
List list = await db.rawQuery(query);
// print(list);
return list;
}
Future buscaPROCEDIMENTOS_SIGTAP(String SIGTAP)async{
Database db = await DbSqliteLoad().intialDB();
var query = "SELECT * FROM PROCEDIMENTOS_SIGTAP WHERE COD_PROC_SIGTAP = '$SIGTAP'";
List list = await db.rawQuery(query);
// print(list);
return list;
}
buscaCBOS()async{ buscaCBOS()async{
Database db = await DbSqliteLoad().intialDB(); Database db = await DbSqliteLoad().intialDB();
var query = "SELECT * FROM CBOS ORDER BY DESCRICAO_CBO"; var query = "SELECT * FROM CBOS ORDER BY DESCRICAO_CBO";
@@ -154,6 +170,13 @@ class DBQuerys{
// print(list); // print(list);
return list; return list;
} }
buscaEtniaIndigina(String COD_ETNIA)async{
Database db = await DbSqliteLoad().intialDB();
var query = 'SELECT * FROM ETNIAS_INDIGENAS WHERE ID_ETNIA_INDIGENA = "$COD_ETNIA"';
List list = await db.rawQuery(query);
// print(list);
return list;
}
buscaLoteamentoPorDesc(String DESC_LOGR_LOTEAMENTO)async{ buscaLoteamentoPorDesc(String DESC_LOGR_LOTEAMENTO)async{
Database db = await DbSqliteLoad().intialDB(); Database db = await DbSqliteLoad().intialDB();
var query = 'SELECT * FROM LOGRADOUROS_LOTEAMENTOS WHERE DESC_LOGR_LOTEAMENTO = "$DESC_LOGR_LOTEAMENTO"'; var query = 'SELECT * FROM LOGRADOUROS_LOTEAMENTOS WHERE DESC_LOGR_LOTEAMENTO = "$DESC_LOGR_LOTEAMENTO"';

View File

@@ -33,7 +33,7 @@ class DbSqliteLoad{
db.execute('CREATE TABLE IF NOT EXISTS CADASTROS_INDIVIDUAIS (ID_CAD_INDIVIDUAL INTEGER PRIMARY KEY AUTOINCREMENT, STATUS_CADASTRO INTEGER, ID_CIDADAO INTEGER, CD_USUARIO_SUS TEXT, ID_AREA_CIDADAO INTEGER, ID_MICROAREA_CIDADAO INTEGER, FORA_AREA INTEGER, RESPONSAVEL_FAMILIAR INTEGER, ID_RESPONSAVEL_FAMILIAR TEXT, NOME_RESPONSAVEL_FAMILIAR TEXT, PARENTESCO INTEGER, ESCOLARIDADE INTEGER, FREQ_ESCOLA_CRECHE INTEGER, SITUACAO_MERCADO INTEGER, CUIDADOR_TRADICIONAL INTEGER, GRUPO_COMUNITARIO INTEGER, PLANO_PRIVADO INTEGER, COMUNIDADE_TRADICIONAL INTEGER, COM_TRADI_QUAL TEXT, ORIENT_SEXUAL INTEGER, TEM_DEFICIENCIA INTEGER, DEF_AUDITIVA INTEGER, DEF_INTELECTUAL INTEGER, DEF_VISUAL INTEGER, DEF_FISICA INTEGER, DEF_OUTRAS INTEGER, SAIDA_CADASTRO INTEGER, DATA_SAIDA_CADASTRO TEXT, CADASTRO_RECUSADO INTEGER, GESTANTE INTEGER, MATERNIDADE_REFERENCIA TEXT, PESO INTEGER, FUMANTE INTEGER, USA_ALCOOL INTEGER, USA_DROGAS INTEGER, HIPERTENSAO INTEGER, DIABETES INTEGER, AVC_DERRAME INTEGER, INFARTO INTEGER, HANSENIASE INTEGER, TUBERCULOSE INTEGER, CANCER INTEGER, INTERNACAO INTEGER, MOTIVO TEXT, DOENCA_CARDIACA INTEGER, PROBLEMA_RINS INTEGER, DOENCA_PULMAO INTEGER, SAUDE_MENTAL INTEGER, ACAMADO INTEGER, DOMICILIADO INTEGER, PLANTAS_MED INTEGER, PLANTAS_MED_QUAIS TEXT, PIC INTEGER, OUTRAS_CONDICOES TEXT, TEMPO_SITUACAO_RUA INTEGER, ACOMP_INTITUICAO INTEGER, ACOMP_INTITUICAO_QUAL TEXT, BENEFICIO INTEGER, REF_FAMILIAR INTEGER, VISITA_FAMILIAR INTEGER, PARENTESCO_VISITA TEXT, ALIMENTACAO_DIARIA INTEGER, REST_POPULAR INTEGER, DOACAO_REST INTEGER, DOACAO_RELIGIOSO INTEGER, DOACAO_POPULAR INTEGER, OUTROS_ALIM INTEGER, ACESSO_HIGIENE INTEGER, BANHO INTEGER, SANITARIO INTEGER, HIGIENE_BUCAL INTEGER, OUTROS_HIGIENE INTEGER, FICHA_ALTERACAO INTEGER, ID_RESP_CADASTRO INTEGER, CNES_RESP_CADASTRO TEXT, CBO_RESP_CADASTRO TEXT, INE_RESP_CADASTRO TEXT, DT_CADASTRO TEXT, ID_EQUIPE INTEGER, ORIGEM TEXT, SINCRONIZADO TEXT, DT_ENTRADA_BRASIL TEXT, DT_NATURALIZACAO TEXT, PORTARIA_NATURALIZACAO TEXT, CRIANCAS_ADULTO INTEGER, CRIANCAS_OUTRAS_CRIANCAS INTEGER, CRIANCAS_ADOLESCENTE INTEGER, CRIANCAS_SOZINHA INTEGER, CRIANCAS_CRECHE INTEGER, CRIANCAS_OUTRO INTEGER, IDENTIDADE_GENERO INTEGER, FIBROMIALGIA INTEGER, TRANSTORNO_ESPECTRO_AUTISTA INTEGER);'); db.execute('CREATE TABLE IF NOT EXISTS CADASTROS_INDIVIDUAIS (ID_CAD_INDIVIDUAL INTEGER PRIMARY KEY AUTOINCREMENT, STATUS_CADASTRO INTEGER, ID_CIDADAO INTEGER, CD_USUARIO_SUS TEXT, ID_AREA_CIDADAO INTEGER, ID_MICROAREA_CIDADAO INTEGER, FORA_AREA INTEGER, RESPONSAVEL_FAMILIAR INTEGER, ID_RESPONSAVEL_FAMILIAR TEXT, NOME_RESPONSAVEL_FAMILIAR TEXT, PARENTESCO INTEGER, ESCOLARIDADE INTEGER, FREQ_ESCOLA_CRECHE INTEGER, SITUACAO_MERCADO INTEGER, CUIDADOR_TRADICIONAL INTEGER, GRUPO_COMUNITARIO INTEGER, PLANO_PRIVADO INTEGER, COMUNIDADE_TRADICIONAL INTEGER, COM_TRADI_QUAL TEXT, ORIENT_SEXUAL INTEGER, TEM_DEFICIENCIA INTEGER, DEF_AUDITIVA INTEGER, DEF_INTELECTUAL INTEGER, DEF_VISUAL INTEGER, DEF_FISICA INTEGER, DEF_OUTRAS INTEGER, SAIDA_CADASTRO INTEGER, DATA_SAIDA_CADASTRO TEXT, CADASTRO_RECUSADO INTEGER, GESTANTE INTEGER, MATERNIDADE_REFERENCIA TEXT, PESO INTEGER, FUMANTE INTEGER, USA_ALCOOL INTEGER, USA_DROGAS INTEGER, HIPERTENSAO INTEGER, DIABETES INTEGER, AVC_DERRAME INTEGER, INFARTO INTEGER, HANSENIASE INTEGER, TUBERCULOSE INTEGER, CANCER INTEGER, INTERNACAO INTEGER, MOTIVO TEXT, DOENCA_CARDIACA INTEGER, PROBLEMA_RINS INTEGER, DOENCA_PULMAO INTEGER, SAUDE_MENTAL INTEGER, ACAMADO INTEGER, DOMICILIADO INTEGER, PLANTAS_MED INTEGER, PLANTAS_MED_QUAIS TEXT, PIC INTEGER, OUTRAS_CONDICOES TEXT, TEMPO_SITUACAO_RUA INTEGER, ACOMP_INTITUICAO INTEGER, ACOMP_INTITUICAO_QUAL TEXT, BENEFICIO INTEGER, REF_FAMILIAR INTEGER, VISITA_FAMILIAR INTEGER, PARENTESCO_VISITA TEXT, ALIMENTACAO_DIARIA INTEGER, REST_POPULAR INTEGER, DOACAO_REST INTEGER, DOACAO_RELIGIOSO INTEGER, DOACAO_POPULAR INTEGER, OUTROS_ALIM INTEGER, ACESSO_HIGIENE INTEGER, BANHO INTEGER, SANITARIO INTEGER, HIGIENE_BUCAL INTEGER, OUTROS_HIGIENE INTEGER, FICHA_ALTERACAO INTEGER, ID_RESP_CADASTRO INTEGER, CNES_RESP_CADASTRO TEXT, CBO_RESP_CADASTRO TEXT, INE_RESP_CADASTRO TEXT, DT_CADASTRO TEXT, ID_EQUIPE INTEGER, ORIGEM TEXT, SINCRONIZADO TEXT, DT_ENTRADA_BRASIL TEXT, DT_NATURALIZACAO TEXT, PORTARIA_NATURALIZACAO TEXT, CRIANCAS_ADULTO INTEGER, CRIANCAS_OUTRAS_CRIANCAS INTEGER, CRIANCAS_ADOLESCENTE INTEGER, CRIANCAS_SOZINHA INTEGER, CRIANCAS_CRECHE INTEGER, CRIANCAS_OUTRO INTEGER, IDENTIDADE_GENERO INTEGER, FIBROMIALGIA INTEGER, TRANSTORNO_ESPECTRO_AUTISTA INTEGER);');
db.execute('CREATE TABLE IF NOT EXISTS CBOS (CODIGO_CBO TEXT, DESCRICAO_CBO TEXT);'); db.execute('CREATE TABLE IF NOT EXISTS CBOS (CODIGO_CBO TEXT, DESCRICAO_CBO TEXT);');
db.execute('CREATE TABLE IF NOT EXISTS CIAPS (CODIGO_CIAP TEXT, DESC_CIAP TEXT, TIPO_CIAP TEXT);'); db.execute('CREATE TABLE IF NOT EXISTS CIAPS (CODIGO_CIAP TEXT, DESC_CIAP TEXT, TIPO_CIAP TEXT);');
db.execute('CREATE TABLE IF NOT EXISTS CIDADAOS (ID_CIDADAO INTEGER PRIMARY KEY AUTOINCREMENT, CD_USUARIO_SUS TEXT, NOME_CIDADAO TEXT, NOME_SOCIAL TEXT, SEXO TEXT, DT_NASCIMENTO TEXT, ID_ESTADO_CIVIL INTEGER, NOME_CONJUGE TEXT, NACIONALIDADE INTEGER, ID_MUNICIPIO_NASC INTEGER, NO_MUNICIPIO_NASC TEXT, ESTADO_UF_NASC TEXT, ID_ETNIA INTEGER, ID_ESCOLARIDADE INTEGER, ID_DEFICIENCIA INTEGER, NOME_MAE TEXT, DESCONHECE_MAE INTEGER, NOME_PAI TEXT, DESCONHECE_PAI INTEGER, ID_UNIDADE INTEGER, NUM_PRONTUARIO TEXT, NUM_PRONTUARIO_PROV TEXT, CLASSIFICACAO INTEGER, CLASSIFICACAO_SUB INTEGER, NUM_FAMILIA INTEGER, ID_PAIS_RESID INTEGER, ID_MUNICIPIO_RESID INTEGER, NO_MUNICIPIO_RESID TEXT, ESTADO_UF_RESID TEXT, CODIGO_IBGE_RESID INTEGER, NO_BAIRRO_LOGR TEXT, ID_LOGR_TIPO INTEGER, NOME_LOGR TEXT, CEP_LOGR INTEGER, NUMERO_LOGR INTEGER, LOTEAMENTO_LOGR INTEGER, COMPL_LOGR TEXT, PONTO_REFERENCIA TEXT, ZONA_LOGR INTEGER, DDD_TELEFONE INTEGER, NUM_TELEFONE INTEGER, DDD_CELULAR INTEGER, NUM_CELULAR INTEGER, DDD_RECADO INTEGER, NUM_RECADO INTEGER, EMAIL TEXT, OBSERVACOES TEXT, CPF INTEGER, CNS TEXT, TITULO_ELEITOR INTEGER, RG_NUMERO INTEGER, RG_COMPLEMENTO TEXT, RG_UF TEXT, RG_ORGAO TEXT, RG_DATA_EMISSAO TEXT, TIPO_CERTIDAO INTEGER, NUM_CERTIDAO TEXT, CARTORIO_CERTIDAO TEXT, LIVRO_CERTIDAO TEXT, FOLHA_CERTIDAO TEXT, TERMO_CERTIDAO TEXT, DT_EMISSAO_CERTIDAO TEXT, NUM_CTPS TEXT, NUM_SERIE_CTPS TEXT, ESTADO_UF_CTPS TEXT, NUM_PIS_PASEP TEXT, FL_RETIROU_CARTAO INTEGER, NUM_NIS TEXT, NUM_PROT_CROSS TEXT, RENDA_MENSAL REAL, PROFISSAO TEXT, DT_OBITO TEXT, DECLARACAO_OBITO TEXT, BLOQUEIO INTEGER, ORIGEM INTEGER, DT_HORA_CADASTRO TEXT, ID_USUARIO_CADASTRO INTEGER, ID_DOMICILIO INTEGER, ATENDIMENTOS INTEGER, SINCRONIZADO TEXT, RENDA_TOTAL_FAMILIAR REAL , POSSUI_VEICULO TEXT , MODELO_VEICULO TEXT , ANO_VEICULO INTEGER , POSSUI_FINANCIAMENTO TEXT , VALOR_PARCELA_FINANCIAMENTO REAL , POSSUI_EMPRESTIMO TEXT , VALOR_PARCELA_EMPRESTIMO REAL);'); db.execute('CREATE TABLE IF NOT EXISTS CIDADAOS (ID_CIDADAO INTEGER PRIMARY KEY AUTOINCREMENT, CD_USUARIO_SUS TEXT, NOME_CIDADAO TEXT, NOME_SOCIAL TEXT, SEXO TEXT, DT_NASCIMENTO TEXT, ID_ESTADO_CIVIL INTEGER, NOME_CONJUGE TEXT, NACIONALIDADE INTEGER, ID_MUNICIPIO_NASC INTEGER, NO_MUNICIPIO_NASC TEXT, ESTADO_UF_NASC TEXT, ID_ETNIA INTEGER, ID_ETNIA_INDIGENA TEXT, ID_ESCOLARIDADE INTEGER, ID_DEFICIENCIA INTEGER, NOME_MAE TEXT, DESCONHECE_MAE INTEGER, NOME_PAI TEXT, DESCONHECE_PAI INTEGER, ID_UNIDADE INTEGER, NUM_PRONTUARIO TEXT, NUM_PRONTUARIO_PROV TEXT, CLASSIFICACAO INTEGER, CLASSIFICACAO_SUB INTEGER, NUM_FAMILIA INTEGER, ID_PAIS_RESID INTEGER, ID_MUNICIPIO_RESID INTEGER, NO_MUNICIPIO_RESID TEXT, ESTADO_UF_RESID TEXT, CODIGO_IBGE_RESID INTEGER, NO_BAIRRO_LOGR TEXT, ID_LOGR_TIPO INTEGER, NOME_LOGR TEXT, CEP_LOGR INTEGER, NUMERO_LOGR INTEGER, LOTEAMENTO_LOGR INTEGER, COMPL_LOGR TEXT, PONTO_REFERENCIA TEXT, ZONA_LOGR INTEGER, DDD_TELEFONE INTEGER, NUM_TELEFONE INTEGER, DDD_CELULAR INTEGER, NUM_CELULAR INTEGER, DDD_RECADO INTEGER, NUM_RECADO INTEGER, EMAIL TEXT, OBSERVACOES TEXT, CPF INTEGER, CNS TEXT, TITULO_ELEITOR INTEGER, RG_NUMERO INTEGER, RG_COMPLEMENTO TEXT, RG_UF TEXT, RG_ORGAO TEXT, RG_DATA_EMISSAO TEXT, TIPO_CERTIDAO INTEGER, NUM_CERTIDAO TEXT, CARTORIO_CERTIDAO TEXT, LIVRO_CERTIDAO TEXT, FOLHA_CERTIDAO TEXT, TERMO_CERTIDAO TEXT, DT_EMISSAO_CERTIDAO TEXT, NUM_CTPS TEXT, NUM_SERIE_CTPS TEXT, ESTADO_UF_CTPS TEXT, NUM_PIS_PASEP TEXT, FL_RETIROU_CARTAO INTEGER, NUM_NIS TEXT, NUM_PROT_CROSS TEXT, RENDA_MENSAL REAL, PROFISSAO TEXT, DT_OBITO TEXT, DECLARACAO_OBITO TEXT, BLOQUEIO INTEGER, ORIGEM INTEGER, DT_HORA_CADASTRO TEXT, ID_USUARIO_CADASTRO INTEGER, ID_DOMICILIO INTEGER, ATENDIMENTOS INTEGER, SINCRONIZADO TEXT, RENDA_TOTAL_FAMILIAR REAL , POSSUI_VEICULO TEXT , MODELO_VEICULO TEXT , ANO_VEICULO INTEGER , POSSUI_FINANCIAMENTO TEXT , VALOR_PARCELA_FINANCIAMENTO REAL , POSSUI_EMPRESTIMO TEXT , VALOR_PARCELA_EMPRESTIMO REAL);');
db.execute('CREATE TABLE IF NOT EXISTS CIDADAO_DOMICILIO (ID_DOMICILIO INTEGER PRIMARY KEY AUTOINCREMENT, TIPO_IMOVEL INTEGER, ID_AREA_DOMICILIO INTEGER, ID_MICROAREA_DOMICILIO INTEGER, FORA_AREA INTEGER, SITUACAO_MORADIA INTEGER, TIPO_LOCALIDADE INTEGER, TIPO_DOMICILIO INTEGER, NUM_MORADORES INTEGER, NUM_COMODOS INTEGER, SITUACAO_RURAL INTEGER, TIPO_ACESSO INTEGER, MAT_PREDOMINANTE INTEGER, DISPONIBILIDADE_ENERGIA INTEGER, TIPO_ABASTECIMENTO INTEGER, TRATAMENTO_AGUA INTEGER, DESTINO_LIXO INTEGER, ESCOAMENTO INTEGER, FL_ANIMAIS INTEGER, ANIMAIS_GATO INTEGER, ANIMAIS_CACHORRO INTEGER, ANIMAIS_PASSARO INTEGER, ANIMAIS_OUTROS INTEGER, QTDE_ANIMAIS INTEGER, CBO_RESP_CADASTRO TEXT, ID_RESP_CADASTRO INTEGER, CNES_RESP_CADASTRO TEXT, INE_RESP_CADASTRO TEXT, DT_CADASTRO TEXT, ID_EQUIPE INTEGER, ORIGEM TEXT, SINCRONIZADO TEXT, NOME_INSTITUICAO_PERMANENCIA TEXT, PROFISSIONAIS_VINCULADOS_INST INTEGER, RESPONSAVEL_TECNICO_INST TEXT, CNS_RESP_TECNICO_INST TEXT, CARGO_RESP_TECNICO_INST TEXT, TEL_RESP_TECNICO_INST TEXT);'); db.execute('CREATE TABLE IF NOT EXISTS CIDADAO_DOMICILIO (ID_DOMICILIO INTEGER PRIMARY KEY AUTOINCREMENT, TIPO_IMOVEL INTEGER, ID_AREA_DOMICILIO INTEGER, ID_MICROAREA_DOMICILIO INTEGER, FORA_AREA INTEGER, SITUACAO_MORADIA INTEGER, TIPO_LOCALIDADE INTEGER, TIPO_DOMICILIO INTEGER, NUM_MORADORES INTEGER, NUM_COMODOS INTEGER, SITUACAO_RURAL INTEGER, TIPO_ACESSO INTEGER, MAT_PREDOMINANTE INTEGER, DISPONIBILIDADE_ENERGIA INTEGER, TIPO_ABASTECIMENTO INTEGER, TRATAMENTO_AGUA INTEGER, DESTINO_LIXO INTEGER, ESCOAMENTO INTEGER, FL_ANIMAIS INTEGER, ANIMAIS_GATO INTEGER, ANIMAIS_CACHORRO INTEGER, ANIMAIS_PASSARO INTEGER, ANIMAIS_OUTROS INTEGER, QTDE_ANIMAIS INTEGER, CBO_RESP_CADASTRO TEXT, ID_RESP_CADASTRO INTEGER, CNES_RESP_CADASTRO TEXT, INE_RESP_CADASTRO TEXT, DT_CADASTRO TEXT, ID_EQUIPE INTEGER, ORIGEM TEXT, SINCRONIZADO TEXT, NOME_INSTITUICAO_PERMANENCIA TEXT, PROFISSIONAIS_VINCULADOS_INST INTEGER, RESPONSAVEL_TECNICO_INST TEXT, CNS_RESP_TECNICO_INST TEXT, CARGO_RESP_TECNICO_INST TEXT, TEL_RESP_TECNICO_INST TEXT);');
db.execute('CREATE TABLE IF NOT EXISTS CIDS (CODIGO_CID TEXT, DESCRICAO_CID TEXT, RESTRICAO_SEXO INTEGER);'); db.execute('CREATE TABLE IF NOT EXISTS CIDS (CODIGO_CID TEXT, DESCRICAO_CID TEXT, RESTRICAO_SEXO INTEGER);');
db.execute( 'CREATE TABLE IF NOT EXISTS CONTROLE_INTERNO (CARGA_INICIAL INTEGER, SYNC_UNIDADE INTEGER, CIDADE_LOAD TEXT, NOME_CIDADE TEXT, ID_MUNICIPIO INTEGER, UF_ESTADO TEXT, UNIDADE_SYNC TEXT, CODIGO_IBGE INTEGER, NOME_UNIDADE TEXT, AMBIENTE TEXT, ULTIMA_SINCRONIZACAO TEXT, COMPETENCIA TEXT, AREA INTEGER, MICROAREA INTEGER);'); db.execute( 'CREATE TABLE IF NOT EXISTS CONTROLE_INTERNO (CARGA_INICIAL INTEGER, SYNC_UNIDADE INTEGER, CIDADE_LOAD TEXT, NOME_CIDADE TEXT, ID_MUNICIPIO INTEGER, UF_ESTADO TEXT, UNIDADE_SYNC TEXT, CODIGO_IBGE INTEGER, NOME_UNIDADE TEXT, AMBIENTE TEXT, ULTIMA_SINCRONIZACAO TEXT, COMPETENCIA TEXT, AREA INTEGER, MICROAREA INTEGER);');
@@ -58,6 +58,7 @@ class DbSqliteLoad{
db.execute('CREATE TABLE IF NOT EXISTS PROFISSIONAIS (ID_PROFISSIONAL INTEGER PRIMARY KEY AUTOINCREMENT, NOME_PROFISSIONAL TEXT, CNS_PROFISSIONAL TEXT, USERNAME TEXT, SENHA TEXT, BLOQUEIO_ACESSO INTEGER, ID_UNIDADE INTEGER);'); db.execute('CREATE TABLE IF NOT EXISTS PROFISSIONAIS (ID_PROFISSIONAL INTEGER PRIMARY KEY AUTOINCREMENT, NOME_PROFISSIONAL TEXT, CNS_PROFISSIONAL TEXT, USERNAME TEXT, SENHA TEXT, BLOQUEIO_ACESSO INTEGER, ID_UNIDADE INTEGER);');
db.execute('CREATE TABLE IF NOT EXISTS PROFISSIONAIS_CBOS (ID_PROFISSIONAL INTEGER, CODIGO_CBO TEXT);'); db.execute('CREATE TABLE IF NOT EXISTS PROFISSIONAIS_CBOS (ID_PROFISSIONAL INTEGER, CODIGO_CBO TEXT);');
db.execute('CREATE TABLE IF NOT EXISTS PROFISSIONAIS_EQUIPE (ID_EQUIPE INTEGER, ID_PROFISSIONAL INTEGER, ATIVO INTEGER);'); db.execute('CREATE TABLE IF NOT EXISTS PROFISSIONAIS_EQUIPE (ID_EQUIPE INTEGER, ID_PROFISSIONAL INTEGER, ATIVO INTEGER);');
db.execute('CREATE TABLE IF NOT EXISTS ETNIAS_INDIGENAS (ID_ETNIA_INDIGENA TEXT, DESC_ETNIA_INDIGENA TEXT);');
db.execute('CREATE TABLE IF NOT EXISTS UNIDADES (ID_UNIDADE INTEGER PRIMARY KEY AUTOINCREMENT, NOME_UNIDADE TEXT, CNES_UNIDADE TEXT);'); db.execute('CREATE TABLE IF NOT EXISTS UNIDADES (ID_UNIDADE INTEGER PRIMARY KEY AUTOINCREMENT, NOME_UNIDADE TEXT, CNES_UNIDADE TEXT);');
db.execute('CREATE TABLE IF NOT EXISTS VISITAS_DOMICILIARES (ID_VISITA_DOMICILIAR INTEGER PRIMARY KEY AUTOINCREMENT, ID_CIDADAO INTEGER, CD_USUARIO_SUS TEXT, DT_ATENDIMENTO TEXT, TURNO INTEGER, TIPO_IMOVEL INTEGER, VISITA_ACOMPANHADA INTEGER, DESFECHO INTEGER, PESO TEXT, ALTURA TEXT, ID_PROFISSIONAL INTEGER, CBO_PROFISSIONAL TEXT, INE_PROFISSIONAL TEXT, CNES_UNIDADE TEXT, ID_UNIDADE INTEGER, ID_EQUIPE INTEGER, COMPLEMENTO TEXT, SINCRONIZADO TEXT);'); db.execute('CREATE TABLE IF NOT EXISTS VISITAS_DOMICILIARES (ID_VISITA_DOMICILIAR INTEGER PRIMARY KEY AUTOINCREMENT, ID_CIDADAO INTEGER, CD_USUARIO_SUS TEXT, DT_ATENDIMENTO TEXT, TURNO INTEGER, TIPO_IMOVEL INTEGER, VISITA_ACOMPANHADA INTEGER, DESFECHO INTEGER, PESO TEXT, ALTURA TEXT, ID_PROFISSIONAL INTEGER, CBO_PROFISSIONAL TEXT, INE_PROFISSIONAL TEXT, CNES_UNIDADE TEXT, ID_UNIDADE INTEGER, ID_EQUIPE INTEGER, COMPLEMENTO TEXT, SINCRONIZADO TEXT);');
db.execute('CREATE TABLE IF NOT EXISTS VISITAS_DOMICILIARES_COMPL (ID_VISITA_DOMICILIAR INTEGER, ID_VISITA_DOM_TIPO INTEGER, ID_VISITA_COMPLEMENTO INTEGER);'); db.execute('CREATE TABLE IF NOT EXISTS VISITAS_DOMICILIARES_COMPL (ID_VISITA_DOMICILIAR INTEGER, ID_VISITA_DOM_TIPO INTEGER, ID_VISITA_COMPLEMENTO INTEGER);');
@@ -103,6 +104,7 @@ class DbSqliteLoad{
'DELETE FROM PROFISSIONAIS;', 'DELETE FROM PROFISSIONAIS;',
'DELETE FROM PROFISSIONAIS_CBOS;', 'DELETE FROM PROFISSIONAIS_CBOS;',
'DELETE FROM PROFISSIONAIS_EQUIPE;', 'DELETE FROM PROFISSIONAIS_EQUIPE;',
'DELETE FROM ETNIAS_INDIGENAS;',
'DELETE FROM UNIDADES;', 'DELETE FROM UNIDADES;',
'DELETE FROM VISITAS_DOMICILIARES;', 'DELETE FROM VISITAS_DOMICILIARES;',
'DELETE FROM VISITAS_DOMICILIARES_COMPL;', 'DELETE FROM VISITAS_DOMICILIARES_COMPL;',
@@ -143,6 +145,20 @@ class DbSqliteLoad{
return db; return db;
} }
Future saveEtniasIndigenasDB(List rows)async{
Database db = await intialDB();
Batch batch = db.batch();
rows.forEach((row) {
batch.insert('ETNIAS_INDIGENAS', row);
});
List<Object?> result = await batch.commit();
print('Linhas inseridas: ${result.length}');
List<Map<String, dynamic>> ETNIAS_INDIGENAS = await db.query('ETNIAS_INDIGENAS');
print('Total de Etnias Indigenas no banco de dados: ${ETNIAS_INDIGENAS.length}');
return db;
}
Future saveUnidadesDB(List rows)async{ Future saveUnidadesDB(List rows)async{
Database db = await intialDB(); Database db = await intialDB();
Batch batch = db.batch(); Batch batch = db.batch();

View File

@@ -193,6 +193,7 @@ class DbSqliteSync{
'NO_MUNICIPIO_NASC' : value[i]['noMunicipioNasc'], 'NO_MUNICIPIO_NASC' : value[i]['noMunicipioNasc'],
'ESTADO_UF_NASC' : value[i]['cdEstado'], 'ESTADO_UF_NASC' : value[i]['cdEstado'],
'ID_ETNIA' : value[i]['cdEtnia'], 'ID_ETNIA' : value[i]['cdEtnia'],
'ID_ETNIA_INDIGENA' : value[i]['cdEtniaIndigena'],
'ID_ESCOLARIDADE' : value[i]['cdUsuarioEscolaridade'], 'ID_ESCOLARIDADE' : value[i]['cdUsuarioEscolaridade'],
'ID_DEFICIENCIA' : value[i]['nrDeficiencia'], 'ID_DEFICIENCIA' : value[i]['nrDeficiencia'],
'NOME_MAE' : value[i]['noMae'], 'NOME_MAE' : value[i]['noMae'],

View File

@@ -6,14 +6,14 @@ import 'package:rkm/screens/select_service/consumption_markers_screen.dart';
import 'package:rkm/screens/select_service/eligibility_assessment_screen.dart'; import 'package:rkm/screens/select_service/eligibility_assessment_screen.dart';
import 'package:rkm/screens/select_service/procedures_screen.dart'; import 'package:rkm/screens/select_service/procedures_screen.dart';
import 'package:rkm/screens/select_service/service_dental_screen.dart'; import 'package:rkm/screens/select_service/service_dental_screen.dart';
import 'package:rkm/screens/select_service/service_home_screen.dart'; import 'package:rkm/screens/select_service/atendimento_domiciliar_tela.dart';
import 'package:rkm/screens/select_service/service_individual_screen.dart'; import 'package:rkm/screens/select_service/service_individual_screen.dart';
import 'package:rkm/widgets/button_default.dart'; import 'package:rkm/widgets/button_default.dart';
import 'package:rkm/widgets/dropdown_button_com_pesquisa.dart'; import 'package:rkm/widgets/dropdown_button_com_pesquisa.dart';
import 'package:rkm/widgets/switch_with_subtitle.dart'; import 'package:rkm/widgets/switch_with_subtitle.dart';
import 'package:rkm/widgets/text_default.dart'; import 'package:rkm/widgets/text_default.dart';
import 'package:rkm/widgets/title_containers.dart'; import 'package:rkm/widgets/title_containers.dart';
import '../screens/select_service/home_visit_screen.dart'; import '../screens/select_service/visita_domiciliar_tela.dart';
import 'dropdown_button_default.dart'; import 'dropdown_button_default.dart';
import 'input_search_text.dart'; import 'input_search_text.dart';
class AlertDialogDefault { class AlertDialogDefault {
@@ -85,6 +85,41 @@ class AlertDialogDefault {
); );
} }
sucess(BuildContext context,String title,String subtitle,String textButtom, var onPressed) {
double width = MediaQuery.of(context).size.width;
double height = MediaQuery.of(context).size.height;
return showDialog(
context: context,
builder: (context){
return AlertDialog(
title: TextDefault(
text: title,
color: ColorPalette.black54,
textAlign: TextAlign.center,
fontWeigth: FontWeight.bold,
),
content: TextDefault(
text: subtitle,
color: ColorPalette.black54,
maxLines: 4,
),
actions: [
ButtonDefault(
onPressed: onPressed,
title: textButtom,
width: width*0.85,
textColor: ColorPalette.white,
borderColor: ColorPalette.appBar,
background: ColorPalette.appBar,
)
],
);
}
);
}
alertSelect(BuildContext context,String name,String username, var dataPatient) { alertSelect(BuildContext context,String name,String username, var dataPatient) {
//Cadastro e edição do Cadastro do Cidadão, Cadastro Individual, Cadastro Domiciliar e Visita Domiciliar //Cadastro e edição do Cadastro do Cidadão, Cadastro Individual, Cadastro Domiciliar e Visita Domiciliar
List list = [ List list = [
@@ -95,7 +130,7 @@ class AlertDialogDefault {
// 'Ficha Complementar', // 'Ficha Complementar',
// 'Marcadores de Consumo', // 'Marcadores de Consumo',
// 'Procedimentos', // 'Procedimentos',
'Visita domiciliar', 'Visita Domiciliar',
]; ];
double width = MediaQuery.of(context).size.width; double width = MediaQuery.of(context).size.width;
@@ -126,12 +161,12 @@ class AlertDialogDefault {
if(index==0){ if(index==0){
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute(builder:(context) => ServiceHomeScreen(name: name,username: username,)), MaterialPageRoute(builder:(context) => AtendimentoDomiciliarTela(name: name,username: username,)),
); );
}else if(index == 1){ }else if(index == 1){
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute(builder:(context) => HomeVisitScreen(name: name,username: username,)), MaterialPageRoute(builder:(context) => VisitaDomiciliarTela(name: name,username: username,)),
); );
// Navigator.push( // Navigator.push(
// context, // context,
@@ -165,7 +200,7 @@ class AlertDialogDefault {
}else if (index==7){ }else if (index==7){
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute(builder:(context) => HomeVisitScreen(name: name,username: username,)), MaterialPageRoute(builder:(context) => VisitaDomiciliarTela(name: name,username: username,)),
); );
} }
}, },
@@ -458,7 +493,7 @@ class AlertDialogDefault {
String? selectProfessionals, String? selectProfessionals,
String? selectCBO, String? selectCBO,
String add, String add,
List list, List listProcProfissional,
List listProc, List listProc,
) { ) {
@@ -498,22 +533,22 @@ class AlertDialogDefault {
}), }),
select: selectProfessionals, select: selectProfessionals,
title: '', title: '',
list: list, list: listProcProfissional,
width: width*0.8, width: width*0.8,
widthContainer: width*0.75, widthContainer: width*0.75,
), ),
ButtonDefault( // ButtonDefault(
onPressed:(){ // onPressed:(){
listProc.add(selectProfessionals); // listProc.add(selectProfessionals);
setState((){}); // setState((){});
}, // },
title: 'Adicionar', // title: 'Adicionar',
width: width*0.8, // width: width*0.8,
textColor: ColorPalette.white, // textColor: ColorPalette.white,
borderColor:ColorPalette.appBar, // borderColor:ColorPalette.appBar,
background: ColorPalette.appBar, // background: ColorPalette.appBar,
disableColor: ColorPalette.buttonDisable, // disableColor: ColorPalette.buttonDisable,
) // )
], ],
), ),
), ),
@@ -522,7 +557,7 @@ class AlertDialogDefault {
mainAxisSize: MainAxisSize.min, mainAxisSize: MainAxisSize.min,
children: [ children: [
TitleContainers(title: 'Procedimentos'), TitleContainers(title: 'Procedimentos'),
list.length!=0 listProcProfissional.length!=0
?Container( ?Container(
width: width*0.8, width: width*0.8,
height: listProc.length*70, height: listProc.length*70,
@@ -548,6 +583,7 @@ class AlertDialogDefault {
onPressed: () => onPressed: () =>
setState(() { setState(() {
listProc.removeAt(index); listProc.removeAt(index);
setState((){});
}), }),
) )
], ],

View File

@@ -0,0 +1,87 @@
import 'package:flutter/material.dart';
import 'package:rkm/widgets/text_default.dart';
import '../config/color_palette.dart';
import '../config/const_variable.dart';
import '../models/drop_down_data_string_model.dart';
class DropDownEtniaIndigena extends StatelessWidget {
var onChanged;
DropDownDataStringModel? select;
String title;
double fontSize;
List<DropDownDataStringModel> list;
double width;
double widthContainer;
DropDownEtniaIndigena({
required this.onChanged,
required this.select,
required this.title,
required this.list,
required this.width,
this.fontSize = 15,
this.widthContainer = 300
});
@override
Widget build(BuildContext context) {
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Container(
width: width,
margin: EdgeInsets.symmetric(horizontal: 5),
padding: EdgeInsets.symmetric(horizontal: 2),
child: TextDefault(
textAlign: TextAlign.start,
text: title,
color: ColorPalette.black54,
fontSize: 12,
),
),
Container(
width: width*0.95,
alignment: Alignment.centerLeft,
margin: EdgeInsets.symmetric(horizontal: 10),
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(5),
border: Border.all(color: Colors.white)
),
padding: EdgeInsets.symmetric(horizontal: 5),
child: DropdownButtonHideUnderline(
child: DropdownButton(
dropdownColor: Colors.white,
hint: Padding(
padding: const EdgeInsets.symmetric(horizontal: 0.0),
child: TextDefault(text: '-SELECIONE-',fontSize: ConstVariable().fontSizeInput,textAlign: TextAlign.end,color: Colors.black,),
),
value: select,
items: list.map((value) => DropdownMenuItem<DropDownDataStringModel>(
value: value,
child: Container(
alignment: Alignment.centerLeft,
color: Colors.white,
height: 50,
width: width*0.88,
child: Padding(
padding: EdgeInsets.symmetric(horizontal: 0.0),
child: TextDefault(
text: value.title,
maxLines: 2,
fontSize: fontSize,
color: Colors.black,
),
),
),
)
).toList(),
onChanged:onChanged
),
),
),
],
);
}
}

View File

@@ -46,7 +46,6 @@ class DropdownWithSubtitle extends StatelessWidget {
fontSize: 12, fontSize: 12,
), ),
), ),
Container( Container(
decoration: BoxDecoration( decoration: BoxDecoration(
borderRadius: BorderRadius.circular(5), borderRadius: BorderRadius.circular(5),

View File

@@ -2,9 +2,10 @@ name: rkm
description: RKM AB 2.0. description: RKM AB 2.0.
#Cadastro e edição do Cadastro do Cidadão, Cadastro Individual, Cadastro Domiciliar e Visita Domiciliar #Cadastro e edição do Cadastro do Cidadão, Cadastro Individual, Cadastro Domiciliar e Visita Domiciliar
#versão 1.0.6+5 finalizada dia 19/02/2024 #versão 1.0.6+5 finalizada dia 19/02/2024
#versão 1.0.6+5 finalizada dia 18/03/2024
publish_to: 'none' publish_to: 'none'
version: 1.0.6+5 version: 1.0.7+6
environment: environment:
sdk: '>=3.2.3 <4.0.0' sdk: '>=3.2.3 <4.0.0'