Spaces:
Sleeping
Sleeping
Update app.py
Browse files
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 |
-
|
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(
|
21 |
-
|
22 |
-
|
|
|
|
|
|
|
|
|
|
|
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"),
|