*Modify chart group.
@@ -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,
|
||||
|
||||
@@ -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),
|
||||
|
||||
@@ -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']);
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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'] = '行为';
|
||||
|
||||
@@ -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.
|
||||
*
|
||||
|
||||
|
Before Width: | Height: | Size: 1.4 MiB After Width: | Height: | Size: 153 KiB |
|
Before Width: | Height: | Size: 1.3 MiB After Width: | Height: | Size: 150 KiB |
|
Before Width: | Height: | Size: 1.3 MiB After Width: | Height: | Size: 147 KiB |
|
Before Width: | Height: | Size: 1.3 MiB After Width: | Height: | Size: 136 KiB |