DavidSB commited on
Commit
318720a
·
1 Parent(s): b5176cf

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +53 -7
app.py CHANGED
@@ -8,7 +8,7 @@ from gradio import Interface
8
  from docx import Document
9
  from docx.shared import Pt
10
  from docx.enum.text import WD_PARAGRAPH_ALIGNMENT
11
- from docx.shared import RGBColor
12
 
13
  # Suprimir todos os avisos durante a execução do script
14
  warnings.filterwarnings("ignore")
@@ -17,9 +17,14 @@ 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(area=100, data_refer_str=None, data_const_str=None, tipo_cub="R 1-N (Res. Unifamiliar)",
21
- data_cub_str=None, percentual_cub=1, BDI=22.5, BDI_tipo ="Arbitrado", fator_local = 1, just_fator_local = "-", tipologia="APARTAMENTOS",
22
- estado="B - entre novo e regular", VR=0.0, valor_terreno=0, est_ter="Grau III de fundamentação no métodocomparativo ou no involutivo",
 
 
 
 
 
23
  fc=1, fc_just="Arbitrado"):
24
  # Carregar dados dos arquivos Excel
25
  df_cub = pd.read_excel('TABELAS.xlsx', sheet_name='CUB')
@@ -93,7 +98,25 @@ def calcular_valor_imovel(area=100, data_refer_str=None, data_const_str=None, ti
93
  # Encontrar o valor da coluna "obs" com base no atributo da coluna "cons"
94
  valor_obs = df_estado_cons.loc[df_estado_cons['cons'] == atributo_desejado, 'obs'].iloc[0]
95
 
96
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
97
  valor_inicial = f"""
98
  Área construída (m²): {area}
99
  Data de referência: {data_refer.strftime("%m/%Y")}
@@ -140,6 +163,8 @@ def calcular_valor_imovel(area=100, data_refer_str=None, data_const_str=None, ti
140
 
141
  # Definir as seções do relatório
142
  sections = [
 
 
143
  (valor_inicial, "Valor Inicial da Construção"),
144
  (deprec, "Cálculo da Depreciação"),
145
  (valor_ter, "Valor Estimado para o Terreno"),
@@ -156,14 +181,33 @@ def calcular_valor_imovel(area=100, data_refer_str=None, data_const_str=None, ti
156
  # Salvar o documento em um arquivo .doc
157
  doc.save('relatorio_avaliacao.doc')
158
 
159
-
160
- return valor_inicial, deprec, valor_ter, valor_final, 'relatorio_avaliacao.doc'
161
 
162
 
163
  interface = gr.Interface(
164
  calcular_valor_imovel,
165
 
166
  inputs = [
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
167
  gr.Number(label="Área construída (m²)", value=100),
168
  gr.Textbox(label="Data de referência (mm/aaaa)", value=ultimo_cub, info="Data do fato gerador da demanda"),
169
  gr.Textbox(label="Data da construção (mm/aaaa)", value=ultimo_cub, info="Data de construção do imóvel"),
@@ -215,6 +259,8 @@ inputs = [
215
  ],
216
 
217
  outputs = [
 
 
218
  gr.Textbox(label = "Valor Inicial da Contrução"),
219
  gr.Textbox(label = "Cálculo da Depreciação"),
220
  gr.Textbox(label = "Valor estimado para o terreno"),
 
8
  from docx import Document
9
  from docx.shared import Pt
10
  from docx.enum.text import WD_PARAGRAPH_ALIGNMENT
11
+
12
 
13
  # Suprimir todos os avisos durante a execução do script
14
  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')
 
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")}
 
163
 
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"),
 
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
 
190
  inputs = [
191
+ # Informações do Responsável Técnico
192
+ gr.Textbox(label="Responsável Técnico", value="-"),
193
+ gr.Dropdown(["Engenheiro Civil", "Arquiteto e Urbanista", "Corretor de Imóveis"],label="Profissão", value="-"),
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"],
204
+ value=["Coleta de Lixo"], multiselect=True, label="Serviços Públicos"),
205
+ gr.Radio(["Residencial", "Comercial", "Misto"], label="Uso",value="Residencial"),
206
+ gr.Radio(["Baixo", "Normal", "Alto"], label="Padrão predominante na região",value="Normal"),
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"),
 
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"),