packinfomanger.h 975 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #ifndef PACKINFOMANGER_H
  2. #define PACKINFOMANGER_H
  3. #include <QObject>
  4. #include <QDir>
  5. #include <QList>
  6. #include <QDate>
  7. #include "struct_/packinfo.h"
  8. // 管理本地码单(箱单) 的类
  9. // 管理本地批号的类
  10. struct PackSaveInfo
  11. {
  12. QSharedPointer<PackInfo> packInfo;
  13. QString absPath;
  14. };
  15. class PackInfoManger : public QObject
  16. {
  17. Q_OBJECT
  18. public:
  19. explicit PackInfoManger(QObject *parent = nullptr);
  20. QList<PackSaveInfo> getPackInfo(const QDate & tm,bool noSync = false);
  21. QDate lastSyncDate();
  22. QList<QSharedPointer<ProjectInfo>> getLocalProjectInfo();
  23. signals:
  24. public slots:
  25. QString savePackInfo(const QSharedPointer<PackInfo> & info);
  26. QString setPackInfoSync(const QString & code, qint64 time = -1,bool autoSync = false);
  27. bool syncLocalProjectInfo(QList<QSharedPointer<ProjectInfo>> & projects);
  28. private:
  29. QDir getDir(const QDate & tm,bool create = false);
  30. private:
  31. QDir _dataDir;
  32. };
  33. #endif // PACKINFOMANGER_H