yeg
2026-09-28 38673d3a0fe367b944ff6d9579953bb26b391023
scripts/j22-collector.ps1
@@ -220,20 +220,29 @@
where record_time > @since
"@ @{ '@since' = $since }
                foreach ($row in $read) {
                    # 厂商列可能为 NULL:直接强转 [double]/[int] 会抛异常、让整个通道从此不再推进。
                    # 缺列一律转成 JSON null,后端把测量列的缺失当"设备没给",不写零代替缺失。
                    $recordTime = To-Text $row[0]
                    $dataPoint = To-Int $row[1]
                    if ($null -eq $recordTime -or $null -eq $dataPoint) {
                        # 这两个是记录位置与幂等键:缺了无法归属,只能跳过并留下日志
                        Write-Log "  跳过一个缺少 record_time 或 Data_Point 的行 [$key]"
                        continue
                    }
                    # record_time 是 Int64,超过 JavaScript 安全整数范围:必须以字符串传输
                    $rows += [pscustomobject]@{
                        record_time       = [string]$row[0]
                        Data_Point        = [int]$row[1]
                        Schedule_Index    = [string]$row[2]
                        Step_Index        = [int]$row[3]
                        Cycle_Index       = [int]$row[4]
                        Step_Time         = [double]$row[5]
                        Voltage           = [double]$row[6]
                        eCurrent          = [double]$row[7]
                        ChargeCapacity    = [double]$row[8]
                        DischargeCapacity = [double]$row[9]
                        ChargeEnergy      = [double]$row[10]
                        DischargeEnergy   = [double]$row[11]
                        record_time       = $recordTime
                        Data_Point        = $dataPoint
                        Schedule_Index    = To-Text $row[2]
                        Step_Index        = To-Int $row[3]
                        Cycle_Index       = To-Int $row[4]
                        Step_Time         = To-Num $row[5]
                        Voltage           = To-Num $row[6]
                        eCurrent          = To-Num $row[7]
                        ChargeCapacity    = To-Num $row[8]
                        DischargeCapacity = To-Num $row[9]
                        ChargeEnergy      = To-Num $row[10]
                        DischargeEnergy   = To-Num $row[11]
                    }
                }
            }