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];
        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']} - Microárea : ${dataCitizen[0]['MICROAREA']}';
          INE_RESP_CADASTRO = 'INE: ${dataCitizen[0]['INE']} / Área: ${dataCitizen[0]['AREA']} - 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']} - Microárea : ${list[i]['MICROAREA']}';
            INE_RESP_CADASTRO = 'INE: ${list[i]['INE']} / Área: ${list[i]['AREA']} - 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'];
          INE_DB = list[i]['INE'];
          String ine = 'INE: ${list[i]['INE']} / Área: ${list[i]['AREA']} - Microárea : ${list[i]['MICROAREA']}';
          INE_RESP_CADASTRO = 'INE: ${list[i]['INE']} / Área: ${list[i]['AREA']} - 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']} - 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: ()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()
            ]
         )
        ),
      ),
    );
  }
}
