Files
rkmmobile/lib/screens/registers_citizen/register_individual_screen.dart

1652 lines
84 KiB
Dart

import 'package:flutter/material.dart';
import 'package:intl/intl.dart';
import 'package:line_icons/line_icons.dart';
import 'package:rkm/config/color_palette.dart';
import 'package:rkm/config/const_variable.dart';
import 'package:rkm/models/equipe_cidadao.dart';
import 'package:rkm/service/db/db_querys.dart';
import 'package:rkm/widgets/button_default.dart';
import 'package:rkm/widgets/text_default.dart';
import 'package:rkm/widgets/title_containers.dart';
import 'package:sqflite/sqflite.dart';
import '../../service/db/db_sqlite_load.dart';
import '../../service/db/db_sqlite_sync.dart';
import '../../service/shared_preferences/shared_preferences_service.dart';
import '../../widgets/alert_dialog_default.dart';
import '../../widgets/appbar_default.dart';
import '../../widgets/check_box_two_subtitle.dart';
import '../../widgets/dropdown_with_subtitle.dart';
import '../../widgets/dropdown_with_subtitle_cidadao.dart';
import '../../widgets/error_default.dart';
import '../../widgets/input_with_subtitle.dart';
import '../../widgets/onbackbutton.dart';
import '../../widgets/subtitle_appbar_citizen.dart';
import '../../widgets/switch_with_subtitle.dart';
class RegisterIndividualScreen extends StatefulWidget {
List listData;
String username;
RegisterIndividualScreen({required this.listData, required this.username});
@override
State<RegisterIndividualScreen> createState() => _RegisterIndividualScreenState();
}
class _RegisterIndividualScreenState extends State<RegisterIndividualScreen> {
List<EquipeCidadao> listINE = [];
List<String> listkin = [];
List<String> listScoolingRegisterInd = [];
List<String> listOcupacion = [];
List<String> listGenderInd = [];
List<String> listGenderIdent = [];
List<String> listExitCitizen = [];
List<String> listWeight = [];
List<String> listHeart = [];
List<String> listKidney = [];
List<String> listLung = [];
List<String> listCondStreet = [];
List<String> listDailyFood = [];
List<String> listCBO = [];
List<String> listINEPROF = [];
bool FORA_AREA = false;
bool STATUS_CADASTRO = true;
bool RESPONSAVEL_FAMILIAR = false;
bool FREQ_ESCOLA_CRECHE = false;
bool CRIANCAS_ADULTO = false;
bool CRIANCAS_SOZINHA = false;
bool CRIANCAS_OUTRAS_CRIANCAS = false;
bool CRIANCAS_CRECHE = false;
bool CRIANCAS_ADOLESCENTE = false;
bool CRIANCAS_OUTRO = false;
bool CUIDADOR_TRADICIONAL = false;
bool GRUPO_COMUNITARIO = false;
bool PLANO_PRIVADO = false;
bool COMUNIDADE_TRADICIONAL = false;
bool DEF_AUDITIVA = false;
bool DEF_INTELECTUAL = false;
bool DEF_VISUAL = false;
bool DEF_FISICA = false;
bool DEF_OUTRAS = false;
bool CADASTRO_RECUSADO = false;
bool GESTANTE = false;
bool FUMANTE = false;
bool USA_ALCOOL = false;
bool USA_DROGAS = false;
bool HIPERTENSAO = false;
bool DIABETES = false;
bool AVC_DERRAME = false;
bool INFARTO = false;
bool HANSENIASE = false;
bool TUBERCULOSE = false;
bool CANCER = false;
bool INTERNACAO = false;
bool SAUDE_MENTAL = false;
bool ACAMADO = false;
bool DOMICILIADO = false;
bool PLANTAS_MED = false;
bool PIC = false;
bool ACOMP_INTITUICAO = false;
bool BENEFICIO = false;
bool REF_FAMILIAR = false;
bool VISITA_FREQUENCIA = false;
bool REST_POPULAR = false;
bool DOACAO_REST = false;
bool DOACAO_RELIGIOSO = false;
bool DOACAO_POPULAR = false;
bool OUTROS_ALIM = false;
bool ACESSO_HIGIENE = false;
bool BANHO = false;
bool SANITARIO = false;
bool HIGIENE_BUCAL = false;
bool OUTROS_HIGIENE = false;
bool CNS_VALIDO = false;
bool FIBROMIALGIA = false;
bool TRANSTORNO_ESPECTRO_AUTISTA = false;
bool edit = false;
bool editing = false;
bool mandatory = false;
bool showCheckError = false;
bool showTab = false;
int PARENTESCO_COD = 0;
int ESCOLARIDADE_COD = 0;
int SITUACAO_MERCADO_COD = 0;
int ORIENT_SEXUAL_COD = 0;
int SAIDA_CADASTRO_COD = 0;
int PESO_COD = 0;
int DOENCA_CARDIACA_COD = 0;
int PROBLEMA_RINS_COD = 0;
int DOENCA_PULMAO_COD = 0;
int TEMPO_SITUACAO_RUA_COD = 0;
int ALIMENTACAO_DIARIA_COD = 0;
int IDENTIDADE_GENERO_COD = 0;
int ID_EQUIPE = 0;
int ID_CIDADAO = 0;
EquipeCidadao? INE;
String? INE_DB;
String? ESCOLARIDADE;
String? SITUACAO_MERCADO;
String? PARENTESCO;
String? ORIENT_SEXUAL;
String? IDENTIDADE_GENERO;
String? SAIDA_CADASTRO;
String? PESO;
String? DOENCA_CARDIACA;
String? PROBLEMA_RINS;
String? DOENCA_PULMAO;
String? TEMPO_SITUACAO_RUA;
String? ALIMENTACAO_DIARIA;
String? CBO_RESP_CADASTRO;
String? INE_RESP_CADASTRO;
String CNS_PROFISSIONAL='';
int idUsuario = 0;
String idUnidade = '';
String nomeUnidade = '';
String date_cad = '';
String date_saida = '';
int ID_AREA_CIDADAO = 0;
int ID_MICROAREA_CIDADAO = 0;
String TIPO_SALVAR = 'new';
int ID_PROFISSIONAL = 0;
var NOME_RESPONSAVEL_FAMILIAR = TextEditingController();
var NATURALIDADE = TextEditingController(text: 'BRASILEIRO');
var DT_ENTRADA_BRASIL = TextEditingController();
var DT_NATURALIZACAO = TextEditingController();
var PORTARIA_NATURALIZACAO = TextEditingController();
var COM_TRADI_QUAL = TextEditingController();
var MOTIVO = TextEditingController();
var DATA_SAIDA_CADASTRO = TextEditingController();
var MATERNIDADE_REFERENCIA = TextEditingController();
var PLANTAS_MED_QUAIS = TextEditingController();
var OUTRAS_CONDICOES = TextEditingController();
var ACOMP_INTITUICAO_QUAL = TextEditingController();
var PARENTESCO_VISITA = TextEditingController();
var USUARIO_RESP_CADASTRO = TextEditingController();
var CNES_RESP_CADASTRO = TextEditingController();
var DT_CADASTRO = TextEditingController();
final PrefService _prefService = PrefService();
getUser(){
_prefService.readCacheIDUser().then((value){
if(value != null){
idUsuario = int.parse(value);
}
});
_prefService.readCacheUnidade().then((value){
if(value!=null){
idUnidade = value[0].toString();
nomeUnidade = value[1];
}
loadLists();
});
}
loadLists(){
for(int i = 0; ConstVariable().listKin.length > i; i++){
listkin.add(ConstVariable().listKin[i].title);
}
for(int i = 0; ConstVariable().listScoolingRegisterInd.length > i; i++){
listScoolingRegisterInd.add(ConstVariable().listScoolingRegisterInd[i].title);
}
for(int i = 0; ConstVariable().listOcupacion.length > i; i++){
listOcupacion.add(ConstVariable().listOcupacion[i].title);
}
for(int i = 0; ConstVariable().listGenderInd.length > i; i++){
listGenderInd.add(ConstVariable().listGenderInd[i].title);
}
for(int i = 0; ConstVariable().listGenderIdent.length > i; i++){
listGenderIdent.add(ConstVariable().listGenderIdent[i].title);
}
for(int i = 0; ConstVariable().listExitCitizen.length > i; i++){
listExitCitizen.add(ConstVariable().listExitCitizen[i].title);
}
for(int i = 0; ConstVariable().listWeight.length > i; i++){
listWeight.add(ConstVariable().listWeight[i].title);
}
for(int i = 0; ConstVariable().listHeart.length > i; i++){
listHeart.add(ConstVariable().listHeart[i].title);
}
for(int i = 0; ConstVariable().listKidney.length > i; i++){
listKidney.add(ConstVariable().listKidney[i].title);
}
for(int i = 0; ConstVariable().listLung.length > i; i++){
listLung.add(ConstVariable().listLung[i].title);
}
for(int i = 0; ConstVariable().listCondStreet.length > i; i++){
listCondStreet.add(ConstVariable().listCondStreet[i].title);
}
for(int i = 0; ConstVariable().listDailyFood.length > i; i++){
listDailyFood.add(ConstVariable().listDailyFood[i].title);
}
loadCadIndividual();
}
loadCadIndividual()async{
ID_CIDADAO = widget.listData[0]['ID_CIDADAO'];
// print(widget.listData[0]['ID_CAD_INDIVIDUAL']);
print('ID_CIDADAO');
print(ID_CIDADAO);
await DBQuerys().buscaCadInvidual(ID_CIDADAO).then((dataCitizen)async{
if(dataCitizen.isNotEmpty) {
ID_PROFISSIONAL = dataCitizen[0]['ID_RESP_CADASTRO'];
TIPO_SALVAR = 'update';
showTab = true;
FORA_AREA = dataCitizen[0]['FORA_AREA'] == 1 ? true : false;
ID_EQUIPE = dataCitizen[0]['ID_EQUIPE']??0;
STATUS_CADASTRO = dataCitizen[0]['STATUS_CADASTRO'] == null? false : dataCitizen[0]['STATUS_CADASTRO'] == 1 ? true : false;
RESPONSAVEL_FAMILIAR = dataCitizen[0]['RESPONSAVEL_FAMILIAR'] == 1 ? true : false;
FIBROMIALGIA = dataCitizen[0]['FIBROMIALGIA']==1?true:false;
TRANSTORNO_ESPECTRO_AUTISTA = dataCitizen[0]['TRANSTORNO_ESPECTRO_AUTISTA']==1?true:false;
if(dataCitizen[0]['INE']!=null){
print('co');
String ine = 'INE: ${dataCitizen[0]['INE']} / Área : ${dataCitizen[0]['AREA']} ${dataCitizen[0]['MICROAREA']==null?'':'- Microárea : ${dataCitizen[0]['MICROAREA']}'}';
INE_RESP_CADASTRO = 'INE: ${dataCitizen[0]['INE']} / Área: ${dataCitizen[0]['AREA']} ${dataCitizen[0]['MICROAREA']==null?'':'- Microárea : ${dataCitizen[0]['MICROAREA']}'}';
INE = EquipeCidadao(
DESCRICAO: ine!,
ID_MICROAREA_CIDADAO: dataCitizen[0]['ID_MICROAREA_CIDADAO'],
ID_AREA_CIDADAO: dataCitizen[0]['ID_AREA_CIDADAO']
);
listINEPROF.add(INE_RESP_CADASTRO!);
}else{
List list = await DBQuerys().buscaDadosProfissional(idUnidade,idUsuario);
for(int i=0; list.length > i;i++){
String ine = 'INE: ${list[i]['INE']} / Área: ${list[i]['AREA']} ${list[i]['MICROAREA']==null?'':'- Microárea : ${list[i]['MICROAREA']}'}';
INE_RESP_CADASTRO = 'INE: ${list[i]['INE']} / Área: ${list[i]['AREA']} ${list[i]['MICROAREA']==null?'':'- Microárea : ${list[i]['MICROAREA']}'}';
listINE.add(
EquipeCidadao(
DESCRICAO: ine!,
ID_MICROAREA_CIDADAO: list[i]['ID_ATB_MICROAREA'],
ID_AREA_CIDADAO: list[i]['ID_ATB_AREA']
)
);
print('ID_MICROAREA_CIDADAO');
print(dataCitizen[0]['ID_MICROAREA_CIDADAO']);
print('ID_AREA_CIDADAO');
print(dataCitizen[0]['ID_AREA_CIDADAO']);
if(dataCitizen[0]['ID_MICROAREA_CIDADAO']==list[i]['ID_ATB_MICROAREA']
&&dataCitizen[0]['ID_AREA_CIDADAO']==list[i]['ID_ATB_AREA']){
INE = listINE[i];
}
listINEPROF.add('INE: ${list[i]['INE']} / Área: ${list[i]['AREA']} - Microárea : ${list[i]['MICROAREA']}');
}
}
DT_ENTRADA_BRASIL.text = dataCitizen[0]['DT_ENTRADA_BRASIL'] ?? '';
if (DT_ENTRADA_BRASIL.text == '') {
NATURALIDADE.text = 'BRASILEIRO';
}
DT_NATURALIZACAO.text = dataCitizen[0]['DT_NATURALIZACAO'] ?? '';
PORTARIA_NATURALIZACAO.text =
dataCitizen[0]['PORTARIA_NATURALIZACAO'] ?? '';
NOME_RESPONSAVEL_FAMILIAR.text =
dataCitizen[0]['NOME_RESPONSAVEL_FAMILIAR'] ?? '';
PARENTESCO_COD = dataCitizen[0]['PARENTESCO']??0;
for (int i = 0; ConstVariable().listKin.length > i; i++) {
if (ConstVariable().listKin[i].cod == dataCitizen[0]['PARENTESCO']) {
PARENTESCO = ConstVariable().listKin[i].title;
}
}
ESCOLARIDADE_COD = dataCitizen[0]['ESCOLARIDADE']??0;
for (int i = 0; ConstVariable().listScoolingRegisterInd.length > i; i++) {
if (ConstVariable().listScoolingRegisterInd[i].cod ==
dataCitizen[0]['ESCOLARIDADE']) {
ESCOLARIDADE = ConstVariable().listScoolingRegisterInd[i].title;
}
}
FREQ_ESCOLA_CRECHE = dataCitizen[0]['FREQ_ESCOLA_CRECHE'] == 1 ? true : false;
SITUACAO_MERCADO_COD = dataCitizen[0]['SITUACAO_MERCADO']??0;
for (int i = 0; ConstVariable().listOcupacion.length > i; i++) {
if (ConstVariable().listOcupacion[i].cod == dataCitizen[0]['SITUACAO_MERCADO']) {
SITUACAO_MERCADO = ConstVariable().listOcupacion[i].title;
}
}
CRIANCAS_ADULTO = dataCitizen[0]['CRIANCAS_ADULTO'] == 1 ? true : false;
CRIANCAS_SOZINHA = dataCitizen[0]['CRIANCAS_SOZINHA'] == 1 ? true : false;
CRIANCAS_OUTRAS_CRIANCAS =
dataCitizen[0]['CRIANCAS_OUTRAS_CRIANCAS'] == 1 ? true : false;
CRIANCAS_CRECHE = dataCitizen[0]['CRIANCAS_CRECHE'] == 1 ? true : false;
CRIANCAS_ADOLESCENTE =
dataCitizen[0]['CRIANCAS_ADOLESCENTE'] == 1 ? true : false;
CRIANCAS_OUTRO = dataCitizen[0]['CRIANCAS_OUTRO'] == 1 ? true : false;
CUIDADOR_TRADICIONAL =
dataCitizen[0]['CUIDADOR_TRADICIONAL'] == 1 ? true : false;
GRUPO_COMUNITARIO =
dataCitizen[0]['GRUPO_COMUNITARIO'] == 1 ? true : false;
PLANO_PRIVADO = dataCitizen[0]['PLANO_PRIVADO'] == 1 ? true : false;
COMUNIDADE_TRADICIONAL =
dataCitizen[0]['COMUNIDADE_TRADICIONAL'] == 1 ? true : false;
COM_TRADI_QUAL.text = dataCitizen[0]['COM_TRADI_QUAL'] ?? '';
ORIENT_SEXUAL_COD = dataCitizen[0]['ORIENT_SEXUAL']??0;
for (int i = 0; ConstVariable().listGenderInd.length > i; i++) {
if (ConstVariable().listGenderInd[i].cod == dataCitizen[0]['ORIENT_SEXUAL']) {
ORIENT_SEXUAL = ConstVariable().listGenderInd[i].title;
}
}
IDENTIDADE_GENERO_COD = dataCitizen[0]['IDENTIDADE_GENERO']??0;
for (int i = 0; ConstVariable().listGenderIdent.length > i; i++) {
if (ConstVariable().listGenderIdent[i].cod == (dataCitizen[0]['IDENTIDADE_GENERO']??0)) {
IDENTIDADE_GENERO = ConstVariable().listGenderIdent[i].title;
}
}
DEF_AUDITIVA = dataCitizen[0]['DEF_AUDITIVA'] == 1 ? true : false;
DEF_INTELECTUAL = dataCitizen[0]['DEF_INTELECTUAL'] == 1 ? true : false;
DEF_VISUAL = dataCitizen[0]['DEF_VISUAL'] == 1 ? true : false;
DEF_FISICA = dataCitizen[0]['DEF_FISICA'] == 1 ? true : false;
DEF_OUTRAS = dataCitizen[0]['DEF_OUTRAS'] == 1 ? true : false;
SAIDA_CADASTRO_COD = dataCitizen[0]['SAIDA_CADASTRO']??0;
for (int i = 0; ConstVariable().listExitCitizen.length > i; i++) {
if (ConstVariable().listExitCitizen[i].cod ==
dataCitizen[0]['SAIDA_CADASTRO']) {
SAIDA_CADASTRO = ConstVariable().listExitCitizen[i].title;
}
}
date_saida = dataCitizen[0]['DATA_SAIDA_CADASTRO']??'';
List splittedDate = date_saida.split('-');
DATA_SAIDA_CADASTRO.text = splittedDate.length<2?'':'${splittedDate[2]}/${splittedDate[1]}/${splittedDate[0]}';
CADASTRO_RECUSADO =dataCitizen[0]['CADASTRO_RECUSADO'] == 1 ? true : false;
GESTANTE = dataCitizen[0]['GESTANTE'] == 1 ? true : false;
MATERNIDADE_REFERENCIA.text = dataCitizen[0]['MATERNIDADE_REFERENCIA'] ?? '';
PESO_COD = dataCitizen[0]['PESO']??0;
for (int i = 0; ConstVariable().listWeight.length > i; i++) {
if (ConstVariable().listWeight[i].cod == dataCitizen[0]['PESO'] ) {
PESO = ConstVariable().listWeight[i].title;
}
}
FUMANTE = dataCitizen[0]['FUMANTE'] == 1 ? true : false;
USA_ALCOOL = dataCitizen[0]['USA_ALCOOL'] == 1 ? true : false;
USA_DROGAS = dataCitizen[0]['USA_DROGAS'] == 1 ? true : false;
HIPERTENSAO = dataCitizen[0]['HIPERTENSAO'] == 1 ? true : false;
DIABETES = dataCitizen[0]['DIABETES'] == 1 ? true : false;
AVC_DERRAME = dataCitizen[0]['AVC_DERRAME'] == 1 ? true : false;
INFARTO = dataCitizen[0]['INFARTO'] == 1 ? true : false;
HANSENIASE = dataCitizen[0]['HANSENIASE'] == 1 ? true : false;
TUBERCULOSE = dataCitizen[0]['TUBERCULOSE'] == 1 ? true : false;
CANCER = dataCitizen[0]['CANCER'] == 1 ? true : false;
INTERNACAO = dataCitizen[0]['INTERNACAO'] == 1 ? true : false;
MOTIVO.text = dataCitizen[0]['MOTIVO'] ?? '';
DOENCA_CARDIACA_COD = dataCitizen[0]['DOENCA_CARDIACA']??0;
for (int i = 0; ConstVariable().listHeart.length > i; i++) {
if (ConstVariable().listHeart[i].cod == (dataCitizen[0]['DOENCA_CARDIACA'] ?? 0)) {
DOENCA_CARDIACA = ConstVariable().listHeart[i].title;
}
}
PROBLEMA_RINS_COD = dataCitizen[0]['PROBLEMA_RINS']??0;
for (int i = 0; ConstVariable().listKidney.length > i; i++) {
if (ConstVariable().listKidney[i].cod == (dataCitizen[0]['PROBLEMA_RINS'] ?? 0)) {
PROBLEMA_RINS = ConstVariable().listKidney[i].title;
}
}
DOENCA_PULMAO_COD = dataCitizen[0]['DOENCA_PULMAO']??0;
for (int i = 0; ConstVariable().listLung.length > i; i++) {
if (ConstVariable().listLung[i].cod == (dataCitizen[0]['DOENCA_PULMAO'] ?? 0)) {
DOENCA_PULMAO = ConstVariable().listLung[i].title;
}
}
SAUDE_MENTAL = dataCitizen[0]['SAUDE_MENTAL'] == 1 ? true : false;
ACAMADO = dataCitizen[0]['ACAMADO'] == 1 ? true : false;
DOMICILIADO = dataCitizen[0]['DOMICILIADO'] == 1 ? true : false;
PLANTAS_MED = dataCitizen[0]['PLANTAS_MED'] == 1 ? true : false;
PLANTAS_MED_QUAIS.text = dataCitizen[0]['PLANTAS_MED_QUAIS'] ?? '';
PIC = dataCitizen[0]['PIC'] == 1 ? true : false;
OUTRAS_CONDICOES.text = dataCitizen[0]['OUTRAS_CONDICOES'] ?? '';
TEMPO_SITUACAO_RUA_COD = dataCitizen[0]['TEMPO_SITUACAO_RUA']??0;
for (int i = 0; ConstVariable().listCondStreet.length > i; i++) {
if (ConstVariable().listCondStreet[i].cod == (dataCitizen[0]['TEMPO_SITUACAO_RUA']??0)) {
TEMPO_SITUACAO_RUA = ConstVariable().listCondStreet[i].title;
}
}
ACOMP_INTITUICAO = dataCitizen[0]['ACOMP_INTITUICAO'] == 1 ? true : false;
ACOMP_INTITUICAO_QUAL.text =
dataCitizen[0]['ACOMP_INTITUICAO_QUAL'] ?? '';
BENEFICIO = dataCitizen[0]['BENEFICIO'] == 1 ? true : false;
REF_FAMILIAR = dataCitizen[0]['REF_FAMILIAR'] == 1 ? true : false;
PARENTESCO_VISITA.text = dataCitizen[0]['PARENTESCO_VISITA'] ?? '';
ALIMENTACAO_DIARIA_COD = dataCitizen[0]['ALIMENTACAO_DIARIA']??0;
for (int i = 0; ConstVariable().listDailyFood.length > i; i++) {
if (ConstVariable().listDailyFood[i].cod == (dataCitizen[0]['ALIMENTACAO_DIARIA'] ?? 0)) {
ALIMENTACAO_DIARIA = ConstVariable().listDailyFood[i].title;
}
}
REST_POPULAR = dataCitizen[0]['REST_POPULAR'] == 1 ? true : false;
DOACAO_REST = dataCitizen[0]['DOACAO_REST'] == 1 ? true : false;
DOACAO_RELIGIOSO = dataCitizen[0]['DOACAO_RELIGIOSO'] == 1 ? true : false;
DOACAO_POPULAR = dataCitizen[0]['DOACAO_POPULAR'] == 1 ? true : false;
OUTROS_ALIM = dataCitizen[0]['OUTROS_ALIM'] == 1 ? true : false;
ACESSO_HIGIENE = dataCitizen[0]['ACESSO_HIGIENE'] == 1 ? true : false;
BANHO = dataCitizen[0]['BANHO'] == 1 ? true : false;
SANITARIO = dataCitizen[0]['SANITARIO'] == 1 ? true : false;
HIGIENE_BUCAL = dataCitizen[0]['HIGIENE_BUCAL'] == 1 ? true : false;
OUTROS_HIGIENE = dataCitizen[0]['OUTROS_HIGIENE'] == 1 ? true : false;
CBO_RESP_CADASTRO = dataCitizen[0]['CBO_RESP_CADASTRO'].toString();
date_cad = dataCitizen[0]['DT_CADASTRO']??'';
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;
}
if(listINE.length == 0){
List list = await DBQuerys().buscaDadosProfissional(idUnidade,idUsuario);
for(int i=0; list.length > i;i++){
ID_AREA_CIDADAO = list[i]['ID_ATB_AREA'];
ID_MICROAREA_CIDADAO = list[i]['ID_ATB_MICROAREA']==null?0:list[i]['ID_ATB_MICROAREA'];
INE_DB = list[i]['INE'];
String ine = 'INE: ${list[i]['INE']} / Área: ${list[i]['AREA']} ${list[i]['MICROAREA']==null?'':'- Microárea : ${list[i]['MICROAREA']}'}';
INE_RESP_CADASTRO = 'INE: ${list[i]['INE']} / Área: ${list[i]['AREA']} ${list[i]['MICROAREA']==null?'':'- Microárea : ${list[i]['MICROAREA']}'}';
listINE.add(
EquipeCidadao(
DESCRICAO: ine!,
ID_MICROAREA_CIDADAO: list[i]['ID_ATB_MICROAREA'],
ID_AREA_CIDADAO: list[i]['ID_ATB_AREA']
)
);
listINEPROF.add('INE: ${list[i]['INE']} / Área: ${list[i]['AREA']} ${list[i]['MICROAREA']==null?'':'- Microárea : ${list[i]['MICROAREA']}'}');
}
}
await DBQuerys().buscaProfissionalCadInd(idUsuario).then((list){
USUARIO_RESP_CADASTRO.text = list['NOME_PROFISSIONAL'];
CNS_PROFISSIONAL = list['CNS_PROFISSIONAL'];
if(CNS_PROFISSIONAL == 999999999999999 || CNS_PROFISSIONAL == '999999999999999'){
CNS_VALIDO = true;
}
});
// CNES_RESP_CADASTRO.text = await DBQuerys().buscaNomeUnidade(idUnidade);
await DBQuerys().buscaCBOProfissional(idUsuario).then((list){
if(list.length!=0){
for(int i = 0; list.length>i;i++){
listCBO.add(list[i]['CODIGO_CBO'].toString());
}
}
CBO_RESP_CADASTRO = list.length == 0?null:list[0]['CODIGO_CBO'].toString();
});
if(ID_PROFISSIONAL!=0){
await DBQuerys().buscaProfissionalCadInd(ID_PROFISSIONAL).then((value)async{
// print(value);
USUARIO_RESP_CADASTRO.text = value['NOME_PROFISSIONAL'];
//aguardando unidade
// CNES_RESP_CADASTRO.text = await DBQuerys().cnesUnidade(value['ID_UNIDADE']);
});
}
});
setState(() {});
}
checkSave()async{
// adicionar depois e usar um usuário real
// CBO_RESP_CADASTRO
//ok
if(ESCOLARIDADE==null ||
DT_CADASTRO.text.isEmpty ||
TEMPO_SITUACAO_RUA==null
){
print('erro');
setState(() {
showCheckError = true;
mandatory = true;
});
}else{
print('passou');
setState(() {
mandatory = false;
showCheckError = false;
saveCitizenInd();
});
}
}
saveCitizenInd()async{
//cnes
Map<String, dynamic> row = {
'STATUS_CADASTRO' : STATUS_CADASTRO?1:2,
'ID_CIDADAO' : widget.listData[0]['ID_CIDADAO'],
'CD_USUARIO_SUS' : widget.listData[0]['CD_USUARIO_SUS'],
'ID_AREA_CIDADAO' : INE!.ID_AREA_CIDADAO,
'ID_MICROAREA_CIDADAO' : INE!.ID_MICROAREA_CIDADAO,
'FORA_AREA' : FORA_AREA?1:2,
'RESPONSAVEL_FAMILIAR' : RESPONSAVEL_FAMILIAR?1:2,
'ID_RESPONSAVEL_FAMILIAR' : '',
'NOME_RESPONSAVEL_FAMILIAR' : NOME_RESPONSAVEL_FAMILIAR.text,
'PARENTESCO' : PARENTESCO_COD,
'ESCOLARIDADE' : ESCOLARIDADE_COD,
'FREQ_ESCOLA_CRECHE' : FREQ_ESCOLA_CRECHE?1:2,
'SITUACAO_MERCADO' : SITUACAO_MERCADO_COD,
'CUIDADOR_TRADICIONAL' : CUIDADOR_TRADICIONAL?1:2,
'GRUPO_COMUNITARIO' : GRUPO_COMUNITARIO?1:2,
'PLANO_PRIVADO' : PLANO_PRIVADO?1:2,
'COMUNIDADE_TRADICIONAL' : COMUNIDADE_TRADICIONAL?1:2,
'COM_TRADI_QUAL' : COM_TRADI_QUAL.text,
'ORIENT_SEXUAL' : ORIENT_SEXUAL_COD,
'TEM_DEFICIENCIA' : DEF_AUDITIVA || DEF_INTELECTUAL || DEF_VISUAL || DEF_FISICA || DEF_OUTRAS?1:2,
'DEF_AUDITIVA' : DEF_AUDITIVA?1:2,
'DEF_INTELECTUAL' : DEF_INTELECTUAL?1:2,
'DEF_VISUAL' : DEF_VISUAL?1:2,
'DEF_FISICA' : DEF_FISICA?1:2,
'DEF_OUTRAS' : DEF_OUTRAS?1:2,
'SAIDA_CADASTRO' : SAIDA_CADASTRO_COD,
'DATA_SAIDA_CADASTRO' : date_saida,
'CADASTRO_RECUSADO' : CADASTRO_RECUSADO?1:2,
'GESTANTE' : GESTANTE?1:2,
'MATERNIDADE_REFERENCIA' : MATERNIDADE_REFERENCIA.text,
'PESO' : PESO_COD,
'FUMANTE' : FUMANTE?1:2,
'USA_ALCOOL' : USA_ALCOOL?1:2,
'USA_DROGAS' : USA_DROGAS?1:2,
'HIPERTENSAO' : HIPERTENSAO?1:2,
'DIABETES' : DIABETES?1:2,
'AVC_DERRAME' : AVC_DERRAME?1:2,
'INFARTO' : INFARTO?1:2,
'HANSENIASE' : HANSENIASE?1:2,
'TUBERCULOSE' : TUBERCULOSE?1:2,
'CANCER' : CANCER?1:2,
'INTERNACAO' : INTERNACAO?1:2,
'FIBROMIALGIA' : FIBROMIALGIA?1:2,
'TRANSTORNO_ESPECTRO_AUTISTA': TRANSTORNO_ESPECTRO_AUTISTA?1:2,
'MOTIVO' : MOTIVO.text,
'DOENCA_CARDIACA' : DOENCA_CARDIACA_COD,
'PROBLEMA_RINS' : PROBLEMA_RINS_COD,
'DOENCA_PULMAO' : DOENCA_PULMAO_COD,
'SAUDE_MENTAL' : SAUDE_MENTAL?1:2,
'ACAMADO' : ACAMADO?1:2,
'DOMICILIADO' : DOMICILIADO?1:2,
'PLANTAS_MED' : PLANTAS_MED?1:2,
'PLANTAS_MED_QUAIS' : PLANTAS_MED_QUAIS.text,
'PIC' : PIC?1:2,
'OUTRAS_CONDICOES' : OUTRAS_CONDICOES.text,
'TEMPO_SITUACAO_RUA' : TEMPO_SITUACAO_RUA_COD,
'ACOMP_INTITUICAO' : ACOMP_INTITUICAO?1:2,
'ACOMP_INTITUICAO_QUAL' : ACOMP_INTITUICAO_QUAL.text,
'BENEFICIO' : BENEFICIO?1:2,
'REF_FAMILIAR' : REF_FAMILIAR?1:2,
'PARENTESCO_VISITA' : PARENTESCO_VISITA.text,
'ALIMENTACAO_DIARIA' : ALIMENTACAO_DIARIA_COD,
'REST_POPULAR' : REST_POPULAR?1:2,
'DOACAO_REST' : DOACAO_REST?1:2,
'DOACAO_RELIGIOSO' : DOACAO_RELIGIOSO?1:2,
'DOACAO_POPULAR' : DOACAO_POPULAR?1:2,
'OUTROS_ALIM' : OUTROS_ALIM?1:2,
'ACESSO_HIGIENE' : ACESSO_HIGIENE?1:2,
'BANHO' : BANHO?1:2,
'SANITARIO' : SANITARIO?1:2,
'HIGIENE_BUCAL' : HIGIENE_BUCAL?1:2,
'OUTROS_HIGIENE' : OUTROS_HIGIENE?1:2,
'FICHA_ALTERACAO' : 1,
'ID_RESP_CADASTRO' : idUsuario,
'CNES_RESP_CADASTRO' : CNES_RESP_CADASTRO.text=='null'?'':CNES_RESP_CADASTRO.text,
'CBO_RESP_CADASTRO' : CBO_RESP_CADASTRO,
'INE_RESP_CADASTRO' : INE_DB,
'DT_CADASTRO' : date_cad,
'ID_EQUIPE' : ID_EQUIPE,
'ORIGEM' : 'A',
'SINCRONIZADO' : 'N',
'DT_ENTRADA_BRASIL' : DT_ENTRADA_BRASIL.text,
'DT_NATURALIZACAO' : DT_NATURALIZACAO.text,
'PORTARIA_NATURALIZACAO' : PORTARIA_NATURALIZACAO.text,
'CRIANCAS_ADULTO' : CRIANCAS_ADULTO?1:2,
'CRIANCAS_OUTRAS_CRIANCAS' : CRIANCAS_OUTRAS_CRIANCAS?1:2,
'CRIANCAS_ADOLESCENTE' : CRIANCAS_ADOLESCENTE?1:2,
'CRIANCAS_SOZINHA' : CRIANCAS_SOZINHA?1:2,
'CRIANCAS_CRECHE' : CRIANCAS_CRECHE?1:2,
'CRIANCAS_OUTRO' : CRIANCAS_OUTRO?1:2,
'IDENTIDADE_GENERO' : IDENTIDADE_GENERO_COD,
};
await DbSqliteSync().insertCadastrosIndividuais(row,TIPO_SALVAR,ID_CIDADAO).then((value){
AlertDialogDefault().alert(
context,
'Aviso',
TIPO_SALVAR!='new'?
'Cadastro Individual alterado com sucesso!':
'Cadastro Individual realizado com sucesso!',
'OK'
);
setState(() {
showTab = true;
});
// print(value);
});
}
escolherprazoInicio(BuildContext context,String type) async {
var pickDate = await showDatePicker(
context: context,
locale: Locale('pt','BR'),
initialDate: DateTime.now(),
firstDate: DateTime(1900),
lastDate: DateTime.now()
);
if (pickDate != null) {
if(type=='cadastro'){
date_cad = '${pickDate.year}-${pickDate.month<10?'0':''}${pickDate.month}-${pickDate.day<10?'0':''}${pickDate.day}';
DT_CADASTRO.text = formatData(year: pickDate.year, month: pickDate.month, day: pickDate.day);
// print(date_cad);
}
if(type=='data_saida'){
date_saida = '${pickDate.year}-${pickDate.month<10?'0':''}${pickDate.month}-${pickDate.day<10?'0':''}${pickDate.day}';
DATA_SAIDA_CADASTRO.text = formatData(year: pickDate.year, month: pickDate.month, day: pickDate.day);
}
setState(() {});
}
}
String formatData({int? year, int? month, int? day}) {
DateTime data = DateTime(year!, month!, day!);
String formattedDate = DateFormat('dd/MM/yyyy').format(data);
return formattedDate;
}
@override
void initState() {
super.initState();
getUser();
}
@override
Widget build(BuildContext context) {
double heigth = MediaQuery.of(context).size.height;
double width = MediaQuery.of(context).size.width;
return WillPopScope(
onWillPop: showTab?null:()async=> await OnBackButton().onBackButton(context, widget.username),
child: Scaffold(
appBar: AppBarDefault().appbar(context, 'RKM AB - Cadastro Individual',widget.username),
body: Container(
height: double.infinity,
width: double.infinity,
decoration: ConstVariable().backgroundGradient,
child: ListView(
children: [
SubtitleAppbarCitizen(title: 2,edit: showTab,listData: widget.listData,username: widget.username),
showCheckError?Card(
margin: EdgeInsets.all(10),
child: Container(
padding: EdgeInsets.all(10),
child: Row(
children: [
Icon(Icons.warning,color: Colors.red,),
TextDefault(text: 'Existem campos obrigatórios não preenchidos.',color: ColorPalette.red,fontSize: 15,)
],
),
),
color: ColorPalette.white,
):Container(),
Card(
margin: EdgeInsets.all(10),
child: Padding(
padding: const EdgeInsets.all(8.0),
child: Column(
children: [
!edit?ButtonDefault(
onPressed: (){
setState(() {
edit = true;
editing = true;
mandatory = true;
});
},
title: 'Alterar',
borderColor: ColorPalette.edit,
background: ColorPalette.edit,
textColor: ColorPalette.white,
width: double.infinity,
):ButtonDefault(
onPressed: ()=>checkSave(),
title: 'Salvar',
borderColor: ColorPalette.appBar,
background: ColorPalette.appBar,
textColor: ColorPalette.white,
width: double.infinity,
),
ButtonDefault(
onPressed: ()=>Navigator.pop(context),
title: 'Cancelar',
borderColor: ColorPalette.blackButton,
background: ColorPalette.blackButton,
textColor: ColorPalette.white,
width: double.infinity,
),
edit?ButtonDefault(
onPressed: (){
//definir a função
// var query = "DELETE FROM CADASTROS_INDIVIDUAIS WHERE ID_CAD_INDIVIDUAL = ?";
// 'Cadastro Individual excluído com sucesso!'
},
title: 'Excluir',
borderColor: ColorPalette.red,
background: ColorPalette.red,
textColor: ColorPalette.white,
width: double.infinity,
):Container()
],
),
),
),
Card(
margin: EdgeInsets.all(10),
child: Column(
children: [
TitleContainers(title: 'Informações Sociodemográficas'),
Row(
children: [
Container(
height: heigth*0.5,
width: width*0.2,
child: Icon(Icons.edit_note,size: 80,),
),
Column(
mainAxisAlignment: MainAxisAlignment.start,
mainAxisSize: MainAxisSize.min,
children: [
DropdownWithSubtitleCidadao(
list:listINE,
widthSubtitle: width*0.7,
subtitle: 'INE / Área - Microárea',
hintDropdown: 'INE / Área - Microárea',
select: INE,
widthDropdown: width*0.69,
widthContainerDropdown: width*0.6,
onChanged:!editing?null: (value)=>setState((){
INE = value;
print('ID_AREA_CIDADAO');
print(INE!.ID_AREA_CIDADAO);
print('ID_MICROAREA_CIDADAO');
print(INE!.ID_MICROAREA_CIDADAO);
}),
onTapDelete: ()=>setState(()=>INE=null),
),
SwitchWithSubtitle(
width: width*0.7,
title: 'Fora de área',
value: FORA_AREA,
onChanged:!editing?null: (value)=>setState(()=>FORA_AREA = value),
),
SwitchWithSubtitle(
width: width*0.7,
title: 'Status Cadastro',
value: STATUS_CADASTRO,
onChanged:!editing?null: (value)=>setState(()=>STATUS_CADASTRO = value),
),
SwitchWithSubtitle(
width: width*0.7,
title: 'Responsável Familiar',
value: RESPONSAVEL_FAMILIAR,
onChanged:!editing?null: (value)=>setState((){
RESPONSAVEL_FAMILIAR = value;
if(RESPONSAVEL_FAMILIAR){
NOME_RESPONSAVEL_FAMILIAR.text = widget.listData[0]['NOME_CIDADAO'];
PARENTESCO = null;
}else{
NOME_RESPONSAVEL_FAMILIAR.clear();
}
}),
),
InputWithSubtitle(
controller: NOME_RESPONSAVEL_FAMILIAR,
subtitle: 'Responsável',
errorInput: 'Campo Obrigatório!',
labelInput: 'Responsável',
widthInput: width*0.7,
widthSubtitle: width*0.2,
hintInput: 'Escreva aqui',
enabled: false,
mandatory: false,
onChanged: (v)=>setState((){}),
),
DropdownWithSubtitle(
list: listkin,
widthSubtitle: width*0.2,
subtitle: 'Parentesco com o Responsável Familiar',
hintDropdown: 'Parentesco com o Responsável Familiar',
select: PARENTESCO,
widthDropdown: width*0.69,
widthContainerDropdown: width*0.4,
onChanged:!editing || RESPONSAVEL_FAMILIAR?null: (value){
setState(()=>PARENTESCO = value);
for (int i = 0; ConstVariable().listKin.length > i; i++) {
if (ConstVariable().listKin[i].title == PARENTESCO) {
PARENTESCO_COD = ConstVariable().listKin[i].cod;
}
}
}
),
InputWithSubtitle(
controller: NATURALIDADE,
subtitle: 'Naturalidade',
errorInput: 'Campo Obrigatório!',
labelInput: 'Naturalidade',
widthInput: width*0.7,
widthSubtitle: width*0.2,
hintInput: 'Escreva aqui',
enabled: false,
onChanged: (v)=>setState((){}),
),
InputWithSubtitle(
controller: DT_ENTRADA_BRASIL,
subtitle: 'Entrada no Brasil',
errorInput: 'Campo Obrigatório!',
labelInput: 'Entrada no Brasil',
widthInput: width*0.7,
widthSubtitle: width*0.2,
hintInput: 'Escreva aqui',
enabled: false,
mandatory: false,
onChanged: (v)=>setState((){}),
),
InputWithSubtitle(
controller: DT_NATURALIZACAO,
subtitle: 'Data de Naturalização',
errorInput: 'Campo Obrigatório!',
labelInput: 'Data de Naturalização',
widthInput: width*0.7,
widthSubtitle: width*0.2,
hintInput: 'Escreva aqui',
enabled: false,
mandatory: false,
onChanged: (v)=>setState((){}),
),
InputWithSubtitle(
controller: PORTARIA_NATURALIZACAO,
subtitle: 'Portaria de Naturalização',
errorInput: 'Campo Obrigatório!',
labelInput: 'Portaria de Naturalização',
widthInput: width*0.7,
widthSubtitle: width*0.2,
hintInput: 'Escreva aqui',
enabled: false,
mandatory: false,
onChanged: (v)=>setState((){}),
),
DropdownWithSubtitle(
list:listScoolingRegisterInd,
widthSubtitle: width*0.4,
subtitle: 'Escolaridade',
hintDropdown: 'Escolaridade',
select: ESCOLARIDADE,
widthDropdown: width*0.69,
widthContainerDropdown: width*0.6,
onChanged:!editing?null: (value){
setState(()=>ESCOLARIDADE = value);
for (int i = 0; ConstVariable().listScoolingRegisterInd.length > i; i++) {
if (ConstVariable().listScoolingRegisterInd[i].title == ESCOLARIDADE) {
ESCOLARIDADE_COD = ConstVariable().listScoolingRegisterInd[i].cod;
}
}
},
onTapDelete: ()=>setState(()=>ESCOLARIDADE=null),
showDelete: true,
),
ESCOLARIDADE==null&& mandatory?ErrorDefault():Container(),
SwitchWithSubtitle(
width: width*0.7,
title: 'Frequenta Escola / Creche',
value: FREQ_ESCOLA_CRECHE,
onChanged: !editing?null:(value)=>setState(()=>FREQ_ESCOLA_CRECHE = value),
),
DropdownWithSubtitle(
list: listOcupacion,
widthSubtitle: width*0.2,
subtitle: 'Situação no Mercado de Trabalho',
hintDropdown: 'Situação no Mercado de Trabalho',
select: SITUACAO_MERCADO,
widthDropdown: width*0.69,
widthContainerDropdown: width*0.5,
onChanged:!editing?null: (value){
setState(()=>SITUACAO_MERCADO = value);
for (int i = 0; ConstVariable().listOcupacion.length > i; i++) {
if (ConstVariable().listOcupacion[i].title == SITUACAO_MERCADO) {
SITUACAO_MERCADO_COD = ConstVariable().listOcupacion[i].cod;
}
}
},
onTapDelete: ()=>setState(()=>SITUACAO_MERCADO=null),
showDelete: true,
),
TitleContainers(title: 'Menores de 9 anos ficam',width: width*0.7),
CheckBoxTwoSubtitle(
width: width*0.7,
checkbox1: CRIANCAS_ADULTO,
checkbox2: CRIANCAS_SOZINHA,
subtitle1: 'ADULTO RESPONSÁVEL',
subtitle2: 'SOZINHA',
onChanged1: !editing?null:(value)=>setState(()=>CRIANCAS_ADULTO=value),
onChanged2: !editing?null: (value)=>setState(()=>CRIANCAS_SOZINHA=value),
),
CheckBoxTwoSubtitle(
width: width*0.7,
checkbox1: CRIANCAS_OUTRAS_CRIANCAS,
checkbox2: CRIANCAS_CRECHE,
subtitle1: 'OUTRA(S) CRIANÇA(S)',
subtitle2: 'CRECHE',
onChanged1: !editing?null: (value)=>setState(()=>CRIANCAS_OUTRAS_CRIANCAS=value),
onChanged2: !editing?null: (value)=>setState(()=>CRIANCAS_CRECHE=value),
),
CheckBoxTwoSubtitle(
width: width*0.7,
checkbox1: CRIANCAS_ADOLESCENTE,
checkbox2: CRIANCAS_OUTRO,
subtitle1: 'ADOLESCENTE',
subtitle2: 'OUTRO',
onChanged1: !editing?null: (value)=>setState(()=>CRIANCAS_ADOLESCENTE=value),
onChanged2: !editing?null: (value)=>setState(()=>CRIANCAS_OUTRO=value),
),
SwitchWithSubtitle(
width: width*0.7,
title: 'Frequenta Cuidador Tradicional',
value: CUIDADOR_TRADICIONAL,
onChanged: !editing?null: (value)=>setState(()=> CUIDADOR_TRADICIONAL = value),
),
SwitchWithSubtitle(
width: width*0.7,
title: 'Participa de Grupo Comunitário',
value: GRUPO_COMUNITARIO,
onChanged: !editing?null: (value)=>setState(()=> GRUPO_COMUNITARIO = value),
),
SwitchWithSubtitle(
width: width*0.7,
title: 'Possui Plano de Saúde Privado',
value: PLANO_PRIVADO,
onChanged: !editing?null: (value)=>setState(()=> PLANO_PRIVADO = value),
),
SwitchWithSubtitle(
width: width*0.7,
title: 'Membro de Comunidade Tradicional',
value: COMUNIDADE_TRADICIONAL,
onChanged: !editing?null: (value)=>setState(()=> COMUNIDADE_TRADICIONAL = value),
),
InputWithSubtitle(
controller: COM_TRADI_QUAL,
subtitle: 'Qual',
errorInput: 'Campo Obrigatório!',
labelInput: 'Qual',
widthInput: width*0.7,
widthSubtitle: width*0.2,
hintInput: 'Escreva aqui',
enabled: COMUNIDADE_TRADICIONAL,
mandatory: COMUNIDADE_TRADICIONAL,
onChanged: (v)=>setState((){}),
),
DropdownWithSubtitle(
list: listGenderInd,
widthSubtitle: width*0.2,
subtitle: 'Orientação Sexual',
hintDropdown: 'Orientação Sexual',
select: ORIENT_SEXUAL,
widthDropdown: width*0.7,
widthContainerDropdown: width*0.5,
onChanged: !editing?null: (value){
setState(()=>ORIENT_SEXUAL = value!);
for (int i = 0; ConstVariable().listGenderInd.length > i; i++) {
if (ConstVariable().listGenderInd[i].title == ORIENT_SEXUAL) {
ORIENT_SEXUAL_COD = ConstVariable().listGenderInd[i].cod;
}
}
},
colorBorder: ColorPalette.white,
onTapDelete: ()=>setState(()=>ORIENT_SEXUAL=null),
showDelete: true,
),
DropdownWithSubtitle(
list: listGenderIdent,
widthSubtitle: width*0.2,
subtitle: 'Identidade de Gênero',
hintDropdown: 'Identidade de Gênero',
select: IDENTIDADE_GENERO,
widthDropdown: width*0.7,
widthContainerDropdown: width*0.5,
onChanged: !editing?null: (value){
setState(()=>IDENTIDADE_GENERO = value!);
for (int i = 0; ConstVariable().listGenderIdent.length > i; i++) {
if (ConstVariable().listGenderIdent[i].title == IDENTIDADE_GENERO) {
IDENTIDADE_GENERO_COD = ConstVariable().listGenderIdent[i].cod;
}
}
},
colorBorder: ColorPalette.white,
onTapDelete: ()=>setState(()=>IDENTIDADE_GENERO=null),
showDelete: true,
),
SwitchWithSubtitle(
width: width*0.7,
title: 'Deficiência Auditiva',
value: DEF_AUDITIVA,
onChanged: !editing?null: (value)=>setState(()=> DEF_AUDITIVA = value),
),
SwitchWithSubtitle(
width: width*0.7,
title: 'Deficiência Intelectual / Cognitiva',
value: DEF_INTELECTUAL,
onChanged: !editing?null: (value)=>setState(()=> DEF_INTELECTUAL = value),
),
SwitchWithSubtitle(
width: width*0.7,
title: 'Deficiência Visual',
value: DEF_VISUAL,
onChanged: !editing?null: (value)=>setState(()=> DEF_VISUAL = value),
),
SwitchWithSubtitle(
width: width*0.7,
title: 'Deficiência Fisica',
value: DEF_FISICA,
onChanged: !editing?null: (value)=>setState(()=> DEF_FISICA = value),
),
SwitchWithSubtitle(
width: width*0.7,
title: 'Outras Deficiências',
value: DEF_OUTRAS,
onChanged: !editing?null: (value)=>setState(()=> DEF_OUTRAS = value),
),
DropdownWithSubtitle(
list: listExitCitizen,
widthSubtitle: width*0.2,
subtitle: 'Saída do Cidadão do Cadastro',
hintDropdown: 'Saída do Cidadão do Cadastro',
select: SAIDA_CADASTRO,
widthDropdown: width*0.65,
widthContainerDropdown: width*0.5,
onChanged: !editing?null: (value){
setState(()=> SAIDA_CADASTRO = value);
for (int i = 0; ConstVariable().listExitCitizen.length > i; i++) {
if (ConstVariable().listExitCitizen[i].title == SAIDA_CADASTRO) {
SAIDA_CADASTRO_COD = ConstVariable().listExitCitizen[i].cod;
}
}
},
colorBorder: ColorPalette.white,
onTapDelete: ()=>setState(()=>SAIDA_CADASTRO=null),
showDelete: true,
),
Container(
width: width*0.7,
child: TextDefault(
textAlign: TextAlign.start,
text: 'Data',
color: ColorPalette.black54,
fontSize: 12,
),
),
GestureDetector(
onTap:!edit?null: ()=>escolherprazoInicio(context,'data_saida'),
child: InputWithSubtitle(
controller: DATA_SAIDA_CADASTRO,
subtitle: 'Data',
mandatory: false,
errorInput: 'Campo Obrigatório!',
labelInput: 'Data',
widthInput: width*0.7,
widthSubtitle: width*0.2,
hintInput: 'Escreva aqui',
enabled: editing,
onChanged: (v)=>setState((){}),
),
),
SwitchWithSubtitle(
width: width*0.7,
title: 'Cadastro Recusado',
value: CADASTRO_RECUSADO,
onChanged: !editing?null: (value)=>setState(()=> CADASTRO_RECUSADO = value),
),
],
)
],
)
],
),
),
Card(
margin: EdgeInsets.all(10),
child: Column(
children: [
TitleContainers(title: 'Condições de Saúde em Geral'),
Row(
children: [
Container(
height: heigth*0.4,
width: width*0.2,
child: Icon(LineIcons.stethoscope,size: 80,),
),
Padding(
padding: const EdgeInsets.symmetric(horizontal: 0.0),
child: Column(
mainAxisAlignment: MainAxisAlignment.start,
mainAxisSize: MainAxisSize.min,
children: [
SwitchWithSubtitle(
width: width*0.7,
title: 'Gestante',
value: GESTANTE,
onChanged: !editing && widget.listData[0]['SEXO']!='F'?null: (value)=>setState(()=> GESTANTE = value),
),
InputWithSubtitle(
controller: MATERNIDADE_REFERENCIA,
subtitle: 'Maternidade Referência',
errorInput: 'Campo Obrigatório!',
labelInput: 'Maternidade Referência',
widthInput: width*0.7,
widthSubtitle: width*0.7,
hintInput: 'Escreva aqui',
enabled: GESTANTE,
mandatory: false,
onChanged: (v)=>setState((){}),
),
DropdownWithSubtitle(
list: listWeight,
widthSubtitle: width*0.2,
subtitle: 'Peso',
hintDropdown: 'Peso',
select: PESO,
widthDropdown: width*0.67,
widthContainerDropdown: width*0.3,
onChanged: !editing?null: (value){
setState(()=>PESO = value);
for (int i = 0; ConstVariable().listWeight.length > i; i++) {
if (ConstVariable().listWeight[i].title == PESO) {
PESO_COD = ConstVariable().listWeight[i].cod;
}
}
},
colorBorder: ColorPalette.white,
onTapDelete: ()=>setState(()=>PESO=null),
showDelete: true,
),
SwitchWithSubtitle(
width: width*0.7,
title: 'Fumante',
value: FUMANTE,
onChanged: !editing?null: (value)=>setState(()=>FUMANTE = value),
),
SwitchWithSubtitle(
width: width*0.7,
title: 'Usa Álcool',
value: USA_ALCOOL,
onChanged: !editing?null: (value)=>setState(()=>USA_ALCOOL = value),
),
SwitchWithSubtitle(
width: width*0.7,
title: 'Usa Drogas',
value: USA_DROGAS,
onChanged: !editing?null: (value)=>setState(()=>USA_DROGAS = value),
),
SwitchWithSubtitle(
width: width*0.7,
title: 'Hipertensão',
value: HIPERTENSAO,
onChanged: !editing?null: (value)=>setState(()=>HIPERTENSAO = value),
),
SwitchWithSubtitle(
width: width*0.7,
title: 'Diabetes',
value: DIABETES,
onChanged: !editing?null: (value)=>setState(()=>DIABETES = value),
),
SwitchWithSubtitle(
width: width*0.7,
title: 'Teve AVC/Derrame',
value: AVC_DERRAME,
onChanged: !editing?null: (value)=>setState(()=>AVC_DERRAME = value),
),
SwitchWithSubtitle(
width: width*0.7,
title: 'Teve Infarto',
value: INFARTO,
onChanged: !editing?null: (value)=>setState(()=>INFARTO = value),
),
SwitchWithSubtitle(
width: width*0.7,
title: 'Está com Hanseníase',
value: HANSENIASE,
onChanged: !editing?null: (value)=>setState(()=>HANSENIASE = value),
),
SwitchWithSubtitle(
width: width*0.7,
title: 'Está com Tuberculose',
value: TUBERCULOSE,
onChanged: !editing?null: (value)=>setState(()=>TUBERCULOSE = value),
),
SwitchWithSubtitle(
width: width*0.7,
title: 'Tem ou Teve Câncer',
value: CANCER,
onChanged: !editing?null: (value)=>setState(()=>CANCER = value),
),
SwitchWithSubtitle(
width: width*0.7,
title: 'Fibromialgia',
value: FIBROMIALGIA ,
onChanged: !editing?null: (value)=>setState(()=>FIBROMIALGIA = value),
),
SwitchWithSubtitle(
width: width*0.7,
title: 'Transtorno Espectro Autista',
value: TRANSTORNO_ESPECTRO_AUTISTA,
onChanged: !editing?null: (value)=>setState(()=>TRANSTORNO_ESPECTRO_AUTISTA = value),
),
SwitchWithSubtitle(
width: width*0.7,
title: 'Internação nos Últimos 12 Meses',
value: INTERNACAO,
onChanged: !editing?null: (value)=>setState(()=>INTERNACAO = value),
),
InputWithSubtitle(
controller: MOTIVO,
subtitle: 'Motivo',
errorInput: 'Campo Obrigatório!',
labelInput: 'Motivo',
widthInput: width*0.7,
widthSubtitle: width*0.7,
hintInput: 'Escreva aqui',
mandatory: false,
enabled: editing && INTERNACAO,
onChanged: (v)=>setState((){}),
),
DropdownWithSubtitle(
subtitle: 'Doença Cardíaca',
select: DOENCA_CARDIACA,
widthDropdown: width*0.69,
widthContainerDropdown: width*0.5,
widthSubtitle: width*0.3,
hintDropdown: 'Doença Cardíaca',
onChanged: !editing?null: (value){
setState(()=>DOENCA_CARDIACA = value);
for (int i = 0; ConstVariable().listHeart.length > i; i++) {
if (ConstVariable().listHeart[i].title == DOENCA_CARDIACA) {
DOENCA_CARDIACA_COD = ConstVariable().listHeart[i].cod;
}
}
},
list:listHeart
),
DropdownWithSubtitle(
subtitle: 'Tem ou Teve Problema nos Rins',
select: PROBLEMA_RINS,
widthDropdown: width*0.69,
widthContainerDropdown: width*0.5,
widthSubtitle: width*0.3,
hintDropdown: 'Tem ou Teve Problema nos Rins',
onChanged: !editing?null: (value){
setState(()=>PROBLEMA_RINS = value);
for (int i = 0; ConstVariable().listKidney.length > i; i++) {
if (ConstVariable().listKidney[i].title == PROBLEMA_RINS) {
PROBLEMA_RINS_COD = ConstVariable().listKidney[i].cod;
}
}
},
list:listKidney
),
DropdownWithSubtitle(
subtitle: 'Tem Doença Respiratória / Pulmão',
select: DOENCA_PULMAO,
widthDropdown: width*0.69,
widthContainerDropdown: width*0.5,
widthSubtitle: width*0.3,
hintDropdown: 'Tem Doença Respiratória / Pulmão',
onChanged: !editing?null: (value){
setState(()=>DOENCA_PULMAO = value);
for (int i = 0; ConstVariable().listLung.length > i; i++) {
if (ConstVariable().listLung[i].title == DOENCA_PULMAO) {
DOENCA_PULMAO_COD = ConstVariable().listLung[i].cod;
}
}
},
list: listLung
),
SwitchWithSubtitle(
width: width*0.7,
title: 'Saúde Mental - Tratamento ou Internação',
value: SAUDE_MENTAL,
onChanged: !editing?null: (value)=>setState(()=>SAUDE_MENTAL = value),
),
SwitchWithSubtitle(
width: width*0.7,
title: 'Acamado',
value: ACAMADO,
onChanged: !editing?null: (value)=>setState(()=>ACAMADO = value),
),
SwitchWithSubtitle(
width: width*0.7,
title: 'Domiciliado',
value: DOMICILIADO,
onChanged: !editing?null: (value)=>setState(()=>DOMICILIADO = value),
),
SwitchWithSubtitle(
width: width*0.7,
title: 'Plantas Medicinais',
value: PLANTAS_MED,
onChanged: !editing?null: (value)=>setState(()=>PLANTAS_MED = value),
),
InputWithSubtitle(
controller: PLANTAS_MED_QUAIS,
subtitle: 'Quais',
errorInput: 'Campo Obrigatório!',
labelInput: 'Quais',
widthInput: width*0.7,
widthSubtitle: width*0.7,
hintInput: 'Escreva aqui',
enabled: editing && PLANTAS_MED,
mandatory: PLANTAS_MED,
onChanged: (v)=>setState((){}),
),
SwitchWithSubtitle(
width: width*0.7,
title: 'PIC',
value: PIC,
onChanged: !editing?null: (value)=>setState(()=>PIC = value),
),
InputWithSubtitle(
controller: OUTRAS_CONDICOES,
subtitle: 'Outras Condições de Sáude',
errorInput: 'Campo Obrigatório!',
labelInput: 'Outras Condições de Sáude',
widthInput: width*0.7,
widthSubtitle: width*0.7,
hintInput: 'Escreva aqui',
enabled: editing,
mandatory: false,
onChanged: (v)=>setState((){}),
),
],
),
),
]
),
],
),
),
Card(
margin: EdgeInsets.all(10),
child: Column(
children: [
TitleContainers(title: 'Condição de Rua'),
Row(
children: [
Container(
height: heigth*0.4,
width: width*0.2,
child: Icon(LineIcons.horizontalEllipsis,size: 80,),
),
Padding(
padding: const EdgeInsets.symmetric(horizontal: 0.0),
child: Column(
mainAxisAlignment: MainAxisAlignment.start,
mainAxisSize: MainAxisSize.min,
children: [
DropdownWithSubtitle(
subtitle: 'Tempo em Situação de Rua',
select: TEMPO_SITUACAO_RUA,
widthDropdown: width*0.69,
widthContainerDropdown: width*0.5,
widthSubtitle: width*0.3,
hintDropdown: 'Tempo em Situação de Rua',
onChanged: !editing?null: (value){
setState(()=>TEMPO_SITUACAO_RUA = value);
for (int i = 0; ConstVariable().listCondStreet.length > i; i++) {
if (ConstVariable().listCondStreet[i].title ==TEMPO_SITUACAO_RUA) {
TEMPO_SITUACAO_RUA_COD = ConstVariable().listCondStreet[i].cod;
}
}
},
list: listCondStreet
),
TEMPO_SITUACAO_RUA==null&& mandatory?ErrorDefault():Container(),
SwitchWithSubtitle(
width: width*0.7,
title: 'Acompanhado por Outra Instituição',
value: ACOMP_INTITUICAO,
onChanged: !editing || TEMPO_SITUACAO_RUA == 'NÃO ESTÁ EM SITUAÇÃO DE RUA'?null: (value)=>setState(()=>ACOMP_INTITUICAO = value),
),
InputWithSubtitle(
controller: ACOMP_INTITUICAO_QUAL,
subtitle: 'Qual(is)',
errorInput: 'Campo Obrigatório!',
labelInput: 'Qual(is)',
widthInput: width*0.7,
widthSubtitle: width*0.7,
hintInput: 'Escreva aqui',
enabled: editing && ACOMP_INTITUICAO,
mandatory: false,
onChanged: (v)=>setState((){}),
),
SwitchWithSubtitle(
width: width*0.7,
title: 'Recebe Algum Benefício',
value: BENEFICIO,
onChanged: !editing|| TEMPO_SITUACAO_RUA == 'NÃO ESTÁ EM SITUAÇÃO DE RUA'?null: (value)=>setState(()=>BENEFICIO = value),
),
SwitchWithSubtitle(
width: width*0.7,
title: 'Possui Referência Familiar',
value: REF_FAMILIAR,
onChanged: !editing|| TEMPO_SITUACAO_RUA == 'NÃO ESTÁ EM SITUAÇÃO DE RUA'?null: (value)=>setState(()=>REF_FAMILIAR = value),
),
SwitchWithSubtitle(
width: width*0.7,
title: 'Visita Algum Familiar com Frequência',
value: VISITA_FREQUENCIA,
onChanged: !editing|| TEMPO_SITUACAO_RUA == 'NÃO ESTÁ EM SITUAÇÃO DE RUA'?null: (value)=>setState(()=>VISITA_FREQUENCIA = value),
),
InputWithSubtitle(
controller: PARENTESCO_VISITA,
subtitle: 'Parentesco com o Responsável Familiar',
errorInput: 'Campo Obrigatório!',
labelInput: 'Parentesco com o Responsável Familiar',
widthInput: width*0.7,
widthSubtitle: width*0.7,
hintInput: 'Escreva aqui',
enabled: editing && VISITA_FREQUENCIA,
mandatory: false,
onChanged: (v)=>setState((){}),
),
DropdownWithSubtitle(
subtitle: 'Alimentação Diária',
select: ALIMENTACAO_DIARIA,
widthDropdown: width*0.69,
widthContainerDropdown: width*0.5,
widthSubtitle: width*0.3,
hintDropdown: 'Alimentação Diária',
onChanged: !editing|| TEMPO_SITUACAO_RUA == 'NÃO ESTÁ EM SITUAÇÃO DE RUA'?null: (value){
setState(()=>ALIMENTACAO_DIARIA = value);
for (int i = 0; ConstVariable().listDailyFood.length > i; i++) {
if (ConstVariable().listDailyFood[i].title == ALIMENTACAO_DIARIA) {
ALIMENTACAO_DIARIA_COD = ConstVariable().listDailyFood[i].cod;
}
}
},
list: listDailyFood
),
SwitchWithSubtitle(
width: width*0.7,
title: 'Restaurante Popular',
value: REST_POPULAR,
onChanged: !editing|| TEMPO_SITUACAO_RUA == 'NÃO ESTÁ EM SITUAÇÃO DE RUA'?null: (value)=>setState(()=>REST_POPULAR = value),
),
SwitchWithSubtitle(
width: width*0.7,
title: 'Doação Restaurante',
value: DOACAO_REST,
onChanged: !editing|| TEMPO_SITUACAO_RUA == 'NÃO ESTÁ EM SITUAÇÃO DE RUA'?null: (value)=>setState(()=>DOACAO_REST = value),
),
SwitchWithSubtitle(
width: width*0.7,
title: 'Doação Grupo Religioso',
value: DOACAO_RELIGIOSO,
onChanged: !editing|| TEMPO_SITUACAO_RUA == 'NÃO ESTÁ EM SITUAÇÃO DE RUA'?null: (value)=>setState(()=>DOACAO_RELIGIOSO = value),
),
SwitchWithSubtitle(
width: width*0.7,
title: 'Doação Popular',
value: DOACAO_POPULAR,
onChanged: !editing|| TEMPO_SITUACAO_RUA == 'NÃO ESTÁ EM SITUAÇÃO DE RUA'?null: (value)=>setState(()=>DOACAO_POPULAR = value),
),
SwitchWithSubtitle(
width: width*0.7,
title: 'Outros',
value: OUTROS_ALIM,
onChanged: !editing|| TEMPO_SITUACAO_RUA == 'NÃO ESTÁ EM SITUAÇÃO DE RUA'?null: (value)=>setState(()=>OUTROS_ALIM = value),
),
SwitchWithSubtitle(
width: width*0.7,
title: 'Acesso a Higiene Pessoal',
value: ACESSO_HIGIENE,
onChanged: !editing|| TEMPO_SITUACAO_RUA == 'NÃO ESTÁ EM SITUAÇÃO DE RUA'?null: (value)=>setState(()=>ACESSO_HIGIENE = value),
),
SwitchWithSubtitle(
width: width*0.7,
title: 'Banho',
value: BANHO,
onChanged: !editing|| TEMPO_SITUACAO_RUA == 'NÃO ESTÁ EM SITUAÇÃO DE RUA'?null: (value)=>setState(()=>BANHO = value),
),
SwitchWithSubtitle(
width: width*0.7,
title: 'Sanitário',
value: SANITARIO,
onChanged: !editing|| TEMPO_SITUACAO_RUA == 'NÃO ESTÁ EM SITUAÇÃO DE RUA'?null: (value)=>setState(()=>SANITARIO = value),
),
SwitchWithSubtitle(
width: width*0.7,
title: 'Higiene Bucal',
value: HIGIENE_BUCAL,
onChanged: !editing|| TEMPO_SITUACAO_RUA == 'NÃO ESTÁ EM SITUAÇÃO DE RUA'?null: (value)=>setState(()=>HIGIENE_BUCAL = value),
),
SwitchWithSubtitle(
width: width*0.7,
title: 'Outros',
value: OUTROS_HIGIENE,
onChanged: !editing|| TEMPO_SITUACAO_RUA == 'NÃO ESTÁ EM SITUAÇÃO DE RUA'?null: (value)=>setState(()=>OUTROS_HIGIENE = value),
),
],
),
),
]
),
],
),
),
Card(
margin: EdgeInsets.all(10),
child: Column(
children: [
TitleContainers(title: 'Profissional Responsável'),
Row(
children: [
Container(
height: heigth*0.4,
width: width*0.2,
child: Icon(Icons.business_center,size: 80,),
),
Padding(
padding: const EdgeInsets.symmetric(horizontal: 0.0),
child: Column(
mainAxisAlignment: MainAxisAlignment.start,
mainAxisSize: MainAxisSize.min,
children: [
InputWithSubtitle(
controller: USUARIO_RESP_CADASTRO,
subtitle: 'Usuário responsável Pelo Cadastro',
errorInput: 'Campo Obrigatório!',
labelInput: 'Usuário responsável Pelo Cadastro',
widthInput: width*0.7,
widthSubtitle: width*0.7,
hintInput: 'Escreva aqui',
enabled: false,
onChanged: (v)=>setState((){}),
),
InputWithSubtitle(
enabled: false,
controller: CNES_RESP_CADASTRO,
subtitle: 'Unidade do Profissional',
errorInput: 'Campo Obrigatório!',
labelInput: 'Unidade do Profissional',
widthInput: width*0.7,
widthSubtitle: width*0.7,
hintInput: 'Escreva aqui',
onChanged: (v)=>setState((){}),
),
DropdownWithSubtitle(
subtitle: 'CBO',
select: CBO_RESP_CADASTRO,
widthDropdown: width*0.69,
widthContainerDropdown: width*0.5,
widthSubtitle: width*0.3,
hintDropdown: 'CBO',
onChanged: !editing?null: (value)=>setState(()=>CBO_RESP_CADASTRO = value),
list: listCBO
),
CBO_RESP_CADASTRO==null&& mandatory?ErrorDefault():Container(),
DropdownWithSubtitle(
subtitle: 'Código da Equipe',
select: INE_RESP_CADASTRO,
widthDropdown: width*0.69,
widthContainerDropdown: width*0.5,
widthSubtitle: width*0.3,
hintDropdown: 'Código da Equipe',
onChanged: !editing?null: (value)=>setState(()=>INE_RESP_CADASTRO = value),
list: listINEPROF
),
Container(
width: width*0.7,
child: TextDefault(
textAlign: TextAlign.start,
text: 'Data do Cadastro',
color: ColorPalette.black54,
fontSize: 12,
),
),
GestureDetector(
onTap:!edit?null: ()=>escolherprazoInicio(context,'cadastro'),
child: InputWithSubtitle(
controller: DT_CADASTRO,
subtitle: 'Data do Cadastro',
errorInput: 'Campo Obrigatório!',
labelInput: 'Data do Cadastro',
widthInput: width*0.7,
widthSubtitle: width*0.7,
hintInput: 'Escreva aqui',
enabled: false,
mandatory: mandatory,
onChanged: (v)=>setState((){}),
),
),
DT_CADASTRO.text.isEmpty&& mandatory?ErrorDefault():Container(),
],
),
),
]
),
],
),
),
CNS_VALIDO?Card(
margin: EdgeInsets.all(10),
child: Container(
padding: const EdgeInsets.all(8.0),
width: width,
height: heigth*0.1,
child: Row(
children: [
Icon(Icons.warning,color: ColorPalette.red,),
Container(
width: width*0.9,
child: TextDefault(
text: 'CNS do Profissional inválido. Este cadastro não será exportado para o e-SUS.',
fontSize: 15,
maxLines: 2,
color: ColorPalette.red,
),
),
],
),
),
):Container()
]
)
),
),
);
}
}