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

@@ -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]);
},
),
),
)
],
),