mirror of
https://github.com/pcvolkmer/bzkf-rwdp-check.git
synced 2025-04-19 19:16:51 +00:00
feat: show entries with multiple meldung item in xml_daten
This commit is contained in:
parent
af4dec0279
commit
3e07408a7d
39
src/main.rs
39
src/main.rs
@ -446,13 +446,11 @@ fn main() -> Result<(), Box<dyn Error>> {
|
|||||||
|
|
||||||
let db = DatabaseSource::new(&database, &host, &password, port, &user);
|
let db = DatabaseSource::new(&database, &host, &password, port, &user);
|
||||||
|
|
||||||
let db_meldungen = db
|
let db_entries = db
|
||||||
.exported(export_package)
|
.exported(export_package)
|
||||||
.map_err(|_e| "Fehler bei Zugriff auf die Datenbank")?;
|
.map_err(|_e| "Fehler bei Zugriff auf die Datenbank")?;
|
||||||
|
|
||||||
let db_row_count = db_meldungen.len();
|
let db_meldungen = db_entries
|
||||||
|
|
||||||
let db_meldungen = db_meldungen
|
|
||||||
.iter()
|
.iter()
|
||||||
.map(|entry| LkrExportProtocolFile::parse(&entry.1))
|
.map(|entry| LkrExportProtocolFile::parse(&entry.1))
|
||||||
.filter(|entry| entry.is_ok())
|
.filter(|entry| entry.is_ok())
|
||||||
@ -474,7 +472,7 @@ fn main() -> Result<(), Box<dyn Error>> {
|
|||||||
let _ = term.write_line(
|
let _ = term.write_line(
|
||||||
&style(format!(
|
&style(format!(
|
||||||
"{} Datenbankeinträge mit {} Meldungen abgerufen",
|
"{} Datenbankeinträge mit {} Meldungen abgerufen",
|
||||||
db_row_count,
|
db_entries.len(),
|
||||||
db_meldungen.len()
|
db_meldungen.len()
|
||||||
))
|
))
|
||||||
.green()
|
.green()
|
||||||
@ -483,7 +481,7 @@ fn main() -> Result<(), Box<dyn Error>> {
|
|||||||
|
|
||||||
if db_meldungen.len() != xml_meldungen.len() {
|
if db_meldungen.len() != xml_meldungen.len() {
|
||||||
let _ = term.write_line(
|
let _ = term.write_line(
|
||||||
&style(format!("Nicht übereinstimmende Anzahl an Meldungen:",))
|
&style("\nNicht übereinstimmende Anzahl an Meldungen:")
|
||||||
.yellow()
|
.yellow()
|
||||||
.to_string(),
|
.to_string(),
|
||||||
);
|
);
|
||||||
@ -500,7 +498,7 @@ fn main() -> Result<(), Box<dyn Error>> {
|
|||||||
|
|
||||||
if !missing_db_ids.is_empty() {
|
if !missing_db_ids.is_empty() {
|
||||||
let _ = term.write_line(
|
let _ = term.write_line(
|
||||||
&style(format!("In der Datenbank fehlende Meldungen::",))
|
&style("\nIn der Datenbank fehlende Meldungen:")
|
||||||
.yellow()
|
.yellow()
|
||||||
.to_string(),
|
.to_string(),
|
||||||
);
|
);
|
||||||
@ -521,7 +519,7 @@ fn main() -> Result<(), Box<dyn Error>> {
|
|||||||
|
|
||||||
if !missing_xml_ids.is_empty() {
|
if !missing_xml_ids.is_empty() {
|
||||||
let _ = term.write_line(
|
let _ = term.write_line(
|
||||||
&style(format!("In der Protokolldatei fehlende Meldungen::",))
|
&style("\nIn der Protokolldatei fehlende Meldungen:")
|
||||||
.yellow()
|
.yellow()
|
||||||
.to_string(),
|
.to_string(),
|
||||||
);
|
);
|
||||||
@ -535,6 +533,31 @@ fn main() -> Result<(), Box<dyn Error>> {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let multiple_meldung_entries = db_entries
|
||||||
|
.iter()
|
||||||
|
.map(|(lkr_meldung, meldung)| (lkr_meldung, LkrExportProtocolFile::parse(&meldung)))
|
||||||
|
.filter_map(|(lkr_meldung, meldung)| {
|
||||||
|
if meldung.unwrap().meldungen().len() > 1 {
|
||||||
|
Some(lkr_meldung)
|
||||||
|
} else {
|
||||||
|
None
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.sorted()
|
||||||
|
.collect_vec();
|
||||||
|
|
||||||
|
if !multiple_meldung_entries.is_empty() {
|
||||||
|
let _ = term.write_line(
|
||||||
|
&style("\nFolgende Einträge in `lkr_meldung_export` haben mehrere Meldungsinhalte in `xml_daten`:")
|
||||||
|
.yellow()
|
||||||
|
.to_string(),
|
||||||
|
);
|
||||||
|
|
||||||
|
multiple_meldung_entries.iter().for_each(|item| {
|
||||||
|
let _ = term.write_line(&item.to_string());
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user