versão 1.0.13+14 edicao da visita_domiciliar_tela.dart
This commit is contained in:
@@ -3,11 +3,13 @@ import 'package:rkm/config/color_palette.dart';
|
|||||||
import 'package:rkm/config/const_variable.dart';
|
import 'package:rkm/config/const_variable.dart';
|
||||||
import 'package:rkm/screens/registers_citizen/register_citizen_screen.dart';
|
import 'package:rkm/screens/registers_citizen/register_citizen_screen.dart';
|
||||||
import 'package:rkm/screens/select_service/atendimento_domiciliar_tela.dart';
|
import 'package:rkm/screens/select_service/atendimento_domiciliar_tela.dart';
|
||||||
|
import 'package:rkm/screens/select_service/visita_domiciliar_tela.dart';
|
||||||
import 'package:rkm/widgets/text_default.dart';
|
import 'package:rkm/widgets/text_default.dart';
|
||||||
import 'package:sqflite/sqflite.dart';
|
import 'package:sqflite/sqflite.dart';
|
||||||
import '../service/db/db_querys.dart';
|
import '../service/db/db_querys.dart';
|
||||||
import '../service/db/db_sqlite_load.dart';
|
import '../service/db/db_sqlite_load.dart';
|
||||||
import '../widgets/appbar_default.dart';
|
import '../widgets/appbar_default.dart';
|
||||||
|
import '../widgets/button_default.dart';
|
||||||
|
|
||||||
class AttendanceListScreen extends StatefulWidget {
|
class AttendanceListScreen extends StatefulWidget {
|
||||||
String username;
|
String username;
|
||||||
@@ -126,7 +128,52 @@ class _AttendanceListScreenState extends State<AttendanceListScreen> {
|
|||||||
),
|
),
|
||||||
child: Icon(Icons.delete, color: Colors.white, size: 40,),
|
child: Icon(Icons.delete, color: Colors.white, size: 40,),
|
||||||
),
|
),
|
||||||
onPressed: (){},
|
onPressed: ()async{
|
||||||
|
await showDialog(
|
||||||
|
context: context,
|
||||||
|
builder: (context){
|
||||||
|
return AlertDialog(
|
||||||
|
title: TextDefault(text: 'Aviso',color: ColorPalette.black54,textAlign: TextAlign.center,),
|
||||||
|
content: TextDefault(text: 'Deseja apagar esse "Atendimento Domiciliar" ?',color: ColorPalette.black54,),
|
||||||
|
actions: [
|
||||||
|
ButtonDefault(
|
||||||
|
onPressed: ()async{
|
||||||
|
Database db = await DbSqliteLoad().intialDB();
|
||||||
|
await db.delete(
|
||||||
|
'ATENDS_DOM_COMPL',
|
||||||
|
where: 'ID_ATENDIMENTO_DOMICILIAR = ?',
|
||||||
|
whereArgs: [atendimentoDomiciliarLista[i]['ID_ATENDIMENTO_DOMICILIAR']],
|
||||||
|
);
|
||||||
|
await db.delete(
|
||||||
|
'ATENDS_DOM_PROC',
|
||||||
|
where: 'ID_ATENDIMENTO_DOMICILIAR = ?',
|
||||||
|
whereArgs: [atendimentoDomiciliarLista[i]['ID_ATENDIMENTO_DOMICILIAR']],
|
||||||
|
);
|
||||||
|
await db.delete(
|
||||||
|
'ATENDIMENTOS_DOMICILIARES',
|
||||||
|
where: 'ID_ATENDIMENTO_DOMICILIAR = ?',
|
||||||
|
whereArgs: [atendimentoDomiciliarLista[i]['ID_ATENDIMENTO_DOMICILIAR']],
|
||||||
|
);
|
||||||
|
Navigator.of(context).pop();
|
||||||
|
getData();
|
||||||
|
},
|
||||||
|
title: 'Sim',
|
||||||
|
background: ColorPalette.appBar,
|
||||||
|
borderColor: ColorPalette.appBar,
|
||||||
|
textColor: ColorPalette.white,
|
||||||
|
),
|
||||||
|
ButtonDefault(
|
||||||
|
onPressed: ()=>Navigator.of(context).pop(false),
|
||||||
|
title: 'Não',
|
||||||
|
background: ColorPalette.white,
|
||||||
|
borderColor: ColorPalette.white,
|
||||||
|
textColor: ColorPalette.black54,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
},
|
||||||
):Container(),
|
):Container(),
|
||||||
atendimentoDomiciliarLista[i]['SINCRONIZADO']!='S'?IconButton(
|
atendimentoDomiciliarLista[i]['SINCRONIZADO']!='S'?IconButton(
|
||||||
icon: Container(
|
icon: Container(
|
||||||
@@ -188,7 +235,7 @@ class _AttendanceListScreenState extends State<AttendanceListScreen> {
|
|||||||
],
|
],
|
||||||
),
|
),
|
||||||
Spacer(),
|
Spacer(),
|
||||||
visitaDomiciliarLista[i]['SINCRONIZADO']=='N'?IconButton(
|
visitaDomiciliarLista[i]['SINCRONIZADO']!='S'?IconButton(
|
||||||
icon: Container(
|
icon: Container(
|
||||||
padding: EdgeInsets.all(8.0),
|
padding: EdgeInsets.all(8.0),
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
@@ -197,9 +244,49 @@ class _AttendanceListScreenState extends State<AttendanceListScreen> {
|
|||||||
),
|
),
|
||||||
child: Icon(Icons.delete, color: Colors.white, size: 40,),
|
child: Icon(Icons.delete, color: Colors.white, size: 40,),
|
||||||
),
|
),
|
||||||
onPressed: (){},
|
onPressed: ()async{
|
||||||
|
await showDialog(
|
||||||
|
context: context,
|
||||||
|
builder: (context){
|
||||||
|
return AlertDialog(
|
||||||
|
title: TextDefault(text: 'Aviso',color: ColorPalette.black54,textAlign: TextAlign.center,),
|
||||||
|
content: TextDefault(text: 'Deseja apagar essa "Visita Domiciliar" ?',color: ColorPalette.black54,),
|
||||||
|
actions: [
|
||||||
|
ButtonDefault(
|
||||||
|
onPressed: ()async{
|
||||||
|
Database db = await DbSqliteLoad().intialDB();
|
||||||
|
await db.delete(
|
||||||
|
'VISITAS_DOMICILIARES_COMPL',
|
||||||
|
where: 'ID_VISITA_DOMICILIAR = ?',
|
||||||
|
whereArgs: [visitaDomiciliarLista[i]['ID_VISITA_DOMICILIAR']],
|
||||||
|
);
|
||||||
|
await db.delete(
|
||||||
|
'VISITAS_DOMICILIARES',
|
||||||
|
where: 'ID_VISITA_DOMICILIAR = ?',
|
||||||
|
whereArgs: [visitaDomiciliarLista[i]['ID_VISITA_DOMICILIAR']],
|
||||||
|
);
|
||||||
|
Navigator.of(context).pop();
|
||||||
|
getData();
|
||||||
|
},
|
||||||
|
title: 'Sim',
|
||||||
|
background: ColorPalette.appBar,
|
||||||
|
borderColor: ColorPalette.appBar,
|
||||||
|
textColor: ColorPalette.white,
|
||||||
|
),
|
||||||
|
ButtonDefault(
|
||||||
|
onPressed: ()=>Navigator.of(context).pop(false),
|
||||||
|
title: 'Não',
|
||||||
|
background: ColorPalette.white,
|
||||||
|
borderColor: ColorPalette.white,
|
||||||
|
textColor: ColorPalette.black54,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
},
|
||||||
):Container(),
|
):Container(),
|
||||||
visitaDomiciliarLista[i]['SINCRONIZADO']=='N'?IconButton(
|
visitaDomiciliarLista[i]['SINCRONIZADO']!='S'?IconButton(
|
||||||
icon: Container(
|
icon: Container(
|
||||||
padding: EdgeInsets.all(8.0),
|
padding: EdgeInsets.all(8.0),
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
@@ -209,10 +296,10 @@ class _AttendanceListScreenState extends State<AttendanceListScreen> {
|
|||||||
child: Icon(Icons.edit, color: Colors.white, size: 40,),
|
child: Icon(Icons.edit, color: Colors.white, size: 40,),
|
||||||
),
|
),
|
||||||
onPressed: (){
|
onPressed: (){
|
||||||
// Navigator.push(
|
Navigator.push(
|
||||||
// context,
|
context,
|
||||||
// MaterialPageRoute(builder:(context) => AtendimentoDomiciliarTela(name: visitHome[i]['NOME_CIDADAO'],username: widget.username,dados: visitHome[i],)),
|
MaterialPageRoute(builder:(context) => VisitaDomiciliarTela(name: visitaDomiciliarLista[i]['NOME_CIDADAO'],username: widget.username,dados: visitaDomiciliarLista[i],)),
|
||||||
// );
|
);
|
||||||
},
|
},
|
||||||
):Container(),
|
):Container(),
|
||||||
],
|
],
|
||||||
@@ -269,7 +356,42 @@ class _AttendanceListScreenState extends State<AttendanceListScreen> {
|
|||||||
),
|
),
|
||||||
child: Icon(Icons.delete, color: Colors.white, size: 40,),
|
child: Icon(Icons.delete, color: Colors.white, size: 40,),
|
||||||
),
|
),
|
||||||
onPressed: (){},
|
onPressed: ()async{
|
||||||
|
await showDialog(
|
||||||
|
context: context,
|
||||||
|
builder: (context){
|
||||||
|
return AlertDialog(
|
||||||
|
title: TextDefault(text: 'Aviso',color: ColorPalette.black54,textAlign: TextAlign.center,),
|
||||||
|
content: TextDefault(text: 'Deseja apagar esse cidadão?',color: ColorPalette.black54,),
|
||||||
|
actions: [
|
||||||
|
ButtonDefault(
|
||||||
|
onPressed: ()async{
|
||||||
|
Database db = await DbSqliteLoad().intialDB();
|
||||||
|
await db.delete(
|
||||||
|
'CIDADAOS', // Substitua pelo nome da sua tabela
|
||||||
|
where: 'ID_CIDADAO = ?',
|
||||||
|
whereArgs: [cadastroCidadaoLista[i]['ID_CIDADAO']],
|
||||||
|
);
|
||||||
|
Navigator.of(context).pop();
|
||||||
|
getData();
|
||||||
|
},
|
||||||
|
title: 'Sim',
|
||||||
|
background: ColorPalette.appBar,
|
||||||
|
borderColor: ColorPalette.appBar,
|
||||||
|
textColor: ColorPalette.white,
|
||||||
|
),
|
||||||
|
ButtonDefault(
|
||||||
|
onPressed: ()=>Navigator.of(context).pop(false),
|
||||||
|
title: 'Não',
|
||||||
|
background: ColorPalette.white,
|
||||||
|
borderColor: ColorPalette.white,
|
||||||
|
textColor: ColorPalette.black54,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
},
|
||||||
)
|
)
|
||||||
:Container(),
|
:Container(),
|
||||||
cadastroCidadaoLista[i]['SINCRONIZADO']=='N'?IconButton(
|
cadastroCidadaoLista[i]['SINCRONIZADO']=='N'?IconButton(
|
||||||
|
|||||||
@@ -27,7 +27,8 @@ import '../../widgets/title_containers.dart';
|
|||||||
class VisitaDomiciliarTela extends StatefulWidget {
|
class VisitaDomiciliarTela extends StatefulWidget {
|
||||||
String name;
|
String name;
|
||||||
String username;
|
String username;
|
||||||
VisitaDomiciliarTela({required this.name, required this.username});
|
var dados;
|
||||||
|
VisitaDomiciliarTela({required this.name, required this.username, required this.dados});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
State<VisitaDomiciliarTela> createState() => _VisitaDomiciliarTelaState();
|
State<VisitaDomiciliarTela> createState() => _VisitaDomiciliarTelaState();
|
||||||
@@ -55,6 +56,8 @@ class _VisitaDomiciliarTelaState extends State<VisitaDomiciliarTela> {
|
|||||||
bool IMOVEL_FOCO = false;
|
bool IMOVEL_FOCO = false;
|
||||||
bool TRATAMENTO_FOCAL = false;
|
bool TRATAMENTO_FOCAL = false;
|
||||||
|
|
||||||
|
bool carregando = true;
|
||||||
|
|
||||||
String? TURNO;
|
String? TURNO;
|
||||||
String? TIPO_IMOVEL;
|
String? TIPO_IMOVEL;
|
||||||
String? DESFECHO;
|
String? DESFECHO;
|
||||||
@@ -67,6 +70,7 @@ class _VisitaDomiciliarTelaState extends State<VisitaDomiciliarTela> {
|
|||||||
int ID_PROFISSIONAL=0;
|
int ID_PROFISSIONAL=0;
|
||||||
int ID_CIDADAO=0;
|
int ID_CIDADAO=0;
|
||||||
int ID_EQUIPE=0;
|
int ID_EQUIPE=0;
|
||||||
|
int ID_VISITA_DOMICILIAR=0;
|
||||||
String CBO_DB ='0';
|
String CBO_DB ='0';
|
||||||
|
|
||||||
String INE_PROFISSIONAL='';
|
String INE_PROFISSIONAL='';
|
||||||
@@ -157,11 +161,6 @@ class _VisitaDomiciliarTelaState extends State<VisitaDomiciliarTela> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
print('PROCEDIMENTOS_SIGTAP');
|
|
||||||
print(PROCEDIMENTOS_SIGTAP.length);
|
|
||||||
print(PROCEDIMENTOS_SIGTAP[0]);
|
|
||||||
|
|
||||||
|
|
||||||
if(listcbo.length!=0){
|
if(listcbo.length!=0){
|
||||||
for(int i = 0; listcbo.length>i;i++){
|
for(int i = 0; listcbo.length>i;i++){
|
||||||
await DBQuerys().buscaCBOSProfissional(listcbo[i]['CODIGO_CBO']).then((cbo)async{
|
await DBQuerys().buscaCBOSProfissional(listcbo[i]['CODIGO_CBO']).then((cbo)async{
|
||||||
@@ -192,7 +191,14 @@ class _VisitaDomiciliarTelaState extends State<VisitaDomiciliarTela> {
|
|||||||
listProf = await DBQuerys().buscaDadosProfissional(idUnidade,idUsuario);
|
listProf = await DBQuerys().buscaDadosProfissional(idUnidade,idUsuario);
|
||||||
INE_PROFISSIONAL = listProf[0]['INE'];
|
INE_PROFISSIONAL = listProf[0]['INE'];
|
||||||
ID_EQUIPE = listProf[0]['ID_EQUIPE'];
|
ID_EQUIPE = listProf[0]['ID_EQUIPE'];
|
||||||
|
if(widget.dados==null){
|
||||||
|
carregando = false;
|
||||||
|
}
|
||||||
setState(() {});
|
setState(() {});
|
||||||
|
|
||||||
|
if(widget.dados!=null){
|
||||||
|
editarVisita();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
loadLists()async {
|
loadLists()async {
|
||||||
@@ -278,10 +284,16 @@ class _VisitaDomiciliarTelaState extends State<VisitaDomiciliarTela> {
|
|||||||
'COMPLEMENTO' : COMPLEMENTO.text,
|
'COMPLEMENTO' : COMPLEMENTO.text,
|
||||||
'SINCRONIZADO' : 'N',
|
'SINCRONIZADO' : 'N',
|
||||||
};
|
};
|
||||||
await DbSqliteSync().insertVisitaDomiciliar(row).then((value)async{
|
await DbSqliteSync().insertVisitaDomiciliar(row,ID_VISITA_DOMICILIAR, widget.dados==null).then((value)async{
|
||||||
// print('value');
|
// print('value');
|
||||||
// print(value);
|
// print(value);
|
||||||
/*tipo visita == 1*/
|
/*tipo visita == 1*/
|
||||||
|
Database db = await DbSqliteLoad().intialDB();
|
||||||
|
await db.delete(
|
||||||
|
'VISITAS_DOMICILIARES_COMPL', // Substitua pelo nome da sua tabela
|
||||||
|
where: 'ID_VISITA_DOMICILIAR = ?',
|
||||||
|
whereArgs: [ID_VISITA_DOMICILIAR],
|
||||||
|
);
|
||||||
for(int i = 0;tipoVisitaModel.length>i;i++){
|
for(int i = 0;tipoVisitaModel.length>i;i++){
|
||||||
if(tipoVisitaModel[i].check){
|
if(tipoVisitaModel[i].check){
|
||||||
/*cadastramento = 1*/
|
/*cadastramento = 1*/
|
||||||
@@ -386,10 +398,178 @@ class _VisitaDomiciliarTelaState extends State<VisitaDomiciliarTela> {
|
|||||||
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);
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
editarVisita()async{
|
||||||
|
Map map = widget.dados;
|
||||||
|
map.forEach((chave, valor){
|
||||||
|
print('$chave : $valor');
|
||||||
|
});
|
||||||
|
ID_VISITA_DOMICILIAR = map['ID_VISITA_DOMICILIAR'];
|
||||||
|
dateDB = map['DT_ATENDIMENTO'];
|
||||||
|
List splited = dateDB.split('-');
|
||||||
|
date = '${splited[2]}/${splited[1]}/${splited[0]}';
|
||||||
|
TURNO_COD = map['TURNO'];
|
||||||
|
for(int i = 0;ConstVariable().typeTurnService.length >i;i++){
|
||||||
|
if(ConstVariable().typeTurnService[i].cod == TURNO_COD){
|
||||||
|
TURNO = ConstVariable().typeTurnService[i].title;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
TIPO_IMOVEL_COD = map['TIPO_IMOVEL'];
|
||||||
|
for(int i = 0;ConstVariable().listTypeHome.length >i;i++){
|
||||||
|
if(ConstVariable().listTypeHome[i].cod == TIPO_IMOVEL_COD){
|
||||||
|
TIPO_IMOVEL = ConstVariable().listTypeHome[i].title;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
VISITA_ACOMPANHADA = map['VISITA_ACOMPANHADA']==1?true:false;
|
||||||
|
DESFECHO_COD = map['DESFECHO'];
|
||||||
|
for(int i = 0;ConstVariable().listDesfecho.length >i;i++){
|
||||||
|
if(ConstVariable().listDesfecho[i].cod == DESFECHO_COD){
|
||||||
|
DESFECHO = ConstVariable().listDesfecho[i].title;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Database db = await DbSqliteLoad().intialDB();
|
||||||
|
List listaVisita = await db.query('VISITAS_DOMICILIARES_COMPL WHERE ID_VISITA_DOMICILIAR = $ID_VISITA_DOMICILIAR');
|
||||||
|
for (int index = 0; index < ConstVariable().tipoVisitaModel.length; index++) {
|
||||||
|
bool tipoVisitaCadastramento = listaVisita.any((cond) =>cond['ID_VISITA_DOM_TIPO'] == 1 && cond['ID_VISITA_COMPLEMENTO'] == 1);
|
||||||
|
bool tipoVisitaPediodica = listaVisita.any((cond) =>cond['ID_VISITA_DOM_TIPO'] == 1 && cond['ID_VISITA_COMPLEMENTO'] == 29);
|
||||||
|
|
||||||
|
//TIPO DE VISITA CADASTRAMENTO/ATUALIZAÇÃO
|
||||||
|
if(index == 0){
|
||||||
|
tipoVisitaModel.add(
|
||||||
|
CheckModel(
|
||||||
|
subtitle: ConstVariable().tipoVisitaModel[index],
|
||||||
|
check: tipoVisitaCadastramento
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
//TIPO DE VISITA PERIÓDICA
|
||||||
|
if(index == 1){
|
||||||
|
tipoVisitaModel.add(
|
||||||
|
CheckModel(
|
||||||
|
subtitle: ConstVariable().tipoVisitaModel[index],
|
||||||
|
check: tipoVisitaPediodica
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
//BUSCA ATIVA CONSULTA
|
||||||
|
CONSULTA = listaVisita.any((cond) =>cond['ID_VISITA_DOM_TIPO'] == 2 && cond['ID_VISITA_COMPLEMENTO'] == 2);
|
||||||
|
//BUSCA ATIVA EXAME
|
||||||
|
EXAME = listaVisita.any((cond) =>cond['ID_VISITA_DOM_TIPO'] == 2 && cond['ID_VISITA_COMPLEMENTO'] == 3);
|
||||||
|
//BUSCA ATIVA VACINA
|
||||||
|
VACINA = listaVisita.any((cond) =>cond['ID_VISITA_DOM_TIPO'] == 2 && cond['ID_VISITA_COMPLEMENTO'] == 8);
|
||||||
|
//BUSCA ATIVA CONDICIONALIDADES
|
||||||
|
CONDICIONALIDADES = listaVisita.any((cond) =>cond['ID_VISITA_DOM_TIPO'] == 2 && cond['ID_VISITA_COMPLEMENTO'] == 30);
|
||||||
|
//BUSCA ATIVA ACAO_EDUCATIVA
|
||||||
|
ACAO_EDUCATIVA = listaVisita.any((cond) =>cond['ID_VISITA_DOM_TIPO'] == 5 && cond['ID_VISITA_COMPLEMENTO'] == 34);
|
||||||
|
//BUSCA ATIVA IMOVEL_FOCO
|
||||||
|
IMOVEL_FOCO = listaVisita.any((cond) =>cond['ID_VISITA_DOM_TIPO'] == 5 && cond['ID_VISITA_COMPLEMENTO'] == 35);
|
||||||
|
//BUSCA ATIVA ACAO_MECANICA
|
||||||
|
ACAO_MECANICA = listaVisita.any((cond) =>cond['ID_VISITA_DOM_TIPO'] == 5 && cond['ID_VISITA_COMPLEMENTO'] == 36);
|
||||||
|
//BUSCA ATIVA TRATAMENTO_FOCAL
|
||||||
|
TRATAMENTO_FOCAL = listaVisita.any((cond) =>cond['ID_VISITA_DOM_TIPO'] == 5 && cond['ID_VISITA_COMPLEMENTO'] == 37);
|
||||||
|
}
|
||||||
|
for (int i = 0; i < ConstVariable().tipoAcompanhamentoModel.length; i++) {
|
||||||
|
if(i<=13){
|
||||||
|
tipoAcompanhamentoModel.add(
|
||||||
|
CheckModel(
|
||||||
|
subtitle: ConstVariable().tipoAcompanhamentoModel[i],
|
||||||
|
check: listaVisita.any((cond) =>cond['ID_VISITA_DOM_TIPO'] == 3 && cond['ID_VISITA_COMPLEMENTO'] == i+5)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
// await DbSqliteSync().insertVisitaDomiciliarCOMPL(value,3,i+5);
|
||||||
|
}else if(i==14){
|
||||||
|
/*respiratorios == 32*/
|
||||||
|
tipoAcompanhamentoModel.add(
|
||||||
|
CheckModel(
|
||||||
|
subtitle: ConstVariable().tipoAcompanhamentoModel[i],
|
||||||
|
check: listaVisita.any((cond) =>cond['ID_VISITA_DOM_TIPO'] == 3 && cond['ID_VISITA_COMPLEMENTO'] == 32)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}else if(i==15){
|
||||||
|
/*tabagista == 33*/
|
||||||
|
tipoAcompanhamentoModel.add(
|
||||||
|
CheckModel(
|
||||||
|
subtitle: ConstVariable().tipoAcompanhamentoModel[i],
|
||||||
|
check: listaVisita.any((cond) =>cond['ID_VISITA_DOM_TIPO'] == 3 && cond['ID_VISITA_COMPLEMENTO'] == 33)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}else if(i>=16){
|
||||||
|
tipoAcompanhamentoModel.add(
|
||||||
|
CheckModel(
|
||||||
|
subtitle: ConstVariable().tipoAcompanhamentoModel[i],
|
||||||
|
check: listaVisita.any((cond) =>cond['ID_VISITA_DOM_TIPO'] == 3 && cond['ID_VISITA_COMPLEMENTO'] == i+3)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for(int i=0; ConstVariable().outrosModel.length>i;i++){
|
||||||
|
/*orientacao prevencao == 31*/
|
||||||
|
if(i==3){
|
||||||
|
// await DbSqliteSync().insertVisitaDomiciliarCOMPL(value,4,31);
|
||||||
|
outrosModel.add(
|
||||||
|
CheckModel(
|
||||||
|
subtitle: ConstVariable().outrosModel[i],
|
||||||
|
check: listaVisita.any((cond) =>cond['ID_VISITA_DOM_TIPO'] == 4 && cond['ID_VISITA_COMPLEMENTO'] == 31)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}else if(i==4){
|
||||||
|
// await DbSqliteSync().insertVisitaDomiciliarCOMPL(value,4,i+24);
|
||||||
|
outrosModel.add(
|
||||||
|
CheckModel(
|
||||||
|
subtitle: ConstVariable().outrosModel[i],
|
||||||
|
check: listaVisita.any((cond) =>cond['ID_VISITA_DOM_TIPO'] == 4 && cond['ID_VISITA_COMPLEMENTO'] == i+24)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}else{
|
||||||
|
// await DbSqliteSync().insertVisitaDomiciliarCOMPL(value,4,i+25);
|
||||||
|
outrosModel.add(
|
||||||
|
CheckModel(
|
||||||
|
subtitle: ConstVariable().outrosModel[i],
|
||||||
|
check: listaVisita.any((cond) =>cond['ID_VISITA_DOM_TIPO'] == 4 && cond['ID_VISITA_COMPLEMENTO'] == i+25)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
PESO.text = map['PESO'];
|
||||||
|
ALTURA.text = map['ALTURA'];
|
||||||
|
CBO_DB = map['CBO_PROFISSIONAL'];
|
||||||
|
for(int i = 0;listCBO.length > i; i++){
|
||||||
|
String splited = listCBO[i].split(' - ').last;
|
||||||
|
if(splited == CBO_DB){
|
||||||
|
CBO_PROFISSIONAL = listCBO[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
List listINE = await DBQuerys().buscaDadosProfissional(idUnidade,idUsuario);
|
||||||
|
int AREA_DESCRICAO = 0;
|
||||||
|
int MICROAREA_DESCRICAO = 0;
|
||||||
|
for(int i = 0;listINE.length >i;i++){
|
||||||
|
if(listINE[i]['ID_EQUIPE']==ID_EQUIPE){
|
||||||
|
INE_PROFISSIONAL = listINE[i]['INE']??'';
|
||||||
|
AREA_DESCRICAO = listINE[i]['AREA'];
|
||||||
|
MICROAREA_DESCRICAO = listINE[i]['MICROAREA'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for(int i = 0;listINEPROF.length >i;i++){
|
||||||
|
RegExp ineRegExp = RegExp(r"INE:\s(\d+)");
|
||||||
|
RegExp areaRegExp = RegExp(r"Área:\s(\d+)");
|
||||||
|
RegExp microareaRegExp = RegExp(r"Microárea\s:\s(\d+)");
|
||||||
|
|
||||||
|
String ine = ineRegExp.firstMatch(listINEPROF[i])?.group(1) ?? '';
|
||||||
|
String area = areaRegExp.firstMatch(listINEPROF[i])?.group(1) ?? '';
|
||||||
|
String microarea = microareaRegExp.firstMatch(listINEPROF[i])?.group(1) ?? '';
|
||||||
|
|
||||||
|
if(INE_PROFISSIONAL==ine && AREA_DESCRICAO.toString() == area && MICROAREA_DESCRICAO.toString() == microarea){
|
||||||
|
INE_RESP_CADASTRO = listINEPROF[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
COMPLEMENTO.text = map['COMPLEMENTO'];
|
||||||
|
carregando = false;
|
||||||
|
setState(() {});
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
super.initState();
|
super.initState();
|
||||||
@@ -409,7 +589,18 @@ class _VisitaDomiciliarTelaState extends State<VisitaDomiciliarTela> {
|
|||||||
height: double.infinity,
|
height: double.infinity,
|
||||||
width: double.infinity,
|
width: double.infinity,
|
||||||
decoration: ConstVariable().backgroundGradient,
|
decoration: ConstVariable().backgroundGradient,
|
||||||
child: ListView(
|
child: carregando?Center(child: Card(
|
||||||
|
child: Padding(
|
||||||
|
padding: const EdgeInsets.all(8.0),
|
||||||
|
child: Column(
|
||||||
|
mainAxisSize: MainAxisSize.min,
|
||||||
|
children: [
|
||||||
|
CircularProgressIndicator(),
|
||||||
|
TextDefault(text: 'Carregando dados ...',color: ColorPalette.black54,)
|
||||||
|
],
|
||||||
|
),
|
||||||
|
)
|
||||||
|
)):ListView(
|
||||||
children: [
|
children: [
|
||||||
Card(
|
Card(
|
||||||
margin: EdgeInsets.all(10),
|
margin: EdgeInsets.all(10),
|
||||||
@@ -527,16 +718,18 @@ class _VisitaDomiciliarTelaState extends State<VisitaDomiciliarTela> {
|
|||||||
Container(
|
Container(
|
||||||
width: width*0.7,
|
width: width*0.7,
|
||||||
height: heigth*0.1,
|
height: heigth*0.1,
|
||||||
child: ListView.builder(
|
child: tipoVisitaModel.isEmpty && widget.dados!=null?Container():ListView.builder(
|
||||||
physics: const NeverScrollableScrollPhysics(),
|
physics: const NeverScrollableScrollPhysics(),
|
||||||
itemCount: ConstVariable().tipoVisitaModel.length,
|
itemCount: ConstVariable().tipoVisitaModel.length,
|
||||||
itemBuilder: (context,index){
|
itemBuilder: (context,index){
|
||||||
|
if(widget.dados==null){
|
||||||
tipoVisitaModel.add(
|
tipoVisitaModel.add(
|
||||||
CheckModel(
|
CheckModel(
|
||||||
subtitle: ConstVariable().tipoVisitaModel[index],
|
subtitle: ConstVariable().tipoVisitaModel[index],
|
||||||
check: false
|
check: false
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
}
|
||||||
return CheckBoxSubtitle(
|
return CheckBoxSubtitle(
|
||||||
ontap:DESFECHO != 'VISITA REALIZADA'?null: (){
|
ontap:DESFECHO != 'VISITA REALIZADA'?null: (){
|
||||||
setState((){
|
setState((){
|
||||||
@@ -601,16 +794,18 @@ class _VisitaDomiciliarTelaState extends State<VisitaDomiciliarTela> {
|
|||||||
Container(
|
Container(
|
||||||
width: width*0.7,
|
width: width*0.7,
|
||||||
height: heigth*0.9,
|
height: heigth*0.9,
|
||||||
child: ListView.builder(
|
child: widget.dados!=null && tipoAcompanhamentoModel.isEmpty?Container():ListView.builder(
|
||||||
physics: const NeverScrollableScrollPhysics(),
|
physics: const NeverScrollableScrollPhysics(),
|
||||||
itemCount: ConstVariable().tipoAcompanhamentoModel.length,
|
itemCount: ConstVariable().tipoAcompanhamentoModel.length,
|
||||||
itemBuilder: (context,index){
|
itemBuilder: (context,index){
|
||||||
|
if(widget.dados == null){
|
||||||
tipoAcompanhamentoModel.add(
|
tipoAcompanhamentoModel.add(
|
||||||
CheckModel(
|
CheckModel(
|
||||||
subtitle: ConstVariable().tipoAcompanhamentoModel[index],
|
subtitle: ConstVariable().tipoAcompanhamentoModel[index],
|
||||||
check: false
|
check: false
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
}
|
||||||
return CheckBoxSubtitle(
|
return CheckBoxSubtitle(
|
||||||
subtitle: tipoAcompanhamentoModel[index].subtitle,
|
subtitle: tipoAcompanhamentoModel[index].subtitle,
|
||||||
checkbox:tipoAcompanhamentoModel[index].check,
|
checkbox:tipoAcompanhamentoModel[index].check,
|
||||||
@@ -624,16 +819,18 @@ class _VisitaDomiciliarTelaState extends State<VisitaDomiciliarTela> {
|
|||||||
Container(
|
Container(
|
||||||
width: width*0.7,
|
width: width*0.7,
|
||||||
height: heigth*0.22,
|
height: heigth*0.22,
|
||||||
child: ListView.builder(
|
child: outrosModel.isEmpty && widget.dados!=null?Container():ListView.builder(
|
||||||
physics: const NeverScrollableScrollPhysics(),
|
physics: const NeverScrollableScrollPhysics(),
|
||||||
itemCount: ConstVariable().outrosModel.length,
|
itemCount: ConstVariable().outrosModel.length,
|
||||||
itemBuilder: (context,index){
|
itemBuilder: (context,index){
|
||||||
|
if(widget.dados==null){
|
||||||
outrosModel.add(
|
outrosModel.add(
|
||||||
CheckModel(
|
CheckModel(
|
||||||
subtitle: ConstVariable().outrosModel[index],
|
subtitle: ConstVariable().outrosModel[index],
|
||||||
check: false
|
check: false
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
}
|
||||||
return CheckBoxSubtitle(
|
return CheckBoxSubtitle(
|
||||||
subtitle: outrosModel[index].subtitle,
|
subtitle: outrosModel[index].subtitle,
|
||||||
checkbox:outrosModel[index].check,
|
checkbox:outrosModel[index].check,
|
||||||
|
|||||||
@@ -532,11 +532,15 @@ class DbSqliteSync{
|
|||||||
// print(await db.query('ATENDS_DOM_COMPL'));
|
// print(await db.query('ATENDS_DOM_COMPL'));
|
||||||
return db;
|
return db;
|
||||||
}
|
}
|
||||||
Future insertVisitaDomiciliar(var value)async{
|
Future insertVisitaDomiciliar(var value, int ID_VISITA_DOMICILIAR, bool novo)async{
|
||||||
Database db = await DbSqliteLoad().intialDB();
|
Database db = await DbSqliteLoad().intialDB();
|
||||||
|
if(novo){
|
||||||
int id = await db.insert('VISITAS_DOMICILIARES', value);
|
int id = await db.insert('VISITAS_DOMICILIARES', value);
|
||||||
print(await db.query('VISITAS_DOMICILIARES'));
|
|
||||||
return id;
|
return id;
|
||||||
|
}else{
|
||||||
|
await db.update('VISITAS_DOMICILIARES', value ,where: "ID_VISITA_DOMICILIAR = $ID_VISITA_DOMICILIAR");
|
||||||
|
return ID_VISITA_DOMICILIAR;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Future insertVisitaDomiciliarCOMPL(int ID_VISITA_DOMICILIAR,int ID_VISITA_DOM_TIPO, int ID_VISITA_COMPLEMENTO)async{
|
Future insertVisitaDomiciliarCOMPL(int ID_VISITA_DOMICILIAR,int ID_VISITA_DOM_TIPO, int ID_VISITA_COMPLEMENTO)async{
|
||||||
Database db = await DbSqliteLoad().intialDB();
|
Database db = await DbSqliteLoad().intialDB();
|
||||||
|
|||||||
@@ -166,7 +166,7 @@ class AlertDialogDefault {
|
|||||||
}else if(index == 1){
|
}else if(index == 1){
|
||||||
Navigator.push(
|
Navigator.push(
|
||||||
context,
|
context,
|
||||||
MaterialPageRoute(builder:(context) => VisitaDomiciliarTela(name: name,username: username,)),
|
MaterialPageRoute(builder:(context) => VisitaDomiciliarTela(name: name,username: username,dados: null,)),
|
||||||
);
|
);
|
||||||
// Navigator.push(
|
// Navigator.push(
|
||||||
// context,
|
// context,
|
||||||
@@ -200,7 +200,7 @@ class AlertDialogDefault {
|
|||||||
}else if (index==7){
|
}else if (index==7){
|
||||||
Navigator.push(
|
Navigator.push(
|
||||||
context,
|
context,
|
||||||
MaterialPageRoute(builder:(context) => VisitaDomiciliarTela(name: name,username: username,)),
|
MaterialPageRoute(builder:(context) => VisitaDomiciliarTela(name: name,username: username,dados: null,)),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user