107 lines
3.2 KiB
Python
107 lines
3.2 KiB
Python
#!/usr/bin/env python
|
|
# -*- coding: utf-8 -*-
|
|
"""
|
|
测试字段映射功能
|
|
"""
|
|
import json
|
|
from convert_table_to_sqlserver_format import convert_temperature_table_to_sqlserver
|
|
|
|
print("=" * 80)
|
|
print("测试字段映射功能")
|
|
print("=" * 80)
|
|
|
|
# 模拟脚本数据
|
|
script_data = {
|
|
"tables": [{
|
|
"token": "scriptTable1",
|
|
"startRow": 0,
|
|
"startCol": 0,
|
|
"cells": [
|
|
{"row": 0, "col": 1, "value": "13.4"},
|
|
{"row": 1, "col": 1, "value": "2025-12-05 14:00:00"},
|
|
{"row": 1, "col": 3, "value": "2025-12-05 17:30:00"},
|
|
{"row": 4, "col": 0, "value": "14.0"},
|
|
]
|
|
}]
|
|
}
|
|
|
|
# 测试1: 使用现有配置的字段名
|
|
print("\n测试1: 使用现有配置的字段名")
|
|
print("-" * 80)
|
|
global_params_old = {
|
|
'current_date': '2025-12-03',
|
|
'executor': '朱吉生',
|
|
'part_no': 'P67-13-103',
|
|
}
|
|
print("输入参数:")
|
|
for key, value in global_params_old.items():
|
|
print(f" {key}: {value}")
|
|
|
|
result1 = convert_temperature_table_to_sqlserver(script_data, "W2001150.001", global_params_old)
|
|
|
|
print("\n输出字段:")
|
|
print(f" runin_date: {result1.get('runin_date')}")
|
|
print(f" operator_name: {result1.get('operator_name')}")
|
|
print(f" power_end_part_no: {result1.get('power_end_part_no')}")
|
|
print(f" motor_speed_rpm: {result1.get('motor_speed_rpm')}")
|
|
|
|
# 测试2: 使用新的字段名
|
|
print("\n\n测试2: 使用新的字段名")
|
|
print("-" * 80)
|
|
global_params_new = {
|
|
'runin_date': '2025-12-10',
|
|
'operator_name': '张三',
|
|
'power_end_part_no': 'PWR-600-001',
|
|
'motor_speed_rpm': '980'
|
|
}
|
|
print("输入参数:")
|
|
for key, value in global_params_new.items():
|
|
print(f" {key}: {value}")
|
|
|
|
result2 = convert_temperature_table_to_sqlserver(script_data, "W2001150.001", global_params_new)
|
|
|
|
print("\n输出字段:")
|
|
print(f" runin_date: {result2.get('runin_date')}")
|
|
print(f" operator_name: {result2.get('operator_name')}")
|
|
print(f" power_end_part_no: {result2.get('power_end_part_no')}")
|
|
print(f" motor_speed_rpm: {result2.get('motor_speed_rpm')}")
|
|
|
|
# 测试3: 混合使用
|
|
print("\n\n测试3: 混合使用(新旧字段名)")
|
|
print("-" * 80)
|
|
global_params_mixed = {
|
|
'runin_date': '2025-12-10',
|
|
'executor': '李四',
|
|
'part_no': 'P67-13-104',
|
|
'motor_speed_rpm': '1200'
|
|
}
|
|
print("输入参数:")
|
|
for key, value in global_params_mixed.items():
|
|
print(f" {key}: {value}")
|
|
|
|
result3 = convert_temperature_table_to_sqlserver(script_data, "W2001150.001", global_params_mixed)
|
|
|
|
print("\n输出字段:")
|
|
print(f" runin_date: {result3.get('runin_date')}")
|
|
print(f" operator_name: {result3.get('operator_name')}")
|
|
print(f" power_end_part_no: {result3.get('power_end_part_no')}")
|
|
print(f" motor_speed_rpm: {result3.get('motor_speed_rpm')}")
|
|
|
|
print("\n" + "=" * 80)
|
|
print("总结")
|
|
print("=" * 80)
|
|
|
|
tests = [
|
|
("测试1 (旧字段名)", result1),
|
|
("测试2 (新字段名)", result2),
|
|
("测试3 (混合)", result3),
|
|
]
|
|
|
|
for test_name, result in tests:
|
|
count = sum(1 for f in ['runin_date', 'operator_name', 'power_end_part_no', 'motor_speed_rpm']
|
|
if result.get(f) is not None)
|
|
status = "✅" if count >= 3 else "⚠️"
|
|
print(f"{status} {test_name}: {count}/4 个字段有值")
|
|
|
|
print("\n" + "=" * 80)
|