mirror of
https://github.com/pcvolkmer/bzkf-rwdp-check.git
synced 2025-04-19 11:06: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_meldungen = db
|
||||
let db_entries = db
|
||||
.exported(export_package)
|
||||
.map_err(|_e| "Fehler bei Zugriff auf die Datenbank")?;
|
||||
|
||||
let db_row_count = db_meldungen.len();
|
||||
|
||||
let db_meldungen = db_meldungen
|
||||
let db_meldungen = db_entries
|
||||
.iter()
|
||||
.map(|entry| LkrExportProtocolFile::parse(&entry.1))
|
||||
.filter(|entry| entry.is_ok())
|
||||
@ -474,7 +472,7 @@ fn main() -> Result<(), Box<dyn Error>> {
|
||||
let _ = term.write_line(
|
||||
&style(format!(
|
||||
"{} Datenbankeinträge mit {} Meldungen abgerufen",
|
||||
db_row_count,
|
||||
db_entries.len(),
|
||||
db_meldungen.len()
|
||||
))
|
||||
.green()
|
||||
@ -483,7 +481,7 @@ fn main() -> Result<(), Box<dyn Error>> {
|
||||
|
||||
if db_meldungen.len() != xml_meldungen.len() {
|
||||
let _ = term.write_line(
|
||||
&style(format!("Nicht übereinstimmende Anzahl an Meldungen:",))
|
||||
&style("\nNicht übereinstimmende Anzahl an Meldungen:")
|
||||
.yellow()
|
||||
.to_string(),
|
||||
);
|
||||
@ -500,7 +498,7 @@ fn main() -> Result<(), Box<dyn Error>> {
|
||||
|
||||
if !missing_db_ids.is_empty() {
|
||||
let _ = term.write_line(
|
||||
&style(format!("In der Datenbank fehlende Meldungen::",))
|
||||
&style("\nIn der Datenbank fehlende Meldungen:")
|
||||
.yellow()
|
||||
.to_string(),
|
||||
);
|
||||
@ -521,7 +519,7 @@ fn main() -> Result<(), Box<dyn Error>> {
|
||||
|
||||
if !missing_xml_ids.is_empty() {
|
||||
let _ = term.write_line(
|
||||
&style(format!("In der Protokolldatei fehlende Meldungen::",))
|
||||
&style("\nIn der Protokolldatei fehlende Meldungen:")
|
||||
.yellow()
|
||||
.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