Procházet zdrojové kódy

在标准管理中添加保压时间项,执行检测流程时,保压时间从标准读出

guoqiang před 2 roky
rodič
revize
3811199bac
4 změnil soubory, kde provedl 33 přidání a 3 odebrání
  1. 13 1
      PageStandard.qml
  2. 17 0
      Standard.cpp
  3. 1 0
      Standard.h
  4. 2 2
      TestService.cpp

+ 13 - 1
PageStandard.qml

@@ -14,6 +14,7 @@ Item {
     property string stdname_str:""
     property double std_PTV: 0.0
     property double std_NTV: 0.0
+    property double std_interval: 0
 
     property var volume: [0,0,0,0]
     property var s_threshold: [0.0, 0.0, 0.0, 0.0]
@@ -56,6 +57,7 @@ Item {
         std_name.text = jsontmp.name
         std_positive_target.text = jsontmp.ptv
         std_negative_target.text = jsontmp.ntv
+        std_intervaltime.text = jsontmp.intervals
 
         if(jsontmp.count === 1){
            level1_v.text = jsontmp.item[0].volume
@@ -225,6 +227,7 @@ Item {
                                     standardJson.name = std_name.text
                                     standardJson.ptv = std_PTV
                                     standardJson.ntv = std_NTV
+                                    standardJson.intervals = std_interval
                                     standardJson.count = 4
                                     for(var i=0; i<4; i++){
                                         var item={}
@@ -305,13 +308,22 @@ Item {
                             }
                         }
 
+                        InputLine{
+                            id:std_intervaltime
+                            paraName: "测量间隔(秒):"
+                            paraLength: 60
+                            onTextChanged: {
+                                std_interval = Number(text)
+                            }
+                        }
+
 
                     GridLayout {
                         id: grid
                         columns: 3
                         columnSpacing: 30
                         rows:5
-                        rowSpacing: 20
+                        rowSpacing: 10
 
 
 

+ 17 - 0
Standard.cpp

@@ -37,6 +37,7 @@ void StandardManager::add_GB()
     std.standard_name = "国标";
     std.positive_target = 4.5;
     std.negative_target = -1.5;
+    std.interval_time = 300;
 
     std.item_count = 4;
     std.item[0].oilcompartment_volume = 9500;
@@ -117,6 +118,10 @@ void StandardManager::load_standards()
                     std.negative_target = childObj.value("nt_v").toDouble();
                 }
 
+                if(childObj.contains("intervals") && childObj.value("intervals").isDouble()){
+                    std.interval_time = childObj.value("intervals").toInt();
+                }
+
                 if(childObj.contains("items") && childObj.value("items").isArray()){
                     QJsonArray  jsonArray_i;
                     jsonArray_i = childObj.value("items").toArray();
@@ -177,6 +182,7 @@ void StandardManager::save_standards()
 
         stdObj.insert("pt_v", m_standard[i].positive_target);
         stdObj.insert("nt_v", m_standard[i].negative_target);
+        stdObj.insert("intervals", m_standard[i].interval_time);
 
        for(int j=0; j < m_standard[i].item_count; j++){
            QJsonObject itemObj;
@@ -214,6 +220,8 @@ void StandardManager::save_standards()
 
 void StandardManager::init()
 {
+    m_standard.clear();
+
     qDebug()<< QString("init enter : %1, %2, %3").arg(__FILE__).arg(__LINE__).arg(__FUNCTION__);
     load_standards();
 
@@ -261,6 +269,7 @@ QJsonObject StandardManager::get_standard(const QString name)
             stdObj.insert("name", m_standard[i].standard_name);
             stdObj.insert("ptv", m_standard[i].positive_target);
             stdObj.insert("ntv", m_standard[i].negative_target);
+            stdObj.insert("intervals", m_standard[i].interval_time);
 
             stdObj.insert("count", m_standard[i].item_count);
             QJsonArray itemArray;
@@ -335,6 +344,13 @@ bool StandardManager::add_standard(const QString& jsonStr )
         return false;
     }
 
+    if(jsonObj.contains("intervals") && jsonObj.value("intervals").isDouble()){
+        std.interval_time = jsonObj.value("intervals").toInt();
+    }else{
+        qDebug() << "add_standard no ntv";
+        return false;
+    }
+
     if(jsonObj.contains("count") && jsonObj.value("count").isDouble()){
         std.item_count = jsonObj.value("count").toInt();
     }else{
@@ -380,6 +396,7 @@ bool StandardManager::add_standard(const QString& jsonStr )
 
             m_standard[i].positive_target = std.positive_target;
             m_standard[i].negative_target = std.negative_target;
+            m_standard[i].interval_time = std.interval_time;
 
             m_standard[i].item_count = std.item_count;
             for(int j=0; j< std.item_count; j++){

+ 1 - 0
Standard.h

@@ -24,6 +24,7 @@ public:
     QString standard_name;
     double positive_target;
     double negative_target;
+    int interval_time; // s
     int item_count;
     StandardItem  item[MAX_STANDARD_ITEM];
 };

+ 2 - 2
TestService.cpp

@@ -1428,7 +1428,7 @@ void TestService::run()
 
                         if(m_stage == Test_Stage_SysTest){
 
-                            ret_v = Pressure_Keep(5*60, start_value, end_value);
+                            ret_v = Pressure_Keep(m_standard.interval_time, start_value, end_value);
 
                             m_tank.m_comparts[m_compartmentid].m_result.sysstart_pressure = start_value;
                             m_tank.m_comparts[m_compartmentid].m_result.sysend_pressure = end_value;
@@ -1484,7 +1484,7 @@ void TestService::run()
 
                         }else{
 
-                            ret_v = Pressure_Keep(5*60, start_value, end_value);
+                            ret_v = Pressure_Keep(m_standard.interval_time, start_value, end_value);
 
                             float offset = 0;
                             //修正 强制初始压力为 0