# 工作项层级结构

URL: https://docs.ones.cn/on-premises/7.33/product-manual/ones-project/issues/issue-hierarchy

## 一、业务场景说明

在需求管理中，需求的落地通常伴随着从「客户视角」到「产品视角」再到「研发视角」的转变。为了让各职能成员清晰地协同工作，并为需求本身提供可追溯的依据，落地过程中往往会将需求进行逐层拆解，实现结构化管理。由于行业与管理方法的差异，不同企业的需求分层模型也存在明显差异，如：

- 软件研发团队：史诗 → 需求 → 研发任务 / 测试任务
- 软硬件结合团队：用户要求 → 系统需求 → 设备需求 → 软件需求 / 硬件需求 → 任务
- IPD 产品开发：RR(原始需求) → IR(初始需求) → SR(系统需求) → AR(分配需求)
![工作项层级结构](https://docs.ones.cn/assets/images/93aad977f94db885-f1afdd19550b5cea7a00e65ce1d1f5e2.png)

为了更好地承载需求结构化拆解与管理的业务，本期新增「工作项层级结构」功能：提供可视化层级配置，帮助团队根据业务情况，定义不同的层级结构和业务链路，规范业务数据的产生与管理。搭建完成的层级结构，可在系统中应用于以下场景：

- 视图呈现：引用层级结构后，工作项可按父子关系以树状结构展示，清晰呈现从顶层需求到各级任务的分解层次
- 数据汇总：自动汇总子层级工作项的进度、工时数据，可真实、实时地反映整体项目的推进情况，避免人工计算带来的误差与工作量，为管理者快速决策与资源调配提供可靠依据
- 工作项联动：实现上下级工作项间自动触发条件校验与流程分支，例如：当子任务全部完成后，自动将父任务的状态更新为「可验收」
![工作项层级结构](https://docs.ones.cn/assets/images/eba254b88ddb83e6-a8293865539ba3790d4e4a395093e847.png)

## 二、配置层级结构

##### 1. 前往配置中心-项目管理配置-层级结构，点击新建层级结构

依据业务流程，定义并搭建工作项类型之间的层级结构

![工作项层级结构](https://docs.ones.cn/assets/images/fa13d871379194fb-3efab2fd3056f73aaa6e8a4860bfe0fc.png)

选择根节点工作项类型后，逐层向下添加节点（如 用户要求 → 系统需求 → 设备需求 → 软件需求 / 硬件需求 → 任务）

![工作项层级结构](https://docs.ones.cn/assets/images/ba4d0edada25e5d3-df32ffd016790a53443e1ca2e201252c.png)

##### 2. 配置层级信息，完成层级结构搭建

![工作项层级结构](https://docs.ones.cn/assets/images/6b1dbe30e0ce12efabde-3d2328df45b1e1ea6c18c7d46142f063.png)

| **层级信息** | **它的作用** | **该如何填写/选择** |
| 层级结构名称 | 在相关业务进行「层级结构选择」时展示 | 建议以「业务流程的核心对象+动作」命名，如：需求拆解、发布规划、项目计划拆解 |
| 层级属性-父/子层级属性名称 | 一个层级结构需有一组层级属性：父子层级属性，来为某个工作项设置自己的父层级工作项和子层级工作项 | 建议以「父子/上下游等类似表达+业务对象」命名，如：父工作项/子工作项、父任务/子任务、上游需求/下游需求、流程上游/流程下游 |
| 关系类型 | 一个层级结构需要选择一种关系类型：<br>- 一对多(1 :n ) 表示一个工作项只能有一个父工作项<br>- 多对多(n :n ) 表示一个工作项可以有多个父工作项 | 基于业务流程选择<br>PS：部分业务当前仅可选取「一对多(1 :n )」的层级结构（如甘特图、属性默认值） |
| 可疑传播配置 | 配置该层级结构是否需要传播可疑<br>- 支持选择：1不传播可疑、2父层级修改，子层级可疑、3子层级修改，父层级可疑、4双向传播可疑 | 基于业务情况选择 |

##### 3. 完成层级结构创建后，可进行编辑、删除、预览

![工作项层级结构](https://docs.ones.cn/assets/images/25d53551ed8ca54d-1a7644816d7ff851c8d1c4d93c24154f.png)

- 3.1 编辑：
- 支持修改「结构体」、「层级结构名称」、「层级属性」，「关系类型」不支持修改
- 修改「结构体」后，相关视图业务引用处将不会主动「移除失效的结构」或「添加新增的结构」
- 修改「结构体」后，相关已建立层级关系的工作项数据不会被移除。但再进行工作项层级关系建立时，将基于最新的结构体进行校验
3.2 删除：

- 删除层级结构时，将一并删除对应的一组层级属性
- 若层级属性已被添加至工作项布局配置，需先从所有布局配置中移除，才可删除层级结构
3.3 预览：在配置中心和业务引用处均可预览层级结构

## 三、通过层级属性，建立工作项之间的父子层级关系

##### 1. 层级属性也是一种属性，可通过以下 3 种方式添加至工作项布局

- 在「配置中心-工作项属性」中，添加层级属性到工作项类型布局
- 在「配置中心-布局配置」中，添加层级属性到工作项类型布局
- 在「项目设置-工作项类型-属性与布局」中，添加层级属性到工作项类型布局

##### 2. 在表单配置中，可选择将层级属性配置为选择框或列表样式

列表相较于选择框，额外支持对属性值进行：分组、排序、在筛选器中查看

**选择框的配置&实际效果**

![工作项层级结构](https://docs.ones.cn/assets/images/ac2b74460f7ea0dd-1a5264b5f8676a2b72f0a145953d6564.png)

**列表的配置&实际效果**

![工作项层级结构](https://docs.ones.cn/assets/images/7af4329e24f3c7e6-633424f111e91d7c0716413b4206e464.png)

##### 3. 通过层级属性，设置某一工作项的父层级和子层级工作项

针对父层级属性（以「上游需求」属性，选择框样式为例），可进行：添加父层级工作项

针对子层级属性（以「下游需求」属性，列表样式为例），可进行：添加子层级工作项、新建子层级工作项、批量新建子层级工作项

| **操作** | **操作说明** | **示例图** |
| 添加父层级工作项 | 通过下拉框或弹窗选择工作项作为当前工作项的父层级工作项 | ![工作项层级结构](https://docs.ones.cn/images/cn-cloud/assets/227d253180761fbc.png) |
| 添加子层级工作项 | 通过下拉框或弹窗选择工作项作为当前工作项的子层级工作项 | ![工作项层级结构](https://docs.ones.cn/images/cn-cloud/assets/774c0cd1dd7be64b.png) |
| 新建子层级工作项 | 新建工作项作为当前工作项的子层级工作项 | ![工作项层级结构](https://docs.ones.cn/images/cn-cloud/assets/9541dc76daa11318.png) |
| 批量新建子层级工作项 | 新建工作项作为当前工作项的子层级工作项 | ![工作项层级结构](https://docs.ones.cn/images/cn-cloud/assets/bc53ea85399e56fa.png) |

##### 4. 层级属性功能支持情况说明

###### 4.1 属性与布局

层级属性支持：添加至详情页布局、添加至新建页布局、添加为列表属性

###### 4.2 工作项列表

层级属性支持：添加到表头、作为筛选条件、作为分组条件（仅1 :n 的父层级属性支持）

层级属性不支持：作为排序条件

###### 4.3 工作项

层级属性支持：产生工作项动态、配置触发工作项通知、添加至工作项工作流的步骤页布局、添加为后置动作中更新的属性

层级属性不支持：配置属性权限，但可通过「更新子层级」权限，满足【负责下游的成员不一定有上游的编辑权限，但需要把工作项作为上游的子层级】的场景

- 「更新子层级」权限控制：是否允许成员更新工作项的所有子层级属性（无法区分特定子层级属性）
- 「更新子层级」权限配置：可比「编辑」权限的成员域更宽
![工作项层级结构](https://docs.ones.cn/assets/images/df6320f9a67e9bbc-f7496cb93474786d5b905fd20eeae43d.png)

###### 4.4 批量操作

层级属性支持：导入工作项时填写、通过 CSV 更新工作项时填写、导出、批量修改

## 四、搭建完成的层级结构，可在系统中应用于以下场景：

- 视图呈现：引用层级结构后，工作项可按父子关系以树状结构展示，清晰呈现从顶层需求到各级任务的分解层次
- 数据汇总：自动汇总子层级工作项的进度、工时数据，可真实、实时地反映整体项目的推进情况，避免人工计算带来的误差与工作量，为管理者快速决策与资源调配提供可靠依据
- 工作项联动：实现上下级工作项间自动触发条件校验与流程分支，例如：当子任务全部完成后，自动将父任务的状态更新为「可验收」
