Spaces:
Running
Running
Guilherme Silberfarb Costa commited on
Commit ·
e018b1c
1
Parent(s): f0f8ff1
correcao de bugs
Browse files
backend/app/core/elaboracao/core.py
CHANGED
|
@@ -931,7 +931,7 @@ def detectar_colunas_area(df, colunas=None):
|
|
| 931 |
Regras:
|
| 932 |
- nome começa com "A";
|
| 933 |
- todos os valores válidos são > 1;
|
| 934 |
-
- possui
|
| 935 |
"""
|
| 936 |
if df is None:
|
| 937 |
return []
|
|
@@ -957,7 +957,7 @@ def detectar_colunas_area(df, colunas=None):
|
|
| 957 |
|
| 958 |
unicos = np.unique(valores)
|
| 959 |
decimais = unicos[~np.isclose(unicos, np.round(unicos))]
|
| 960 |
-
if len(decimais) <
|
| 961 |
continue
|
| 962 |
|
| 963 |
resultado.append(nome)
|
|
|
|
| 931 |
Regras:
|
| 932 |
- nome começa com "A";
|
| 933 |
- todos os valores válidos são > 1;
|
| 934 |
+
- possui mais de um valor decimal distinto.
|
| 935 |
"""
|
| 936 |
if df is None:
|
| 937 |
return []
|
|
|
|
| 957 |
|
| 958 |
unicos = np.unique(valores)
|
| 959 |
decimais = unicos[~np.isclose(unicos, np.round(unicos))]
|
| 960 |
+
if len(decimais) < 2:
|
| 961 |
continue
|
| 962 |
|
| 963 |
resultado.append(nome)
|
backend/app/services/elaboracao_service.py
CHANGED
|
@@ -1099,8 +1099,10 @@ def apply_selection(
|
|
| 1099 |
|
| 1100 |
tipo_y_norm = normalizar_tipo_y(tipo_y if tipo_y is not None else session.tipo_y)
|
| 1101 |
coluna_area_norm = normalizar_coluna_area(coluna_area if coluna_area is not None else session.coluna_area, df=df)
|
|
|
|
| 1102 |
colunas_area_candidatas = detectar_colunas_area(df)
|
| 1103 |
-
|
|
|
|
| 1104 |
raise HTTPException(status_code=400, detail="Selecione uma coluna de area valida.")
|
| 1105 |
if coluna_area_norm and coluna_area_norm == coluna_y:
|
| 1106 |
raise HTTPException(status_code=400, detail="A coluna de area deve ser diferente da variavel Y.")
|
|
|
|
| 1099 |
|
| 1100 |
tipo_y_norm = normalizar_tipo_y(tipo_y if tipo_y is not None else session.tipo_y)
|
| 1101 |
coluna_area_norm = normalizar_coluna_area(coluna_area if coluna_area is not None else session.coluna_area, df=df)
|
| 1102 |
+
coluna_area_salva = normalizar_coluna_area(session.coluna_area, df=df)
|
| 1103 |
colunas_area_candidatas = detectar_colunas_area(df)
|
| 1104 |
+
area_salva_no_modelo = bool(coluna_area_norm and coluna_area_salva and coluna_area_norm == coluna_area_salva)
|
| 1105 |
+
if coluna_area_norm and coluna_area_norm not in colunas_area_candidatas and not area_salva_no_modelo:
|
| 1106 |
raise HTTPException(status_code=400, detail="Selecione uma coluna de area valida.")
|
| 1107 |
if coluna_area_norm and coluna_area_norm == coluna_y:
|
| 1108 |
raise HTTPException(status_code=400, detail="A coluna de area deve ser diferente da variavel Y.")
|
frontend/src/components/ElaboracaoTab.jsx
CHANGED
|
@@ -1011,10 +1011,13 @@ export default function ElaboracaoTab({ sessionId }) {
|
|
| 1011 |
() => (colunaY ? colunasNumericas.filter((coluna) => coluna !== colunaY) : []),
|
| 1012 |
[colunasNumericas, colunaY],
|
| 1013 |
)
|
| 1014 |
-
const colunasAreaDisponiveis = useMemo(
|
| 1015 |
-
|
| 1016 |
-
|
| 1017 |
-
|
|
|
|
|
|
|
|
|
|
| 1018 |
const todasXMarcadas = useMemo(
|
| 1019 |
() => colunasXDisponiveis.length > 0 && colunasXDisponiveis.every((coluna) => colunasX.includes(coluna)),
|
| 1020 |
[colunasXDisponiveis, colunasX],
|
|
|
|
| 1011 |
() => (colunaY ? colunasNumericas.filter((coluna) => coluna !== colunaY) : []),
|
| 1012 |
[colunasNumericas, colunaY],
|
| 1013 |
)
|
| 1014 |
+
const colunasAreaDisponiveis = useMemo(() => {
|
| 1015 |
+
const disponiveis = (colunasAreaCandidatas || []).filter((coluna) => coluna && coluna !== colunaY && colunasX.includes(coluna))
|
| 1016 |
+
if (colunaArea && colunaArea !== colunaY && colunasX.includes(colunaArea) && !disponiveis.includes(colunaArea)) {
|
| 1017 |
+
return [...disponiveis, colunaArea]
|
| 1018 |
+
}
|
| 1019 |
+
return disponiveis
|
| 1020 |
+
}, [colunasAreaCandidatas, colunaY, colunasX, colunaArea])
|
| 1021 |
const todasXMarcadas = useMemo(
|
| 1022 |
() => colunasXDisponiveis.length > 0 && colunasXDisponiveis.every((coluna) => colunasX.includes(coluna)),
|
| 1023 |
[colunasXDisponiveis, colunasX],
|