53 lines
1.3 KiB
C++
53 lines
1.3 KiB
C++
#ifndef FILTERFORM_H
|
|
#define FILTERFORM_H
|
|
|
|
#include "SqlOpr.h"
|
|
#include "statistic.h"
|
|
#include "util.h"
|
|
#include <QDialog>
|
|
#include <QMenu>
|
|
#include <QTableWidget>
|
|
#include <vector>
|
|
|
|
namespace Ui {
|
|
class FilterForm;
|
|
}
|
|
|
|
class FilterForm : public QDialog
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
explicit FilterForm(QWidget* parent, std::unique_ptr<ACTSqlOpr>& sqlOpr, std::unique_ptr<ComSqlOpr>& comSqlOpr,
|
|
std::unique_ptr<RepaySqlOpr>& repaySqlOpr);
|
|
~FilterForm();
|
|
int exec() override;
|
|
|
|
public:
|
|
static bool Filter(const AccountRecordList& list, AccountRecordList& result);
|
|
static std::vector<std::pair<std::string, std::pair<uint32_t, uint32_t>>> GetClassifyCash(const AccountRecordList& list,
|
|
bool isCash);
|
|
|
|
private:
|
|
void Init();
|
|
|
|
private:
|
|
void ShowResult();
|
|
void ShowContextMenu(const QPoint& pos);
|
|
void TransMenu(int id, QMenu& menu, QTableWidgetItem* item);
|
|
void CalcShow();
|
|
int32_t rePayValue(int accID);
|
|
|
|
private:
|
|
bool over_{};
|
|
QTableWidget* tw_{};
|
|
AccountRecordList result_;
|
|
std::shared_ptr<Statistic> statistic_;
|
|
std::unique_ptr<ACTSqlOpr>& sqlOpr_;
|
|
std::unique_ptr<ComSqlOpr>& comSqlOpr_;
|
|
std::unique_ptr<RepaySqlOpr>& repaySqlOpr_;
|
|
Ui::FilterForm* ui;
|
|
};
|
|
|
|
#endif // FILTERFORM_H
|