DavidSB commited on
Commit
0566996
·
1 Parent(s): 4526b1d

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +166 -28
app.py CHANGED
@@ -17,15 +17,20 @@ warnings.filterwarnings("ignore")
17
  df_cub = pd.read_excel('TABELAS.xlsx', sheet_name='CUB')
18
  ultimo_cub = df_cub.columns[-1]
19
 
 
 
20
  def calcular_valor_imovel(nome="-", prof="Engenheiro Civil", ent="CREA", reg="-",
21
- lograd="-", munic="-", tipo_imo="-", infra="Água Potável", serv="Coleta de Lixo", uso="Residencial",
22
- pad_reg="-", tipo_via="-", obs_gerais="-",
 
23
  area=100, data_refer_str=None, data_const_str=None, tipo_cub="R 1-N (Res. Unifamiliar)",
24
- data_cub_str=None, percentual_cub=1, BDI=22.5, BDI_tipo ="Arbitrado", fator_local = 1,
25
  just_fator_local = "-", tipologia="APARTAMENTOS",
26
- estado="B - entre novo e regular", VR=0.0, valor_terreno=0,
27
- est_ter="Grau III de fundamentação no métodocomparativo ou no involutivo",
 
28
  fc=1, fc_just="Arbitrado"):
 
29
  # Carregar dados dos arquivos Excel
30
  df_cub = pd.read_excel('TABELAS.xlsx', sheet_name='CUB')
31
  df_vida = pd.read_excel('TABELAS.xlsx', sheet_name='VUTIL')
@@ -98,32 +103,123 @@ def calcular_valor_imovel(nome="-", prof="Engenheiro Civil", ent="CREA", reg="-"
98
  # Encontrar o valor da coluna "obs" com base no atributo da coluna "cons"
99
  valor_obs = df_estado_cons.loc[df_estado_cons['cons'] == atributo_desejado, 'obs'].iloc[0]
100
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
101
  dados_resp = f"""
102
  Responsável Técnico: {nome}
103
  Profissão: {prof}
104
  Entidade de Classe: {ent}
105
- Nùmero do resgistro: {reg}
106
  """
107
-
108
- inf_end = f"""
109
  Logradouro e número: {lograd}
110
  Município: {munic}
111
- Tipode imóvel: {tipo_imo}
 
 
 
 
 
 
112
  Infraentrutura: {infra}
113
- Serviços Públicos: {serv}
114
  Uso: {uso}
115
  Padrão predominante na região: {pad_reg}
116
  Tipo de via de acesso: {tipo_via}
117
  Outras oservações: {obs_gerais}
118
  """
119
-
 
 
 
 
120
  valor_inicial = f"""
121
  Área construída (m²): {area}
122
  Data de referência: {data_refer.strftime("%m/%Y")}
123
  Data da construção: {data_const_str}
124
  Data do CUB: {data_cub.strftime("%m/%Y")}
125
  Tipo de CUB: {tipo_cub}
126
- Percentual para adequação do CUB (%): {percentual_cub}
 
127
  BDI (%): {BDI}
128
  Maneira como o BDI foi elaborado: {BDI_tipo}
129
  Valor CUB: {round(valor_cub, 2)}
@@ -131,7 +227,6 @@ def calcular_valor_imovel(nome="-", prof="Engenheiro Civil", ent="CREA", reg="-"
131
  Fator local (justificativa): {just_fator_local}
132
  Valor sem depreciação: {Valor_sem_deprec}
133
  """
134
-
135
  deprec = f"""
136
  Tipologia: {tipologia}
137
  Vida útil da tipologia: {int(vdu['VIDAUTIL'])}
@@ -140,21 +235,29 @@ def calcular_valor_imovel(nome="-", prof="Engenheiro Civil", ent="CREA", reg="-"
140
  % de Vida Útil: {percentual_vdu}
141
  Coeficiente de Depreciação: {coef_HH}
142
  Valor residual (0, 0.1 ou 0.2): {VR}
 
143
  Kd: {kd}
144
  Valor final construção: {Valor_com_deprec}
 
145
  """
146
-
147
  valor_ter = f"""
148
  Valor do Terreno: {valor_terreno}
149
- Observação sobre o grau de fundamentação: {est_ter}
150
  """
151
-
152
  valor_final = f"""
153
  FC (Fator de Comercialização): {fc}
154
  Observação sobre o FC: {fc_just}
155
  Valor do Imóvel: {valor_imovel}
 
 
 
 
 
156
  """
157
 
 
 
 
158
  # Criar um novo documento do Word
159
  doc = Document()
160
 
@@ -164,11 +267,14 @@ def calcular_valor_imovel(nome="-", prof="Engenheiro Civil", ent="CREA", reg="-"
164
  # Definir as seções do relatório
165
  sections = [
166
  (dados_resp, "Informações do Responsável Técnico"),
167
- (inf_end, "Endereço e Informações da Região"),
 
 
168
  (valor_inicial, "Valor Inicial da Construção"),
169
  (deprec, "Cálculo da Depreciação"),
170
  (valor_ter, "Valor Estimado para o Terreno"),
171
  (valor_final, "Valor Final do Imóvel"),
 
172
  ]
173
 
174
  for content, title in sections:
@@ -180,10 +286,15 @@ def calcular_valor_imovel(nome="-", prof="Engenheiro Civil", ent="CREA", reg="-"
180
 
181
  # Salvar o documento em um arquivo .doc
182
  doc.save('relatorio_avaliacao.doc')
 
 
 
 
 
183
 
184
- return dados_resp, inf_end, valor_inicial, deprec, valor_ter, valor_final, 'relatorio_avaliacao.doc'
185
 
186
-
187
  interface = gr.Interface(
188
  calcular_valor_imovel,
189
 
@@ -194,10 +305,16 @@ inputs = [
194
  gr.Dropdown(["CREA", "CAU", "CRECI"],label="Entidade de Classe", value="-"),
195
  gr.Number(label="Nº do registro", value="0"),
196
 
197
- # Informações do imóvel e região
198
  gr.Textbox(label="Endereço (Logradouro, nº e bairro)", value="-"),
199
  gr.Textbox(label="Município", value="-"),
200
  gr.Textbox(label="Tipo de Imóvel", value="-"),
 
 
 
 
 
 
201
  gr.Dropdown(["Água Potável", "Energia Elétrica", "Telefone", "Pavimentação", "Esgoto Pluvial",
202
  "Iluminação Pública"], value=["Água Potável"], multiselect=True, label="Infraestrutura Urbana"),
203
  gr.Dropdown(["Coleta de Lixo", "Transporte Coletivo", "Comércio", "Educação", "Saúde"],
@@ -207,7 +324,12 @@ inputs = [
207
  gr.Radio(["Local", "Coletora", "Arterial"], label="Tipo de via de acesso ao imóvel",value="Local"),
208
  gr.Textbox(label="Outras informação", value="-"),
209
 
 
 
 
 
210
 
 
211
  gr.Number(label="Área construída (m²)", value=100),
212
  gr.Textbox(label="Data de referência (mm/aaaa)", value=ultimo_cub, info="Data do fato gerador da demanda"),
213
  gr.Textbox(label="Data da construção (mm/aaaa)", value=ultimo_cub, info="Data de construção do imóvel"),
@@ -234,10 +356,18 @@ inputs = [
234
  gr.Textbox(label="Data do CUB (mm/aaaa)", value=ultimo_cub, info="Data do CUB deverá coincidir com a data de referência do laudo"),
235
  #gr.Number(label="Percentual para adequação do CUB (%)", value=1, info="Adaptação do CUB para uma situação atípica ou para contemplar insumos/serviços que não constam na composição do CUB"),
236
  gr.Slider(0.5, 2.0, value=1, label="Fator para adequação do CUB", info="Adaptação do CUB para uma situação atípica ou para contemplar insumos/serviços que não constam na sua composição (insumos/serviços)", step = 0.1),
 
 
 
 
 
 
237
  gr.Number(label="BDI (%)", value=22.5),
238
- gr.Radio(["Justificado", "Arbitrado"], label="Tipo de BDI", info="Estipule como foi elaborado o % de BDI", value="Arbitrado"),
239
  gr.Slider(0.5, 1.5, value=1, label="Fator local", info="Escolha um coeficiente de valorização local baseado no seu conhecimento de mercado", step = 0.1),
240
  gr.Textbox(label="Justificativa para o Fator Local", value="-", info="Justifique tecnicamente a utilização deste fator"),
 
 
241
  gr.Dropdown(label="Tipologia", choices=["APARTAMENTOS", "BANCOS", "CASAS DE ALVENARIA",
242
  "CASAS DE MADEIRA", "HOTÉIS", "LOJAS", "TEATROS",
243
  "ARMAZÉNS", "FÁBRICAS", "CONST. RURAIS", "GARAGENS",
@@ -249,18 +379,26 @@ inputs = [
249
  "G - reparos importantes", "H - entre reparos importantes e sem valor"],
250
  value="A - novo"),
251
  gr.Dropdown(label="Valor residual (0, 0.1 ou 0.2)", choices=["0", "0.1", "0.2"], value="0"),
 
 
 
 
 
 
252
  gr.Number(label="Valor do Terreno", value=0),
253
- gr.Radio(["Grau III de fundamentação no método comparativo ou no involutivo",
254
- "Grau II de fundamentação no método comparativo ou no involutivo",
255
- "Grau I de fundamentação no método comparativo ou no involutivo"],
256
- info="Escolha o Grau de Fundamentação alcançado pelo avaliação do terreno", label="", value="Grau I de fundamentação no método comparativo ou no involutivo"),
257
  gr.Slider(0.1, 2.0, value=1.0, label="FC (Fator de Comercialização)", info="O Fator de Comercialização, também chamado de Terceiro Componente ou Vantagem da Coisa Feita, é definido no item 3.20 da NBR 14653-1:2001: “Fator de comercialização: Razão entre o valor de mercado de um bem e o seu custo de reedição ou de substituição, que pode ser maior ou menor que 1", step = 0.1),
258
- gr.Radio(["Inferido em mercado semelhante", "Justificado", "Arbitrado"], label="", info="Estipule como foi elaborado o FC",value="Arbitrado"),
259
  ],
260
 
261
  outputs = [
262
  gr.Textbox(label = "Informações do Responsável Técnico"),
263
- gr.Textbox(label = "Endereço e Informações da Região"),
 
 
264
  gr.Textbox(label = "Valor Inicial da Contrução"),
265
  gr.Textbox(label = "Cálculo da Depreciação"),
266
  gr.Textbox(label = "Valor estimado para o terreno"),
@@ -274,7 +412,7 @@ theme=gr.themes.Monochrome(),
274
  title="<span style='color: gray; font-size: 52px;'>aval</span><span style='color: black; font-size: 52px;'>ia</span><span style='color: gray; font-size: 56px;'>.EVO</span>",
275
  description=f"""
276
  <p style="text-align: left;"><b><span style='color: gray; font-size: 40px;'>aval</span><span style='color: black; font-size: 40px;'>ia</span><span style='color: gray; font-size: 40px;'>.se</b></p>
277
- <p style="text-align: left;"></span>Aplicativo Método Evolutivo (benfeitorias + terrenos) / Para ver a documentação <a href='https://https://huggingface.co/spaces/DavidSB/avalia.EVO/resolve/main/avaliaEVO.pdf' download='avaliaEVO.pdf'>aqui</a><br><br></p>
278
  """
279
  )
280
 
 
17
  df_cub = pd.read_excel('TABELAS.xlsx', sheet_name='CUB')
18
  ultimo_cub = df_cub.columns[-1]
19
 
20
+
21
+ # Função para calcular o valor do imóvel
22
  def calcular_valor_imovel(nome="-", prof="Engenheiro Civil", ent="CREA", reg="-",
23
+ lograd="-", munic="-", tipo_imo="-", solic="-", finalidade="-", objetivo="-", press="-",
24
+ infra="Água Potável", serv="Coleta de Lixo", uso="Residencial", pad_reg="-", tipo_via="-", obs_gerais="-",
25
+ per="Sem destaque", ofe="Sem destaque", liq="Sem destaque",
26
  area=100, data_refer_str=None, data_const_str=None, tipo_cub="R 1-N (Res. Unifamiliar)",
27
+ data_cub_str=None, percentual_cub=1, est_custo_dir="-", BDI=22.5, BDI_tipo ="Arbitrado", fator_local = 1,
28
  just_fator_local = "-", tipologia="APARTAMENTOS",
29
+ estado="B - entre novo e regular", VR=0.0, deprec="Arbitrada",
30
+ valor_terreno=0,
31
+ est_ter="Grau III",
32
  fc=1, fc_just="Arbitrado"):
33
+
34
  # Carregar dados dos arquivos Excel
35
  df_cub = pd.read_excel('TABELAS.xlsx', sheet_name='CUB')
36
  df_vida = pd.read_excel('TABELAS.xlsx', sheet_name='VUTIL')
 
103
  # Encontrar o valor da coluna "obs" com base no atributo da coluna "cons"
104
  valor_obs = df_estado_cons.loc[df_estado_cons['cons'] == atributo_desejado, 'obs'].iloc[0]
105
 
106
+ # -------------------------------------- #
107
+
108
+ # GRAU DE FUNDAMENTAÇÃO CUSTOS
109
+
110
+ # item_1 - Graus de Fundamentação (Estimativa do custo direto)
111
+ if est_custo_dir == "Elaboração de orçamento, no mínimo sintético":
112
+ cust_1 = 3
113
+ elif est_custo_dir == "Utilização CUB para projeto semelhante ao projeto padrão":
114
+ cust_1 = 2
115
+ else:
116
+ cust_1 = 1
117
+
118
+ # item_2 - Graus de Fundamentação (BDI)
119
+ if BDI_tipo == "Calculado":
120
+ cust_2 = 3
121
+ elif BDI_tipo == "Justificado":
122
+ cust_2 = 2
123
+ else:
124
+ cust_2 = 1
125
+
126
+ # item_3 - Graus de Fundamentação (Depreciação física)
127
+ if deprec == "Por levantamento do custo de recuperação do bem, para deixá-lo no estado de novo ou caso de bens novos ou projetos hipotéticos":
128
+ cust_3 = 3
129
+ elif deprec == "Por métodos técnicos consagrados, considerando-se idade, vida útil e estado de conservação":
130
+ cust_3 = 2
131
+ else:
132
+ cust_3 = 1
133
+
134
+ # enquadramento
135
+ soma_custo = cust_1 + cust_2 + cust_3
136
+ if soma_custo >= 7 and cust_1 == 3 and cust_2 >= 2 and cust_3 >= 2:
137
+ est_cr = "Grau III"
138
+ elif soma_custo >= 5 and cust_1 >= 2 and cust_2 >= 2:
139
+ est_cr = "Grau II"
140
+ elif soma_custo > 3 and cust_1 >= 1 and cust_2 >= 1 and cust_3 >= 1:
141
+ est_cr = "Grau I"
142
+ else:
143
+ est_cr = "Fora dos critérios"
144
+
145
+ # -------------------------------------- #
146
+
147
+ # GRAU DE FUNDAMENTAÇÃO EVOLUTIVO
148
+
149
+ # item_1 - Graus de Fundamentação (Estimativa do valor do terreno)
150
+ if est_ter == "Grau III":
151
+ evo_1 = 3
152
+ elif est_ter == "Grau II":
153
+ evo_1 = 2
154
+ else:
155
+ evo_1 = 1
156
+
157
+ # item_2 - Graus de Fundamentação (Estimativa dos custos de reedição)
158
+ if est_cr == "Grau III":
159
+ evo_2 = 3
160
+ elif est_cr == "Grau II":
161
+ evo_2 = 2
162
+ else:
163
+ evo_2 = 1
164
+
165
+ # item_3 - Graus de Fundamentação (Forma de cálculo do FC)
166
+ if fc_just == "Inferido em mercado semelhante":
167
+ evo_3 = 3
168
+ elif fc_just == "Justificado:":
169
+ evo_3 = 2
170
+ else:
171
+ evo_3 = 1
172
+
173
+ # enquadramento
174
+ soma_evo = evo_1 + evo_2 + evo_3
175
+ if soma_evo >= 8 and evo_1 == 3 and evo_2 == 3 and evo_3 >= 2: # confirmar!!!!!
176
+ fundamentacao_evolutivo = "Grau III"
177
+ elif soma_evo >= 5 and evo_1 >= 2 and evo_2 >= 2:
178
+ fundamentacao_evolutivo = "Grau II"
179
+ elif soma_evo > 3 and evo_1 >= 1 and evo_2 >= 1 and evo_3 >= 1:
180
+ fundamentacao_evolutivo = "Grau I"
181
+ else:
182
+ fundamentacao_evolutivo = "Fora dos critérios"
183
+
184
+ # -------------------------------------- #
185
+
186
+ # criação de strings para os relatórios da interface e do word
187
  dados_resp = f"""
188
  Responsável Técnico: {nome}
189
  Profissão: {prof}
190
  Entidade de Classe: {ent}
191
+ Número do registro: {reg}
192
  """
193
+ introd = f"""
 
194
  Logradouro e número: {lograd}
195
  Município: {munic}
196
+ Tipo de imóvel: {tipo_imo}
197
+ Solicitante: {solic}
198
+ Finalidade: {finalidade}
199
+ Objetivo: {objetivo}
200
+ Pressupostos, Ressalvas e Fatores Limitantes: {press}
201
+ """
202
+ regiao = f"""
203
  Infraentrutura: {infra}
204
+ Serviços públicos: {serv}
205
  Uso: {uso}
206
  Padrão predominante na região: {pad_reg}
207
  Tipo de via de acesso: {tipo_via}
208
  Outras oservações: {obs_gerais}
209
  """
210
+ diag = f"""
211
+ Performance: {per}
212
+ Nível de Ofertas do Segmentos: {ofe}
213
+ Liquidez: {liq}
214
+ """
215
  valor_inicial = f"""
216
  Área construída (m²): {area}
217
  Data de referência: {data_refer.strftime("%m/%Y")}
218
  Data da construção: {data_const_str}
219
  Data do CUB: {data_cub.strftime("%m/%Y")}
220
  Tipo de CUB: {tipo_cub}
221
+ Fator para adequação do CUB: {percentual_cub}
222
+ Estimativa do custo direto: {est_custo_dir}
223
  BDI (%): {BDI}
224
  Maneira como o BDI foi elaborado: {BDI_tipo}
225
  Valor CUB: {round(valor_cub, 2)}
 
227
  Fator local (justificativa): {just_fator_local}
228
  Valor sem depreciação: {Valor_sem_deprec}
229
  """
 
230
  deprec = f"""
231
  Tipologia: {tipologia}
232
  Vida útil da tipologia: {int(vdu['VIDAUTIL'])}
 
235
  % de Vida Útil: {percentual_vdu}
236
  Coeficiente de Depreciação: {coef_HH}
237
  Valor residual (0, 0.1 ou 0.2): {VR}
238
+ Forma de cálculo da depreciação física: {deprec}
239
  Kd: {kd}
240
  Valor final construção: {Valor_com_deprec}
241
+ Especificação da Avaliação (benfeitorias) - Método da Quantificação do Custo: {est_cr}
242
  """
 
243
  valor_ter = f"""
244
  Valor do Terreno: {valor_terreno}
245
+ Especificação da Avaliação (terreno ou gleba) - Método Comparativo ou Involutivo: {est_ter}
246
  """
 
247
  valor_final = f"""
248
  FC (Fator de Comercialização): {fc}
249
  Observação sobre o FC: {fc_just}
250
  Valor do Imóvel: {valor_imovel}
251
+ Especificação da Avaliação - Método Evolutivo: {fundamentacao_evolutivo}
252
+ """
253
+ assinatura = f"""
254
+ {nome} | {prof}
255
+ {ent}{reg}
256
  """
257
 
258
+ # -------------------------------------- #
259
+
260
+ # Criação de um relatório da avaliação no word
261
  # Criar um novo documento do Word
262
  doc = Document()
263
 
 
267
  # Definir as seções do relatório
268
  sections = [
269
  (dados_resp, "Informações do Responsável Técnico"),
270
+ (introd, "Introdução"),
271
+ (regiao, "Características da Região"),
272
+ (diag, "Dagmóstico de Mercado"),
273
  (valor_inicial, "Valor Inicial da Construção"),
274
  (deprec, "Cálculo da Depreciação"),
275
  (valor_ter, "Valor Estimado para o Terreno"),
276
  (valor_final, "Valor Final do Imóvel"),
277
+ (assinatura,""),
278
  ]
279
 
280
  for content, title in sections:
 
286
 
287
  # Salvar o documento em um arquivo .doc
288
  doc.save('relatorio_avaliacao.doc')
289
+
290
+ # -------------------------------------- #
291
+
292
+ # Outputs
293
+ return dados_resp, introd, regiao, diag, valor_inicial, deprec, valor_ter, valor_final, 'relatorio_avaliacao.doc'
294
 
295
+ # -------------------------------------- #
296
 
297
+ # Interface Gradio
298
  interface = gr.Interface(
299
  calcular_valor_imovel,
300
 
 
305
  gr.Dropdown(["CREA", "CAU", "CRECI"],label="Entidade de Classe", value="-"),
306
  gr.Number(label="Nº do registro", value="0"),
307
 
308
+ # Introdução
309
  gr.Textbox(label="Endereço (Logradouro, nº e bairro)", value="-"),
310
  gr.Textbox(label="Município", value="-"),
311
  gr.Textbox(label="Tipo de Imóvel", value="-"),
312
+ gr.Textbox(label="Solicitante", value="-"),
313
+ gr.Textbox(label="Finalidade", value="-"),
314
+ gr.Textbox(label="Objetivo", value="-"),
315
+
316
+ # Características da Região
317
+ gr.Textbox(label="Pressupostos, Ressalvas e Fatores Limitantes", value="-"),
318
  gr.Dropdown(["Água Potável", "Energia Elétrica", "Telefone", "Pavimentação", "Esgoto Pluvial",
319
  "Iluminação Pública"], value=["Água Potável"], multiselect=True, label="Infraestrutura Urbana"),
320
  gr.Dropdown(["Coleta de Lixo", "Transporte Coletivo", "Comércio", "Educação", "Saúde"],
 
324
  gr.Radio(["Local", "Coletora", "Arterial"], label="Tipo de via de acesso ao imóvel",value="Local"),
325
  gr.Textbox(label="Outras informação", value="-"),
326
 
327
+ # Diagnóstico de Mercado
328
+ gr.Radio(["Aparentemente aquecido", "Sem destaque", "Aparentemente recessivo"], label="Performance",value="Sem destaque"),
329
+ gr.Radio(["Aparentemente alto", "Sem destaque", "Aparentemente baixo"], label="Nível de Ofertas do Segmento",value="Sem destaque"),
330
+ gr.Radio(["Provavelmente alto", "Sem destaque", "Provavelmente baixo"], label="Liquidez",value="Sem destaque"),
331
 
332
+ # Valor Inicial da Construção
333
  gr.Number(label="Área construída (m²)", value=100),
334
  gr.Textbox(label="Data de referência (mm/aaaa)", value=ultimo_cub, info="Data do fato gerador da demanda"),
335
  gr.Textbox(label="Data da construção (mm/aaaa)", value=ultimo_cub, info="Data de construção do imóvel"),
 
356
  gr.Textbox(label="Data do CUB (mm/aaaa)", value=ultimo_cub, info="Data do CUB deverá coincidir com a data de referência do laudo"),
357
  #gr.Number(label="Percentual para adequação do CUB (%)", value=1, info="Adaptação do CUB para uma situação atípica ou para contemplar insumos/serviços que não constam na composição do CUB"),
358
  gr.Slider(0.5, 2.0, value=1, label="Fator para adequação do CUB", info="Adaptação do CUB para uma situação atípica ou para contemplar insumos/serviços que não constam na sua composição (insumos/serviços)", step = 0.1),
359
+
360
+
361
+ gr.Radio(["Utilização CUB para projeto semelhante ao projeto padrão",
362
+ "Utilização CUB para projeto diferente do projeto padrão, com os devidos ajustes"],
363
+ label="Estimativa do custo direto",value="Utilização CUB para projeto semelhante ao projeto padrão"),
364
+
365
  gr.Number(label="BDI (%)", value=22.5),
366
+ gr.Radio(["Calculado","Justificado", "Arbitrado"], label="Tipo de BDI", info="Estipule como foi elaborado o % de BDI", value="Justificado"),
367
  gr.Slider(0.5, 1.5, value=1, label="Fator local", info="Escolha um coeficiente de valorização local baseado no seu conhecimento de mercado", step = 0.1),
368
  gr.Textbox(label="Justificativa para o Fator Local", value="-", info="Justifique tecnicamente a utilização deste fator"),
369
+
370
+ # Cálculo da Depreciação
371
  gr.Dropdown(label="Tipologia", choices=["APARTAMENTOS", "BANCOS", "CASAS DE ALVENARIA",
372
  "CASAS DE MADEIRA", "HOTÉIS", "LOJAS", "TEATROS",
373
  "ARMAZÉNS", "FÁBRICAS", "CONST. RURAIS", "GARAGENS",
 
379
  "G - reparos importantes", "H - entre reparos importantes e sem valor"],
380
  value="A - novo"),
381
  gr.Dropdown(label="Valor residual (0, 0.1 ou 0.2)", choices=["0", "0.1", "0.2"], value="0"),
382
+ gr.Radio(["Por levantamento do custo de recuperação do bem, para deixá-lo no estado de novo ou caso de bens novos ou projetos hipotéticos",
383
+ "Por métodos técnicos consagrados, considerando-se idade, vida útil e estado de conservação",
384
+ "Arbitrado"], label="Depreciação Física", info="Forma pela qual a depreciação física foi calculada",
385
+ value="Por métodos técnicos consagrados"),
386
+
387
+ # Valor do Terreno
388
  gr.Number(label="Valor do Terreno", value=0),
389
+ gr.Radio(["Grau III", "Grau II", "Grau I"],
390
+ info="Escolha o Grau de Fundamentação alcançado pela avaliação do terreno", label="", value="Grau III"),
391
+
392
+ # Valor final do imóvel
393
  gr.Slider(0.1, 2.0, value=1.0, label="FC (Fator de Comercialização)", info="O Fator de Comercialização, também chamado de Terceiro Componente ou Vantagem da Coisa Feita, é definido no item 3.20 da NBR 14653-1:2001: “Fator de comercialização: Razão entre o valor de mercado de um bem e o seu custo de reedição ou de substituição, que pode ser maior ou menor que 1", step = 0.1),
394
+ gr.Radio(["Inferido em mercado semelhante", "Justificado", "Arbitrado"], label="", info="Estipule como foi elaborado o FC",value="Justificado"),
395
  ],
396
 
397
  outputs = [
398
  gr.Textbox(label = "Informações do Responsável Técnico"),
399
+ gr.Textbox(label = "Introdução"),
400
+ gr.Textbox(label = "Características da Região"),
401
+ gr.Textbox(label = "Diagnóstico de Mercado"),
402
  gr.Textbox(label = "Valor Inicial da Contrução"),
403
  gr.Textbox(label = "Cálculo da Depreciação"),
404
  gr.Textbox(label = "Valor estimado para o terreno"),
 
412
  title="<span style='color: gray; font-size: 52px;'>aval</span><span style='color: black; font-size: 52px;'>ia</span><span style='color: gray; font-size: 56px;'>.EVO</span>",
413
  description=f"""
414
  <p style="text-align: left;"><b><span style='color: gray; font-size: 40px;'>aval</span><span style='color: black; font-size: 40px;'>ia</span><span style='color: gray; font-size: 40px;'>.se</b></p>
415
+ <p style="text-align: left;"></span>Aplicativo Método Evolutivo (benfeitorias + terrenos) / Para ver a documentação <a href='https://huggingface.co/spaces/DavidSB/avaliaFACTOR/resolve/main/dados_entrada_factor.xlsx' download='dados_entrada_factor.xlsx'>aqui</a><br><br></p>
416
  """
417
  )
418