tank.h 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. #ifndef TANK_H
  2. #define TANK_H
  3. #include"Standard.h"
  4. #include <QObject>
  5. #include<QMetaType>
  6. #define MAX_COMPARTMENT_NUM (4)
  7. #define VRS_VISUAL_INSPECTION_ITEMS_NUM (8) //油气回收系统 外观检查项个数
  8. #define BLS_VISUAL_INSPECTION_ITEMS_NUM (5) //底部装油系统 外观检查项个数
  9. #define RESULT_QUALIFIED (0)
  10. #define RESULT_NONCONFORM (1)
  11. #define RESULT_NOITEM (2)
  12. class PressureItem{
  13. public:
  14. QDateTime m_datetime;
  15. int m_testDirection;
  16. int m_testStage;
  17. int m_testStep;
  18. double m_pressure;
  19. };
  20. class TestResult{
  21. public:
  22. double sysstart_pressure;
  23. double sysend_pressure;
  24. double delta_sys_pressure;
  25. bool pass_sys_pressure;
  26. bool sys_test_finished;
  27. double valvestart_pressure;
  28. double valveend_pressure;
  29. double delta_valve_pressure;
  30. bool pass_valve_pressure;
  31. bool valve_test_finished;
  32. };
  33. class Compartment{
  34. public:
  35. Compartment();
  36. ~Compartment();
  37. int get_addpressure_timeout();
  38. int get_adjust_timeout();
  39. void clear_result();
  40. int m_id;
  41. int m_volume;
  42. double m_currentpressure;
  43. TestResult m_result;
  44. bool m_testfinished;
  45. StandardItem m_standarditem;
  46. QVector<PressureItem> m_pressuredata;
  47. };
  48. class LeakageValue{
  49. public:
  50. LeakageValue();
  51. ~LeakageValue();
  52. double couplevalve;
  53. double manhole;
  54. };
  55. class Tanker
  56. {
  57. public:
  58. Tanker();
  59. ~Tanker();
  60. Compartment& get_compartment(int id);
  61. QString licenseplate_str;
  62. QString companyname_str;
  63. int compartment_num;
  64. int total_volume;
  65. LeakageValue m_leakagevalue;
  66. Compartment m_comparts[MAX_COMPARTMENT_NUM];
  67. int vrs_results[VRS_VISUAL_INSPECTION_ITEMS_NUM];
  68. int bls_results[BLS_VISUAL_INSPECTION_ITEMS_NUM];
  69. QJsonObject get_vrs_items();
  70. QJsonObject get_bls_items();
  71. bool set_item_result(const QString& jsonStr );
  72. bool set_leakage_value(const QString& jsonStr);
  73. };
  74. Q_DECLARE_METATYPE(Tanker);
  75. #endif // TANK_H