From 47aece756f670dd80cf3d62be918f62a9ececf85 Mon Sep 17 00:00:00 2001
From: yeg <1347747024@qq.com>
Date: 星期三, 30 九月 2026 14:56:49 +0800
Subject: [PATCH] 更新

---
 scripts/j22-collector.ps1 |   18 ++++++++++++++++++
 1 files changed, 18 insertions(+), 0 deletions(-)

diff --git a/scripts/j22-collector.ps1 b/scripts/j22-collector.ps1
index b5d0787..daa3d5e 100644
--- a/scripts/j22-collector.ps1
+++ b/scripts/j22-collector.ps1
@@ -73,6 +73,24 @@
     Write-Host $line
 }
 
+# ---------------------------------------------------------------- 取值转换
+# 厂商列可能为 NULL:直接强转 [double]/[int] 会抛异常、让整个通道从此不再推进。
+# 缺列一律转成 JSON null,后端把测量列的缺失当"设备没给",不写零代替缺失。
+function To-Text($value) {
+    if ($null -eq $value -or $value -is [System.DBNull]) { return $null }
+    return [string]$value
+}
+
+function To-Int($value) {
+    if ($null -eq $value -or $value -is [System.DBNull]) { return $null }
+    return [int]$value
+}
+
+function To-Num($value) {
+    if ($null -eq $value -or $value -is [System.DBNull]) { return $null }
+    return [double]$value
+}
+
 # ---------------------------------------------------------------- 读取位置
 # 读取位置按「库里哪张表」记:"DB_<...>/Ws<N>_IV_0" -> 端点已确认的最后一条 record_time(FILETIME 刻度)
 function Get-ReadPositions {

--
Gitblit v1.7.1