diff --git a/src/components/graph/LineBarChart.tsx b/src/components/graph/LineBarChart.tsx
index 945da91..39f026d 100644
--- a/src/components/graph/LineBarChart.tsx
+++ b/src/components/graph/LineBarChart.tsx
@@ -114,7 +114,7 @@ export function LineBarChart({ title, subtitle, data1, data2, data3, label, red,
},
};
- console.log(label.length)
+ console.log(data3)
const data = data2? {
labels: label.length < 28? ['1', '2', '3', '4', '5', '6', '7', '8', '8', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30', '31'] : label,
@@ -146,7 +146,7 @@ export function LineBarChart({ title, subtitle, data1, data2, data3, label, red,
backgroundColor: (value, ctx) => {
return hashurado? parseInt(value.dataIndex+1) <= currentTime.getMonth()? '#255488' : pattern.draw('diagonal', '#255488') : '#255488'
},
- data: data2.map(value => value.value),
+ data: data3.map(value => value.value),
},
],
} : {
@@ -158,8 +158,8 @@ export function LineBarChart({ title, subtitle, data1, data2, data3, label, red,
borderColor: red?
'#f00' : '#0c9200',
borderWidth: 2,
- fill: false,
- data: data1.map(value => value.value),
+ fill: true,
+ data: data1.map(value => value),
},
{
type: 'bar' as const,
diff --git a/src/components/graph/costIndicatorChart/index.tsx b/src/components/graph/costIndicatorChart/index.tsx
index c1cb013..387a840 100644
--- a/src/components/graph/costIndicatorChart/index.tsx
+++ b/src/components/graph/costIndicatorChart/index.tsx
@@ -63,7 +63,7 @@ export default function CostIndicatorChart({ title, data1, data2, label, subtitl
dataArr.map(data => {
sum += data;
});
- const result = `${parseInt(value).toLocaleString('pt-br')}`
+ const result = `${(parseFloat(value)/10).toLocaleString('pt-br').slice(0, 4)}`
return value==null? null : result
},
diff --git a/src/components/graph/grossAnualChart/GrossAnualChart.tsx b/src/components/graph/grossAnualChart/GrossAnualChart.tsx
index ee7f3b1..734a93b 100644
--- a/src/components/graph/grossAnualChart/GrossAnualChart.tsx
+++ b/src/components/graph/grossAnualChart/GrossAnualChart.tsx
@@ -1,12 +1,11 @@
import { BarElement, CategoryScale, Chart as ChartJS, Legend, LinearScale, Title, Tooltip } from 'chart.js';
import ChartDataLabels from 'chartjs-plugin-datalabels';
-import { draw, generate } from 'patternomaly'
-import React from 'react';
-import { Bar, Chart } from 'react-chartjs-2';
+import { draw } from 'patternomaly'
+import React, { useEffect } from 'react';
+import { Chart } from 'react-chartjs-2';
import { GrossAnualChartView } from './GrossAnualChartView';
import ChartTitle from '../ChartTitle';
-import { blue } from '@mui/material/colors';
ChartJS.register(
CategoryScale,
@@ -29,25 +28,20 @@ interface SingleBarInterface{
bruta?: boolean | undefined
}
-export function GrossAnulChart({ title, subtitle, dataProps, label, dataset, barLabel, miniature, bruta }: SingleBarInterface) {
+export function GrossAnualChart({ title, subtitle, dataProps, label, dataset, barLabel, miniature, bruta }: SingleBarInterface) {
function spacement(string) {
- let spaces = '⠀'
- let i=Math.abs(string)
+ const spaces = string.length===1?'' : string.length===2? '⠀⠀⠀⠀' : string.length===3? '⠀⠀⠀' : string.length===4? '⠀⠀' : string.length===5? '⠀' : ''
- while (i <= 1) {
- i--
- spaces = spaces + `⠀`
- }
+ console.log(string.length)
return spaces
}
const options: any = {
responsive: true,
- is3D: true,
scales: {
x: {
- grouped: false,
+ stacked: true,
font: {
size: 20
},
@@ -56,6 +50,7 @@ export function GrossAnulChart({ title, subtitle, dataProps, label, dataset, bar
}
},
y: {
+ stacked: true,
grid: {
display: false
}
@@ -75,14 +70,14 @@ export function GrossAnulChart({ title, subtitle, dataProps, label, dataset, bar
sum += data;
});
const percentage = (dataProps[ctx.dataIndex].econ_percentual*100).toFixed(0)+"%";
- const result = `${spacement(parseInt(value).toLocaleString('pt-br'))} ${percentage}\n${parseInt(value).toLocaleString('pt-br')}`
+ const result = `${spacement(parseInt(value).toLocaleString('pt-br'))}${percentage}\n${parseInt(value).toLocaleString('pt-br')}${spacement(parseInt(value).toLocaleString('pt-br'))}`
return value==null? null : result
},
display: true,
color: '#255488',
anchor: "end",
- offset: -60,
+ offset: !miniature? -55 : -30,
align: "start",
font: {
size: !miniature? 22 : 10,
@@ -105,7 +100,7 @@ export function GrossAnulChart({ title, subtitle, dataProps, label, dataset, bar
let labels: string[];
if (bruta) {
- labels = label.map(value => value.replace('2021', 'Até 2021'))
+ labels = [`Até ${new Date().getFullYear()-1}`, `${new Date().getFullYear()}`]
} else {
labels = label
}
@@ -117,26 +112,20 @@ export function GrossAnulChart({ title, subtitle, dataProps, label, dataset, bar
type: 'bar',
label: dataset,
stacked: true,
-
- data: dataProps.map((value, index) => {
- if (!value.dad_estimado)
- return parseFloat(value.economia_acumulada).toFixed(2)
+ data: dataProps.filter(value => value.dad_estimado === false).map((value, index) => {
+ return parseFloat(value.economia_acumulada)
}),
- backgroundColor: (value, ctx) => {
- return '#255488'
- },
+ backgroundColor: '#255488'
},
{
type: 'bar',
stacked: true,
label: 'Estimado',
- data: dataProps.map((value, index) => {
+ data: dataProps.filter(value => value.ano === '2022').map((value, index) => {
if (value.dad_estimado)
- return parseFloat(value.economia_acumulada).toFixed(2)
+ return parseFloat(value.economia_acumulada)
}),
- backgroundColor: (value, ctx) => {
- return draw('diagonal-right-left', '#C2d5fb');
- },
+ backgroundColor: draw('diagonal-right-left', '#C2d5fb'),
},
],
}
diff --git a/src/components/graph/grossMensalChart/GrossMensalChart.tsx b/src/components/graph/grossMensalChart/GrossMensalChart.tsx
index 3a20a45..6a184f3 100644
--- a/src/components/graph/grossMensalChart/GrossMensalChart.tsx
+++ b/src/components/graph/grossMensalChart/GrossMensalChart.tsx
@@ -43,13 +43,9 @@ interface ChartInterface {
export default function GrossMensalChart({ title, data1, data2, label, subtitle, miniature }: ChartInterface) {
function spacement(string) {
- let spaces = '⠀'
- let i=Math.abs(string)
+ const spaces = string.length===1?'' : string.length===2? '⠀⠀⠀⠀' : string.length===3? '⠀⠀⠀' : string.length===4? '⠀⠀' : string.length===5? '⠀' : ''
- while (i <= 1) {
- i--
- spaces = spaces + `⠀`
- }
+ console.log(string.length)
return spaces
}
diff --git a/src/components/sidebar/Sidebar.tsx b/src/components/sidebar/Sidebar.tsx
index b87ed41..325241f 100644
--- a/src/components/sidebar/Sidebar.tsx
+++ b/src/components/sidebar/Sidebar.tsx
@@ -119,7 +119,7 @@ export default function Sidebar() {
- {'Visão Geral'}
- - setEconomiaDrawer(!economiaDrawer)} className={router.pathname=='/grossSavings' || router.pathname=='/accumulatedSavings' || router.pathname=='/estimatedCost' || router.pathname=='/costIndicator' ? 'actualPath' : null } >{'Economia'}
+ - setEconomiaDrawer(!economiaDrawer)} className={router.pathname=='/economy'? 'actualPath' : null } >{'Economia'}
{/*
- setEconomyMenu(0)} className={economyMenu===0? 'actualPathDrawer' : null}>Economia Bruta Anual
- setEconomyMenu(1)} className={economyMenu===1? 'actualPathDrawer' : null}>Economia Bruta Mensal
diff --git a/src/contexts/AuthContext.tsx b/src/contexts/AuthContext.tsx
index 84aaaeb..677e7da 100644
--- a/src/contexts/AuthContext.tsx
+++ b/src/contexts/AuthContext.tsx
@@ -3,7 +3,7 @@ import Router from 'next/router'
import { destroyCookie, setCookie } from "nookies";
-import { signInRequest } from "../services/auth";
+import { logout, signInRequest } from "../services/auth";
import { api } from "../services/api";
type UserType = {
@@ -37,6 +37,8 @@ export function AuthProvider({children}: {children: React.ReactNode}) {
destroyCookie(null, 'user-role')
destroyCookie(null, 'user-id')
destroyCookie(null, '@smartAuth-token')
+
+ logout()
}
async function signIn({email, password}: SignInData) {
diff --git a/src/pages/dashboard/index.tsx b/src/pages/dashboard/index.tsx
index 2654097..8660d94 100644
--- a/src/pages/dashboard/index.tsx
+++ b/src/pages/dashboard/index.tsx
@@ -23,7 +23,7 @@ import { parseCookies } from 'nookies'
import { GetServerSideProps } from 'next'
import getAPIClient from '../../services/ssrApi'
import Chart2 from '../../components/graph/Chart2'
-import { GrossAnulChart } from '../../components/graph/grossAnualChart/GrossAnualChart'
+import { GrossAnualChart } from '../../components/graph/grossAnualChart/GrossAnualChart'
import CostIndicatorChart from '../../components/graph/costIndicatorChart'
import { CativoXLivreChart } from '../../components/graph/cativoXLivreChart'
import GrossMensalChart from '../../components/graph/grossMensalChart/GrossMensalChart'
@@ -55,7 +55,7 @@ export default function Dashboard({grossAnualGraph, grossAnualYears, grossMensal
-
+
{
mapsInfo.map(value => {
return
@@ -66,13 +66,8 @@ export default function Dashboard({grossAnualGraph, grossAnualYears, grossMensal
- {/* */}
-
@@ -93,11 +88,6 @@ export default function Dashboard({grossAnualGraph, grossAnualYears, grossMensal
- {/* value.mes.slice(4, 8).includes('2021'))}
- // data1={graphData}
- data2={costIndicator.filter((value, index) => value.mes.slice(4, 8).includes('2022'))}
- label={costIndicator.map(value => value.mes.slice(0, 3))} miniature/> */}
value.mes.slice(4, 8).includes('2021'))}
// data1={graphData}
diff --git a/src/pages/economy/index.tsx b/src/pages/economy/index.tsx
index 86869a0..6b4d1dd 100644
--- a/src/pages/economy/index.tsx
+++ b/src/pages/economy/index.tsx
@@ -30,11 +30,12 @@ import { DesktopDatePicker } from '@mui/x-date-pickers/DesktopDatePicker';
import { AdapterDateFns } from '@mui/x-date-pickers/AdapterDateFns';
import { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider';
import { MenuContext } from '../../contexts/menu/MenuContext';
-import { GrossAnulChart } from '../../components/graph/grossAnualChart/GrossAnualChart';
+import { GrossAnualChart } from '../../components/graph/grossAnualChart/GrossAnualChart';
import GrossMensalChart from '../../components/graph/grossMensalChart/GrossMensalChart';
import { CativoXLivreChart } from '../../components/graph/cativoXLivreChart';
import { ConsumoEstimado } from '../../services/consumoEstimado';
import CostIndicatorChart from '../../components/graph/costIndicatorChart';
+import { EconomyView } from '../../styles/layouts/economy/economy';
export default function economy({userName, anual, years, brutaMensal, yearsBrutaMensal, catLiv, clients, indicatorCost}: any) {
const {economyMenu, setEconomyMenu} = useContext(MenuContext)
@@ -86,7 +87,7 @@ export default function economy({userName, anual, years, brutaMensal, yearsBruta
}, [unity])
return (
-
+
Smart Energia - PLD
@@ -106,7 +107,7 @@ export default function economy({userName, anual, years, brutaMensal, yearsBruta
-
+
)
}
diff --git a/src/pages/pld/index.tsx b/src/pages/pld/index.tsx
index f5dfb7b..6de55b9 100644
--- a/src/pages/pld/index.tsx
+++ b/src/pages/pld/index.tsx
@@ -83,11 +83,9 @@ export default function pld({tableData, userName, clientMonth}: pldInterface) {
function getDataByDay() {
console.log(month)
api.post('/pld/daily', {
- "limit": 20,
- "offset": 0,
"filters": [
- {"type" : "=", "field" : "mes_ref", "value": month, "row": true},
- {"type" : "=", "field" : "pld.submercado", "value": select}
+ {"type" : "=", "field" : "year_month_formatted", "value": month},
+ {"type" : "=", "field" : "submarket", "value": select}
],
"order": [{ "field": "day_calc", "direction": "asc" }]
}).then(res => {
@@ -185,8 +183,9 @@ export default function pld({tableData, userName, clientMonth}: pldInterface) {
function htmlToCSV(html, filename) {
const data = [];
const rows = document.querySelectorAll("table tr");
+ // const rows = document.getElementsByClassName('tabela');
- for (let i = 0; i < rows.length; i++) {
+ for (let i = rows.length/2; i < rows.length; i++) {
const row = [], cols: any = rows[i].querySelectorAll("td, th");
for (let j = 0; j < cols.length; j++) {
@@ -196,7 +195,7 @@ export default function pld({tableData, userName, clientMonth}: pldInterface) {
data.push(row.join(";"));
}
- downloadCSVFile(data.join("\n").replace('(R$/MWh)', ''), filename);
+ downloadCSVFile(data.join("\n"), filename);
}
useEffect(() => {
@@ -236,7 +235,7 @@ export default function pld({tableData, userName, clientMonth}: pldInterface) {
-
+
| Mês |
@@ -262,20 +261,6 @@ export default function pld({tableData, userName, clientMonth}: pldInterface) {
}
- {/*
- setPage(1)} className="btn btn-1">
-
- Valores Diários
-
- setPage(2)} className="btn btn-1">
-
- Valores Horários
-
- */}
@@ -318,9 +303,73 @@ export default function pld({tableData, userName, clientMonth}: pldInterface) {
+
+
+
+
+
+ | Mês |
+ Nordeste |
+ Norte |
+ Sudeste |
+ Sul |
+
+
+
+ {
+ tableData.data.map(data => {
+ return <>
+
+ | {data.year_month_formatted} |
+ {parseFloat(data.nordeste).toLocaleString('pt-br',{currency: 'BRL', minimumFractionDigits: 2, maximumFractionDigits: 2})} |
+ {parseFloat(data.norte).toLocaleString('pt-br',{currency: 'BRL', minimumFractionDigits: 2, maximumFractionDigits: 2})} |
+ {parseFloat(data.sudeste).toLocaleString('pt-br',{currency: 'BRL', minimumFractionDigits: 2, maximumFractionDigits: 2})} |
+ {parseFloat(data.sul).toLocaleString('pt-br',{currency: 'BRL', minimumFractionDigits: 2, maximumFractionDigits: 2})} |
+
+ >
+ })
+ }
+ {
+ tableData.result.map((data, index) => {
+ if (index === 0) {
+ return <>
+
+ | Máximo |
+ {parseFloat(data.nordeste_max).toLocaleString('pt-br',{style: 'currency', currency: 'BRL', minimumFractionDigits: 2, maximumFractionDigits: 2})} |
+ {parseFloat(data.norte_max).toLocaleString('pt-br',{style: 'currency', currency: 'BRL', minimumFractionDigits: 2, maximumFractionDigits: 2})} |
+ {parseFloat(data.sudeste_max).toLocaleString('pt-br',{style: 'currency', currency: 'BRL', minimumFractionDigits: 2, maximumFractionDigits: 2})} |
+ {parseFloat(data.sul_max).toLocaleString('pt-br',{style: 'currency', currency: 'BRL', minimumFractionDigits: 2, maximumFractionDigits: 2})} |
+
+ >
+ } else if (index===1) {
+ return <>
+
+ | Mínimo |
+ {parseFloat(data.nordeste_min).toLocaleString('pt-br',{style: 'currency', currency: 'BRL', minimumFractionDigits: 2, maximumFractionDigits: 2})} |
+ {parseFloat(data.norte_min).toLocaleString('pt-br',{style: 'currency', currency: 'BRL', minimumFractionDigits: 2, maximumFractionDigits: 2})} |
+ {parseFloat(data.sudeste_min).toLocaleString('pt-br',{style: 'currency', currency: 'BRL', minimumFractionDigits: 2, maximumFractionDigits: 2})} |
+ {parseFloat(data.sul_min).toLocaleString('pt-br',{style: 'currency', currency: 'BRL', minimumFractionDigits: 2, maximumFractionDigits: 2})} |
+
+ >
+ } else if (index===2) {
+ return <>
+
+ | Desv. Padrão |
+ {parseFloat(data.nordeste_desv_pad).toLocaleString('pt-br',{style: 'currency', currency: 'BRL', minimumFractionDigits: 2})} |
+ {parseFloat(data.norte_desv_pad).toLocaleString('pt-br',{style: 'currency', currency: 'BRL', minimumFractionDigits: 2})} |
+ {parseFloat(data.sudeste_desv_pad).toLocaleString('pt-br',{style: 'currency', currency: 'BRL', minimumFractionDigits: 2})} |
+ {parseFloat(data.sul_desv_pad).toLocaleString('pt-br',{style: 'currency', currency: 'BRL', minimumFractionDigits: 2})} |
+
+ >
+ }
+ })
+ }
+
+
+
- {/* grafico de grafico por seleção de data (mês)*/}
+ {/* grafico de grafico por seleção de data (mês) (diario)*/}
@@ -376,7 +425,7 @@ export default function pld({tableData, userName, clientMonth}: pldInterface) {
value.mmovel)} data3={dataByDay}
dataset1={'Média'} dataset2={'barra1'} dataset3={'Diario'}
label={dataByDay.map((value, index) => {
return value.day_formatted
@@ -385,7 +434,7 @@ export default function pld({tableData, userName, clientMonth}: pldInterface) {
- {/* grafico de grafico por seleção de data INTEIRA*/}
+ {/* grafico de grafico por seleção de data INTEIRA (horario)*/}
diff --git a/src/pages/resumoOperacao/index.tsx b/src/pages/resumoOperacao/index.tsx
index 27d4b85..1bce8fc 100644
--- a/src/pages/resumoOperacao/index.tsx
+++ b/src/pages/resumoOperacao/index.tsx
@@ -28,11 +28,9 @@ export default function ResumoOperacao({tableData, clients, userName, clientMont
const csvData = tableData;
const [month, setMonth] = useState('');
- const [unidade, setUnidade] = useState('');
+ const [unidade, setUnidade] = useState(clients[0].cod_smart_unidade);
const [tableDataState, setTableDataState] = useState([]);
- const monthLabels = ['Jan', 'Fev', 'Mar', 'Abr', 'Mai', 'Jun', 'Jul', 'ago', 'set', 'out', 'nov', 'dez']
-
const { ['user-id']: id } = parseCookies()
const handleChangeMonth = (event: SelectChangeEvent) => {
@@ -120,7 +118,7 @@ export default function ResumoOperacao({tableData, clients, userName, clientMont