From 49cdb922bf7d93a1947b6fdecb33badaf3324100 Mon Sep 17 00:00:00 2001 From: "nicolas.borges" Date: Wed, 18 Feb 2026 07:59:52 -0300 Subject: [PATCH] =?UTF-8?q?Corre=C3=A7=C3=A3o=20v2=20de=20bug=20*Cristiano?= =?UTF-8?q?*+adi=C3=A7=C3=A3o=20de=20data=20manual?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/groupped_repport_monthly.rs | 26 ++++++++++++++----- src/groupped_repport_weekly.rs | 46 +++++++++++++++++---------------- 2 files changed, 43 insertions(+), 29 deletions(-) diff --git a/src/groupped_repport_monthly.rs b/src/groupped_repport_monthly.rs index de5759e..f556b6e 100644 --- a/src/groupped_repport_monthly.rs +++ b/src/groupped_repport_monthly.rs @@ -20,12 +20,12 @@ struct CsvHeader { #[derive(Debug, serde::Deserialize)] struct CsvEvaluation { - APRESENTAÇÃO: u8, - CONFIRMAÇÃO_DE_EMAIL: u8, - CONFIRMAÇÃO_DE_TELEFONE: u8, + APRESENTACAO: u8, + CONFIRMACAO_DE_EMAIL: u8, + CONFIRMACAO_DE_TELEFONE: u8, PROTOCOLO: u8, - USO_DO_PORTUGUÊS: u8, - PACIÊNCIA_E_EDUCAÇÃO: u8, + USO_DO_PORTUGUES: u8, + PACIENCIA_E_EDUCACAO: u8, DISPONIBILIDADE: u8, ESCLARECIMENTO: u8, ID_TALK: String, @@ -264,9 +264,8 @@ fn main() { } // - +/* let mut deserialized_iter = reader.deserialize::(); - let mut columns = deserialized_iter .filter_ok(|value| value.PONTOS.is_some()) .map_ok(|value| { @@ -281,6 +280,19 @@ fn main() { None }) .collect_vec(); +*/ + let mut columns = deserialized + .into_iter() // usa os registros já lidos + .filter_ok(|value| { + // Se PONTOS for None, considera como 0 e mantém a linha + true // sempre mantém + }) + .map_ok(|value| { + let pontos = value.PONTOS.unwrap_or(0) as u32; + Column::new(value.CATEGORIA.into(), [pontos]) + }) + .filter_map(|value| value.ok()) + .collect_vec(); if columns.len() != 8 { return None; diff --git a/src/groupped_repport_weekly.rs b/src/groupped_repport_weekly.rs index bfb5753..eeb3dca 100644 --- a/src/groupped_repport_weekly.rs +++ b/src/groupped_repport_weekly.rs @@ -315,24 +315,24 @@ fn main() { } } } - // - - //let mut deserialized_iter = reader.deserialize::(); -// let mut columns = deserialized_iter - // .filter_ok(|value| value.PONTOS.is_some()) - // .map_ok(|value| { - // let col = - // Column::new(value.CATEGORIA.into(), [value.PONTOS.unwrap() as u32]); - // col - // }) - // .filter_map(|value| { - // if value.is_ok() { - // return Some(value.unwrap()); - // } - // None - //}) - //.collect_vec(); +/* + let mut deserialized_iter = reader.deserialize::(); + let mut columns = deserialized_iter + .filter_ok(|value| value.PONTOS.is_some()) + .map_ok(|value| { + let col = + Column::new(value.CATEGORIA.into(), [value.PONTOS.unwrap() as u32]); + col + }) + .filter_map(|value| { + if value.is_ok() { + return Some(value.unwrap()); + } + None + }) + .collect_vec(); +*/ let mut columns = deserialized .into_iter() // usa os registros já lidos .filter_ok(|value| { @@ -343,11 +343,13 @@ fn main() { let pontos = value.PONTOS.unwrap_or(0) as u32; Column::new(value.CATEGORIA.into(), [pontos]) }) - //.filter_ok(|value| value.PONTOS.is_some()) - //.map_ok(|value| { - //let pontos = value.PONTOS.unwrap() as u32; - //Column::new(value.CATEGORIA.into(), [pontos]) - // }) +/* + .filter_ok(|value| value.PONTOS.is_some()) + .map_ok(|value| { + let pontos = value.PONTOS.unwrap() as u32; + Column::new(value.CATEGORIA.into(), [pontos]) + }) +*/ .filter_map(|value| value.ok()) .collect_vec();