13 Commits

Author SHA1 Message Date
e8c5e79486 feat: 每日同步聚水潭标签并刷新种菜金额 2026-11-05 17:07:58 +08:00
232ec8b200 fix: 每日账单先核查覆盖并补齐历史缺口 (#873)
每日运行先检查京东日账单、京东钱包和抖音账单的月份覆盖,按旧到新补齐缺口,历史未补齐时暂停拉取新数据。页面回验按京东/京喜各自口径核对,并在服务端已完整但本地状态滞后时回填状态,避免重复导入;上传断开统一进入重试流程。

> 开工时标题使用 `WIP: <任务名称>` 并先填写“任务占用与边界”。Codex 完成独立合并前自审后补齐其余内容并移除 `WIP:`。

## 任务占用与边界

- 任务名称:
- 实际开发者:
- 任务来源/团队分工:
- 目标结果:
- 预计修改路径:
- 将写入的公共契约(路由、Controller 方法、Repository、表/视图、`source_key`、`scope`、权限名、菜单键或共享组件):
- 仅复用、明确不修改的公共契约:
- 数据源、表/视图和字段:
- 上游 `source_key` / `scope`:
- 权限名、菜单键或共享组件:
- 明确不修改的范围:

## 开工碰撞检查

- [ ] Codex 已执行 `scripts/codex-task-preflight.ps1`
- [ ] 已检查最新 `main` 和所有远程任务分支
- [ ] 已搜索主线既有页面、接口、Repository 和数据查询
- [ ] 已把“将写入”和“仅复用、不修改”的公共契约分开;仅复用项不作为单独阻断条件
- [ ] 未发现实际写入重叠;或已在下方写明相关分支、具体重叠项和协调结论

相关分支、重叠项与协调结论:

## 实际改动

- 完成内容:
- Codex 实际修改的文件:
- 新增或变更的公共契约:
- 与原计划的差异:

## 验证证据

- 正常流程:
- 空数据/错误输入/无权限场景:
- 受影响旧功能:
- 自动测试及结果:
- 实际页面、接口或只读业务查询结果:

## 风险检查

- [ ] 不涉及金额、权限、审批、数据库迁移、生产配置或数据修复
- [ ] 如涉及上述高风险内容,已在下方写明影响、回滚和所需授权
- [ ] 未提交 `.env`、密码、Token、私钥、真实财务数据、生产日志或构建产物
- [ ] 前端改动符合 `DESIGN.md`;无前端改动则写“不适用”

高风险影响、回滚和授权状态:

## 合并前复查

- [ ] 已重新拉取远程引用并用实际修改范围再次运行碰撞检查
- [ ] PR 不再是 `WIP:`,所有测试结果已经补齐
- [ ] Codex 已重新读取原始需求和验收标准,并逐文件审核 `origin/main...任务分支` 的完整 diff
- [ ] Codex 自审确认无越界修改、重复实现、敏感内容、未处理冲突和未验证结果
- [ ] 合并顺序不会覆盖其他未合并任务
- [ ] 已授权当前任务的 Codex 执行 Squash merge、验证 `main` 并清理任务分支
- [ ] 如涉及生产迁移、数据修复、删除、覆盖配置或部署,已另行取得对应高风险授权

Reviewed-on: #873
2026-11-04 18:47:10 +08:00
67c85678e6 feat: 接入网商银行每日动账明细 (#831)
Co-authored-by: 92451 <924518135@qq.com>
Co-committed-by: 92451 <924518135@qq.com>
2026-11-02 20:58:42 +08:00
1a3c7e8a21 fix: 每日账单导入改走受限批处理容器
fix: 每日账单导入改走受限批处理容器
2026-11-02 16:56:52 +08:00
040d0d08ae feat: 接入公司支付宝账单与台账手动编辑 (#797)
接入公司非店铺支付宝账单、受限批处理导入,并为账户总表及每日资金流水增加管理员手动编辑与审计。
Co-authored-by: 92451 <924518135@qq.com>
Co-committed-by: 92451 <924518135@qq.com>
2026-10-30 20:03:04 +08:00
144937bfa3 补齐京东钱包每日账单同步并增加覆盖校验 2026-10-20 12:20:13 +08:00
8fbc9abd53 聚胜算每日账单导出:等待胜算标签页注册并提高导出重试次数
- export-daily.mjs:点击「胜算」后轮询等待 ss.erp321.com 标签页注册(最多 30s,中途补点一次),
  避免 targetInfos 尚未出现时直接读 targetId 抛 TypeError(2026-10-13 09:30 首次尝试即因此失败)。
- run-erp-daily.ps1:导出重试 2 次提高到 3 次(2026-10-12 两次全败后只能人工补跑)。
2026-10-16 10:17:58 +08:00
b0ea247ca1 聚胜算每日账单导出:修复授权过期弹窗卡住与日期面板点空导致的导出失败
1) 店铺授权过期提醒弹窗在无头 Edge 下会卡在 leave 动画,弹窗与遮罩一直可见,挡住日期面板和查询/导出按钮;补发 animationend/transitionend 让 antd 正常卸载,仍残留则退化为隐藏该弹窗自己的 portal 容器(并解除 body 滚动锁),只影响这一棵弹窗。
2) 日期面板有时只渲染在屏幕外(left/top=-9999):原逻辑按 getBoundingClientRect 拿到负坐标去点,点了空还当成选中,最终日期框没变(表现为「日期设置失败」或整月导出失败);现在视口内照旧坐标点击,视口外退回 DOM click。
3) 页签切换后筛选区偶尔未渲染,取「开始日期」输入框坐标会报 undefined;改为先等输入框出现,并在取不到时重试而不是抛错。

验证:7/8/9 月历史复核导出各 1 次成功(23771/25020/44702,与启用代次一致);10-01→10-11 当日导出首次即成功。
2026-10-16 10:17:57 +08:00
cd641ddfbd 每日账单脚本:远端失败重试 + 不再把失败当成功
- 新增 erp-remote.ps1:上传与远程执行统一重试(默认 3 次,重试前重新上传 CSV)
- run-erp-daily.ps1:导出失败重试一次;导出/转CSV/笔数核对/上传/导入回验失败都不写状态、不归档,退出码 1,下次自动重导
- 实测:真实 SSH 断连两次后第 3 次重试成功(8002 笔 / 283870.49 / 46435.6);连续失败的一次按新逻辑记失败并 exit 1
2026-10-07 10:02:00 +08:00
13a9697447 店铺收款账户账单新增「总账备注」筛选;每日账单脚本支持胜算异步分片导出
- 所有账户页签在「店铺」右侧新增「总账备注」下拉:按(平台+账单项目)翻译成账单项目集合过滤,页面/列设置/导出同口径;淘系支付宝、淘系微信同页签混多平台时按店铺名前缀细分
- 每日账单脚本:胜算超出同步导出上限(url=null+taskId)时自动从「异步导出下载管理」取回本次任务全部分片并合并成一份 CSV,导入前按页面笔数核对(不一致则跳过导入)
- 实测:京东 7 月异步导出两片 219158+235846=455004 笔 / 收入 17695094.84 / 支出 8035128.21,与已导入口径一致
2026-10-06 18:46:57 +08:00
f774e75fce 每日账单脚本:胜算该区间无数据时按跳过处理(不算失败) 2026-10-06 17:46:31 +08:00
73af15f2db 加固每日账单导出:设置日期前先关授权弹窗并逐次校验日历面板 2026-10-06 17:42:10 +08:00
80978061de 新增统一脚本:聚胜算每日账单(头条放心购 / 京东日账单)导出并导入(scripts/erp-daily-bills) 2026-10-06 17:33:19 +08:00