From 1041d0497557305af3e173a5df4bf701fb3d07ff Mon Sep 17 00:00:00 2001 From: Reginaldo Date: Tue, 2 May 2023 17:39:13 -0300 Subject: [PATCH] =?UTF-8?q?finalizada=20a=20recupera=C3=A7=C3=A3o=20de=20d?= =?UTF-8?q?ados=20do=20cidad=C3=A3o?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/config/const_variable.dart | 56 +++ lib/screens/login/sync_login_screen.dart | 4 +- .../register_home_screen.dart | 378 +++++++++++++----- .../register_individual_screen.dart | 2 +- lib/service/db/db_sqlite_load.dart | 2 +- 5 files changed, 331 insertions(+), 111 deletions(-) diff --git a/lib/config/const_variable.dart b/lib/config/const_variable.dart index fd710e3..a7cabf3 100644 --- a/lib/config/const_variable.dart +++ b/lib/config/const_variable.dart @@ -244,6 +244,62 @@ class ConstVariable{ DropDownDataModel(cod: 8,title: 'SITUAÇÃO DE RUA'), ]; + List listSituationRural = [ + DropDownDataModel(cod: 1,title: 'PROPRIETÁRIO'), + DropDownDataModel(cod: 2,title: 'PARCEIRO(A)/MEEIRO(A)'), + DropDownDataModel(cod: 3,title: 'ASSENTADO(A)'), + DropDownDataModel(cod: 4,title: 'POSSEIRO(A)'), + DropDownDataModel(cod: 5,title: 'ARRENDATÁRIO(A)'), + DropDownDataModel(cod: 6,title: 'COMODATÁRIO(A)'), + DropDownDataModel(cod: 7,title: 'BENEFICIÁRIO(A) DO BANCO DA TERRA'), + DropDownDataModel(cod: 8,title: 'NÃO SE APLICA'), + ]; + List listTypeAcessHome = [ + DropDownDataModel(cod: 1,title: 'ASFALTO'), + DropDownDataModel(cod: 2,title: 'CHÃO BATIDO'), + DropDownDataModel(cod: 3,title: 'FLUVIAL'), + DropDownDataModel(cod: 4,title: 'OUTRO'), + ]; + List listMaterialHome = [ + DropDownDataModel(cod: 1,title: 'ALVENARIA COM REVESTIMENTO'), + DropDownDataModel(cod: 2,title: 'ALVENARIA SEM REVESTIMENTO'), + DropDownDataModel(cod: 3,title: 'TAIPA COM REVESTIMENTO'), + DropDownDataModel(cod: 4,title: 'TAIPA SEM REVESTIMENTO'), + DropDownDataModel(cod: 5,title: 'MADEIRA APARELHADA'), + DropDownDataModel(cod: 6,title: 'MATERIAL REAPROVEITADO'), + DropDownDataModel(cod: 7,title: 'PALHA'), + DropDownDataModel(cod: 8,title: 'OUTRO MATERIAL'), + ]; + List listWaterHome = [ + DropDownDataModel(cod: 1,title: 'REDE ENCANADA ATÉ O DOMICÍLIO'), + DropDownDataModel(cod: 2,title: 'POÇO/NASCENTE NO DOMICÍLIO'), + DropDownDataModel(cod: 3,title: 'CAMINHÃO PIPA'), + DropDownDataModel(cod: 4,title: 'OUTRO'), + DropDownDataModel(cod: 5,title: 'CISTERNA'), + ]; + List listWaterTreatment = [ + DropDownDataModel(cod: 1,title: 'FILTRAÇÃO'), + DropDownDataModel(cod: 2,title: 'FERVURA'), + DropDownDataModel(cod: 3,title: 'CLORAÇÃO'), + DropDownDataModel(cod: 4,title: 'SEM TRATAMENTO'), + DropDownDataModel(cod: 5,title: 'MINERAL'), + DropDownDataModel(cod: 6,title: 'OUTRO'), + ]; + List listDestinyTrash = [ + DropDownDataModel(cod: 1,title: 'COLETADO'), + DropDownDataModel(cod: 2,title: 'QUEIMADO/ENTERRADO'), + DropDownDataModel(cod: 3,title: 'CÉU ABERTO'), + DropDownDataModel(cod: 4,title: 'OUTRO'), + ]; + List listSanitary = [ + DropDownDataModel(cod: 1,title: 'REDE COLETORA DE ESGOTO OU PLUVIAL'), + DropDownDataModel(cod: 2,title: 'FOSSA RUDIMENTAR'), + DropDownDataModel(cod: 3,title: 'FOSSA SÉPTICA'), + DropDownDataModel(cod: 4,title: 'CÉU ABERTO'), + DropDownDataModel(cod: 5,title: 'OUTRA FORMA'), + DropDownDataModel(cod: 6,title: 'DIRETO PARA UM RIO, LAGO OU MAR'), + ]; + List listTypeLocation = [ DropDownDataModel(cod: 1,title: 'URBANO'), DropDownDataModel(cod: 2,title: 'RURAL'), diff --git a/lib/screens/login/sync_login_screen.dart b/lib/screens/login/sync_login_screen.dart index e8469cf..23312fd 100644 --- a/lib/screens/login/sync_login_screen.dart +++ b/lib/screens/login/sync_login_screen.dart @@ -218,7 +218,7 @@ class _SyncLoginScreenState extends State { onChanged: (v)=>setState((){}), ), DropDownButtonDefault( - width: width*0.6, + width: width*0.7, title: 'Unidade', list: listUnit, select: selectUnit, @@ -232,7 +232,7 @@ class _SyncLoginScreenState extends State { }, ), DropDownButtonDefault( - width: width*0.6, + width: width*0.7, title: 'Equipe', list: listTeam, select: selectTeam, diff --git a/lib/screens/registers_citizen/register_home_screen.dart b/lib/screens/registers_citizen/register_home_screen.dart index 8a1fdb9..7be0ba2 100644 --- a/lib/screens/registers_citizen/register_home_screen.dart +++ b/lib/screens/registers_citizen/register_home_screen.dart @@ -22,44 +22,38 @@ class RegisterHomeScreen extends StatefulWidget { class _RegisterHomeScreenState extends State { - var responsibleRegisterController = TextEditingController(); - var unitProfessionalController = TextEditingController(); - var dataRegisterController = TextEditingController(text: '06/12/2022'); - var controllerComfortable = TextEditingController(); - var controllerResidents = TextEditingController(); - var controllerAmount = TextEditingController(); + var QTDE_ANIMAIS = TextEditingController(); + var NUM_COMODOS = TextEditingController(); + var NUM_MORADORES = TextEditingController(); + var ID_RESP_CADASTRO = TextEditingController(); + var CNES_RESP_CADASTRO = TextEditingController(); + var DT_CADASTRO = TextEditingController(); - String? selectCBO; - String? selectAcessHome; - String? selectMaterialWall; - String? selectWater; - String? selectTreatmentWater; - String? selectDestinyTrash; - String? selectFormSanitaryDrainage; - String? selectRural; - - bool enableAnimals = false; - bool enableCats = false; - bool enableDogs = false; - bool enableBirds = false; - bool enableOther = false; - bool enableAccompaniedCompany = false; - bool enableEnergy = false; - bool statusRegister = true; - bool renponsibleFamily = true; - bool frequencySchool = false; - bool enableFather = false; - bool enableCityCard = false; - bool enableBlocked = false; - bool checkBoxNumber = false; - String date = 'Data de Nascimento'; bool FORA_AREA = false; + bool DISPONIBILIDADE_ENERGIA = false; + bool FL_ANIMAIS = false; + bool ANIMAIS_GATO = false; + bool ANIMAIS_CACHORRO = false; + bool ANIMAIS_PASSARO = false; + bool ANIMAIS_OUTROS = false; + bool edit = false; + bool editing = false; + bool mandatory = false; List listTypeHome = []; List listINE = []; List listSituationHome = []; List listTypeLocation = []; List listTypeResidence = []; + List listSituationRural = []; + List listTypeAcessHome = []; + List listMaterialHome = []; + List listWaterHome = []; + List listWaterTreatment = []; + List listDestinyTrash = []; + List listSanitary = []; + List listCBO = []; + List listINEPROF = []; String idUsuario = ''; String idUnidade = ''; @@ -70,6 +64,16 @@ class _RegisterHomeScreenState extends State { String? SITUACAO_MORADIA; String? TIPO_LOCALIDADE; String? TIPO_DOMICILIO; + String? SITUACAO_RURAL; + String? TIPO_ACESSO; + String? MAT_PREDOMINANTE; + String? TIPO_ABASTECIMENTO; + String? TRATAMENTO_AGUA; + String? DESTINO_LIXO; + String? ESCOAMENTO; + String? CBO_RESP_CADASTRO; + String? INE_RESP_CADASTRO; + String date_cad = ''; int ID_AREA_DOMICILIO=0; int ID_MICROAREA_DOMICILIO=0; @@ -77,6 +81,13 @@ class _RegisterHomeScreenState extends State { int SITUACAO_MORADIA_COD = 0; int TIPO_LOCALIDADE_COD = 0; int TIPO_DOMICILIO_COD = 0; + int SITUACAO_RURAL_COD = 0; + int TIPO_ACESSO_COD = 0; + int MAT_PREDOMINANTE_COD = 0; + int TIPO_ABASTECIMENTO_COD = 0; + int TRATAMENTO_AGUA_COD = 0; + int DESTINO_LIXO_COD = 0; + int ESCOAMENTO_COD = 0; escolherprazoInicio(BuildContext context) async { var pickDate = await showDatePicker( @@ -86,7 +97,8 @@ class _RegisterHomeScreenState extends State { lastDate: DateTime(2025)); if (pickDate != null) { setState(() { - date = formatData(year: pickDate.year, month: pickDate.month, day: pickDate.day); + 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); }); } } @@ -126,6 +138,27 @@ class _RegisterHomeScreenState extends State { for(int i = 0; ConstVariable().listTypeResidence.length > i; i++){ listTypeResidence.add(ConstVariable().listTypeResidence[i].title); } + for(int i = 0; ConstVariable().listSituationRural.length > i; i++){ + listSituationRural.add(ConstVariable().listSituationRural[i].title); + } + for(int i = 0; ConstVariable().listTypeAcessHome.length > i; i++){ + listTypeAcessHome.add(ConstVariable().listTypeAcessHome[i].title); + } + for(int i = 0; ConstVariable().listMaterialHome.length > i; i++){ + listMaterialHome.add(ConstVariable().listMaterialHome[i].title); + } + for(int i = 0; ConstVariable().listWaterHome.length > i; i++){ + listWaterHome.add(ConstVariable().listWaterHome[i].title); + } + for(int i = 0; ConstVariable().listWaterTreatment.length > i; i++){ + listWaterTreatment.add(ConstVariable().listWaterTreatment[i].title); + } + for(int i = 0; ConstVariable().listDestinyTrash.length > i; i++){ + listDestinyTrash.add(ConstVariable().listDestinyTrash[i].title); + } + for(int i = 0; ConstVariable().listSanitary.length > i; i++){ + listSanitary.add(ConstVariable().listSanitary[i].title); + } loadRegisterHome(); } @@ -163,17 +196,79 @@ class _RegisterHomeScreenState extends State { TIPO_DOMICILIO = ConstVariable().listTypeResidence[i].title; } } - print(TIPO_DOMICILIO_COD); - print(TIPO_DOMICILIO); - ////[{"cdDomicilio":16,"cdTipoImovel":1,"cdAreaDomicilio":null,"cdMicroareaDomicilio":null,"foraArea":1,"cdSituacao":2, - // cdTipoLocalidade":1,"cdTipoDomicilio":1,"nrMoradores":6,"nrComodo":7,"situacaoProducaoRural":0,"tipoAcesso":1, - // "materialParedesExternas":1,"dispEnergiaEletrica":1,"cdTipoAbastecimento":1,"cdTratamentoAgua":4,"cdDestinoLixo":1, - // "cdEscoamento":1,"animais":0,"animaisGato":0,"animaisCachorro":0,"animaisPassaro":0,"animaisOutros":0,"animaisQtde":null, - // "respCadastro":68,"cnesUnidade":"9372253","cboRespCadastro":"515105","ine":"0001485628","dtCadastro":"2021-11-10", - // "cdEquipe":5,"noInstPermanencia":null,"outrosProfissionaisInst":null,"noResponsavelInst":null,"cnsResponsavelInst":null, - // "gargoResponsavelInst":null,"telefoneResponsavelInst":null}, - setState(() {}); + NUM_MORADORES.text = dataHome[0]['NUM_MORADORES'].toString()=='null'?'':dataHome[0]['NUM_MORADORES'].toString(); + NUM_COMODOS.text = dataHome[0]['NUM_COMODOS'].toString()=='null'?'':dataHome[0]['NUM_COMODOS'].toString(); + SITUACAO_RURAL_COD = dataHome[0]['SITUACAO_RURAL']??0; + for (int i = 0; ConstVariable().listSituationRural.length > i; i++) { + if (ConstVariable().listSituationRural[i].cod == SITUACAO_RURAL_COD) { + SITUACAO_RURAL = ConstVariable().listSituationRural[i].title; + } + } + TIPO_ACESSO_COD = dataHome[0]['TIPO_ACESSO']??0; + for (int i = 0; ConstVariable().listTypeAcessHome.length > i; i++) { + if (ConstVariable().listTypeAcessHome[i].cod == TIPO_ACESSO_COD) { + TIPO_ACESSO = ConstVariable().listTypeAcessHome[i].title; + } + } + MAT_PREDOMINANTE_COD = dataHome[0]['MAT_PREDOMINANTE']??0; + for (int i = 0; ConstVariable().listMaterialHome.length > i; i++) { + if (ConstVariable().listMaterialHome[i].cod == MAT_PREDOMINANTE_COD) { + MAT_PREDOMINANTE = ConstVariable().listMaterialHome[i].title; + } + } + DISPONIBILIDADE_ENERGIA = dataHome[0]['DISPONIBILIDADE_ENERGIA']==1?true:false; + TIPO_ABASTECIMENTO_COD = dataHome[0]['TIPO_ABASTECIMENTO']??0; + for (int i = 0; ConstVariable().listWaterHome.length > i; i++) { + if (ConstVariable().listWaterHome[i].cod == TIPO_ACESSO_COD) { + TIPO_ABASTECIMENTO = ConstVariable().listWaterHome[i].title; + } + } + TRATAMENTO_AGUA_COD = dataHome[0]['TRATAMENTO_AGUA']??0; + for (int i = 0; ConstVariable().listWaterHome.length > i; i++) { + if (ConstVariable().listWaterTreatment[i].cod == TRATAMENTO_AGUA_COD) { + TRATAMENTO_AGUA = ConstVariable().listWaterTreatment[i].title; + } + } + DESTINO_LIXO_COD = dataHome[0]['DESTINO_LIXO']??0; + for (int i = 0; ConstVariable().listDestinyTrash.length > i; i++) { + if (ConstVariable().listDestinyTrash[i].cod == DESTINO_LIXO_COD) { + DESTINO_LIXO = ConstVariable().listDestinyTrash[i].title; + } + } + ESCOAMENTO_COD = dataHome[0]['ESCOAMENTO']??0; + for (int i = 0; ConstVariable().listSanitary.length > i; i++) { + if (ConstVariable().listSanitary[i].cod == ESCOAMENTO_COD) { + ESCOAMENTO = ConstVariable().listSanitary[i].title; + } + } + FL_ANIMAIS = dataHome[0]['FL_ANIMAIS']==1?true:false; + ANIMAIS_GATO = dataHome[0]['ANIMAIS_GATO']==1?true:false; + ANIMAIS_CACHORRO = dataHome[0]['ANIMAIS_CACHORRO']==1?true:false; + ANIMAIS_PASSARO = dataHome[0]['ANIMAIS_PASSARO']==1?true:false; + QTDE_ANIMAIS.text = dataHome[0]['QTDE_ANIMAIS']==null?'':dataHome[0]['QTDE_ANIMAIS'].toString(); + date_cad = dataHome[0]['DT_CADASTRO']??''; + List splitted = date_cad.toString().split('-'); + DT_CADASTRO.text = splitted.length<2?'':'${splitted[2]}/${splitted[1]}/${splitted[0]}'; + 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(() {}); + }); }); + await DBQuerys().buscaProfissionalCadInd(idUsuario).then((list)async{ + ID_RESP_CADASTRO.text = list['NOME_PROFISSIONAL']; + CNES_RESP_CADASTRO.text = await DBQuerys().buscaNomeUnidade(idUnidade); + }); + List list = await DBQuerys().buscaDadosProfissional(idUnidade,idUsuario); + for(int i=0; list.length > i;i++){ + INE_RESP_CADASTRO = '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']}'); + } + setState(() {}); } @override @@ -205,13 +300,29 @@ class _RegisterHomeScreenState extends State { 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.appBar, - background: ColorPalette.appBar, + borderColor: ColorPalette.edit, + background: ColorPalette.edit, textColor: ColorPalette.white, width: double.infinity, + ):ButtonDefault( + onPressed: ()=>setState((){ + edit=false; + editing = false; + }), + title: 'Salvar', + borderColor: ColorPalette.appBar, + background: ColorPalette.appBar, + textColor: ColorPalette.white, + width: double.infinity, ), ButtonDefault( onPressed: ()=>Navigator.pop(context), @@ -249,7 +360,7 @@ class _RegisterHomeScreenState extends State { select: TIPO_IMOVEL, widthDropdown: width*0.7, widthContainerDropdown: width*0.6, - onChanged: (value){ + onChanged:!editing?null: (value){ setState(()=>TIPO_IMOVEL = value!); for (int i = 0; ConstVariable().listTypeHome.length > i; i++) { if (ConstVariable().listTypeHome[i].title == TIPO_IMOVEL) { @@ -266,13 +377,13 @@ class _RegisterHomeScreenState extends State { select: INE, widthDropdown: width*0.7, widthContainerDropdown: width*0.6, - onChanged: (value)=>setState(()=>INE = value!), + onChanged: !editing?null: (value)=>setState(()=>INE = value!), ), 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), ), DropdownWithSubtitle( list:listSituationHome, @@ -282,7 +393,7 @@ class _RegisterHomeScreenState extends State { select: SITUACAO_MORADIA, widthDropdown: width*0.7, widthContainerDropdown: width*0.6, - onChanged: (value){ + onChanged:!editing?null: (value){ setState(()=>SITUACAO_MORADIA = value!); for (int i = 0; ConstVariable().listSituationHome.length > i; i++) { if (ConstVariable().listSituationHome[i].title == TIPO_IMOVEL) { @@ -299,7 +410,7 @@ class _RegisterHomeScreenState extends State { select: TIPO_LOCALIDADE, widthDropdown: width*0.7, widthContainerDropdown: width*0.6, - onChanged: (value){ + onChanged:!editing?null: (value){ setState(()=>TIPO_LOCALIDADE = value!); for (int i = 0; ConstVariable().listTypeLocation.length > i; i++) { if (ConstVariable().listTypeLocation[i].title == TIPO_LOCALIDADE) { @@ -316,7 +427,7 @@ class _RegisterHomeScreenState extends State { select: TIPO_DOMICILIO, widthDropdown: width*0.7, widthContainerDropdown: width*0.6, - onChanged: (value){ + onChanged:!editing?null: (value){ setState(()=>TIPO_DOMICILIO = value!); for (int i = 0; ConstVariable().listTypeResidence.length > i; i++) { if (ConstVariable().listTypeResidence[i].title == TIPO_DOMICILIO) { @@ -332,7 +443,9 @@ class _RegisterHomeScreenState extends State { labelInput: 'Moradores', widthSubtitle: width*0.4, widthInput: width*0.7, - controller: controllerResidents, + controller: NUM_MORADORES, + mandatory: false, + enabled: editing, onChanged: (v)=>setState((){}), ), InputWithSubtitle( @@ -342,123 +455,176 @@ class _RegisterHomeScreenState extends State { labelInput: 'Cômodos', widthSubtitle: width*0.4, widthInput: width*0.7, - controller: controllerComfortable, + controller: NUM_COMODOS, + mandatory: false, + enabled: editing, onChanged: (v)=>setState((){}), ), DropdownWithSubtitle( - list:[], + list:listSituationRural, widthSubtitle: width*0.7, subtitle: 'Situação Rural', hintDropdown: 'Situação Rural', - select: selectRural, + select: SITUACAO_RURAL, widthDropdown: width*0.7, widthContainerDropdown: width*0.6, - onChanged: (value)=>setState(()=>selectRural = value!) + onChanged:!editing?null: (value){ + setState(()=>SITUACAO_RURAL = value!); + for (int i = 0; ConstVariable().listSituationRural.length > i; i++) { + if (ConstVariable().listSituationRural[i].title == SITUACAO_RURAL) { + SITUACAO_RURAL_COD = ConstVariable().listSituationRural[i].cod; + } + } + }, ), DropdownWithSubtitle( - list:['ASFALTO'], + list:listTypeAcessHome, widthSubtitle: width*0.7, subtitle: 'Tipo de Acesso ao Domicílio', hintDropdown: 'Tipo de Acesso ao Domicílio', - select: selectAcessHome, + select: TIPO_ACESSO, widthDropdown: width*0.7, widthContainerDropdown: width*0.6, - onChanged: (value)=>setState(()=>selectAcessHome = value!) + onChanged: !editing?null: (value){ + setState(()=>TIPO_ACESSO = value!); + for (int i = 0; ConstVariable().listTypeAcessHome.length > i; i++) { + if (ConstVariable().listTypeAcessHome[i].title == TIPO_ACESSO) { + TIPO_ACESSO_COD = ConstVariable().listTypeAcessHome[i].cod; + } + } + }, ), DropdownWithSubtitle( - list:['ALVENARIA COM REVESTIMENTO'], + list:listMaterialHome, widthSubtitle: width*0.7, subtitle: 'Material Predominante - Parede', hintDropdown: 'Material Predominante - Parede', - select: selectMaterialWall, + select: MAT_PREDOMINANTE, widthDropdown: width*0.7, widthContainerDropdown: width*0.6, - onChanged: (value)=>setState(()=>selectMaterialWall = value!) + onChanged: !editing?null: (value){ + setState(()=>MAT_PREDOMINANTE = value!); + for (int i = 0; ConstVariable().listMaterialHome.length > i; i++) { + if (ConstVariable().listMaterialHome[i].title == MAT_PREDOMINANTE) { + MAT_PREDOMINANTE_COD = ConstVariable().listMaterialHome[i].cod; + } + } + }, ), SwitchWithSubtitle( width: width*0.7, title: 'Disponibilidade de Energia Elétroca', - value: enableEnergy, - onChanged: (value)=>setState(()=>enableEnergy = value), + value: DISPONIBILIDADE_ENERGIA, + onChanged:!editing?null: (value)=>setState(()=>DISPONIBILIDADE_ENERGIA = value), ), DropdownWithSubtitle( - list:['REDE ENCANADA ATÉ O DOMICÍLIO'], + list:listWaterHome, widthSubtitle: width*0.7, subtitle: 'Abastecimento de Água', hintDropdown: 'Abastecimento de Água', - select: selectWater, + select: TIPO_ABASTECIMENTO, widthDropdown: width*0.7, widthContainerDropdown: width*0.6, - onChanged: (value)=>setState(()=>selectWater = value!) + onChanged: !editing?null:(value){ + setState(()=>TIPO_ABASTECIMENTO = value!); + for (int i = 0; ConstVariable().listWaterHome.length > i; i++) { + if (ConstVariable().listWaterHome[i].title == TIPO_ABASTECIMENTO) { + TIPO_ABASTECIMENTO_COD = ConstVariable().listWaterHome[i].cod; + } + } + }, ), DropdownWithSubtitle( - list:['FILTRAÇÃO'], + list:listWaterTreatment, widthSubtitle: width*0.7, subtitle: 'Tratamento de Água', hintDropdown: 'Tratamento de Água', - select: selectTreatmentWater, + select: TRATAMENTO_AGUA, widthDropdown: width*0.7, widthContainerDropdown: width*0.6, - onChanged: (value)=>setState(()=>selectTreatmentWater = value!) + onChanged:!editing?null: (value){ + setState(()=>TRATAMENTO_AGUA = value!); + for (int i = 0; ConstVariable().listWaterTreatment.length > i; i++) { + if (ConstVariable().listWaterTreatment[i].title == TRATAMENTO_AGUA) { + TRATAMENTO_AGUA_COD = ConstVariable().listWaterTreatment[i].cod; + } + } + }, ), DropdownWithSubtitle( - list:['COLETADO'], + list:listDestinyTrash, widthSubtitle: width*0.7, subtitle: 'Destino de Lixo', hintDropdown: 'Destino de Lixo', - select: selectDestinyTrash, + select: DESTINO_LIXO, widthDropdown: width*0.7, widthContainerDropdown: width*0.6, - onChanged: (value)=>setState(()=>selectDestinyTrash = value!) + onChanged:!editing?null: (value){ + setState(()=>DESTINO_LIXO = value!); + for (int i = 0; ConstVariable().listDestinyTrash.length > i; i++) { + if (ConstVariable().listDestinyTrash[i].title == DESTINO_LIXO) { + DESTINO_LIXO_COD = ConstVariable().listDestinyTrash[i].cod; + } + } + }, ), DropdownWithSubtitle( - list:['REDE COLETORA DE ESGOTO OU PLUVIAL'], + list:listSanitary, widthSubtitle: width*0.7, subtitle: 'Forma de Escoamento Sanitário', hintDropdown: 'Forma de Escoamento Sanitário', - select: selectFormSanitaryDrainage, + select: ESCOAMENTO, widthDropdown: width*0.7, widthContainerDropdown: width*0.6, - onChanged: (value)=>setState(()=>selectFormSanitaryDrainage = value!) + onChanged:!editing?null: (value){ + setState(()=>ESCOAMENTO = value!); + for (int i = 0; ConstVariable().listSanitary.length > i; i++) { + if (ConstVariable().listSanitary[i].title == ESCOAMENTO) { + ESCOAMENTO_COD = ConstVariable().listSanitary[i].cod; + } + } + }, ), SwitchWithSubtitle( width: width*0.7, title: 'Animais', - value: enableAnimals, - onChanged: (value)=>setState(()=>enableAnimals = value!), + value: FL_ANIMAIS, + onChanged: !editing?null: (value)=>setState(()=>FL_ANIMAIS = value!), ), SwitchWithSubtitle( width: width*0.7, title: 'Quais - Gato', - value: enableCats, - onChanged: (value)=>setState(()=>enableCats = value!), + value: ANIMAIS_GATO, + onChanged: !editing || !FL_ANIMAIS?null: (value)=>setState(()=>ANIMAIS_GATO = value!), ), SwitchWithSubtitle( width: width*0.7, title: 'Quais - Cachorro', - value: enableDogs, - onChanged: (value)=>setState(()=>enableDogs = value!), + value: ANIMAIS_CACHORRO, + onChanged:!editing || !FL_ANIMAIS?null: (value)=>setState(()=>ANIMAIS_CACHORRO = value!), ), SwitchWithSubtitle( width: width*0.7, title: 'Quais - Pássaro', - value: enableBirds, - onChanged: (value)=>setState(()=>enableBirds = value!), + value: ANIMAIS_PASSARO, + onChanged: !editing || !FL_ANIMAIS?null: (value)=>setState(()=>ANIMAIS_PASSARO = value!), ), SwitchWithSubtitle( width: width*0.7, title: 'Quais - Outros', - value: enableOther, - onChanged: (value)=>setState(()=>enableOther = value!), + value: ANIMAIS_OUTROS, + onChanged: !editing || !FL_ANIMAIS?null: (value)=>setState(()=>ANIMAIS_OUTROS = value!), ), InputWithSubtitle( - subtitle: 'Quantidade', - hintInput: 'Quantidade', - errorInput: 'Campo obrigatório', - labelInput: 'Quantidade', - widthSubtitle: width*0.4, - widthInput: width*0.7, - controller: controllerAmount, + subtitle: 'Quantidade', + hintInput: 'Quantidade', + errorInput: 'Campo obrigatório', + labelInput: 'Quantidade', + widthSubtitle: width*0.4, + widthInput: width*0.7, + controller: QTDE_ANIMAIS, + mandatory: false, + enabled: editing && FL_ANIMAIS, onChanged: (v)=>setState((){}), ), ], @@ -487,55 +653,53 @@ class _RegisterHomeScreenState extends State { mainAxisSize: MainAxisSize.min, children: [ InputWithSubtitle( - controller: responsibleRegisterController, + controller: ID_RESP_CADASTRO, subtitle: 'Usuário responsável Pelo Cadastro', errorInput: 'Campo Obrigatório', labelInput: 'Usuário responsável Pelo Cadastro', widthInput: width*0.7, widthSubtitle: width*0.7, hintInput: 'Escreva aqui', + enabled: false, onChanged: (v)=>setState((){}), ), InputWithSubtitle( - controller: unitProfessionalController, + controller: CNES_RESP_CADASTRO, subtitle: 'Unidade do Profissional', errorInput: 'Campo Obrigatório', labelInput: 'Unidade do Profissional', widthInput: width*0.7, widthSubtitle: width*0.7, hintInput: 'Escreva aqui', + enabled: false, onChanged: (v)=>setState((){}), ), DropdownWithSubtitle( subtitle: 'CBO', - select: selectCBO, + select: CBO_RESP_CADASTRO, widthDropdown: width*0.673, widthContainerDropdown: width*0.5, widthSubtitle: width*0.3, hintDropdown: 'CBO', - onChanged: (value){ - setState(() { - selectCBO = value; - }); - }, - list: [] + onChanged:!editing?null: (value)=>setState(()=>CBO_RESP_CADASTRO = value), + list: listCBO ), DropdownWithSubtitle( subtitle: 'Código da Equipe', - select: selectCBO, + select: INE_RESP_CADASTRO, widthDropdown: width*0.672, widthContainerDropdown: width*0.5, widthSubtitle: width*0.3, hintDropdown: 'Código da Equipe', - onChanged: (value){ + onChanged:!editing?null: (value){ setState(() { - selectCBO = value; + INE_RESP_CADASTRO = value; }); }, - list: ['INE - 0001558536 / Área 4 - Microárea: - '] + list: listINEPROF ), InputWithSubtitle( - controller: dataRegisterController, + controller: DT_CADASTRO, subtitle: 'Data do Cadastro', errorInput: 'Campo Obrigatório', labelInput: 'Data do Cadastro', diff --git a/lib/screens/registers_citizen/register_individual_screen.dart b/lib/screens/registers_citizen/register_individual_screen.dart index e002139..74ea193 100644 --- a/lib/screens/registers_citizen/register_individual_screen.dart +++ b/lib/screens/registers_citizen/register_individual_screen.dart @@ -316,7 +316,7 @@ class _RegisterIndividualScreenState extends State { 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']; + PESO_COD = dataCitizen[0]['PESO']??0; for (int i = 0; ConstVariable().listWeight.length > i; i++) { if (ConstVariable().listWeight[i].cod == dataCitizen[0]['PESO'] ) { PESO = ConstVariable().listWeight[i].title; diff --git a/lib/service/db/db_sqlite_load.dart b/lib/service/db/db_sqlite_load.dart index 828bc87..f24b4ca 100644 --- a/lib/service/db/db_sqlite_load.dart +++ b/lib/service/db/db_sqlite_load.dart @@ -18,7 +18,7 @@ class DbSqliteLoad{ db.execute('CREATE TABLE IF NOT EXISTS ATENDS_INDIV_EXAMES (ID_ATEND_INDIVIDUAL INTEGER, COD_PROC_SIGTAP TEXT, AVALIADO INTEGER, SOLICITADO INTEGER);'); db.execute('CREATE TABLE IF NOT EXISTS ATENDS_INDIV_PROC (ID_ATEND_INDIVIDUAL INTEGER, COD_PROC_SIGTAP TEXT);'); db.execute('CREATE TABLE IF NOT EXISTS ATENDS_INDIV_PROF (ID_ATEND_INDIVIDUAL INTEGER, ID_PROFISSIONAL INTEGER, CODIGO_CBO TEXT);'); - db.execute('CREATE TABLE IF NOT EXISTS ATENDS_INDIVIDUAIS (ID_ATEND_INDIVIDUAL INTEGER PRIMARY KEY AUTOINCREMENT, ID_CIDADAO INTEGER, CD_USUARIO_SUS TEXT, DT_ATENDIMENTO TEXT, TURNO INTEGER, LOCAL_ATENDIMENTO INTEGER, TIPO_ATENDIMENTO INTEGER, PESO TEXT, ALTURA TEXT, PERIM_CEFALICO TEXT, VACINA_DIA INTEGER, ALEITAMENTO_MATERNO INTEGER, ID_PROFISSIONAL INTEGER, CBO_PROFISSIONAL TEXT, INE_PROFISSIONAL TEXT, CNES_UNIDADE TEXT, ID_UNIDADE INTEGER, ID_EQUIPE INTEGER, DUM TEXT, GRAVIDEZ_PLANEJADA INTEGER, IDADE_GESTACIONAL INTEGER, GESTAS_PREVIAS INTEGER, PARTOS INTEGER, MODALIDADE INTEGER, CIAP2_1 INTEGER, CIAP2_2 INTEGER, CID10_1 TEXT, CID10_2 TEXT, RACIONALIDADE_SAUDE INTEGER, FICOU_OBSERVACAO INTEGER, ESCUTA_INICICIAL INTEGER, COMPLEMENTO TEXT, SINCRONIZADO TEXT);'); + db.execute('CREATE TABLE IF NOT EXISTS ATENDS_INDIVIDUAIS (ID_ATEND_INDIVIDUAL INTEGER PRIMARY KEY AUTOINCREMENT, ID_CIDADAO INTEGER, CD_USUARIO_SUS TEXT, DT_ATENDIMENTO TEXT, TURNO INTEGER, LOCAL_ATENDIMENTO INTEGER, TIPO_ATENDIMENTO INTEGER, PESO INTEGER, ALTURA TEXT, PERIM_CEFALICO TEXT, VACINA_DIA INTEGER, ALEITAMENTO_MATERNO INTEGER, ID_PROFISSIONAL INTEGER, CBO_PROFISSIONAL TEXT, INE_PROFISSIONAL TEXT, CNES_UNIDADE TEXT, ID_UNIDADE INTEGER, ID_EQUIPE INTEGER, DUM TEXT, GRAVIDEZ_PLANEJADA INTEGER, IDADE_GESTACIONAL INTEGER, GESTAS_PREVIAS INTEGER, PARTOS INTEGER, MODALIDADE INTEGER, CIAP2_1 INTEGER, CIAP2_2 INTEGER, CID10_1 TEXT, CID10_2 TEXT, RACIONALIDADE_SAUDE INTEGER, FICOU_OBSERVACAO INTEGER, ESCUTA_INICICIAL INTEGER, COMPLEMENTO TEXT, SINCRONIZADO TEXT);'); db.execute('CREATE TABLE IF NOT EXISTS ATENDS_ODONTOLOGICOS (ID_ATENDIMENTO_ODONTOLOGICO INTEGER PRIMARY KEY AUTOINCREMENT, ID_CIDADAO INTEGER, CD_USUARIO_SUS TEXT, DATA TEXT, ID_PROFISSIONAL INTEGER, CBO_PROFISSIONAL TEXT, INE_PROFISSIONAL TEXT, CNES_UNIDADE TEXT, ID_UNIDADE INTEGER, ID_EQUIPE INTEGER, TURNO INTEGER, NECESSIDADES_ESPECIAIS INTEGER, GESTANTE INTEGER, LOCAL_ATENDIMENTO INTEGER, TIPO_ATENDIMENTO INTEGER, TIPO_CONSULTA INTEGER, SINCRONIZADO TEXT);'); db.execute('CREATE TABLE IF NOT EXISTS ATENDS_ODONTO_PROF (ID_ATENDIMENTO_ODONTOLOGICO INTEGER, ID_PROFISSIONAL INTEGER, CODIGO_CBO TEXT);'); db.execute('CREATE TABLE IF NOT EXISTS ATENDS_ODONTO_PROC (ID_ATENDIMENTO_ODONTOLOGICO INTEGER, COD_PROC_SIGTAP TEXT, QTDE INTEGER);');