# 财务与租赁调整 2.3.0 2026-10-03:对应本轮财务文字要求和 9 张批注截图(第 7、9 张为同一典当样式参考)。安装包为 `artifacts/寄当家-2.3.0.apk`,版本号 230,使用原专用签名密钥,可覆盖升级已签名的新版 APP。正式服务器仍硬编码为用户提供的地址;本次模拟器测试使用独立应用、独立账号及本机服务器。 ## 财务筛选和统计口径 日期支持任意起止日期,包含区间两端,另提供今日、近 7 天、本月、本年、全部日期。结束日期早于开始日期时显示修正提示。大类和细类联动,并可继续选择收入/支出及搜索摘要。 | 大类 | 归属 | 选择大类后的条形图 | |---|---|---| | 回收 | 回收入库及对应物品的销售、退款 | 黄金、白银、铂金、奢侈品、名表等细类 | | 典当 | 放款、收回本金、费用、绝当物品销售 | 当物的金属材质或物品类别 | | 销售 | 新货铺货采购及对应销售、退款 | 新货的金属材质或物品类别 | | 店铺 | 手工选择的门店运营收支 | 租金、工资、水电费、店铺其他 | | 其他 | 租赁库存与租赁、寄卖及其他业务 | 对应物品细类;无资料的历史记录为未分类 | 每个细类分别显示绿色收入条和红色支出条,金额直接标在条旁,同一图使用统一比例。混合入库按实际物品成本拆分,当单费用按当物估价拆分;以分为单位分配尾差,细类合计等于整笔流水。统计、流水及 CSV 共用筛选。现金净额包含本金、采购款、押金;经营利润按销售收入减成本并加费用收入、减运营支出,排除本金和押金往来及采购款,避免重复扣成本。 ![回收细类收支](../artifacts/verification/finance-recovery-chart.png) ## 截图对应修改 | 截图 | 修改 | |---|---| | 1 | 贵金属库存标签为「当前估算价值」,按回收报价乘克重;不计入已实现利润 | | 2 | 其他库存使用「入库」按钮,独立保存 OTHER 来源 | | 3 | 单据、库存、流水可移入回收站;还原、多选永久删除、一键清空 | | 4 | 租赁未归还时保留押金抵售价,生成销售记录,物品转为已售 | | 5 | 独立租赁库存,具体物品按编码选择出租,也可出售在库物品 | | 6 | 在库、租赁中、逾期滞还、已售筛选;租赁中禁止销售和重复出租,逾期通过未归还结算出售;到期当天或未填写到期日仍属于租赁中,单据详情与业务层均阻止提前转销售 | | 7、8、9 | 即将到期、逾期、绝当筛选;红色逾期边框与深色绝当边框,配淡光晕 | 正常归还收租金、退押金并恢复在库。未归还售价不得低于需保留的押金:例如押金 5,000 元、售价 5,500 元、原成本 4,800 元、租金 500 元,销售记录金额为 5,500 元、毛利 700 元;只新增 500 元补款和 500 元租金流水,押金不重复收取、不退款。旧租赁自动生成关联库存;缺少历史成本时需先从库存详情补录,补录不新增当前现金支出。 移入回收站隐藏整组关联明细及流水,并重算库存状态;不是实际退款或实物归还。还原若与新的出租或销售冲突,会拒绝并保留回收站数据。永久删除移除关联明细、流水及操作日志;混合单只清除被删物品的部分并更新剩余金额,最后一件永久删除时清除空入库单。无法从回收站撤销永久删除。 ## 验证 - `dotnet run --project tests/JiDangJia.Checks -c Release`:231 项业务、备份、授权检查通过,覆盖混合分配、日期边界、筛选利润、租赁状态限制、押金抵售价、删除/还原冲突、永久删除与旧租赁升级(包括旧回收站租赁单的成组还原与清空)。 - Pixel 7 / Android 16 / API 36:38 项界面检查通过,包括自定义日期、收支细类、CSV 分享、出租归还、逾期转销售、提前转销售拦截、回收站及典当样式;结果见 `artifacts/verification/finance-rental-ui-checks.txt`,脚本为 `tools/check-finance-rental-ui.cjs`。 - 模拟器保存的 SQLite 和导出 CSV:28 项核对通过,验证押金、补款、租金、销售毛利、永久删除、混合分配与实际导出金额;结果见 `artifacts/verification/finance-rental-data-checks.txt`,脚本为 `tools/check-finance-rental-data.py`。 - 自建服务器接口保持 2.2.0 兼容,不要求现有 2.2.0 服务器更新;本次未部署或修改公网账户。 本机测试准备使用 `node tools/start-ui-fixture.cjs` 和 `dotnet run --project tests/JiDangJia.Checks -- --ui-fixture artifacts/test-data/finance-rental/ui-business-v2.db`。测试目录被 Git 忽略,随机账号密码和业务数据库不进入源码包。测试 APK 的服务器地址通过私有构建目标覆盖,正式源码常量保持固定地址。