versão 1.0.13+14 state do salvar alterações de cadastro do cidadaos, e edicao do atendimento_domiciliar_tela.dart
This commit is contained in:
@@ -29,7 +29,8 @@ import '../home_screen.dart';
|
||||
class AtendimentoDomiciliarTela extends StatefulWidget {
|
||||
String name;
|
||||
String username;
|
||||
AtendimentoDomiciliarTela({required this.name,required this.username});
|
||||
var dados;
|
||||
AtendimentoDomiciliarTela({required this.name,required this.username, required this.dados});
|
||||
|
||||
@override
|
||||
State<AtendimentoDomiciliarTela> createState() => _AtendimentoDomiciliarTelaState();
|
||||
@@ -52,6 +53,7 @@ class _AtendimentoDomiciliarTelaState extends State<AtendimentoDomiciliarTela> {
|
||||
String CD_USUARIO_SUS = '';
|
||||
String INE_PROFISSIONAL = '';
|
||||
|
||||
int ID_ATENDIMENTO_DOMICILIAR = 0;
|
||||
int ID_CIDADAO=0;
|
||||
int ID_PROFISSIONAL=0;
|
||||
int LOCAL_ATENDIMENTO_COD=0;
|
||||
@@ -90,6 +92,8 @@ class _AtendimentoDomiciliarTelaState extends State<AtendimentoDomiciliarTela> {
|
||||
List<String> listConduct = [];
|
||||
List listProc = [];
|
||||
List CBOS_PROFISSIONAL=[];
|
||||
List condicoes = [];
|
||||
List procedimentos = [];
|
||||
|
||||
bool CNS_VALIDO = false;
|
||||
bool mandatory = false;
|
||||
@@ -203,6 +207,9 @@ class _AtendimentoDomiciliarTelaState extends State<AtendimentoDomiciliarTela> {
|
||||
}
|
||||
});
|
||||
}
|
||||
if(widget.dados!=null){
|
||||
editarAtendimento();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -263,6 +270,106 @@ class _AtendimentoDomiciliarTelaState extends State<AtendimentoDomiciliarTela> {
|
||||
}
|
||||
}
|
||||
|
||||
editarAtendimento()async{
|
||||
|
||||
Map map = widget.dados;
|
||||
|
||||
map.forEach((chave,valor){
|
||||
print('$chave: $valor' );
|
||||
});
|
||||
|
||||
ID_ATENDIMENTO_DOMICILIAR = map['ID_ATENDIMENTO_DOMICILIAR'];
|
||||
dateDB = map['DATA'];
|
||||
List splited = dateDB.split('-');
|
||||
date = '${splited[2]}/${splited[1]}/${splited[0]}';
|
||||
LOCAL_ATENDIMENTO_COD = map['LOCAL_ATENDIMENTO'];
|
||||
for(int i = 0;ConstVariable().listServicePlace.length >i;i++){
|
||||
if(ConstVariable().listServicePlace[i].cod == LOCAL_ATENDIMENTO_COD){
|
||||
LOCAL_ATENDIMENTO = ConstVariable().listServicePlace[i].title;
|
||||
}
|
||||
}
|
||||
TIPO_ATENDIMENTO_COD = map['TIPO_ATENDIMENTO'];
|
||||
for(int i = 0;ConstVariable().typeService.length >i;i++){
|
||||
if(ConstVariable().typeService[i].cod == TIPO_ATENDIMENTO_COD){
|
||||
TIPO_ATENDIMENTO = ConstVariable().typeService[i].title;
|
||||
}
|
||||
}
|
||||
CBO_PROFISSIONAL_DB = map['CBO_PROFISSIONAL'];
|
||||
for(int i = 0;listCBO.length > i; i++){
|
||||
String splited = listCBO[i].split(' - ').last;
|
||||
if(splited == CBO_PROFISSIONAL_DB){
|
||||
CBO_PROFISSIONAL = listCBO[i];
|
||||
}
|
||||
}
|
||||
ID_EQUIPE = map['ID_EQUIPE'];
|
||||
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];
|
||||
}
|
||||
}
|
||||
MODALIDADE_COD = map['MODALIDADE'];
|
||||
for(int i = 0;ConstVariable().typeModelService.length >i;i++){
|
||||
if(ConstVariable().typeModelService[i].cod == MODALIDADE_COD){
|
||||
MODALIDADE = ConstVariable().typeModelService[i].title;
|
||||
}
|
||||
}
|
||||
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;
|
||||
}
|
||||
}
|
||||
Database db = await DbSqliteLoad().intialDB();
|
||||
condicoes = await db.query('ATENDS_DOM_COMPL WHERE ID_ATENDIMENTO_DOMICILIAR = $ID_ATENDIMENTO_DOMICILIAR');
|
||||
procedimentos = await db.query('ATENDS_DOM_PROC WHERE ID_ATENDIMENTO_DOMICILIAR = $ID_ATENDIMENTO_DOMICILIAR');
|
||||
// print(condicoes);
|
||||
print(procedimentos);
|
||||
for (int index = 0; index < ConstVariable().serviceHomeCheckConditionlist.length; index++) {
|
||||
bool checkValue = condicoes.any((cond) =>cond['COND_AVAL_ATEND_DOM'] == index + 1);
|
||||
serviceHomeModel.add(
|
||||
CheckModel(
|
||||
subtitle: ConstVariable().serviceHomeCheckConditionlist[index],
|
||||
check: checkValue,
|
||||
),
|
||||
);
|
||||
}
|
||||
for (int index = 0; index < ConstVariable().serviceHomeCheckProclist.length; index++) {
|
||||
bool checkValue = procedimentos.any((cond) =>cond['PROC_ATEND_DOM'] == ConstVariable().serviceHomeCheckProclist[index].COD_SIA);
|
||||
serviceProcModel.add(
|
||||
CheckProcedSiaModel(
|
||||
COD_SIA: ConstVariable().serviceHomeCheckProclist[index].COD_SIA,
|
||||
DESCRICAO_PROCEDIMENTO: ConstVariable().serviceHomeCheckProclist[index].DESCRICAO_PROCEDIMENTO,
|
||||
check: checkValue
|
||||
)
|
||||
);
|
||||
}
|
||||
CONDUTA_COD = map['CONDUTA'];
|
||||
for(int i = 0;ConstVariable().listConduct.length >i;i++){
|
||||
if(ConstVariable().listConduct[i].cod == CONDUTA_COD){
|
||||
CONDUTA = ConstVariable().listConduct[i].title;
|
||||
}
|
||||
}
|
||||
setState(() {});
|
||||
}
|
||||
|
||||
saveServiceHome()async{
|
||||
Map<String, dynamic> row = {
|
||||
'ID_CIDADAO' : ID_CIDADAO,
|
||||
@@ -283,12 +390,23 @@ class _AtendimentoDomiciliarTelaState extends State<AtendimentoDomiciliarTela> {
|
||||
'CONDUTA' : CONDUTA_COD,
|
||||
'SINCRONIZADO' : 'N',
|
||||
};
|
||||
await DbSqliteSync().insertAtendimentoDomiciliar(row).then((value){
|
||||
await DbSqliteSync().insertAtendimentoDomiciliar(row,widget.dados==null,ID_ATENDIMENTO_DOMICILIAR).then((value)async{
|
||||
Database db = await DbSqliteLoad().intialDB();
|
||||
await db.delete(
|
||||
'ATENDS_DOM_COMPL', // Substitua pelo nome da sua tabela
|
||||
where: 'ID_ATENDIMENTO_DOMICILIAR = ?',
|
||||
whereArgs: [ID_ATENDIMENTO_DOMICILIAR],
|
||||
);
|
||||
for(int i = 0;serviceHomeModel.length>i;i++){
|
||||
if(serviceHomeModel[i].check){
|
||||
DbSqliteSync().insertCondicoesAvaliadas(value,i+1);
|
||||
}
|
||||
}
|
||||
await db.delete(
|
||||
'ATENDS_DOM_PROC', // Substitua pelo nome da sua tabela
|
||||
where: 'ID_ATENDIMENTO_DOMICILIAR = ?',
|
||||
whereArgs: [ID_ATENDIMENTO_DOMICILIAR],
|
||||
);
|
||||
for(int i = 0;serviceProcModel.length>i;i++){
|
||||
if(serviceProcModel[i].check){
|
||||
DbSqliteSync().insertProcedimentosDomiciliares(value,serviceProcModel[i].COD_SIA);
|
||||
@@ -309,10 +427,11 @@ class _AtendimentoDomiciliarTelaState extends State<AtendimentoDomiciliarTela> {
|
||||
ID_CIDADAO = list[0]['ID_CIDADAO'];
|
||||
CD_USUARIO_SUS = list[0]['CD_USUARIO_SUS'];
|
||||
});
|
||||
List list = await DBQuerys().buscaDadosProfissional(idUnidade,idUsuario);
|
||||
|
||||
INE_PROFISSIONAL = list[0]['INE']??'';
|
||||
ID_EQUIPE = list[0]['ID_EQUIPE']??0;
|
||||
if(widget.dados==null){
|
||||
List list = await DBQuerys().buscaDadosProfissional(idUnidade,idUsuario);
|
||||
INE_PROFISSIONAL = list[0]['INE']??'';
|
||||
ID_EQUIPE = list[0]['ID_EQUIPE']??0;
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
@@ -547,19 +666,21 @@ class _AtendimentoDomiciliarTelaState extends State<AtendimentoDomiciliarTela> {
|
||||
children: [
|
||||
SizedBox(height: 10,),
|
||||
TitleContainers(title: 'Condição Avaliada',width: width * 0.73),
|
||||
Container(
|
||||
widget.dados!=null && serviceHomeModel.length !=ConstVariable().serviceHomeCheckConditionlist.length?Container():Container(
|
||||
width: width*0.7,
|
||||
height: heigth*0.95,
|
||||
child: ListView.builder(
|
||||
physics: const NeverScrollableScrollPhysics(),
|
||||
itemCount: ConstVariable().serviceHomeCheckConditionlist.length,
|
||||
itemBuilder: (context,index){
|
||||
serviceHomeModel.add(
|
||||
CheckModel(
|
||||
subtitle: ConstVariable().serviceHomeCheckConditionlist[index],
|
||||
check: false
|
||||
)
|
||||
);
|
||||
if(widget.dados==null){
|
||||
serviceHomeModel.add(
|
||||
CheckModel(
|
||||
subtitle: ConstVariable().serviceHomeCheckConditionlist[index],
|
||||
check: false
|
||||
)
|
||||
);
|
||||
}
|
||||
return CheckBoxSubtitle(
|
||||
subtitle: serviceHomeModel[index].subtitle,
|
||||
checkbox:serviceHomeModel[index].check,
|
||||
@@ -657,14 +778,14 @@ class _AtendimentoDomiciliarTelaState extends State<AtendimentoDomiciliarTela> {
|
||||
itemCount: ConstVariable().serviceHomeCheckProclist.length,
|
||||
itemBuilder: (context,index){
|
||||
|
||||
serviceProcModel.add(
|
||||
CheckProcedSiaModel(
|
||||
COD_SIA: ConstVariable().serviceHomeCheckProclist[index].COD_SIA,
|
||||
DESCRICAO_PROCEDIMENTO: ConstVariable().serviceHomeCheckProclist[index].DESCRICAO_PROCEDIMENTO,
|
||||
)
|
||||
);
|
||||
|
||||
// print(serviceProcModel[index].subtitle);
|
||||
if(widget.dados==null){
|
||||
serviceProcModel.add(
|
||||
CheckProcedSiaModel(
|
||||
COD_SIA: ConstVariable().serviceHomeCheckProclist[index].COD_SIA,
|
||||
DESCRICAO_PROCEDIMENTO: ConstVariable().serviceHomeCheckProclist[index].DESCRICAO_PROCEDIMENTO,
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
return CheckBoxSubtitle(
|
||||
subtitle: serviceProcModel[index].DESCRICAO_PROCEDIMENTO,
|
||||
|
||||
Reference in New Issue
Block a user