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);
double fontSizeInput = 15;
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 = [
'ATEND. INDIVIDUAL',
'VISTA DOMICILIAR'
@@ -86,6 +86,7 @@ class ConstVariable{
'PESSOA COM DESNUTRIÇÃO',
'PESSOA EM REABILITAÇÃO OU COM DEFICIÊNCIA',
'PESSOA COM HIPERTENSÃO',
'PESSOA COM DIABETES',
'PESSOA COM ASMA',
'PESSOA COM DPOC/ENFISEMA',
'PESSOA COM CÂNCER',
@@ -124,7 +125,7 @@ class ConstVariable{
'USO DE COLOSTOMIA',
'USO DE GASTROSTOMIA',
'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 TRAQUEOSTOMIA',
];

View File

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

View File

@@ -6,5 +6,17 @@ class DropDownDataStringModel{
required this.cod,
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:rkm/config/const_variable.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/text_default.dart';
import 'package:sqflite/sqflite.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/dropdown_button_default.dart';
import '../widgets/subtitle_containers.dart';
import '../widgets/title_containers.dart';
class EditProceduresScreen extends StatefulWidget {
@@ -24,9 +26,15 @@ class _EditProceduresScreenState extends State<EditProceduresScreen> {
var controllerProfessional = TextEditingController();
var controllerUnit = TextEditingController();
var NOME_PROFISSIONAL = TextEditingController();
var NOME_UNIDADE = TextEditingController();
List listCBO = [];
List listINEPROF = [];
String? selectCBO;
String? selectTeam;
String? INE_RESP_CADASTRO;
String? date;
int idUsuario = 0;
String idUnidade = '';
escolherprazoInicio(BuildContext context) async {
var pickDate = await showDatePicker(
@@ -47,7 +55,66 @@ class _EditProceduresScreenState extends State<EditProceduresScreen> {
String formattedDate = DateFormat('dd/MM/yyyy').format(data);
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
Widget build(BuildContext context) {
@@ -137,7 +204,7 @@ class _EditProceduresScreenState extends State<EditProceduresScreen> {
padding: EdgeInsets.all(5),
width: width*0.5,
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,
color: ColorPalette.titleContainer,
child: TextDefault(
text: 'USF PINHAL - EMILIA STEPHANI SIMIONATO',
text: NOME_UNIDADE.text,
color: ColorPalette.black54,
fontSize: 15,
),
@@ -188,7 +255,7 @@ class _EditProceduresScreenState extends State<EditProceduresScreen> {
width: width*0.4,
widthContainer: width*0.3,
select: selectCBO,
list: ConstVariable().itensCBO,
list: listCBO,
onChanged: (value){
setState(() {
selectCBO = value!;
@@ -218,11 +285,11 @@ class _EditProceduresScreenState extends State<EditProceduresScreen> {
fontSize: 15,
width: width*0.5,
widthContainer: width*0.4,
select: selectTeam,
list: [],
select: INE_RESP_CADASTRO,
list: listINEPROF,
onChanged: (value){
setState(() {
selectTeam = value!;
INE_RESP_CADASTRO = value!;
});
},
),

View File

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

View File

@@ -53,288 +53,307 @@ class _LoadInitScreenState extends State<LoadInitScreen> {
if(response['status'] == 0){
AlertDialogDefault().alert(context, 'Erro', 'Permissão negada', 'Voltar');
} else if(response['status'] == 1 && response['load_perm'] == "S") {
await ApiDataLoad().loadUnidades(urlAPI,mode,nameCityApi,username).then((value)async{
await ApiDataLoad().loadEtniasIndigenas(urlAPI, mode, nameCityApi, username).then((value)async{
List list = value;
List<Map<String, dynamic>> rows = [];
if(list.length !=0){
if(list.length !=0) {
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++) {
Map<String, dynamic> row = {
'ID_UNIDADE': list[i]['idUnidade'],
'NOME_UNIDADE': list[i]['nomeFantasia'],
'CNES_UNIDADE': list[i]['nrCNES']
'ID_ETNIA_INDIGENA': list[i]['idEtniaIndigena'].toString().trim(),
'DESC_ETNIA_INDIGENA': list[i]['descEtniaIndigena'].toString().trim(),
};
rows.add(row);
countProg = 0.1;
countProg = 0.05;
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:rkm/config/color_palette.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/widgets/alert_dialog_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/shared_preferences/shared_preferences_service.dart';
import '../../widgets/appbar_default.dart';
import '../../widgets/dropdown_etnia_indigena.dart';
import '../../widgets/dropdown_with_subtitle.dart';
import '../../widgets/error_default.dart';
import '../../widgets/input_search_text.dart';
@@ -108,6 +110,7 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
String? selectMaritalStatus;
int? selectMaritalStatusCod;
String? selectBreed;
DropDownDataStringModel? selectEtniaIndigena;
int? selectBreedCod;
String? selectScooling;
int? selectScoolingCod;
@@ -146,6 +149,7 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
List<String> listScooling = [];
List<String> listBreed = [];
List<String> listMaritalStatus = [];
List<DropDownDataStringModel> listEtniasIndigenas = [];
String idUnidade = '';
String codSus = '';
bool edit = false;
@@ -190,6 +194,28 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
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{
Database db = await DbSqliteLoad().intialDB();
var queryControl = "SELECT * FROM CONTROLE_INTERNO";
@@ -207,13 +233,11 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
Database db = await DbSqliteLoad().intialDB();
var queryCity = "SELECT * FROM ARGS";
List listCity = await db.rawQuery(queryCity);
// print(listCity);
setState(() {
cityController.text = '${listCity[0]['NAME_CITY_FRONT']} - ${listCity[0]['COD_STATE']}'.toUpperCase();
codIBGEController.text = listCity[0]['COD_IBGE'].toString();
});
String city = MainControllers().replaceDefaul(listCity[0]['NAME_CITY_FRONT']);
// print(city);
resultListResid = await DBQuerys().buscaMunicipioporNome(city);
}
@@ -229,7 +253,6 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
villageDB.add(widget.listData[0]['NO_BAIRRO_LOGR']);
}
}
// print(villageDB);
setState(() {});
}
@@ -240,16 +263,12 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
for(int i=0; list.length > i;i++){
typeStreetDB.add('${list[i]['NO_LOGR_TIPO']}');
}
// print('oque');
// print(typeStreetDB);
setState(() {});
}
loadStreetDB()async{
streetDB=[];
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";
List list = await db.rawQuery(query);
@@ -360,6 +379,7 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
selectClassification==null ||
selectCountry==null ||
date == 'Data de Nascimento'||
date == 'Data de Nascimento'||
cityBirthController.text.isEmpty ||
mobileDDDController.text.isEmpty ||
mobileController.text.isEmpty ||
@@ -390,8 +410,6 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
}
//sdsafdsf
saveCitizen()async{
print('NISController.text');
print(NISController.text);
Map<String, dynamic> row = {
'ID_CIDADAO' : idCidadao,
'CD_USUARIO_SUS' : codSus,
@@ -406,6 +424,7 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
'NO_MUNICIPIO_NASC' : resultListNasc[0]['NO_MUNICIPIO'],
'ESTADO_UF_NASC' : resultListNasc[0]['UF_ESTADO'],
'ID_ETNIA' : selectBreedCod,
'ID_ETNIA_INDIGENA' : selectEtniaIndigena!.cod.toString().trim(),
'ID_ESCOLARIDADE' : selectScoolingCod,
'ID_DEFICIENCIA' : selectDeficiencyCod,
'NOME_MAE' : nameMotherController.text,
@@ -521,8 +540,6 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
}
getData()async{
// print('passou');
// print(widget.listData[0]['ID_USUARIO_CADASTRO']);
idCidadao = widget.listData[0]['ID_CIDADAO'];
codSus = widget.listData[0]['CD_USUARIO_SUS'];
nameController.text = widget.listData[0]['NOME_CIDADAO'];
@@ -538,6 +555,9 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
}
}
spouseController.text = widget.listData[0]['NOME_CONJUGE'];
if(spouseController.text.isNotEmpty){
enableSpouse = true;
}
selectNaturalityCod = widget.listData[0]['NACIONALIDADE'];
if(selectNaturalityCod==1){
selectNaturality = 'BRASILEIRO';
@@ -558,6 +578,18 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
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++){
if(ConstVariable().listScooling[i].cod == widget.listData[0]['ID_ESCOLARIDADE']){
selectScoolingCod = ConstVariable().listScooling[i].cod;
@@ -599,8 +631,8 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
for(int i = 0; ConstVariable().paises.length > i;i++){
if(ConstVariable().paises[i].ID_PAIS_RESID == widget.listData[0]['ID_PAIS_RESID']){
selectCountry = ConstVariable().paises[i];
print(selectCountry!.ID_PAIS_RESID);
print(selectCountry!.PAIS);
// print(selectCountry!.ID_PAIS_RESID);
// 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'];
RGDateController.text = widget.listData[0]['RG_DATA_EMISSAO']==null?'':widget.listData[0]['RG_DATA_EMISSAO'];
RGDateDB = RGDateController.text;
if(widget.listData[0]['TIPO_CERTIDAO'] is int){
selectTypeCertificateCod = widget.listData[0]['TIPO_CERTIDAO'];
}else{
@@ -660,9 +693,10 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
for(int i = 0;ConstVariable().itensCertificate.length >i;i++){
if(ConstVariable().itensCertificate[i].cod == selectTypeCertificateCod){
selectTypeCertificate = ConstVariable().itensCertificate[i].title;
break;
}
break;
}
numberCertificateController.text = widget.listData[0]['NUM_CERTIDAO']??'';
nameCertificateController.text = widget.listData[0]['CARTORIO_CERTIDAO']??'';
bookCertificateController.text = widget.listData[0]['LIVRO_CERTIDAO']??'';
@@ -689,17 +723,13 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
super.initState();
searchCityBirthController.addListener(_searchCityBirth);
searchCityController.addListener(_searchCity);
getEtniasIndigenas();
getCity();
getUnit();
loadVillgeDB();
loadTypeStreetDB();
loadSubdivisionsDB();
loadLists();
if(widget.listData.length!=0){
getData();
edit = true;
showTab = true;
}
}
@override
@@ -882,6 +912,7 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
});
},
),
InputWithSubtitle(
controller: spouseController,
subtitle: 'Cônjuge',
@@ -1067,6 +1098,7 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
for(int i = 0;ConstVariable().listBreed.length >i;i++){
if(ConstVariable().listBreed[i].title == selectBreed){
selectBreedCod = ConstVariable().listBreed[i].cod;
selectEtniaIndigena = null;
print(selectBreedCod);
}
}
@@ -1074,6 +1106,20 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
},
),
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(
list: listScooling,
subtitle: 'Escolaridade',
@@ -1127,7 +1173,7 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
enabled: !enableMother && !edit,
onChanged: (v)=>setState((){}),
),
!enableMother&& mandatory?ErrorDefault():Container(),
!enableMother && nameMotherController.text.isEmpty && mandatory?ErrorDefault():Container(),
SwitchWithSubtitle(
width: width*0.65,
title: 'Desconhece Mãe',
@@ -1153,7 +1199,7 @@ class _RegisterCitizenScreenState extends State<RegisterCitizenScreen> {
enabled: !enableFather && !edit,
onChanged: (v)=>setState((){}),
),
!enableFather&& mandatory?ErrorDefault():Container(),
!enableFather&& nameFatherController.text.isEmpty && mandatory?ErrorDefault():Container(),
SwitchWithSubtitle(
width: width*0.65,
title: 'Desconhece Pai',

View File

@@ -226,11 +226,13 @@ class _RegisterIndividualScreenState extends State<RegisterIndividualScreen> {
loadCadIndividual()async{
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);
await DBQuerys().buscaCadInvidual(ID_CIDADAO).then((dataCitizen)async{
if(dataCitizen.length != 0) {
if(dataCitizen.isNotEmpty) {
ID_PROFISSIONAL = dataCitizen[0]['ID_RESP_CADASTRO'];
TIPO_SALVAR = 'update';
showTab = true;
@@ -422,12 +424,13 @@ class _RegisterIndividualScreenState extends State<RegisterIndividualScreen> {
OUTROS_HIGIENE = dataCitizen[0]['OUTROS_HIGIENE'] == 1 ? true : false;
CBO_RESP_CADASTRO = dataCitizen[0]['CBO_RESP_CADASTRO'].toString();
date_cad = dataCitizen[0]['DT_CADASTRO']??'';
// print('data $date_cad');
List splitted = date_cad.toString().split('-');
DT_CADASTRO.text = splitted.length<2?'':'${splitted[2]}/${splitted[1]}/${splitted[0]}';
CNES_RESP_CADASTRO.text = dataCitizen[0]['CNES_RESP_CADASTRO']??'';
setState(() {});
}else{
showTab = true;
}
CNES_RESP_CADASTRO.text = dataCitizen[0]['CNES_RESP_CADASTRO']=='null'?'':dataCitizen[0]['CNES_RESP_CADASTRO'];
if(listINE.length == 0){
List list = await DBQuerys().buscaDadosProfissional(idUnidade,idUsuario);
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/widgets/alert_dialog_default.dart';
import 'package:rkm/widgets/appbar_default.dart';
import 'package:sqflite/sqflite.dart';
import '../../config/const_variable.dart';
import '../../models/drop_down_data_string_model.dart';
import '../../service/api/api_data_import_sigtap.dart';
@@ -24,16 +25,16 @@ import '../../widgets/text_default.dart';
import '../../widgets/title_containers.dart';
import '../home_screen.dart';
class ServiceHomeScreen extends StatefulWidget {
class AtendimentoDomiciliarTela extends StatefulWidget {
String name;
String username;
ServiceHomeScreen({required this.name,required this.username});
AtendimentoDomiciliarTela({required this.name,required this.username});
@override
State<ServiceHomeScreen> createState() => _ServiceHomeScreenState();
State<AtendimentoDomiciliarTela> createState() => _AtendimentoDomiciliarTelaState();
}
class _ServiceHomeScreenState extends State<ServiceHomeScreen> {
class _AtendimentoDomiciliarTelaState extends State<AtendimentoDomiciliarTela> {
var NOME_PROFISSIONAL = TextEditingController();
var CNES_UNIDADE = TextEditingController();
@@ -56,7 +57,7 @@ class _ServiceHomeScreenState extends State<ServiceHomeScreen> {
int TIPO_ATENDIMENTO_COD=0;
int MODALIDADE_COD=0;
int TURNO_COD=0;
int CIAP_COD=0;
String CIAP_COD='';
int CONDUTA_COD=0;
int ID_EQUIPE=0;
String CID_COD='';
@@ -80,7 +81,7 @@ class _ServiceHomeScreenState extends State<ServiceHomeScreen> {
List <String>typeModelService = [];
List <String>typeTurnService = [];
List <String>listINEPROF = [];
List<DropDownDataModel> listCIAP = [];
List<DropDownDataStringModel> listCIAP = [];
List<DropDownDataStringModel> listCID = [];
List<String> PROCEDIMENTOS_SIGTAP = [];
List<String> ATENDS_DOM_PROC = [];
@@ -137,6 +138,8 @@ class _ServiceHomeScreenState extends State<ServiceHomeScreen> {
// print('idUsuario get');
// print(idUsuario);
loadData();
getPro();
// getProcedimentos();
}
});
_prefService.readCacheUnidade().then((value){
@@ -146,16 +149,28 @@ class _ServiceHomeScreenState extends State<ServiceHomeScreen> {
}
});
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){
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{
// 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){
ID_PROFISSIONAL = list['ID_PROFISSIONAL'];
NOME_PROFISSIONAL.text = list['NOME_PROFISSIONAL'];
@@ -163,64 +178,7 @@ class _ServiceHomeScreenState extends State<ServiceHomeScreen> {
if(CNS_PROFISSIONAL == 999999999999999 || CNS_PROFISSIONAL == '999999999999999'){
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);
for(int i=0; list.length > i;i++){
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(() {});
}
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{
// adicionar depois e usar um usuário real
// CBO_RESP_CADASTRO
@@ -605,7 +615,7 @@ class _ServiceHomeScreenState extends State<ServiceHomeScreen> {
padding: EdgeInsets.symmetric(vertical: 10),
width: width*0.7,
child: TextDefault(
text: CID!=null?'CID $CIAP':'CID',
text: CID!=null?'CID $CID':'CID',
color:Colors.black,
fontSize: 15,
)
@@ -640,9 +650,13 @@ class _ServiceHomeScreenState extends State<ServiceHomeScreen> {
physics: const NeverScrollableScrollPhysics(),
itemCount: ConstVariable().serviceHomeCheckProclist.length,
itemBuilder: (context,index){
List aux = ConstVariable().serviceHomeCheckProclist;
aux.sort();
serviceProcModel.add(
CheckModel(
subtitle: ConstVariable().serviceHomeCheckProclist[index],
subtitle: aux[index],
check: false
)
);
@@ -685,7 +699,7 @@ class _ServiceHomeScreenState extends State<ServiceHomeScreen> {
IconButton(
icon: Icon(Icons.add_circle,color: ColorPalette.blackButton),
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/title_containers.dart';
class HomeVisitScreen extends StatefulWidget {
class VisitaDomiciliarTela extends StatefulWidget {
String name;
String username;
HomeVisitScreen({required this.name, required this.username});
VisitaDomiciliarTela({required this.name, required this.username});
@override
State<HomeVisitScreen> createState() => _HomeVisitScreenState();
State<VisitaDomiciliarTela> createState() => _VisitaDomiciliarTelaState();
}
class _HomeVisitScreenState extends State<HomeVisitScreen> {
class _VisitaDomiciliarTelaState extends State<VisitaDomiciliarTela> {
var PESO = TextEditingController();
var ALTURA = TextEditingController();
@@ -126,8 +126,39 @@ class _HomeVisitScreenState extends State<HomeVisitScreen> {
}
});
Database dbcbo = await DbSqliteLoad().intialDB();
var query = 'SELECT * FROM PROFISSIONAIS_CBOS WHERE ID_PROFISSIONAL = $idUsuario';
List listcbo = await dbcbo.rawQuery(query);
var querycbo = 'SELECT * FROM PROFISSIONAIS_CBOS WHERE ID_PROFISSIONAL = $idUsuario';
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){
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 query = 'SELECT * FROM PROFISSIONAIS_CBOS';
/*var querycbo = 'SELECT * FROM CBOS WHERE CODIGO_CBO = 223208';
var query = 'SELECT * FROM PROFISSIONAIS_CBOS';
List listcbocompleta = await dbcbo.rawQuery(querycbo);
print(listcbocompleta);
print(listcbocompleta);*/
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']}');
}
var db = await DbSqliteLoad().intialDB();
List listSIGTAP = await db.query('PROCEDIMENTOS_SIGTAP');
for(int i = 0; listSIGTAP.length>i;i++){
if(listSIGTAP[i]['COD_PROC_SIGTAP']!=null && listSIGTAP[i]['DESC_PROC_SIGTAP']!=null){
PROCEDIMENTOS_SIGTAP.add('${listSIGTAP[i]['COD_PROC_SIGTAP']} - ${listSIGTAP[i]['DESC_PROC_SIGTAP']}');
}
}
// var db = await DbSqliteLoad().intialDB();
// List listSIGTAP = await db.query('PROCEDIMENTOS_SIGTAP');
// for(int i = 0; listSIGTAP.length>i;i++){
// if(listSIGTAP[i]['COD_PROC_SIGTAP']!=null && listSIGTAP[i]['DESC_PROC_SIGTAP']!=null){
// PROCEDIMENTOS_SIGTAP.add('${listSIGTAP[i]['COD_PROC_SIGTAP']} - ${listSIGTAP[i]['DESC_PROC_SIGTAP']}');
// }
// }
List listProf = await DBQuerys().buscaDadosProfissional(idUnidade,idUsuario);
INE_PROFISSIONAL = listProf[0]['INE'];
ID_EQUIPE = listProf[0]['ID_EQUIPE'];
@@ -176,8 +207,8 @@ class _HomeVisitScreenState extends State<HomeVisitScreen> {
}
loadData()async{
print('idUsuario');
print(idUsuario);
// print('idUsuario');
// print(idUsuario);
await DBQuerys().buscaProfissionalCadInd(idUsuario).then((list){
ID_PROFISSIONAL = list['ID_PROFISSIONAL'];
NOME_PROFISSIONAL.text = list['NOME_PROFISSIONAL'];
@@ -190,44 +221,56 @@ class _HomeVisitScreenState extends State<HomeVisitScreen> {
}
checkSave()async{
// adicionar depois e usar um usuário real
// CBO_RESP_CADASTRO
//ok
if(date.isEmpty || dateDB.isEmpty || TIPO_IMOVEL_COD==0 || DESFECHO_COD ==0 || TURNO_COD == 0 || CBO_PROFISSIONAL == null
/* adicionar depois e usar um usuário real
CBO_RESP_CADASTRO
ok*/
//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(() {
showCheckError = true;
mandatory = true;
});
}else{
print('passou');
setState(() {
mandatory = false;
showCheckError = false;
//TIPO VISITA
/*TIPO VISITA*/
if(tipoVisitaModel[0].check || tipoVisitaModel[1].check){
//BUSCA ATIVA
if(CONSULTA || VACINA || EXAME || CONDICIONALIDADES){
//CONTROLE AMBIENTAL
if(ACAO_EDUCATIVA || ACAO_MECANICA || IMOVEL_FOCO || TRATAMENTO_FOCAL){
/*BUSCA ATIVA*/
print('tipoVisitaModel[1].check');
print(tipoVisitaModel[1].check);
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 check2 = false;
for(int i=0; tipoAcompanhamentoModel.length>i;i++){
if(tipoAcompanhamentoModel[i].check){
print('pegou a $i');
check1 = true;
break;
if(!tipoVisitaModel[1].check){
for(int i=0; tipoAcompanhamentoModel.length>i;i++){
if(tipoAcompanhamentoModel[i].check){
print('pegou a $i');
check1 = true;
break;
}
}
}else{
check1 = true;
}
for(int i=0; outrosModel.length>i;i++){
if(outrosModel[i].check){
print('outros $i');
check2 = true;
break;
if(!tipoVisitaModel[1].check){
for(int i=0; outrosModel.length>i;i++){
if(outrosModel[i].check){
print('outros $i');
check2 = true;
break;
}
}
}else{
check2 = true;
}
if(!check1 || !check2){
print('erro 1');
AlertDialogDefault().alert(
context,
'Aviso',
@@ -242,6 +285,8 @@ class _HomeVisitScreenState extends State<HomeVisitScreen> {
}else{
print('AQUI');
print('erro 2');
AlertDialogDefault().alert(
context,
'Aviso',
@@ -251,6 +296,8 @@ class _HomeVisitScreenState extends State<HomeVisitScreen> {
}
}else{
print('nesse');
print('erro 3');
AlertDialogDefault().alert(
context,
'Aviso',
@@ -290,62 +337,62 @@ class _HomeVisitScreenState extends State<HomeVisitScreen> {
'SINCRONIZADO' : 'N',
};
await DbSqliteSync().insertVisitaDomiciliar(row).then((value)async{
print('value');
print(value);
//tipo visita == 1
// print('value');
// print(value);
/*tipo visita == 1*/
for(int i = 0;tipoVisitaModel.length>i;i++){
if(tipoVisitaModel[i].check){
//cadastramento = 1
/*cadastramento = 1*/
if(i==0){
await DbSqliteSync().insertVisitaDomiciliarCOMPL(value,1,1);
}else if(i == 1){
//periodica = 29
/*periodica = 29*/
await DbSqliteSync().insertVisitaDomiciliarCOMPL(value,1,29);
}
}
}
//busca ativa == 2
//CONSULTA 2
/*busca ativa == 2
CONSULTA 2*/
if(CONSULTA){
await DbSqliteSync().insertVisitaDomiciliarCOMPL(value,2,2);
}
//busca ativa == 2
//EXAME 3
/*busca ativa == 2
EXAME 3*/
if(EXAME){
await DbSqliteSync().insertVisitaDomiciliarCOMPL(value,2,3);
}
//busca ativa == 2
//VACINA 8
/*busca ativa == 2
VACINA 8*/
if(VACINA){
await DbSqliteSync().insertVisitaDomiciliarCOMPL(value,2,8);
}
//busca ativa == 2
//CONDICIONALIDADES 30
/*busca ativa == 2
CONDICIONALIDADES 30*/
if(CONDICIONALIDADES){
await DbSqliteSync().insertVisitaDomiciliarCOMPL(value,2,30);
}
//controle ambiental == 5
// ACAO_EDUCATIVA == 34
/*controle ambiental == 5
ACAO_EDUCATIVA == 34*/
if(ACAO_EDUCATIVA){
await DbSqliteSync().insertVisitaDomiciliarCOMPL(value,5,34);
}
//controle ambiental == 5
// IMOVEL_FOCO == 35
/*controle ambiental == 5
IMOVEL_FOCO == 35*/
if(IMOVEL_FOCO){
await DbSqliteSync().insertVisitaDomiciliarCOMPL(value,5,35);
}
//controle ambiental == 5
// ACAO_MECANICA == 36
/*controle ambiental == 5
ACAO_MECANICA == 36*/
if(ACAO_MECANICA){
await DbSqliteSync().insertVisitaDomiciliarCOMPL(value,5,36);
}
//controle ambiental == 5
// TRATAMENTO_FOCAL == 37
/*controle ambiental == 5
TRATAMENTO_FOCAL == 37*/
if(TRATAMENTO_FOCAL){
await DbSqliteSync().insertVisitaDomiciliarCOMPL(value,5,37);
}
//ACOMPANHAMENTO == 3
/*ACOMPANHAMENTO == 3*/
for(int i=0; tipoAcompanhamentoModel.length>i;i++){
if(tipoAcompanhamentoModel[i].check){
print('pegou a $i');
@@ -354,12 +401,12 @@ class _HomeVisitScreenState extends State<HomeVisitScreen> {
print('CODIGO ${i+5}');
await DbSqliteSync().insertVisitaDomiciliarCOMPL(value,3,i+5);
}else if(i==14){
//respiratorios == 32
/*respiratorios == 32*/
print('CODIGO ${i}');
await DbSqliteSync().insertVisitaDomiciliarCOMPL(value,3,32);
}else if(i==15){
print('CODIGO ${i}');
//tabagista == 33
/*tabagista == 33*/
await DbSqliteSync().insertVisitaDomiciliarCOMPL(value,3,33);
}else if(i>=16){
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++){
if(outrosModel[i].check){
print('outros a $i');
print(outrosModel[i].subtitle);
//orientacao prevencao == 31
/*orientacao prevencao == 31*/
if(i==3){
await DbSqliteSync().insertVisitaDomiciliarCOMPL(value,4,31);
}else if(i==4){
@@ -388,13 +435,16 @@ class _HomeVisitScreenState extends State<HomeVisitScreen> {
List splitted = listProc[i].toString().split(' ');
await DbSqliteSync().insertVISITAS_DOMICILIARES_PROC(value,splitted[0]);
}
AlertDialogDefault().alert(
AlertDialogDefault().sucess(
context,
'Aviso',
'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(
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,
checkbox:tipoVisitaModel[index].check,
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),
Container(
width: width*0.7,
height: heigth*0.85,
height: heigth*0.9,
child: ListView.builder(
physics: const NeverScrollableScrollPhysics(),
itemCount: ConstVariable().tipoAcompanhamentoModel.length,
@@ -829,21 +883,42 @@ class _HomeVisitScreenState extends State<HomeVisitScreen> {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
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(
padding: const EdgeInsets.symmetric(horizontal: 10.0),
child: Container(
height: 200,
width: width*0.7,
child: Row(
child: Column(
mainAxisAlignment:MainAxisAlignment.center ,
children: [
TextDefault(text: 'Procedimento',color: Colors.black,),
Spacer(),
IconButton(
icon: Icon(Icons.add_circle,color: ColorPalette.blackButton),
onPressed: (){
Row(
children: [
TextDefault(text: 'Procedimento',color: Colors.black,),
Spacer(),
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);
},
}),
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);
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{
//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

View File

@@ -56,6 +56,7 @@ class ApiDataSync{
}
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:8061/api/atb/desenvolvimento/portoferreira/admin/sync/47/cidadaos/1/1/true
final url = '${urlAPI}${mode}/${nameCityApi}/${user}/sync/${idUnidade}/cidadaos/$area/$microarea/$foraArea';
print(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:sqflite/sqflite.dart';
@@ -24,21 +25,20 @@ class DBQuerys{
var query = "SELECT * FROM CIAPS";
List list = await db.rawQuery(query);
// print(list);
return list[0];
return list;
}
Future buscaCID()async{
Database db = await DbSqliteLoad().intialDB();
var query = "SELECT * FROM CIDS";
List list = await db.rawQuery(query);
// print(list);
return list[0];
return list;
}
Future buscaAtendDomProc()async{
Database db = await DbSqliteLoad().intialDB();
var query = "SELECT * FROM ATENDS_DOM_SIGTAP";
var query = "SELECT * FROM PROCEDIMENTOS_SIGTAP";
List list = await db.rawQuery(query);
// print(list);
return list[0];
return list;
}
buscaDadosProfissional(String idUnidade, int idUsuario)async{
Database db = await DbSqliteLoad().intialDB();
@@ -113,6 +113,22 @@ class DBQuerys{
// print(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{
Database db = await DbSqliteLoad().intialDB();
var query = "SELECT * FROM CBOS ORDER BY DESCRICAO_CBO";
@@ -154,6 +170,13 @@ class DBQuerys{
// print(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{
Database db = await DbSqliteLoad().intialDB();
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 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 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 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);');
@@ -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_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 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 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);');
@@ -103,6 +104,7 @@ class DbSqliteLoad{
'DELETE FROM PROFISSIONAIS;',
'DELETE FROM PROFISSIONAIS_CBOS;',
'DELETE FROM PROFISSIONAIS_EQUIPE;',
'DELETE FROM ETNIAS_INDIGENAS;',
'DELETE FROM UNIDADES;',
'DELETE FROM VISITAS_DOMICILIARES;',
'DELETE FROM VISITAS_DOMICILIARES_COMPL;',
@@ -143,6 +145,20 @@ class DbSqliteLoad{
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{
Database db = await intialDB();
Batch batch = db.batch();

View File

@@ -193,6 +193,7 @@ class DbSqliteSync{
'NO_MUNICIPIO_NASC' : value[i]['noMunicipioNasc'],
'ESTADO_UF_NASC' : value[i]['cdEstado'],
'ID_ETNIA' : value[i]['cdEtnia'],
'ID_ETNIA_INDIGENA' : value[i]['cdEtniaIndigena'],
'ID_ESCOLARIDADE' : value[i]['cdUsuarioEscolaridade'],
'ID_DEFICIENCIA' : value[i]['nrDeficiencia'],
'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/procedures_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/widgets/button_default.dart';
import 'package:rkm/widgets/dropdown_button_com_pesquisa.dart';
import 'package:rkm/widgets/switch_with_subtitle.dart';
import 'package:rkm/widgets/text_default.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 'input_search_text.dart';
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) {
//Cadastro e edição do Cadastro do Cidadão, Cadastro Individual, Cadastro Domiciliar e Visita Domiciliar
List list = [
@@ -95,7 +130,7 @@ class AlertDialogDefault {
// 'Ficha Complementar',
// 'Marcadores de Consumo',
// 'Procedimentos',
'Visita domiciliar',
'Visita Domiciliar',
];
double width = MediaQuery.of(context).size.width;
@@ -126,12 +161,12 @@ class AlertDialogDefault {
if(index==0){
Navigator.push(
context,
MaterialPageRoute(builder:(context) => ServiceHomeScreen(name: name,username: username,)),
MaterialPageRoute(builder:(context) => AtendimentoDomiciliarTela(name: name,username: username,)),
);
}else if(index == 1){
Navigator.push(
context,
MaterialPageRoute(builder:(context) => HomeVisitScreen(name: name,username: username,)),
MaterialPageRoute(builder:(context) => VisitaDomiciliarTela(name: name,username: username,)),
);
// Navigator.push(
// context,
@@ -165,7 +200,7 @@ class AlertDialogDefault {
}else if (index==7){
Navigator.push(
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? selectCBO,
String add,
List list,
List listProcProfissional,
List listProc,
) {
@@ -498,22 +533,22 @@ class AlertDialogDefault {
}),
select: selectProfessionals,
title: '',
list: list,
list: listProcProfissional,
width: width*0.8,
widthContainer: width*0.75,
),
ButtonDefault(
onPressed:(){
listProc.add(selectProfessionals);
setState((){});
},
title: 'Adicionar',
width: width*0.8,
textColor: ColorPalette.white,
borderColor:ColorPalette.appBar,
background: ColorPalette.appBar,
disableColor: ColorPalette.buttonDisable,
)
// ButtonDefault(
// onPressed:(){
// listProc.add(selectProfessionals);
// setState((){});
// },
// title: 'Adicionar',
// width: width*0.8,
// textColor: ColorPalette.white,
// borderColor:ColorPalette.appBar,
// background: ColorPalette.appBar,
// disableColor: ColorPalette.buttonDisable,
// )
],
),
),
@@ -522,7 +557,7 @@ class AlertDialogDefault {
mainAxisSize: MainAxisSize.min,
children: [
TitleContainers(title: 'Procedimentos'),
list.length!=0
listProcProfissional.length!=0
?Container(
width: width*0.8,
height: listProc.length*70,
@@ -548,6 +583,7 @@ class AlertDialogDefault {
onPressed: () =>
setState(() {
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,
),
),
Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(5),

View File

@@ -2,9 +2,10 @@ name: rkm
description: RKM AB 2.0.
#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 18/03/2024
publish_to: 'none'
version: 1.0.6+5
version: 1.0.7+6
environment:
sdk: '>=3.2.3 <4.0.0'