在数据库中,每条数据都有 3 个字段: - `collector`:这条数据的上传者的 ID; - `reviewer`:需要到实地对这条数据进行**核查**的外业人员的 ID,大多数情况下 `collector != reviewer`; - `status`:状态字段。 将这 3 个字段结合起来分析,可以识别一条数据在整个工作流程中当前所处的阶段。 一条数据从被导入数据库中到被核查,会经历以下 3 个阶段: | collector | reviewer | status | 阶段 | | --------- |----------| ------ |---------------------| | -1 | -1 | 0 | 数据刚被导入到数据库中 | | -1 | A | 0 | 管理员将数据分配给外业人员 A | | -1 | A | 1 | 外业人员 A 已经在实地核查过这条数据 | 如果一条数据原本不在数据库中(即所谓的“新增”数据),那么它从被上传到被核查,会经历以下 3 个阶段: | collector | reviewer | status | 阶段 | |-----------|----------|--------|---------------------| | A | -1 | 1 | 外业人员 A 上传了这条数据 | | A | B | 0 | 管理员将数据分配给外业人员 B | | A | B | 1 | 外业人员 B 已经在实地核查过这条数据 | 管理员还可以在网页端对**已经被外业人员核查过的数据**进行审核,如果管理员认为数据没问题,则标记为审核通过: | status | |--------| | 2 | 如果管理员将数据标记为审核未通过: | status | |--------| | -1 |