diff --git a/lib/config/const_variable.dart b/lib/config/const_variable.dart index de681c6..1acfd26 100644 --- a/lib/config/const_variable.dart +++ b/lib/config/const_variable.dart @@ -206,7 +206,7 @@ class ConstVariable{ List listGenderIdent = [ DropDownDataModel(cod: 1, title: 'NÃO DESEJA INFORMAR'), - DropDownDataModel(cod: 2, title: 'HOMEM TRANSEXUA'), + DropDownDataModel(cod: 2, title: 'HOMEM TRANSEXUAL'), DropDownDataModel(cod: 3, title: 'MULHER TRANSEXUAL'), DropDownDataModel(cod: 4, title: 'TRAVESTI'), DropDownDataModel(cod: 5, title: 'OUTRO'), diff --git a/lib/screens/configurations/sinc_data_screen.dart b/lib/screens/configurations/sinc_data_screen.dart index e9b3d1f..09ec3b3 100644 --- a/lib/screens/configurations/sinc_data_screen.dart +++ b/lib/screens/configurations/sinc_data_screen.dart @@ -227,7 +227,7 @@ class _SincDataScreenState extends State { 'avaliacao_elegibilidade': tableAVALIACOES_ELEGIBILIDADE, }; await ApiDataPost().sincronizacao(urlAPI, mode, nameCityApi,map).then((response)async{ - if(response['status']!=1){ + if(response=='error'){ setState(() { error = true; message = 'error'; diff --git a/lib/screens/edit_procedures_screen.dart b/lib/screens/edit_procedures_screen.dart index f71f27f..02480a4 100644 --- a/lib/screens/edit_procedures_screen.dart +++ b/lib/screens/edit_procedures_screen.dart @@ -53,7 +53,7 @@ class _EditProceduresScreenState extends State { double height = MediaQuery.of(context).size.height; return WillPopScope( - onWillPop: ()=> OnBackButton().onBackButton(context), + onWillPop: ()async => await OnBackButton().onBackButton(context), child: Scaffold( appBar: AppBarDefault().appbar(context, 'RKM AB - Procedimentos Consolidados'), body: Container( diff --git a/lib/screens/registers_citizen/register_citizen_screen.dart b/lib/screens/registers_citizen/register_citizen_screen.dart index e1775d6..48f0611 100644 --- a/lib/screens/registers_citizen/register_citizen_screen.dart +++ b/lib/screens/registers_citizen/register_citizen_screen.dart @@ -142,6 +142,7 @@ class _RegisterCitizenScreenState extends State { String codSus = ''; bool edit = false; bool editing = false; + bool mandatory = false; int idCidadao = 0; escolherprazoInicio(BuildContext context,String type) async { @@ -353,9 +354,13 @@ class _RegisterCitizenScreenState extends State { print('erro'); setState(() { showCheckError = true; + mandatory = true; }); }else{ print('passou'); + setState(() { + mandatory = false; + }); if(widget.listData.length==0){ codSus = MainControllers().gerarCDUsuarioSus(); }else{ @@ -585,8 +590,10 @@ class _RegisterCitizenScreenState extends State { codIBGEController.text = listCity[0]['CODIGO_IBGE']; selectVillage = widget.listData[0]['NO_BAIRRO_LOGR']; idTipo = widget.listData[0]['ID_LOGR_TIPO']; - streetDB.add(widget.listData[0]['NOME_LOGR']); - selectStreet = widget.listData[0]['NOME_LOGR']; + if(widget.listData[0]['NOME_LOGR']!=null){ + streetDB.add(widget.listData[0]['NOME_LOGR']); + selectStreet = widget.listData[0]['NOME_LOGR']; + } List listTypeStreet = await DBQuerys().buscaTipoLogradouroPorId(idTipo); selectTypeStreet = listTypeStreet[0]['NO_LOGR_TIPO']; cepController.text = widget.listData[0]['CEP_LOGR'].toString()=='null'?'': widget.listData[0]['CEP_LOGR'].toString(); @@ -676,7 +683,7 @@ class _RegisterCitizenScreenState extends State { double width = MediaQuery.of(context).size.width; return WillPopScope( - onWillPop: ()=> OnBackButton().onBackButton(context), + onWillPop: () async => await OnBackButton().onBackButton(context), child: Scaffold( appBar: AppBarDefault().appbar(context, 'RKM AB - Cadastro Cidadão'), body: Container( @@ -756,12 +763,13 @@ class _RegisterCitizenScreenState extends State { InputWithSubtitle( controller: nameController, subtitle: 'Nome', - errorInput: nameController.text.isNotEmpty?'':'Campo Obrigatório', + errorInput: 'Campo Obrigatório', labelInput: 'Nome', widthInput: width*0.7, widthSubtitle: width*0.7, hintInput: 'Escreva aqui', enabled: !edit, + mandatory: mandatory, onChanged: (v)=>setState((){}), ), InputWithSubtitle( @@ -790,7 +798,7 @@ class _RegisterCitizenScreenState extends State { }); }, ), - selectGender==null?ErrorDefault():Container(), + selectGender==null && mandatory?ErrorDefault():Container(), Container( width: width*0.75, child: Row( @@ -803,7 +811,7 @@ class _RegisterCitizenScreenState extends State { margin: EdgeInsets.symmetric(horizontal: 15,vertical: 5), padding: EdgeInsets.symmetric(horizontal: 8,vertical: 10), decoration: BoxDecoration( - border: Border.all(color: ColorPalette.black54), + border: Border.all(color: ColorPalette.white), borderRadius: BorderRadius.all( Radius.circular(5.0) ), @@ -819,7 +827,7 @@ class _RegisterCitizenScreenState extends State { ], ), ), - date == 'Data de Nascimento'?ErrorDefault():Container(), + date == 'Data de Nascimento'&& mandatory?ErrorDefault():Container(), DropdownWithSubtitle( list: listMaritalStatus, subtitle: 'Estado Civil', @@ -881,7 +889,7 @@ class _RegisterCitizenScreenState extends State { }); }, ), - selectNaturality==null?ErrorDefault():Container(), + selectNaturality==null&& mandatory?ErrorDefault():Container(), GestureDetector( onTap: cityBirthController.text == 'MUNICIPIO IGNORADO - SP' || edit?null:(){ searchCityController.text = ''; @@ -894,7 +902,6 @@ class _RegisterCitizenScreenState extends State { scrollable: true, content: StatefulBuilder( builder: (context, setState) { - return Column( children: [ InputSearchText( @@ -988,7 +995,7 @@ class _RegisterCitizenScreenState extends State { }); }, ), - selectBreed==null?ErrorDefault():Container(), + selectBreed==null&& mandatory?ErrorDefault():Container(), DropdownWithSubtitle( list: listScooling, subtitle: 'Escolaridade', @@ -1029,7 +1036,7 @@ class _RegisterCitizenScreenState extends State { }); }, ), - selectDeficiency==null?ErrorDefault():Container(), + selectDeficiency==null&& mandatory?ErrorDefault():Container(), InputWithSubtitle( controller: nameMotherController, subtitle: 'Nome da Mãe', @@ -1038,6 +1045,7 @@ class _RegisterCitizenScreenState extends State { widthInput: width*0.7, widthSubtitle: width*0.2, hintInput: 'Escreva aqui', + mandatory: mandatory, enabled: !enableMother && !edit, onChanged: (v)=>setState((){}), ), @@ -1062,6 +1070,7 @@ class _RegisterCitizenScreenState extends State { widthInput: width*0.7, widthSubtitle: width*0.2, hintInput: 'Escreva aqui', + mandatory: mandatory, enabled: !enableFather && !edit, onChanged: (v)=>setState((){}), ), @@ -1179,7 +1188,7 @@ class _RegisterCitizenScreenState extends State { 'OUTRO MUNICIPIO', ] ), - selectClassification==null?ErrorDefault():Container(), + selectClassification==null&& mandatory?ErrorDefault():Container(), InputWithSubtitle( controller: numberFamilyController, subtitle: 'Número da Família', @@ -1254,7 +1263,7 @@ class _RegisterCitizenScreenState extends State { 'OUTRO', ] ), - selectCountry==null?ErrorDefault():Container(), + selectCountry==null&& mandatory?ErrorDefault():Container(), GestureDetector( onTap: selectClassification!='OUTRO MUNICIPIO'|| cityController.text == 'MUNICIPIO IGNORADO - SP'?null: (){ searchCityController.text = ''; @@ -1371,7 +1380,7 @@ class _RegisterCitizenScreenState extends State { }, list: villageDB ), - selectClassification!='OUTRO MUNICIPIO' && selectVillage == null?ErrorDefault():Container(), + selectClassification!='OUTRO MUNICIPIO' && selectVillage == null&& mandatory?ErrorDefault():Container(), DropdownWithSubtitle( subtitle: 'Tipo de Logradouro', select: selectTypeStreet, @@ -1391,7 +1400,7 @@ class _RegisterCitizenScreenState extends State { }, list: typeStreetDB ), - selectTypeStreet!='OUTRO MUNICIPIO' && selectTypeStreet == null && selectCountry == null?ErrorDefault():Container(), + selectTypeStreet!='OUTRO MUNICIPIO' && selectTypeStreet == null && selectCountry == null&& mandatory?ErrorDefault():Container(), DropdownWithSubtitle( subtitle: 'Nome do Logradouro', select: selectStreet, @@ -1415,6 +1424,7 @@ class _RegisterCitizenScreenState extends State { widthInput: width*0.7, widthSubtitle: width*0.2, hintInput: 'Escreva aqui', + mandatory: mandatory, enabled: selectClassification!='OUTRO MUNICIPIO' && !edit?true:false, onChanged: (v)=>setState((){}), ), @@ -1431,6 +1441,7 @@ class _RegisterCitizenScreenState extends State { widthSubtitle: width*0.2, widthError: 0.4, hintInput: 'Escreva aqui', + mandatory: mandatory, enabled: selectClassification!='OUTRO MUNICIPIO' && !checkBoxNumber && !edit?true:false, onChanged: (v)=>setState((){}), ), @@ -1595,6 +1606,7 @@ class _RegisterCitizenScreenState extends State { widthSubtitle: width*0.7, hintInput: 'Escreva aqui', enabled: !edit, + mandatory: mandatory, onChanged: (v)=>setState((){}), ), InputWithSubtitle( @@ -1606,6 +1618,7 @@ class _RegisterCitizenScreenState extends State { widthSubtitle: width*0.7, hintInput: 'Escreva aqui', enabled: !edit, + mandatory: mandatory, onChanged: (v)=>setState((){}), ), InputWithSubtitle( @@ -1799,7 +1812,7 @@ class _RegisterCitizenScreenState extends State { margin: EdgeInsets.symmetric(horizontal: 15,vertical: 5), padding: EdgeInsets.symmetric(horizontal: 8,vertical: 10), decoration: BoxDecoration( - border: Border.all(color: ColorPalette.black54), + border: Border.all(color: ColorPalette.white), borderRadius: BorderRadius.all( Radius.circular(5.0) ), @@ -1900,7 +1913,7 @@ class _RegisterCitizenScreenState extends State { margin: EdgeInsets.symmetric(horizontal: 15,vertical: 5), padding: EdgeInsets.symmetric(horizontal: 8,vertical: 10), decoration: BoxDecoration( - border: Border.all(color: ColorPalette.black54), + border: Border.all(color: ColorPalette.white), borderRadius: BorderRadius.all( Radius.circular(5.0) ), @@ -2029,18 +2042,18 @@ class _RegisterCitizenScreenState extends State { fillColor: ColorPalette.appBar, labelText: 'Renda Mensal', border: OutlineInputBorder( - borderSide: BorderSide(width: 1,color: ColorPalette.black54) + borderSide: BorderSide(width: 1,color: ColorPalette.white) ), focusedBorder: OutlineInputBorder( - borderSide: BorderSide(width: 1, color: ColorPalette.black54), + borderSide: BorderSide(width: 1, color: ColorPalette.white), borderRadius: BorderRadius.circular(3), ), enabledBorder: OutlineInputBorder( - borderSide: BorderSide(width: 1, color: ColorPalette.black54), + borderSide: BorderSide(width: 1, color: ColorPalette.white), borderRadius: BorderRadius.circular(3), ), disabledBorder: OutlineInputBorder( - borderSide: BorderSide(width: 1, color: ColorPalette.black54), + borderSide: BorderSide(width: 1, color: ColorPalette.white), borderRadius: BorderRadius.circular(3), ), hintText: 'Escreva aqui', @@ -2071,7 +2084,7 @@ class _RegisterCitizenScreenState extends State { margin: EdgeInsets.symmetric(horizontal: 15,vertical: 5), padding: EdgeInsets.symmetric(horizontal: 8,vertical: 10), decoration: BoxDecoration( - border: Border.all(color: ColorPalette.black54), + border: Border.all(color: ColorPalette.white), borderRadius: BorderRadius.all( Radius.circular(5.0) ), diff --git a/lib/screens/registers_citizen/register_home_screen.dart b/lib/screens/registers_citizen/register_home_screen.dart index 2983225..c61b54f 100644 --- a/lib/screens/registers_citizen/register_home_screen.dart +++ b/lib/screens/registers_citizen/register_home_screen.dart @@ -168,7 +168,7 @@ class _RegisterHomeScreenState extends State { double width = MediaQuery.of(context).size.width; return WillPopScope( - onWillPop: ()=> OnBackButton().onBackButton(context), + onWillPop: ()async => await OnBackButton().onBackButton(context), child: Scaffold( appBar: AppBarDefault().appbar(context, 'RKM AB - Cadastro Domiciliar'), body: Container( diff --git a/lib/screens/registers_citizen/register_individual_screen.dart b/lib/screens/registers_citizen/register_individual_screen.dart index 06e529f..a8ae3a0 100644 --- a/lib/screens/registers_citizen/register_individual_screen.dart +++ b/lib/screens/registers_citizen/register_individual_screen.dart @@ -5,10 +5,15 @@ 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/text_default.dart'; import 'package:rkm/widgets/title_containers.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/error_default.dart'; import '../../widgets/input_with_subtitle.dart'; import '../../widgets/onbackbutton.dart'; import '../../widgets/subtitle_appbar_citizen.dart'; @@ -23,7 +28,6 @@ class RegisterIndividualScreen extends StatefulWidget { class _RegisterIndividualScreenState extends State { - List dataCitizen = []; List listINE = []; List listkin = []; List listScoolingRegisterInd = []; @@ -41,7 +45,7 @@ class _RegisterIndividualScreenState extends State { List listINEPROF = []; bool FORA_AREA = false; - bool STATUS_CADASTRO = false; + bool STATUS_CADASTRO = true; bool RESPONSAVEL_FAMILIAR = false; bool FREQ_ESCOLA_CRECHE = false; bool CRIANCAS_ADULTO = false; @@ -91,8 +95,29 @@ class _RegisterIndividualScreenState extends State { bool SANITARIO = false; bool HIGIENE_BUCAL = false; bool OUTROS_HIGIENE = false; + bool CNS_VALIDO = 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; + String CD_USUARIO_SUS = ''; String? INE; + String? INE_DB; String? ESCOLARIDADE; String? SITUACAO_MERCADO; String? PARENTESCO; @@ -107,9 +132,18 @@ class _RegisterIndividualScreenState extends State { String? ALIMENTACAO_DIARIA; String? CBO_RESP_CADASTRO; String? INE_RESP_CADASTRO; + String CNS_PROFISSIONAL=''; + String idUsuario = ''; + String idUnidade = ''; + String nomeUnidade = ''; + String date_cad = ''; + String date_saida = ''; + int ID_AREA_CIDADAO = 0; + int ID_MICROAREA_CIDADAO = 0; + String TIPO_SALVAR = 'new'; var NOME_RESPONSAVEL_FAMILIAR = TextEditingController(); - var NATURALIDADE = TextEditingController(); + var NATURALIDADE = TextEditingController(text: 'BRASILEIRO'); var DT_ENTRADA_BRASIL = TextEditingController(); var DT_NATURALIZACAO = TextEditingController(); var PORTARIA_NATURALIZACAO = TextEditingController(); @@ -124,6 +158,22 @@ class _RegisterIndividualScreenState extends State { var ID_RESP_CADASTRO = TextEditingController(); var CNES_RESP_CADASTRO = TextEditingController(); var DT_CADASTRO = TextEditingController(); + final PrefService _prefService = PrefService(); + + getUser(){ + _prefService.readCacheIdUsuario('idUsuario').then((value){ + if(value != null){ + idUsuario = value; + } + }); + _prefService.readCacheUnidade('idUnidade').then((value){ + if(value!=null){ + idUnidade = value[0]; + nomeUnidade = value[1]; + } + loadLists(); + }); + } loadLists(){ for(int i = 0; ConstVariable().listKin.length > i; i++){ @@ -166,153 +216,381 @@ class _RegisterIndividualScreenState extends State { } 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; + CD_USUARIO_SUS = widget.listData[0]['CD_USUARIO_SUS']; + await DBQuerys().buscaCadInvidualCitizen(CD_USUARIO_SUS).then((dataCitizen)async{ + // print(CD_USUARIO_SUS); + if(dataCitizen.length != 0) { + 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; + if(dataCitizen[0]['INE']!=null){ + INE = 'INE: ${dataCitizen[0]['INE']} / Área : ${dataCitizen[0]['ID_AREA_CIDADAO']} - Microárea : ${dataCitizen[0]['ID_MICROAREA_CIDADAO']}'; + INE_RESP_CADASTRO = 'INE: ${dataCitizen[0]['INE']} / Área: ${dataCitizen[0]['AREA']} - Microárea : ${dataCitizen[0]['MICROAREA']}'; + listINE.add(INE!); + listINEPROF.add(INE_RESP_CADASTRO!); + }else{ + List list = await DBQuerys().buscaDadosProfissional(idUnidade,idUsuario); + for(int i=0; list.length > i;i++){ + 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('INE: ${list[i]['INE']} / Área: ${list[i]['AREA']} - Microárea : ${list[i]['MICROAREA']}'); + 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']; + 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; + CNES_RESP_CADASTRO.text = await DBQuerys().buscaNomeUnidade(idUnidade); + CBO_RESP_CADASTRO = dataCitizen[0]['CBO_RESP_CADASTRO'].toString(); + date_cad = dataCitizen[0]['DT_CADASTRO']??''; + print('data $date_cad'); + List splitted = date_cad.toString().split('-'); + DT_CADASTRO.text = splitted.length<2?'':'${splitted[2]}/${splitted[1]}/${splitted[0]}'; + setState(() {}); } - } - for(int i = 0; ConstVariable().listScoolingRegisterInd.length > i; i++){ - if(ConstVariable().listScoolingRegisterInd[i].cod == dataCitizen[0]['ESCOLARIDADE']){ - ESCOLARIDADE = ConstVariable().listScoolingRegisterInd[i].title; + if(CNES_RESP_CADASTRO.text=='null' || CNES_RESP_CADASTRO.text.isEmpty){ + CNES_RESP_CADASTRO.text = nomeUnidade; } - } - 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; + if(listINE.length == 0){ + List list = await DBQuerys().buscaDadosProfissional(idUnidade,idUsuario); + for(int i=0; list.length > i;i++){ + ID_AREA_CIDADAO = list[i]['AREA']; + ID_MICROAREA_CIDADAO = list[i]['MICROAREA']; + INE_DB = list[i]['INE']; + 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('INE: ${list[i]['INE']} / Área: ${list[i]['AREA']} - Microárea : ${list[i]['MICROAREA']}'); + listINEPROF.add('INE: ${list[i]['INE']} / Área: ${list[i]['AREA']} - Microárea : ${list[i]['MICROAREA']}'); + } } - } - 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]}'; + await DBQuerys().buscaProfissionalCadInd(idUsuario).then((list){ + ID_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(); + }); + }); 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{ + Map 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' : ID_AREA_CIDADAO, + 'ID_MICROAREA_CIDADAO' : 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, + '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, + '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,CD_USUARIO_SUS).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, + initialDate: DateTime.now(), + firstDate: DateTime(1900), + lastDate: DateTime(2024)); + 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(); - loadLists(); + getUser(); } @override @@ -322,7 +600,7 @@ class _RegisterIndividualScreenState extends State { double width = MediaQuery.of(context).size.width; return WillPopScope( - onWillPop: ()=> OnBackButton().onBackButton(context), + onWillPop: ()async=> await OnBackButton().onBackButton(context), child: Scaffold( appBar: AppBarDefault().appbar(context, 'RKM AB - Cadastro Individual'), body: Container( @@ -331,16 +609,42 @@ class _RegisterIndividualScreenState extends State { decoration: ConstVariable().backgroundGradient, child: ListView( children: [ - SubtitleAppbarCitizen(title: 2,edit: true,listData: widget.listData), + SubtitleAppbarCitizen(title: 2,edit: showTab,listData: widget.listData), + 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: [ - ButtonDefault( - onPressed: (){}, + !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, @@ -353,7 +657,19 @@ class _RegisterIndividualScreenState extends State { 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() ], ), ), @@ -382,35 +698,45 @@ class _RegisterIndividualScreenState extends State { select: INE, widthDropdown: width*0.69, widthContainerDropdown: width*0.6, - onChanged: (value)=>setState(()=>INE = value), + onChanged:!editing?null: (value)=>setState(()=>INE = value), + onTapDelete: ()=>setState(()=>INE=null), ), SwitchWithSubtitle( width: width*0.7, title: 'Fora de área', value: FORA_AREA, - onChanged: (value)=>setState(()=>FORA_AREA = value), + onChanged:!editing?null: (value)=>setState(()=>FORA_AREA = value), ), SwitchWithSubtitle( width: width*0.7, title: 'Status Cadastro', value: STATUS_CADASTRO, - onChanged: (value)=>setState(()=>STATUS_CADASTRO = value), + onChanged:!editing?null: (value)=>setState(()=>STATUS_CADASTRO = value), ), SwitchWithSubtitle( width: width*0.7, title: 'Responsável Familiar', value: RESPONSAVEL_FAMILIAR, - onChanged: (value)=>setState(()=>RESPONSAVEL_FAMILIAR = value), + 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', + 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( @@ -421,12 +747,19 @@ class _RegisterIndividualScreenState extends State { select: PARENTESCO, widthDropdown: width*0.69, widthContainerDropdown: width*0.4, - onChanged: (value)=>setState(()=>PARENTESCO = value), + 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', + errorInput: 'Campo Obrigatório!', labelInput: 'Naturalidade', widthInput: width*0.7, widthSubtitle: width*0.2, @@ -437,34 +770,37 @@ class _RegisterIndividualScreenState extends State { InputWithSubtitle( controller: DT_ENTRADA_BRASIL, subtitle: 'Entrada no Brasil', - errorInput: 'Campo Obrigatório', + 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', + 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', + 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( @@ -474,14 +810,24 @@ class _RegisterIndividualScreenState extends State { hintDropdown: 'Escolaridade', select: ESCOLARIDADE, widthDropdown: width*0.69, - widthContainerDropdown: width*0.65, - onChanged: (value)=>setState(()=>ESCOLARIDADE = value), + 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: (value)=>setState(()=>FREQ_ESCOLA_CRECHE = value), + onChanged: !editing?null:(value)=>setState(()=>FREQ_ESCOLA_CRECHE = value), ), DropdownWithSubtitle( list: listOcupacion, @@ -491,7 +837,16 @@ class _RegisterIndividualScreenState extends State { select: SITUACAO_MERCADO, widthDropdown: width*0.69, widthContainerDropdown: width*0.5, - onChanged: (value)=>setState(()=>SITUACAO_MERCADO = value), + 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( @@ -500,8 +855,8 @@ class _RegisterIndividualScreenState extends State { checkbox2: CRIANCAS_SOZINHA, subtitle1: 'ADULTO RESPONSÁVEL', subtitle2: 'SOZINHA', - onChanged1: (value)=>setState(()=>CRIANCAS_ADULTO=value), - onChanged2: (value)=>setState(()=>CRIANCAS_SOZINHA=value), + onChanged1: !editing?null:(value)=>setState(()=>CRIANCAS_ADULTO=value), + onChanged2: !editing?null: (value)=>setState(()=>CRIANCAS_SOZINHA=value), ), CheckBoxTwoSubtitle( width: width*0.7, @@ -509,8 +864,8 @@ class _RegisterIndividualScreenState extends State { checkbox2: CRIANCAS_CRECHE, subtitle1: 'OUTRA(S) CRIANÇA(S)', subtitle2: 'CRECHE', - onChanged1: (value)=>setState(()=>CRIANCAS_OUTRAS_CRIANCAS=value), - onChanged2: (value)=>setState(()=>CRIANCAS_CRECHE=value), + onChanged1: !editing?null: (value)=>setState(()=>CRIANCAS_OUTRAS_CRIANCAS=value), + onChanged2: !editing?null: (value)=>setState(()=>CRIANCAS_CRECHE=value), ), CheckBoxTwoSubtitle( width: width*0.7, @@ -518,43 +873,43 @@ class _RegisterIndividualScreenState extends State { checkbox2: CRIANCAS_OUTRO, subtitle1: 'ADOLESCENTE', subtitle2: 'OUTRO', - onChanged1: (value)=>setState(()=>CRIANCAS_ADOLESCENTE=value), - onChanged2: (value)=>setState(()=>CRIANCAS_OUTRO=value), + 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: (value)=>setState(()=> CUIDADOR_TRADICIONAL = value), + onChanged: !editing?null: (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), + onChanged: !editing?null: (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), + onChanged: !editing?null: (value)=>setState(()=> PLANO_PRIVADO = value), ), SwitchWithSubtitle( width: width*0.7, title: 'Membro de Comunidade Tradicional', value: COMUNIDADE_TRADICIONAL, - onChanged: (value)=>setState(()=> COMUNIDADE_TRADICIONAL = value), + onChanged: !editing?null: (value)=>setState(()=> COMUNIDADE_TRADICIONAL = value), ), InputWithSubtitle( controller: COM_TRADI_QUAL, subtitle: 'Qual', - errorInput: 'Campo Obrigatório', + errorInput: 'Campo Obrigatório!', labelInput: 'Qual', widthInput: width*0.7, widthSubtitle: width*0.2, hintInput: 'Escreva aqui', - enabled: true, - mandatory: false, + enabled: COMUNIDADE_TRADICIONAL, + mandatory: COMUNIDADE_TRADICIONAL, onChanged: (v)=>setState((){}), ), DropdownWithSubtitle( @@ -565,12 +920,17 @@ class _RegisterIndividualScreenState extends State { select: ORIENT_SEXUAL, widthDropdown: width*0.7, widthContainerDropdown: width*0.5, - onChanged: (value){ - setState(() { - ORIENT_SEXUAL = value!; - }); + 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, @@ -580,42 +940,47 @@ class _RegisterIndividualScreenState extends State { select: IDENTIDADE_GENERO, widthDropdown: width*0.7, widthContainerDropdown: width*0.5, - onChanged: (value){ - setState(() { - IDENTIDADE_GENERO = value!; - }); + 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: (value)=>setState(()=> DEF_AUDITIVA = value), + onChanged: !editing?null: (value)=>setState(()=> DEF_AUDITIVA = value), ), SwitchWithSubtitle( width: width*0.7, title: 'Deficiência Intelectual / Cognitiva', value: DEF_INTELECTUAL, - onChanged: (value)=>setState(()=> DEF_INTELECTUAL = value), + onChanged: !editing?null: (value)=>setState(()=> DEF_INTELECTUAL = value), ), SwitchWithSubtitle( width: width*0.7, title: 'Deficiência Visual', value: DEF_VISUAL, - onChanged: (value)=>setState(()=> DEF_VISUAL = value), + onChanged: !editing?null: (value)=>setState(()=> DEF_VISUAL = value), ), SwitchWithSubtitle( width: width*0.7, title: 'Deficiência Fisica', value: DEF_FISICA, - onChanged: (value)=>setState(()=> DEF_FISICA = value), + onChanged: !editing?null: (value)=>setState(()=> DEF_FISICA = value), ), SwitchWithSubtitle( width: width*0.7, title: 'Outras Deficiências', value: DEF_OUTRAS, - onChanged: (value)=>setState(()=> DEF_OUTRAS = value), + onChanged: !editing?null: (value)=>setState(()=> DEF_OUTRAS = value), ), DropdownWithSubtitle( list: listExitCitizen, @@ -623,27 +988,40 @@ class _RegisterIndividualScreenState extends State { subtitle: 'Saída do Cidadão do Cadastro', hintDropdown: 'Saída do Cidadão do Cadastro', select: SAIDA_CADASTRO, - widthDropdown: width*0.7, + widthDropdown: width*0.65, widthContainerDropdown: width*0.5, - onChanged: (value)=>setState(()=> SAIDA_CADASTRO = value), + 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, ), - 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((){}), + 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: (value)=>setState(()=> CADASTRO_RECUSADO = value), + onChanged: !editing?null: (value)=>setState(()=> CADASTRO_RECUSADO = value), ), ], ) @@ -674,17 +1052,18 @@ class _RegisterIndividualScreenState extends State { width: width*0.7, title: 'Gestante', value: GESTANTE, - onChanged: (value)=>setState(()=> GESTANTE = value), + onChanged: !editing && widget.listData[0]['SEXO']!='F'?null: (value)=>setState(()=> GESTANTE = value), ), InputWithSubtitle( controller: MATERNIDADE_REFERENCIA, subtitle: 'Maternidade Referência', - errorInput: 'Campo Obrigatório', + errorInput: 'Campo Obrigatório!', labelInput: 'Maternidade Referência', widthInput: width*0.7, widthSubtitle: width*0.7, hintInput: 'Escreva aqui', - enabled: false, + enabled: GESTANTE, + mandatory: false, onChanged: (v)=>setState((){}), ), DropdownWithSubtitle( @@ -695,84 +1074,94 @@ class _RegisterIndividualScreenState extends State { select: PESO, widthDropdown: width*0.67, widthContainerDropdown: width*0.3, - onChanged: (value)=>setState(()=>PESO = value), + 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: (value)=>setState(()=>FUMANTE = value), + onChanged: !editing?null: (value)=>setState(()=>FUMANTE = value), ), SwitchWithSubtitle( width: width*0.7, title: 'Usa Álcool', value: USA_ALCOOL, - onChanged: (value)=>setState(()=>USA_ALCOOL = value), + onChanged: !editing?null: (value)=>setState(()=>USA_ALCOOL = value), ), SwitchWithSubtitle( width: width*0.7, title: 'Usa Drogas', value: USA_DROGAS, - onChanged: (value)=>setState(()=>USA_DROGAS = value), + onChanged: !editing?null: (value)=>setState(()=>USA_DROGAS = value), ), SwitchWithSubtitle( width: width*0.7, title: 'Hipertensão', value: HIPERTENSAO, - onChanged: (value)=>setState(()=>HIPERTENSAO = value), + onChanged: !editing?null: (value)=>setState(()=>HIPERTENSAO = value), ), SwitchWithSubtitle( width: width*0.7, title: 'Diabetes', value: DIABETES, - onChanged: (value)=>setState(()=>DIABETES = value), + onChanged: !editing?null: (value)=>setState(()=>DIABETES = value), ), SwitchWithSubtitle( width: width*0.7, title: 'Teve AVC/Derrame', value: AVC_DERRAME, - onChanged: (value)=>setState(()=>AVC_DERRAME = value), + onChanged: !editing?null: (value)=>setState(()=>AVC_DERRAME = value), ), SwitchWithSubtitle( width: width*0.7, title: 'Teve Infarto', value: INFARTO, - onChanged: (value)=>setState(()=>INFARTO = value), + onChanged: !editing?null: (value)=>setState(()=>INFARTO = value), ), SwitchWithSubtitle( width: width*0.7, title: 'Está com Hanseníase', value: HANSENIASE, - onChanged: (value)=>setState(()=>HANSENIASE = value), + onChanged: !editing?null: (value)=>setState(()=>HANSENIASE = value), ), SwitchWithSubtitle( width: width*0.7, title: 'Está com Tuberculose', value: TUBERCULOSE, - onChanged: (value)=>setState(()=>TUBERCULOSE = value), + onChanged: !editing?null: (value)=>setState(()=>TUBERCULOSE = value), ), SwitchWithSubtitle( width: width*0.7, title: 'Tem ou Teve Câncer', value: CANCER, - onChanged: (value)=>setState(()=>CANCER = value), + onChanged: !editing?null: (value)=>setState(()=>CANCER = value), ), SwitchWithSubtitle( width: width*0.7, title: 'Internação nos Últimos 12 Meses', value: INTERNACAO, - onChanged: (value)=>setState(()=>INTERNACAO = value), + onChanged: !editing?null: (value)=>setState(()=>INTERNACAO = value), ), InputWithSubtitle( controller: MOTIVO, subtitle: 'Motivo', - errorInput: 'Campo Obrigatório', + errorInput: 'Campo Obrigatório!', labelInput: 'Motivo', widthInput: width*0.7, widthSubtitle: width*0.7, hintInput: 'Escreva aqui', - enabled: false, + mandatory: false, + enabled: editing && INTERNACAO, onChanged: (v)=>setState((){}), ), DropdownWithSubtitle( @@ -782,7 +1171,14 @@ class _RegisterIndividualScreenState extends State { widthContainerDropdown: width*0.5, widthSubtitle: width*0.3, hintDropdown: 'Doença Cardíaca', - onChanged: (value)=>setState(()=>DOENCA_CARDIACA = value), + 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( @@ -792,7 +1188,14 @@ class _RegisterIndividualScreenState extends State { widthContainerDropdown: width*0.5, widthSubtitle: width*0.3, hintDropdown: 'Tem ou Teve Problema nos Rins', - onChanged: (value)=>setState(()=>PROBLEMA_RINS = value), + 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( @@ -802,59 +1205,68 @@ class _RegisterIndividualScreenState extends State { widthContainerDropdown: width*0.5, widthSubtitle: width*0.3, hintDropdown: 'Tem Doença Respiratória / Pulmão', - onChanged: (value)=>setState(()=>DOENCA_PULMAO = value), + 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: (value)=>setState(()=>SAUDE_MENTAL = value), + onChanged: !editing?null: (value)=>setState(()=>SAUDE_MENTAL = value), ), SwitchWithSubtitle( width: width*0.7, title: 'Acamado', value: ACAMADO, - onChanged: (value)=>setState(()=>ACAMADO = value), + onChanged: !editing?null: (value)=>setState(()=>ACAMADO = value), ), SwitchWithSubtitle( width: width*0.7, title: 'Domiciliado', value: DOMICILIADO, - onChanged: (value)=>setState(()=>DOMICILIADO = value), + onChanged: !editing?null: (value)=>setState(()=>DOMICILIADO = value), ), SwitchWithSubtitle( width: width*0.7, title: 'Plantas Medicinais', value: PLANTAS_MED, - onChanged: (value)=>setState(()=>PLANTAS_MED = value), + onChanged: !editing?null: (value)=>setState(()=>PLANTAS_MED = value), ), InputWithSubtitle( controller: PLANTAS_MED_QUAIS, subtitle: 'Quais', - errorInput: 'Campo Obrigatório', + errorInput: 'Campo Obrigatório!', labelInput: 'Quais', widthInput: width*0.7, widthSubtitle: width*0.7, hintInput: 'Escreva aqui', - enabled: false, + enabled: editing && PLANTAS_MED, + mandatory: PLANTAS_MED, onChanged: (v)=>setState((){}), ), SwitchWithSubtitle( width: width*0.7, title: 'PIC', value: PIC, - onChanged: (value)=>setState(()=>PIC = value), + onChanged: !editing?null: (value)=>setState(()=>PIC = value), ), InputWithSubtitle( controller: OUTRAS_CONDICOES, subtitle: 'Outras Condições de Sáude', - errorInput: 'Campo Obrigatório', + errorInput: 'Campo Obrigatório!', labelInput: 'Outras Condições de Sáude', widthInput: width*0.7, widthSubtitle: width*0.7, hintInput: 'Escreva aqui', - enabled: false, + enabled: editing, + mandatory: false, onChanged: (v)=>setState((){}), ), ], @@ -890,53 +1302,63 @@ class _RegisterIndividualScreenState extends State { widthContainerDropdown: width*0.5, widthSubtitle: width*0.3, hintDropdown: 'Tempo em Situação de Rua', - onChanged: (value)=>setState(()=>TEMPO_SITUACAO_RUA = value), + 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: (value)=>setState(()=>ACOMP_INTITUICAO = value), + 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', + errorInput: 'Campo Obrigatório!', labelInput: 'Qual(is)', widthInput: width*0.7, widthSubtitle: width*0.7, hintInput: 'Escreva aqui', - enabled: false, + enabled: editing && ACOMP_INTITUICAO, + mandatory: false, onChanged: (v)=>setState((){}), ), SwitchWithSubtitle( width: width*0.7, title: 'Recebe Algum Benefício', value: BENEFICIO, - onChanged: (value)=>setState(()=>BENEFICIO = value), + 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: (value)=>setState(()=>REF_FAMILIAR = value), + 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: (value)=>setState(()=>VISITA_FREQUENCIA = value), + 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', + errorInput: 'Campo Obrigatório!', labelInput: 'Parentesco com o Responsável Familiar', widthInput: width*0.7, widthSubtitle: width*0.7, hintInput: 'Escreva aqui', - enabled: false, + enabled: editing && VISITA_FREQUENCIA, + mandatory: false, onChanged: (v)=>setState((){}), ), DropdownWithSubtitle( @@ -946,68 +1368,75 @@ class _RegisterIndividualScreenState extends State { widthContainerDropdown: width*0.5, widthSubtitle: width*0.3, hintDropdown: 'Alimentação Diária', - onChanged: (value)=>setState(()=>ALIMENTACAO_DIARIA = value), + 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: (value)=>setState(()=>REST_POPULAR = value), + 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: (value)=>setState(()=>DOACAO_REST = value), + 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: (value)=>setState(()=>DOACAO_RELIGIOSO = value), + 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: (value)=>setState(()=>DOACAO_POPULAR = value), + 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: (value)=>setState(()=>OUTROS_ALIM = value), + 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: (value)=>setState(()=>ACESSO_HIGIENE = value), + 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: (value)=>setState(()=>BANHO = value), + 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: (value)=>setState(()=>SANITARIO = value), + 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: (value)=>setState(()=>HIGIENE_BUCAL = value), + 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: (value)=>setState(()=>OUTROS_HIGIENE = value), + onChanged: !editing|| TEMPO_SITUACAO_RUA == 'NÃO ESTÁ EM SITUAÇÃO DE RUA'?null: (value)=>setState(()=>OUTROS_HIGIENE = value), ), ], ), @@ -1038,7 +1467,7 @@ class _RegisterIndividualScreenState extends State { InputWithSubtitle( controller: ID_RESP_CADASTRO, subtitle: 'Usuário responsável Pelo Cadastro', - errorInput: 'Campo Obrigatório', + errorInput: 'Campo Obrigatório!', labelInput: 'Usuário responsável Pelo Cadastro', widthInput: width*0.7, widthSubtitle: width*0.7, @@ -1050,7 +1479,7 @@ class _RegisterIndividualScreenState extends State { enabled: false, controller: CNES_RESP_CADASTRO, subtitle: 'Unidade do Profissional', - errorInput: 'Campo Obrigatório', + errorInput: 'Campo Obrigatório!', labelInput: 'Unidade do Profissional', widthInput: width*0.7, widthSubtitle: width*0.7, @@ -1064,9 +1493,10 @@ class _RegisterIndividualScreenState extends State { widthContainerDropdown: width*0.5, widthSubtitle: width*0.3, hintDropdown: 'CBO', - onChanged: (value)=>setState(()=>CBO_RESP_CADASTRO = value), + 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, @@ -1074,20 +1504,25 @@ class _RegisterIndividualScreenState extends State { widthContainerDropdown: width*0.5, widthSubtitle: width*0.3, hintDropdown: 'Código da Equipe', - onChanged: (value)=>setState(()=>INE_RESP_CADASTRO = value), + onChanged: !editing?null: (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((){}), + 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(), ], ), ), @@ -1096,6 +1531,28 @@ class _RegisterIndividualScreenState extends State { ], ), ), + 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() ] ) ), diff --git a/lib/screens/select_service/service_home_screen.dart b/lib/screens/select_service/service_home_screen.dart index 1ca9a62..ba9d9c8 100644 --- a/lib/screens/select_service/service_home_screen.dart +++ b/lib/screens/select_service/service_home_screen.dart @@ -67,7 +67,7 @@ class _ServiceHomeScreenState extends State { double width = MediaQuery.of(context).size.width; return WillPopScope( - onWillPop: ()=> OnBackButton().onBackButton(context), + onWillPop: ()async=> await OnBackButton().onBackButton(context), child: Scaffold( appBar: AppBarDefault().appbar(context, 'RKM AB - Atendimento Domiciliar'), body: Container( diff --git a/lib/screens/select_service/service_individual_screen.dart b/lib/screens/select_service/service_individual_screen.dart index 9163ac4..ddc0e66 100644 --- a/lib/screens/select_service/service_individual_screen.dart +++ b/lib/screens/select_service/service_individual_screen.dart @@ -98,7 +98,7 @@ class _ServiceIndividualScreenState extends State { double width = MediaQuery.of(context).size.width; return WillPopScope( - onWillPop: ()=> OnBackButton().onBackButton(context), + onWillPop: ()async=> await OnBackButton().onBackButton(context), child: Scaffold( appBar: AppBarDefault().appbar(context, 'RKM AB - Atendimento Individual'), body: Container( diff --git a/lib/screens/sync_init_screen.dart b/lib/screens/sync_init_screen.dart index edd460c..2e8b06f 100644 --- a/lib/screens/sync_init_screen.dart +++ b/lib/screens/sync_init_screen.dart @@ -141,7 +141,7 @@ class _SyncInitScreenState extends State { }else{ setState(()=> messageSteps = "Etapa 10 de 10 - Gravando os Cadastros Individuais no Aplicativo"); } - await DbSqliteSync().insertCadastrosIndividuais(value).then((value)async{ + await DbSqliteSync().insertCadastrosIndividuais(value,'sync','').then((value)async{ await DbSqliteSync().saveSync(codCity,codState,urlAPI,mode,nameCityApi,nameCityFront,codCityIbge,user,idUnidade,nomeUnidade,area,microarea).then((value)async{ Navigator.pushNamed(context, '/home'); }); diff --git a/lib/service/api/api_data_post.dart b/lib/service/api/api_data_post.dart index 9d39973..6d9060f 100644 --- a/lib/service/api/api_data_post.dart +++ b/lib/service/api/api_data_post.dart @@ -13,8 +13,8 @@ class ApiDataPost{ Uri.parse(url), body: jsonEncode(map), ); - // print(response.body); - // print(response.statusCode); + print(response.body); + print(response.statusCode); if(response.statusCode == 200) { await DBQuerys().updateCidadao(); return json.decode(response.body); diff --git a/lib/service/db/db_querys.dart b/lib/service/db/db_querys.dart index dfca358..4235391 100644 --- a/lib/service/db/db_querys.dart +++ b/lib/service/db/db_querys.dart @@ -19,6 +19,30 @@ class DBQuerys{ // List list = await db.rawQuery("SELECT * FROM CIDADAOS WHERE CPF = $teste"); return list; } + buscaDadosProfissional(String idUnidade, String idUsuario)async{ + Database db = await DbSqliteLoad().intialDB(); + var query = "SELECT * FROM EQUIPES JOIN PROFISSIONAIS_EQUIPE ON PROFISSIONAIS_EQUIPE.ID_EQUIPE = EQUIPES.ID_EQUIPE WHERE ID_UNIDADE = $idUnidade AND ID_PROFISSIONAL = $idUsuario"; + List list = await db.rawQuery(query); + // print(await db.rawQuery('SELECT NO_BAIRRO FROM BAIRROS')); + // print(list); + return list; + } + Future buscaProfissionalCadInd(String ID_PROFISSIONAL)async{ + Database db = await DbSqliteLoad().intialDB(); + var query = "SELECT * FROM PROFISSIONAIS WHERE ID_PROFISSIONAL = $ID_PROFISSIONAL"; + List list = await db.rawQuery(query); + // print(await db.rawQuery('SELECT NO_BAIRRO FROM BAIRROS')); + print(list); + return list[0]; + } + buscaNomeUnidade(String ID_UNIDADE)async{ + Database db = await DbSqliteLoad().intialDB(); + var query = "SELECT * FROM UNIDADES WHERE ID_UNIDADE = $ID_UNIDADE"; + List list = await db.rawQuery(query); + // print(await db.rawQuery('SELECT NO_BAIRRO FROM BAIRROS')); + print(list); + return list[0]['NOME_UNIDADE']; + } buscaBairro(nomeBairro)async{ Database db = await DbSqliteLoad().intialDB(); List list = await db.rawQuery("SELECT * FROM BAIRROS WHERE NO_BAIRRO = '$nomeBairro'"); @@ -118,6 +142,13 @@ class DBQuerys{ // print(list); return list; } + Future buscaCBOProfissional(ID_PROFISSIONAL)async{ + Database db = await DbSqliteLoad().intialDB(); + var query = 'SELECT * FROM PROFISSIONAIS_CBOS WHERE CODIGO_CBO = "$ID_PROFISSIONAL"'; + List list = await db.rawQuery(query); + print(list); + return list; + } Future deleteCidadao()async{ Database db = await DbSqliteLoad().intialDB(); var query = "DELETE FROM CIDADAOS WHERE CD_USUARIO_SUS = '872488F88D1B2DB54D55BC8BBA2FAD1B'"; diff --git a/lib/service/db/db_sqlite_load.dart b/lib/service/db/db_sqlite_load.dart index a368873..828bc87 100644 --- a/lib/service/db/db_sqlite_load.dart +++ b/lib/service/db/db_sqlite_load.dart @@ -28,7 +28,7 @@ class DbSqliteLoad{ db.execute('CREATE TABLE IF NOT EXISTS AVAL_ELEG_CONCL_INE (ID_AVALIACAO_ELEGIBILIDADE INTEGER, AVALIACAO INTEGER);'); db.execute('CREATE TABLE IF NOT EXISTS AVAL_ELEG_COND_AVAL (ID_AVALIACAO_ELEGIBILIDADE INTEGER, AVALIACAO INTEGER);'); db.execute('CREATE TABLE IF NOT EXISTS BAIRROS (ID_BAIRRO INTEGER PRIMARY KEY AUTOINCREMENT, NO_BAIRRO TEXT);'); - db.execute('CREATE TABLE IF NOT EXISTS CADASTROS_INDIVIDUAIS (ID_CAD_INDIVIDUAL INTEGER PRIMARY KEY AUTOINCREMENT, STATUS_CADASTRO INTEGER, ID_CIDADAO INTEGER, CD_USUARIO_SUS TEXT, ID_AREA_CIDADAO INTEGER, ID_MICROAREA_CIDADAO INTEGER, FORA_AREA INTEGER, RESPONSAVEL_FAMILIAR INTEGER, ID_RESPONSAVEL_FAMILIAR TEXT, NOME_RESPONSAVEL_FAMILIAR TEXT, PARENTESCO INTEGER, ESCOLARIDADE INTEGER, FREQ_ESCOLA_CRECHE INTEGER, SITUACAO_MERCADO INTEGER, CUIDADOR_TRADICIONAL INTEGER, GRUPO_COMUNITARIO INTEGER, PLANO_PRIVADO INTEGER, COMUNIDADE_TRADICIONAL INTEGER, COM_TRADI_QUAL TEXT, ORIENT_SEXUAL INTEGER, TEM_DEFICIENCIA INTEGER, DEF_AUDITIVA INTEGER, DEF_INTELECTUAL INTEGER, DEF_VISUAL INTEGER, DEF_FISICA INTEGER, DEF_OUTRAS INTEGER, SAIDA_CADASTRO INTEGER, DATA_SAIDA_CADASTRO TEXT, CADASTRO_RECUSADO INTEGER, GESTANTE INTEGER, MATERNIDADE_REFERENCIA TEXT, PESO TEXT, FUMANTE INTEGER, USA_ALCOOL INTEGER, USA_DROGAS INTEGER, HIPERTENSAO INTEGER, DIABETES INTEGER, AVC_DERRAME INTEGER, INFARTO INTEGER, HANSENIASE INTEGER, TUBERCULOSE INTEGER, CANCER INTEGER, INTERNACAO INTEGER, MOTIVO TEXT, DOENCA_CARDIACA INTEGER, PROBLEMA_RINS INTEGER, DOENCA_PULMAO INTEGER, SAUDE_MENTAL INTEGER, ACAMADO INTEGER, DOMICILIADO INTEGER, PLANTAS_MED INTEGER, PLANTAS_MED_QUAIS TEXT, PIC INTEGER, OUTRAS_CONDICOES TEXT, TEMPO_SITUACAO_RUA INTEGER, ACOMP_INTITUICAO INTEGER, ACOMP_INTITUICAO_QUAL TEXT, BENEFICIO INTEGER, REF_FAMILIAR INTEGER, VISITA_FAMILIAR INTEGER, PARENTESCO_VISITA TEXT, ALIMENTACAO_DIARIA INTEGER, REST_POPULAR INTEGER, DOACAO_REST INTEGER, DOACAO_RELIGIOSO INTEGER, DOACAO_POPULAR INTEGER, OUTROS_ALIM INTEGER, ACESSO_HIGIENE INTEGER, BANHO INTEGER, SANITARIO INTEGER, HIGIENE_BUCAL INTEGER, OUTROS_HIGIENE INTEGER, FICHA_ALTERACAO INTEGER, ID_RESP_CADASTRO INTEGER, CNES_RESP_CADASTRO TEXT, CBO_RESP_CADASTRO TEXT, INE_RESP_CADASTRO TEXT, DT_CADASTRO TEXT, ID_EQUIPE INTEGER, ORIGEM TEXT, SINCRONIZADO TEXT, DT_ENTRADA_BRASIL TEXT, DT_NATURALIZACAO TEXT, PORTARIA_NATURALIZACAO TEXT, CRIANCAS_ADULTO INTEGER, CRIANCAS_OUTRAS_CRIANCAS INTEGER, CRIANCAS_ADOLESCENTE INTEGER, CRIANCAS_SOZINHA INTEGER, CRIANCAS_CRECHE INTEGER, CRIANCAS_OUTRO INTEGER, IDENTIDADE_GENERO INTEGER);'); + db.execute('CREATE TABLE IF NOT EXISTS CADASTROS_INDIVIDUAIS (ID_CAD_INDIVIDUAL INTEGER PRIMARY KEY AUTOINCREMENT, STATUS_CADASTRO INTEGER, ID_CIDADAO INTEGER, CD_USUARIO_SUS TEXT, ID_AREA_CIDADAO INTEGER, ID_MICROAREA_CIDADAO INTEGER, FORA_AREA INTEGER, RESPONSAVEL_FAMILIAR INTEGER, ID_RESPONSAVEL_FAMILIAR TEXT, NOME_RESPONSAVEL_FAMILIAR TEXT, PARENTESCO INTEGER, ESCOLARIDADE INTEGER, FREQ_ESCOLA_CRECHE INTEGER, SITUACAO_MERCADO INTEGER, CUIDADOR_TRADICIONAL INTEGER, GRUPO_COMUNITARIO INTEGER, PLANO_PRIVADO INTEGER, COMUNIDADE_TRADICIONAL INTEGER, COM_TRADI_QUAL TEXT, ORIENT_SEXUAL INTEGER, TEM_DEFICIENCIA INTEGER, DEF_AUDITIVA INTEGER, DEF_INTELECTUAL INTEGER, DEF_VISUAL INTEGER, DEF_FISICA INTEGER, DEF_OUTRAS INTEGER, SAIDA_CADASTRO INTEGER, DATA_SAIDA_CADASTRO TEXT, CADASTRO_RECUSADO INTEGER, GESTANTE INTEGER, MATERNIDADE_REFERENCIA TEXT, PESO INTEGER, FUMANTE INTEGER, USA_ALCOOL INTEGER, USA_DROGAS INTEGER, HIPERTENSAO INTEGER, DIABETES INTEGER, AVC_DERRAME INTEGER, INFARTO INTEGER, HANSENIASE INTEGER, TUBERCULOSE INTEGER, CANCER INTEGER, INTERNACAO INTEGER, MOTIVO TEXT, DOENCA_CARDIACA INTEGER, PROBLEMA_RINS INTEGER, DOENCA_PULMAO INTEGER, SAUDE_MENTAL INTEGER, ACAMADO INTEGER, DOMICILIADO INTEGER, PLANTAS_MED INTEGER, PLANTAS_MED_QUAIS TEXT, PIC INTEGER, OUTRAS_CONDICOES TEXT, TEMPO_SITUACAO_RUA INTEGER, ACOMP_INTITUICAO INTEGER, ACOMP_INTITUICAO_QUAL TEXT, BENEFICIO INTEGER, REF_FAMILIAR INTEGER, VISITA_FAMILIAR INTEGER, PARENTESCO_VISITA TEXT, ALIMENTACAO_DIARIA INTEGER, REST_POPULAR INTEGER, DOACAO_REST INTEGER, DOACAO_RELIGIOSO INTEGER, DOACAO_POPULAR INTEGER, OUTROS_ALIM INTEGER, ACESSO_HIGIENE INTEGER, BANHO INTEGER, SANITARIO INTEGER, HIGIENE_BUCAL INTEGER, OUTROS_HIGIENE INTEGER, FICHA_ALTERACAO INTEGER, ID_RESP_CADASTRO INTEGER, CNES_RESP_CADASTRO TEXT, CBO_RESP_CADASTRO TEXT, INE_RESP_CADASTRO TEXT, DT_CADASTRO TEXT, ID_EQUIPE INTEGER, ORIGEM TEXT, SINCRONIZADO TEXT, DT_ENTRADA_BRASIL TEXT, DT_NATURALIZACAO TEXT, PORTARIA_NATURALIZACAO TEXT, CRIANCAS_ADULTO INTEGER, CRIANCAS_OUTRAS_CRIANCAS INTEGER, CRIANCAS_ADOLESCENTE INTEGER, CRIANCAS_SOZINHA INTEGER, CRIANCAS_CRECHE INTEGER, CRIANCAS_OUTRO INTEGER, IDENTIDADE_GENERO INTEGER);'); db.execute('CREATE TABLE IF NOT EXISTS CBOS (CODIGO_CBO TEXT, DESCRICAO_CBO TEXT);'); db.execute('CREATE TABLE IF NOT EXISTS CIAPS (CODIGO_CIAP TEXT, DESC_CIAP TEXT, TIPO_CIAP TEXT);'); db.execute('CREATE TABLE IF NOT EXISTS CIDADAOS (ID_CIDADAO INTEGER PRIMARY KEY AUTOINCREMENT, CD_USUARIO_SUS TEXT, NOME_CIDADAO TEXT, NOME_SOCIAL TEXT, SEXO TEXT, DT_NASCIMENTO TEXT, ID_ESTADO_CIVIL INTEGER, NOME_CONJUGE TEXT, NACIONALIDADE INTEGER, ID_MUNICIPIO_NASC INTEGER, NO_MUNICIPIO_NASC TEXT, ESTADO_UF_NASC TEXT, ID_ETNIA INTEGER, ID_ESCOLARIDADE INTEGER, ID_DEFICIENCIA INTEGER, NOME_MAE TEXT, DESCONHECE_MAE INTEGER, NOME_PAI TEXT, DESCONHECE_PAI INTEGER, ID_UNIDADE INTEGER, NUM_PRONTUARIO TEXT, NUM_PRONTUARIO_PROV TEXT, CLASSIFICACAO INTEGER, CLASSIFICACAO_SUB INTEGER, NUM_FAMILIA INTEGER, ID_PAIS_RESID INTEGER, ID_MUNICIPIO_RESID INTEGER, NO_MUNICIPIO_RESID TEXT, ESTADO_UF_RESID TEXT, CODIGO_IBGE_RESID INTEGER, NO_BAIRRO_LOGR TEXT, ID_LOGR_TIPO INTEGER, NOME_LOGR TEXT, CEP_LOGR INTEGER, NUMERO_LOGR INTEGER, LOTEAMENTO_LOGR INTEGER, COMPL_LOGR TEXT, PONTO_REFERENCIA TEXT, ZONA_LOGR INTEGER, DDD_TELEFONE INTEGER, NUM_TELEFONE INTEGER, DDD_CELULAR INTEGER, NUM_CELULAR INTEGER, DDD_RECADO INTEGER, NUM_RECADO INTEGER, EMAIL TEXT, OBSERVACOES TEXT, CPF INTEGER, CNS TEXT, TITULO_ELEITOR INTEGER, RG_NUMERO INTEGER, RG_COMPLEMENTO TEXT, RG_UF TEXT, RG_ORGAO TEXT, RG_DATA_EMISSAO TEXT, TIPO_CERTIDAO INTEGER, NUM_CERTIDAO TEXT, CARTORIO_CERTIDAO TEXT, LIVRO_CERTIDAO TEXT, FOLHA_CERTIDAO TEXT, TERMO_CERTIDAO TEXT, DT_EMISSAO_CERTIDAO TEXT, NUM_CTPS TEXT, NUM_SERIE_CTPS TEXT, ESTADO_UF_CTPS TEXT, NUM_PIS_PASEP TEXT, FL_RETIROU_CARTAO INTEGER, NUM_NIS TEXT, NUM_PROT_CROSS TEXT, RENDA_MENSAL REAL, PROFISSAO TEXT, DT_OBITO TEXT, DECLARACAO_OBITO TEXT, BLOQUEIO INTEGER, ORIGEM INTEGER, DT_HORA_CADASTRO TEXT, ID_USUARIO_CADASTRO INTEGER, ID_DOMICILIO INTEGER, ATENDIMENTOS INTEGER, SINCRONIZADO TEXT);'); diff --git a/lib/service/db/db_sqlite_sync.dart b/lib/service/db/db_sqlite_sync.dart index c04b78e..4a8e8ac 100644 --- a/lib/service/db/db_sqlite_sync.dart +++ b/lib/service/db/db_sqlite_sync.dart @@ -296,7 +296,7 @@ class DbSqliteSync{ } return db; } - Future insertCadastrosIndividuais(var value)async{ + Future insertCadastrosIndividuais(var value,String type,String CD_USUARIO_SUS)async{ Database db = await DbSqliteLoad().intialDB(); // CADASTROS_INDIVIDUAIS (ID_CAD_INDIVIDUAL,STATUS_CADASTRO,ID_CIDADAO,CD_USUARIO_SUS,ID_AREA_CIDADAO,ID_MICROAREA_CIDADAO,FORA_AREA,RESPONSAVEL_FAMILIAR, // ID_RESPONSAVEL_FAMILIAR,NOME_RESPONSAVEL_FAMILIAR,PARENTESCO,ESCOLARIDADE,FREQ_ESCOLA_CRECHE,SITUACAO_MERCADO,CUIDADOR_TRADICIONAL,GRUPO_COMUNITARIO,PLANO_PRIVADO, @@ -321,102 +321,109 @@ class DbSqliteSync{ // "cboProfissional":"515105", "ine":"0001485628","dtCadastro":"2022-04-05","cdEquipe":5,"dtEntradaBrasil":null,"dtNaturalizado":null,"portariaNaturalizacao":"", // "criancasAdulto":2,"criancasOutrasCriancas":2,"criancasAdolescente":2,"criancasSozinha":2,"criancasCresce":2,"criancasOutro":2,"identidadeGenero":null,"statusCadastro":null} - for(int i=0;value.length > i;i++){ - Map row = { - 'ID_CAD_INDIVIDUAL' : value[i]['idCadIndividual'], - 'STATUS_CADASTRO' : value[i]['statusCadastro'], - 'ID_CIDADAO' : value[i]['idCidadao'], - 'CD_USUARIO_SUS' : value[i]['cdUsuarioSUS'], - 'ID_AREA_CIDADAO' : value[i]['idAreaCidadao'], - 'ID_MICROAREA_CIDADAO' : value[i]['idMicroAreaCidadao'], - 'FORA_AREA' : value[i]['foraArea'], - 'RESPONSAVEL_FAMILIAR' : value[i]['flResponsavelFamiliar'], - 'ID_RESPONSAVEL_FAMILIAR' : value[i]['cdResponsavelFamiliar'], - 'NOME_RESPONSAVEL_FAMILIAR' : value[i]['nomeResponsavelFamiliar'], - 'PARENTESCO' : value[i]['parentesco'], - 'ESCOLARIDADE' : value[i]['curso'], - 'FREQ_ESCOLA_CRECHE' : value[i]['frequentaEscola'], - 'SITUACAO_MERCADO' : value[i]['situacaoMercado'], - 'CUIDADOR_TRADICIONAL' : value[i]['cuidadorTrad'], - 'GRUPO_COMUNITARIO' : value[i]['grupoComunitario'], - 'PLANO_PRIVADO' : value[i]['plSaudePrivado'], - 'COMUNIDADE_TRADICIONAL' : value[i]['comunidadeTradicional'], - 'COM_TRADI_QUAL' : value[i]['comunidadeTradicionalEspec'], - 'ORIENT_SEXUAL' : value[i]['orientacaoSexual'], - 'TEM_DEFICIENCIA' : value[i]['temDeficiencia'], - 'DEF_AUDITIVA' : value[i]['defAuditiva'], - 'DEF_INTELECTUAL' : value[i]['defIntelectual'], - 'DEF_VISUAL' : value[i]['defVisual'], - 'DEF_FISICA' : value[i]['defFisica'], - 'DEF_OUTRAS' : value[i]['defOutros'], - 'SAIDA_CADASTRO' : value[i]['saidaMotivo'], - 'DATA_SAIDA_CADASTRO' : value[i]['saidaData'], - 'CADASTRO_RECUSADO' : value[i]['recusado'], - 'GESTANTE' : value[i]['gestante'], - 'MATERNIDADE_REFERENCIA' : value[i]['maternidadeReferencia'], - 'PESO' : value[i]['peso'], - 'FUMANTE' : value[i]['fumante'], - 'USA_ALCOOL' : value[i]['usaAlcool'], - 'USA_DROGAS' : value[i]['outrasDrogas'], - 'HIPERTENSAO' : value[i]['hipertensao'], - 'DIABETES' : value[i]['diabetes'], - 'AVC_DERRAME' : value[i]['avcDerrame'], - 'INFARTO' : value[i]['infarto'], - 'HANSENIASE' : value[i]['hanseniase'], - 'TUBERCULOSE' : value[i]['tuberculose'], - 'CANCER' : value[i]['cancer'], - 'INTERNACAO' : value[i]['internacao12Meses'], - 'MOTIVO' : value[i]['motivo'], - 'DOENCA_CARDIACA' : value[i]['doencaCardiaca'], - 'PROBLEMA_RINS' : value[i]['problemasRins'], - 'DOENCA_PULMAO' : value[i]['doencaRespiratoriaPulmao'], - 'SAUDE_MENTAL' : value[i]['tratamInternacaoPsiquiatrica'], - 'ACAMADO' : value[i]['acamado'], - 'DOMICILIADO' : value[i]['domiciliado'], - 'PLANTAS_MED' : value[i]['plantasMedicinais'], - 'PLANTAS_MED_QUAIS' : value[i]['plantasQuais'], - 'PIC' : value[i]['praticasIntegrativasComplem'], - 'OUTRAS_CONDICOES' : value[i]['outrasCondSaude'], - 'TEMPO_SITUACAO_RUA' : value[i]['tempoSituacaoRua'], - 'ACOMP_INTITUICAO' : value[i]['acompanhadoInstituicao'], - 'ACOMP_INTITUICAO_QUAL' : value[i]['instituicaoQual'], - 'BENEFICIO' : value[i]['recebeBeneficio'], - 'REF_FAMILIAR' : value[i]['referenciaFamiliar'], - 'PARENTESCO_VISITA' : value[i]['visitaFamiliarParentesco'], - 'ALIMENTACAO_DIARIA' : value[i]['alimentacaoDiaria'], - 'REST_POPULAR' : value[i]['alimentecaoRestaurantePop'], - 'DOACAO_REST' : value[i]['alimentacaoDoacaoRestaurante'], - 'DOACAO_RELIGIOSO' : value[i]['alimentacaoDoacaoGrupoRel'], - 'DOACAO_POPULAR' : value[i]['alimentacaoDoacaoPop'], - 'OUTROS_ALIM' : value[i]['alimentacaoOutros'], - 'ACESSO_HIGIENE' : value[i]['higienePessoal'], - 'BANHO' : value[i]['higieneBanho'], - 'SANITARIO' : value[i]['higieneSanitario'], - 'HIGIENE_BUCAL' : value[i]['higieneBucal'], - 'OUTROS_HIGIENE' : value[i]['higieneOutros'], - 'FICHA_ALTERACAO' : value[i]['fichaAlteracao'], - 'ID_RESP_CADASTRO' : value[i]['idProfissionalResponsavel'], - 'CNES_RESP_CADASTRO' : value[i]['cnesUnidade'], - 'CBO_RESP_CADASTRO' : value[i]['cboProfissional'], - 'INE_RESP_CADASTRO' : value[i]['ine'], - 'DT_CADASTRO' : value[i]['dtCadastro'], - 'ID_EQUIPE' : value[i]['cdEquipe'], - 'ORIGEM' : '', - 'SINCRONIZADO' : '', - 'DT_ENTRADA_BRASIL' : value[i]['dtEntradaBrasil'], - 'DT_NATURALIZACAO' : value[i]['dtNaturalizado'], - 'PORTARIA_NATURALIZACAO' : value[i]['portariaNaturalizacao'], - 'CRIANCAS_ADULTO' : value[i]['criancasAdulto'], - 'CRIANCAS_OUTRAS_CRIANCAS' : value[i]['criancasOutrasCriancas'], - 'CRIANCAS_ADOLESCENTE' : value[i]['criancasAdolescente'], - 'CRIANCAS_SOZINHA' : value[i]['criancasSozinha'], - 'CRIANCAS_CRECHE' : value[i]['criancasCresce'], - 'CRIANCAS_OUTRO' : value[i]['criancasOutro'], - 'IDENTIDADE_GENERO' : value[i]['identidadeGenero'], - }; - int id = await db.insert('CADASTROS_INDIVIDUAIS', row); - // print('id increment $id PROCEDIMENTOS_SIGTAP_REGISTRO'); - // print(await db.query('CADASTROS_INDIVIDUAIS')); + if(type=='sync'){ + for(int i=0;value.length > i;i++){ + Map row = { + 'ID_CAD_INDIVIDUAL' : value[i]['idCadIndividual'], + 'STATUS_CADASTRO' : value[i]['statusCadastro'], + 'ID_CIDADAO' : value[i]['idCidadao'], + 'CD_USUARIO_SUS' : value[i]['cdUsuarioSUS'], + 'ID_AREA_CIDADAO' : value[i]['idAreaCidadao'], + 'ID_MICROAREA_CIDADAO' : value[i]['idMicroAreaCidadao'], + 'FORA_AREA' : value[i]['foraArea'], + 'RESPONSAVEL_FAMILIAR' : value[i]['flResponsavelFamiliar'], + 'ID_RESPONSAVEL_FAMILIAR' : value[i]['cdResponsavelFamiliar'], + 'NOME_RESPONSAVEL_FAMILIAR' : value[i]['nomeResponsavelFamiliar'], + 'PARENTESCO' : value[i]['parentesco'], + 'ESCOLARIDADE' : value[i]['curso'], + 'FREQ_ESCOLA_CRECHE' : value[i]['frequentaEscola'], + 'SITUACAO_MERCADO' : value[i]['situacaoMercado'], + 'CUIDADOR_TRADICIONAL' : value[i]['cuidadorTrad'], + 'GRUPO_COMUNITARIO' : value[i]['grupoComunitario'], + 'PLANO_PRIVADO' : value[i]['plSaudePrivado'], + 'COMUNIDADE_TRADICIONAL' : value[i]['comunidadeTradicional'], + 'COM_TRADI_QUAL' : value[i]['comunidadeTradicionalEspec'], + 'ORIENT_SEXUAL' : value[i]['orientacaoSexual'], + 'TEM_DEFICIENCIA' : value[i]['temDeficiencia'], + 'DEF_AUDITIVA' : value[i]['defAuditiva'], + 'DEF_INTELECTUAL' : value[i]['defIntelectual'], + 'DEF_VISUAL' : value[i]['defVisual'], + 'DEF_FISICA' : value[i]['defFisica'], + 'DEF_OUTRAS' : value[i]['defOutros'], + 'SAIDA_CADASTRO' : value[i]['saidaMotivo'], + 'DATA_SAIDA_CADASTRO' : value[i]['saidaData'], + 'CADASTRO_RECUSADO' : value[i]['recusado'], + 'GESTANTE' : value[i]['gestante'], + 'MATERNIDADE_REFERENCIA' : value[i]['maternidadeReferencia'], + 'PESO' : value[i]['peso'], + 'FUMANTE' : value[i]['fumante'], + 'USA_ALCOOL' : value[i]['usaAlcool'], + 'USA_DROGAS' : value[i]['outrasDrogas'], + 'HIPERTENSAO' : value[i]['hipertensao'], + 'DIABETES' : value[i]['diabetes'], + 'AVC_DERRAME' : value[i]['avcDerrame'], + 'INFARTO' : value[i]['infarto'], + 'HANSENIASE' : value[i]['hanseniase'], + 'TUBERCULOSE' : value[i]['tuberculose'], + 'CANCER' : value[i]['cancer'], + 'INTERNACAO' : value[i]['internacao12Meses'], + 'MOTIVO' : value[i]['motivo'], + 'DOENCA_CARDIACA' : value[i]['doencaCardiaca'], + 'PROBLEMA_RINS' : value[i]['problemasRins'], + 'DOENCA_PULMAO' : value[i]['doencaRespiratoriaPulmao'], + 'SAUDE_MENTAL' : value[i]['tratamInternacaoPsiquiatrica'], + 'ACAMADO' : value[i]['acamado'], + 'DOMICILIADO' : value[i]['domiciliado'], + 'PLANTAS_MED' : value[i]['plantasMedicinais'], + 'PLANTAS_MED_QUAIS' : value[i]['plantasQuais'], + 'PIC' : value[i]['praticasIntegrativasComplem'], + 'OUTRAS_CONDICOES' : value[i]['outrasCondSaude'], + 'TEMPO_SITUACAO_RUA' : value[i]['tempoSituacaoRua'], + 'ACOMP_INTITUICAO' : value[i]['acompanhadoInstituicao'], + 'ACOMP_INTITUICAO_QUAL' : value[i]['instituicaoQual'], + 'BENEFICIO' : value[i]['recebeBeneficio'], + 'REF_FAMILIAR' : value[i]['referenciaFamiliar'], + 'PARENTESCO_VISITA' : value[i]['visitaFamiliarParentesco'], + 'ALIMENTACAO_DIARIA' : value[i]['alimentacaoDiaria'], + 'REST_POPULAR' : value[i]['alimentecaoRestaurantePop'], + 'DOACAO_REST' : value[i]['alimentacaoDoacaoRestaurante'], + 'DOACAO_RELIGIOSO' : value[i]['alimentacaoDoacaoGrupoRel'], + 'DOACAO_POPULAR' : value[i]['alimentacaoDoacaoPop'], + 'OUTROS_ALIM' : value[i]['alimentacaoOutros'], + 'ACESSO_HIGIENE' : value[i]['higienePessoal'], + 'BANHO' : value[i]['higieneBanho'], + 'SANITARIO' : value[i]['higieneSanitario'], + 'HIGIENE_BUCAL' : value[i]['higieneBucal'], + 'OUTROS_HIGIENE' : value[i]['higieneOutros'], + 'FICHA_ALTERACAO' : value[i]['fichaAlteracao'], + 'ID_RESP_CADASTRO' : value[i]['idProfissionalResponsavel'], + 'CNES_RESP_CADASTRO' : value[i]['cnesUnidade'], + 'CBO_RESP_CADASTRO' : value[i]['cboProfissional'], + 'INE_RESP_CADASTRO' : value[i]['ine'], + 'DT_CADASTRO' : value[i]['dtCadastro'], + 'ID_EQUIPE' : value[i]['cdEquipe'], + 'ORIGEM' : '', + 'SINCRONIZADO' : '', + 'DT_ENTRADA_BRASIL' : value[i]['dtEntradaBrasil'], + 'DT_NATURALIZACAO' : value[i]['dtNaturalizado'], + 'PORTARIA_NATURALIZACAO' : value[i]['portariaNaturalizacao'], + 'CRIANCAS_ADULTO' : value[i]['criancasAdulto'], + 'CRIANCAS_OUTRAS_CRIANCAS' : value[i]['criancasOutrasCriancas'], + 'CRIANCAS_ADOLESCENTE' : value[i]['criancasAdolescente'], + 'CRIANCAS_SOZINHA' : value[i]['criancasSozinha'], + 'CRIANCAS_CRECHE' : value[i]['criancasCresce'], + 'CRIANCAS_OUTRO' : value[i]['criancasOutro'], + 'IDENTIDADE_GENERO' : value[i]['identidadeGenero'], + }; + int id = await db.insert('CADASTROS_INDIVIDUAIS', row); + // print('id increment $id PROCEDIMENTOS_SIGTAP_REGISTRO'); + // print(await db.query('CADASTROS_INDIVIDUAIS')); + } + }else if(type=='new'){ + int id = await db.insert('CADASTROS_INDIVIDUAIS', value); + // print('novo id $id'); + }else if(type=='update'){ + await db.update('CADASTROS_INDIVIDUAIS', value,where: "CD_USUARIO_SUS = '$CD_USUARIO_SUS'"); } return db; } diff --git a/lib/widgets/dropdown_button_default.dart b/lib/widgets/dropdown_button_default.dart index 9c33d2d..fb420e9 100644 --- a/lib/widgets/dropdown_button_default.dart +++ b/lib/widgets/dropdown_button_default.dart @@ -28,13 +28,13 @@ class DropDownButtonDefault extends StatelessWidget { return Column( children: [ Container( - width: width, + width: width*0.95, margin: ConstVariable().marginHightInput, color: ColorPalette.white, child: DropdownButtonHideUnderline( child: DropdownButton( hint: Padding( - padding: const EdgeInsets.symmetric(horizontal: 8.0), + padding: const EdgeInsets.symmetric(horizontal: 0.0), child: TextDefault(text: title,fontSize: ConstVariable().fontSizeInput,textAlign: TextAlign.end,color: Colors.black,), ), value: select, @@ -43,7 +43,7 @@ class DropDownButtonDefault extends StatelessWidget { child: Container( width: widthContainer, child: Padding( - padding: EdgeInsets.symmetric(horizontal: 10.0), + padding: EdgeInsets.symmetric(horizontal: 0.0), child: TextDefault( text: value, maxLines: 2, diff --git a/lib/widgets/dropdown_with_subtitle.dart b/lib/widgets/dropdown_with_subtitle.dart index b529a74..a4452d0 100644 --- a/lib/widgets/dropdown_with_subtitle.dart +++ b/lib/widgets/dropdown_with_subtitle.dart @@ -11,6 +11,8 @@ class DropdownWithSubtitle extends StatelessWidget { double widthContainerDropdown; List list; var onChanged; + var onTapDelete; + bool showDelete; Color colorBorder; DropdownWithSubtitle({ @@ -22,7 +24,9 @@ class DropdownWithSubtitle extends StatelessWidget { required this.hintDropdown, required this.onChanged, required this.list, - this.colorBorder = ColorPalette.black54, + this.colorBorder = ColorPalette.white, + this.onTapDelete = null, + this.showDelete = false }); @override @@ -50,14 +54,23 @@ class DropdownWithSubtitle extends StatelessWidget { ), margin: EdgeInsets.symmetric(horizontal: 5), padding: EdgeInsets.symmetric(horizontal: 2), - child: DropDownButtonDefault( - title: hintDropdown, - fontSize: 14, - width: widthDropdown, - widthContainer: widthContainerDropdown, - select: select, - list: list, - onChanged: onChanged, + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + children: [ + DropDownButtonDefault( + title: hintDropdown, + fontSize: 14, + width: widthDropdown, + widthContainer: widthContainerDropdown, + select: select, + list: list, + onChanged: onChanged, + ), + select!=null &&showDelete?GestureDetector( + onTap: onTapDelete, + child: Icon(Icons.delete,color: ColorPalette.appBar,) + ):Container(width: 23,) + ], ), ), ], diff --git a/lib/widgets/input_with_subtitle.dart b/lib/widgets/input_with_subtitle.dart index e32ea4b..8bf4088 100644 --- a/lib/widgets/input_with_subtitle.dart +++ b/lib/widgets/input_with_subtitle.dart @@ -33,7 +33,7 @@ class InputWithSubtitle extends StatelessWidget { this.mandatory = true, this.textInputType = TextInputType.text, this.maxLines = 1, - this.colorBorder = ColorPalette.black54, + this.colorBorder = ColorPalette.white, required this.onChanged, this.widthError = 0.7 });