*Modify chart group.

This commit is contained in:
宋辰轩
2023-04-19 16:41:28 +08:00
parent db18de0660
commit 4a17fc7e7a
12 changed files with 242 additions and 4 deletions

View File

@@ -1,3 +1,4 @@
DELETE FROM `zt_chart` where id = '1048';
DROP TABLE IF EXISTS `zt_dimension`;
CREATE TABLE IF NOT EXISTS `zt_dimension` (
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,

View File

@@ -14051,7 +14051,6 @@ REPLACE INTO `zt_chart` (`id`, `name`, `dimension`, `type`, `group`, `stage`, `d
(1045, '宏观数据-产品数据概览',1,'table',0,'published','','','{\"group\":[],\"column\":[\r\n{\"field\":\"program\",\"valOrAgg\":\"value\",\"name\":\"一级项目集\"},{\"field\":\"productLine\",\"valOrAgg\":\"value\",\"name\":\"产品线\"},\r\n{\"field\":\"product\",\"valOrAgg\":\"value\",\"name\":\"产品\"},\r\n{\"field\":\"story\",\"valOrAgg\":\"value\",\"name\":\"需求数\"},\r\n{\"field\":\"bug\",\"valOrAgg\":\"value\",\"name\":\"Bug数\"},\r\n{\"field\":\"plan\",\"valOrAgg\":\"value\",\"name\":\"计划数\"},\r\n{\"field\":\"release\",\"valOrAgg\":\"value\",\"name\":\"发布数\"}],\"filter\":[]}','[]','','SELECT \r\n t1.name AS product, \r\n IFNULL(t2.name, \'/\') AS program, \r\n IFNULL(t3.name, \'/\') AS productLine, \r\n IFNULL(t4.plan, 0) AS plan, \r\n IFNULL(t5.release, 0) AS `release`, \r\n IFNULL(t6.story, 0) AS story, \r\n IFNULL(t7.bug, 0) AS bug \r\nFROM \r\n zt_product AS t1 \r\n LEFT JOIN zt_project AS t2 ON t1.program = t2.id AND t2.type = \'program\' AND t2.grade = 1 \r\n LEFT JOIN zt_module AS t3 ON t1.line = t3.id AND t3.type = \'line\' \r\n LEFT JOIN (SELECT product, COUNT(1) AS plan FROM zt_productplan WHERE deleted = \'0\' GROUP BY product) AS t4 ON t1.id = t4.product \r\n LEFT JOIN (SELECT product, COUNT(1) AS `release` FROM zt_release WHERE deleted = \'0\' GROUP BY product) AS t5 ON t1.id = t5.product \r\n LEFT JOIN (SELECT product, COUNT(1) AS story FROM zt_story WHERE deleted = \'0\' GROUP BY product) AS t6 ON t1.id = t6.product \r\n LEFT JOIN (SELECT product, COUNT(1) AS bug FROM zt_bug WHERE deleted = \'0\' GROUP BY product) AS t7 ON t1.id = t7.product \r\nWHERE t1.deleted = \'0\' AND t1.status != \'closed\' AND t1.shadow = \'0\'AND t1.vision = \'rnd\'\r\nORDER BY t1.order',1,'','admin','2022-12-07 14:59:41','','2022-12-07 14:59:41',0),
(1046, '宏观数据-产品需求完成率',1,'bar',0,'published','','','{\r\n\"xaxis\":[{\"field\":\"product\",\"name\":\"产品\"}],\r\n\"yaxis\":[\r\n {\"type\":\"value\",\"field\":\"closedRate\",\"agg\":\"value\",\"name\":\"需求完成率\",\"valOrAgg\":\"value\"}\r\n]}','[]','','SELECT\r\n t1.name AS product,\r\n IFNULL(t2.name, \'/\') AS program, \r\n IFNULL(t3.name, \'/\') AS productLine, \r\n IFNULL(t4.story, 0) AS closedStory, \r\n t5.story AS totalStory, \r\n ROUND(IFNULL(t4.story, 0) / t5.story * 100, 2) AS closedRate \r\nFROM zt_product AS t1 \r\nLEFT JOIN zt_project AS t2 ON t1.program = t2.id AND t2.type = \'program\' AND t2.grade = 1 \r\nLEFT JOIN zt_module AS t3 ON t1.line = t3.id AND t3.type = \'line\' \r\nLEFT JOIN (SELECT product, COUNT(1) AS story FROM zt_story WHERE deleted = \'0\' AND closedReason = \'done\' GROUP BY product) AS t4 ON t1.id = t4.product \r\nLEFT JOIN (SELECT product, COUNT(1) AS story FROM zt_story WHERE deleted = \'0\' AND ( closedReason = \'done\' OR status != \'closed\') GROUP BY product) AS t5 ON t1.id = t5.product \r\nWHERE t1.deleted = \'0\' AND t1.status != \'closed\' AND t1.shadow = \'0\' AND t1.vision = \'rnd\' AND t5.story IS NOT NULL \r\nORDER BY t1.order DESC',1,'','admin','2022-12-07 14:59:41','','2022-12-07 14:59:41',0),
(1047, '宏观数据-产品Bug修复率',1,'bar',0,'published','','','{\r\n\"xaxis\":[{\"field\":\"product\",\"name\":\"产品\"}],\r\n\"yaxis\":[\r\n {\"type\":\"value\",\"field\":\"fixedRate\",\"agg\":\"value\",\"name\":\"Bug修复率\",\"valOrAgg\":\"value\"}\r\n]}','[]','','SELECT \r\n t1.name AS product,\r\n IFNULL(t2.name, \'/\') AS program,\r\n IFNULL(t3.name, \'/\') AS productLine,\r\n IFNULL(t4.bug, 0) AS fixedBug,\r\n t5.bug AS totalBug,\r\n ROUND(IFNULL(t4.bug, 0) / t5.bug * 100, 2) AS fixedRate\r\nFROM zt_product AS t1\r\nLEFT JOIN zt_project AS t2 ON t1.program = t2.id AND t2.type = \'program\' AND t2.grade = 1\r\nLEFT JOIN zt_module AS t3 ON t1.line = t3.id AND t3.type = \'line\'\r\nLEFT JOIN (SELECT product, COUNT(1) AS bug FROM zt_bug WHERE deleted = \'0\' AND resolution = \'fixed\' AND status = \'closed\' GROUP BY product) AS t4 ON t1.id = t4.product\r\nLEFT JOIN (SELECT product, COUNT(1) AS bug FROM zt_bug WHERE deleted = \'0\' AND (resolution = \'fixed\' OR resolution = \'postponed\' OR status = \'active\') GROUP BY product) AS t5 ON t1.id = t5.product\r\nWHERE t1.deleted = \'0\' AND t1.status != \'closed\' AND t1.shadow = \'0\' AND t1.vision = \'rnd\' AND t5.bug IS NOT NULL\r\nORDER BY t1.order DESC',1,'','admin','2022-12-07 14:59:41','','2022-12-07 14:59:41',0),
(1048, '宏观数据-公司组织结构图',1,'org',0,'published','','','','[]','','',1,'','admin','2022-12-07 14:59:41','','2022-12-07 14:59:41',0),
(1049, '宏观数据-部门人员分布图',1,'bar',0,'published','','','{\r\n\"xaxis\":[{\"field\":\"deptName\",\"name\":\"部门\"}],\r\n\"yaxis\":[\r\n {\"type\":\"value\",\"field\":\"count\",\"agg\":\"value\",\"name\":\"部门人数\",\"valOrAgg\":\"value\"}\r\n]}','[]','','SELECT IF(t3.id IS NOT NULL, t3.`name`, \'\') AS deptName,count(1) as count, \r\nIF(t3.id IS NOT NULL, t3.`order`, 9999) AS deptOrder \r\nFROM `zt_user` AS t1 \r\nLEFT JOIN `zt_dept` AS t2 ON t1.dept = t2.id\r\nLEFT JOIN `zt_dept` AS t3 ON FIND_IN_SET(TRIM(\',\' FROM t3.path), TRIM(\',\' FROM t2.path)) AND t3.grade = \'1\'\r\nWHERE t1.deleted = \'0\'\r\nGROUP BY deptName, deptOrder \r\nORDER BY deptOrder ASC',1,'','admin','2022-12-07 14:59:41','','2022-12-07 14:59:41',0),
(1050, '宏观数据-公司角色分布图',1,'pie',0,'published','','','{\"group\":[{\"field\":\"role\",\"name\":\"类型\"}],\"metric\":[{\"type\":\"agg\",\"field\":\"account\",\"agg\":\"count\",\"name\":\"人数\",\"valOrAgg\":\"count\"}]}','[]','','SELECT\n account,\nCASE\n ROLE \n WHEN \'dev\' THEN\n \'\' \n WHEN \'qa\' THEN\r\n \'\'\r\n WHEN \'pm\' THEN\r\n \'\'\r\n WHEN \'others\' THEN\r\n \'\'\r\n WHEN \'td\' THEN\r\n \'\'\r\n WHEN \'pd\' THEN\r\n \'\'\r\n WHEN \'po\' THEN\r\n \'\'\r\n WHEN \'qd\' THEN\r\n \'\'\r\n WHEN \'top\' THEN\r\n \'\'\r\n ELSE\r\n \'\'\r\n END\r\n role\n FROM\n `zt_user` \n WHERE\n deleted = \'0\' ',1,'','admin','2022-12-07 14:59:41','','2022-12-07 14:59:41',0),
(1051, '宏观数据-人员工龄分布图',1,'bar',0,'published','','','{\r\n\"xaxis\":[{\"field\":\"joinDate\",\"name\":\"工龄\"}],\r\n\"yaxis\":[\r\n {\"type\":\"value\",\"field\":\"count\",\"agg\":\"value\",\"name\":\"人数\",\"valOrAgg\":\"value\"}\r\n]}','[]','','SELECT count(1) as count, \'0-1\' as joinDate FROM `zt_user` WHERE deleted = \'0\' AND `join` > DATE_SUB(NOW(), INTERVAL 1 YEAR)\r\nunion\r\nSELECT count(1) as count, \'1-3\' as joinDate FROM `zt_user` WHERE deleted = \'0\' AND `join` > DATE_SUB(NOW(), INTERVAL 3 YEAR) AND `join` <= DATE_SUB(NOW(), INTERVAL 1 YEAR)\r\nunion\r\nSELECT count(1) as count, \'3-5\' as joinDate FROM `zt_user` WHERE deleted = \'0\' AND `join` > DATE_SUB(NOW(), INTERVAL 5 YEAR) AND `join` <= DATE_SUB(NOW(), INTERVAL 3 YEAR)\r\nunion\r\nSELECT count(1) as count, \'5-10\' as joinDate FROM `zt_user` WHERE deleted = \'0\' AND `join` > DATE_SUB(NOW(), INTERVAL 10 YEAR) AND `join` <= DATE_SUB(NOW(), INTERVAL 5 YEAR)\r\nunion\r\nSELECT count(1) as count, \'10\' as joinDate FROM `zt_user` WHERE deleted = \'0\' AND `join` < DATE_SUB(NOW(), INTERVAL 10 YEAR) AND LEFT(`join`, 4) != \'0000\'\r\nunion \r\nSELECT count(1) as count, \'\' as joinDate FROM `zt_user` WHERE deleted = \'0\' AND LEFT(`join`, 4) = \'0000\'',1,'','admin','2022-12-07 14:59:41','','2022-12-07 14:59:41',0),

View File

@@ -4,4 +4,114 @@ $config->dimension->changeDimensionLink['screen-browse'] = 'screen|browse|dimens
$config->dimension->changeDimensionLink['pivot-preview'] = 'pivot|preview|dimensionID=%s';
$config->dimension->changeDimensionLink['chart-preview'] = 'chart|preview|dimensionID=%s';
$config->dimension->defaultDimension = array('macro', 'efficiency', 'quality');
$config->dimension->defaultDimension = array('macro', 'efficiency', 'quality');
/* Pivot second module list. */
$config->dimension->pivotModuleList = array();
$config->dimension->pivotModuleList['macro'] = array();
$config->dimension->pivotModuleList['macro']['staff'] = 'program';
$config->dimension->pivotModuleList['macro']['product'] = 'product';
$config->dimension->pivotModuleList['efficiency'] = array();
$config->dimension->pivotModuleList['efficiency']['project'] = 'project,progress,cost,timelimit';
$config->dimension->pivotModuleList['quality'] = array();
$config->dimension->pivotModuleList['quality']['test'] = 'bug';
/* Chart second module list. */
$config->dimension->chartModuleList = array();
$config->dimension->chartModuleList['macro'] = array();
$config->dimension->chartModuleList['macro']['staff'] = 'program,project,product,plan,execution,release,story,task,bug,doc,cost,personnel,effort,behavior';
$config->dimension->chartModuleList['macro']['product'] = 'story,release';
$config->dimension->chartModuleList['macro']['test'] = 'bug';
$config->dimension->chartModuleList['macro']['project'] = 'project,task,execution,cost,timelimit,story';
$config->dimension->chartModuleList['efficiency'] = array();
$config->dimension->chartModuleList['efficiency']['staff'] = 'project,execution,release,story,task,bug,cost';
$config->dimension->chartModuleList['efficiency']['project'] = 'progress,cost,timelimit';
$config->dimension->chartModuleList['quality'] = array();
$config->dimension->chartModuleList['quality']['staff'] = 'story,bug,testcase';
$config->dimension->chartModuleList['quality']['test'] = 'bug,testcase';
/* Pivot upgrade group. */
$config->dimension->pivotUpgrade = array();
$config->dimension->pivotUpgrade['macro'] = array();
$config->dimension->pivotUpgrade['macro']['staff'] = array();
$config->dimension->pivotUpgrade['macro']['staff']['program'] = array('chart' => '1041,1073,1074');
$config->dimension->pivotUpgrade['macro']['product'] = array();
$config->dimension->pivotUpgrade['macro']['product']['product'] = array('chart' => '1045,1075,1076');
$config->dimension->pivotUpgrade['efficiency'] = array();
$config->dimension->pivotUpgrade['efficiency']['project'] = array();
$config->dimension->pivotUpgrade['efficiency']['project']['project'] = array('chart' => '10118,10119');
$config->dimension->pivotUpgrade['efficiency']['project']['progress'] = array('chart' => '10116,10117');
$config->dimension->pivotUpgrade['efficiency']['project']['cost'] = array('pivot' => '1001');
$config->dimension->pivotUpgrade['efficiency']['project']['timelimit'] = array('pivot' => '1000');
$config->dimension->pivotUpgrade['quality'] = array();
$config->dimension->pivotUpgrade['quality']['test'] = array();
$config->dimension->pivotUpgrade['quality']['test']['bug'] = array('pivot' => '1002');
/* Chart upgrade group. */
$config->dimension->chartUpgrade['macro'] = array();
$config->dimension->chartUpgrade['macro']['staff'] = array();
$config->dimension->chartUpgrade['macro']['staff']['program'] = array('chart' => '1018,1033,1042,1043,1055,1083');
$config->dimension->chartUpgrade['macro']['staff']['project'] = array('chart' => '1019,1036,1060,1066');
$config->dimension->chartUpgrade['macro']['staff']['product'] = array('chart' => '1020,1035,1056');
$config->dimension->chartUpgrade['macro']['staff']['plan'] = array('chart' => '1021,1037,1059');
$config->dimension->chartUpgrade['macro']['staff']['execution'] = array('chart' => '1022,1038,1061,1067');
$config->dimension->chartUpgrade['macro']['staff']['release'] = array('chart' => '1023,1064,1068');
$config->dimension->chartUpgrade['macro']['staff']['story'] = array('chart' => '1024,1034,1057,1069');
$config->dimension->chartUpgrade['macro']['staff']['task'] = array('chart' => '1025,1040,1062,1071');
$config->dimension->chartUpgrade['macro']['staff']['bug'] = array('chart' => '1026,1039,1058,1070');
$config->dimension->chartUpgrade['macro']['staff']['doc'] = array('chart' => '1027,1063');
$config->dimension->chartUpgrade['macro']['staff']['cost'] = array('chart' => '1028,1029');
$config->dimension->chartUpgrade['macro']['staff']['personnel'] = array('chart' => '1049,1050,1051,1065,1105,1106,1107,1108,1109,1110');
$config->dimension->chartUpgrade['macro']['staff']['effort'] = array('chart' => '1072');
$config->dimension->chartUpgrade['macro']['staff']['behavior'] = array('chart' => '1030');
$config->dimension->chartUpgrade['macro']['product'] = array();
$config->dimension->chartUpgrade['macro']['product']['story'] = array('chart' => '1031,1046,1077,1088,1089,1091,1092,1099,1101,1102');
$config->dimension->chartUpgrade['macro']['product']['release'] = array('chart' => '1082');
$config->dimension->chartUpgrade['macro']['test'] = array();
$config->dimension->chartUpgrade['macro']['test']['bug'] = array('chart' => '1032,1047,1078,1090,1093,1103,1104');
$config->dimension->chartUpgrade['macro']['project'] = array();
$config->dimension->chartUpgrade['macro']['project']['project'] = array('chart' => '1044,1080');
$config->dimension->chartUpgrade['macro']['project']['task'] = array('chart' => '1079');
$config->dimension->chartUpgrade['macro']['project']['execution'] = array('chart' => '1081');
$config->dimension->chartUpgrade['macro']['project']['cost'] = array('chart' => '1085,1086,1097,1087,1098');
$config->dimension->chartUpgrade['macro']['project']['timelimit'] = array('chart' => '1094,1096');
$config->dimension->chartUpgrade['macro']['project']['story'] = array('chart' => '1091,1100');
$config->dimension->chartUpgrade['efficiency'] = array();
$config->dimension->chartUpgrade['efficiency']['staff'] = array();
$config->dimension->chartUpgrade['efficiency']['staff']['project'] = array('chart' => '10000,10001,10002,10101,10103,10105,10107');
$config->dimension->chartUpgrade['efficiency']['staff']['execution'] = array('chart' => '10007,10008,10009,10102,10104,10106,10107');
$config->dimension->chartUpgrade['efficiency']['staff']['release'] = array('chart' => '10005');
$config->dimension->chartUpgrade['efficiency']['staff']['story'] = array('chart' => '10003,10004,10109,10111');
$config->dimension->chartUpgrade['efficiency']['staff']['task'] = array('chart' => '10010,10110');
$config->dimension->chartUpgrade['efficiency']['staff']['bug'] = array('chart' => '1070');
$config->dimension->chartUpgrade['efficiency']['staff']['cost'] = array('chart' => '10011,10012,10013,10112,10113');
$config->dimension->chartUpgrade['efficiency']['project'] = array();
$config->dimension->chartUpgrade['efficiency']['project']['progress'] = array('chart' => '10114,10115');
$config->dimension->chartUpgrade['efficiency']['project']['cost'] = array();
$config->dimension->chartUpgrade['efficiency']['project']['timelimit'] = array('chart' => '10014,10015,10016,10017,10020,10021,10018,10019');
$config->dimension->chartUpgrade['quality'] = array();
$config->dimension->chartUpgrade['quality']['staff'] = array();
$config->dimension->chartUpgrade['quality']['staff']['story'] = array('chart' => '10201,10202');
$config->dimension->chartUpgrade['quality']['staff']['bug'] = array('chart' => '10204,10205,10206');
$config->dimension->chartUpgrade['quality']['staff']['testcase'] = array('chart' => '10203');
$config->dimension->chartUpgrade['quality']['test'] = array();
$config->dimension->chartUpgrade['quality']['test']['bug'] = array('chart' => '10209,10210,1014,10211,10219,10212,10218,10214,10220,10213,10216');
$config->dimension->chartUpgrade['quality']['test']['testcase'] = array('chart' => '10208,10215');
$config->dimension->secondModuleList = array();
$config->dimension->secondModuleList['macro'] = array('pivot' => $config->dimension->pivotModuleList['macro'], 'pivotUpgrade' => $config->dimension->pivotUpgrade['macro'], 'chart' => $config->dimension->chartModuleList['macro'], 'chartUpgrade' => $config->dimension->chartUpgrade['macro']);
$config->dimension->secondModuleList['efficiency'] = array('pivot' => $config->dimension->pivotModuleList['efficiency'], 'pivotUpgrade' => $config->dimension->pivotUpgrade['efficiency'], 'chart' => $config->dimension->chartModuleList['efficiency'], 'chartUpgrade' => $config->dimension->chartUpgrade['efficiency']);
$config->dimension->secondModuleList['quality'] = array('pivot' => $config->dimension->pivotModuleList['quality'], 'pivotUpgrade' => $config->dimension->pivotUpgrade['quality'], 'chart' => $config->dimension->chartModuleList['quality'], 'chartUpgrade' => $config->dimension->chartUpgrade['quality']);

View File

@@ -9,3 +9,21 @@ $lang->dimension->moduleList['product'] = $lang->productCommon;
$lang->dimension->moduleList['project'] = $lang->projectCommon;
$lang->dimension->moduleList['test'] = 'QA';
$lang->dimension->moduleList['staff'] = 'Company';
$lang->dimension->modules = array();
$lang->dimension->modules['program'] = $lang->program->common;
$lang->dimension->modules['project'] = $lang->projectCommon;
$lang->dimension->modules['product'] = $lang->productCommon;
$lang->dimension->modules['plan'] = 'Plan';
$lang->dimension->modules['execution'] = $lang->executionCommon;
$lang->dimension->modules['release'] = $lang->release->common;
$lang->dimension->modules['story'] = $lang->SRCommon;
$lang->dimension->modules['task'] = $lang->task->common;
$lang->dimension->modules['bug'] = $lang->bug->common;
$lang->dimension->modules['doc'] = $lang->doc->common;
$lang->dimension->modules['cost'] = 'Cost';
$lang->dimension->modules['personnel'] = 'Personnel';
$lang->dimension->modules['effort'] = 'Effort';
$lang->dimension->modules['timelimit'] = 'Time limit';
$lang->dimension->modules['progress'] = 'Progress';
$lang->dimension->modules['testcase'] = $lang->testcase->common;

View File

@@ -9,3 +9,21 @@ $lang->dimension->moduleList['product'] = $lang->productCommon;
$lang->dimension->moduleList['project'] = $lang->projectCommon;
$lang->dimension->moduleList['test'] = 'QA';
$lang->dimension->moduleList['staff'] = 'Company';
$lang->dimension->modules = array();
$lang->dimension->modules['program'] = $lang->program->common;
$lang->dimension->modules['project'] = $lang->projectCommon;
$lang->dimension->modules['product'] = $lang->productCommon;
$lang->dimension->modules['plan'] = 'Plan';
$lang->dimension->modules['execution'] = $lang->executionCommon;
$lang->dimension->modules['release'] = $lang->release->common;
$lang->dimension->modules['story'] = $lang->SRCommon;
$lang->dimension->modules['task'] = $lang->task->common;
$lang->dimension->modules['bug'] = $lang->bug->common;
$lang->dimension->modules['doc'] = $lang->doc->common;
$lang->dimension->modules['cost'] = 'Cost';
$lang->dimension->modules['personnel'] = 'Personnel';
$lang->dimension->modules['effort'] = 'Effort';
$lang->dimension->modules['timelimit'] = 'Time limit';
$lang->dimension->modules['progress'] = 'Progress';
$lang->dimension->modules['testcase'] = $lang->testcase->common;

View File

@@ -9,3 +9,21 @@ $lang->dimension->moduleList['product'] = $lang->productCommon;
$lang->dimension->moduleList['project'] = $lang->projectCommon;
$lang->dimension->moduleList['test'] = 'QA';
$lang->dimension->moduleList['staff'] = 'Company';
$lang->dimension->modules = array();
$lang->dimension->modules['program'] = $lang->program->common;
$lang->dimension->modules['project'] = $lang->projectCommon;
$lang->dimension->modules['product'] = $lang->productCommon;
$lang->dimension->modules['plan'] = 'Plan';
$lang->dimension->modules['execution'] = $lang->executionCommon;
$lang->dimension->modules['release'] = $lang->release->common;
$lang->dimension->modules['story'] = $lang->SRCommon;
$lang->dimension->modules['task'] = $lang->task->common;
$lang->dimension->modules['bug'] = $lang->bug->common;
$lang->dimension->modules['doc'] = $lang->doc->common;
$lang->dimension->modules['cost'] = 'Cost';
$lang->dimension->modules['personnel'] = 'Personnel';
$lang->dimension->modules['effort'] = 'Effort';
$lang->dimension->modules['timelimit'] = 'Time limit';
$lang->dimension->modules['progress'] = 'Progress';
$lang->dimension->modules['testcase'] = $lang->testcase->common;

View File

@@ -9,3 +9,22 @@ $lang->dimension->moduleList['product'] = $lang->productCommon;
$lang->dimension->moduleList['project'] = $lang->projectCommon;
$lang->dimension->moduleList['test'] = '测试';
$lang->dimension->moduleList['staff'] = '组织';
$lang->dimension->modules = array();
$lang->dimension->modules['program'] = $lang->program->common;
$lang->dimension->modules['project'] = $lang->projectCommon;
$lang->dimension->modules['product'] = $lang->productCommon;
$lang->dimension->modules['plan'] = '计划';
$lang->dimension->modules['execution'] = $lang->executionCommon;
$lang->dimension->modules['release'] = $lang->release->common;
$lang->dimension->modules['story'] = $lang->SRCommon;
$lang->dimension->modules['task'] = $lang->task->common;
$lang->dimension->modules['bug'] = $lang->bug->common;
$lang->dimension->modules['doc'] = $lang->doc->common;
$lang->dimension->modules['cost'] = '成本';
$lang->dimension->modules['personnel'] = '人员';
$lang->dimension->modules['effort'] = '工时';
$lang->dimension->modules['timelimit'] = '工期';
$lang->dimension->modules['progress'] = '进度';
$lang->dimension->modules['testcase'] = $lang->testcase->common;
$lang->dimension->modules['behavior'] = '行为';

View File

@@ -8224,13 +8224,68 @@ class upgradeModel extends model
$this->dao->insert(TABLE_DIMENSION)->data($dimension)->exec();
$dimensionID = $this->dao->lastInsertID();
$this->addDefaultModules4BI('chart', $dimensionID);
$this->addDefaultModules4BI('pivot', $dimensionID);
$chartModules = $this->addDefaultModules4BI('chart', $dimensionID);
$this->addSecondModule4BI($dimensionID, $dimensionName, 'chart', $chartModules);
$pivotModules = $this->addDefaultModules4BI('pivot', $dimensionID);
$this->addSecondModule4BI($dimensionID, $dimensionName, 'pivot', $pivotModules);
}
return !dao::isError();
}
/**
* Add second modules for bi, move buildin chart and pivot to second modules.
*
* @access public
* @return bool
*/
public function addSecondModule4BI($dimensionID, $dimensionName, $module, $modules)
{
$this->loadModel('dimension');
$listIndex = $module . 'Upgrade';
$secondModules = $this->config->dimension->secondModuleList[$dimensionName][$module];
$updateInfos = $this->config->dimension->secondModuleList[$dimensionName][$listIndex];
foreach($modules as $moduleName => $parentID)
{
$insertModules = isset($secondModules[$moduleName]) ? explode(',', $secondModules[$moduleName]) : array();
if(empty($insertModules)) continue;
$i = 1;
foreach($insertModules as $moduleCode)
{
$data = new stdclass();
$data->root = $dimensionID;
$data->name = $this->lang->dimension->modules[$moduleCode];
$data->parent = $parentID;
$data->grade = 2;
$data->order = 10 * $i;
$data->type = $module;
$i ++;
$this->dao->insert(TABLE_MODULE)->data($data)->exec();
$lastGroupID = $this->dao->lastInsertID();
$path = ',' . $parentID . ',' . $lastGroupID . ',';
$this->dao->update(TABLE_MODULE)->set("`path`")->eq($path)->where('id')->eq($lastGroupID)->exec();
$updateArr = isset($updateInfos[$moduleName][$moduleCode]) ? $updateInfos[$moduleName][$moduleCode] : array();
if(!empty($updateArr))
{
foreach($updateArr as $type => $idString)
{
$table = $type == 'chart' ? TABLE_CHART : TABLE_PIVOT;
$idList = explode(',', $idString);
$this->dao->update($table)->set('group')->eq($lastGroupID)->set('dimension')->eq($dimensionID)->where('id')->in($idList)->exec();
}
}
}
}
}
/**
* Add update2BI mark to zt_config.
*

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 MiB

After

Width:  |  Height:  |  Size: 153 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 MiB

After

Width:  |  Height:  |  Size: 150 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 MiB

After

Width:  |  Height:  |  Size: 147 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 MiB

After

Width:  |  Height:  |  Size: 136 KiB