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/service/db/db_querys.dart';
import 'package:rkm/widgets/button_default.dart';
import 'package:rkm/widgets/title_containers.dart';
import '../../widgets/appbar_default.dart';
import '../../widgets/check_box_two_subtitle.dart';
import '../../widgets/dropdown_with_subtitle.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;
  RegisterIndividualScreen({required this.listData});

  @override
  State<RegisterIndividualScreen> createState() => _RegisterIndividualScreenState();
}

class _RegisterIndividualScreenState extends State<RegisterIndividualScreen> {

  List dataCitizen = [];
  List<String> 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 = false;
  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;

  String? INE;
  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;

  var NOME_RESPONSAVEL_FAMILIAR = TextEditingController();
  var NATURALIDADE = TextEditingController();
  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 ID_RESP_CADASTRO = TextEditingController();
  var CNES_RESP_CADASTRO = TextEditingController();
  var DT_CADASTRO = TextEditingController();

  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{
    String CD_USUARIO_SUS = widget.listData[0]['CD_USUARIO_SUS'];
    // print(CD_USUARIO_SUS);
    dataCitizen = await DBQuerys().buscaCadInvidualCitizen(CD_USUARIO_SUS);
    print(dataCitizen);
    if(dataCitizen==[])return
    FORA_AREA = dataCitizen[0]['FORA_AREA']==1?true:false;
    STATUS_CADASTRO = dataCitizen[0]['STATUS_CADASTRO']==null?false:dataCitizen[0]['STATUS_CADASTRO']==1?true:false;
    RESPONSAVEL_FAMILIAR = dataCitizen[0]['RESPONSAVEL_FAMILIAR']==1?true:false;
    INE = 'INE: ${dataCitizen[0]['INE']} / Área : ${dataCitizen[0]['ID_AREA_CIDADAO']} - Microárea : ${dataCitizen[0]['ID_MICROAREA_CIDADAO']}';
    listINE.add(INE!);
    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']??'';
    for(int i = 0; ConstVariable().listKin.length > i; i++){
      if(ConstVariable().listKin[i].cod == dataCitizen[0]['PARENTESCO']){
        PARENTESCO = ConstVariable().listKin[i].title;
      }
    }
    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;
    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']??'';
    for(int i = 0; ConstVariable().listGenderInd.length > i; i++){
      if(ConstVariable().listGenderInd[i].cod == dataCitizen[0]['ORIENT_SEXUAL']){
        ORIENT_SEXUAL = ConstVariable().listGenderInd[i].title;
      }
    }
    for(int i = 0; ConstVariable().listGenderIdent.length > i; i++){
      if(ConstVariable().listGenderIdent[i].cod == dataCitizen[0]['IDENTIDADE_GENERO']){
        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;
    for(int i = 0; ConstVariable().listExitCitizen.length > i; i++){
      if(ConstVariable().listExitCitizen[i].cod == dataCitizen[0]['SAIDA_CADASTRO']){
        SAIDA_CADASTRO = ConstVariable().listExitCitizen[i].title;
      }
    }
    DATA_SAIDA_CADASTRO.text = dataCitizen[0]['DATA_SAIDA_CADASTRO']==null?'':dataCitizen[0]['DATA_SAIDA_CADASTRO'];
    CADASTRO_RECUSADO = dataCitizen[0]['CADASTRO_RECUSADO']==1?true:false;
    GESTANTE = dataCitizen[0]['GESTANTE']==1?true:false;
    MATERNIDADE_REFERENCIA.text = dataCitizen[0]['MATERNIDADE_REFERENCIA']??'';
    for(int i = 0; ConstVariable().listWeight.length > i; i++){
      if(ConstVariable().listWeight[i].cod == int.parse(dataCitizen[0]['PESO']??'0')){
        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']??'';
    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;
      }
    }
    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;
      }
    }
    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']??'';
    for(int i = 0; ConstVariable().listCondStreet.length > i; i++){
      if(ConstVariable().listCondStreet[i].cod == dataCitizen[0]['TEMPO_SITUACAO_RUA']){
        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']??'';
    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;
    ID_RESP_CADASTRO.text = dataCitizen[0]['ID_RESP_CADASTRO'].toString();
    CNES_RESP_CADASTRO.text = dataCitizen[0]['CNES_RESP_CADASTRO'].toString();
    listCBO.add(dataCitizen[0]['CBO_RESP_CADASTRO'].toString());
    listINEPROF.add(dataCitizen[0]['INE_RESP_CADASTRO'].toString());
    CBO_RESP_CADASTRO = dataCitizen[0]['CBO_RESP_CADASTRO'].toString();
    INE_RESP_CADASTRO = dataCitizen[0]['INE_RESP_CADASTRO'].toString();
    List splitted = dataCitizen[0]['DT_CADASTRO'].toString().split('-');
    DT_CADASTRO.text = '${splitted[2]}/${splitted[1]}/${splitted[0]}';
    setState(() {});
  }

  @override
  void initState() {
    super.initState();
    loadLists();
  }

  @override
  Widget build(BuildContext context) {

    double heigth = MediaQuery.of(context).size.height;
    double width = MediaQuery.of(context).size.width;

    return WillPopScope(
      onWillPop: ()=> OnBackButton().onBackButton(context),
      child: Scaffold(
        appBar: AppBarDefault().appbar(context, 'RKM AB - Cadastro Individual'),
        body: Container(
          height: double.infinity,
          width: double.infinity,
          decoration: ConstVariable().backgroundGradient,
          child: ListView(
            children: [
              SubtitleAppbarCitizen(title: 2,edit: true,listData: widget.listData),
              Card(
                margin: EdgeInsets.all(10),
                child: Padding(
                  padding: const EdgeInsets.all(8.0),
                  child: Column(
                    children: [
                      ButtonDefault(
                        onPressed: (){},
                        title: 'Alterar',
                        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,
                      )
                    ],
                  ),
                ),
              ),
              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: [
                            DropdownWithSubtitle(
                              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: (value)=>setState(()=>INE = value),
                            ),
                            SwitchWithSubtitle(
                              width: width*0.7,
                              title: 'Fora de área',
                              value: FORA_AREA,
                              onChanged: (value)=>setState(()=>FORA_AREA = value),
                            ),
                            SwitchWithSubtitle(
                              width: width*0.7,
                              title: 'Status Cadastro',
                              value: STATUS_CADASTRO,
                              onChanged: (value)=>setState(()=>STATUS_CADASTRO = value),
                            ),
                            SwitchWithSubtitle(
                              width: width*0.7,
                              title: 'Responsável Familiar',
                              value: RESPONSAVEL_FAMILIAR,
                              onChanged: (value)=>setState(()=>RESPONSAVEL_FAMILIAR = value),
                            ),
                            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,
                              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: (value)=>setState(()=>PARENTESCO = value),
                            ),
                            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,
                              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,
                              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,
                              onChanged: (v)=>setState((){}),
                            ),
                            DropdownWithSubtitle(
                              list:listScoolingRegisterInd,
                              widthSubtitle: width*0.4,
                              subtitle: 'Escolaridade',
                              hintDropdown: 'Escolaridade',
                              select: ESCOLARIDADE,
                              widthDropdown:  width*0.69,
                              widthContainerDropdown:  width*0.65,
                              onChanged: (value)=>setState(()=>ESCOLARIDADE = value),
                            ),
                            SwitchWithSubtitle(
                              width: width*0.7,
                              title: 'Frequenta Escola / Creche',
                              value: FREQ_ESCOLA_CRECHE,
                              onChanged: (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: (value)=>setState(()=>SITUACAO_MERCADO = value),
                            ),
                            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: (value)=>setState(()=>CRIANCAS_ADULTO=value),
                              onChanged2:  (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:  (value)=>setState(()=>CRIANCAS_OUTRAS_CRIANCAS=value),
                              onChanged2:  (value)=>setState(()=>CRIANCAS_CRECHE=value),
                            ),
                            CheckBoxTwoSubtitle(
                              width: width*0.7,
                              checkbox1: CRIANCAS_ADOLESCENTE,
                              checkbox2: CRIANCAS_OUTRO,
                              subtitle1: 'ADOLESCENTE',
                              subtitle2: 'OUTRO',
                              onChanged1:  (value)=>setState(()=>CRIANCAS_ADOLESCENTE=value),
                              onChanged2:  (value)=>setState(()=>CRIANCAS_OUTRO=value),
                            ),
                            SwitchWithSubtitle(
                              width: width*0.7,
                              title: 'Frequenta Cuidador Tradicional',
                              value: CUIDADOR_TRADICIONAL,
                              onChanged:  (value)=>setState(()=> CUIDADOR_TRADICIONAL = value),
                            ),
                            SwitchWithSubtitle(
                              width: width*0.7,
                              title: 'Participa de Grupo Comunitário',
                              value: GRUPO_COMUNITARIO,
                              onChanged:  (value)=>setState(()=> GRUPO_COMUNITARIO = value),
                            ),
                            SwitchWithSubtitle(
                              width: width*0.7,
                              title: 'Possui Plano de Saúde Privado',
                              value: PLANO_PRIVADO,
                              onChanged:  (value)=>setState(()=> PLANO_PRIVADO = value),
                            ),
                            SwitchWithSubtitle(
                              width: width*0.7,
                              title: 'Membro de Comunidade Tradicional',
                              value: COMUNIDADE_TRADICIONAL,
                              onChanged:  (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: true,
                              mandatory: false,
                              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: (value){
                                setState(() {
                                  ORIENT_SEXUAL = value!;
                                });
                              },
                              colorBorder: ColorPalette.white,
                            ),
                            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: (value){
                                setState(() {
                                  IDENTIDADE_GENERO = value!;
                                });
                              },
                              colorBorder: ColorPalette.white,
                            ),
                            SwitchWithSubtitle(
                              width: width*0.7,
                              title: 'Deficiência Auditiva',
                              value: DEF_AUDITIVA,
                              onChanged:  (value)=>setState(()=> DEF_AUDITIVA = value),
                            ),
                            SwitchWithSubtitle(
                              width: width*0.7,
                              title: 'Deficiência Intelectual / Cognitiva',
                              value: DEF_INTELECTUAL,
                              onChanged:  (value)=>setState(()=> DEF_INTELECTUAL = value),
                            ),
                            SwitchWithSubtitle(
                              width: width*0.7,
                              title: 'Deficiência Visual',
                              value: DEF_VISUAL,
                              onChanged:  (value)=>setState(()=> DEF_VISUAL = value),
                            ),
                            SwitchWithSubtitle(
                              width: width*0.7,
                              title: 'Deficiência Fisica',
                              value: DEF_FISICA,
                              onChanged:  (value)=>setState(()=> DEF_FISICA = value),
                            ),
                            SwitchWithSubtitle(
                              width: width*0.7,
                              title: 'Outras Deficiências',
                              value: DEF_OUTRAS,
                              onChanged:  (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.7,
                              widthContainerDropdown:  width*0.5,
                              onChanged:  (value)=>setState(()=> SAIDA_CADASTRO = value),
                              colorBorder: ColorPalette.white,
                            ),
                            InputWithSubtitle(
                              controller: DATA_SAIDA_CADASTRO,
                              subtitle: 'Data',
                              errorInput: 'Campo Obrigatório',
                              labelInput: 'Data',
                              widthInput: width*0.7,
                              widthSubtitle: width*0.2,
                              hintInput: 'Escreva aqui',
                              enabled: false,
                              onChanged: (v)=>setState((){}),
                            ),
                            SwitchWithSubtitle(
                              width: width*0.7,
                              title: 'Cadastro Recusado',
                              value: CADASTRO_RECUSADO,
                              onChanged:  (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:  (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: 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: (value)=>setState(()=>PESO = value),
                                colorBorder: ColorPalette.white,
                              ),
                              SwitchWithSubtitle(
                                width: width*0.7,
                                title: 'Fumante',
                                value: FUMANTE,
                                onChanged: (value)=>setState(()=>FUMANTE = value),
                              ),
                              SwitchWithSubtitle(
                                width: width*0.7,
                                title: 'Usa Álcool',
                                value: USA_ALCOOL,
                                onChanged: (value)=>setState(()=>USA_ALCOOL = value),
                              ),
                              SwitchWithSubtitle(
                                width: width*0.7,
                                title: 'Usa Drogas',
                                value: USA_DROGAS,
                                onChanged: (value)=>setState(()=>USA_DROGAS = value),
                              ),
                              SwitchWithSubtitle(
                                width: width*0.7,
                                title: 'Hipertensão',
                                value: HIPERTENSAO,
                                onChanged: (value)=>setState(()=>HIPERTENSAO = value),
                              ),
                              SwitchWithSubtitle(
                                width: width*0.7,
                                title: 'Diabetes',
                                value: DIABETES,
                                onChanged: (value)=>setState(()=>DIABETES = value),
                              ),
                              SwitchWithSubtitle(
                                width: width*0.7,
                                title: 'Teve AVC/Derrame',
                                value: AVC_DERRAME,
                                onChanged: (value)=>setState(()=>AVC_DERRAME = value),
                              ),
                              SwitchWithSubtitle(
                                width: width*0.7,
                                title: 'Teve Infarto',
                                value: INFARTO,
                                onChanged: (value)=>setState(()=>INFARTO = value),
                              ),
                              SwitchWithSubtitle(
                                width: width*0.7,
                                title: 'Está com Hanseníase',
                                value: HANSENIASE,
                                onChanged: (value)=>setState(()=>HANSENIASE = value),
                              ),
                              SwitchWithSubtitle(
                                width: width*0.7,
                                title: 'Está com Tuberculose',
                                value: TUBERCULOSE,
                                onChanged: (value)=>setState(()=>TUBERCULOSE = value),
                              ),
                              SwitchWithSubtitle(
                                width: width*0.7,
                                title: 'Tem ou Teve Câncer',
                                value: CANCER,
                                onChanged: (value)=>setState(()=>CANCER = value),
                              ),
                              SwitchWithSubtitle(
                                width: width*0.7,
                                title: 'Internação nos Últimos 12 Meses',
                                value: INTERNACAO,
                                onChanged: (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',
                                enabled: false,
                                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: (value)=>setState(()=>DOENCA_CARDIACA = value),
                                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: (value)=>setState(()=>PROBLEMA_RINS = value),
                                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: (value)=>setState(()=>DOENCA_PULMAO = value),
                                list: listLung
                              ),
                              SwitchWithSubtitle(
                                width: width*0.7,
                                title: 'Saúde Mental - Tratamento ou Internação',
                                value: SAUDE_MENTAL,
                                onChanged: (value)=>setState(()=>SAUDE_MENTAL = value),
                              ),
                              SwitchWithSubtitle(
                                width: width*0.7,
                                title: 'Acamado',
                                value: ACAMADO,
                                onChanged: (value)=>setState(()=>ACAMADO = value),
                              ),
                              SwitchWithSubtitle(
                                width: width*0.7,
                                title: 'Domiciliado',
                                value: DOMICILIADO,
                                onChanged: (value)=>setState(()=>DOMICILIADO = value),
                              ),
                              SwitchWithSubtitle(
                                width: width*0.7,
                                title: 'Plantas Medicinais',
                                value: PLANTAS_MED,
                                onChanged: (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: false,
                                onChanged: (v)=>setState((){}),
                              ),
                              SwitchWithSubtitle(
                                width: width*0.7,
                                title: 'PIC',
                                value: PIC,
                                onChanged: (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: 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: (value)=>setState(()=>TEMPO_SITUACAO_RUA = value),
                                    list: listCondStreet
                                ),
                                SwitchWithSubtitle(
                                  width: width*0.7,
                                  title: 'Acompanhado por Outra Instituição',
                                  value: ACOMP_INTITUICAO,
                                  onChanged: (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: false,
                                  onChanged: (v)=>setState((){}),
                                ),
                                SwitchWithSubtitle(
                                  width: width*0.7,
                                  title: 'Recebe Algum Benefício',
                                  value: BENEFICIO,
                                  onChanged: (value)=>setState(()=>BENEFICIO = value),
                                ),
                                SwitchWithSubtitle(
                                  width: width*0.7,
                                  title: 'Possui Referência Familiar',
                                  value: REF_FAMILIAR,
                                  onChanged: (value)=>setState(()=>REF_FAMILIAR = value),
                                ),
                                SwitchWithSubtitle(
                                  width: width*0.7,
                                  title: 'Visita Algum Familiar com Frequência',
                                  value: VISITA_FREQUENCIA,
                                  onChanged: (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: 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: (value)=>setState(()=>ALIMENTACAO_DIARIA = value),
                                    list: listDailyFood
                                ),
                                SwitchWithSubtitle(
                                  width: width*0.7,
                                  title: 'Restaurante Popular',
                                  value: REST_POPULAR,
                                  onChanged: (value)=>setState(()=>REST_POPULAR = value),
                                ),
                                SwitchWithSubtitle(
                                  width: width*0.7,
                                  title: 'Doação Restaurante',
                                  value: DOACAO_REST,
                                  onChanged: (value)=>setState(()=>DOACAO_REST = value),
                                ),
                                SwitchWithSubtitle(
                                  width: width*0.7,
                                  title: 'Doação Grupo Religioso',
                                  value: DOACAO_RELIGIOSO,
                                  onChanged: (value)=>setState(()=>DOACAO_RELIGIOSO = value),
                                ),
                                SwitchWithSubtitle(
                                  width: width*0.7,
                                  title: 'Doação Popular',
                                  value: DOACAO_POPULAR,
                                  onChanged: (value)=>setState(()=>DOACAO_POPULAR = value),
                                ),
                                SwitchWithSubtitle(
                                  width: width*0.7,
                                  title: 'Outros',
                                  value: OUTROS_ALIM,
                                  onChanged: (value)=>setState(()=>OUTROS_ALIM = value),
                                ),
                                SwitchWithSubtitle(
                                  width: width*0.7,
                                  title: 'Acesso a Higiene Pessoal',
                                  value: ACESSO_HIGIENE,
                                  onChanged: (value)=>setState(()=>ACESSO_HIGIENE = value),
                                ),
                                SwitchWithSubtitle(
                                  width: width*0.7,
                                  title: 'Banho',
                                  value: BANHO,
                                  onChanged: (value)=>setState(()=>BANHO = value),
                                ),
                                SwitchWithSubtitle(
                                  width: width*0.7,
                                  title: 'Sanitário',
                                  value: SANITARIO,
                                  onChanged: (value)=>setState(()=>SANITARIO = value),
                                ),
                                SwitchWithSubtitle(
                                  width: width*0.7,
                                  title: 'Higiene Bucal',
                                  value: HIGIENE_BUCAL,
                                  onChanged: (value)=>setState(()=>HIGIENE_BUCAL = value),
                                ),
                                SwitchWithSubtitle(
                                  width: width*0.7,
                                  title: 'Outros',
                                  value: OUTROS_HIGIENE,
                                  onChanged: (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: ID_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: (value)=>setState(()=>CBO_RESP_CADASTRO = value),
                                    list: listCBO
                                ),
                                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: (value)=>setState(()=>INE_RESP_CADASTRO = value),
                                    list: listINEPROF
                                ),
                                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,
                                  onChanged: (v)=>setState((){}),
                                ),
                              ],
                            ),
                          ),
                        ]
                    ),
                  ],
                ),
              ),
            ]
         )
        ),
      ),
    );
  }
}
