Procházet zdrojové kódy

完成了GC的参数的展示

wzp před 5 měsíci
rodič
revize
b72ddfc694
1 změnil soubory, kde provedl 65 přidání a 6 odebrání
  1. 65
    6
      Back/GC/GCshow.py

+ 65
- 6
Back/GC/GCshow.py Zobrazit soubor

1
+import itertools
1
 import sqlite3
2
 import sqlite3
2
 
3
 
3
 from PySide6.QtGui import QStandardItemModel, QStandardItem
4
 from PySide6.QtGui import QStandardItemModel, QStandardItem
91
 
92
 
92
     # 查询 GC_Input_Point 表中的数据
93
     # 查询 GC_Input_Point 表中的数据
93
     input_query = """
94
     input_query = """
94
-    SELECT New_ID, Last_ResultName, Last_SPName, Last_EPName,Last_HDiff,Last_RLen, New_ResultName,  New_SPName, New_EPName,New_HDiff, New_RLen
95
+    SELECT New_ID, Last_ResultName, Last_SPName, Last_EPName, Last_HDiff, Last_RLen, New_ResultName, New_SPName, New_EPName, New_HDiff, New_RLen
95
     FROM GC_Input_Point
96
     FROM GC_Input_Point
96
     WHERE TableName = ?
97
     WHERE TableName = ?
97
     """
98
     """
98
     cursor1.execute(input_query, (utf_en,))
99
     cursor1.execute(input_query, (utf_en,))
99
     input_result = cursor1.fetchall()
100
     input_result = cursor1.fetchall()
100
 
101
 
102
+    # 查询 GC_Input_Param 表中的数据
103
+    param_query = """
104
+    SELECT ObservationLevel, Ms_Station, Last_StationCount, Last_SumHDiff, Last_SumRLen, New_StationCount, New_SumHDiff, New_SumRLen
105
+    FROM GC_Input_Param
106
+    WHERE TableName = ?
107
+    """
108
+    cursor1.execute(param_query, (utf_en,))
109
+    param_result = cursor1.fetchall()
110
+
101
     # 创建 QStandardItemModel 实例
111
     # 创建 QStandardItemModel 实例
102
     input_model = QStandardItemModel()
112
     input_model = QStandardItemModel()
103
-    input_model.setColumnCount(len(input_result[0]))
113
+    input_model.setColumnCount(len(input_result[0]) + 8)  # 增加八列(2 + 6)
104
 
114
 
105
     # 设置表头
115
     # 设置表头
106
-    input_headers = ['序号', '上期成果名', '上期测段起点', '上期测段终点', '上期高差', '上期路线长', '本期成果名',
107
-                     '本期测段起点', '本期测段终点',
108
-                     '本期高差', '本期路线长']
116
+    input_headers = [
117
+        '序号', '上期成果名', '上期测段起点', '上期测段终点', '上期高差', '上期路线长', '本期成果名',
118
+        '本期测段起点', '本期测段终点',
119
+        '本期高差', '本期路线长', '观测等级', '测站全中误差',
120
+        '上次总测段数', '上期高差合计', '上期路线长合计', '本期总测段数', '本期高差合计', '本期路线长合计'
121
+    ]
109
     input_model.setHorizontalHeaderLabels(input_headers)
122
     input_model.setHorizontalHeaderLabels(input_headers)
110
 
123
 
111
-    for row_data in input_result:
124
+    # 使用 itertools.zip_longest 处理长度不一致的情况
125
+    for row_data, param_data in itertools.zip_longest(input_result, param_result, fillvalue=(None, None, None, None, None, None, None, None)):
112
         items = []
126
         items = []
113
         for i, item in enumerate(row_data):
127
         for i, item in enumerate(row_data):
114
             if item is None:
128
             if item is None:
117
                 if i in [4, 5, 10, 11]:  # 索引4,5,10,11(高差和路线长)
131
                 if i in [4, 5, 10, 11]:  # 索引4,5,10,11(高差和路线长)
118
                     item = f"{item:.6f}"  # 格式化为6位小数
132
                     item = f"{item:.6f}"  # 格式化为6位小数
119
             items.append(QStandardItem(str(item)))
133
             items.append(QStandardItem(str(item)))
134
+
135
+        # 添加新的列数据
136
+        if param_data is not None:
137
+            observation_level, ms_station, last_station_count, last_sum_hdiff, last_sum_rlen, new_station_count, new_sum_hdiff, new_sum_rlen = param_data
138
+        else:
139
+            observation_level, ms_station, last_station_count, last_sum_hdiff, last_sum_rlen, new_station_count, new_sum_hdiff, new_sum_rlen = "", "", "", "", "", "", "", ""
140
+
141
+        # 确保 observation_level 和 ms_station 是字符串
142
+        if observation_level is None:
143
+            observation_level = ""
144
+        if ms_station is None:
145
+            ms_station = ""
146
+
147
+        # 确保其他字段是字符串或格式化后的字符串
148
+        if last_station_count is None:
149
+            last_station_count = ""
150
+        if last_sum_hdiff is None:
151
+            last_sum_hdiff = ""
152
+        else:
153
+            last_sum_hdiff = f"{last_sum_hdiff:.6f}"
154
+        if last_sum_rlen is None:
155
+            last_sum_rlen = ""
156
+        else:
157
+            last_sum_rlen = f"{last_sum_rlen:.6f}"
158
+        if new_station_count is None:
159
+            new_station_count = ""
160
+        if new_sum_hdiff is None:
161
+            new_sum_hdiff = ""
162
+        else:
163
+            new_sum_hdiff = f"{new_sum_hdiff:.6f}"
164
+        if new_sum_rlen is None:
165
+            new_sum_rlen = ""
166
+        else:
167
+            new_sum_rlen = f"{new_sum_rlen:.6f}"
168
+
169
+        items.append(QStandardItem(str(observation_level)))
170
+        items.append(QStandardItem(f"{ms_station:.2f}" if isinstance(ms_station, (int, float)) else ""))
171
+        items.append(QStandardItem(str(last_station_count)))
172
+        items.append(QStandardItem(str(last_sum_hdiff)))
173
+        items.append(QStandardItem(str(last_sum_rlen)))
174
+        items.append(QStandardItem(str(new_station_count)))
175
+        items.append(QStandardItem(str(new_sum_hdiff)))
176
+        items.append(QStandardItem(str(new_sum_rlen)))
177
+
120
         input_model.appendRow(items)
178
         input_model.appendRow(items)
121
 
179
 
122
     # 设置并展示输入数据表格
180
     # 设置并展示输入数据表格
179
 
237
 
180
     # 隐藏 QLabel
238
     # 隐藏 QLabel
181
     ui.default_remind1.hide()
239
     ui.default_remind1.hide()
240
+

Loading…
Zrušit
Uložit