first re-commit.

This commit is contained in:
2025-08-05 22:37:51 +02:00
commit 5295a82aa3
109 changed files with 9928 additions and 0 deletions

View File

@@ -0,0 +1,54 @@
/***************************************************************************
libMiniCash
Copyright © 2013-2022 christoph holzheuer
c.holzheuer@sourceworx.org
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
***************************************************************************/
#ifndef MCSALESSUMMARY_H
#define MCSALESSUMMARY_H
#include <QtGui>
#include <QtCore>
#include <libMiniCash.h>
#include <mcsalesitemmap.h>
class MCSalesModel;
/**
* @brief Speichert die Verkaufsliste einzelner Kunden nach Kundennummer.
*
* Verwaltet _alle_ Verkaufstransaktionen, wird benötigt für die Endabrechnung.
* Die einzelen Verkäufe an der Kasse werden von @see MCSalesItemMap abgedeckt.
*
* Die einzelen Kassendateien werden nacheinander eingelesen und dann für die
* Endabrechnung ausgewertet. Für jede Kundennummer wird eine Map mit verkauften Artikeln
* angelegt, der Schlüssel ist die laufende Nummer des Artikels, die Verwendung einer Map
* sichert die automatische Sortierung der Einträge. Die Artikelmaps landen wiederum in der
* "Hauptmap", mit der CustomerId als Schlüssel. Ergebnis ist eine sortierte Struktur mit allen
* Kunden und den jeweils verkauften Artikeln. QMultiMap taugt hierfür leider nicht,
* es wird also eine "Map of Maps" implementiert.
*
*/
class LIBMINICASH_EXPORT MCSalesSummary : public QMap<QString, MCSalesItemMap>
{
public:
explicit MCSalesSummary();
int appendFromFile( const QString& filename, int& customercount, MCSalesModel& model );
void dump();
};
#endif // MCSALESSUMMARY_H