From f774e75fce7a9576c0a725b536ab858e583415f8 Mon Sep 17 00:00:00 2001 From: qiuxiang <394405259@qq.com> Date: Tue, 6 Oct 2026 17:46:31 +0800 Subject: [PATCH] =?UTF-8?q?=E6=AF=8F=E6=97=A5=E8=B4=A6=E5=8D=95=E8=84=9A?= =?UTF-8?q?=E6=9C=AC=EF=BC=9A=E8=83=9C=E7=AE=97=E8=AF=A5=E5=8C=BA=E9=97=B4?= =?UTF-8?q?=E6=97=A0=E6=95=B0=E6=8D=AE=E6=97=B6=E6=8C=89=E8=B7=B3=E8=BF=87?= =?UTF-8?q?=E5=A4=84=E7=90=86=EF=BC=88=E4=B8=8D=E7=AE=97=E5=A4=B1=E8=B4=A5?= =?UTF-8?q?=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/erp-daily-bills/export-daily.mjs | 15 ++++++++++++++- scripts/erp-daily-bills/run-erp-daily.ps1 | 4 ++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/scripts/erp-daily-bills/export-daily.mjs b/scripts/erp-daily-bills/export-daily.mjs index 74b49387..36a42430 100644 --- a/scripts/erp-daily-bills/export-daily.mjs +++ b/scripts/erp-daily-bills/export-daily.mjs @@ -192,7 +192,20 @@ for (let attempt = 1; attempt <= 4 && !countText; attempt++) { log(`查询第${attempt}次:笔数=${countText},新请求=${seen.list.length - before}`); if (!countText) await sleep(2000); } -if (!countText) throw new Error('查询未返回数据'); +if (!countText) { + // 胜算该区间还没有账单(如当月账单尚未拉取)时按“无数据”结束,不算失败。 + const noData = await evaluate(cdp, sid, `((document.body.innerText || '').includes('暂无数据'))`); + if (noData) { + log('该区间胜算暂无数据,跳过导出:' + monthStart + ' ~ ' + through); + fs.writeFileSync(path.join(OUT_DIR, 'last-export.json'), JSON.stringify({ + platform: platformKey, platformLabel: platform.label, empty: true, + monthStart, through, pageCount: 0, + }, null, 2)); + close(); + process.exit(0); + } + throw new Error('查询未返回数据'); +} log('页面笔数:', countText); // 3) 导出——同样带重试 diff --git a/scripts/erp-daily-bills/run-erp-daily.ps1 b/scripts/erp-daily-bills/run-erp-daily.ps1 index 8db4c99a..7264699c 100644 --- a/scripts/erp-daily-bills/run-erp-daily.ps1 +++ b/scripts/erp-daily-bills/run-erp-daily.ps1 @@ -79,6 +79,10 @@ try { if ($LASTEXITCODE -ne 0) { Write-Log ($spec.label + ' 导出失败(exit=' + $LASTEXITCODE + ')'); continue } $summary = Get-Content -LiteralPath (Join-Path $exportDir 'last-export.json') -Raw | ConvertFrom-Json + if ($summary.empty) { + Write-Log ($spec.label + ':该区间胜算暂无数据,跳过(未改动生产)') + continue + } $rawFile = $summary.file $csvFile = [IO.Path]::ChangeExtension($rawFile, '.csv') $conv = (& $python (Join-Path $root 'xlsx-to-csv.py') $rawFile $csvFile 2>&1 | Out-String)