Files
uniprop-manual/prop-acc/scenarios/meter/decommission-without-replacement.md
2026-05-26 00:18:06 +08:00

7.7 KiB

title, aliases, tags, audience, status, sub_feature, last_review, code_version
title aliases tags audience status sub_feature last_review code_version
prop-acc · meter · 场景 - 退役不换表(房屋拆除/业户永久弃用)
退役不换表
永久弃用
decommission-without-replacement
场景-计量表退役不换
场景
prop-acc
计量表
表管理
业务人员
已发布 meter 2026-05-26 2026-05-22

场景:退役不换表(房屋拆除/业户永久弃用)

物理表不再需要(房屋拆除 / 业户永久搬走 / 商铺撤店 / 法定使用年限到不续装),系统只退役不建新表decommission_reasonRemoved / Expired 等,不走 ReplaceMeterAction

典型情境

[!example] 真实情境(一):房屋拆除 嘉禾花园三期某栋老楼要拆迁重建,3 单元 1-6 层 30 户业主已全部搬走,准备拆楼。该单元所有水电气表(共 90 张)需要永久退役(房子拆了表也没了)。

[!example] 真实情境(二):商铺撤店 一楼商铺(原餐饮店)经营 5 年后结业,装修拆除,新承租人方向未定。原餐饮店专用商业电表 + 燃气表暂不需要,退役归档(等新承租人入驻再视情况建新表)。

[!example] 真实情境(三):法定使用年限到 一批 2010 年装的电表到 2026 年达到法定 15 年使用年限。物业评估:

  • 部分表性能仍好 + 业户无投诉 → 送校验,合格继续用(replace-broken-meterCalibration reason)
  • 部分表频繁出问题 + 业户投诉 → 退役换新表(Replaced)
  • 个别表所在房屋已无人居住 → 退役不换表(Expired)

业务人员视角(王主管)

第 1 步:确认场景与原因

选择正确的 decommission_reason:

场景 推荐 reason
房屋拆除 Removed
业户永久搬走且无新业户 Removed
法定年限到不续装 Expired
校验送检中暂停(后续可能恢复) Calibration(暂停态,不算永久退役)
损坏不修(整体弃用) Damaged
(换新表替代) Replacedreplace-broken-meter 不是本场景

第 2 步:打开表

后台 → 计量表 → 按 asset 查找 → 进 ViewMeter(is_active=true)。

第 3 步:EditMeter 改字段(或专用退役 Action,看 UI 设计)

[!info] UI 实现注意 当前实现可能没有专门的"退役不换表"按钮,而是通过:

  • EditMeter 页直接改 is_active=false + 填 decommissioned_at + decommission_reason + final_reading
  • 或自定义"退役"Action(若实现了)

看具体 MeterForm 的字段开关。若没专用按钮,走 EditMeter。

填字段:

字段 填什么
is_active false(取消勾选)
decommissioned_at 2026-05-26
decommission_reason Removed(本场景一) / Expired / Damaged
final_reading 退役那天的物理读数(若可读)/ 0(若表已被拆除无法读)
备注 关键说明,如 "三期 3-1-101 拆迁,房屋已拆,表无法回读"

第 4 步:提交

系统:

  1. 校验旧表 is_active=true(EditMeter 守护 ->visible(is_active))
  2. update Meter:is_active=false, decommissioned_at, decommission_reason, final_reading
  3. 不建新表(与 replace-broken-meter 的关键区别)

第 5 步:后续不抄表

MetersNeedingReadingListWidget 自动不再显示此表(is_active=false 过滤)。

历史 reading 保留,可查。

批量退役

如果是单元拆除(90 张表一起退役),逐张走太慢。可能的批量方案:

方案 实现
List 页批量 Edit(若有 BulkAction) 选中多张 → 批量改 is_active=false
Excel 导入"退役清单" 类似 MeterInitializationImporter,但当前没此功能(可补)
tinker 脚本(运维) Meter::whereIn('id', [...])->update([...]),留 audit log

当前推荐:业务量小的话逐张 EditMeter;业务量大的话联系运维走 tinker(批量改字段 + 留事由记录)。

系统流程

sequenceDiagram
    participant 王主管
    participant Filament
    participant EditMeter
    participant 数据库

    王主管->>Filament: 找到要退役的表 → ViewMeter → 编辑
    Filament->>EditMeter: 渲染 form
    王主管->>EditMeter: is_active=false + 填 decommissioned_at + reason + final_reading + 备注
    EditMeter->>EditMeter: 校验 is_active=true(原状态)+ Policy update 权限
    EditMeter->>数据库: update Meter 字段
    数据库-->>Filament: ok
    Filament-->>王主管: 跳回 ViewMeter,状态显示"已退役 - Removed - 2026-05-26"

退役后的状态

字段 退役后值
is_active false
decommissioned_at 2026-05-26
decommission_reason Removed
final_reading 退役当天读数(或 0)
replaced_meter_id null(没有继任者)
后续是否能改字段 几乎不能(EditMeter visible(is_active) 守护 + Policy 拦截)
后续是否能删 仅当无任何 reading 时(罕见)

详见 decommission-and-locking"退役后的行为"段。

与"换表"的关键差异

| 维度 | replace-broken-meter | 退役不换表(本场景) | |---|---|---| | decommission_reason | Replaced | Removed / Expired / Damaged | | 是否建新表 | 是,带 -R1 后缀 | 否 | | 业户后续是否要付水电费 | 是(用新表继续计费)| 否(无表无计费)| | 房屋状态 | 仍有人住 | 通常拆 / 撤 / 弃用 | | 触发 UI | ReplaceMeterAction(专用)| EditMeter(改字段)|

业户视角

业户通常感知不到这条系统操作,因为业户本人也搬走 / 房屋已拆。

如果是商铺撤店 / 房屋暂时无人(后续可能有新业户),系统层面表已退役,未来如有新业户入住要重新装表 → 建新表(走 register-single-meter),不是"复活"旧表

常见问题

[!question] 退役表能"复活"吗(is_active=false → true)? Policy 设计上不允许(EditMeteris_active=false 时隐藏所有编辑)。如果真需要复活:

  • tinker 改字段(运维,留事由)
  • 推荐做法:建新表替代,旧表保持退役状态(历史档案)

[!question] 退役表如何处理未付的历史 Bill? 表退役不影响已生成的 Bill(Bill 关联 reading 关联表,数据完整)。业户该付的还是要付。

若业户也搬走联系不上:走逾期催收流程(不在本场景)。

[!question] 退役不换表后,房屋还在但暂无业户用电怎么办? 房屋空置但有可能后续入驻 → 保留表 active 状态,只是没有抄表数据(零用量)。每月账单可能仍生成(看 RatePlan 是否有 min_amount,详见 multiplier-and-tiered-pricing)。

真的永久不需要 → 退役。

[!question] decommission_reason 选错了能改吗? 退役后修改字段被 Policy 拦截。若改错只能 tinker 修(运维 + 留事由)。

预防:退役前确认场景,选对 reason。

[!question] 退役了但表上物理装着没拆走怎么办? 系统层面无区别(系统不管物理状态,只管"系统层面已退役")。物业人员需要实际去现场拆表(若房屋拆迁要拆楼)或留存(若只是商铺暂关)。系统不管理物理库存。

[!question] 表的物理库存追踪? 当前系统不涉及。物业的"实物计量表"库存(回收、报废、复用)在 ERP / 资产管理系统里处理,不在本子模块。

异常分支

相关文档