# 住户管理功能需求说明文档

[原型地址](https://pro.modao.cc/app/xfF2XyScOZU9wZSs1zKlKKEGIdUBf4C)

## 名词说明

| 名词    | 说明                                             |
| ----- | ---------------------------------------------- |
| 独立产权人 | 指该住户为关联房屋的唯一产权人，即产权证明上仅有该住户                    |
| 共有产权人 | 指该住户与其他人共同享有关联房屋的产权，即产权证明上有多人                  |
| 租户    | 租用房屋居住，无产权的人，包括租用房屋人共同居住的其他亲属                  |
| 亲属    | 居住在产权人房屋，与产权人具有亲缘关系的人。                         |
| 居住时间  | 住户在本房屋居住的起止时间段，对于租户一般指租房合同的期限，对于业主截止时间可以选择为长期。 |
| 常住地址  | 指住户常年居住的地址（一般用于发送信件，快递填写）                      |
| 房产转让  | 通过买卖的方式将房屋产权人进行变更的行为                           |
| 租期结束  | 房屋租赁合同到期，不再续签而搬出房屋居住                           |
| 亲属搬出  | 亲属因为各种原因（如成家，求学）等方式不再在该房屋居住                    |
| 财产分割  | 通过法律或协商的手段，将共有产权进行分割，未分配到产权人搬出（如离异）            |
| 离世    | 住户离世变更为历史住户                                    |

## 操作流程

![住户业务流程](image/householder_flow.png)

1. 添加或导入房屋：添加住户首先需要有住户居住的房屋信息。

2. 添加或导入住户：通过后台添加（一般用于新迁入住户）或批量导入的方式增加住户。

3. 信息变更：如果住户信息发生变更，则使用编辑住户功能编辑住户信息。

4. 住户迁出：如果住户不再在该房屋居住，当住户到物业管理处登记迁出即可。（未来可考虑住户提交迁出申请，物业在线审核）。住户迁出完成后，将已有的住户标记为历史住户，并且创建一条历史住户信息。

5. 住户认证：前端用户通过住户认证功能认证，如果认证成功，则创建住户与平台用户的关联关系。住户认证分为两种，一是后台已有住户信息，若匹配上则建立关联关系即可；若后台没有住户信息，则视为新增的住户认证申请（需要物业审核），审核通过后新建一个住户并且建立住户与用户的关联关系。

## 表单说明

![添加住户](image/householder_add.png)

| 字段名称 | 字段类型   | 说明                                                                | 是否必填 |
| ---- | ------ | ----------------------------------------------------------------- | ---- |
| 关联房屋 | String | 住户居住的房屋ID，如果在住户管理界面左侧已经选择了房屋号，则默认填充选中的房号，但可以通过输入房号模糊匹配进行下拉筛选      | 是    |
| 姓名   | String | 住户姓名，支持中英文输入，需要过滤特殊字符                                             | 是    |
| 性别   | Enum   | 选择男或女，如果填了身份证号，需要验证身份证号倒数第2位是否符合性别（奇数为男，偶数为女）                     | 是    |
| 住户性质 | Enum   | 选择独立产权人，共有产权人，租户，亲属中的一个。                                          | 是    |
| 居住时间 | Date   | 该住户在本房间的居住起止时间段，若为长期居住则勾选长期，勾选长期后截止时间置灰，不允许再选择。截止时间如果输入则必须晚于当前时间。 | 否    |
| 手机号码 | String | 支持录入多个11位手机号，只允许填写一个手机号                                           | 是    |
| 证件类型 | Enum   | 选择身份证，港澳通行证，军官证，护照中的一个                                            | 否    |
| 证件号码 | String | 如果证件类型为身份证，此项数据不为空的话需要校验身份证号。后台根据身份证号自动解析住户生日存储。                  | 否    |
| 常住地址 | String | 住户经常居住的地址（如收件地址），该地址可能用于物业发送催缴单，律师函等                              | 否    |
| 备注   | String | 住户的其他备注信息                                                         | 否    |
| 其他号码 | String | 住户其他联系方式，多个号码可以以逗号分隔                                              |      |

## 业务说明

* 唯一性约束：同一个房屋不允许出现__同名且同手机号__或__身份证号相同__的住户。

* 业务状态：住户分为当前住户和历史住户，默认为当前住户，当对住户完成迁出操作后，该住户转变为历史住户。

* 住户迁出：当前住户可以查看居住房屋的账单，一经迁出，则迁出后的房屋账单不允许查看（按账单月份计），但迁出前的账单不受影响。

* 住户与用户：住户只是物业管理方对房屋居住者的一个记录，只有和平台的用户关联起来才能对应到真实的人。由于一个人可能在平台对应多个用户（比如一个人注册了多个账号），因此一个住户可能关联到多个平台用户。

* 住户与房屋：住户与房屋之间是多对一关系，即一个住户只关联一个房屋，但一个房屋可以居住多个住户。

* 用户与房屋：用户与房屋是多对多关系，即一个用户可以关联多个房屋（购买多套房产），一个房屋也可以关联多个用户。
