Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
R
rentos
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
accounting
rentos
Commits
19280667
Commit
19280667
authored
Oct 14, 2026
by
wenwen.tang
😕
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
docs(memory): 记录提交分 3 层、草稿落盘、14 张残留清理与部署验证
parent
9b014b66
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
200 additions
and
2 deletions
+200
-2
2026-10-14.md
.workbuddy/memory/2026-10-14.md
+166
-1
MEMORY.md
.workbuddy/memory/MEMORY.md
+34
-1
No files found.
.workbuddy/memory/2026-10-14.md
View file @
19280667
This diff is collapsed.
Click to expand it.
.workbuddy/memory/MEMORY.md
View file @
19280667
...
...
@@ -14,7 +14,17 @@
-
**AD~AI 房产/房产税六列已删**
(
`RETIRED_TAX_COLS`
,守护
`test_retired_cols_not_used_by_billing`
)
-
默认锁定只读;改单元格/增行/删行必须
`confirm=true`
(否则 428);备份
`data/tables/.backup/`
-
**电费批次**
`data/batches/{id}.json`
:只留原始数据(details/totals/documents/发送状态),按账期月份留档;
测试残留移入
`data/batches/_trash/`
(store 只 listdir 顶层
`*.json`
,子目录隐身、可恢复)
测试残留移入
`data/batches/_trash/YYYYMMDD/`
(store 只 listdir 顶层
`*.json`
,子目录隐身、可恢复)
-
已有回收站:
`_trash/20261013/`
(17 张)、
`_trash/20261014/`
(14 张,output 同批移入
`output/elec/_trash/`
)
-
**账期口径**
(2026-10-14 确认):
**批次 = 点一次「生成通知书」的产物**
(号
`YYYYMMDD-HHMMSS`
·
`make_batch_id`
纯 ASCII 时间戳);
**账期 `period_label` 只是批次上的一个文本字段,不是独立实体**
,
`list_periods()`
按它归组即为页面上的「账期汇总」(组内按
`created_at`
倒序)
-
来源:① 录入页「所属期间」(默认今天年月;点「带入上一期」时
`nextPeriod()`
+1 月)—— 主要
② Excel 解析
`elec_parser._extract_period`
(先正则抓 A1 标题「YYYY年M月」,再退抄表日期年月)
③ 后端兜底
`ingest_rows`
:未传时用
**通知日期**
的年月
-
⚠️
**自由文本、无格式归一化**
:匹配是
`strip()`
后精确比较 → 「2026-11」与「2026年11月」会分成两组;
空值归「(未标账期)」
-
同账期多张批次是正常的(分批录 / 按公司分批 / 补录),故台账按账期汇总并默认折叠
## 免租(`rentos/rentfree.py`,2026-10-13 重写为两种类型)
-
`首N月免租`
:窗口
`[I, I+L月)`
,含起始不含结束;0.5 月 = 15 天
...
...
@@ -55,6 +65,29 @@
-
⚠️
**会 `innerHTML` 重渲染的绑定函数里不要挂 document 级监听**
:每渲染一次堆一个,
旧闭包持有已移除的节点 → 用一次性模块标志(
`VCOLS_DOC_BOUND`
)或事件委托
## 电费「核对中改数据」(2026-10-14 · 当日晚改口径)
核对表
**可直接编辑**
,
**改数据不影响核对状态**
;点「确认核对」才把改动
**一并存盘**
。
前端
`confirmVerify()`
两步:①
`saveVerifyData()`
按
`_bid`
分组逐张
`PUT /api/batches/{id}`
(有改动才发请求)→ ②
`POST /api/periods/verify {rows, done:true}`
把勾选整期写成「已核对」。
于是「改过的行要不要重新核」由
**用户勾了没勾**
决定,服务端不猜。
-
**已删**
`keep_verify`
/
`_kept_verify`
/
`_detail_fp`
/
`_same_detail`
(旧「改过的行退回待核对」
口径被上面两步取代,留着会与新口径矛盾);
`reingest`
恢复为
**一律重置核对**
-
前端脏数据基线:
`ELEC_CMP_FIELDS`
+
`ESNAP`
/
`takeVerifySnapshot()`
/
`dirtyRows()`
/
`editSummary()`
-
⚠️ 基线键必须用稳定
`_rid`
,
**不能用数组下标**
(删中间行会让基线整体错位)
-
⚠️ 改动提示
**只改文字、绝不重渲染模式条**
(
`markVerifyDirty`
300ms 节流),否则输入框失焦
-
⚠️
`PUT`
是
**全量覆盖**
:每组必须带上该批次的
**全部行**
,只是「哪些批次要发」按有无改动筛
-
⚠️ 退出核对若有未保存改动要
**明确警告会丢失**
(数据只在确认时落盘)
## 电费录入「临时保存」草稿(2026-10-14)
录入页「临时保存」把当前明细整份落盘
`data/drafts/elec__{账号}.json`
(
**按账号隔离**
),
下次进电费页自动恢复、直接接着编辑;生成通知书 / 清空 / 手动丢弃时删除草稿。
-
接口
`GET|PUT|DELETE /api/drafts/elec`
;
`_write_cap`
里 PUT/DELETE 记
`CAP_ELEC`
(访客可用)
-
`store.draft_path/save_draft/load_draft/delete_draft`
;账号名净化
`[^0-9A-Za-z_\-] → _`
-
前端
`saveElecDraft/clearElecDraft/restoreElecDraft/elecBootFill`
;
`applyNav`
里电费页改调
`elecBootFill()`
——
**有草稿就不「带入上期」**
(否则互相覆盖)
-
⚠️
**沙箱白名单必须加 `DRAFT_DIR`**
:
`ui_verify_runner`
与自带沙箱的
`7/8/9/10/11`
、
`check_scheduler`
都逐一补过 —— 漏了就会把草稿写进
**真实**
`data/drafts/`
(与批次泄漏同类坑)
## 房租车位费出单
链路:
`rent_parser.py`
→
`rent_render.py`
(→
`notice_pdf`
)→
`service.ingest_rent`
→ 批次
-
计费:期间起 =
**AC**
,止 = 起 + N 个自然月 − 1 天;
`房屋租赁费 = P × N`
、
`物业费 = O × N`
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment