From 7dca9d9b4ea60ac43f0b1a71c3821dc8e5388f56 Mon Sep 17 00:00:00 2001 From: Reginaldo Date: Mon, 2 Sep 2024 14:09:13 -0300 Subject: [PATCH] =?UTF-8?q?vers=C3=A3o=201.0.15+16=20AJUSTE=20DAS=20RESTRI?= =?UTF-8?q?=C3=87=C3=95ES=20DE=20VISITAS=20PERIODICAS,=20ENVIO=20DE=20PESO?= =?UTF-8?q?=20E=20ALTURA=20E=20DO=20LOADING.=2030/08/2024?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/config/const_variable.dart | 69 +++++----- lib/models/check_model.dart | 4 +- lib/screens/attendance_list_screen.dart | 5 +- .../atendimento_domiciliar_tela.dart | 6 +- .../service_individual_screen.dart | 30 +++-- .../visita_domiciliar_tela.dart | 121 +++++------------- lib/service/api/api_data_post.dart | 2 + pubspec.yaml | 1 + 8 files changed, 97 insertions(+), 141 deletions(-) diff --git a/lib/config/const_variable.dart b/lib/config/const_variable.dart index f59acd4..eb922fa 100644 --- a/lib/config/const_variable.dart +++ b/lib/config/const_variable.dart @@ -1,6 +1,7 @@ import 'package:flutter/material.dart'; import 'package:rkm/models/city_load_model.dart'; import 'package:rkm/models/drop_down_data_model.dart'; +import '../models/check_model.dart'; import '../models/check_proced_sia_model.dart'; import '../models/pais_modelo.dart'; import 'color_palette.dart'; @@ -72,36 +73,36 @@ class ConstVariable{ 'VISITA PERIÓDICA' ]; - List outrosModel = [ - 'EGRESSO DE INTERNAÇÃO', - 'CONVITE ATIVIDADES COLETIVAS/CAMPANHAS DE SAÚDE', - 'ORIENTAÇÃO/PREVENÇÃO', - 'OUTROS', + List outrosModel = [ + CheckModel(cod: 25, subtitle: 'EGRESSO DE INTERNAÇÃO'), + CheckModel(cod: 27, subtitle: 'CONVITE ATIVIDADES COLETIVAS/CAMPANHAS DE SAÚDE'), + CheckModel(cod: 31, subtitle: 'ORIENTAÇÃO/PREVENÇÃO'), + CheckModel(cod: 28, subtitle: 'OUTROS'), ]; - List tipoAcompanhamentoModel = [ - 'GESTANTE', - 'PUÉRPERA', - 'RECÉM-NASCIDO', - 'CRIANÇA', - 'PESSOA COM DESNUTRIÇÃO', - 'PESSOA EM REABILITAÇÃO OU COM DEFICIÊNCIA', - 'PESSOA COM HIPERTENSÃO', - 'PESSOA COM DIABETES', - 'PESSOA COM ASMA', - 'PESSOA COM DPOC/ENFISEMA', - 'PESSOA COM CÂNCER', - 'PESSOA COM OUTRAS DOENÇAS CRÔNICAS', - 'PESSOA COM HANSENÍASE', - 'PESSOA COM TUBERCULOSE', - 'SINTOMÁTICOS RESPIRATÓRIOS', - 'TABAGISTA', - 'DOMICILIADOS/ACAMADOS', - 'CONDIÇÕES DE VULNERABILIDADE SOCIAL', - 'CONDIÇÃO DO BOLSA FAMÍLIA', - 'SAÚDE MENTAL', - 'USUÁRIO DE ÁLCOOL', - 'USUÁRIO DE OUTRAS DROGAS', + List tipoAcompanhamentoModel = [ + CheckModel(cod: 5, subtitle: 'GESTANTE'), + CheckModel(cod: 6, subtitle: 'PUÉRPERA'), + CheckModel(cod: 7, subtitle: 'RECÉM-NASCIDO'), + CheckModel(cod: 8, subtitle: 'CRIANÇA'), + CheckModel(cod: 9, subtitle: 'PESSOA COM DESNUTRIÇÃO'), + CheckModel(cod: 10, subtitle: 'PESSOA EM REABILITAÇÃO OU COM DEFICIÊNCIA'), + CheckModel(cod: 11, subtitle: 'PESSOA COM HIPERTENSÃO'), + CheckModel(cod: 12, subtitle: 'PESSOA COM DIABETES'), + CheckModel(cod: 13, subtitle: 'PESSOA COM ASMA'), + CheckModel(cod: 14, subtitle: 'PESSOA COM DPOC/ENFISEMA'), + CheckModel(cod: 15, subtitle: 'PESSOA COM CÂNCER'), + CheckModel(cod: 16, subtitle: 'PESSOA COM OUTRAS DOENÇAS CRÔNICAS'), + CheckModel(cod: 17, subtitle: 'PESSOA COM HANSENÍASE'), + CheckModel(cod: 18, subtitle: 'PESSOA COM TUBERCULOSE'), + CheckModel(cod: 32, subtitle: 'SINTOMÁTICOS RESPIRATÓRIOS'), + CheckModel(cod: 33, subtitle: 'TABAGISTA'), + CheckModel(cod: 19, subtitle: 'DOMICILIADOS/ACAMADOS'), + CheckModel(cod: 20, subtitle: 'CONDIÇÕES DE VULNERABILIDADE SOCIAL'), + CheckModel(cod: 21, subtitle: 'CONDIÇÃO DO BOLSA FAMÍLIA'), + CheckModel(cod: 22, subtitle: 'SAÚDE MENTAL'), + CheckModel(cod: 23, subtitle: 'USUÁRIO DE ÁLCOOL'), + CheckModel(cod: 24, subtitle: 'USUÁRIO DE OUTRAS DROGAS'), ]; List serviceHomeCheckConditionlist = [ @@ -285,17 +286,17 @@ class ConstVariable{ List listTypeHome = [ DropDownDataModel(cod: 1,title: 'DOMICÍLIO'), - DropDownDataModel(cod: 2,title: 'COMÉRCIO'), - DropDownDataModel(cod: 3,title: 'TERRENO BALDIO'), - DropDownDataModel(cod: 4,title: 'PONTO ESTRATÉGICO'), - DropDownDataModel(cod: 5,title: 'ESCOLA'), - DropDownDataModel(cod: 6,title: 'CRECHE'), + // DropDownDataModel(cod: 2,title: 'COMÉRCIO'), + // DropDownDataModel(cod: 3,title: 'TERRENO BALDIO'), + // DropDownDataModel(cod: 4,title: 'PONTO ESTRATÉGICO'), + // DropDownDataModel(cod: 5,title: 'ESCOLA'), + // DropDownDataModel(cod: 6,title: 'CRECHE'), DropDownDataModel(cod: 7,title: 'ABRIGO'), DropDownDataModel(cod: 8,title: 'INSTITUIÇÃO DE LONGA PERMANÊNCIA PARA IDOSOS'), DropDownDataModel(cod: 9,title: 'UNIDADE PRISIONAL'), DropDownDataModel(cod: 10,title: 'UNIDADE DE MEDIDA SOCIOEDUCATIVA'), DropDownDataModel(cod: 11,title: 'DELEGACIA'), - DropDownDataModel(cod: 12,title: 'ESTABELECIMENTO RELIGIOSO'), + // DropDownDataModel(cod: 12,title: 'ESTABELECIMENTO RELIGIOSO'), DropDownDataModel(cod: 99,title: 'OUTROS'), ]; diff --git a/lib/models/check_model.dart b/lib/models/check_model.dart index f8fd5db..eefacf6 100644 --- a/lib/models/check_model.dart +++ b/lib/models/check_model.dart @@ -1,10 +1,12 @@ class CheckModel{ + int cod; String subtitle; bool check; CheckModel({ + required this.cod, required this.subtitle, - required this.check + this.check = false }); } diff --git a/lib/screens/attendance_list_screen.dart b/lib/screens/attendance_list_screen.dart index fc923bb..3754a8d 100644 --- a/lib/screens/attendance_list_screen.dart +++ b/lib/screens/attendance_list_screen.dart @@ -31,14 +31,15 @@ class _AttendanceListScreenState extends State { Database db = await DbSqliteLoad().intialDB(); // visitHome = await db.query('VISITAS_DOMICILIARES'); visitaDomiciliarLista =await db.rawQuery(''' - SELECT VD.*, C.* + SELECT VD.*, C.*, VD.SINCRONIZADO FROM VISITAS_DOMICILIARES VD INNER JOIN CIDADAOS C ON VD.ID_CIDADAO = C.ID_CIDADAO + WHERE VD.SINCRONIZADO = "N" '''); cadastroCidadaoLista = await db.query('CIDADAOS WHERE SINCRONIZADO = "N"'); cadastrosIndividuais = await db.query('CADASTROS_INDIVIDUAIS WHERE SINCRONIZADO = "N"'); atendimentoDomiciliarLista =await db.rawQuery(''' - SELECT AD.*, C.* + SELECT AD.*, C.*, AD.SINCRONIZADO FROM ATENDIMENTOS_DOMICILIARES AD INNER JOIN CIDADAOS C ON AD.ID_CIDADAO = C.ID_CIDADAO '''); diff --git a/lib/screens/select_service/atendimento_domiciliar_tela.dart b/lib/screens/select_service/atendimento_domiciliar_tela.dart index cc0a2cc..4c54b48 100644 --- a/lib/screens/select_service/atendimento_domiciliar_tela.dart +++ b/lib/screens/select_service/atendimento_domiciliar_tela.dart @@ -346,6 +346,7 @@ class _AtendimentoDomiciliarTelaState extends State { bool checkValue = condicoes.any((cond) =>cond['COND_AVAL_ATEND_DOM'] == index + 1); serviceHomeModel.add( CheckModel( + cod: 0, subtitle: ConstVariable().serviceHomeCheckConditionlist[index], check: checkValue, ), @@ -676,8 +677,9 @@ class _AtendimentoDomiciliarTelaState extends State { if(widget.dados==null){ serviceHomeModel.add( CheckModel( - subtitle: ConstVariable().serviceHomeCheckConditionlist[index], - check: false + cod: 0, + subtitle: ConstVariable().serviceHomeCheckConditionlist[index], + check: false ) ); } diff --git a/lib/screens/select_service/service_individual_screen.dart b/lib/screens/select_service/service_individual_screen.dart index 41483d4..fd8cc0e 100644 --- a/lib/screens/select_service/service_individual_screen.dart +++ b/lib/screens/select_service/service_individual_screen.dart @@ -485,8 +485,9 @@ class _ServiceIndividualScreenState extends State { itemBuilder: (context,index){ serviceConditionModel.add( CheckModel( - subtitle: ConstVariable().serviceIndividualCheckBoxList[index], - check: false + cod: 0, + subtitle: ConstVariable().serviceIndividualCheckBoxList[index], + check: false ) ); return CheckBoxSubtitle( @@ -515,8 +516,9 @@ class _ServiceIndividualScreenState extends State { itemBuilder: (context,index){ communicableDiseasesModel.add( CheckModel( - subtitle: ConstVariable().communicableDiseasesList[index], - check: false + cod: 0, + subtitle: ConstVariable().communicableDiseasesList[index], + check: false ) ); return CheckBoxSubtitle( @@ -539,8 +541,9 @@ class _ServiceIndividualScreenState extends State { itemBuilder: (context,index){ trackingModel.add( CheckModel( - subtitle: ConstVariable().trackingModelList[index], - check: false + cod: 0, + subtitle: ConstVariable().trackingModelList[index], + check: false ) ); return CheckBoxSubtitle( @@ -731,8 +734,9 @@ class _ServiceIndividualScreenState extends State { itemBuilder: (context,index){ nasfPoloModelList.add( CheckModel( - subtitle: ConstVariable().nasfPoloModelList[index], - check: false + cod: 0, + subtitle: ConstVariable().nasfPoloModelList[index], + check: false ) ); return CheckBoxSubtitle( @@ -755,8 +759,9 @@ class _ServiceIndividualScreenState extends State { itemBuilder: (context,index){ conductList.add( CheckModel( - subtitle: ConstVariable().conductModelList[index], - check: false + cod: 0, + subtitle: ConstVariable().conductModelList[index], + check: false ) ); return CheckBoxSubtitle( @@ -779,8 +784,9 @@ class _ServiceIndividualScreenState extends State { itemBuilder: (context,index){ forwardingList.add( CheckModel( - subtitle: ConstVariable().forwardingModelList[index], - check: false + cod: 0, + subtitle: ConstVariable().forwardingModelList[index], + check: false ) ); return CheckBoxSubtitle( diff --git a/lib/screens/select_service/visita_domiciliar_tela.dart b/lib/screens/select_service/visita_domiciliar_tela.dart index 7ba7ebd..a361ee0 100644 --- a/lib/screens/select_service/visita_domiciliar_tela.dart +++ b/lib/screens/select_service/visita_domiciliar_tela.dart @@ -116,7 +116,6 @@ class _VisitaDomiciliarTelaState extends State { getUsers()async{ await DBQuerys().buscaCidadao(widget.name).then((list){ - print(list[0]); sexoCidadaoFeminino = list[0]['SEXO']=='M'?false:true; ID_CIDADAO = list[0]['ID_CIDADAO']; CD_USUARIO_SUS = list[0]['CD_USUARIO_SUS']; @@ -277,7 +276,7 @@ class _VisitaDomiciliarTelaState extends State { 'VISITA_ACOMPANHADA' : VISITA_ACOMPANHADA?1:2, 'DESFECHO' : DESFECHO_COD, 'PESO' : PESO.text.toString().replaceAll(',', '.'), - 'ALTURA' : ALTURA.text.toString().replaceAll(',', '.'), + 'ALTURA' : ALTURA.text.toString().replaceAll(',','').replaceAll('.',''), 'ID_PROFISSIONAL' : idUsuario, 'CBO_PROFISSIONAL' : CBO_DB, 'INE_PROFISSIONAL' : INE_PROFISSIONAL, @@ -321,7 +320,7 @@ class _VisitaDomiciliarTelaState extends State { /*busca ativa == 2 VACINA 8*/ if(VACINA){ - await DbSqliteSync().insertVisitaDomiciliarCOMPL(value,2,8); + await DbSqliteSync().insertVisitaDomiciliarCOMPL(value,2,4); } /*busca ativa == 2 CONDICIONALIDADES 30*/ @@ -354,21 +353,7 @@ class _VisitaDomiciliarTelaState extends State { if(tipoAcompanhamentoModel[i].check){ print('pegou a $i'); print(tipoAcompanhamentoModel[i].subtitle); - if(i<=13){ - print('CODIGO ${i+5}'); - await DbSqliteSync().insertVisitaDomiciliarCOMPL(value,3,i+5); - }else if(i==14){ - /*respiratorios == 32*/ - print('CODIGO ${i}'); - await DbSqliteSync().insertVisitaDomiciliarCOMPL(value,3,32); - }else if(i==15){ - print('CODIGO ${i}'); - /*tabagista == 33*/ - await DbSqliteSync().insertVisitaDomiciliarCOMPL(value,3,33); - }else if(i>=16){ - print('CODIGO ${i+3}'); - await DbSqliteSync().insertVisitaDomiciliarCOMPL(value,3,i+3); - } + await DbSqliteSync().insertVisitaDomiciliarCOMPL(value,3,tipoAcompanhamentoModel[i].cod); } } /*outros == 4*/ @@ -376,16 +361,7 @@ class _VisitaDomiciliarTelaState extends State { if(outrosModel[i].check){ print('outros a $i'); print(outrosModel[i].subtitle); - /*orientacao prevencao == 31*/ - if(i==3){ - await DbSqliteSync().insertVisitaDomiciliarCOMPL(value,4,31); - }else if(i==4){ - print('CODIGO outros ${i+24}'); - await DbSqliteSync().insertVisitaDomiciliarCOMPL(value,4,i+24); - }else{ - print('CODIGO outros ${i+25}'); - await DbSqliteSync().insertVisitaDomiciliarCOMPL(value,4,i+25); - } + await DbSqliteSync().insertVisitaDomiciliarCOMPL(value,4,outrosModel[i].cod); } } for(int i=0;listProc.length>i;i++){ @@ -442,6 +418,7 @@ class _VisitaDomiciliarTelaState extends State { if(index == 0){ tipoVisitaModel.add( CheckModel( + cod: 0, subtitle: ConstVariable().tipoVisitaModel[index], check: tipoVisitaCadastramento ) @@ -451,6 +428,7 @@ class _VisitaDomiciliarTelaState extends State { if(index == 1){ tipoVisitaModel.add( CheckModel( + cod: 29, subtitle: ConstVariable().tipoVisitaModel[index], check: tipoVisitaPediodica ) @@ -475,70 +453,28 @@ class _VisitaDomiciliarTelaState extends State { 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) - ) - ); - } + tipoAcompanhamentoModel.add( + CheckModel( + cod: ConstVariable().tipoAcompanhamentoModel[i].cod, + subtitle: ConstVariable().tipoAcompanhamentoModel[i].subtitle, + check: listaVisita.any((cond) =>cond['ID_VISITA_COMPLEMENTO'] == ConstVariable().tipoAcompanhamentoModel[i].cod) + ) + ); } 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) - ) - ); - } + outrosModel.add( + CheckModel( + cod: ConstVariable().outrosModel[i].cod, + subtitle: ConstVariable().outrosModel[i].subtitle, + check: listaVisita.any((cond) =>cond['ID_VISITA_COMPLEMENTO'] == ConstVariable().outrosModel[i].cod) + ) + ); } PESO.text = map['PESO']; - ALTURA.text = map['ALTURA']; + ALTURA.text = map['ALTURA'].toString().isEmpty?'':'${int.parse(map['ALTURA'])/100}'.replaceAll('.', ','); CBO_DB = map['CBO_PROFISSIONAL']; + print('CBO_DB'); + print(CBO_DB); for(int i = 0;listCBO.length > i; i++){ String splited = listCBO[i].split(' - ').last; if(splited == CBO_DB){ @@ -801,6 +737,7 @@ class _VisitaDomiciliarTelaState extends State { if(widget.dados==null){ tipoVisitaModel.add( CheckModel( + cod: 1, subtitle: ConstVariable().tipoVisitaModel[index], check: false ) @@ -945,7 +882,8 @@ class _VisitaDomiciliarTelaState extends State { if(widget.dados == null){ tipoAcompanhamentoModel.add( CheckModel( - subtitle: ConstVariable().tipoAcompanhamentoModel[index], + cod: ConstVariable().tipoAcompanhamentoModel[index].cod, + subtitle: ConstVariable().tipoAcompanhamentoModel[index].subtitle, check: false ) ); @@ -978,7 +916,8 @@ class _VisitaDomiciliarTelaState extends State { if(widget.dados==null){ outrosModel.add( CheckModel( - subtitle: ConstVariable().outrosModel[index], + cod: ConstVariable().outrosModel[index].cod, + subtitle: ConstVariable().outrosModel[index].subtitle, check: false ) ); @@ -1105,7 +1044,9 @@ class _VisitaDomiciliarTelaState extends State { setState(() { CBO_PROFISSIONAL = value!; List list = CBO_PROFISSIONAL.toString().split(' - '); - CBO_DB = list[1]; + CBO_DB = list.last; + print('CBO_DB 1'); + print(CBO_DB); }); }, colorBorder: ColorPalette.white, diff --git a/lib/service/api/api_data_post.dart b/lib/service/api/api_data_post.dart index 62f6425..664dd84 100644 --- a/lib/service/api/api_data_post.dart +++ b/lib/service/api/api_data_post.dart @@ -15,6 +15,8 @@ class ApiDataPost{ body: jsonEncode(map), ); + print(response.body); + if(response.body == '{"status":1}') { await DBQuerys().updateCidadao(); await DBQuerys().updateCadastroIndividuais(); diff --git a/pubspec.yaml b/pubspec.yaml index cfb4329..7959eec 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -10,6 +10,7 @@ description: RKM AB 2.0. #versão 1.0.13+14 EDITAR E EXCLUIR VISITA DOMICILIAR E ALTERADA PARA ZERO SEM FORA DE AREA E UM PARA FORA DE AREA. 28/08/2024 #versão 1.0.14+15 AJUSTADA A ALTURA DA LISTA DOS PROCEDIMENTOS E DO ACOMPANHAMENTO, E A MENSAGEM DE AVISO DE NÃO SALVAR QUANDO ESTIVER EM EDIÇÃO. 29/08/2024 #versão 1.0.15+16 AJUSTE DAS RESTRIÇÕES DE VISITAS PERIODICAS, ENVIO DE PESO E ALTURA E DO LOADING. 30/08/2024 +#versão 1.0.15+16 AJUSTE DOS CODIGOS, ENVIO DE PESO E ALTURA E SINCRONIZADO QUE NAO EXIBIA. 02/09/2024 publish_to: 'none' version: 1.0.15+16