* Add count_of_finished_requirement_in_project metric.

This commit is contained in:
zhouxin
2024-05-17 15:06:24 +08:00
parent 592f50a657
commit c6f468a8d6
3 changed files with 52 additions and 2 deletions
+2 -1
View File
@@ -39,7 +39,8 @@ INSERT INTO `zt_metric` (`purpose`, `scope`, `object`, `stage`, `type`, `name`,
('scale', 'user', 'issue', 'released', 'php', '按人员统计的待处理问题数', 'count_of_assigned_issue_in_user', '待处理问题数', 'count', '按人员统计的待处理问题数表示每个人待处理的问题数量之和。反映了每个人员需要处理的问题数量的规模。该数值越大,项目存在问题越多,需要投入越多的时间处理问题。', '所有问题个数求和\r\n指派给为某人\r\n过滤已删除的问题\r\n过滤已删除项目的问题', 'realtime', 'system', '2024-05-07 08:00:00', '1', '0', 'nodate'),
('scale', 'user', 'requirement', 'released', 'php', '按人员统计的待处理用户需求数', 'count_of_assigned_requirement_in_user', '待处理用需数', 'count', '按人员统计的待处理用户需求数表示每个人待处理的用户需求数量之和。反映了每个人员需要处理的用户需求数量的规模。该数值越大,说明需要投入越多的时间处理用户需求。', '所有用户需求个数求和\r\n指派给为某人\r\n过滤已删除的用户需求\r\n过滤已删除产品的用户需求', 'realtime', 'system', '2024-05-07 08:00:00', '1', '0', 'nodate'),
('scale', 'user', 'demand', 'released', 'php', '按人员统计的被指派的需求池需求数', 'count_of_assigned_demand_in_user', '待处理需求池需求数', 'count', '按人员统计的被指派的需求池需求数表示每个人待处理的需求池需求数量之和。反映了每个人员需要处理的需求池需求数量的规模。该数值越大,说明需要投入越多的时间处理需求池需求', '所有需求池需求个数求和\r\n指派给为某人\r\n过滤已删除的需求池需求\r\n过滤状态为已关闭的需求池需求', 'realtime', 'system', '2024-05-07 08:00:00', '1', '0', 'nodate'),
('scale', 'project', 'requirement', 'released', 'php', '按项目统计的未关闭用户需求数', 'count_of_unclosed_requirement_in_project', '未关闭用户需求数', 'count', '按项目统计的未关闭用户需求数是指项目中尚未满足或处理的用户需求的数量,反映了项目团队在满足用户期望和需求方面的进行中任务和计划。未关闭用户需求数量的增加表示项目团队尚未完成的用户需求工作较多,需要进一步跟进和处理,以确保项目能够满足用户的期望', '复用:\r\n按项目统计的用户需求总数\r\n按项目统计的已关闭用户需求数\r\n公式:\r\n按项目统计的未关闭用户需求数=按项目统计的用户需求总数-按项目统计的已关闭用户需求数', 'realtime', 'system', '2024-05-07 08:00:00', '1', '0', 'nodate');
('scale', 'project', 'requirement', 'released', 'php', '按项目统计的未关闭用户需求数', 'count_of_unclosed_requirement_in_project', '未关闭用户需求数', 'count', '按项目统计的未关闭用户需求数是指项目中尚未满足或处理的用户需求的数量,反映了项目团队在满足用户期望和需求方面的进行中任务和计划。未关闭用户需求数量的增加表示项目团队尚未完成的用户需求工作较多,需要进一步跟进和处理,以确保项目能够满足用户的期望', '复用:\r\n按项目统计的用户需求总数\r\n按项目统计的已关闭用户需求数\r\n公式:\r\n按项目统计的未关闭用户需求数=按项目统计的用户需求总数-按项目统计的已关闭用户需求数', 'realtime', 'system', '2024-05-07 08:00:00', '1', '0', 'nodate'),
('scale', 'project', 'requirement', 'released', 'php', '按项目统计的已完成研发需求数', 'count_of_finished_requirement_in_project', '已完成用户需求数', 'count', '按项目统计的已完成用户需求数是指状态为已关闭且关闭原因为已完成的用户需求的数量。反映了项目团队在满足用户期望和需求方面的已经实现的任务和计划。已完成用户需求数量的增加表示项目团队已经成功完成了一定数量的用户需求工作,并取得了一定的成果', '项目中用户需求的个数求和\r\n状态为已关闭\r\n关闭原因为已完成\r\n过滤已删除的用户需求\r\n过滤已删除的项目', 'realtime', 'system', '2024-05-07 08:00:00', '1', '0', 'nodate');
ALTER TABLE `zt_chart` ADD `code` varchar(255) not NULL default '' AFTER `name`;
ALTER TABLE `zt_pivot` ADD `code` varchar(255) not NULL default '' AFTER `group`;
+2 -1
View File
@@ -16477,7 +16477,8 @@ INSERT INTO `zt_metric`(`purpose`, `scope`, `object`, `stage`, `type`, `name`, `
('scale', 'user', 'issue', 'released', 'php', '按人员统计的待处理问题数', 'count_of_assigned_issue_in_user', '待处理问题数', 'count', '按人员统计的待处理问题数表示每个人待处理的问题数量之和。反映了每个人员需要处理的问题数量的规模。该数值越大,项目存在问题越多,需要投入越多的时间处理问题。', '所有问题个数求和\r\n指派给为某人\r\n过滤已删除的问题\r\n过滤已删除项目的问题', 'realtime', 'system', '2024-05-07 08:00:00', '1', '0', 'nodate'),
('scale', 'user', 'requirement', 'released', 'php', '按人员统计的待处理用户需求数', 'count_of_assigned_requirement_in_user', '待处理用需数', 'count', '按人员统计的待处理用户需求数表示每个人待处理的用户需求数量之和。反映了每个人员需要处理的用户需求数量的规模。该数值越大,说明需要投入越多的时间处理用户需求。', '所有用户需求个数求和\r\n指派给为某人\r\n过滤已删除的用户需求\r\n过滤已删除产品的用户需求', 'realtime', 'system', '2024-05-07 08:00:00', '1', '0', 'nodate'),
('scale', 'user', 'demand', 'released', 'php', '按人员统计的被指派的需求池需求数', 'count_of_assigned_demand_in_user', '待处理需求池需求数', 'count', '按人员统计的被指派的需求池需求数表示每个人待处理的需求池需求数量之和。反映了每个人员需要处理的需求池需求数量的规模。该数值越大,说明需要投入越多的时间处理需求池需求', '所有需求池需求个数求和\r\n指派给为某人\r\n过滤已删除的需求池需求\r\n过滤状态为已关闭的需求池需求', 'realtime', 'system', '2024-05-07 08:00:00', '1', '0', 'nodate'),
('scale', 'project', 'requirement', 'released', 'php', '按项目统计的未关闭用户需求数', 'count_of_unclosed_requirement_in_project', '未关闭用户需求数', 'count', '按项目统计的未关闭用户需求数是指项目中尚未满足或处理的用户需求的数量,反映了项目团队在满足用户期望和需求方面的进行中任务和计划。未关闭用户需求数量的增加表示项目团队尚未完成的用户需求工作较多,需要进一步跟进和处理,以确保项目能够满足用户的期望', '复用:\r\n按项目统计的用户需求总数\r\n按项目统计的已关闭用户需求数\r\n公式:\r\n按项目统计的未关闭用户需求数=按项目统计的用户需求总数-按项目统计的已关闭用户需求数', 'realtime', 'system', '2024-05-07 08:00:00', '1', '0', 'nodate');
('scale', 'project', 'requirement', 'released', 'php', '按项目统计的未关闭用户需求数', 'count_of_unclosed_requirement_in_project', '未关闭用户需求数', 'count', '按项目统计的未关闭用户需求数是指项目中尚未满足或处理的用户需求的数量,反映了项目团队在满足用户期望和需求方面的进行中任务和计划。未关闭用户需求数量的增加表示项目团队尚未完成的用户需求工作较多,需要进一步跟进和处理,以确保项目能够满足用户的期望', '复用:\r\n按项目统计的用户需求总数\r\n按项目统计的已关闭用户需求数\r\n公式:\r\n按项目统计的未关闭用户需求数=按项目统计的用户需求总数-按项目统计的已关闭用户需求数', 'realtime', 'system', '2024-05-07 08:00:00', '1', '0', 'nodate'),
('scale', 'project', 'requirement', 'released', 'php', '按项目统计的已完成研发需求数', 'count_of_finished_requirement_in_project', '已完成用户需求数', 'count', '按项目统计的已完成用户需求数是指状态为已关闭且关闭原因为已完成的用户需求的数量。反映了项目团队在满足用户期望和需求方面的已经实现的任务和计划。已完成用户需求数量的增加表示项目团队已经成功完成了一定数量的用户需求工作,并取得了一定的成果', '项目中用户需求的个数求和\r\n状态为已关闭\r\n关闭原因为已完成\r\n过滤已删除的用户需求\r\n过滤已删除的项目', 'realtime', 'system', '2024-05-07 08:00:00', '1', '0', 'nodate');
INSERT INTO `zt_cron`(`m`, `h`, `dom`, `mon`, `dow`, `command`, `remark`, `type`, `buildin`, `status`, `lastTime`) VALUES ('1', '1', '*', '*', '*', 'moduleName=metric&methodName=updateMetricLib', '计算度量数据', 'zentao', 1, 'normal', NUll);
INSERT INTO `zt_cron`(`m`, `h`, `dom`, `mon`, `dow`, `command`, `remark`, `type`, `buildin`, `status`, `lastTime`) VALUES ('0', '*/1', '*', '*', '*', 'moduleName=metric&methodName=updateDashboardMetricLib', '计算仪表盘数据', 'zentao', 1, 'normal', NUll);
@@ -0,0 +1,48 @@
<?php
/**
* 按项目统计的已完成研发需求数
* Count of finished requirement in project.
*
* 范围:project
* 对象:requirement
* 目的:scale
* 度量名称:按项目统计的已完成研发需求数
* 单位:个
* 描述:按项目统计的已完成用户需求数是指状态为已关闭且关闭原因为已完成的用户需求的数量。反映了项目团队在满足用户期望和需求方面的已经实现的任务和计划。已完成用户需求数量的增加表示项目团队已经成功完成了一定数量的用户需求工作,并取得了一定的成果
* 定义:项目中用户需求的个数求和 状态为已关闭 关闭原因为已完成 过滤已删除的用户需求 过滤已删除的项目
*
* @copyright Copyright 2009-2023 禅道软件(青岛)有限公司(ZenTao Software (Qingdao) Co., Ltd. www.zentao.net)
* @author zhouxin <zhouxin@easycorp.ltd>
* @package
* @uses func
* @license ZPL(https://zpl.pub/page/zplv12.html) or AGPL(https://www.gnu.org/licenses/agpl-3.0.en.html)
* @Link https://www.zentao.net
*/
class count_of_finished_requirement_in_project extends baseCalc
{
public $dataset = 'getDevRequirementsWithProject';
public $fieldList = array('t3.project', 't1.status', 't1.closedReason');
public $result = array();
public function calculate($row)
{
$project = $row->project;
$status = $row->status;
$closedReason = $row->closedReason;
if($status == 'closed' && $closedReason == 'done')
{
if(!isset($this->result[$project])) $this->result[$project] = 0;
$this->result[$project] += 1;
}
}
public function getResult($options = array())
{
$records = $this->getRecords(array('project', 'value'));
return $this->filterByOptions($records, $options);
}
}