任务
任务代表计划中的现场工作的单个单元,每个任务都有地图位置、资源需求(工作所需的材料和设备)以及进度跟踪。 一个任务可能是为特定建筑安装接线盒、沿路线铺设 500 米的电缆,或在指定区域进行检查。任务具有版本控制功能,因此团队可以在离线状态下进行规划、批量创建任务,并在提交到共享数据集之前回滚更改。
任务在层级结构中的位置
项目 (活动分组)
└── 任务 ← 您当前所在位置
├── 资源 (该工作消耗的物料 — 可选)
└── 工作单 (将此任务分配给工人或团队)
├── 活动行 (已完成的工作 — 已登记或临时性,可选)
└── 报告 (工作者对实际完成工作的记录)
任务是核心的规划记录。它包含几何信息(位置)和资源需求(所需材料)。工作单将其分配给人员,并通过其活动行声明需执行的工作。报告则记录实际完成的内容,并将进度汇总回任务。
任务、资源与活动
§193 模型将一个工作的实质拆分为两个互补的登记表——且两者均为 可选:
任务无需声明任何资源,工单也无需指定活动。当结构化追踪、库存授权或基于活动的支付能发挥作用时,请声明这些内容;对于简单或一次性工作,则可留空。 系统不会强制要求填写。
任务结构
任务页面展示计划工作,包含进度跟踪和多资源需求
基本字段:
- 名称 — 描述性任务名称
- 描述 — 详细的工作说明
- 几何图形 — 表示工作位置的点、线或多边形
- 组 — 项目内的自由文本分组(例如“第一阶段”、“电气”)
- 资源 — 所需材料和设备的数组(支持多资源,可选)
资源需求: 每个资源条目包含:
resource— 资源定义引用volume— 所需数量uom— 计量单位assignedTo— 负责领取该特定资源行的人员(可选 — 参见 按资源分配)
示例:
任务:"在 42 号楼安装网络接线盒"
几何位置:点 (纬度: 40.7128, 经度: -74.0060)
资源:[
{ resource: "接线盒", volume: 1, uom: "个" },
{ resource: "Cat6 电缆", volume: 15, uom: "米" },
{ resource: "安装螺丝", volume: 8, uom: "个" }
]
安装工作——包括熔接、安装和终端处理——应记录在工单的 活动行 中,而非在此处作为资源记录。
多资源任务
旧系统:每个任务对应一个资源
- 问题:复杂工作会产生过多的地图标记
- 示例:100 次安装 × 4 个资源 = 400 个地图点
当前系统:每个任务包含多个资源
- 单个地图标记代表完整的作业包
- 同上示例:100 个地图点(每次安装一个)
- 地图更简洁,空间规划更轻松
按资源分配
任务中的每行资源均可分配给特定人员。这使规划人员能够指定谁负责领取每项物料——在资源行层面进行分配,而不仅仅是在工单层面。
分配机制:
- 在任务详情中,每行资源都有一个**“分配给”**列
- 当任务中的任意一行存在分配时,该列会自动显示;若未设置分配,则保持隐藏
- 将人员分配给资源行并不预留库存——它仅记录谁预计将提取并交付该物品
- 实际提货状态(谁提货、数量、时间)通过交易明细记录,而非在任务本身中记录
为何要在资源层面进行追踪?
单个任务可能包含多条资源行,且这些行可能分布在多个工单和施工队中。 按资源分配的功能填补了这一空白:计划员可以指定“Alice 负责为该任务领取 50 米的导管,Bob 负责接线盒”。每个人都能看到自己需要领取的具体物品范围——不会对谁负责哪件物品产生歧义。
按资源分配进行筛选:
“工作单”页面设有我的资源分配筛选器,可显示关联项目中已分配给您的资源行的工作单。工人可利用此功能直接跳转至其负责的材料领取任务,无需逐一浏览整个项目列表。
发送任务通知:
资源分配设置完成后,通过“任务”页面上的**“发送任务”**操作,系统将向所有被分配者发送通知。每人将收到一条综合消息,其中包含其对应的工作单(名称、截止日期、关联链接),以及每条分配资源行对应的二维码。 该二维码即为提货授权凭证——工人可在仓库扫描二维码以领取其对应的特定物品。扫描后,提货操作将自动作为一笔交易记录在案。
“发送任务”操作既可作为单个任务的逐行操作,也可在表格中选中多个任务时作为批量操作使用。
任务采用版本控制
与工单和报告不同,任务采用版本/提交工作流:
为何采用版本控制:
- 管理员需在离线环境(地铁隧道、偏远地点)设计工作区域
- 需要空间冲突检测 (地理范围重叠)
- 批量操作常见(重新设计整个项目)
- 回滚功能重要(撤销整个规划变更)
工作流:
- 创建版本(草稿模式)
- 在草稿中添加/编辑任务
- 空间验证(检查重叠)
- 提交版本 → 任务成为“正式”任务
- 作业人员在任务分配中查看已提交的任务
离线协作: 多名管理员可创建独立版本:
- 管理员 A:规划北部区域任务
- 管理员 B:规划南部区域任务
- 双方均离线工作,稍后提交
- 若地理范围重叠则进行冲突解决
任务几何类型
点任务
单一位置作业(设备安装、检查)。
几何:{ type: "Point", coordinates: [lng, lat] }
线性任务
线性作业(电缆敷设、管道安装)。
几何信息: { type: "LineString", coordinates: [[lng1,lat1], [lng2,lat2], ...] }
多边形任务
基于区域的工作(覆盖区、服务区)。
几何:{ type: "Polygon", coordinates: [[[lng1,lat1], ...]] }
邻近筛选
查找特定位置附近的任务:
- 打开“任务”页面
- 点击 筛选附近
- 将地图标记拖动到目标位置
- 设置距离(例如 5 公里)
- 表格中仅显示该半径范围内的任务
行操作: 点击任务行中的“筛选附近” → 自动将距离阈值设为该任务的位置。
工作单中的任务使用
每个工作单关联 一个任务 —— 即分配给工人执行的具体任务。 工作单不能跨越多个任务;如果工作涉及多个任务,请为每个任务创建单独的工作单,或使用临时独立工作单。
一个任务可以被多个工作单引用——这在将大型任务分配给多个团队,或工作分阶段进行且跨多天时非常有用。
示例:
任务:"3楼布线"
资源:200米电缆
工作单 A(上午班组):
任务:"3楼布线"
资源目标:100米电缆
活动:拉光缆 — 100米
工作单 B(下午施工组):
任务:"在 3 楼铺设电缆"
资源目标:100 米电缆
活动:拉光缆 — 100 米
这两个工单都引用了同一项任务;两者的报告都会纳入该任务的进度计算中。
任务进度跟踪
计算方法: 进度 = 所有资源行平均完成度
示例:
包含 2 项资源的任务:
- Cat6 线缆:需 10 米,已完成 5 米 = 50%
- 螺丝:需 8 个,已完成 8 个 = 100%
总体进度 = (50% + 100%) / 2 = 75%
可视化指标:
- 进度条:绿色 ≥ 100%,黄色 ≥ 50%,红色 < 50%
创建任务
所需权限: jobsCreate 管理员权限
操作流程:
- 导航至 履约 → 任务
- 创建新版本(或编辑现有草稿)
- 点击 添加任务
- 填写基本信息(名称、描述)
- 点击地图设置几何形状
- 若工作涉及材料消耗,请添加资源行(可选,可添加多条)
- 如有需要,设置资源分配
- 将任务保存为草稿
- 规划完成后提交版本
最佳实践:
- 将相关材料归入同一任务(减少地图杂乱)
- 采用统一的命名规范(例如:“安装 — 接线盒 — 42号楼”)
- 设定合理的资源用量(有助于库存规划)
- 在工单的活动行中记录工作内容,而非将其作为伪资源
批量生成工单
方法 1:从 GeoJSON 导入
- 创建 GeoJSON 文件,每个任务对应一个要素
- 每个要素包含属性:名称、描述、资源
- 导入 → 在一个版本中创建所有任务
方法 2:从地图选择生成
- 在地图上选择现有要素
- 点击 生成任务
- 选择资源配置
- 在每个选定位置创建一个任务
方法 3:复制任务
- 选择一个具有正确资源配置的任务
- 点击 复制
- 将几何图形编辑至新位置
批量打印任务
一个项目可能包含数十甚至数百个任务。与其从每个任务的详情页单独打印,不如使用项目级别的 打印所有任务 操作:
- 打开父项目的详情页(
/fulfillment/projects/:id) - 点击页眉中的 打印所有任务
- 批量打印视图将在
/fulfillment/jobs/batch/[ids]打开 - 屏幕每页显示 10 个任务(分页显示,由 CSS 驱动 — 所有记录均位于 DOM 中,因此打印时会输出全部内容)
- 打印页面——每个任务之间会插入硬换行
注意事项:
- 安全限制:批量视图每次打印最多支持 200 个任务。若项目超过此限制,系统会显示警告横幅,且超过 200 个的任务将被截断——如有需要,请将打印任务拆分为多个小批次。
- 每个作业的渲染布局与其单独的作业页面保持一致。
作业验证
在提交版本之前,系统将验证以下内容:
空间冲突:
- 多边形重叠(两个作业覆盖同一区域)
- 点任务间距过近(可配置阈值)
- 线任务穿越限制区域
资源可用性:
- 若所需资源库存不足则发出警告
- 不阻止提交(任务可设置未来日期)
- 有助于采购规划
几何有效性:
- 点必须具有有效的坐标
- 线必须至少包含 2 个点
- 多边形必须闭合(起始点 = 终点)
任务 → 工作单生命周期
典型流程:
- 规划 — 管理员创建任务草稿
- 提交 — 版本提交,任务正式生效
- 工作单 — 创建工作单,关联此任务,声明其活动内容并分配给工作人员
- 执行 — 工作人员执行任务,可能涉及多个工作单
- 报告 — 工作人员提交引用该任务的报告
- 进度 — 任务进度根据所有引用它的报告进行更新
- 完成 — 当所有资源达到 100% 时,任务即视为完成
- 成果生成 — 若完成的工作单设置了 生成至 图层,则任务的几何图形将被放置或移动到地图上(参见下文 任务成果生成)
任务复用: 多个工单可引用同一任务:
- 将大型任务分配给多个工作组
- 由一名工作人员部分完成,由另一名工作人员完成
- 汇总所有报告的进度
任务毕业
任务毕业是指已完成的现场工作如何成为共享 GIS 数据集的一部分。 当关联某项工作的工单完成时,系统会自动将该工作的几何图形放置或推进至地图上。
配置归档
在工单的创建或编辑表单中,将 归档至 字段设置为目标图层。当该工单被标记为 已完成 时,归档钩子将触发:
- 目标图层中不存在现有要素 → 系统将在目标图层中创建新要素,并采用该任务的几何信息和属性。为确保可追溯性,该要素上将标记
sourceJobId链接。 - 现有地图要素 → 该要素将移动到目标图层。要素保留原ID——不会产生重复。
任务本身绝不会被删除或归档。它将作为永久的规划和工作记录保留下来。
多阶段结案
随着后续工单的完成,一个任务可依次通过多个图层完成结案。以下是光纤网络安装的示例:
| 工单 | 目标图层 | 阶段 |
|---|---|---|
| 勘测 | planned-routes | 路线在地图上确认 |
| 安装 | installed-routes | 电缆已物理铺设到位 |
| 验收 | accepted-routes | 验收完成 |
每次完成仅重新指定显示该任务几何信息的图层——无需重新关联任务本身。
状态变更日志
任务详情视图 → 位置 选项卡中显示 状态变更日志:这是一份带有时间戳的时序记录,包含每个图层状态的变更,以及触发每次状态转换的工作单。可通过此日志审核现场安装的整个生命周期。
查看任务详情
任务详情页显示:
- 基本信息和几何数据
- 资源需求列表(含各资源的分配情况)
- 进度条和百分比
- 引用此任务的工作单(及其活动记录)
- 记录了此任务相关工作的报告
- 竣工日志(位置选项卡)