From 0f6b78f264ae1c10a5e4bde2a35a194aeac0e42d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9C=B1=E9=87=91=E5=8B=87?= Date: Wed, 5 Apr 2023 02:11:12 +0000 Subject: [PATCH] Fix strict mode of MySQL. --- db/update18.3.sql | 82 +- db/zentao.sql | 1356 +++++++++++++++---------------- framework/base/model.class.php | 11 +- framework/base/router.class.php | 2 +- framework/router.class.php | 12 +- lib/dao/dao.class.php | 2 +- lib/dao/dm.class.php | 82 +- 7 files changed, 836 insertions(+), 711 deletions(-) diff --git a/db/update18.3.sql b/db/update18.3.sql index 64867e915b..9fe596262c 100644 --- a/db/update18.3.sql +++ b/db/update18.3.sql @@ -108,10 +108,10 @@ ALTER TABLE `zt_doclib` CHANGE `product` `product` mediumint unsigned NOT NULL DEFAULT '0', CHANGE `project` `project` mediumint unsigned NOT NULL DEFAULT '0', CHANGE `execution` `execution` mediumint unsigned NOT NULL DEFAULT '0', -CHANGE `collector` `collector` text NOT NULL DEFAULT '', -CHANGE `desc` `desc` mediumtext NOT NULL DEFAULT '', +CHANGE `collector` `collector` text NULL, +CHANGE `desc` `desc` mediumtext NULL, CHANGE `groups` `groups` varchar(255) NOT NULL DEFAULT '', -CHANGE `users` `users` text NOT NULL DEFAULT '', +CHANGE `users` `users` text NULL, CHANGE `order` `order` tinyint unsigned NOT NULL DEFAULT '0'; ALTER TABLE `zt_domain` @@ -154,6 +154,50 @@ CHANGE `editedDate` `editedDate` datetime NULL; ALTER TABLE `zt_image` CHANGE `restoreDate` `restoreDate` datetime NULL; +ALTER TABLE `zt_im_chat` +CHANGE `avatar` `avatar` text NULL, +CHANGE `pinnedMessages` `pinnedMessages` text NULL, +CHANGE `createdDate` `createdDate` datetime NOT NULL, +CHANGE `editedDate` `editedDate` datetime NULL, +CHANGE `mergedDate` `mergedDate` datetime NULL, +CHANGE `lastActiveTime` `lastActiveTime` datetime NULL, +CHANGE `dismissDate` `dismissDate` datetime NULL, +CHANGE `archiveDate` `archiveDate` datetime NULL; + +ALTER TABLE `zt_im_chat_message_index` +CHANGE `startDate` `startDate` datetime NULL, +CHANGE `endDate` `endDate` datetime NULL; + +ALTER TABLE `zt_im_chatuser` +CHANGE `join` `join` datetime NULL, +CHANGE `quit` `quit` datetime NULL; + +ALTER TABLE `zt_im_conference` +CHANGE `openedDate` `openedDate` datetime NULL; + +ALTER TABLE `zt_im_conferenceaction` +CHANGE `data` `data` text NULL, +CHANGE `date` `date` datetime NULL; + +ALTER TABLE `zt_im_message` +CHANGE `content` `content` text NULL, +CHANGE `data` `data` text NULL, +CHANGE `date` `date` datetime NULL; + +ALTER TABLE `zt_im_message_backup` +CHANGE `data` `data` text NULL, +CHANGE `content` `content` text NULL, +CHANGE `date` `date` datetime NULL; + +ALTER TABLE `zt_im_message_index` +CHANGE `startDate` `startDate` datetime NULL, +CHANGE `endDate` `endDate` datetime NULL; + +ALTER TABLE `zt_im_userdevice` +CHANGE `validUntil` `validUntil` datetime NULL, +CHANGE `lastLogin` `lastLogin` datetime NULL, +CHANGE `lastLogout` `lastLogout` datetime NULL; + ALTER TABLE `zt_issue` CHANGE `editedBy` `editedBy` varchar(30) NOT NULL DEFAULT '', CHANGE `editedDate` `editedDate` datetime NULL, @@ -202,14 +246,14 @@ CHANGE `backDate` `backDate` datetime NULL, CHANGE `reviewedBy` `reviewedBy` char(30) NOT NULL DEFAULT '', CHANGE `reviewedDate` `reviewedDate` datetime NULL, CHANGE `assignedTo` `assignedTo` varchar(30) NOT NULL DEFAULT '', -CHANGE `reviewers` `reviewers` text NOT NULL DEFAULT '', -CHANGE `backReviewers` `backReviewers` text NOT NULL DEFAULT ''; +CHANGE `reviewers` `reviewers` text NULL, +CHANGE `backReviewers` `backReviewers` text NULL; ALTER TABLE `zt_lieu` CHANGE `reviewedBy` `reviewedBy` char(30) NOT NULL DEFAULT '', CHANGE `reviewedDate` `reviewedDate` datetime NULL, CHANGE `assignedTo` `assignedTo` varchar(30) NOT NULL DEFAULT '', -CHANGE `reviewers` `reviewers` text NOT NULL DEFAULT ''; +CHANGE `reviewers` `reviewers` text NULL; ALTER TABLE `zt_measqueue` CHANGE `updateDate` `updateDate` datetime NULL; @@ -255,7 +299,7 @@ CHANGE `canceledDate` `canceledDate` datetime NULL, CHANGE `cancelReason` `cancelReason` char(30) NOT NULL DEFAULT '', CHANGE `hangupedBy` `hangupedBy` varchar(30) NOT NULL DEFAULT '', CHANGE `hangupedDate` `hangupedDate` datetime NULL, -CHANGE `resolution` `resolution` mediumtext NOT NULL DEFAULT '', +CHANGE `resolution` `resolution` mediumtext NULL, CHANGE `resolvedBy` `resolvedBy` varchar(30) NOT NULL DEFAULT '', CHANGE `resolvedDate` `resolvedDate` datetime NULL, CHANGE `lastCheckedBy` `lastCheckedBy` varchar(30) NOT NULL DEFAULT '', @@ -266,7 +310,7 @@ CHANGE `rejectReason` `rejectReason` varchar(100) NOT NULL DEFAULT '', CHANGE `reviewedBy` `reviewedBy` char(30) NOT NULL DEFAULT '', CHANGE `reviewedDate` `reviewedDate` datetime NULL, CHANGE `assignedTo` `assignedTo` varchar(30) NOT NULL DEFAULT '', -CHANGE `reviewers` `reviewers` text NOT NULL DEFAULT ''; +CHANGE `reviewers` `reviewers` text NULL; ALTER TABLE `zt_pipeline` CHANGE `editedBy` `editedBy` varchar(30) NOT NULL DEFAULT '', @@ -282,7 +326,7 @@ ALTER TABLE `zt_product` CHANGE `code` `code` varchar(45) NOT NULL DEFAULT '', CHANGE `shadow` `shadow` tinyint unsigned NOT NULL DEFAULT '0', CHANGE `feedback` `feedback` varchar(30) NOT NULL DEFAULT '', -CHANGE `reviewer` `reviewer` text NOT NULL DEFAULT '', +CHANGE `reviewer` `reviewer` text NULL, CHANGE `order` `order` mediumint unsigned NOT NULL DEFAULT '0', CHANGE `ticket` `ticket` varchar(30) NOT NULL DEFAULT ''; @@ -291,7 +335,7 @@ CHANGE `closedReason` `closedReason` varchar(20) NOT NULL DEFAULT ''; ALTER TABLE `zt_project` CHANGE `model` `model` char(30) NOT NULL DEFAULT '', -CHANGE `output` `output` text NOT NULL DEFAULT '', +CHANGE `output` `output` text NULL, CHANGE `code` `code` varchar(45) NOT NULL DEFAULT '', CHANGE `auth` `auth` char(30) NOT NULL DEFAULT '', CHANGE `path` `path` varchar(255) NOT NULL DEFAULT '', @@ -299,7 +343,7 @@ CHANGE `grade` `grade` tinyint unsigned NOT NULL DEFAULT '0', CHANGE `realBegan` `realBegan` date NULL, CHANGE `realEnd` `realEnd` date NULL, CHANGE `days` `days` smallint unsigned NOT NULL DEFAULT '0', -CHANGE `desc` `desc` mediumtext NOT NULL DEFAULT '', +CHANGE `desc` `desc` mediumtext NULL, CHANGE `version` `version` smallint NOT NULL DEFAULT '0', CHANGE `parentVersion` `parentVersion` smallint NOT NULL DEFAULT '0', CHANGE `planDuration` `planDuration` int NOT NULL DEFAULT '0', @@ -310,7 +354,7 @@ CHANGE `closedDate` `closedDate` datetime NULL, CHANGE `canceledDate` `canceledDate` datetime NULL, CHANGE `suspendedDate` `suspendedDate` date NULL, CHANGE `team` `team` varchar(90) NOT NULL DEFAULT '', -CHANGE `whitelist` `whitelist` text NOT NULL DEFAULT '', +CHANGE `whitelist` `whitelist` text NULL, CHANGE `order` `order` mediumint unsigned NOT NULL DEFAULT '0'; ALTER TABLE `zt_researchplan` @@ -357,7 +401,7 @@ CHANGE `plannedClosedDate` `plannedClosedDate` date NULL, CHANGE `actualClosedDate` `actualClosedDate` date NULL, CHANGE `editedBy` `editedBy` varchar(30) NOT NULL DEFAULT '', CHANGE `editedDate` `editedDate` datetime NULL, -CHANGE `resolution` `resolution` mediumtext NOT NULL DEFAULT '', +CHANGE `resolution` `resolution` mediumtext NULL, CHANGE `resolvedBy` `resolvedBy` varchar(30) NOT NULL DEFAULT '', CHANGE `activateBy` `activateBy` varchar(30) NOT NULL DEFAULT '', CHANGE `activateDate` `activateDate` date NULL, @@ -423,7 +467,7 @@ CHANGE `estStarted` `estStarted` date NULL, CHANGE `realStarted` `realStarted` datetime NULL, CHANGE `finishedBy` `finishedBy` varchar(30) NOT NULL DEFAULT '', CHANGE `finishedDate` `finishedDate` datetime NULL, -CHANGE `finishedList` `finishedList` text NOT NULL DEFAULT '', +CHANGE `finishedList` `finishedList` text NULL, CHANGE `canceledBy` `canceledBy` varchar(30) NOT NULL DEFAULT '', CHANGE `canceledDate` `canceledDate` datetime NULL, CHANGE `closedBy` `closedBy` varchar(30) NOT NULL DEFAULT '', @@ -466,7 +510,7 @@ CHANGE `finishedBy` `finishedBy` varchar(30) NOT NULL DEFAULT '', CHANGE `finishedDate` `finishedDate` datetime NULL, CHANGE `resolvedBy` `resolvedBy` varchar(30) NOT NULL DEFAULT '', CHANGE `resolvedDate` `resolvedDate` datetime NULL, -CHANGE `resolution` `resolution` varchar(1000) NOT NULL DEFAULT '', +CHANGE `resolution` `resolution` text NULL, CHANGE `editedBy` `editedBy` varchar(30) NOT NULL DEFAULT '', CHANGE `editedDate` `editedDate` datetime NULL; @@ -493,10 +537,10 @@ CHANGE `editedDate` `editedDate` datetime NULL; ALTER TABLE `zt_user` CHANGE `company` `company` mediumint unsigned NOT NULL DEFAULT '0', CHANGE `commiter` `commiter` varchar(100) NOT NULL DEFAULT '', -CHANGE `avatar` `avatar` text NOT NULL DEFAULT '', -CHANGE `nature` `nature` text NOT NULL DEFAULT '', -CHANGE `analysis` `analysis` text NOT NULL DEFAULT '', -CHANGE `strategy` `strategy` text NOT NULL DEFAULT '', +CHANGE `avatar` `avatar` text NULL, +CHANGE `nature` `nature` text NULL, +CHANGE `analysis` `analysis` text NULL, +CHANGE `strategy` `strategy` text NULL, CHANGE `ldap` `ldap` char(30) NOT NULL DEFAULT '', CHANGE `resetToken` `resetToken` varchar(50) NOT NULL DEFAULT '', CHANGE `birthday` `birthday` date NULL, diff --git a/db/zentao.sql b/db/zentao.sql index 2a22372ce0..112372aef7 100755 --- a/db/zentao.sql +++ b/db/zentao.sql @@ -691,10 +691,10 @@ CREATE TABLE IF NOT EXISTS `zt_doclib` ( `baseUrl` varchar(255) NOT NULL DEFAULT '', `acl` varchar(10) NOT NULL DEFAULT 'open', `groups` varchar(255) NOT NULL DEFAULT '', - `users` text NOT NULL DEFAULT '', + `users` text NULL, `main` enum('0','1') NOT NULL DEFAULT '0', - `collector` text NOT NULL DEFAULT '', - `desc` mediumtext NOT NULL DEFAULT '', + `collector` text NULL, + `desc` mediumtext NULL, `order` tinyint(5) unsigned NOT NULL DEFAULT '0', `deleted` enum('0','1') NOT NULL DEFAULT '0', PRIMARY KEY (`id`), @@ -1188,7 +1188,7 @@ CREATE TABLE IF NOT EXISTS `zt_product` ( `ticket` varchar(30) NOT NULL DEFAULT '', `acl` enum('open','private','custom') NOT NULL DEFAULT 'open', `whitelist` text NOT NULL, - `reviewer` text NOT NULL DEFAULT '', + `reviewer` text NULL, `createdBy` varchar(30) NOT NULL, `createdDate` datetime NOT NULL, `createdVersion` varchar(20) NOT NULL, @@ -1231,7 +1231,7 @@ CREATE TABLE IF NOT EXISTS `zt_project` ( `attribute` varchar(30) NOT NULL DEFAULT '', `percent` float unsigned NOT NULL DEFAULT '0', `milestone` enum('0','1') NOT NULL DEFAULT '0', - `output` text NOT NULL DEFAULT '', + `output` text NULL, `auth` char(30) NOT NULL DEFAULT '', `parent` mediumint(8) unsigned NOT NULL DEFAULT '0', `path` varchar(255) NOT NULL DEFAULT '', @@ -1247,7 +1247,7 @@ CREATE TABLE IF NOT EXISTS `zt_project` ( `status` varchar(10) NOT NULL, `subStatus` varchar(30) NOT NULL DEFAULT '', `pri` enum('1','2','3','4') NOT NULL DEFAULT '1', - `desc` mediumtext NOT NULL DEFAULT '', + `desc` mediumtext NULL, `version` smallint(6) NOT NULL DEFAULT 0, `parentVersion` smallint(6) NOT NULL DEFAULT 0, `planDuration` int(11) NOT NULL DEFAULT 0, @@ -1268,7 +1268,7 @@ CREATE TABLE IF NOT EXISTS `zt_project` ( `RD` varchar(30) NOT NULL DEFAULT '', `team` varchar(90) NOT NULL DEFAULT '', `acl` char(30) NOT NULL DEFAULT 'open', - `whitelist` text NOT NULL DEFAULT '', + `whitelist` text NULL, `order` mediumint(8) unsigned NOT NULL DEFAULT '0', `vision` varchar(10) NOT NULL DEFAULT 'rnd', `division` enum('0','1') NOT NULL DEFAULT '1', @@ -1657,7 +1657,7 @@ CREATE TABLE IF NOT EXISTS `zt_task` ( `realStarted` datetime NULL, `finishedBy` varchar(30) NOT NULL DEFAULT '', `finishedDate` datetime NULL, - `finishedList` text NOT NULL DEFAULT '', + `finishedList` text NULL, `canceledBy` varchar(30) NOT NULL DEFAULT '', `canceledDate` datetime NULL, `closedBy` varchar(30) NOT NULL DEFAULT '', @@ -1889,7 +1889,7 @@ CREATE TABLE IF NOT EXISTS `zt_user` ( `pinyin` varchar(255) NOT NULL DEFAULT '', `nickname` char(60) NOT NULL DEFAULT '', `commiter` varchar(100) NOT NULL DEFAULT '', - `avatar` text NOT NULL DEFAULT '', + `avatar` text NULL, `birthday` date NULL, `gender` enum('f','m') NOT NULL DEFAULT 'f', `email` char(90) NOT NULL DEFAULT '', @@ -1903,9 +1903,9 @@ CREATE TABLE IF NOT EXISTS `zt_user` ( `whatsapp` varchar(90) NOT NULL DEFAULT '', `address` char(120) NOT NULL DEFAULT '', `zipcode` char(10) NOT NULL DEFAULT '', - `nature` text NOT NULL DEFAULT '', - `analysis` text NOT NULL DEFAULT '', - `strategy` text NOT NULL DEFAULT '', + `nature` text NULL, + `analysis` text NULL, + `strategy` text NULL, `join` date NULL, `visits` mediumint(8) unsigned NOT NULL DEFAULT '0', `visions` varchar(20) NOT NULL DEFAULT 'rnd,lite', @@ -6424,20 +6424,20 @@ CREATE TABLE IF NOT EXISTS `zt_im_chat` ( `subject` mediumint(8) unsigned NOT NULL DEFAULT 0, `public` enum('0', '1') NOT NULL DEFAULT '0', `createdBy` varchar(30) NOT NULL DEFAULT '', - `createdDate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `createdDate` datetime NOT NULL, `ownedBy` varchar(30) NOT NULL DEFAULT '', `editedBy` varchar(30) NOT NULL DEFAULT '', - `editedDate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', - `mergedDate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', - `lastActiveTime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `editedDate` datetime NULL, + `mergedDate` datetime NULL, + `lastActiveTime` datetime NULL, `lastMessage` int(11) unsigned NOT NULL DEFAULT 0, `lastMessageIndex` int(11) unsigned NOT NULL DEFAULT 0, - `dismissDate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', - `pinnedMessages` text NOT NULL DEFAULT '', + `dismissDate` datetime NULL, + `pinnedMessages` text NULL, `mergedChats` text NOT NULL, `adminInvite` enum('0','1') NOT NULL DEFAULT '0', - `avatar` text NOT NULL DEFAULT '', - `archiveDate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `avatar` text NULL, + `archiveDate` datetime NULL, PRIMARY KEY (`id`), KEY `gid` (`gid`), KEY `name` (`name`), @@ -6457,8 +6457,8 @@ CREATE TABLE IF NOT EXISTS `zt_im_chatuser` ( `hide` enum('0', '1') NOT NULL DEFAULT '0', `mute` enum('0', '1') NOT NULL DEFAULT '0', `freeze` enum('0', '1') NOT NULL DEFAULT '0', - `join` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', - `quit` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `join` datetime NULL, + `quit` datetime NULL, `category` varchar(40) NOT NULL DEFAULT '', `lastReadMessage` int(11) unsigned NOT NULL DEFAULT 0, `lastReadMessageIndex` int(11) unsigned NOT NULL DEFAULT 0, @@ -6493,12 +6493,12 @@ CREATE TABLE IF NOT EXISTS `zt_im_message` ( `gid` char(40) NOT NULL DEFAULT '', `cgid` char(40) NOT NULL DEFAULT '', `user` varchar(30) NOT NULL DEFAULT '', - `date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `date` datetime NULL, `index` int(11) unsigned NOT NULL DEFAULT 0, `type` enum('normal','broadcast','notify','bulletin','botcommand') NOT NULL DEFAULT 'normal', - `content` text NOT NULL DEFAULT '', + `content` text NULL, `contentType` enum('text', 'plain', 'emotion', 'image', 'file', 'object', 'code') NOT NULL DEFAULT 'text', - `data` text NOT NULL DEFAULT '', + `data` text NULL, `deleted` enum('0','1') NOT NULL DEFAULT '0', PRIMARY KEY (`id`), KEY `mgid` (`gid`), @@ -6513,12 +6513,12 @@ CREATE TABLE IF NOT EXISTS `zt_im_message_backup` ( `gid` char(40) NOT NULL DEFAULT '', `cgid` char(40) NOT NULL DEFAULT '', `user` varchar(30) NOT NULL DEFAULT '', - `date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `date` datetime NULL, `index` int(11) unsigned NOT NULL DEFAULT 0, `type` enum('normal', 'broadcast', 'notify') NOT NULL DEFAULT 'normal', - `content` text NOT NULL DEFAULT '', + `content` text NULL, `contentType` enum('text', 'plain', 'emotion', 'image', 'file', 'object', 'code') NOT NULL DEFAULT 'text', - `data` text NOT NULL DEFAULT '', + `data` text NULL, `deleted` enum('0','1') NOT NULL DEFAULT '0' ) ENGINE=InnoDB DEFAULT CHARSET=utf8; @@ -6528,8 +6528,8 @@ CREATE TABLE IF NOT EXISTS `zt_im_message_index` ( `tableName` char(64) NOT NULL, `start` int(11) unsigned NOT NULL, `end` int(11) unsigned NOT NULL, - `startDate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', - `endDate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `startDate` datetime NULL, + `endDate` datetime NULL, `chats` text NOT NULL, PRIMARY KEY (`id`), KEY `tableName` (`tableName`), @@ -6548,8 +6548,8 @@ CREATE TABLE IF NOT EXISTS `zt_im_chat_message_index` ( `end` int(11) unsigned NOT NULL, `startIndex` int(11) unsigned NOT NULL, `endIndex` int(11) unsigned NOT NULL, - `startDate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', - `endDate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `startDate` datetime NULL, + `endDate` datetime NULL, `count` mediumint(8) unsigned NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `chattable` (`gid`,`tableName`), @@ -6590,7 +6590,7 @@ CREATE TABLE IF NOT EXISTS `zt_im_conference` ( `participants` text NOT NULL, `invitee` text NOT NULL, `openedBy` mediumint(8) NOT NULL DEFAULT 0, - `openedDate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `openedDate` datetime NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; @@ -6599,9 +6599,9 @@ CREATE TABLE IF NOT EXISTS `zt_im_conferenceaction` ( `id` mediumint(8) unsigned NOT NULL auto_increment, `rid` char(40) NOT NULL DEFAULT '', `type` enum('create','invite','join','leave','close','publish') NOT NULL DEFAULT 'create', - `data` text NOT NULL DEFAULT '', + `data` text NULL, `user` mediumint(8) NOT NULL DEFAULT 0, - `date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `date` datetime NULL, `device` char(40) NOT NULL DEFAULT 'default', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; @@ -6613,9 +6613,9 @@ CREATE TABLE IF NOT EXISTS `zt_im_userdevice` ( `device` char(40) NOT NULL DEFAULT 'default', `deviceID` char(40) NOT NULL DEFAULT '', `token` char(64) NOT NULL DEFAULT '', - `validUntil` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', - `lastLogin` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', - `lastLogout` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `validUntil` datetime NULL, + `lastLogin` datetime NULL, + `lastLogout` datetime NULL, PRIMARY KEY (`id`), KEY `user` (`user`), KEY `lastLogin` (`lastLogin`), @@ -7232,7 +7232,7 @@ CREATE TABLE IF NOT EXISTS `zt_ticket` ( `finishedDate` datetime NULL, `resolvedBy` varchar(30) NOT NULL DEFAULT '', `resolvedDate` datetime NULL, - `resolution` text NOT NULL DEFAULT '', + `resolution` text NULL, `editedBy` varchar(30) NOT NULL DEFAULT '', `editedDate` datetime NULL, `keywords` varchar(255) NOT NULL, @@ -7499,7 +7499,7 @@ CREATE TABLE IF NOT EXISTS `zt_overtime` ( `reviewedDate` datetime NULL, `level` tinyint(3) NOT NULL, `assignedTo` varchar(30) NOT NULL DEFAULT '', - `reviewers` text NOT NULL DEFAULT '', + `reviewers` text NULL, PRIMARY KEY (`id`), KEY `year` (`year`), KEY `type` (`type`), @@ -7538,8 +7538,8 @@ CREATE TABLE IF NOT EXISTS `zt_leave` ( `reviewedDate` datetime NULL, `level` tinyint(3) NOT NULL, `assignedTo` varchar(30) NOT NULL DEFAULT '', - `reviewers` text NOT NULL DEFAULT '', - `backReviewers` text NOT NULL DEFAULT '', + `reviewers` text NULL, + `backReviewers` text NULL, PRIMARY KEY (`id`), KEY `year` (`year`), KEY `type` (`type`), @@ -7565,7 +7565,7 @@ CREATE TABLE IF NOT EXISTS `zt_lieu` ( `reviewedDate` datetime NULL, `level` tinyint(3) NOT NULL, `assignedTo` varchar(30) NOT NULL DEFAULT '', - `reviewers` text NOT NULL DEFAULT '', + `reviewers` text NULL, PRIMARY KEY (`id`), KEY `year` (`year`), KEY `status` (`status`), @@ -9017,7 +9017,7 @@ CREATE TABLE IF NOT EXISTS `zt_workflowreport` ( PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -REPLACE INTO `zt_workflowrule` VALUES +REPLACE INTO `zt_workflowrule`(`type`, `name`, `rule`, `createdBy`, `createdDate`) VALUES ('system','必填','notempty','admin','2020-10-14 14:06:14'), ('system','唯一','unique','admin','2020-10-14 14:06:14'), ('system','日期','date','admin','2020-10-14 14:06:14'), @@ -9102,75 +9102,75 @@ REPLACE INTO `zt_grouppriv` VALUES (1,'workflowrule','view'); INSERT INTO `zt_workflowdatasource` (`type`, `name`, `code`, `buildin`, `vision`, `createdBy`, `createdDate`, `datasource`, `view`, `keyField`, `valueField`) VALUES -('system', '产品', 'products', '1', 'lite', 'admin', '0000-00-00 00:00:00', '{\"app\":\"system\",\"module\":\"product\",\"method\":\"getPairs\",\"methodDesc\":\"Get product pairs.\",\"params\":[{\"name\":\"mode\",\"type\":\"string\",\"desc\":\"\",\"value\":\"all\"}]}', '', '', ''), -('system', '项目', 'projects', '1', 'lite', 'admin', '0000-00-00 00:00:00', '{\"app\":\"system\",\"module\":\"project\",\"method\":\"getPairsByModel\",\"methodDesc\":\"Get project pairs by model and project.\",\"params\":[{\"name\":\"model\",\"type\":\"string\",\"desc\":\"all|scrum|waterfall\",\"value\":\"all\"},{\"name\":\"programID\",\"type\":\"int\",\"desc\":\"\",\"value\":\"0\"},{\"name\":\"param\",\"type\":\"\",\"desc\":\"\",\"value\":\"\"}]}', '', '', ''), -('system', '产品线', 'productLines', '1', 'lite', 'admin', '0000-00-00 00:00:00', '{\"app\":\"system\",\"module\":\"product\",\"method\":\"getLinePairs\",\"methodDesc\":\"Get line pairs.\",\"params\":[{\"name\":\"useShort\",\"type\":\"bool\",\"desc\":\"\",\"value\":\"\"}]}', '', '', ''), -('sql', '需求', 'stories', '1', 'lite', 'admin', '0000-00-00 00:00:00', 'select id,title from zt_story where deleted=\"0\"', 'view_datasource_4', 'id', 'title'), -('sql', '任务', 'tasks', '1', 'lite', 'admin', '0000-00-00 00:00:00', 'select id,name from zt_task where deleted=\"0\" and vision=\"rnd\"', 'view_datasource_5', 'id', 'name'), -('sql', 'Bug', 'bugs', '1', 'lite', 'admin', '0000-00-00 00:00:00', 'select id,title from zt_bug where deleted=\"0\"', 'view_datasource_6', 'id', 'title'), -('system', '权限分组', 'groups', '1', 'lite', 'admin', '0000-00-00 00:00:00', '{\"app\":\"system\",\"module\":\"group\",\"method\":\"getPairs\",\"methodDesc\":\"\",\"params\":[]}', '', '', ''), -('system', '用户', 'users', '1', 'lite', 'admin', '0000-00-00 00:00:00', '{\"app\":\"system\",\"module\":\"user\",\"method\":\"getPairs\",\"methodDesc\":\"\",\"params\":[{\"name\":\"params\",\"type\":\"\",\"desc\":\"\",\"value\":\"noclosed|noletter\"},{\"name\":\"usersToAppended\",\"type\":\"\",\"desc\":\"\",\"value\":\"\"}]}', '', '', ''), -('system', '产品分支', 'branches', '1', 'lite', 'admin', '0000-00-00 00:00:00', '{\"app\":\"system\",\"module\":\"branch\",\"method\":\"getAllPairs\",\"methodDesc\":\"Get pairs.\",\"params\":[{\"name\":\"params\",\"type\":\"string\",\"desc\":\"\",\"value\":\"\"}]}', '', '', ''), -('sql', '版本', 'builds', '1', 'lite', 'admin', '0000-00-00 00:00:00', 'select id,name from zt_build where deleted=\"0\"', 'view_datasource_10', 'id', 'name'), -('sql', '模块', 'modules', '1', 'lite', 'admin', '0000-00-00 00:00:00', 'select id,name from zt_module where deleted=\"0\"', 'view_datasource_11', 'id', 'name'), -('sql', '计划', 'plans', '1', 'lite', 'admin', '0000-00-00 00:00:00', 'select id,title from zt_productplan where deleted=\"0\"', 'view_datasource_12', 'id', 'title'), -('lang', '产品类型', 'productType', '1', 'lite', 'admin', '0000-00-00 00:00:00', 'productType', '', '', ''), -('lang', '产品状态', 'productStatus', '1', 'lite', 'admin', '0000-00-00 00:00:00', 'productStatus', '', '', ''), -('lang', '产品访问控制', 'productAcl', '1', 'lite', 'admin', '0000-00-00 00:00:00', 'productAcl', '', '', ''), -('lang', '项目类型', 'projectType', '1', 'lite', 'admin', '0000-00-00 00:00:00', 'projectType', '', '', ''), -('lang', '项目状态', 'projectStatus', '1', 'lite', 'admin', '0000-00-00 00:00:00', 'projectStatus', '', '', ''), -('lang', '项目访问控制', 'projectAcl', '1', 'lite', 'admin', '0000-00-00 00:00:00', 'projectAcl', '', '', ''), -('lang', '发布状态', 'releaseStatus', '1', 'lite', 'admin', '0000-00-00 00:00:00', 'releaseStatus', '', '', ''), -('lang', '需求来源', 'storySource', '1', 'lite', 'admin', '0000-00-00 00:00:00', 'storySource', '', '', ''), -('lang', '需求优先级', 'storyPri', '1', 'lite', 'admin', '0000-00-00 00:00:00', 'storyPri', '', '', ''), -('lang', '需求状态', 'storyStatus', '1', 'lite', 'admin', '0000-00-00 00:00:00', 'storyStatus', '', '', ''), -('lang', '需求阶段', 'storyStage', '1', 'lite', 'admin', '0000-00-00 00:00:00', 'storyStage', '', '', ''), -('lang', 'Bug严重程度', 'bugSeverity', '1', 'lite', 'admin', '0000-00-00 00:00:00', 'bugSeverity', '', '', ''), -('lang', 'Bug优先级', 'bugPri', '1', 'lite', 'admin', '0000-00-00 00:00:00', 'bugPri', '', '', ''), -('lang', 'Bug类型', 'bugType', '1', 'lite', 'admin', '0000-00-00 00:00:00', 'bugType', '', '', ''), -('lang', 'Bug操作系统', 'bugOs', '1', 'lite', 'admin', '0000-00-00 00:00:00', 'bugOs', '', '', ''), -('lang', 'Bug浏览器', 'bugBrowser', '1', 'lite', 'admin', '0000-00-00 00:00:00', 'bugBrowser', '', '', ''), -('lang', 'Bug状态', 'bugStatus', '1', 'lite', 'admin', '0000-00-00 00:00:00', 'bugStatus', '', '', ''), -('lang', '任务类型', 'taskType', '1', 'lite', 'admin', '0000-00-00 00:00:00', 'taskType', '', '', ''), -('lang', '任务优先级', 'taskPri', '1', 'lite', 'admin', '0000-00-00 00:00:00', 'taskPri', '', '', ''), -('lang', '任务状态', 'taskStatus', '1', 'lite', 'admin', '0000-00-00 00:00:00', 'taskStatus', '', '', ''), -('lang', '测试用例优先级', 'testcasePri', '1', 'lite', 'admin', '0000-00-00 00:00:00', 'testcasePri', '', '', ''), -('lang', '测试用例类型', 'testcaseType', '1', 'lite', 'admin', '0000-00-00 00:00:00', 'testcaseType', '', '', ''), -('lang', '测试用例阶段', 'testcaseStage', '1', 'lite', 'admin', '0000-00-00 00:00:00', 'testcaseStage', '', '', ''), -('lang', '测试用例状态', 'testcaseStatus', '1', 'lite', 'admin', '0000-00-00 00:00:00', 'testcaseStatus', '', '', ''), -('lang', '测试单优先级', 'testtaskPri', '1', 'lite', 'admin', '0000-00-00 00:00:00', 'testtaskPri', '', '', ''), -('lang', '测试单状态', 'testtaskStatus', '1', 'lite', 'admin', '0000-00-00 00:00:00', 'testtaskStatus', '', '', ''), -('lang', '反馈状态', 'feedbackStatus', '1', 'lite', 'admin', '0000-00-00 00:00:00', 'feedbackStatus', '', '', ''), -('lang', 'Bug解决方案', 'bugResolution', '1', 'lite', 'admin', '0000-00-00 00:00:00', 'bugResolution', '', '', ''), -('sql', '用例', 'cases', '1', 'lite', 'admin', '0000-00-00 00:00:00', 'select id,title from zt_case where deleted=\"0\"', 'view_datasource_41', 'id', 'title'), -('system', '反馈分支', 'feedbackModules', '1', 'lite', 'admin', '0000-00-00 00:00:00', '{\"app\":\"system\",\"module\":\"tree\",\"method\":\"getOptionMenu\",\"methodDesc\":\"Create an option menu in html.\",\"params\":[{\"name\":\"rootID\",\"type\":\"int\",\"desc\":\"\",\"value\":\"0\"},{\"name\":\"type\",\"type\":\"string\",\"desc\":\"\",\"value\":\"feedback\"},{\"name\":\"startModule\",\"type\":\"int\",\"desc\":\"\",\"value\":\"0\"},{\"name\":\"branch\",\"type\":\"\",\"desc\":\"\",\"value\":\"0\"}]}', '', '', ''), -('lang', '需求类型', 'storyType', '1', 'lite', 'admin', '0000-00-00 00:00:00', 'storyType', '', '', ''), -('system', '执行', 'executions', '1', 'lite', 'admin', '0000-00-00 00:00:00', '{\"app\":\"system\",\"module\":\"execution\",\"method\":\"getPairs\",\"methodDesc\":\"Get execution pairs.\",\"params\":[{\"name\":\"projectID\",\"type\":\"int\",\"desc\":\"\",\"value\":\"0\"},{\"name\":\"type\",\"type\":\"string\",\"desc\":\"all|sprint|stage|kanban\",\"value\":\"all\"},{\"name\":\"mode\",\"type\":\"string\",\"desc\":\"all|noclosed|stagefilter or empty\",\"value\":\"\"}]}', '', '', ''), -('lang', '项目模型', 'projectModel', '1', 'lite', 'admin', '0000-00-00 00:00:00', 'projectModel', '', '', ''), -('lang', '反馈类型', 'feedbackType', '1', 'lite', 'admin', '0000-00-00 00:00:00', 'feedbackType', '', '', ''), -('lang', '反馈处理方案', 'feedbackSolution', '1', 'lite', 'admin', '0000-00-00 00:00:00', 'feedbackSolution', '', '', ''), -('lang', '反馈关闭原因', 'feedbackclosedReason', '1', 'lite', 'admin', '0000-00-00 00:00:00', 'feedbackclosedReason', '', '', ''), -('lang', '任务关闭原因', 'taskReason', '1', 'lite', 'admin', '0000-00-00 00:00:00', 'taskReason', '', '', ''), -('lang', '套件权限', 'testsuiteAuth', '1', 'lite', 'admin', '0000-00-00 00:00:00', 'testsuiteAuth', '', '', ''), -('system', '项目集', 'programs', '1', 'lite', 'admin', '0000-00-00 00:00:00', '{\"app\":\"system\",\"module\":\"program\",\"method\":\"getPairs\",\"methodDesc\":\"Get program pairs.\",\"params\":[{\"name\":\"isQueryAll\",\"type\":\"bool\",\"desc\":\"\",\"value\":\"\"},{\"name\":\"orderBy\",\"type\":\"string\",\"desc\":\"\",\"value\":\"id_desc\"}]}', '', '', ''), -('lang', '需求关闭原因', 'storyClosedReason', '1', 'lite', 'admin', '0000-00-00 00:00:00', 'storyClosedReason', '', '', ''), -('system', '项目', 'liteprojects', '1', 'lite', 'admin', '0000-00-00 00:00:00', '{\"app\":\"system\",\"module\":\"project\",\"method\":\"getPairsByModel\",\"methodDesc\":\"Get project pairs by model and project.\",\"params\":[{\"name\":\"model\",\"type\":\"string\",\"desc\":\"all|scrum|waterfall\",\"value\":\"all\"},{\"name\":\"programID\",\"type\":\"int\",\"desc\":\"\",\"value\":\"0\"},{\"name\":\"param\",\"type\":\"\",\"desc\":\"\",\"value\":\"\"}]}', '', '', ''), -('sql', '任务', 'litetasks', '1', 'lite', 'admin', '0000-00-00 00:00:00', 'select id,name from zt_task where deleted=\"0\" and vision=\"lite\"', 'view_datasource_54', 'id', 'name'), -('system', '权限分组', 'litegroups', '1', 'lite', 'admin', '0000-00-00 00:00:00', '{\"app\":\"system\",\"module\":\"group\",\"method\":\"getPairs\",\"methodDesc\":\"\",\"params\":[]}', '', '', ''), -('system', '用户', 'liteusers', '1', 'lite', 'admin', '0000-00-00 00:00:00', '{\"app\":\"system\",\"module\":\"user\",\"method\":\"getPairs\",\"methodDesc\":\"\",\"params\":[{\"name\":\"params\",\"type\":\"\",\"desc\":\"\",\"value\":\"noclosed|noletter\"},{\"name\":\"usersToAppended\",\"type\":\"\",\"desc\":\"\",\"value\":\"\"}]}', '', '', ''), -('sql', '模块', 'litemodules', '1', 'lite', 'admin', '0000-00-00 00:00:00', 'select id,name from zt_module where deleted=\"0\"', 'view_datasource_11', 'id', 'name'), -('lang', '项目类型', 'liteprojectType', '1', 'lite', 'admin', '0000-00-00 00:00:00', 'projectType', '', '', ''), -('lang', '项目状态', 'liteprojectStatus', '1', 'lite', 'admin', '0000-00-00 00:00:00', 'projectStatus', '', '', ''), -('lang', '项目访问控制', 'liteprojectAcl', '1', 'lite', 'admin', '0000-00-00 00:00:00', 'projectAcl', '', '', ''), -('lang', '任务类型', 'litetaskType', '1', 'lite', 'admin', '0000-00-00 00:00:00', 'taskType', '', '', ''), -('lang', '任务优先级', 'litetaskPri', '1', 'lite', 'admin', '0000-00-00 00:00:00', 'taskPri', '', '', ''), -('lang', '任务状态', 'litetaskStatus', '1', 'lite', 'admin', '0000-00-00 00:00:00', 'taskStatus', '', '', ''), -('lang', '反馈状态', 'litefeedbackStatus', '1', 'lite', 'admin', '0000-00-00 00:00:00', 'feedbackStatus', '', '', ''), -('system', '反馈分支', 'litefeedbackModules', '1', 'lite', 'admin', '0000-00-00 00:00:00', '{\"app\":\"system\",\"module\":\"tree\",\"method\":\"getOptionMenu\",\"methodDesc\":\"Create an option menu in html.\",\"params\":[{\"name\":\"rootID\",\"type\":\"int\",\"desc\":\"\",\"value\":\"0\"},{\"name\":\"type\",\"type\":\"string\",\"desc\":\"\",\"value\":\"feedback\"},{\"name\":\"startModule\",\"type\":\"int\",\"desc\":\"\",\"value\":\"0\"},{\"name\":\"branch\",\"type\":\"\",\"desc\":\"\",\"value\":\"0\"}]}', '', '', ''), -('lang', '反馈类型', 'litefeedbackType', '1', 'lite', 'admin', '0000-00-00 00:00:00', 'feedbackType', '', '', ''), -('lang', '反馈处理方案', 'litefeedbackSolution', '1', 'lite', 'admin', '0000-00-00 00:00:00', 'feedbackSolution', '', '', ''), -('lang', '反馈关闭原因', 'litefeedbackclosedReason', '1', 'lite', 'admin', '0000-00-00 00:00:00', 'feedbackclosedReason', '', '', ''), -('lang', '任务关闭原因', 'litetaskReason', '1', 'lite', 'admin', '0000-00-00 00:00:00', 'taskReason', '', '', ''); +('system', '产品', 'products', '1', 'lite', 'admin', '1970-01-01 00:00:01', '{\"app\":\"system\",\"module\":\"product\",\"method\":\"getPairs\",\"methodDesc\":\"Get product pairs.\",\"params\":[{\"name\":\"mode\",\"type\":\"string\",\"desc\":\"\",\"value\":\"all\"}]}', '', '', ''), +('system', '项目', 'projects', '1', 'lite', 'admin', '1970-01-01 00:00:01', '{\"app\":\"system\",\"module\":\"project\",\"method\":\"getPairsByModel\",\"methodDesc\":\"Get project pairs by model and project.\",\"params\":[{\"name\":\"model\",\"type\":\"string\",\"desc\":\"all|scrum|waterfall\",\"value\":\"all\"},{\"name\":\"programID\",\"type\":\"int\",\"desc\":\"\",\"value\":\"0\"},{\"name\":\"param\",\"type\":\"\",\"desc\":\"\",\"value\":\"\"}]}', '', '', ''), +('system', '产品线', 'productLines', '1', 'lite', 'admin', '1970-01-01 00:00:01', '{\"app\":\"system\",\"module\":\"product\",\"method\":\"getLinePairs\",\"methodDesc\":\"Get line pairs.\",\"params\":[{\"name\":\"useShort\",\"type\":\"bool\",\"desc\":\"\",\"value\":\"\"}]}', '', '', ''), +('sql', '需求', 'stories', '1', 'lite', 'admin', '1970-01-01 00:00:01', 'select id,title from zt_story where deleted=\"0\"', 'view_datasource_4', 'id', 'title'), +('sql', '任务', 'tasks', '1', 'lite', 'admin', '1970-01-01 00:00:01', 'select id,name from zt_task where deleted=\"0\" and vision=\"rnd\"', 'view_datasource_5', 'id', 'name'), +('sql', 'Bug', 'bugs', '1', 'lite', 'admin', '1970-01-01 00:00:01', 'select id,title from zt_bug where deleted=\"0\"', 'view_datasource_6', 'id', 'title'), +('system', '权限分组', 'groups', '1', 'lite', 'admin', '1970-01-01 00:00:01', '{\"app\":\"system\",\"module\":\"group\",\"method\":\"getPairs\",\"methodDesc\":\"\",\"params\":[]}', '', '', ''), +('system', '用户', 'users', '1', 'lite', 'admin', '1970-01-01 00:00:01', '{\"app\":\"system\",\"module\":\"user\",\"method\":\"getPairs\",\"methodDesc\":\"\",\"params\":[{\"name\":\"params\",\"type\":\"\",\"desc\":\"\",\"value\":\"noclosed|noletter\"},{\"name\":\"usersToAppended\",\"type\":\"\",\"desc\":\"\",\"value\":\"\"}]}', '', '', ''), +('system', '产品分支', 'branches', '1', 'lite', 'admin', '1970-01-01 00:00:01', '{\"app\":\"system\",\"module\":\"branch\",\"method\":\"getAllPairs\",\"methodDesc\":\"Get pairs.\",\"params\":[{\"name\":\"params\",\"type\":\"string\",\"desc\":\"\",\"value\":\"\"}]}', '', '', ''), +('sql', '版本', 'builds', '1', 'lite', 'admin', '1970-01-01 00:00:01', 'select id,name from zt_build where deleted=\"0\"', 'view_datasource_10', 'id', 'name'), +('sql', '模块', 'modules', '1', 'lite', 'admin', '1970-01-01 00:00:01', 'select id,name from zt_module where deleted=\"0\"', 'view_datasource_11', 'id', 'name'), +('sql', '计划', 'plans', '1', 'lite', 'admin', '1970-01-01 00:00:01', 'select id,title from zt_productplan where deleted=\"0\"', 'view_datasource_12', 'id', 'title'), +('lang', '产品类型', 'productType', '1', 'lite', 'admin', '1970-01-01 00:00:01', 'productType', '', '', ''), +('lang', '产品状态', 'productStatus', '1', 'lite', 'admin', '1970-01-01 00:00:01', 'productStatus', '', '', ''), +('lang', '产品访问控制', 'productAcl', '1', 'lite', 'admin', '1970-01-01 00:00:01', 'productAcl', '', '', ''), +('lang', '项目类型', 'projectType', '1', 'lite', 'admin', '1970-01-01 00:00:01', 'projectType', '', '', ''), +('lang', '项目状态', 'projectStatus', '1', 'lite', 'admin', '1970-01-01 00:00:01', 'projectStatus', '', '', ''), +('lang', '项目访问控制', 'projectAcl', '1', 'lite', 'admin', '1970-01-01 00:00:01', 'projectAcl', '', '', ''), +('lang', '发布状态', 'releaseStatus', '1', 'lite', 'admin', '1970-01-01 00:00:01', 'releaseStatus', '', '', ''), +('lang', '需求来源', 'storySource', '1', 'lite', 'admin', '1970-01-01 00:00:01', 'storySource', '', '', ''), +('lang', '需求优先级', 'storyPri', '1', 'lite', 'admin', '1970-01-01 00:00:01', 'storyPri', '', '', ''), +('lang', '需求状态', 'storyStatus', '1', 'lite', 'admin', '1970-01-01 00:00:01', 'storyStatus', '', '', ''), +('lang', '需求阶段', 'storyStage', '1', 'lite', 'admin', '1970-01-01 00:00:01', 'storyStage', '', '', ''), +('lang', 'Bug严重程度', 'bugSeverity', '1', 'lite', 'admin', '1970-01-01 00:00:01', 'bugSeverity', '', '', ''), +('lang', 'Bug优先级', 'bugPri', '1', 'lite', 'admin', '1970-01-01 00:00:01', 'bugPri', '', '', ''), +('lang', 'Bug类型', 'bugType', '1', 'lite', 'admin', '1970-01-01 00:00:01', 'bugType', '', '', ''), +('lang', 'Bug操作系统', 'bugOs', '1', 'lite', 'admin', '1970-01-01 00:00:01', 'bugOs', '', '', ''), +('lang', 'Bug浏览器', 'bugBrowser', '1', 'lite', 'admin', '1970-01-01 00:00:01', 'bugBrowser', '', '', ''), +('lang', 'Bug状态', 'bugStatus', '1', 'lite', 'admin', '1970-01-01 00:00:01', 'bugStatus', '', '', ''), +('lang', '任务类型', 'taskType', '1', 'lite', 'admin', '1970-01-01 00:00:01', 'taskType', '', '', ''), +('lang', '任务优先级', 'taskPri', '1', 'lite', 'admin', '1970-01-01 00:00:01', 'taskPri', '', '', ''), +('lang', '任务状态', 'taskStatus', '1', 'lite', 'admin', '1970-01-01 00:00:01', 'taskStatus', '', '', ''), +('lang', '测试用例优先级', 'testcasePri', '1', 'lite', 'admin', '1970-01-01 00:00:01', 'testcasePri', '', '', ''), +('lang', '测试用例类型', 'testcaseType', '1', 'lite', 'admin', '1970-01-01 00:00:01', 'testcaseType', '', '', ''), +('lang', '测试用例阶段', 'testcaseStage', '1', 'lite', 'admin', '1970-01-01 00:00:01', 'testcaseStage', '', '', ''), +('lang', '测试用例状态', 'testcaseStatus', '1', 'lite', 'admin', '1970-01-01 00:00:01', 'testcaseStatus', '', '', ''), +('lang', '测试单优先级', 'testtaskPri', '1', 'lite', 'admin', '1970-01-01 00:00:01', 'testtaskPri', '', '', ''), +('lang', '测试单状态', 'testtaskStatus', '1', 'lite', 'admin', '1970-01-01 00:00:01', 'testtaskStatus', '', '', ''), +('lang', '反馈状态', 'feedbackStatus', '1', 'lite', 'admin', '1970-01-01 00:00:01', 'feedbackStatus', '', '', ''), +('lang', 'Bug解决方案', 'bugResolution', '1', 'lite', 'admin', '1970-01-01 00:00:01', 'bugResolution', '', '', ''), +('sql', '用例', 'cases', '1', 'lite', 'admin', '1970-01-01 00:00:01', 'select id,title from zt_case where deleted=\"0\"', 'view_datasource_41', 'id', 'title'), +('system', '反馈分支', 'feedbackModules', '1', 'lite', 'admin', '1970-01-01 00:00:01', '{\"app\":\"system\",\"module\":\"tree\",\"method\":\"getOptionMenu\",\"methodDesc\":\"Create an option menu in html.\",\"params\":[{\"name\":\"rootID\",\"type\":\"int\",\"desc\":\"\",\"value\":\"0\"},{\"name\":\"type\",\"type\":\"string\",\"desc\":\"\",\"value\":\"feedback\"},{\"name\":\"startModule\",\"type\":\"int\",\"desc\":\"\",\"value\":\"0\"},{\"name\":\"branch\",\"type\":\"\",\"desc\":\"\",\"value\":\"0\"}]}', '', '', ''), +('lang', '需求类型', 'storyType', '1', 'lite', 'admin', '1970-01-01 00:00:01', 'storyType', '', '', ''), +('system', '执行', 'executions', '1', 'lite', 'admin', '1970-01-01 00:00:01', '{\"app\":\"system\",\"module\":\"execution\",\"method\":\"getPairs\",\"methodDesc\":\"Get execution pairs.\",\"params\":[{\"name\":\"projectID\",\"type\":\"int\",\"desc\":\"\",\"value\":\"0\"},{\"name\":\"type\",\"type\":\"string\",\"desc\":\"all|sprint|stage|kanban\",\"value\":\"all\"},{\"name\":\"mode\",\"type\":\"string\",\"desc\":\"all|noclosed|stagefilter or empty\",\"value\":\"\"}]}', '', '', ''), +('lang', '项目模型', 'projectModel', '1', 'lite', 'admin', '1970-01-01 00:00:01', 'projectModel', '', '', ''), +('lang', '反馈类型', 'feedbackType', '1', 'lite', 'admin', '1970-01-01 00:00:01', 'feedbackType', '', '', ''), +('lang', '反馈处理方案', 'feedbackSolution', '1', 'lite', 'admin', '1970-01-01 00:00:01', 'feedbackSolution', '', '', ''), +('lang', '反馈关闭原因', 'feedbackclosedReason', '1', 'lite', 'admin', '1970-01-01 00:00:01', 'feedbackclosedReason', '', '', ''), +('lang', '任务关闭原因', 'taskReason', '1', 'lite', 'admin', '1970-01-01 00:00:01', 'taskReason', '', '', ''), +('lang', '套件权限', 'testsuiteAuth', '1', 'lite', 'admin', '1970-01-01 00:00:01', 'testsuiteAuth', '', '', ''), +('system', '项目集', 'programs', '1', 'lite', 'admin', '1970-01-01 00:00:01', '{\"app\":\"system\",\"module\":\"program\",\"method\":\"getPairs\",\"methodDesc\":\"Get program pairs.\",\"params\":[{\"name\":\"isQueryAll\",\"type\":\"bool\",\"desc\":\"\",\"value\":\"\"},{\"name\":\"orderBy\",\"type\":\"string\",\"desc\":\"\",\"value\":\"id_desc\"}]}', '', '', ''), +('lang', '需求关闭原因', 'storyClosedReason', '1', 'lite', 'admin', '1970-01-01 00:00:01', 'storyClosedReason', '', '', ''), +('system', '项目', 'liteprojects', '1', 'lite', 'admin', '1970-01-01 00:00:01', '{\"app\":\"system\",\"module\":\"project\",\"method\":\"getPairsByModel\",\"methodDesc\":\"Get project pairs by model and project.\",\"params\":[{\"name\":\"model\",\"type\":\"string\",\"desc\":\"all|scrum|waterfall\",\"value\":\"all\"},{\"name\":\"programID\",\"type\":\"int\",\"desc\":\"\",\"value\":\"0\"},{\"name\":\"param\",\"type\":\"\",\"desc\":\"\",\"value\":\"\"}]}', '', '', ''), +('sql', '任务', 'litetasks', '1', 'lite', 'admin', '1970-01-01 00:00:01', 'select id,name from zt_task where deleted=\"0\" and vision=\"lite\"', 'view_datasource_54', 'id', 'name'), +('system', '权限分组', 'litegroups', '1', 'lite', 'admin', '1970-01-01 00:00:01', '{\"app\":\"system\",\"module\":\"group\",\"method\":\"getPairs\",\"methodDesc\":\"\",\"params\":[]}', '', '', ''), +('system', '用户', 'liteusers', '1', 'lite', 'admin', '1970-01-01 00:00:01', '{\"app\":\"system\",\"module\":\"user\",\"method\":\"getPairs\",\"methodDesc\":\"\",\"params\":[{\"name\":\"params\",\"type\":\"\",\"desc\":\"\",\"value\":\"noclosed|noletter\"},{\"name\":\"usersToAppended\",\"type\":\"\",\"desc\":\"\",\"value\":\"\"}]}', '', '', ''), +('sql', '模块', 'litemodules', '1', 'lite', 'admin', '1970-01-01 00:00:01', 'select id,name from zt_module where deleted=\"0\"', 'view_datasource_11', 'id', 'name'), +('lang', '项目类型', 'liteprojectType', '1', 'lite', 'admin', '1970-01-01 00:00:01', 'projectType', '', '', ''), +('lang', '项目状态', 'liteprojectStatus', '1', 'lite', 'admin', '1970-01-01 00:00:01', 'projectStatus', '', '', ''), +('lang', '项目访问控制', 'liteprojectAcl', '1', 'lite', 'admin', '1970-01-01 00:00:01', 'projectAcl', '', '', ''), +('lang', '任务类型', 'litetaskType', '1', 'lite', 'admin', '1970-01-01 00:00:01', 'taskType', '', '', ''), +('lang', '任务优先级', 'litetaskPri', '1', 'lite', 'admin', '1970-01-01 00:00:01', 'taskPri', '', '', ''), +('lang', '任务状态', 'litetaskStatus', '1', 'lite', 'admin', '1970-01-01 00:00:01', 'taskStatus', '', '', ''), +('lang', '反馈状态', 'litefeedbackStatus', '1', 'lite', 'admin', '1970-01-01 00:00:01', 'feedbackStatus', '', '', ''), +('system', '反馈分支', 'litefeedbackModules', '1', 'lite', 'admin', '1970-01-01 00:00:01', '{\"app\":\"system\",\"module\":\"tree\",\"method\":\"getOptionMenu\",\"methodDesc\":\"Create an option menu in html.\",\"params\":[{\"name\":\"rootID\",\"type\":\"int\",\"desc\":\"\",\"value\":\"0\"},{\"name\":\"type\",\"type\":\"string\",\"desc\":\"\",\"value\":\"feedback\"},{\"name\":\"startModule\",\"type\":\"int\",\"desc\":\"\",\"value\":\"0\"},{\"name\":\"branch\",\"type\":\"\",\"desc\":\"\",\"value\":\"0\"}]}', '', '', ''), +('lang', '反馈类型', 'litefeedbackType', '1', 'lite', 'admin', '1970-01-01 00:00:01', 'feedbackType', '', '', ''), +('lang', '反馈处理方案', 'litefeedbackSolution', '1', 'lite', 'admin', '1970-01-01 00:00:01', 'feedbackSolution', '', '', ''), +('lang', '反馈关闭原因', 'litefeedbackclosedReason', '1', 'lite', 'admin', '1970-01-01 00:00:01', 'feedbackclosedReason', '', '', ''), +('lang', '任务关闭原因', 'litetaskReason', '1', 'lite', 'admin', '1970-01-01 00:00:01', 'taskReason', '', '', ''); DROP VIEW IF EXISTS `view_datasource_4`; DROP VIEW IF EXISTS `view_datasource_5`; @@ -9897,7 +9897,7 @@ CREATE TABLE IF NOT EXISTS `zt_risk` ( `createdDate` datetime NOT NULL, `editedBy` varchar(30) NOT NULL DEFAULT '', `editedDate` datetime NULL, - `resolution` mediumtext NOT NULL DEFAULT '', + `resolution` mediumtext NULL, `resolvedBy` varchar(30) NOT NULL DEFAULT '', `activateBy` varchar(30) NOT NULL DEFAULT '', `activateDate` date NULL, @@ -9961,7 +9961,7 @@ CREATE TABLE IF NOT EXISTS `zt_opportunity` ( `cancelReason` char(30) NOT NULL DEFAULT '', `hangupedBy` varchar(30) NOT NULL DEFAULT '', `hangupedDate` datetime NULL, - `resolution` mediumtext NOT NULL DEFAULT '', + `resolution` mediumtext NULL, `resolvedBy` varchar(30) NOT NULL DEFAULT '', `resolvedDate` datetime NULL, `lastCheckedBy` varchar(30) NOT NULL DEFAULT '', @@ -13280,523 +13280,523 @@ REPLACE INTO `zt_lang` (`lang`, `module`, `section`, `key`, `value`, `system`) V ('all', 'process', 'classify', 'project', '项目管理', '1'); REPLACE INTO `zt_process` (`id`, `model`, `name`, `type`, `abbr`, `desc`, `assignedTo`, `status`, `order`, `createdBy`, `createdDate`, `editedBy`, `editedDate`, `assignedBy`, `assignedDate`, `deleted`) VALUES -(11, 'waterfall', '立项管理', 'project', 'PIM', '', '', '', 55, 'admin', '2020-01-09 10:29:55', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), -(12, 'waterfall', '项目规划', 'project', 'PP', '', '', '', 60, 'admin', '2020-01-09 10:31:16', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), -(13, 'waterfall', '项目监控', 'project', 'PMC', '', '', '', 65, 'admin', '2020-01-09 10:31:16', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), -(14, 'waterfall', '风险管理', 'project', 'RSKM', '', '', '', 70, 'admin', '2020-01-09 10:31:16', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), -(15, 'waterfall', '结项管理', 'project', 'PCM', '', '', '', 75, 'admin', '2020-01-09 10:31:16', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), -(16, 'waterfall', '量化项目管理', 'project', 'QPM', '', '', '', 80, 'admin', '2020-01-09 10:31:16', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), -(17, 'waterfall', '需求开发', 'engineering', 'RDM', '', '', '', 85, 'admin', '2020-01-09 13:14:55', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), -(18, 'waterfall', '设计开发', 'engineering', '', '', '', '', 90, 'admin', '2020-01-09 13:14:55', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), -(19, 'waterfall', '实现与测试', 'engineering', 'EMBEDDED', '', '', '', 95, 'admin', '2020-01-09 13:14:55', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), -(20, 'waterfall', '系统测试', 'engineering', 'ST', '', '', '', 100, 'admin', '2020-01-09 13:14:55', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), -(21, 'waterfall', '客户验收', 'engineering', 'CA', '', '', '', 105, 'admin', '2020-01-09 13:14:55', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), -(22, 'waterfall', '质量保证', 'support', 'QA', '', '', '', 110, 'admin', '2020-01-09 13:14:55', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), -(23, 'waterfall', '配置管理', 'support', 'CM', '', '', '', 115, 'admin', '2020-01-09 13:14:55', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), -(24, 'waterfall', '度量分析', 'support', 'MA', '', '', '', 120, 'admin', '2020-01-09 13:14:55', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), -(25, 'waterfall', '原因分析与解决', 'support', 'CAR', '', '', '', 125, 'admin', '2020-01-09 13:14:55', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), -(26, 'waterfall', '决策分析', 'support', 'DAR', '', '', '', 130, 'admin', '2020-01-09 13:14:55', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), -(41, 'scrum', '原因分析与解决', 'support', 'CAR', '', '', '', 125, 'admin', '2020-01-09 13:14:55', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), -(40, 'scrum', '度量分析', 'support', 'MA', '', '', '', 120, 'admin', '2020-01-09 13:14:55', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), -(39, 'scrum', '配置管理', 'support', 'CM', '', '', '', 115, 'admin', '2020-01-09 13:14:55', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), -(38, 'scrum', '质量保证', 'support', 'QA', '', '', '', 110, 'admin', '2020-01-09 13:14:55', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), -(37, 'scrum', '客户验收', 'engineering', 'CA', '', '', '', 105, 'admin', '2020-01-09 13:14:55', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), -(36, 'scrum', '系统测试', 'engineering', 'ST', '', '', '', 100, 'admin', '2020-01-09 13:14:55', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), -(35, 'scrum', '实现与测试', 'engineering', 'EMBEDDED', '', '', '', 95, 'admin', '2020-01-09 13:14:55', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), -(34, 'scrum', '设计开发', 'engineering', '', '', '', '', 90, 'admin', '2020-01-09 13:14:55', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), -(33, 'scrum', '需求开发', 'engineering', 'RDM', '', '', '', 85, 'admin', '2020-01-09 13:14:55', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), -(32, 'scrum', '量化项目管理', 'project', 'QPM', '', '', '', 80, 'admin', '2020-01-09 10:31:16', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), -(31, 'scrum', '结项管理', 'project', 'PCM', '', '', '', 75, 'admin', '2020-01-09 10:31:16', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), -(30, 'scrum', '风险管理', 'project', 'RSKM', '', '', '', 70, 'admin', '2020-01-09 10:31:16', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), -(29, 'scrum', '项目监控', 'project', 'PMC', '', '', '', 65, 'admin', '2020-01-09 10:31:16', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), -(28, 'scrum', '项目规划', 'project', 'PP', '', '', '', 60, 'admin', '2020-01-09 10:31:16', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), -(27, 'scrum', '立项管理', 'project', 'PIM', '', '', '', 55, 'admin', '2020-01-09 10:29:55', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), -(42, 'scrum', '决策分析', 'support', 'DAR', '', '', '', 130, 'admin', '2020-01-09 13:14:55', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), -(43, 'waterfallplus', '立项管理', 'project', 'PIM', '', '', '', 55, 'admin', '2020-01-09 10:29:55', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), -(44, 'waterfallplus', '项目规划', 'project', 'PP', '', '', '', 60, 'admin', '2020-01-09 10:31:16', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), -(45, 'waterfallplus', '项目监控', 'project', 'PMC', '', '', '', 65, 'admin', '2020-01-09 10:31:16', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), -(46, 'waterfallplus', '风险管理', 'project', 'RSKM', '', '', '', 70, 'admin', '2020-01-09 10:31:16', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), -(47, 'waterfallplus', '结项管理', 'project', 'PCM', '', '', '', 75, 'admin', '2020-01-09 10:31:16', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), -(48, 'waterfallplus', '量化项目管理', 'project', 'QPM', '', '', '', 80, 'admin', '2020-01-09 10:31:16', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), -(49, 'waterfallplus', '需求开发', 'engineering', 'RDM', '', '', '', 85, 'admin', '2020-01-09 13:14:55', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), -(50, 'waterfallplus', '设计开发', 'engineering', '', '', '', '', 90, 'admin', '2020-01-09 13:14:55', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), -(51, 'waterfallplus', '实现与测试', 'engineering', 'EMBEDDED', '', '', '', 95, 'admin', '2020-01-09 13:14:55', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), -(52, 'waterfallplus', '系统测试', 'engineering', 'ST', '', '', '', 100, 'admin', '2020-01-09 13:14:55', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), -(53, 'waterfallplus', '客户验收', 'engineering', 'CA', '', '', '', 105, 'admin', '2020-01-09 13:14:55', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), -(54, 'waterfallplus', '质量保证', 'support', 'QA', '', '', '', 110, 'admin', '2020-01-09 13:14:55', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), -(55, 'waterfallplus', '配置管理', 'support', 'CM', '', '', '', 115, 'admin', '2020-01-09 13:14:55', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), -(56, 'waterfallplus', '度量分析', 'support', 'MA', '', '', '', 120, 'admin', '2020-01-09 13:14:55', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), -(57, 'waterfallplus', '原因分析与解决', 'support', 'CAR', '', '', '', 125, 'admin', '2020-01-09 13:14:55', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), -(58, 'waterfallplus', '决策分析', 'support', 'DAR', '', '', '', 130, 'admin', '2020-01-09 13:14:55', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), -(59, 'agileplus', '立项管理', 'project', 'PIM', '', '', '', 55, 'admin', '2020-01-09 10:29:55', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), -(60, 'agileplus', '项目规划', 'project', 'PP', '', '', '', 60, 'admin', '2020-01-09 10:31:16', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), -(61, 'agileplus', '项目监控', 'project', 'PMC', '', '', '', 65, 'admin', '2020-01-09 10:31:16', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), -(62, 'agileplus', '风险管理', 'project', 'RSKM', '', '', '', 70, 'admin', '2020-01-09 10:31:16', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), -(63, 'agileplus', '结项管理', 'project', 'PCM', '', '', '', 75, 'admin', '2020-01-09 10:31:16', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), -(64, 'agileplus', '量化项目管理', 'project', 'QPM', '', '', '', 80, 'admin', '2020-01-09 10:31:16', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), -(65, 'agileplus', '需求开发', 'engineering', 'RDM', '', '', '', 85, 'admin', '2020-01-09 13:14:55', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), -(66, 'agileplus', '设计开发', 'engineering', '', '', '', '', 90, 'admin', '2020-01-09 13:14:55', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), -(67, 'agileplus', '实现与测试', 'engineering', 'EMBEDDED', '', '', '', 95, 'admin', '2020-01-09 13:14:55', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), -(68, 'agileplus', '系统测试', 'engineering', 'ST', '', '', '', 100, 'admin', '2020-01-09 13:14:55', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), -(69, 'agileplus', '客户验收', 'engineering', 'CA', '', '', '', 105, 'admin', '2020-01-09 13:14:55', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), -(70, 'agileplus', '质量保证', 'support', 'QA', '', '', '', 110, 'admin', '2020-01-09 13:14:55', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), -(71, 'agileplus', '配置管理', 'support', 'CM', '', '', '', 115, 'admin', '2020-01-09 13:14:55', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), -(72, 'agileplus', '度量分析', 'support', 'MA', '', '', '', 120, 'admin', '2020-01-09 13:14:55', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), -(73, 'agileplus', '原因分析与解决', 'support', 'CAR', '', '', '', 125, 'admin', '2020-01-09 13:14:55', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), -(74, 'agileplus', '决策分析', 'support', 'DAR', '', '', '', 130, 'admin', '2020-01-09 13:14:55', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'); +(11, 'waterfall', '立项管理', 'project', 'PIM', '', '', '', 55, 'admin', '2020-01-09 10:29:55', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', '0'), +(12, 'waterfall', '项目规划', 'project', 'PP', '', '', '', 60, 'admin', '2020-01-09 10:31:16', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', '0'), +(13, 'waterfall', '项目监控', 'project', 'PMC', '', '', '', 65, 'admin', '2020-01-09 10:31:16', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', '0'), +(14, 'waterfall', '风险管理', 'project', 'RSKM', '', '', '', 70, 'admin', '2020-01-09 10:31:16', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', '0'), +(15, 'waterfall', '结项管理', 'project', 'PCM', '', '', '', 75, 'admin', '2020-01-09 10:31:16', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', '0'), +(16, 'waterfall', '量化项目管理', 'project', 'QPM', '', '', '', 80, 'admin', '2020-01-09 10:31:16', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', '0'), +(17, 'waterfall', '需求开发', 'engineering', 'RDM', '', '', '', 85, 'admin', '2020-01-09 13:14:55', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', '0'), +(18, 'waterfall', '设计开发', 'engineering', '', '', '', '', 90, 'admin', '2020-01-09 13:14:55', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', '0'), +(19, 'waterfall', '实现与测试', 'engineering', 'EMBEDDED', '', '', '', 95, 'admin', '2020-01-09 13:14:55', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', '0'), +(20, 'waterfall', '系统测试', 'engineering', 'ST', '', '', '', 100, 'admin', '2020-01-09 13:14:55', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', '0'), +(21, 'waterfall', '客户验收', 'engineering', 'CA', '', '', '', 105, 'admin', '2020-01-09 13:14:55', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', '0'), +(22, 'waterfall', '质量保证', 'support', 'QA', '', '', '', 110, 'admin', '2020-01-09 13:14:55', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', '0'), +(23, 'waterfall', '配置管理', 'support', 'CM', '', '', '', 115, 'admin', '2020-01-09 13:14:55', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', '0'), +(24, 'waterfall', '度量分析', 'support', 'MA', '', '', '', 120, 'admin', '2020-01-09 13:14:55', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', '0'), +(25, 'waterfall', '原因分析与解决', 'support', 'CAR', '', '', '', 125, 'admin', '2020-01-09 13:14:55', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', '0'), +(26, 'waterfall', '决策分析', 'support', 'DAR', '', '', '', 130, 'admin', '2020-01-09 13:14:55', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', '0'), +(41, 'scrum', '原因分析与解决', 'support', 'CAR', '', '', '', 125, 'admin', '2020-01-09 13:14:55', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', '0'), +(40, 'scrum', '度量分析', 'support', 'MA', '', '', '', 120, 'admin', '2020-01-09 13:14:55', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', '0'), +(39, 'scrum', '配置管理', 'support', 'CM', '', '', '', 115, 'admin', '2020-01-09 13:14:55', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', '0'), +(38, 'scrum', '质量保证', 'support', 'QA', '', '', '', 110, 'admin', '2020-01-09 13:14:55', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', '0'), +(37, 'scrum', '客户验收', 'engineering', 'CA', '', '', '', 105, 'admin', '2020-01-09 13:14:55', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', '0'), +(36, 'scrum', '系统测试', 'engineering', 'ST', '', '', '', 100, 'admin', '2020-01-09 13:14:55', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', '0'), +(35, 'scrum', '实现与测试', 'engineering', 'EMBEDDED', '', '', '', 95, 'admin', '2020-01-09 13:14:55', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', '0'), +(34, 'scrum', '设计开发', 'engineering', '', '', '', '', 90, 'admin', '2020-01-09 13:14:55', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', '0'), +(33, 'scrum', '需求开发', 'engineering', 'RDM', '', '', '', 85, 'admin', '2020-01-09 13:14:55', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', '0'), +(32, 'scrum', '量化项目管理', 'project', 'QPM', '', '', '', 80, 'admin', '2020-01-09 10:31:16', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', '0'), +(31, 'scrum', '结项管理', 'project', 'PCM', '', '', '', 75, 'admin', '2020-01-09 10:31:16', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', '0'), +(30, 'scrum', '风险管理', 'project', 'RSKM', '', '', '', 70, 'admin', '2020-01-09 10:31:16', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', '0'), +(29, 'scrum', '项目监控', 'project', 'PMC', '', '', '', 65, 'admin', '2020-01-09 10:31:16', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', '0'), +(28, 'scrum', '项目规划', 'project', 'PP', '', '', '', 60, 'admin', '2020-01-09 10:31:16', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', '0'), +(27, 'scrum', '立项管理', 'project', 'PIM', '', '', '', 55, 'admin', '2020-01-09 10:29:55', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', '0'), +(42, 'scrum', '决策分析', 'support', 'DAR', '', '', '', 130, 'admin', '2020-01-09 13:14:55', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', '0'), +(43, 'waterfallplus', '立项管理', 'project', 'PIM', '', '', '', 55, 'admin', '2020-01-09 10:29:55', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', '0'), +(44, 'waterfallplus', '项目规划', 'project', 'PP', '', '', '', 60, 'admin', '2020-01-09 10:31:16', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', '0'), +(45, 'waterfallplus', '项目监控', 'project', 'PMC', '', '', '', 65, 'admin', '2020-01-09 10:31:16', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', '0'), +(46, 'waterfallplus', '风险管理', 'project', 'RSKM', '', '', '', 70, 'admin', '2020-01-09 10:31:16', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', '0'), +(47, 'waterfallplus', '结项管理', 'project', 'PCM', '', '', '', 75, 'admin', '2020-01-09 10:31:16', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', '0'), +(48, 'waterfallplus', '量化项目管理', 'project', 'QPM', '', '', '', 80, 'admin', '2020-01-09 10:31:16', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', '0'), +(49, 'waterfallplus', '需求开发', 'engineering', 'RDM', '', '', '', 85, 'admin', '2020-01-09 13:14:55', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', '0'), +(50, 'waterfallplus', '设计开发', 'engineering', '', '', '', '', 90, 'admin', '2020-01-09 13:14:55', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', '0'), +(51, 'waterfallplus', '实现与测试', 'engineering', 'EMBEDDED', '', '', '', 95, 'admin', '2020-01-09 13:14:55', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', '0'), +(52, 'waterfallplus', '系统测试', 'engineering', 'ST', '', '', '', 100, 'admin', '2020-01-09 13:14:55', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', '0'), +(53, 'waterfallplus', '客户验收', 'engineering', 'CA', '', '', '', 105, 'admin', '2020-01-09 13:14:55', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', '0'), +(54, 'waterfallplus', '质量保证', 'support', 'QA', '', '', '', 110, 'admin', '2020-01-09 13:14:55', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', '0'), +(55, 'waterfallplus', '配置管理', 'support', 'CM', '', '', '', 115, 'admin', '2020-01-09 13:14:55', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', '0'), +(56, 'waterfallplus', '度量分析', 'support', 'MA', '', '', '', 120, 'admin', '2020-01-09 13:14:55', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', '0'), +(57, 'waterfallplus', '原因分析与解决', 'support', 'CAR', '', '', '', 125, 'admin', '2020-01-09 13:14:55', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', '0'), +(58, 'waterfallplus', '决策分析', 'support', 'DAR', '', '', '', 130, 'admin', '2020-01-09 13:14:55', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', '0'), +(59, 'agileplus', '立项管理', 'project', 'PIM', '', '', '', 55, 'admin', '2020-01-09 10:29:55', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', '0'), +(60, 'agileplus', '项目规划', 'project', 'PP', '', '', '', 60, 'admin', '2020-01-09 10:31:16', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', '0'), +(61, 'agileplus', '项目监控', 'project', 'PMC', '', '', '', 65, 'admin', '2020-01-09 10:31:16', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', '0'), +(62, 'agileplus', '风险管理', 'project', 'RSKM', '', '', '', 70, 'admin', '2020-01-09 10:31:16', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', '0'), +(63, 'agileplus', '结项管理', 'project', 'PCM', '', '', '', 75, 'admin', '2020-01-09 10:31:16', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', '0'), +(64, 'agileplus', '量化项目管理', 'project', 'QPM', '', '', '', 80, 'admin', '2020-01-09 10:31:16', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', '0'), +(65, 'agileplus', '需求开发', 'engineering', 'RDM', '', '', '', 85, 'admin', '2020-01-09 13:14:55', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', '0'), +(66, 'agileplus', '设计开发', 'engineering', '', '', '', '', 90, 'admin', '2020-01-09 13:14:55', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', '0'), +(67, 'agileplus', '实现与测试', 'engineering', 'EMBEDDED', '', '', '', 95, 'admin', '2020-01-09 13:14:55', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', '0'), +(68, 'agileplus', '系统测试', 'engineering', 'ST', '', '', '', 100, 'admin', '2020-01-09 13:14:55', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', '0'), +(69, 'agileplus', '客户验收', 'engineering', 'CA', '', '', '', 105, 'admin', '2020-01-09 13:14:55', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', '0'), +(70, 'agileplus', '质量保证', 'support', 'QA', '', '', '', 110, 'admin', '2020-01-09 13:14:55', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', '0'), +(71, 'agileplus', '配置管理', 'support', 'CM', '', '', '', 115, 'admin', '2020-01-09 13:14:55', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', '0'), +(72, 'agileplus', '度量分析', 'support', 'MA', '', '', '', 120, 'admin', '2020-01-09 13:14:55', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', '0'), +(73, 'agileplus', '原因分析与解决', 'support', 'CAR', '', '', '', 125, 'admin', '2020-01-09 13:14:55', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', '0'), +(74, 'agileplus', '决策分析', 'support', 'DAR', '', '', '', 130, 'admin', '2020-01-09 13:14:55', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', '0'); REPLACE INTO `zt_activity` (`id`, `process`, `name`, `optional`, `tailorNorm`, `content`, `assignedTo`, `status`, `createdBy`, `createdDate`, `editedBy`, `editedDate`, `assignedBy`, `assignedDate`, `order`, `deleted`) VALUES -(4, 11, '立项调查,可行性分析,技术预研', 'yes', '', '', '', '', 'admin', '2020-01-09 10:49:34', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 20, '0'), -(5, 11, '项目预算', 'yes', '', '', '', '', 'admin', '2020-01-09 10:49:34', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 25, '0'), -(6, 11, '立项决策', 'yes', '', '', '', '', 'admin', '2020-01-09 10:49:34', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 30, '0'), -(7, 11, '投标/商务洽谈', 'no', '', '', '', '', 'admin', '2020-01-09 10:49:34', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 35, '0'), -(8, 12, '估算', 'yes', '', '', '', '', 'admin', '2020-01-09 11:12:17', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 40, '0'), -(9, 12, '裁剪', 'yes', '', '', '', '', 'admin', '2020-01-09 11:12:17', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 45, '0'), -(10, 12, '制定项目计划及下属计划', 'yes', '', '', '', '', 'admin', '2020-01-09 11:12:17', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 50, '0'), -(11, 12, '评审项目计划及下属计划', 'yes', '', '', '', '', 'admin', '2020-01-09 11:12:17', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 55, '0'), -(12, 13, '日常跟踪', 'yes', '', '', '', '', 'admin', '2020-01-09 11:13:37', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 60, '0'), -(13, 13, '举行周例会', 'yes', '', '', '', '', 'admin', '2020-01-09 11:13:37', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 65, '0'), -(14, 13, '里程碑评审', 'yes', '', '', '', '', 'admin', '2020-01-09 11:13:37', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 70, '0'), -(15, 13, '采取纠正措施', 'no', '', '', '', '', 'admin', '2020-01-09 11:13:37', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 75, '0'), -(16, 14, '制定风险管理计划', 'yes', '', '', '', '', 'admin', '2020-01-09 11:15:04', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 80, '0'), -(17, 14, '风险识别', 'yes', '', '', '', '', 'admin', '2020-01-09 11:15:04', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 85, '0'), -(18, 14, '风险分析', 'yes', '', '', '', '', 'admin', '2020-01-09 11:15:04', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 90, '0'), -(19, 14, '风险规避和缓解', 'yes', '', '', '', '', 'admin', '2020-01-09 11:15:04', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 95, '0'), -(20, 14, '风险跟踪', 'yes', '', '', '', '', 'admin', '2020-01-09 11:15:04', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 100, '0'), -(21, 14, '更新组织级“风险列表库”', 'no', '', '', '', '', 'admin', '2020-01-09 11:15:04', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 105, '0'), -(22, 15, '结项准备', 'no', '', '', '', '', 'admin', '2020-01-09 11:16:16', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 110, '0'), -(23, 15, '结项申请', 'yes', '', '', '', '', 'admin', '2020-01-09 11:16:16', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 115, '0'), -(24, 15, '结项评审', 'yes', '', '', '', '', 'admin', '2020-01-09 11:16:16', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 120, '0'), -(25, 15, '资料纳入组织级过程资产库', 'yes', '', '', '', '', 'admin', '2020-01-09 11:16:16', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 125, '0'), -(26, 16, '量化项目管理', 'yes', '', '', '', '', 'admin', '2020-01-09 11:16:34', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 130, '0'), -(27, 17, '用户需求获取', 'yes', '', '', '', '', 'admin', '2020-01-09 13:25:22', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 135, '0'), -(28, 17, '用户需求评审', 'yes', '', '', '', '', 'admin', '2020-01-09 13:25:22', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 140, '0'), -(29, 17, '产品需求定义', 'yes', '', '', '', '', 'admin', '2020-01-09 13:25:22', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 145, '0'), -(30, 17, '产品需求评审', 'yes', '', '', '', '', 'admin', '2020-01-09 13:25:22', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 150, '0'), -(31, 17, '需求变更控制', 'no', '', '未涉及变更时可不进行', '', '', 'admin', '2020-01-09 13:25:22', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 155, '0'), -(32, 18, '概要设计', '', '', '', '', '', 'admin', '2020-01-09 13:26:07', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 160, '0'), -(33, 18, '评审《概要设计说明书》', '', '', '', '', '', 'admin', '2020-01-09 13:26:07', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 165, '0'), -(34, 18, '详细设计', '', '', '', '', '', 'admin', '2020-01-09 13:26:07', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 170, '0'), -(35, 18, '评审详细设计工作产品', '', '', '', '', '', 'admin', '2020-01-09 13:26:07', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 175, '0'), -(42, 19, '制定编码阶段计划', '', '', '', '', '', 'admin', '2020-01-09 13:27:57', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 210, '0'), -(43, 19, '构建数据库', '', '', '', '', '', 'admin', '2020-01-09 13:27:57', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 215, '0'), -(44, 19, '编码实现', '', '', '', '', '', 'admin', '2020-01-09 13:27:57', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 220, '0'), -(45, 19, '代码检查', '', '', '', '', '', 'admin', '2020-01-09 13:27:57', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 225, '0'), -(46, 19, '单元测试', '', '', '', '', '', 'admin', '2020-01-09 13:27:57', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 230, '0'), -(47, 19, '交叉单元测试', '', '', '', '', '', 'admin', '2020-01-09 13:27:57', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 235, '0'), -(48, 19, '系统集成', '', '', '', '', '', 'admin', '2020-01-09 13:27:57', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 240, '0'), -(49, 19, '编写集成测试用例', '', '', '', '', '', 'admin', '2020-01-09 13:27:57', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 245, '0'), -(50, 19, '评审集成测试用例', '', '', '', '', '', 'admin', '2020-01-09 13:27:57', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 250, '0'), -(51, 19, '集成测试', '', '', '', '', '', 'admin', '2020-01-09 13:27:57', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 255, '0'), -(52, 19, '缺陷管理', '', '', '', '', '', 'admin', '2020-01-09 13:27:57', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 260, '0'), -(53, 19, '编写支持文档', '', '', '', '', '', 'admin', '2020-01-09 13:27:57', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 265, '0'), -(54, 20, '制定《系统测试计划》', '', '', '', '', '', 'admin', '2020-01-09 13:28:25', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 270, '0'), -(55, 20, '评审《系统测试计划》', '', '', '', '', '', 'admin', '2020-01-09 13:28:25', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 275, '0'), -(56, 20, '编写《系统测试用例》', '', '', '', '', '', 'admin', '2020-01-09 13:28:25', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 280, '0'), -(57, 20, '评审《系统测试用例》', '', '', '', '', '', 'admin', '2020-01-09 13:28:25', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 285, '0'), -(58, 20, '执行系统测试', '', '', '', '', '', 'admin', '2020-01-09 13:28:25', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 290, '0'), -(59, 21, '验收准备', '', '', '', '', '', 'admin', '2020-01-09 13:29:28', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 295, '0'), -(60, 21, '产品打包', '', '', '', '', '', 'admin', '2020-01-09 13:29:28', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 300, '0'), -(61, 21, '内部培训', '', '', '', '', '', 'admin', '2020-01-09 13:29:28', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 305, '0'), -(62, 21, '现场安装调试', '', '', '', '', '', 'admin', '2020-01-09 13:29:28', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 310, '0'), -(63, 21, '用户使用培训', '', '', '', '', '', 'admin', '2020-01-09 13:29:28', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 315, '0'), -(64, 21, '试运行', '', '', '', '', '', 'admin', '2020-01-09 13:29:28', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 320, '0'), -(65, 21, '客户验收', '', '', '', '', '', 'admin', '2020-01-09 13:29:28', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 325, '0'), -(66, 22, '制定质量保证计划', '', '', '', '', '', 'admin', '2020-01-09 13:38:58', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 330, '0'), -(67, 22, '评审质量保证计划', '', '', '', '', '', 'admin', '2020-01-09 13:38:58', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 335, '0'), -(68, 22, '过程和产品质量检查', '', '', '', '', '', 'admin', '2020-01-09 13:38:58', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 340, '0'), -(69, 22, '问题跟踪处理', '', '', '', '', '', 'admin', '2020-01-09 13:38:58', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 345, '0'), -(70, 22, '质量保证总结报告', '', '', '', '', '', 'admin', '2020-01-09 13:38:58', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 350, '0'), -(71, 23, '组织及配置管理员移交工作', '', '', '', '', '', 'admin', '2020-01-09 13:39:25', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 355, '0'), -(72, 23, '制定《配置管理计划》', '', '', '', '', '', 'admin', '2020-01-09 13:39:25', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 360, '0'), -(73, 23, '建立和维护配置库', '', '', '', '', '', 'admin', '2020-01-09 13:39:25', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 365, '0'), -(74, 23, '配置项管理', '', '', '', '', '', 'admin', '2020-01-09 13:39:25', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 370, '0'), -(75, 23, '基线管理', '', '', '', '', '', 'admin', '2020-01-09 13:39:25', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 375, '0'), -(76, 23, '变更管理', '', '', '', '', '', 'admin', '2020-01-09 13:39:25', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 380, '0'), -(77, 23, '配置审计', '', '', '', '', '', 'admin', '2020-01-09 13:39:25', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 385, '0'), -(78, 24, '建立项目度量目标', '', '', '', '', '', 'admin', '2020-01-09 13:40:05', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 390, '0'), -(79, 24, '确定项目度量点', '', '', '', '', '', 'admin', '2020-01-09 13:40:05', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 395, '0'), -(80, 24, '制定度量分析计划', '', '', '', '', '', 'admin', '2020-01-09 13:40:05', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 400, '0'), -(81, 24, '收集和分析度量数据', '', '', '', '', '', 'admin', '2020-01-09 13:40:05', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 405, '0'), -(82, 24, '存储和通报度量分析结果', '', '', '', '', '', 'admin', '2020-01-09 13:40:05', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 410, '0'), -(83, 25, '原因分析与解决', '', '', '', '', '', 'admin', '2020-01-09 13:40:15', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 415, '0'), -(84, 26, '建立评估标准', '', '', '', '', '', 'admin', '2020-01-09 13:40:35', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 420, '0'), -(85, 26, '确定候选方案', '', '', '', '', '', 'admin', '2020-01-09 13:40:35', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 425, '0'), -(86, 26, '原因分析与解决', '', '', '', '', '', 'admin', '2020-01-09 13:40:35', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 430, '0'), -(87, 26, '确定评估方法', '', '', '', '', '', 'admin', '2020-01-09 13:40:35', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 435, '0'), -(88, 26, '评估候选方案', '', '', '', '', '', 'admin', '2020-01-09 13:40:35', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 440, '0'), -(89, 26, '做出决策', '', '', '', '', '', 'admin', '2020-01-09 13:40:35', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 445, '0'), -(90, 27, '立项调查,可行性分析,技术预研', 'yes', '', '', '', '', 'admin', '2020-01-09 10:49:34', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 20, '0'), -(91, 27, '项目预算', 'yes', '', '', '', '', 'admin', '2020-01-09 10:49:34', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 25, '0'), -(92, 27, '立项决策', 'yes', '', '', '', '', 'admin', '2020-01-09 10:49:34', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 30, '0'), -(93, 27, '投标/商务洽谈', 'no', '', '', '', '', 'admin', '2020-01-09 10:49:34', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 35, '0'), -(94, 28, '估算', 'yes', '', '', '', '', 'admin', '2020-01-09 11:12:17', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 40, '0'), -(95, 28, '裁剪', 'yes', '', '', '', '', 'admin', '2020-01-09 11:12:17', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 45, '0'), -(96, 28, '制定项目计划及下属计划', 'yes', '', '', '', '', 'admin', '2020-01-09 11:12:17', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 50, '0'), -(97, 28, '评审项目计划及下属计划', 'yes', '', '', '', '', 'admin', '2020-01-09 11:12:17', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 55, '0'), -(98, 29, '日常跟踪', 'yes', '', '', '', '', 'admin', '2020-01-09 11:13:37', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 60, '0'), -(99, 29, '举行周例会', 'yes', '', '', '', '', 'admin', '2020-01-09 11:13:37', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 65, '0'), -(100, 29, '里程碑评审', 'yes', '', '', '', '', 'admin', '2020-01-09 11:13:37', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 70, '0'), -(101, 29, '采取纠正措施', 'no', '', '', '', '', 'admin', '2020-01-09 11:13:37', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 75, '0'), -(102, 30, '制定风险管理计划', 'yes', '', '', '', '', 'admin', '2020-01-09 11:15:04', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 80, '0'), -(103, 30, '风险识别', 'yes', '', '', '', '', 'admin', '2020-01-09 11:15:04', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 85, '0'), -(104, 30, '风险分析', 'yes', '', '', '', '', 'admin', '2020-01-09 11:15:04', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 90, '0'), -(105, 30, '风险规避和缓解', 'yes', '', '', '', '', 'admin', '2020-01-09 11:15:04', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 95, '0'), -(106, 30, '风险跟踪', 'yes', '', '', '', '', 'admin', '2020-01-09 11:15:04', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 100, '0'), -(107, 30, '更新组织级“风险列表库”', 'no', '', '', '', '', 'admin', '2020-01-09 11:15:04', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 105, '0'), -(108, 31, '结项准备', 'no', '', '', '', '', 'admin', '2020-01-09 11:16:16', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 110, '0'), -(109, 31, '结项申请', 'yes', '', '', '', '', 'admin', '2020-01-09 11:16:16', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 115, '0'), -(110, 31, '结项评审', 'yes', '', '', '', '', 'admin', '2020-01-09 11:16:16', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 120, '0'), -(111, 31, '资料纳入组织级过程资产库', 'yes', '', '', '', '', 'admin', '2020-01-09 11:16:16', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 125, '0'), -(112, 32, '量化项目管理', 'yes', '', '', '', '', 'admin', '2020-01-09 11:16:34', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 130, '0'), -(113, 33, '用户需求获取', 'yes', '', '', '', '', 'admin', '2020-01-09 13:25:22', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 135, '0'), -(114, 33, '用户需求评审', 'yes', '', '', '', '', 'admin', '2020-01-09 13:25:22', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 140, '0'), -(115, 33, '产品需求定义', 'yes', '', '', '', '', 'admin', '2020-01-09 13:25:22', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 145, '0'), -(116, 33, '产品需求评审', 'yes', '', '', '', '', 'admin', '2020-01-09 13:25:22', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 150, '0'), -(117, 33, '需求变更控制', 'no', '', '未涉及变更时可不进行', '', '', 'admin', '2020-01-09 13:25:22', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 155, '0'), -(118, 34, '概要设计', '', '', '', '', '', 'admin', '2020-01-09 13:26:07', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 160, '0'), -(119, 34, '评审《概要设计说明书》', '', '', '', '', '', 'admin', '2020-01-09 13:26:07', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 165, '0'), -(120, 34, '详细设计', '', '', '', '', '', 'admin', '2020-01-09 13:26:07', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 170, '0'), -(121, 34, '评审详细设计工作产品', '', '', '', '', '', 'admin', '2020-01-09 13:26:07', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 175, '0'), -(122, 35, '制定编码阶段计划', '', '', '', '', '', 'admin', '2020-01-09 13:27:57', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 210, '0'), -(123, 35, '构建数据库', '', '', '', '', '', 'admin', '2020-01-09 13:27:57', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 215, '0'), -(124, 35, '编码实现', '', '', '', '', '', 'admin', '2020-01-09 13:27:57', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 220, '0'), -(125, 35, '代码检查', '', '', '', '', '', 'admin', '2020-01-09 13:27:57', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 225, '0'), -(126, 35, '单元测试', '', '', '', '', '', 'admin', '2020-01-09 13:27:57', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 230, '0'), -(127, 35, '交叉单元测试', '', '', '', '', '', 'admin', '2020-01-09 13:27:57', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 235, '0'), -(128, 35, '系统集成', '', '', '', '', '', 'admin', '2020-01-09 13:27:57', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 240, '0'), -(129, 35, '编写集成测试用例', '', '', '', '', '', 'admin', '2020-01-09 13:27:57', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 245, '0'), -(130, 35, '评审集成测试用例', '', '', '', '', '', 'admin', '2020-01-09 13:27:57', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 250, '0'), -(131, 35, '集成测试', '', '', '', '', '', 'admin', '2020-01-09 13:27:57', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 255, '0'), -(132, 35, '缺陷管理', '', '', '', '', '', 'admin', '2020-01-09 13:27:57', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 260, '0'), -(133, 35, '编写支持文档', '', '', '', '', '', 'admin', '2020-01-09 13:27:57', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 265, '0'), -(134, 36, '制定《系统测试计划》', '', '', '', '', '', 'admin', '2020-01-09 13:28:25', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 270, '0'), -(135, 36, '评审《系统测试计划》', '', '', '', '', '', 'admin', '2020-01-09 13:28:25', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 275, '0'), -(136, 36, '编写《系统测试用例》', '', '', '', '', '', 'admin', '2020-01-09 13:28:25', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 280, '0'), -(137, 36, '评审《系统测试用例》', '', '', '', '', '', 'admin', '2020-01-09 13:28:25', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 285, '0'), -(138, 36, '执行系统测试', '', '', '', '', '', 'admin', '2020-01-09 13:28:25', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 290, '0'), -(139, 37, '验收准备', '', '', '', '', '', 'admin', '2020-01-09 13:29:28', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 295, '0'), -(140, 37, '产品打包', '', '', '', '', '', 'admin', '2020-01-09 13:29:28', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 300, '0'), -(141, 37, '内部培训', '', '', '', '', '', 'admin', '2020-01-09 13:29:28', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 305, '0'), -(142, 37, '现场安装调试', '', '', '', '', '', 'admin', '2020-01-09 13:29:28', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 310, '0'), -(143, 37, '用户使用培训', '', '', '', '', '', 'admin', '2020-01-09 13:29:28', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 315, '0'), -(144, 37, '试运行', '', '', '', '', '', 'admin', '2020-01-09 13:29:28', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 320, '0'), -(145, 37, '客户验收', '', '', '', '', '', 'admin', '2020-01-09 13:29:28', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 325, '0'), -(146, 38, '制定质量保证计划', '', '', '', '', '', 'admin', '2020-01-09 13:38:58', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 330, '0'), -(147, 38, '评审质量保证计划', '', '', '', '', '', 'admin', '2020-01-09 13:38:58', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 335, '0'), -(148, 38, '过程和产品质量检查', '', '', '', '', '', 'admin', '2020-01-09 13:38:58', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 340, '0'), -(149, 38, '问题跟踪处理', '', '', '', '', '', 'admin', '2020-01-09 13:38:58', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 345, '0'), -(150, 38, '质量保证总结报告', '', '', '', '', '', 'admin', '2020-01-09 13:38:58', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 350, '0'), -(151, 39, '组织及配置管理员移交工作', '', '', '', '', '', 'admin', '2020-01-09 13:39:25', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 355, '0'), -(152, 39, '制定《配置管理计划》', '', '', '', '', '', 'admin', '2020-01-09 13:39:25', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 360, '0'), -(153, 39, '建立和维护配置库', '', '', '', '', '', 'admin', '2020-01-09 13:39:25', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 365, '0'), -(154, 39, '配置项管理', '', '', '', '', '', 'admin', '2020-01-09 13:39:25', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 370, '0'), -(155, 39, '基线管理', '', '', '', '', '', 'admin', '2020-01-09 13:39:25', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 375, '0'), -(156, 39, '变更管理', '', '', '', '', '', 'admin', '2020-01-09 13:39:25', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 380, '0'), -(157, 39, '配置审计', '', '', '', '', '', 'admin', '2020-01-09 13:39:25', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 385, '0'), -(158, 40, '建立项目度量目标', '', '', '', '', '', 'admin', '2020-01-09 13:40:05', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 390, '0'), -(159, 40, '确定项目度量点', '', '', '', '', '', 'admin', '2020-01-09 13:40:05', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 395, '0'), -(160, 40, '制定度量分析计划', '', '', '', '', '', 'admin', '2020-01-09 13:40:05', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 400, '0'), -(161, 40, '收集和分析度量数据', '', '', '', '', '', 'admin', '2020-01-09 13:40:05', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 405, '0'), -(162, 40, '存储和通报度量分析结果', '', '', '', '', '', 'admin', '2020-01-09 13:40:05', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 410, '0'), -(163, 41, '原因分析与解决', '', '', '', '', '', 'admin', '2020-01-09 13:40:15', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 415, '0'), -(164, 42, '建立评估标准', '', '', '', '', '', 'admin', '2020-01-09 13:40:35', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 420, '0'), -(165, 42, '确定候选方案', '', '', '', '', '', 'admin', '2020-01-09 13:40:35', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 425, '0'), -(166, 42, '原因分析与解决', '', '', '', '', '', 'admin', '2020-01-09 13:40:35', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 430, '0'), -(167, 42, '确定评估方法', '', '', '', '', '', 'admin', '2020-01-09 13:40:35', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 435, '0'), -(168, 42, '评估候选方案', '', '', '', '', '', 'admin', '2020-01-09 13:40:35', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 440, '0'), -(169, 42, '做出决策', '', '', '', '', '', 'admin', '2020-01-09 13:40:35', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 445, '0'); +(4, 11, '立项调查,可行性分析,技术预研', 'yes', '', '', '', '', 'admin', '2020-01-09 10:49:34', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 20, '0'), +(5, 11, '项目预算', 'yes', '', '', '', '', 'admin', '2020-01-09 10:49:34', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 25, '0'), +(6, 11, '立项决策', 'yes', '', '', '', '', 'admin', '2020-01-09 10:49:34', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 30, '0'), +(7, 11, '投标/商务洽谈', 'no', '', '', '', '', 'admin', '2020-01-09 10:49:34', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 35, '0'), +(8, 12, '估算', 'yes', '', '', '', '', 'admin', '2020-01-09 11:12:17', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 40, '0'), +(9, 12, '裁剪', 'yes', '', '', '', '', 'admin', '2020-01-09 11:12:17', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 45, '0'), +(10, 12, '制定项目计划及下属计划', 'yes', '', '', '', '', 'admin', '2020-01-09 11:12:17', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 50, '0'), +(11, 12, '评审项目计划及下属计划', 'yes', '', '', '', '', 'admin', '2020-01-09 11:12:17', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 55, '0'), +(12, 13, '日常跟踪', 'yes', '', '', '', '', 'admin', '2020-01-09 11:13:37', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 60, '0'), +(13, 13, '举行周例会', 'yes', '', '', '', '', 'admin', '2020-01-09 11:13:37', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 65, '0'), +(14, 13, '里程碑评审', 'yes', '', '', '', '', 'admin', '2020-01-09 11:13:37', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 70, '0'), +(15, 13, '采取纠正措施', 'no', '', '', '', '', 'admin', '2020-01-09 11:13:37', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 75, '0'), +(16, 14, '制定风险管理计划', 'yes', '', '', '', '', 'admin', '2020-01-09 11:15:04', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 80, '0'), +(17, 14, '风险识别', 'yes', '', '', '', '', 'admin', '2020-01-09 11:15:04', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 85, '0'), +(18, 14, '风险分析', 'yes', '', '', '', '', 'admin', '2020-01-09 11:15:04', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 90, '0'), +(19, 14, '风险规避和缓解', 'yes', '', '', '', '', 'admin', '2020-01-09 11:15:04', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 95, '0'), +(20, 14, '风险跟踪', 'yes', '', '', '', '', 'admin', '2020-01-09 11:15:04', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 100, '0'), +(21, 14, '更新组织级“风险列表库”', 'no', '', '', '', '', 'admin', '2020-01-09 11:15:04', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 105, '0'), +(22, 15, '结项准备', 'no', '', '', '', '', 'admin', '2020-01-09 11:16:16', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 110, '0'), +(23, 15, '结项申请', 'yes', '', '', '', '', 'admin', '2020-01-09 11:16:16', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 115, '0'), +(24, 15, '结项评审', 'yes', '', '', '', '', 'admin', '2020-01-09 11:16:16', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 120, '0'), +(25, 15, '资料纳入组织级过程资产库', 'yes', '', '', '', '', 'admin', '2020-01-09 11:16:16', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 125, '0'), +(26, 16, '量化项目管理', 'yes', '', '', '', '', 'admin', '2020-01-09 11:16:34', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 130, '0'), +(27, 17, '用户需求获取', 'yes', '', '', '', '', 'admin', '2020-01-09 13:25:22', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 135, '0'), +(28, 17, '用户需求评审', 'yes', '', '', '', '', 'admin', '2020-01-09 13:25:22', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 140, '0'), +(29, 17, '产品需求定义', 'yes', '', '', '', '', 'admin', '2020-01-09 13:25:22', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 145, '0'), +(30, 17, '产品需求评审', 'yes', '', '', '', '', 'admin', '2020-01-09 13:25:22', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 150, '0'), +(31, 17, '需求变更控制', 'no', '', '未涉及变更时可不进行', '', '', 'admin', '2020-01-09 13:25:22', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 155, '0'), +(32, 18, '概要设计', '', '', '', '', '', 'admin', '2020-01-09 13:26:07', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 160, '0'), +(33, 18, '评审《概要设计说明书》', '', '', '', '', '', 'admin', '2020-01-09 13:26:07', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 165, '0'), +(34, 18, '详细设计', '', '', '', '', '', 'admin', '2020-01-09 13:26:07', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 170, '0'), +(35, 18, '评审详细设计工作产品', '', '', '', '', '', 'admin', '2020-01-09 13:26:07', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 175, '0'), +(42, 19, '制定编码阶段计划', '', '', '', '', '', 'admin', '2020-01-09 13:27:57', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 210, '0'), +(43, 19, '构建数据库', '', '', '', '', '', 'admin', '2020-01-09 13:27:57', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 215, '0'), +(44, 19, '编码实现', '', '', '', '', '', 'admin', '2020-01-09 13:27:57', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 220, '0'), +(45, 19, '代码检查', '', '', '', '', '', 'admin', '2020-01-09 13:27:57', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 225, '0'), +(46, 19, '单元测试', '', '', '', '', '', 'admin', '2020-01-09 13:27:57', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 230, '0'), +(47, 19, '交叉单元测试', '', '', '', '', '', 'admin', '2020-01-09 13:27:57', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 235, '0'), +(48, 19, '系统集成', '', '', '', '', '', 'admin', '2020-01-09 13:27:57', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 240, '0'), +(49, 19, '编写集成测试用例', '', '', '', '', '', 'admin', '2020-01-09 13:27:57', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 245, '0'), +(50, 19, '评审集成测试用例', '', '', '', '', '', 'admin', '2020-01-09 13:27:57', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 250, '0'), +(51, 19, '集成测试', '', '', '', '', '', 'admin', '2020-01-09 13:27:57', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 255, '0'), +(52, 19, '缺陷管理', '', '', '', '', '', 'admin', '2020-01-09 13:27:57', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 260, '0'), +(53, 19, '编写支持文档', '', '', '', '', '', 'admin', '2020-01-09 13:27:57', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 265, '0'), +(54, 20, '制定《系统测试计划》', '', '', '', '', '', 'admin', '2020-01-09 13:28:25', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 270, '0'), +(55, 20, '评审《系统测试计划》', '', '', '', '', '', 'admin', '2020-01-09 13:28:25', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 275, '0'), +(56, 20, '编写《系统测试用例》', '', '', '', '', '', 'admin', '2020-01-09 13:28:25', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 280, '0'), +(57, 20, '评审《系统测试用例》', '', '', '', '', '', 'admin', '2020-01-09 13:28:25', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 285, '0'), +(58, 20, '执行系统测试', '', '', '', '', '', 'admin', '2020-01-09 13:28:25', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 290, '0'), +(59, 21, '验收准备', '', '', '', '', '', 'admin', '2020-01-09 13:29:28', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 295, '0'), +(60, 21, '产品打包', '', '', '', '', '', 'admin', '2020-01-09 13:29:28', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 300, '0'), +(61, 21, '内部培训', '', '', '', '', '', 'admin', '2020-01-09 13:29:28', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 305, '0'), +(62, 21, '现场安装调试', '', '', '', '', '', 'admin', '2020-01-09 13:29:28', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 310, '0'), +(63, 21, '用户使用培训', '', '', '', '', '', 'admin', '2020-01-09 13:29:28', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 315, '0'), +(64, 21, '试运行', '', '', '', '', '', 'admin', '2020-01-09 13:29:28', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 320, '0'), +(65, 21, '客户验收', '', '', '', '', '', 'admin', '2020-01-09 13:29:28', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 325, '0'), +(66, 22, '制定质量保证计划', '', '', '', '', '', 'admin', '2020-01-09 13:38:58', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 330, '0'), +(67, 22, '评审质量保证计划', '', '', '', '', '', 'admin', '2020-01-09 13:38:58', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 335, '0'), +(68, 22, '过程和产品质量检查', '', '', '', '', '', 'admin', '2020-01-09 13:38:58', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 340, '0'), +(69, 22, '问题跟踪处理', '', '', '', '', '', 'admin', '2020-01-09 13:38:58', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 345, '0'), +(70, 22, '质量保证总结报告', '', '', '', '', '', 'admin', '2020-01-09 13:38:58', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 350, '0'), +(71, 23, '组织及配置管理员移交工作', '', '', '', '', '', 'admin', '2020-01-09 13:39:25', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 355, '0'), +(72, 23, '制定《配置管理计划》', '', '', '', '', '', 'admin', '2020-01-09 13:39:25', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 360, '0'), +(73, 23, '建立和维护配置库', '', '', '', '', '', 'admin', '2020-01-09 13:39:25', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 365, '0'), +(74, 23, '配置项管理', '', '', '', '', '', 'admin', '2020-01-09 13:39:25', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 370, '0'), +(75, 23, '基线管理', '', '', '', '', '', 'admin', '2020-01-09 13:39:25', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 375, '0'), +(76, 23, '变更管理', '', '', '', '', '', 'admin', '2020-01-09 13:39:25', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 380, '0'), +(77, 23, '配置审计', '', '', '', '', '', 'admin', '2020-01-09 13:39:25', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 385, '0'), +(78, 24, '建立项目度量目标', '', '', '', '', '', 'admin', '2020-01-09 13:40:05', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 390, '0'), +(79, 24, '确定项目度量点', '', '', '', '', '', 'admin', '2020-01-09 13:40:05', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 395, '0'), +(80, 24, '制定度量分析计划', '', '', '', '', '', 'admin', '2020-01-09 13:40:05', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 400, '0'), +(81, 24, '收集和分析度量数据', '', '', '', '', '', 'admin', '2020-01-09 13:40:05', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 405, '0'), +(82, 24, '存储和通报度量分析结果', '', '', '', '', '', 'admin', '2020-01-09 13:40:05', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 410, '0'), +(83, 25, '原因分析与解决', '', '', '', '', '', 'admin', '2020-01-09 13:40:15', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 415, '0'), +(84, 26, '建立评估标准', '', '', '', '', '', 'admin', '2020-01-09 13:40:35', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 420, '0'), +(85, 26, '确定候选方案', '', '', '', '', '', 'admin', '2020-01-09 13:40:35', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 425, '0'), +(86, 26, '原因分析与解决', '', '', '', '', '', 'admin', '2020-01-09 13:40:35', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 430, '0'), +(87, 26, '确定评估方法', '', '', '', '', '', 'admin', '2020-01-09 13:40:35', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 435, '0'), +(88, 26, '评估候选方案', '', '', '', '', '', 'admin', '2020-01-09 13:40:35', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 440, '0'), +(89, 26, '做出决策', '', '', '', '', '', 'admin', '2020-01-09 13:40:35', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 445, '0'), +(90, 27, '立项调查,可行性分析,技术预研', 'yes', '', '', '', '', 'admin', '2020-01-09 10:49:34', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 20, '0'), +(91, 27, '项目预算', 'yes', '', '', '', '', 'admin', '2020-01-09 10:49:34', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 25, '0'), +(92, 27, '立项决策', 'yes', '', '', '', '', 'admin', '2020-01-09 10:49:34', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 30, '0'), +(93, 27, '投标/商务洽谈', 'no', '', '', '', '', 'admin', '2020-01-09 10:49:34', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 35, '0'), +(94, 28, '估算', 'yes', '', '', '', '', 'admin', '2020-01-09 11:12:17', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 40, '0'), +(95, 28, '裁剪', 'yes', '', '', '', '', 'admin', '2020-01-09 11:12:17', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 45, '0'), +(96, 28, '制定项目计划及下属计划', 'yes', '', '', '', '', 'admin', '2020-01-09 11:12:17', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 50, '0'), +(97, 28, '评审项目计划及下属计划', 'yes', '', '', '', '', 'admin', '2020-01-09 11:12:17', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 55, '0'), +(98, 29, '日常跟踪', 'yes', '', '', '', '', 'admin', '2020-01-09 11:13:37', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 60, '0'), +(99, 29, '举行周例会', 'yes', '', '', '', '', 'admin', '2020-01-09 11:13:37', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 65, '0'), +(100, 29, '里程碑评审', 'yes', '', '', '', '', 'admin', '2020-01-09 11:13:37', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 70, '0'), +(101, 29, '采取纠正措施', 'no', '', '', '', '', 'admin', '2020-01-09 11:13:37', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 75, '0'), +(102, 30, '制定风险管理计划', 'yes', '', '', '', '', 'admin', '2020-01-09 11:15:04', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 80, '0'), +(103, 30, '风险识别', 'yes', '', '', '', '', 'admin', '2020-01-09 11:15:04', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 85, '0'), +(104, 30, '风险分析', 'yes', '', '', '', '', 'admin', '2020-01-09 11:15:04', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 90, '0'), +(105, 30, '风险规避和缓解', 'yes', '', '', '', '', 'admin', '2020-01-09 11:15:04', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 95, '0'), +(106, 30, '风险跟踪', 'yes', '', '', '', '', 'admin', '2020-01-09 11:15:04', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 100, '0'), +(107, 30, '更新组织级“风险列表库”', 'no', '', '', '', '', 'admin', '2020-01-09 11:15:04', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 105, '0'), +(108, 31, '结项准备', 'no', '', '', '', '', 'admin', '2020-01-09 11:16:16', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 110, '0'), +(109, 31, '结项申请', 'yes', '', '', '', '', 'admin', '2020-01-09 11:16:16', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 115, '0'), +(110, 31, '结项评审', 'yes', '', '', '', '', 'admin', '2020-01-09 11:16:16', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 120, '0'), +(111, 31, '资料纳入组织级过程资产库', 'yes', '', '', '', '', 'admin', '2020-01-09 11:16:16', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 125, '0'), +(112, 32, '量化项目管理', 'yes', '', '', '', '', 'admin', '2020-01-09 11:16:34', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 130, '0'), +(113, 33, '用户需求获取', 'yes', '', '', '', '', 'admin', '2020-01-09 13:25:22', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 135, '0'), +(114, 33, '用户需求评审', 'yes', '', '', '', '', 'admin', '2020-01-09 13:25:22', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 140, '0'), +(115, 33, '产品需求定义', 'yes', '', '', '', '', 'admin', '2020-01-09 13:25:22', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 145, '0'), +(116, 33, '产品需求评审', 'yes', '', '', '', '', 'admin', '2020-01-09 13:25:22', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 150, '0'), +(117, 33, '需求变更控制', 'no', '', '未涉及变更时可不进行', '', '', 'admin', '2020-01-09 13:25:22', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 155, '0'), +(118, 34, '概要设计', '', '', '', '', '', 'admin', '2020-01-09 13:26:07', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 160, '0'), +(119, 34, '评审《概要设计说明书》', '', '', '', '', '', 'admin', '2020-01-09 13:26:07', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 165, '0'), +(120, 34, '详细设计', '', '', '', '', '', 'admin', '2020-01-09 13:26:07', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 170, '0'), +(121, 34, '评审详细设计工作产品', '', '', '', '', '', 'admin', '2020-01-09 13:26:07', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 175, '0'), +(122, 35, '制定编码阶段计划', '', '', '', '', '', 'admin', '2020-01-09 13:27:57', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 210, '0'), +(123, 35, '构建数据库', '', '', '', '', '', 'admin', '2020-01-09 13:27:57', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 215, '0'), +(124, 35, '编码实现', '', '', '', '', '', 'admin', '2020-01-09 13:27:57', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 220, '0'), +(125, 35, '代码检查', '', '', '', '', '', 'admin', '2020-01-09 13:27:57', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 225, '0'), +(126, 35, '单元测试', '', '', '', '', '', 'admin', '2020-01-09 13:27:57', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 230, '0'), +(127, 35, '交叉单元测试', '', '', '', '', '', 'admin', '2020-01-09 13:27:57', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 235, '0'), +(128, 35, '系统集成', '', '', '', '', '', 'admin', '2020-01-09 13:27:57', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 240, '0'), +(129, 35, '编写集成测试用例', '', '', '', '', '', 'admin', '2020-01-09 13:27:57', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 245, '0'), +(130, 35, '评审集成测试用例', '', '', '', '', '', 'admin', '2020-01-09 13:27:57', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 250, '0'), +(131, 35, '集成测试', '', '', '', '', '', 'admin', '2020-01-09 13:27:57', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 255, '0'), +(132, 35, '缺陷管理', '', '', '', '', '', 'admin', '2020-01-09 13:27:57', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 260, '0'), +(133, 35, '编写支持文档', '', '', '', '', '', 'admin', '2020-01-09 13:27:57', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 265, '0'), +(134, 36, '制定《系统测试计划》', '', '', '', '', '', 'admin', '2020-01-09 13:28:25', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 270, '0'), +(135, 36, '评审《系统测试计划》', '', '', '', '', '', 'admin', '2020-01-09 13:28:25', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 275, '0'), +(136, 36, '编写《系统测试用例》', '', '', '', '', '', 'admin', '2020-01-09 13:28:25', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 280, '0'), +(137, 36, '评审《系统测试用例》', '', '', '', '', '', 'admin', '2020-01-09 13:28:25', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 285, '0'), +(138, 36, '执行系统测试', '', '', '', '', '', 'admin', '2020-01-09 13:28:25', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 290, '0'), +(139, 37, '验收准备', '', '', '', '', '', 'admin', '2020-01-09 13:29:28', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 295, '0'), +(140, 37, '产品打包', '', '', '', '', '', 'admin', '2020-01-09 13:29:28', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 300, '0'), +(141, 37, '内部培训', '', '', '', '', '', 'admin', '2020-01-09 13:29:28', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 305, '0'), +(142, 37, '现场安装调试', '', '', '', '', '', 'admin', '2020-01-09 13:29:28', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 310, '0'), +(143, 37, '用户使用培训', '', '', '', '', '', 'admin', '2020-01-09 13:29:28', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 315, '0'), +(144, 37, '试运行', '', '', '', '', '', 'admin', '2020-01-09 13:29:28', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 320, '0'), +(145, 37, '客户验收', '', '', '', '', '', 'admin', '2020-01-09 13:29:28', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 325, '0'), +(146, 38, '制定质量保证计划', '', '', '', '', '', 'admin', '2020-01-09 13:38:58', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 330, '0'), +(147, 38, '评审质量保证计划', '', '', '', '', '', 'admin', '2020-01-09 13:38:58', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 335, '0'), +(148, 38, '过程和产品质量检查', '', '', '', '', '', 'admin', '2020-01-09 13:38:58', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 340, '0'), +(149, 38, '问题跟踪处理', '', '', '', '', '', 'admin', '2020-01-09 13:38:58', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 345, '0'), +(150, 38, '质量保证总结报告', '', '', '', '', '', 'admin', '2020-01-09 13:38:58', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 350, '0'), +(151, 39, '组织及配置管理员移交工作', '', '', '', '', '', 'admin', '2020-01-09 13:39:25', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 355, '0'), +(152, 39, '制定《配置管理计划》', '', '', '', '', '', 'admin', '2020-01-09 13:39:25', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 360, '0'), +(153, 39, '建立和维护配置库', '', '', '', '', '', 'admin', '2020-01-09 13:39:25', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 365, '0'), +(154, 39, '配置项管理', '', '', '', '', '', 'admin', '2020-01-09 13:39:25', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 370, '0'), +(155, 39, '基线管理', '', '', '', '', '', 'admin', '2020-01-09 13:39:25', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 375, '0'), +(156, 39, '变更管理', '', '', '', '', '', 'admin', '2020-01-09 13:39:25', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 380, '0'), +(157, 39, '配置审计', '', '', '', '', '', 'admin', '2020-01-09 13:39:25', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 385, '0'), +(158, 40, '建立项目度量目标', '', '', '', '', '', 'admin', '2020-01-09 13:40:05', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 390, '0'), +(159, 40, '确定项目度量点', '', '', '', '', '', 'admin', '2020-01-09 13:40:05', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 395, '0'), +(160, 40, '制定度量分析计划', '', '', '', '', '', 'admin', '2020-01-09 13:40:05', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 400, '0'), +(161, 40, '收集和分析度量数据', '', '', '', '', '', 'admin', '2020-01-09 13:40:05', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 405, '0'), +(162, 40, '存储和通报度量分析结果', '', '', '', '', '', 'admin', '2020-01-09 13:40:05', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 410, '0'), +(163, 41, '原因分析与解决', '', '', '', '', '', 'admin', '2020-01-09 13:40:15', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 415, '0'), +(164, 42, '建立评估标准', '', '', '', '', '', 'admin', '2020-01-09 13:40:35', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 420, '0'), +(165, 42, '确定候选方案', '', '', '', '', '', 'admin', '2020-01-09 13:40:35', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 425, '0'), +(166, 42, '原因分析与解决', '', '', '', '', '', 'admin', '2020-01-09 13:40:35', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 430, '0'), +(167, 42, '确定评估方法', '', '', '', '', '', 'admin', '2020-01-09 13:40:35', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 435, '0'), +(168, 42, '评估候选方案', '', '', '', '', '', 'admin', '2020-01-09 13:40:35', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 440, '0'), +(169, 42, '做出决策', '', '', '', '', '', 'admin', '2020-01-09 13:40:35', '', '1970-01-01 00:00:01', '', '1970-01-01 00:00:01', 445, '0'); REPLACE INTO `zt_zoutput` (`id`, `activity`, `name`, `content`, `optional`, `tailorNorm`, `status`, `createdBy`, `createdDate`, `editedBy`, `editedDate`, `order`, `deleted`) VALUES -(5, 4, '《技术可行性分析报告》', '', '', '', '', 'admin', '2020-01-09 11:01:52', '', '0000-00-00 00:00:00', 25, '0'), -(6, 5, '《项目预算表》', '', '', '', '', 'admin', '2020-01-09 11:17:27', '', '0000-00-00 00:00:00', 30, '0'), -(7, 6, '《立项申请报告》', '', '', '', '', 'admin', '2020-01-09 11:17:50', '', '0000-00-00 00:00:00', 35, '0'), -(8, 7, '《项目投标书》', '不涉及投标', '', '', '', 'admin', '2020-01-09 11:18:12', '', '0000-00-00 00:00:00', 40, '0'), -(9, 8, '《项目估算报告》', '', '', '', '', 'admin', '2020-01-09 11:18:41', '', '0000-00-00 00:00:00', 45, '0'), -(10, 8, '《功能点估算》', '', '', '', '', 'admin', '2020-01-09 11:18:41', '', '0000-00-00 00:00:00', 50, '0'), -(11, 9, '《PDP说明》', '', '', '', '', 'admin', '2020-01-09 11:18:54', '', '0000-00-00 00:00:00', 55, '0'), -(12, 10, '《项目进度表》', '', '', '', '', 'admin', '2020-01-09 11:19:46', '', '0000-00-00 00:00:00', 60, '0'), -(13, 10, '《项目计划》及其下属计划', '', '', '', '', 'admin', '2020-01-09 11:19:46', '', '0000-00-00 00:00:00', 65, '0'), -(14, 10, '《风险管理计划及跟踪表》', '', '', '', '', 'admin', '2020-01-09 11:19:46', '', '0000-00-00 00:00:00', 70, '0'), -(15, 10, '《项目资源计划》', '', '', '', '', 'admin', '2020-01-09 11:19:46', '', '0000-00-00 00:00:00', 75, '0'), -(16, 10, '《干系人计划》', '', '', '', '', 'admin', '2020-01-09 11:19:46', '', '0000-00-00 00:00:00', 80, '0'), -(17, 10, '《同行评审计划》', '', '', '', '', 'admin', '2020-01-09 11:19:46', '', '0000-00-00 00:00:00', 85, '0'), -(18, 10, '《质量保证计划》', '', '', '', '', 'admin', '2020-01-09 11:19:46', '', '0000-00-00 00:00:00', 90, '0'), -(19, 10, '《配置管理计划》', '', '', '', '', 'admin', '2020-01-09 11:19:46', '', '0000-00-00 00:00:00', 95, '0'), -(20, 11, '《同行评审通知》', '', '', '', '', 'admin', '2020-01-09 11:20:16', '', '0000-00-00 00:00:00', 100, '0'), -(21, 11, '《评审准备表》', '', '', '', '', 'admin', '2020-01-09 11:20:16', '', '0000-00-00 00:00:00', 105, '0'), -(22, 11, '《同行评审报告》', '', '', '', '', 'admin', '2020-01-09 11:20:17', '', '0000-00-00 00:00:00', 110, '0'), -(23, 12, '《里程碑报告》', '', 'yes', '', '', 'admin', '2020-01-09 13:44:11', '', '0000-00-00 00:00:00', 115, '0'), -(24, 12, '《项目周报》', '', 'yes', '', '', 'admin', '2020-01-09 13:44:11', '', '0000-00-00 00:00:00', 120, '0'), -(25, 13, '《项目周报》', '', 'yes', '', '', 'admin', '2020-01-09 13:44:11', '', '0000-00-00 00:00:00', 125, '0'), -(26, 13, '《会议纪要》', '', 'yes', '', '', 'admin', '2020-01-09 13:44:11', '', '0000-00-00 00:00:00', 130, '0'), -(27, 14, '《里程碑报告》', '', 'yes', '', '', 'admin', '2020-01-09 13:44:11', '', '0000-00-00 00:00:00', 135, '0'), -(28, 14, '《里程碑会议纪要》', '', 'yes', '', '', 'admin', '2020-01-09 13:44:11', '', '0000-00-00 00:00:00', 140, '0'), -(29, 15, '《计划变更申请》', '', 'no', '', '', 'admin', '2020-01-09 13:44:11', '', '0000-00-00 00:00:00', 145, '0'), -(30, 16, '《风险管理计划及跟踪表》', '', '', '', '', 'admin', '2020-01-09 13:45:53', '', '0000-00-00 00:00:00', 150, '0'), -(31, 17, '《风险管理计划及跟踪表》', '', '', '', '', 'admin', '2020-01-09 13:45:53', '', '0000-00-00 00:00:00', 155, '0'), -(32, 17, '《风险管理报告》', '', '', '', '', 'admin', '2020-01-09 13:45:53', '', '0000-00-00 00:00:00', 160, '0'), -(33, 18, '《风险管理计划及跟踪表》', '', '', '', '', 'admin', '2020-01-09 13:45:53', '', '0000-00-00 00:00:00', 165, '0'), -(34, 19, '《异常处理申请表》', '', '', '', '', 'admin', '2020-01-09 13:45:53', '', '0000-00-00 00:00:00', 170, '0'), -(35, 19, '《风险管理计划及跟踪表》', '', '', '', '', 'admin', '2020-01-09 13:45:53', '', '0000-00-00 00:00:00', 175, '0'), -(36, 20, '《风险管理报告》', '', '', '', '', 'admin', '2020-01-09 13:45:53', '', '0000-00-00 00:00:00', 180, '0'), -(37, 20, '《风险管理计划及跟踪表》', '', '', '', '', 'admin', '2020-01-09 13:45:53', '', '0000-00-00 00:00:00', 185, '0'), -(38, 21, '《风险列表库》', '', '', '', '', 'admin', '2020-01-09 13:45:53', '', '0000-00-00 00:00:00', 190, '0'), -(39, 22, '《代码复用总结》', '', '', '', '', 'admin', '2020-01-09 13:46:26', '', '0000-00-00 00:00:00', 195, '0'), -(40, 24, '《结项报告》', '', '', '', '', 'admin', '2020-01-09 13:46:26', '', '0000-00-00 00:00:00', 200, '0'), -(41, 26, '《量化项目管理及跟踪计划》', '', 'yes', '', '', 'admin', '2020-01-09 13:46:46', '', '0000-00-00 00:00:00', 205, '0'), -(42, 27, '《用户需求调查单》', '', 'yes', '', '', 'admin', '2020-01-09 14:08:58', '', '0000-00-00 00:00:00', 210, '0'), -(43, 27, '《用户需求说明书》', '', 'yes', '', '', 'admin', '2020-01-09 14:08:58', '', '0000-00-00 00:00:00', 215, '0'), -(44, 28, '《评审通知》', '', 'yes', '', '', 'admin', '2020-01-09 14:08:58', '', '0000-00-00 00:00:00', 220, '0'), -(45, 28, '《同行评审准备表》', '', 'yes', '', '', 'admin', '2020-01-09 14:08:58', '', '0000-00-00 00:00:00', 225, '0'), -(46, 28, '《同行评审报告》', '', 'yes', '', '', 'admin', '2020-01-09 14:08:58', '', '0000-00-00 00:00:00', 230, '0'), -(47, 29, '《产品需求规格说明书》', '', 'yes', '', '', 'admin', '2020-01-09 14:08:58', '', '0000-00-00 00:00:00', 235, '0'), -(48, 30, '《评审通知》', '', 'yes', '', '', 'admin', '2020-01-09 14:08:58', '', '0000-00-00 00:00:00', 240, '0'), -(49, 30, ' 《同行评审准备表》', '', 'yes', '', '', 'admin', '2020-01-09 14:08:58', '', '0000-00-00 00:00:00', 245, '0'), -(50, 30, ' 《同行评审报告》', '', 'yes', '', '', 'admin', '2020-01-09 14:08:58', '', '0000-00-00 00:00:00', 250, '0'), -(51, 31, '《需求变更记录》', '', '', '', '', 'admin', '2020-01-09 14:08:58', '', '0000-00-00 00:00:00', 255, '0'), -(52, 31, '《用户需求说明书》', '', '', '', '', 'admin', '2020-01-09 14:08:58', '', '0000-00-00 00:00:00', 260, '0'), -(53, 31, '《软件需求规格说明书》', '', '', '', '', 'admin', '2020-01-09 14:08:58', '', '0000-00-00 00:00:00', 265, '0'), -(54, 32, '《概要设计说明书》', '', 'yes', '', '', 'admin', '2020-01-09 14:20:09', '', '0000-00-00 00:00:00', 270, '0'), -(55, 33, '《评审通知》', '', 'yes', '', '', 'admin', '2020-01-09 14:20:09', '', '0000-00-00 00:00:00', 275, '0'), -(56, 33, '《同行评审准备表》', '', 'yes', '', '', 'admin', '2020-01-09 14:20:09', '', '0000-00-00 00:00:00', 280, '0'), -(57, 33, '《同行评审报告》', '', 'yes', '', '', 'admin', '2020-01-09 14:20:09', '', '0000-00-00 00:00:00', 285, '0'), -(58, 34, '《模块设计说明书》', '', 'no', '', '', 'admin', '2020-01-09 14:20:09', '', '0000-00-00 00:00:00', 290, '0'), -(59, 34, '《数据库设计说明书》', '', 'yes', '', '', 'admin', '2020-01-09 14:20:09', '', '0000-00-00 00:00:00', 295, '0'), -(60, 34, '《用户界面设计说明书》', '', 'no', '', '', 'admin', '2020-01-09 14:20:09', '', '0000-00-00 00:00:00', 300, '0'), -(61, 35, '《评审通知》', '', 'no', '', '', 'admin', '2020-01-09 14:20:09', '', '0000-00-00 00:00:00', 305, '0'), -(62, 35, '《同行评审准备表》', '', 'no', '', '', 'admin', '2020-01-09 14:20:09', '', '0000-00-00 00:00:00', 310, '0'), -(63, 35, '《同行评审报告》', '', 'no', '', '', 'admin', '2020-01-09 14:20:09', '', '0000-00-00 00:00:00', 315, '0'), -(64, 42, '《实现与测试计划》', '', 'yes', '', '', 'admin', '2020-01-09 14:22:52', '', '0000-00-00 00:00:00', 320, '0'), -(65, 42, '《单板硬件调试和单元测试计划》', '', 'yes', '', '', 'admin', '2020-01-09 14:22:52', '', '0000-00-00 00:00:00', 325, '0'), -(66, 42, '《项目进度表》中“实现与测试”部分', '', 'yes', '', '', 'admin', '2020-01-09 14:22:52', '', '0000-00-00 00:00:00', 330, '0'), -(67, 43, '产品数据库', '', '', '', '', 'admin', '2020-01-09 14:22:52', '', '0000-00-00 00:00:00', 335, '0'), -(68, 44, '模块代码', '', '', '', '', 'admin', '2020-01-09 14:22:52', '', '0000-00-00 00:00:00', 340, '0'), -(69, 45, '《代码质量检查记录单》', '', '', '', '', 'admin', '2020-01-09 14:22:52', '', '0000-00-00 00:00:00', 345, '0'), -(70, 46, '《单元测试缺陷统计分析报告》', '', '', '', '', 'admin', '2020-01-09 14:22:52', '', '0000-00-00 00:00:00', 350, '0'), -(71, 47, '禅道缺陷记录', '', '', '', '', 'admin', '2020-01-09 14:22:52', '', '0000-00-00 00:00:00', 355, '0'), -(72, 48, '《系统集成说明书》', '', '', '', '', 'admin', '2020-01-09 14:22:52', '', '0000-00-00 00:00:00', 360, '0'), -(73, 49, '《集成测试用例》', '', '', '', '', 'admin', '2020-01-09 14:22:52', '', '0000-00-00 00:00:00', 365, '0'), -(74, 50, '《评审通知》 ', '', '', '', '', 'admin', '2020-01-09 14:22:52', '', '0000-00-00 00:00:00', 370, '0'), -(75, 50, '《同行评审准备表》 ', '', '', '', '', 'admin', '2020-01-09 14:22:52', '', '0000-00-00 00:00:00', 375, '0'), -(76, 50, '《同行评审报告》', '', '', '', '', 'admin', '2020-01-09 14:22:52', '', '0000-00-00 00:00:00', 380, '0'), -(77, 51, '《集成测试报告》', '', '', '', '', 'admin', '2020-01-09 14:22:52', '', '0000-00-00 00:00:00', 385, '0'), -(78, 52, '禅道缺陷记录', '', '', '', '', 'admin', '2020-01-09 14:22:52', '', '0000-00-00 00:00:00', 390, '0'), -(79, 52, '《用户操作手册》 ', '', '', '', '', 'admin', '2020-01-09 14:22:52', '', '0000-00-00 00:00:00', 395, '0'), -(80, 52, '《安装手册》', '', '', '', '', 'admin', '2020-01-09 14:22:52', '', '0000-00-00 00:00:00', 400, '0'), -(81, 54, '《系统测试计划》', '', 'yes', '', '', 'admin', '2020-01-09 14:25:16', '', '0000-00-00 00:00:00', 405, '0'), -(82, 55, '《评审通知》', '', 'yes', '', '', 'admin', '2020-01-09 14:25:16', '', '0000-00-00 00:00:00', 410, '0'), -(83, 55, '《同行评审准备表》', '', 'yes', '', '', 'admin', '2020-01-09 14:25:16', '', '0000-00-00 00:00:00', 415, '0'), -(84, 55, '《同行评审报告》', '', 'yes', '', '', 'admin', '2020-01-09 14:25:16', '', '0000-00-00 00:00:00', 420, '0'), -(85, 56, '《系统测试用例》', '', 'yes', '', '', 'admin', '2020-01-09 14:25:16', '', '0000-00-00 00:00:00', 425, '0'), -(86, 57, '《评审通知》', '', 'yes', '', '', 'admin', '2020-01-09 14:25:16', '', '0000-00-00 00:00:00', 430, '0'), -(87, 57, '《同行评审准备表》', '', 'yes', '', '', 'admin', '2020-01-09 14:25:16', '', '0000-00-00 00:00:00', 435, '0'), -(88, 57, '《同行评审报告》', '', 'yes', '', '', 'admin', '2020-01-09 14:25:16', '', '0000-00-00 00:00:00', 440, '0'), -(89, 58, '禅道缺陷跟踪系统记录项', '', 'yes', '', '', 'admin', '2020-01-09 14:25:16', '', '0000-00-00 00:00:00', 445, '0'), -(90, 58, '《系统测试分析报告》', '', 'yes', '', '', 'admin', '2020-01-09 14:25:16', '', '0000-00-00 00:00:00', 450, '0'), -(91, 58, '《缺陷统计分析报告》', '', 'yes', '', '', 'admin', '2020-01-09 14:25:16', '', '0000-00-00 00:00:00', 455, '0'), -(92, 59, '《产品打包清单》', '', 'yes', '', '', 'admin', '2020-01-09 14:25:16', '', '0000-00-00 00:00:00', 460, '0'), -(93, 60, '发布光盘、纸质支持文档', '', 'yes', '', '', 'admin', '2020-01-09 14:26:52', '', '0000-00-00 00:00:00', 465, '0'), -(94, 61, '《交接签收单》', '', 'yes', '', '', 'admin', '2020-01-09 14:26:52', '', '0000-00-00 00:00:00', 470, '0'), -(95, 62, '《工作联系单》', '', 'yes', '', '', 'admin', '2020-01-09 14:26:52', '', '0000-00-00 00:00:00', 475, '0'), -(96, 62, '《工作记录单》', '', 'yes', '', '', 'admin', '2020-01-09 14:26:52', '', '0000-00-00 00:00:00', 480, '0'), -(97, 62, '《交接签收单》', '', 'yes', '', '', 'admin', '2020-01-09 14:26:52', '', '0000-00-00 00:00:00', 485, '0'), -(98, 62, '《安装调试信息》', '', 'yes', '', '', 'admin', '2020-01-09 14:26:52', '', '0000-00-00 00:00:00', 490, '0'), -(99, 64, '禅道缺陷记录项', '', 'yes', '', '', 'admin', '2020-01-09 14:26:52', '', '0000-00-00 00:00:00', 495, '0'), -(100, 64, '会议纪要等文档', '', 'yes', '', '', 'admin', '2020-01-09 14:26:52', '', '0000-00-00 00:00:00', 500, '0'), -(101, 65, '《交接验收单》', '', 'yes', '', '', 'admin', '2020-01-09 14:26:52', '', '0000-00-00 00:00:00', 505, '0'), -(102, 65, '《客户验收报告》', '', 'yes', '', '', 'admin', '2020-01-09 14:26:52', '', '0000-00-00 00:00:00', 510, '0'), -(103, 66, '初步《质量保证计划及跟踪表》', '', 'yes', '', '', 'admin', '2020-01-09 14:28:18', '', '0000-00-00 00:00:00', 515, '0'), -(104, 67, '详细《质量保证计划及跟踪表》', '', 'yes', '', '', 'admin', '2020-01-09 14:28:18', '', '0000-00-00 00:00:00', 520, '0'), -(105, 68, '《过程审计检查表》', '', 'yes', '', '', 'admin', '2020-01-09 14:28:18', '', '0000-00-00 00:00:00', 525, '0'), -(106, 68, '《产品审计检查表》', '', 'yes', '', '', 'admin', '2020-01-09 14:28:18', '', '0000-00-00 00:00:00', 530, '0'), -(107, 68, '《QA审计报告》', '', 'yes', '', '', 'admin', '2020-01-09 14:28:18', '', '0000-00-00 00:00:00', 535, '0'), -(108, 68, '《QA问题报告》', '', 'yes', '', '', 'admin', '2020-01-09 14:28:18', '', '0000-00-00 00:00:00', 540, '0'), -(109, 68, '《QA里程碑报告》', '', 'yes', '', '', 'admin', '2020-01-09 14:28:18', '', '0000-00-00 00:00:00', 545, '0'), -(110, 68, '《QA周报》', '', 'yes', '', '', 'admin', '2020-01-09 14:28:18', '', '0000-00-00 00:00:00', 550, '0'), -(111, 69, '《QA审计报告》', '', 'yes', '', '', 'admin', '2020-01-09 14:28:18', '', '0000-00-00 00:00:00', 555, '0'), -(112, 69, '《QA问题报告》', '', 'yes', '', '', 'admin', '2020-01-09 14:28:18', '', '0000-00-00 00:00:00', 560, '0'), -(113, 70, '《QA总结报告》', '', 'yes', '', '', 'admin', '2020-01-09 14:28:18', '', '0000-00-00 00:00:00', 565, '0'), -(114, 72, '《配置管理计划》', '', 'yes', '', '', 'admin', '2020-01-09 14:55:08', '', '0000-00-00 00:00:00', 570, '0'), -(115, 72, '《配置项计划及跟踪表》', '', 'yes', '', '', 'admin', '2020-01-09 14:55:08', '', '0000-00-00 00:00:00', 575, '0'), -(116, 72, '《基线计划及跟踪表》', '', 'yes', '', '', 'admin', '2020-01-09 14:55:08', '', '0000-00-00 00:00:00', 580, '0'), -(117, 73, '《配置库管理报告》', '', 'yes', '', '', 'admin', '2020-01-09 14:55:08', '', '0000-00-00 00:00:00', 585, '0'), -(118, 74, '《配置项计划及跟踪表》', '', 'yes', '', '', 'admin', '2020-01-09 14:55:08', '', '0000-00-00 00:00:00', 590, '0'), -(119, 75, '《基线计划及跟踪表》', '', 'yes', '', '', 'admin', '2020-01-09 14:55:08', '', '0000-00-00 00:00:00', 595, '0'), -(120, 76, '《变更申请书》', '', 'yes', '', '', 'admin', '2020-01-09 14:55:08', '', '0000-00-00 00:00:00', 600, '0'), -(121, 77, '《配置审计报告》', '', 'yes', '', '', 'admin', '2020-01-09 14:55:08', '', '0000-00-00 00:00:00', 605, '0'), -(122, 80, '《度量分析计划》', '', 'yes', '', '', 'admin', '2020-01-09 14:55:08', '', '0000-00-00 00:00:00', 610, '0'), -(123, 82, '项目度量数据库', '', 'yes', '', '', 'admin', '2020-01-09 14:55:08', '', '0000-00-00 00:00:00', 615, '0'), -(124, 86, '《量化项目管理及跟踪计划》', '', 'no', '', '', 'admin', '2020-01-09 14:59:04', '', '0000-00-00 00:00:00', 620, '0'), -(125, 84, '《决策分析报告》的决策分析评估表', '', 'no', '', '', 'admin', '2020-01-09 14:59:04', '', '0000-00-00 00:00:00', 625, '0'), -(126, 83, '《量化项目计划及跟踪表》', '', 'no', '', '', 'admin', '2020-01-09 14:59:04', '', '0000-00-00 00:00:00', 630, '0'), -(127, 87, '《决策分析报告》的评分表', '', 'no', '', '', 'admin', '2020-01-09 14:59:04', '', '0000-00-00 00:00:00', 635, '0'), -(128, 88, '《决策分析报告》的评分表', '', 'no', '', '', 'admin', '2020-01-09 14:59:04', '', '0000-00-00 00:00:00', 640, '0'), -(129, 89, '《决策分析报告》', '', 'no', '', '', 'admin', '2020-01-09 14:59:04', '', '0000-00-00 00:00:00', 645, '0'), -(130, 90, '《技术可行性分析报告》', '', '', '', '', 'admin', '2020-01-09 11:01:52', '', '0000-00-00 00:00:00', 25, '0'), -(131, 91, '《项目预算表》', '', '', '', '', 'admin', '2020-01-09 11:17:27', '', '0000-00-00 00:00:00', 30, '0'), -(132, 92, '《立项申请报告》', '', '', '', '', 'admin', '2020-01-09 11:17:50', '', '0000-00-00 00:00:00', 35, '0'), -(133, 93, '《项目投标书》', '不涉及投标', '', '', '', 'admin', '2020-01-09 11:18:12', '', '0000-00-00 00:00:00', 40, '0'), -(134, 94, '《项目估算报告》', '', '', '', '', 'admin', '2020-01-09 11:18:41', '', '0000-00-00 00:00:00', 45, '0'), -(135, 94, '《功能点估算》', '', '', '', '', 'admin', '2020-01-09 11:18:41', '', '0000-00-00 00:00:00', 50, '0'), -(136, 95, '《PDP说明》', '', '', '', '', 'admin', '2020-01-09 11:18:54', '', '0000-00-00 00:00:00', 55, '0'), -(137, 96, '《项目进度表》', '', '', '', '', 'admin', '2020-01-09 11:19:46', '', '0000-00-00 00:00:00', 60, '0'), -(138, 96, '《项目计划》及其下属计划', '', '', '', '', 'admin', '2020-01-09 11:19:46', '', '0000-00-00 00:00:00', 65, '0'), -(139, 96, '《风险管理计划及跟踪表》', '', '', '', '', 'admin', '2020-01-09 11:19:46', '', '0000-00-00 00:00:00', 70, '0'), -(140, 96, '《项目资源计划》', '', '', '', '', 'admin', '2020-01-09 11:19:46', '', '0000-00-00 00:00:00', 75, '0'), -(141, 96, '《干系人计划》', '', '', '', '', 'admin', '2020-01-09 11:19:46', '', '0000-00-00 00:00:00', 80, '0'), -(142, 96, '《同行评审计划》', '', '', '', '', 'admin', '2020-01-09 11:19:46', '', '0000-00-00 00:00:00', 85, '0'), -(143, 96, '《质量保证计划》', '', '', '', '', 'admin', '2020-01-09 11:19:46', '', '0000-00-00 00:00:00', 90, '0'), -(144, 96, '《配置管理计划》', '', '', '', '', 'admin', '2020-01-09 11:19:46', '', '0000-00-00 00:00:00', 95, '0'), -(145, 97, '《同行评审通知》', '', '', '', '', 'admin', '2020-01-09 11:20:16', '', '0000-00-00 00:00:00', 100, '0'), -(146, 97, '《评审准备表》', '', '', '', '', 'admin', '2020-01-09 11:20:16', '', '0000-00-00 00:00:00', 105, '0'), -(147, 97, '《同行评审报告》', '', '', '', '', 'admin', '2020-01-09 11:20:17', '', '0000-00-00 00:00:00', 110, '0'), -(148, 98, '《里程碑报告》', '', 'yes', '', '', 'admin', '2020-01-09 13:44:11', '', '0000-00-00 00:00:00', 115, '0'), -(149, 98, '《项目周报》', '', 'yes', '', '', 'admin', '2020-01-09 13:44:11', '', '0000-00-00 00:00:00', 120, '0'), -(150, 99, '《项目周报》', '', 'yes', '', '', 'admin', '2020-01-09 13:44:11', '', '0000-00-00 00:00:00', 125, '0'), -(151, 99, '《会议纪要》', '', 'yes', '', '', 'admin', '2020-01-09 13:44:11', '', '0000-00-00 00:00:00', 130, '0'), -(152, 100, '《里程碑报告》', '', 'yes', '', '', 'admin', '2020-01-09 13:44:11', '', '0000-00-00 00:00:00', 135, '0'), -(153, 100, '《里程碑会议纪要》', '', 'yes', '', '', 'admin', '2020-01-09 13:44:11', '', '0000-00-00 00:00:00', 140, '0'), -(154, 101, '《计划变更申请》', '', 'no', '', '', 'admin', '2020-01-09 13:44:11', '', '0000-00-00 00:00:00', 145, '0'), -(155, 102, '《风险管理计划及跟踪表》', '', '', '', '', 'admin', '2020-01-09 13:45:53', '', '0000-00-00 00:00:00', 150, '0'), -(156, 103, '《风险管理计划及跟踪表》', '', '', '', '', 'admin', '2020-01-09 13:45:53', '', '0000-00-00 00:00:00', 155, '0'), -(157, 103, '《风险管理报告》', '', '', '', '', 'admin', '2020-01-09 13:45:53', '', '0000-00-00 00:00:00', 160, '0'), -(158, 104, '《风险管理计划及跟踪表》', '', '', '', '', 'admin', '2020-01-09 13:45:53', '', '0000-00-00 00:00:00', 165, '0'), -(159, 105, '《异常处理申请表》', '', '', '', '', 'admin', '2020-01-09 13:45:53', '', '0000-00-00 00:00:00', 170, '0'), -(160, 105, '《风险管理计划及跟踪表》', '', '', '', '', 'admin', '2020-01-09 13:45:53', '', '0000-00-00 00:00:00', 175, '0'), -(161, 106, '《风险管理报告》', '', '', '', '', 'admin', '2020-01-09 13:45:53', '', '0000-00-00 00:00:00', 180, '0'), -(162, 106, '《风险管理计划及跟踪表》', '', '', '', '', 'admin', '2020-01-09 13:45:53', '', '0000-00-00 00:00:00', 185, '0'), -(163, 107, '《风险列表库》', '', '', '', '', 'admin', '2020-01-09 13:45:53', '', '0000-00-00 00:00:00', 190, '0'), -(164, 108, '《代码复用总结》', '', '', '', '', 'admin', '2020-01-09 13:46:26', '', '0000-00-00 00:00:00', 195, '0'), -(165, 110, '《结项报告》', '', '', '', '', 'admin', '2020-01-09 13:46:26', '', '0000-00-00 00:00:00', 200, '0'), -(166, 112, '《量化项目管理及跟踪计划》', '', 'yes', '', '', 'admin', '2020-01-09 13:46:46', '', '0000-00-00 00:00:00', 205, '0'), -(167, 113, '《用户需求调查单》', '', 'yes', '', '', 'admin', '2020-01-09 14:08:58', '', '0000-00-00 00:00:00', 210, '0'), -(168, 113, '《用户需求说明书》', '', 'yes', '', '', 'admin', '2020-01-09 14:08:58', '', '0000-00-00 00:00:00', 215, '0'), -(169, 114, '《评审通知》', '', 'yes', '', '', 'admin', '2020-01-09 14:08:58', '', '0000-00-00 00:00:00', 220, '0'), -(170, 114, '《同行评审准备表》', '', 'yes', '', '', 'admin', '2020-01-09 14:08:58', '', '0000-00-00 00:00:00', 225, '0'), -(171, 114, '《同行评审报告》', '', 'yes', '', '', 'admin', '2020-01-09 14:08:58', '', '0000-00-00 00:00:00', 230, '0'), -(172, 115, '《产品需求规格说明书》', '', 'yes', '', '', 'admin', '2020-01-09 14:08:58', '', '0000-00-00 00:00:00', 235, '0'), -(173, 116, '《评审通知》', '', 'yes', '', '', 'admin', '2020-01-09 14:08:58', '', '0000-00-00 00:00:00', 240, '0'), -(174, 116, ' 《同行评审准备表》', '', 'yes', '', '', 'admin', '2020-01-09 14:08:58', '', '0000-00-00 00:00:00', 245, '0'), -(175, 116, ' 《同行评审报告》', '', 'yes', '', '', 'admin', '2020-01-09 14:08:58', '', '0000-00-00 00:00:00', 250, '0'), -(176, 117, '《需求变更记录》', '', '', '', '', 'admin', '2020-01-09 14:08:58', '', '0000-00-00 00:00:00', 255, '0'), -(177, 117, '《用户需求说明书》', '', '', '', '', 'admin', '2020-01-09 14:08:58', '', '0000-00-00 00:00:00', 260, '0'), -(178, 117, '《软件需求规格说明书》', '', '', '', '', 'admin', '2020-01-09 14:08:58', '', '0000-00-00 00:00:00', 265, '0'), -(179, 118, '《概要设计说明书》', '', 'yes', '', '', 'admin', '2020-01-09 14:20:09', '', '0000-00-00 00:00:00', 270, '0'), -(180, 119, '《评审通知》', '', 'yes', '', '', 'admin', '2020-01-09 14:20:09', '', '0000-00-00 00:00:00', 275, '0'), -(181, 119, '《同行评审准备表》', '', 'yes', '', '', 'admin', '2020-01-09 14:20:09', '', '0000-00-00 00:00:00', 280, '0'), -(182, 119, '《同行评审报告》', '', 'yes', '', '', 'admin', '2020-01-09 14:20:09', '', '0000-00-00 00:00:00', 285, '0'), -(183, 120, '《模块设计说明书》', '', 'no', '', '', 'admin', '2020-01-09 14:20:09', '', '0000-00-00 00:00:00', 290, '0'), -(184, 120, '《数据库设计说明书》', '', 'yes', '', '', 'admin', '2020-01-09 14:20:09', '', '0000-00-00 00:00:00', 295, '0'), -(185, 120, '《用户界面设计说明书》', '', 'no', '', '', 'admin', '2020-01-09 14:20:09', '', '0000-00-00 00:00:00', 300, '0'), -(186, 121, '《评审通知》', '', 'no', '', '', 'admin', '2020-01-09 14:20:09', '', '0000-00-00 00:00:00', 305, '0'), -(187, 121, '《同行评审准备表》', '', 'no', '', '', 'admin', '2020-01-09 14:20:09', '', '0000-00-00 00:00:00', 310, '0'), -(188, 121, '《同行评审报告》', '', 'no', '', '', 'admin', '2020-01-09 14:20:09', '', '0000-00-00 00:00:00', 315, '0'), -(189, 128, '《实现与测试计划》', '', 'yes', '', '', 'admin', '2020-01-09 14:22:52', '', '0000-00-00 00:00:00', 320, '0'), -(190, 128, '《单板硬件调试和单元测试计划》', '', 'yes', '', '', 'admin', '2020-01-09 14:22:52', '', '0000-00-00 00:00:00', 325, '0'), -(191, 128, '《项目进度表》中“实现与测试”部分', '', 'yes', '', '', 'admin', '2020-01-09 14:22:52', '', '0000-00-00 00:00:00', 330, '0'), -(192, 129, '产品数据库', '', '', '', '', 'admin', '2020-01-09 14:22:52', '', '0000-00-00 00:00:00', 335, '0'), -(193, 130, '模块代码', '', '', '', '', 'admin', '2020-01-09 14:22:52', '', '0000-00-00 00:00:00', 340, '0'), -(194, 131, '《代码质量检查记录单》', '', '', '', '', 'admin', '2020-01-09 14:22:52', '', '0000-00-00 00:00:00', 345, '0'), -(195, 132, '《单元测试缺陷统计分析报告》', '', '', '', '', 'admin', '2020-01-09 14:22:52', '', '0000-00-00 00:00:00', 350, '0'), -(196, 133, 'bugzilla缺陷记录', '', '', '', '', 'admin', '2020-01-09 14:22:52', '', '0000-00-00 00:00:00', 355, '0'), -(197, 134, '《系统集成说明书》', '', '', '', '', 'admin', '2020-01-09 14:22:52', '', '0000-00-00 00:00:00', 360, '0'), -(198, 135, '《集成测试用例》', '', '', '', '', 'admin', '2020-01-09 14:22:52', '', '0000-00-00 00:00:00', 365, '0'), -(199, 136, '《评审通知》 ', '', '', '', '', 'admin', '2020-01-09 14:22:52', '', '0000-00-00 00:00:00', 370, '0'), -(200, 136, '《同行评审准备表》 ', '', '', '', '', 'admin', '2020-01-09 14:22:52', '', '0000-00-00 00:00:00', 375, '0'), -(201, 136, '《同行评审报告》', '', '', '', '', 'admin', '2020-01-09 14:22:52', '', '0000-00-00 00:00:00', 380, '0'), -(202, 137, '《集成测试报告》', '', '', '', '', 'admin', '2020-01-09 14:22:52', '', '0000-00-00 00:00:00', 385, '0'), -(203, 138, 'bugzilla缺陷记录', '', '', '', '', 'admin', '2020-01-09 14:22:52', '', '0000-00-00 00:00:00', 390, '0'), -(204, 138, '《用户操作手册》 ', '', '', '', '', 'admin', '2020-01-09 14:22:52', '', '0000-00-00 00:00:00', 395, '0'), -(205, 138, '《安装手册》', '', '', '', '', 'admin', '2020-01-09 14:22:52', '', '0000-00-00 00:00:00', 400, '0'), -(206, 140, '《系统测试计划》', '', 'yes', '', '', 'admin', '2020-01-09 14:25:16', '', '0000-00-00 00:00:00', 405, '0'), -(207, 141, '《评审通知》', '', 'yes', '', '', 'admin', '2020-01-09 14:25:16', '', '0000-00-00 00:00:00', 410, '0'), -(208, 141, '《同行评审准备表》', '', 'yes', '', '', 'admin', '2020-01-09 14:25:16', '', '0000-00-00 00:00:00', 415, '0'), -(209, 141, '《同行评审报告》', '', 'yes', '', '', 'admin', '2020-01-09 14:25:16', '', '0000-00-00 00:00:00', 420, '0'), -(210, 142, '《系统测试用例》', '', 'yes', '', '', 'admin', '2020-01-09 14:25:16', '', '0000-00-00 00:00:00', 425, '0'), -(211, 143, '《评审通知》', '', 'yes', '', '', 'admin', '2020-01-09 14:25:16', '', '0000-00-00 00:00:00', 430, '0'), -(212, 143, '《同行评审准备表》', '', 'yes', '', '', 'admin', '2020-01-09 14:25:16', '', '0000-00-00 00:00:00', 435, '0'), -(213, 143, '《同行评审报告》', '', 'yes', '', '', 'admin', '2020-01-09 14:25:16', '', '0000-00-00 00:00:00', 440, '0'), -(214, 144, 'bugzilla缺陷跟踪系统记录项', '', 'yes', '', '', 'admin', '2020-01-09 14:25:16', '', '0000-00-00 00:00:00', 445, '0'), -(215, 144, '《系统测试分析报告》', '', 'yes', '', '', 'admin', '2020-01-09 14:25:16', '', '0000-00-00 00:00:00', 450, '0'), -(216, 144, '《缺陷统计分析报告》', '', 'yes', '', '', 'admin', '2020-01-09 14:25:16', '', '0000-00-00 00:00:00', 455, '0'), -(217, 145, '《产品打包清单》', '', 'yes', '', '', 'admin', '2020-01-09 14:25:16', '', '0000-00-00 00:00:00', 460, '0'), -(218, 146, '发布光盘、纸质支持文档', '', 'yes', '', '', 'admin', '2020-01-09 14:26:52', '', '0000-00-00 00:00:00', 465, '0'), -(219, 147, '《交接签收单》', '', 'yes', '', '', 'admin', '2020-01-09 14:26:52', '', '0000-00-00 00:00:00', 470, '0'), -(220, 148, '《工作联系单》', '', 'yes', '', '', 'admin', '2020-01-09 14:26:52', '', '0000-00-00 00:00:00', 475, '0'), -(221, 148, '《工作记录单》', '', 'yes', '', '', 'admin', '2020-01-09 14:26:52', '', '0000-00-00 00:00:00', 480, '0'), -(222, 148, '《交接签收单》', '', 'yes', '', '', 'admin', '2020-01-09 14:26:52', '', '0000-00-00 00:00:00', 485, '0'), -(223, 148, '《安装调试信息》', '', 'yes', '', '', 'admin', '2020-01-09 14:26:52', '', '0000-00-00 00:00:00', 490, '0'), -(224, 150, 'bugzilla缺陷记录项', '', 'yes', '', '', 'admin', '2020-01-09 14:26:52', '', '0000-00-00 00:00:00', 495, '0'), -(225, 150, '会议纪要等文档', '', 'yes', '', '', 'admin', '2020-01-09 14:26:52', '', '0000-00-00 00:00:00', 500, '0'), -(226, 151, '《交接验收单》', '', 'yes', '', '', 'admin', '2020-01-09 14:26:52', '', '0000-00-00 00:00:00', 505, '0'), -(227, 151, '《客户验收报告》', '', 'yes', '', '', 'admin', '2020-01-09 14:26:52', '', '0000-00-00 00:00:00', 510, '0'), -(228, 152, '初步《质量保证计划及跟踪表》', '', 'yes', '', '', 'admin', '2020-01-09 14:28:18', '', '0000-00-00 00:00:00', 515, '0'), -(229, 153, '详细《质量保证计划及跟踪表》', '', 'yes', '', '', 'admin', '2020-01-09 14:28:18', '', '0000-00-00 00:00:00', 520, '0'), -(230, 154, '《过程审计检查表》', '', 'yes', '', '', 'admin', '2020-01-09 14:28:18', '', '0000-00-00 00:00:00', 525, '0'), -(231, 154, '《产品审计检查表》', '', 'yes', '', '', 'admin', '2020-01-09 14:28:18', '', '0000-00-00 00:00:00', 530, '0'), -(232, 154, '《QA审计报告》', '', 'yes', '', '', 'admin', '2020-01-09 14:28:18', '', '0000-00-00 00:00:00', 535, '0'), -(233, 154, '《QA问题报告》', '', 'yes', '', '', 'admin', '2020-01-09 14:28:18', '', '0000-00-00 00:00:00', 540, '0'), -(234, 154, '《QA里程碑报告》', '', 'yes', '', '', 'admin', '2020-01-09 14:28:18', '', '0000-00-00 00:00:00', 545, '0'), -(235, 154, '《QA周报》', '', 'yes', '', '', 'admin', '2020-01-09 14:28:18', '', '0000-00-00 00:00:00', 550, '0'), -(236, 155, '《QA审计报告》', '', 'yes', '', '', 'admin', '2020-01-09 14:28:18', '', '0000-00-00 00:00:00', 555, '0'), -(237, 155, '《QA问题报告》', '', 'yes', '', '', 'admin', '2020-01-09 14:28:18', '', '0000-00-00 00:00:00', 560, '0'), -(238, 156, '《QA总结报告》', '', 'yes', '', '', 'admin', '2020-01-09 14:28:18', '', '0000-00-00 00:00:00', 565, '0'), -(239, 158, '《配置管理计划》', '', 'yes', '', '', 'admin', '2020-01-09 14:55:08', '', '0000-00-00 00:00:00', 570, '0'), -(240, 158, '《配置项计划及跟踪表》', '', 'yes', '', '', 'admin', '2020-01-09 14:55:08', '', '0000-00-00 00:00:00', 575, '0'), -(241, 158, '《基线计划及跟踪表》', '', 'yes', '', '', 'admin', '2020-01-09 14:55:08', '', '0000-00-00 00:00:00', 580, '0'), -(242, 159, '《配置库管理报告》', '', 'yes', '', '', 'admin', '2020-01-09 14:55:08', '', '0000-00-00 00:00:00', 585, '0'), -(243, 160, '《配置项计划及跟踪表》', '', 'yes', '', '', 'admin', '2020-01-09 14:55:08', '', '0000-00-00 00:00:00', 590, '0'), -(244, 161, '《基线计划及跟踪表》', '', 'yes', '', '', 'admin', '2020-01-09 14:55:08', '', '0000-00-00 00:00:00', 595, '0'), -(245, 162, '《变更申请书》', '', 'yes', '', '', 'admin', '2020-01-09 14:55:08', '', '0000-00-00 00:00:00', 600, '0'), -(246, 163, '《配置审计报告》', '', 'yes', '', '', 'admin', '2020-01-09 14:55:08', '', '0000-00-00 00:00:00', 605, '0'), -(247, 166, '《度量分析计划》', '', 'yes', '', '', 'admin', '2020-01-09 14:55:08', '', '0000-00-00 00:00:00', 610, '0'), -(248, 168, '项目度量数据库', '', 'yes', '', '', 'admin', '2020-01-09 14:55:08', '', '0000-00-00 00:00:00', 615, '0'), -(249, 169, '《量化项目计划及跟踪表》', '', 'no', '', '', 'admin', '2020-01-09 14:59:04', '', '0000-00-00 00:00:00', 630, '0'); +(5, 4, '《技术可行性分析报告》', '', '', '', '', 'admin', '2020-01-09 11:01:52', '', '1970-01-01 00:00:01', 25, '0'), +(6, 5, '《项目预算表》', '', '', '', '', 'admin', '2020-01-09 11:17:27', '', '1970-01-01 00:00:01', 30, '0'), +(7, 6, '《立项申请报告》', '', '', '', '', 'admin', '2020-01-09 11:17:50', '', '1970-01-01 00:00:01', 35, '0'), +(8, 7, '《项目投标书》', '不涉及投标', '', '', '', 'admin', '2020-01-09 11:18:12', '', '1970-01-01 00:00:01', 40, '0'), +(9, 8, '《项目估算报告》', '', '', '', '', 'admin', '2020-01-09 11:18:41', '', '1970-01-01 00:00:01', 45, '0'), +(10, 8, '《功能点估算》', '', '', '', '', 'admin', '2020-01-09 11:18:41', '', '1970-01-01 00:00:01', 50, '0'), +(11, 9, '《PDP说明》', '', '', '', '', 'admin', '2020-01-09 11:18:54', '', '1970-01-01 00:00:01', 55, '0'), +(12, 10, '《项目进度表》', '', '', '', '', 'admin', '2020-01-09 11:19:46', '', '1970-01-01 00:00:01', 60, '0'), +(13, 10, '《项目计划》及其下属计划', '', '', '', '', 'admin', '2020-01-09 11:19:46', '', '1970-01-01 00:00:01', 65, '0'), +(14, 10, '《风险管理计划及跟踪表》', '', '', '', '', 'admin', '2020-01-09 11:19:46', '', '1970-01-01 00:00:01', 70, '0'), +(15, 10, '《项目资源计划》', '', '', '', '', 'admin', '2020-01-09 11:19:46', '', '1970-01-01 00:00:01', 75, '0'), +(16, 10, '《干系人计划》', '', '', '', '', 'admin', '2020-01-09 11:19:46', '', '1970-01-01 00:00:01', 80, '0'), +(17, 10, '《同行评审计划》', '', '', '', '', 'admin', '2020-01-09 11:19:46', '', '1970-01-01 00:00:01', 85, '0'), +(18, 10, '《质量保证计划》', '', '', '', '', 'admin', '2020-01-09 11:19:46', '', '1970-01-01 00:00:01', 90, '0'), +(19, 10, '《配置管理计划》', '', '', '', '', 'admin', '2020-01-09 11:19:46', '', '1970-01-01 00:00:01', 95, '0'), +(20, 11, '《同行评审通知》', '', '', '', '', 'admin', '2020-01-09 11:20:16', '', '1970-01-01 00:00:01', 100, '0'), +(21, 11, '《评审准备表》', '', '', '', '', 'admin', '2020-01-09 11:20:16', '', '1970-01-01 00:00:01', 105, '0'), +(22, 11, '《同行评审报告》', '', '', '', '', 'admin', '2020-01-09 11:20:17', '', '1970-01-01 00:00:01', 110, '0'), +(23, 12, '《里程碑报告》', '', 'yes', '', '', 'admin', '2020-01-09 13:44:11', '', '1970-01-01 00:00:01', 115, '0'), +(24, 12, '《项目周报》', '', 'yes', '', '', 'admin', '2020-01-09 13:44:11', '', '1970-01-01 00:00:01', 120, '0'), +(25, 13, '《项目周报》', '', 'yes', '', '', 'admin', '2020-01-09 13:44:11', '', '1970-01-01 00:00:01', 125, '0'), +(26, 13, '《会议纪要》', '', 'yes', '', '', 'admin', '2020-01-09 13:44:11', '', '1970-01-01 00:00:01', 130, '0'), +(27, 14, '《里程碑报告》', '', 'yes', '', '', 'admin', '2020-01-09 13:44:11', '', '1970-01-01 00:00:01', 135, '0'), +(28, 14, '《里程碑会议纪要》', '', 'yes', '', '', 'admin', '2020-01-09 13:44:11', '', '1970-01-01 00:00:01', 140, '0'), +(29, 15, '《计划变更申请》', '', 'no', '', '', 'admin', '2020-01-09 13:44:11', '', '1970-01-01 00:00:01', 145, '0'), +(30, 16, '《风险管理计划及跟踪表》', '', '', '', '', 'admin', '2020-01-09 13:45:53', '', '1970-01-01 00:00:01', 150, '0'), +(31, 17, '《风险管理计划及跟踪表》', '', '', '', '', 'admin', '2020-01-09 13:45:53', '', '1970-01-01 00:00:01', 155, '0'), +(32, 17, '《风险管理报告》', '', '', '', '', 'admin', '2020-01-09 13:45:53', '', '1970-01-01 00:00:01', 160, '0'), +(33, 18, '《风险管理计划及跟踪表》', '', '', '', '', 'admin', '2020-01-09 13:45:53', '', '1970-01-01 00:00:01', 165, '0'), +(34, 19, '《异常处理申请表》', '', '', '', '', 'admin', '2020-01-09 13:45:53', '', '1970-01-01 00:00:01', 170, '0'), +(35, 19, '《风险管理计划及跟踪表》', '', '', '', '', 'admin', '2020-01-09 13:45:53', '', '1970-01-01 00:00:01', 175, '0'), +(36, 20, '《风险管理报告》', '', '', '', '', 'admin', '2020-01-09 13:45:53', '', '1970-01-01 00:00:01', 180, '0'), +(37, 20, '《风险管理计划及跟踪表》', '', '', '', '', 'admin', '2020-01-09 13:45:53', '', '1970-01-01 00:00:01', 185, '0'), +(38, 21, '《风险列表库》', '', '', '', '', 'admin', '2020-01-09 13:45:53', '', '1970-01-01 00:00:01', 190, '0'), +(39, 22, '《代码复用总结》', '', '', '', '', 'admin', '2020-01-09 13:46:26', '', '1970-01-01 00:00:01', 195, '0'), +(40, 24, '《结项报告》', '', '', '', '', 'admin', '2020-01-09 13:46:26', '', '1970-01-01 00:00:01', 200, '0'), +(41, 26, '《量化项目管理及跟踪计划》', '', 'yes', '', '', 'admin', '2020-01-09 13:46:46', '', '1970-01-01 00:00:01', 205, '0'), +(42, 27, '《用户需求调查单》', '', 'yes', '', '', 'admin', '2020-01-09 14:08:58', '', '1970-01-01 00:00:01', 210, '0'), +(43, 27, '《用户需求说明书》', '', 'yes', '', '', 'admin', '2020-01-09 14:08:58', '', '1970-01-01 00:00:01', 215, '0'), +(44, 28, '《评审通知》', '', 'yes', '', '', 'admin', '2020-01-09 14:08:58', '', '1970-01-01 00:00:01', 220, '0'), +(45, 28, '《同行评审准备表》', '', 'yes', '', '', 'admin', '2020-01-09 14:08:58', '', '1970-01-01 00:00:01', 225, '0'), +(46, 28, '《同行评审报告》', '', 'yes', '', '', 'admin', '2020-01-09 14:08:58', '', '1970-01-01 00:00:01', 230, '0'), +(47, 29, '《产品需求规格说明书》', '', 'yes', '', '', 'admin', '2020-01-09 14:08:58', '', '1970-01-01 00:00:01', 235, '0'), +(48, 30, '《评审通知》', '', 'yes', '', '', 'admin', '2020-01-09 14:08:58', '', '1970-01-01 00:00:01', 240, '0'), +(49, 30, ' 《同行评审准备表》', '', 'yes', '', '', 'admin', '2020-01-09 14:08:58', '', '1970-01-01 00:00:01', 245, '0'), +(50, 30, ' 《同行评审报告》', '', 'yes', '', '', 'admin', '2020-01-09 14:08:58', '', '1970-01-01 00:00:01', 250, '0'), +(51, 31, '《需求变更记录》', '', '', '', '', 'admin', '2020-01-09 14:08:58', '', '1970-01-01 00:00:01', 255, '0'), +(52, 31, '《用户需求说明书》', '', '', '', '', 'admin', '2020-01-09 14:08:58', '', '1970-01-01 00:00:01', 260, '0'), +(53, 31, '《软件需求规格说明书》', '', '', '', '', 'admin', '2020-01-09 14:08:58', '', '1970-01-01 00:00:01', 265, '0'), +(54, 32, '《概要设计说明书》', '', 'yes', '', '', 'admin', '2020-01-09 14:20:09', '', '1970-01-01 00:00:01', 270, '0'), +(55, 33, '《评审通知》', '', 'yes', '', '', 'admin', '2020-01-09 14:20:09', '', '1970-01-01 00:00:01', 275, '0'), +(56, 33, '《同行评审准备表》', '', 'yes', '', '', 'admin', '2020-01-09 14:20:09', '', '1970-01-01 00:00:01', 280, '0'), +(57, 33, '《同行评审报告》', '', 'yes', '', '', 'admin', '2020-01-09 14:20:09', '', '1970-01-01 00:00:01', 285, '0'), +(58, 34, '《模块设计说明书》', '', 'no', '', '', 'admin', '2020-01-09 14:20:09', '', '1970-01-01 00:00:01', 290, '0'), +(59, 34, '《数据库设计说明书》', '', 'yes', '', '', 'admin', '2020-01-09 14:20:09', '', '1970-01-01 00:00:01', 295, '0'), +(60, 34, '《用户界面设计说明书》', '', 'no', '', '', 'admin', '2020-01-09 14:20:09', '', '1970-01-01 00:00:01', 300, '0'), +(61, 35, '《评审通知》', '', 'no', '', '', 'admin', '2020-01-09 14:20:09', '', '1970-01-01 00:00:01', 305, '0'), +(62, 35, '《同行评审准备表》', '', 'no', '', '', 'admin', '2020-01-09 14:20:09', '', '1970-01-01 00:00:01', 310, '0'), +(63, 35, '《同行评审报告》', '', 'no', '', '', 'admin', '2020-01-09 14:20:09', '', '1970-01-01 00:00:01', 315, '0'), +(64, 42, '《实现与测试计划》', '', 'yes', '', '', 'admin', '2020-01-09 14:22:52', '', '1970-01-01 00:00:01', 320, '0'), +(65, 42, '《单板硬件调试和单元测试计划》', '', 'yes', '', '', 'admin', '2020-01-09 14:22:52', '', '1970-01-01 00:00:01', 325, '0'), +(66, 42, '《项目进度表》中“实现与测试”部分', '', 'yes', '', '', 'admin', '2020-01-09 14:22:52', '', '1970-01-01 00:00:01', 330, '0'), +(67, 43, '产品数据库', '', '', '', '', 'admin', '2020-01-09 14:22:52', '', '1970-01-01 00:00:01', 335, '0'), +(68, 44, '模块代码', '', '', '', '', 'admin', '2020-01-09 14:22:52', '', '1970-01-01 00:00:01', 340, '0'), +(69, 45, '《代码质量检查记录单》', '', '', '', '', 'admin', '2020-01-09 14:22:52', '', '1970-01-01 00:00:01', 345, '0'), +(70, 46, '《单元测试缺陷统计分析报告》', '', '', '', '', 'admin', '2020-01-09 14:22:52', '', '1970-01-01 00:00:01', 350, '0'), +(71, 47, '禅道缺陷记录', '', '', '', '', 'admin', '2020-01-09 14:22:52', '', '1970-01-01 00:00:01', 355, '0'), +(72, 48, '《系统集成说明书》', '', '', '', '', 'admin', '2020-01-09 14:22:52', '', '1970-01-01 00:00:01', 360, '0'), +(73, 49, '《集成测试用例》', '', '', '', '', 'admin', '2020-01-09 14:22:52', '', '1970-01-01 00:00:01', 365, '0'), +(74, 50, '《评审通知》 ', '', '', '', '', 'admin', '2020-01-09 14:22:52', '', '1970-01-01 00:00:01', 370, '0'), +(75, 50, '《同行评审准备表》 ', '', '', '', '', 'admin', '2020-01-09 14:22:52', '', '1970-01-01 00:00:01', 375, '0'), +(76, 50, '《同行评审报告》', '', '', '', '', 'admin', '2020-01-09 14:22:52', '', '1970-01-01 00:00:01', 380, '0'), +(77, 51, '《集成测试报告》', '', '', '', '', 'admin', '2020-01-09 14:22:52', '', '1970-01-01 00:00:01', 385, '0'), +(78, 52, '禅道缺陷记录', '', '', '', '', 'admin', '2020-01-09 14:22:52', '', '1970-01-01 00:00:01', 390, '0'), +(79, 52, '《用户操作手册》 ', '', '', '', '', 'admin', '2020-01-09 14:22:52', '', '1970-01-01 00:00:01', 395, '0'), +(80, 52, '《安装手册》', '', '', '', '', 'admin', '2020-01-09 14:22:52', '', '1970-01-01 00:00:01', 400, '0'), +(81, 54, '《系统测试计划》', '', 'yes', '', '', 'admin', '2020-01-09 14:25:16', '', '1970-01-01 00:00:01', 405, '0'), +(82, 55, '《评审通知》', '', 'yes', '', '', 'admin', '2020-01-09 14:25:16', '', '1970-01-01 00:00:01', 410, '0'), +(83, 55, '《同行评审准备表》', '', 'yes', '', '', 'admin', '2020-01-09 14:25:16', '', '1970-01-01 00:00:01', 415, '0'), +(84, 55, '《同行评审报告》', '', 'yes', '', '', 'admin', '2020-01-09 14:25:16', '', '1970-01-01 00:00:01', 420, '0'), +(85, 56, '《系统测试用例》', '', 'yes', '', '', 'admin', '2020-01-09 14:25:16', '', '1970-01-01 00:00:01', 425, '0'), +(86, 57, '《评审通知》', '', 'yes', '', '', 'admin', '2020-01-09 14:25:16', '', '1970-01-01 00:00:01', 430, '0'), +(87, 57, '《同行评审准备表》', '', 'yes', '', '', 'admin', '2020-01-09 14:25:16', '', '1970-01-01 00:00:01', 435, '0'), +(88, 57, '《同行评审报告》', '', 'yes', '', '', 'admin', '2020-01-09 14:25:16', '', '1970-01-01 00:00:01', 440, '0'), +(89, 58, '禅道缺陷跟踪系统记录项', '', 'yes', '', '', 'admin', '2020-01-09 14:25:16', '', '1970-01-01 00:00:01', 445, '0'), +(90, 58, '《系统测试分析报告》', '', 'yes', '', '', 'admin', '2020-01-09 14:25:16', '', '1970-01-01 00:00:01', 450, '0'), +(91, 58, '《缺陷统计分析报告》', '', 'yes', '', '', 'admin', '2020-01-09 14:25:16', '', '1970-01-01 00:00:01', 455, '0'), +(92, 59, '《产品打包清单》', '', 'yes', '', '', 'admin', '2020-01-09 14:25:16', '', '1970-01-01 00:00:01', 460, '0'), +(93, 60, '发布光盘、纸质支持文档', '', 'yes', '', '', 'admin', '2020-01-09 14:26:52', '', '1970-01-01 00:00:01', 465, '0'), +(94, 61, '《交接签收单》', '', 'yes', '', '', 'admin', '2020-01-09 14:26:52', '', '1970-01-01 00:00:01', 470, '0'), +(95, 62, '《工作联系单》', '', 'yes', '', '', 'admin', '2020-01-09 14:26:52', '', '1970-01-01 00:00:01', 475, '0'), +(96, 62, '《工作记录单》', '', 'yes', '', '', 'admin', '2020-01-09 14:26:52', '', '1970-01-01 00:00:01', 480, '0'), +(97, 62, '《交接签收单》', '', 'yes', '', '', 'admin', '2020-01-09 14:26:52', '', '1970-01-01 00:00:01', 485, '0'), +(98, 62, '《安装调试信息》', '', 'yes', '', '', 'admin', '2020-01-09 14:26:52', '', '1970-01-01 00:00:01', 490, '0'), +(99, 64, '禅道缺陷记录项', '', 'yes', '', '', 'admin', '2020-01-09 14:26:52', '', '1970-01-01 00:00:01', 495, '0'), +(100, 64, '会议纪要等文档', '', 'yes', '', '', 'admin', '2020-01-09 14:26:52', '', '1970-01-01 00:00:01', 500, '0'), +(101, 65, '《交接验收单》', '', 'yes', '', '', 'admin', '2020-01-09 14:26:52', '', '1970-01-01 00:00:01', 505, '0'), +(102, 65, '《客户验收报告》', '', 'yes', '', '', 'admin', '2020-01-09 14:26:52', '', '1970-01-01 00:00:01', 510, '0'), +(103, 66, '初步《质量保证计划及跟踪表》', '', 'yes', '', '', 'admin', '2020-01-09 14:28:18', '', '1970-01-01 00:00:01', 515, '0'), +(104, 67, '详细《质量保证计划及跟踪表》', '', 'yes', '', '', 'admin', '2020-01-09 14:28:18', '', '1970-01-01 00:00:01', 520, '0'), +(105, 68, '《过程审计检查表》', '', 'yes', '', '', 'admin', '2020-01-09 14:28:18', '', '1970-01-01 00:00:01', 525, '0'), +(106, 68, '《产品审计检查表》', '', 'yes', '', '', 'admin', '2020-01-09 14:28:18', '', '1970-01-01 00:00:01', 530, '0'), +(107, 68, '《QA审计报告》', '', 'yes', '', '', 'admin', '2020-01-09 14:28:18', '', '1970-01-01 00:00:01', 535, '0'), +(108, 68, '《QA问题报告》', '', 'yes', '', '', 'admin', '2020-01-09 14:28:18', '', '1970-01-01 00:00:01', 540, '0'), +(109, 68, '《QA里程碑报告》', '', 'yes', '', '', 'admin', '2020-01-09 14:28:18', '', '1970-01-01 00:00:01', 545, '0'), +(110, 68, '《QA周报》', '', 'yes', '', '', 'admin', '2020-01-09 14:28:18', '', '1970-01-01 00:00:01', 550, '0'), +(111, 69, '《QA审计报告》', '', 'yes', '', '', 'admin', '2020-01-09 14:28:18', '', '1970-01-01 00:00:01', 555, '0'), +(112, 69, '《QA问题报告》', '', 'yes', '', '', 'admin', '2020-01-09 14:28:18', '', '1970-01-01 00:00:01', 560, '0'), +(113, 70, '《QA总结报告》', '', 'yes', '', '', 'admin', '2020-01-09 14:28:18', '', '1970-01-01 00:00:01', 565, '0'), +(114, 72, '《配置管理计划》', '', 'yes', '', '', 'admin', '2020-01-09 14:55:08', '', '1970-01-01 00:00:01', 570, '0'), +(115, 72, '《配置项计划及跟踪表》', '', 'yes', '', '', 'admin', '2020-01-09 14:55:08', '', '1970-01-01 00:00:01', 575, '0'), +(116, 72, '《基线计划及跟踪表》', '', 'yes', '', '', 'admin', '2020-01-09 14:55:08', '', '1970-01-01 00:00:01', 580, '0'), +(117, 73, '《配置库管理报告》', '', 'yes', '', '', 'admin', '2020-01-09 14:55:08', '', '1970-01-01 00:00:01', 585, '0'), +(118, 74, '《配置项计划及跟踪表》', '', 'yes', '', '', 'admin', '2020-01-09 14:55:08', '', '1970-01-01 00:00:01', 590, '0'), +(119, 75, '《基线计划及跟踪表》', '', 'yes', '', '', 'admin', '2020-01-09 14:55:08', '', '1970-01-01 00:00:01', 595, '0'), +(120, 76, '《变更申请书》', '', 'yes', '', '', 'admin', '2020-01-09 14:55:08', '', '1970-01-01 00:00:01', 600, '0'), +(121, 77, '《配置审计报告》', '', 'yes', '', '', 'admin', '2020-01-09 14:55:08', '', '1970-01-01 00:00:01', 605, '0'), +(122, 80, '《度量分析计划》', '', 'yes', '', '', 'admin', '2020-01-09 14:55:08', '', '1970-01-01 00:00:01', 610, '0'), +(123, 82, '项目度量数据库', '', 'yes', '', '', 'admin', '2020-01-09 14:55:08', '', '1970-01-01 00:00:01', 615, '0'), +(124, 86, '《量化项目管理及跟踪计划》', '', 'no', '', '', 'admin', '2020-01-09 14:59:04', '', '1970-01-01 00:00:01', 620, '0'), +(125, 84, '《决策分析报告》的决策分析评估表', '', 'no', '', '', 'admin', '2020-01-09 14:59:04', '', '1970-01-01 00:00:01', 625, '0'), +(126, 83, '《量化项目计划及跟踪表》', '', 'no', '', '', 'admin', '2020-01-09 14:59:04', '', '1970-01-01 00:00:01', 630, '0'), +(127, 87, '《决策分析报告》的评分表', '', 'no', '', '', 'admin', '2020-01-09 14:59:04', '', '1970-01-01 00:00:01', 635, '0'), +(128, 88, '《决策分析报告》的评分表', '', 'no', '', '', 'admin', '2020-01-09 14:59:04', '', '1970-01-01 00:00:01', 640, '0'), +(129, 89, '《决策分析报告》', '', 'no', '', '', 'admin', '2020-01-09 14:59:04', '', '1970-01-01 00:00:01', 645, '0'), +(130, 90, '《技术可行性分析报告》', '', '', '', '', 'admin', '2020-01-09 11:01:52', '', '1970-01-01 00:00:01', 25, '0'), +(131, 91, '《项目预算表》', '', '', '', '', 'admin', '2020-01-09 11:17:27', '', '1970-01-01 00:00:01', 30, '0'), +(132, 92, '《立项申请报告》', '', '', '', '', 'admin', '2020-01-09 11:17:50', '', '1970-01-01 00:00:01', 35, '0'), +(133, 93, '《项目投标书》', '不涉及投标', '', '', '', 'admin', '2020-01-09 11:18:12', '', '1970-01-01 00:00:01', 40, '0'), +(134, 94, '《项目估算报告》', '', '', '', '', 'admin', '2020-01-09 11:18:41', '', '1970-01-01 00:00:01', 45, '0'), +(135, 94, '《功能点估算》', '', '', '', '', 'admin', '2020-01-09 11:18:41', '', '1970-01-01 00:00:01', 50, '0'), +(136, 95, '《PDP说明》', '', '', '', '', 'admin', '2020-01-09 11:18:54', '', '1970-01-01 00:00:01', 55, '0'), +(137, 96, '《项目进度表》', '', '', '', '', 'admin', '2020-01-09 11:19:46', '', '1970-01-01 00:00:01', 60, '0'), +(138, 96, '《项目计划》及其下属计划', '', '', '', '', 'admin', '2020-01-09 11:19:46', '', '1970-01-01 00:00:01', 65, '0'), +(139, 96, '《风险管理计划及跟踪表》', '', '', '', '', 'admin', '2020-01-09 11:19:46', '', '1970-01-01 00:00:01', 70, '0'), +(140, 96, '《项目资源计划》', '', '', '', '', 'admin', '2020-01-09 11:19:46', '', '1970-01-01 00:00:01', 75, '0'), +(141, 96, '《干系人计划》', '', '', '', '', 'admin', '2020-01-09 11:19:46', '', '1970-01-01 00:00:01', 80, '0'), +(142, 96, '《同行评审计划》', '', '', '', '', 'admin', '2020-01-09 11:19:46', '', '1970-01-01 00:00:01', 85, '0'), +(143, 96, '《质量保证计划》', '', '', '', '', 'admin', '2020-01-09 11:19:46', '', '1970-01-01 00:00:01', 90, '0'), +(144, 96, '《配置管理计划》', '', '', '', '', 'admin', '2020-01-09 11:19:46', '', '1970-01-01 00:00:01', 95, '0'), +(145, 97, '《同行评审通知》', '', '', '', '', 'admin', '2020-01-09 11:20:16', '', '1970-01-01 00:00:01', 100, '0'), +(146, 97, '《评审准备表》', '', '', '', '', 'admin', '2020-01-09 11:20:16', '', '1970-01-01 00:00:01', 105, '0'), +(147, 97, '《同行评审报告》', '', '', '', '', 'admin', '2020-01-09 11:20:17', '', '1970-01-01 00:00:01', 110, '0'), +(148, 98, '《里程碑报告》', '', 'yes', '', '', 'admin', '2020-01-09 13:44:11', '', '1970-01-01 00:00:01', 115, '0'), +(149, 98, '《项目周报》', '', 'yes', '', '', 'admin', '2020-01-09 13:44:11', '', '1970-01-01 00:00:01', 120, '0'), +(150, 99, '《项目周报》', '', 'yes', '', '', 'admin', '2020-01-09 13:44:11', '', '1970-01-01 00:00:01', 125, '0'), +(151, 99, '《会议纪要》', '', 'yes', '', '', 'admin', '2020-01-09 13:44:11', '', '1970-01-01 00:00:01', 130, '0'), +(152, 100, '《里程碑报告》', '', 'yes', '', '', 'admin', '2020-01-09 13:44:11', '', '1970-01-01 00:00:01', 135, '0'), +(153, 100, '《里程碑会议纪要》', '', 'yes', '', '', 'admin', '2020-01-09 13:44:11', '', '1970-01-01 00:00:01', 140, '0'), +(154, 101, '《计划变更申请》', '', 'no', '', '', 'admin', '2020-01-09 13:44:11', '', '1970-01-01 00:00:01', 145, '0'), +(155, 102, '《风险管理计划及跟踪表》', '', '', '', '', 'admin', '2020-01-09 13:45:53', '', '1970-01-01 00:00:01', 150, '0'), +(156, 103, '《风险管理计划及跟踪表》', '', '', '', '', 'admin', '2020-01-09 13:45:53', '', '1970-01-01 00:00:01', 155, '0'), +(157, 103, '《风险管理报告》', '', '', '', '', 'admin', '2020-01-09 13:45:53', '', '1970-01-01 00:00:01', 160, '0'), +(158, 104, '《风险管理计划及跟踪表》', '', '', '', '', 'admin', '2020-01-09 13:45:53', '', '1970-01-01 00:00:01', 165, '0'), +(159, 105, '《异常处理申请表》', '', '', '', '', 'admin', '2020-01-09 13:45:53', '', '1970-01-01 00:00:01', 170, '0'), +(160, 105, '《风险管理计划及跟踪表》', '', '', '', '', 'admin', '2020-01-09 13:45:53', '', '1970-01-01 00:00:01', 175, '0'), +(161, 106, '《风险管理报告》', '', '', '', '', 'admin', '2020-01-09 13:45:53', '', '1970-01-01 00:00:01', 180, '0'), +(162, 106, '《风险管理计划及跟踪表》', '', '', '', '', 'admin', '2020-01-09 13:45:53', '', '1970-01-01 00:00:01', 185, '0'), +(163, 107, '《风险列表库》', '', '', '', '', 'admin', '2020-01-09 13:45:53', '', '1970-01-01 00:00:01', 190, '0'), +(164, 108, '《代码复用总结》', '', '', '', '', 'admin', '2020-01-09 13:46:26', '', '1970-01-01 00:00:01', 195, '0'), +(165, 110, '《结项报告》', '', '', '', '', 'admin', '2020-01-09 13:46:26', '', '1970-01-01 00:00:01', 200, '0'), +(166, 112, '《量化项目管理及跟踪计划》', '', 'yes', '', '', 'admin', '2020-01-09 13:46:46', '', '1970-01-01 00:00:01', 205, '0'), +(167, 113, '《用户需求调查单》', '', 'yes', '', '', 'admin', '2020-01-09 14:08:58', '', '1970-01-01 00:00:01', 210, '0'), +(168, 113, '《用户需求说明书》', '', 'yes', '', '', 'admin', '2020-01-09 14:08:58', '', '1970-01-01 00:00:01', 215, '0'), +(169, 114, '《评审通知》', '', 'yes', '', '', 'admin', '2020-01-09 14:08:58', '', '1970-01-01 00:00:01', 220, '0'), +(170, 114, '《同行评审准备表》', '', 'yes', '', '', 'admin', '2020-01-09 14:08:58', '', '1970-01-01 00:00:01', 225, '0'), +(171, 114, '《同行评审报告》', '', 'yes', '', '', 'admin', '2020-01-09 14:08:58', '', '1970-01-01 00:00:01', 230, '0'), +(172, 115, '《产品需求规格说明书》', '', 'yes', '', '', 'admin', '2020-01-09 14:08:58', '', '1970-01-01 00:00:01', 235, '0'), +(173, 116, '《评审通知》', '', 'yes', '', '', 'admin', '2020-01-09 14:08:58', '', '1970-01-01 00:00:01', 240, '0'), +(174, 116, ' 《同行评审准备表》', '', 'yes', '', '', 'admin', '2020-01-09 14:08:58', '', '1970-01-01 00:00:01', 245, '0'), +(175, 116, ' 《同行评审报告》', '', 'yes', '', '', 'admin', '2020-01-09 14:08:58', '', '1970-01-01 00:00:01', 250, '0'), +(176, 117, '《需求变更记录》', '', '', '', '', 'admin', '2020-01-09 14:08:58', '', '1970-01-01 00:00:01', 255, '0'), +(177, 117, '《用户需求说明书》', '', '', '', '', 'admin', '2020-01-09 14:08:58', '', '1970-01-01 00:00:01', 260, '0'), +(178, 117, '《软件需求规格说明书》', '', '', '', '', 'admin', '2020-01-09 14:08:58', '', '1970-01-01 00:00:01', 265, '0'), +(179, 118, '《概要设计说明书》', '', 'yes', '', '', 'admin', '2020-01-09 14:20:09', '', '1970-01-01 00:00:01', 270, '0'), +(180, 119, '《评审通知》', '', 'yes', '', '', 'admin', '2020-01-09 14:20:09', '', '1970-01-01 00:00:01', 275, '0'), +(181, 119, '《同行评审准备表》', '', 'yes', '', '', 'admin', '2020-01-09 14:20:09', '', '1970-01-01 00:00:01', 280, '0'), +(182, 119, '《同行评审报告》', '', 'yes', '', '', 'admin', '2020-01-09 14:20:09', '', '1970-01-01 00:00:01', 285, '0'), +(183, 120, '《模块设计说明书》', '', 'no', '', '', 'admin', '2020-01-09 14:20:09', '', '1970-01-01 00:00:01', 290, '0'), +(184, 120, '《数据库设计说明书》', '', 'yes', '', '', 'admin', '2020-01-09 14:20:09', '', '1970-01-01 00:00:01', 295, '0'), +(185, 120, '《用户界面设计说明书》', '', 'no', '', '', 'admin', '2020-01-09 14:20:09', '', '1970-01-01 00:00:01', 300, '0'), +(186, 121, '《评审通知》', '', 'no', '', '', 'admin', '2020-01-09 14:20:09', '', '1970-01-01 00:00:01', 305, '0'), +(187, 121, '《同行评审准备表》', '', 'no', '', '', 'admin', '2020-01-09 14:20:09', '', '1970-01-01 00:00:01', 310, '0'), +(188, 121, '《同行评审报告》', '', 'no', '', '', 'admin', '2020-01-09 14:20:09', '', '1970-01-01 00:00:01', 315, '0'), +(189, 128, '《实现与测试计划》', '', 'yes', '', '', 'admin', '2020-01-09 14:22:52', '', '1970-01-01 00:00:01', 320, '0'), +(190, 128, '《单板硬件调试和单元测试计划》', '', 'yes', '', '', 'admin', '2020-01-09 14:22:52', '', '1970-01-01 00:00:01', 325, '0'), +(191, 128, '《项目进度表》中“实现与测试”部分', '', 'yes', '', '', 'admin', '2020-01-09 14:22:52', '', '1970-01-01 00:00:01', 330, '0'), +(192, 129, '产品数据库', '', '', '', '', 'admin', '2020-01-09 14:22:52', '', '1970-01-01 00:00:01', 335, '0'), +(193, 130, '模块代码', '', '', '', '', 'admin', '2020-01-09 14:22:52', '', '1970-01-01 00:00:01', 340, '0'), +(194, 131, '《代码质量检查记录单》', '', '', '', '', 'admin', '2020-01-09 14:22:52', '', '1970-01-01 00:00:01', 345, '0'), +(195, 132, '《单元测试缺陷统计分析报告》', '', '', '', '', 'admin', '2020-01-09 14:22:52', '', '1970-01-01 00:00:01', 350, '0'), +(196, 133, 'bugzilla缺陷记录', '', '', '', '', 'admin', '2020-01-09 14:22:52', '', '1970-01-01 00:00:01', 355, '0'), +(197, 134, '《系统集成说明书》', '', '', '', '', 'admin', '2020-01-09 14:22:52', '', '1970-01-01 00:00:01', 360, '0'), +(198, 135, '《集成测试用例》', '', '', '', '', 'admin', '2020-01-09 14:22:52', '', '1970-01-01 00:00:01', 365, '0'), +(199, 136, '《评审通知》 ', '', '', '', '', 'admin', '2020-01-09 14:22:52', '', '1970-01-01 00:00:01', 370, '0'), +(200, 136, '《同行评审准备表》 ', '', '', '', '', 'admin', '2020-01-09 14:22:52', '', '1970-01-01 00:00:01', 375, '0'), +(201, 136, '《同行评审报告》', '', '', '', '', 'admin', '2020-01-09 14:22:52', '', '1970-01-01 00:00:01', 380, '0'), +(202, 137, '《集成测试报告》', '', '', '', '', 'admin', '2020-01-09 14:22:52', '', '1970-01-01 00:00:01', 385, '0'), +(203, 138, 'bugzilla缺陷记录', '', '', '', '', 'admin', '2020-01-09 14:22:52', '', '1970-01-01 00:00:01', 390, '0'), +(204, 138, '《用户操作手册》 ', '', '', '', '', 'admin', '2020-01-09 14:22:52', '', '1970-01-01 00:00:01', 395, '0'), +(205, 138, '《安装手册》', '', '', '', '', 'admin', '2020-01-09 14:22:52', '', '1970-01-01 00:00:01', 400, '0'), +(206, 140, '《系统测试计划》', '', 'yes', '', '', 'admin', '2020-01-09 14:25:16', '', '1970-01-01 00:00:01', 405, '0'), +(207, 141, '《评审通知》', '', 'yes', '', '', 'admin', '2020-01-09 14:25:16', '', '1970-01-01 00:00:01', 410, '0'), +(208, 141, '《同行评审准备表》', '', 'yes', '', '', 'admin', '2020-01-09 14:25:16', '', '1970-01-01 00:00:01', 415, '0'), +(209, 141, '《同行评审报告》', '', 'yes', '', '', 'admin', '2020-01-09 14:25:16', '', '1970-01-01 00:00:01', 420, '0'), +(210, 142, '《系统测试用例》', '', 'yes', '', '', 'admin', '2020-01-09 14:25:16', '', '1970-01-01 00:00:01', 425, '0'), +(211, 143, '《评审通知》', '', 'yes', '', '', 'admin', '2020-01-09 14:25:16', '', '1970-01-01 00:00:01', 430, '0'), +(212, 143, '《同行评审准备表》', '', 'yes', '', '', 'admin', '2020-01-09 14:25:16', '', '1970-01-01 00:00:01', 435, '0'), +(213, 143, '《同行评审报告》', '', 'yes', '', '', 'admin', '2020-01-09 14:25:16', '', '1970-01-01 00:00:01', 440, '0'), +(214, 144, 'bugzilla缺陷跟踪系统记录项', '', 'yes', '', '', 'admin', '2020-01-09 14:25:16', '', '1970-01-01 00:00:01', 445, '0'), +(215, 144, '《系统测试分析报告》', '', 'yes', '', '', 'admin', '2020-01-09 14:25:16', '', '1970-01-01 00:00:01', 450, '0'), +(216, 144, '《缺陷统计分析报告》', '', 'yes', '', '', 'admin', '2020-01-09 14:25:16', '', '1970-01-01 00:00:01', 455, '0'), +(217, 145, '《产品打包清单》', '', 'yes', '', '', 'admin', '2020-01-09 14:25:16', '', '1970-01-01 00:00:01', 460, '0'), +(218, 146, '发布光盘、纸质支持文档', '', 'yes', '', '', 'admin', '2020-01-09 14:26:52', '', '1970-01-01 00:00:01', 465, '0'), +(219, 147, '《交接签收单》', '', 'yes', '', '', 'admin', '2020-01-09 14:26:52', '', '1970-01-01 00:00:01', 470, '0'), +(220, 148, '《工作联系单》', '', 'yes', '', '', 'admin', '2020-01-09 14:26:52', '', '1970-01-01 00:00:01', 475, '0'), +(221, 148, '《工作记录单》', '', 'yes', '', '', 'admin', '2020-01-09 14:26:52', '', '1970-01-01 00:00:01', 480, '0'), +(222, 148, '《交接签收单》', '', 'yes', '', '', 'admin', '2020-01-09 14:26:52', '', '1970-01-01 00:00:01', 485, '0'), +(223, 148, '《安装调试信息》', '', 'yes', '', '', 'admin', '2020-01-09 14:26:52', '', '1970-01-01 00:00:01', 490, '0'), +(224, 150, 'bugzilla缺陷记录项', '', 'yes', '', '', 'admin', '2020-01-09 14:26:52', '', '1970-01-01 00:00:01', 495, '0'), +(225, 150, '会议纪要等文档', '', 'yes', '', '', 'admin', '2020-01-09 14:26:52', '', '1970-01-01 00:00:01', 500, '0'), +(226, 151, '《交接验收单》', '', 'yes', '', '', 'admin', '2020-01-09 14:26:52', '', '1970-01-01 00:00:01', 505, '0'), +(227, 151, '《客户验收报告》', '', 'yes', '', '', 'admin', '2020-01-09 14:26:52', '', '1970-01-01 00:00:01', 510, '0'), +(228, 152, '初步《质量保证计划及跟踪表》', '', 'yes', '', '', 'admin', '2020-01-09 14:28:18', '', '1970-01-01 00:00:01', 515, '0'), +(229, 153, '详细《质量保证计划及跟踪表》', '', 'yes', '', '', 'admin', '2020-01-09 14:28:18', '', '1970-01-01 00:00:01', 520, '0'), +(230, 154, '《过程审计检查表》', '', 'yes', '', '', 'admin', '2020-01-09 14:28:18', '', '1970-01-01 00:00:01', 525, '0'), +(231, 154, '《产品审计检查表》', '', 'yes', '', '', 'admin', '2020-01-09 14:28:18', '', '1970-01-01 00:00:01', 530, '0'), +(232, 154, '《QA审计报告》', '', 'yes', '', '', 'admin', '2020-01-09 14:28:18', '', '1970-01-01 00:00:01', 535, '0'), +(233, 154, '《QA问题报告》', '', 'yes', '', '', 'admin', '2020-01-09 14:28:18', '', '1970-01-01 00:00:01', 540, '0'), +(234, 154, '《QA里程碑报告》', '', 'yes', '', '', 'admin', '2020-01-09 14:28:18', '', '1970-01-01 00:00:01', 545, '0'), +(235, 154, '《QA周报》', '', 'yes', '', '', 'admin', '2020-01-09 14:28:18', '', '1970-01-01 00:00:01', 550, '0'), +(236, 155, '《QA审计报告》', '', 'yes', '', '', 'admin', '2020-01-09 14:28:18', '', '1970-01-01 00:00:01', 555, '0'), +(237, 155, '《QA问题报告》', '', 'yes', '', '', 'admin', '2020-01-09 14:28:18', '', '1970-01-01 00:00:01', 560, '0'), +(238, 156, '《QA总结报告》', '', 'yes', '', '', 'admin', '2020-01-09 14:28:18', '', '1970-01-01 00:00:01', 565, '0'), +(239, 158, '《配置管理计划》', '', 'yes', '', '', 'admin', '2020-01-09 14:55:08', '', '1970-01-01 00:00:01', 570, '0'), +(240, 158, '《配置项计划及跟踪表》', '', 'yes', '', '', 'admin', '2020-01-09 14:55:08', '', '1970-01-01 00:00:01', 575, '0'), +(241, 158, '《基线计划及跟踪表》', '', 'yes', '', '', 'admin', '2020-01-09 14:55:08', '', '1970-01-01 00:00:01', 580, '0'), +(242, 159, '《配置库管理报告》', '', 'yes', '', '', 'admin', '2020-01-09 14:55:08', '', '1970-01-01 00:00:01', 585, '0'), +(243, 160, '《配置项计划及跟踪表》', '', 'yes', '', '', 'admin', '2020-01-09 14:55:08', '', '1970-01-01 00:00:01', 590, '0'), +(244, 161, '《基线计划及跟踪表》', '', 'yes', '', '', 'admin', '2020-01-09 14:55:08', '', '1970-01-01 00:00:01', 595, '0'), +(245, 162, '《变更申请书》', '', 'yes', '', '', 'admin', '2020-01-09 14:55:08', '', '1970-01-01 00:00:01', 600, '0'), +(246, 163, '《配置审计报告》', '', 'yes', '', '', 'admin', '2020-01-09 14:55:08', '', '1970-01-01 00:00:01', 605, '0'), +(247, 166, '《度量分析计划》', '', 'yes', '', '', 'admin', '2020-01-09 14:55:08', '', '1970-01-01 00:00:01', 610, '0'), +(248, 168, '项目度量数据库', '', 'yes', '', '', 'admin', '2020-01-09 14:55:08', '', '1970-01-01 00:00:01', 615, '0'), +(249, 169, '《量化项目计划及跟踪表》', '', 'no', '', '', 'admin', '2020-01-09 14:59:04', '', '1970-01-01 00:00:01', 630, '0'); REPLACE INTO `zt_basicmeas` (`id`, `purpose`, `scope`, `object`, `name`, `code`, `unit`, `configure`, `params`, `definition`, `source`, `collectType`, `collectConf`, `execTime`, `collectedBy`, `createdBy`, `createdDate`, `editedBy`, `editedDate`, `order`, `deleted`) VALUES -(2,'scale','project','userRequest','项目用户需求初始规模','pgmURInitScale','故事点或功能点','CREATE FUNCTION qc_pgmurinitscale($project int) returns float (10,2)\r\nbegin\r\n declare scale float(10,2) default 0__DELIMITER__\r\n declare inited int default 0__DELIMITER__\r\n select qc_cminited($project, \'URS\') into inited__DELIMITER__\r\n IF inited = 1 THEN\r\n select qc_initscale($project, \'URS\',\'requestEst\') into scale__DELIMITER__\r\n return scale__DELIMITER__\r\n ELSE \r\n return 0__DELIMITER__\r\n END IF__DELIMITER__\r\nend','{\"$project\":{\"showName\":\"\\u6240\\u5c5e\\u9879\\u76ee\",\"varName\":\"$project\",\"varType\":\"select\",\"options\":\"project\",\"defaultValue\":\"\"}}','项目每个产品的第一个用户需求规格说明书基线版本的规模之和','从基线表中查询该项目下面每个产品的第一个用户需求规模说明书版本,然后查询对应的需求,求和。','crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','system','0000-00-00 00:00:00','admin','2020-07-07 14:19:41',10,'0'), -(3,'scale','project','softRequest','项目软件需求初始规模','pgmSRInitScale','故事点或功能点','CREATE FUNCTION qc_pgmsrinitscale($project int) returns float (10,2)\r\nbegin\r\n declare scale float (10,2) default 0__DELIMITER__\r\n declare inited int default 0__DELIMITER__\r\n select qc_cminited($project, \'SRS\') into inited__DELIMITER__\r\n IF inited = 1 THEN\r\n select qc_initscale($project, \'SRS\',\'storyEst\') into scale __DELIMITER__\r\n return scale __DELIMITER__\r\n ELSE \r\n return 0__DELIMITER__\r\n END IF__DELIMITER__\r\nend','{\"$project\":{\"showName\":\"\\u6240\\u9700\\u9879\\u76ee\",\"varName\":\"$project\",\"varType\":\"select\",\"options\":\"project\",\"defaultValue\":\"\"}}','项目每个产品的第一个软件需求规格说明书基线版本的规模之和','从基线表中查询该项目下面每个产品的第一个软件需求规模说明书版本,然后查询对应的需求,求和。','crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','system','0000-00-00 00:00:00','admin','2020-07-07 14:21:53',15,'0'), -(4,'scale','project','userRequest','项目用户需求实时规模','pgmURRealScale','故事点或功能点','CREATE FUNCTION `qc_pgmurrealscale`($project int) RETURNS float (10,2)\r\nBEGIN\r\n declare totalEstimate float(10,2) default 0__DELIMITER__\r\n select CAST(sum(estimate) as DECIMAL(10,2)) as estimate from zt_story where project=$project and type=\'requirement\' and deleted=\'0\' and closedReason not in (\'subdivided\', \'duplicate\', \'willnotdo\', \'cancel\', \'bydesign\') into totalEstimate__DELIMITER__\r\n return totalEstimate__DELIMITER__\r\nEND','{\"$project\":{\"showName\":\"\\u6240\\u5c5e\\u9879\\u76ee\",\"varName\":\"$project\",\"varType\":\"select\",\"options\":\"project\",\"defaultValue\":\"\"}}','项目用户需求实际的规模','从需求表中查询该项目下的所有用户需求,对规模进行求和。','crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','system','0000-00-00 00:00:00','admin','2020-07-07 14:22:17',20,'0'), -(5,'scale','project','softRequest','项目软件需求实时规模','pgmSRRealScale','故事点或功能点','CREATE FUNCTION `qc_pgmsrrealscale`($project int) RETURNS float (10,2)\r\nBEGIN\r\n declare totalEstimate float (10,2) default 0__DELIMITER__\r\n select CAST(sum(estimate) as DECIMAL(10,2)) as estimate from zt_story where id in (select story from zt_projectstory where project=$project) and type=\'story\' and deleted=\'0\' and closedReason not in (\'subdivided\', \'duplicate\', \'willnotdo\', \'cancel\', \'bydesign\') into totalEstimate__DELIMITER__\r\n return totalEstimate__DELIMITER__\r\nEND','{\"$project\":{\"showName\":\"\\u6240\\u5c5e\\u9879\\u76ee\",\"varName\":\"$project\",\"varType\":false,\"options\":\"project\",\"defaultValue\":\"702\"}}','项目软件需求实际的规模','从需求表中查询该项目下的所有软件需求,对规模进行求和。','crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','system','0000-00-00 00:00:00','admin','2020-07-07 14:28:01',25,'0'), -(6,'scale','project','program','项目估算规模','pgmPlanScale','故事点或功能点','CREATE FUNCTION `qc_pgmplanscale`($project int) RETURNS float (10,2)\r\nBEGIN\r\n declare programScale float (10,2) default 0__DELIMITER__\r\n select `scale` from zt_workestimation where project = $project into programScale__DELIMITER__\r\n return programScale__DELIMITER__\r\nEND','{\"$project\":{\"showName\":\"\\u6240\\u5c5e\\u9879\\u76ee\",\"varName\":\"$project\",\"varType\":\"select\",\"options\":\"project\",\"defaultValue\":\"\"}}','项目最初估算时估计的规模','从项目估算表里面查询项目的估算规模。','crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','system','0000-00-00 00:00:00','admin','2020-07-07 14:26:01',30,'0'), -(8,'duration','project','stage','项目需求阶段计划天数','pgmRequestPlanDays','天','CREATE FUNCTION `qc_pgmrequestplandays`($project int) RETURNS int(10)\r\nBEGIN\r\n select qc_pgmspecifiedtypeplanneddays($project,\'request\') as days into @days__DELIMITER__\r\n return @days__DELIMITER__\r\nEND','{\"$project\":{\"showName\":\"\\u6240\\u5c5e\\u9879\\u76ee\",\"varName\":\"$project\",\"varType\":\"select\",\"options\":\"project\",\"defaultValue\":\"\"}}','项目下面所有需求阶段计划天数的和','从阶段表里面统计该项目下面所有类型为需求的阶段的计划天数,求和。','crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','system','0000-00-00 00:00:00','','0000-00-00 00:00:00',40,'0'), -(9,'duration','project','stage','项目设计阶段计划天数','pgmDesigntPlanDays','天','CREATE FUNCTION `qc_pgmdesigntplandays`($project int) RETURNS int(10)\r\nBEGIN\r\n select qc_pgmspecifiedtypeplanneddays($project,\'design\') as days into @days__DELIMITER__\r\n return @days__DELIMITER__\r\nEND','{\"$project\":{\"showName\":\"\\u6240\\u5c5e\\u9879\\u76ee\",\"varName\":\"$project\",\"varType\":\"select\",\"options\":\"project\",\"defaultValue\":\"\"}}','项目下面所有设计阶段计划天数的和','从阶段表里面统计该项目下面所有类型为设计的阶段的计划天数,求和。','crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','system','0000-00-00 00:00:00','','0000-00-00 00:00:00',45,'0'), -(10,'duration','project','stage','项目开发阶段计划天数','pgmDevelPlanDays','天','CREATE FUNCTION `qc_pgmdevelplandays`($project int) RETURNS int(10)\r\nBEGIN\r\n select qc_pgmspecifiedtypeplanneddays($project,\'dev\') as days into @days__DELIMITER__\r\n return @days__DELIMITER__\r\nEND','{\"$project\":{\"showName\":\"\\u6240\\u5c5e\\u9879\\u76ee\",\"varName\":\"$project\",\"varType\":\"select\",\"options\":\"project\",\"defaultValue\":\"\"}}','项目下面所有研发阶段计划天数的和','从阶段表里面统计该项目下面所有类型为开发的阶段的计划天数,求和。','crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','system','0000-00-00 00:00:00','','0000-00-00 00:00:00',50,'0'), -(11,'duration','project','stage','项目测试阶段计划天数','pgmTestPlanDays','天','CREATE FUNCTION `qc_pgmtestplandays`($project int) RETURNS int(10)\r\nBEGIN\r\n select qc_pgmspecifiedtypeplanneddays($project,\'qa\') as days into @days__DELIMITER__\r\n return @days__DELIMITER__\r\nEND','{\"$project\":{\"showName\":\"\\u6240\\u5c5e\\u9879\\u76ee\",\"varName\":\"$project\",\"varType\":\"select\",\"options\":\"project\",\"defaultValue\":\"\"}}','项目下面所有测试阶段计划天数的和','从阶段表里面统计该项目下面所有类型为测试的阶段的计划天数,求和。','crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','system','0000-00-00 00:00:00','','0000-00-00 00:00:00',55,'0'), -(12,'duration','project','stage','项目需求阶段实际天数','pgmRequestRealDays','天','CREATE FUNCTION `qc_pgmrequestrealdays`($project int) RETURNS int(10)\r\nBEGIN\r\n select qc_pgmspecifiedtypeactualdays($project,\'request\') as days into @days__DELIMITER__\r\n return @days__DELIMITER__\r\nEND','{\"$project\":{\"showName\":\"\\u6240\\u5c5e\\u9879\\u76ee\",\"varName\":\"$project\",\"varType\":\"select\",\"options\":\"project\",\"defaultValue\":\"\"}}','项目下面所有需求阶段实际天数的和','从阶段表里面统计该项目下面所有类型为需求的阶段的实际天数,求和。','crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','system','0000-00-00 00:00:00','','0000-00-00 00:00:00',60,'0'), -(13,'duration','project','stage','项目设计阶段实际天数','pgmDesigntRealDays','天','CREATE FUNCTION `qc_pgmdesigntrealdays`($project int) RETURNS int(10)\r\nBEGIN\r\n select qc_pgmspecifiedtypeactualdays($project,\'design\') as days into @days__DELIMITER__\r\n return @days__DELIMITER__\r\nEND','{\"$project\":{\"showName\":\"\\u6240\\u5c5e\\u9879\\u76ee\",\"varName\":\"$project\",\"varType\":\"select\",\"options\":\"project\",\"defaultValue\":\"\"}}','项目下面所有设计阶段实际天数的和','从阶段表里面统计该项目下面所有类型为设计的阶段的实际天数,求和。','crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','system','0000-00-00 00:00:00','','0000-00-00 00:00:00',65,'0'), -(14,'duration','project','stage','项目开发阶段实际天数','pgmDevelRealDays','天','CREATE FUNCTION `qc_pgmdevelrealdays`($project int) RETURNS int(10)\r\nBEGIN\r\n select qc_pgmspecifiedtypeactualdays($project,\'dev\') as days into @days__DELIMITER__\r\n return @days__DELIMITER__\r\nEND','{\"$project\":{\"showName\":\"\\u6240\\u5c5e\\u9879\\u76ee\",\"varName\":\"$project\",\"varType\":\"select\",\"options\":\"project\",\"defaultValue\":\"\"}}','项目下面所有研发阶段实际天数的和','从阶段表里面统计该项目下面所有类型为开发的阶段的实际天数,求和。','crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','system','0000-00-00 00:00:00','','0000-00-00 00:00:00',70,'0'), -(15,'duration','project','stage','项目测试阶段实际天数','pgmTestRealDays','天','CREATE FUNCTION `qc_pgmtestrealdays`($project int) RETURNS int(10)\r\nBEGIN\r\n select qc_pgmspecifiedtypeactualdays($project,\'qa\') as days into @days__DELIMITER__\r\n return @days__DELIMITER__\r\nEND','{\"$project\":{\"showName\":\"\\u6240\\u5c5e\\u9879\\u76ee\",\"varName\":\"$project\",\"varType\":\"select\",\"options\":\"project\",\"defaultValue\":\"3\"}}','项目下面所有测试阶段实际天数的和','从阶段表里面统计该项目下面所有类型为测试的阶段的实际天数,求和。','crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','system','0000-00-00 00:00:00','','0000-00-00 00:00:00',75,'0'), -(26,'duration','product','stage','分产品需求阶段计划天数','prdRequestPlanDays','天','CREATE FUNCTION `qc_prdrequestplandays`($product int) RETURNS int(10)\r\nBEGIN\r\n select qc_pgmstageplannedduration($product, \'request\') as days into @days__DELIMITER__\r\n return @days__DELIMITER__\r\nEND','{\"$product\":{\"showName\":\"\\u6240\\u5c5e\\u4ea7\\u54c1\",\"varName\":\"$product\",\"varType\":\"select\",\"options\":\"product\",\"defaultValue\":\"\"}}','产品下面所有需求阶段计划天数的和','从阶段表里面统计该产品在该项目下所有类型为需求的阶段的计划天数,求和。','crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','system','0000-00-00 00:00:00','','0000-00-00 00:00:00',130,'0'), -(27,'duration','product','stage','分产品设计阶段计划天数','prdDesigntPlanDays','天','CREATE FUNCTION `qc_prddesigntplandays`($product int) RETURNS int(10)\r\nBEGIN\r\n select qc_pgmstageplannedduration($product, \'design\') as days into @days__DELIMITER__\r\n return @days__DELIMITER__\r\nEND','{\"$product\":{\"showName\":\"\\u6240\\u5c5e\\u4ea7\\u54c1\",\"varName\":\"$product\",\"varType\":\"select\",\"options\":\"product\",\"defaultValue\":\"\"}}','产品下面所有设计阶段计划天数的和','从阶段表里面统计该产品在该项目下所有类型为设计的阶段的计划天数,求和。','crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','system','0000-00-00 00:00:00','','0000-00-00 00:00:00',135,'0'), -(28,'duration','product','stage','分产品开发阶段计划天数','prdDevelPlanDays','天','CREATE FUNCTION `qc_prddevelplandays`($product int) RETURNS int(10)\r\nBEGIN\r\n select qc_pgmstageplannedduration($product, \'dev\') as days into @days__DELIMITER__\r\n return @days__DELIMITER__\r\nEND','{\"$product\":{\"showName\":\"\\u6240\\u5c5e\\u4ea7\\u54c1\",\"varName\":\"$product\",\"varType\":\"select\",\"options\":\"product\",\"defaultValue\":\"1\"}}','产品下面所有研发阶段计划天数的和','从阶段表里面统计该产品在该项目下所有类型为开发的阶段的计划天数,求和。','crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','system','0000-00-00 00:00:00','','0000-00-00 00:00:00',140,'0'), -(29,'duration','product','stage','分产品测试阶段计划天数','prdTestPlanDays','天','CREATE FUNCTION `qc_prdtestplandays`($product int) RETURNS int(10)\r\nBEGIN\r\n select qc_pgmstageplannedduration($product, \'qa\') as days into @days__DELIMITER__\r\n return @days__DELIMITER__\r\nEND','{\"$product\":{\"showName\":\"\\u6240\\u5c5e\\u4ea7\\u54c1\",\"varName\":\"$product\",\"varType\":\"select\",\"options\":\"product\",\"defaultValue\":\"\"}}','产品下面所有测试阶段计划天数的和','从阶段表里面统计该产品在该项目下所有类型为测试的阶段的计划天数,求和。','crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','system','0000-00-00 00:00:00','','0000-00-00 00:00:00',145,'0'), -(30,'duration','product','stage','分产品需求阶段实际天数','prdRequestRealDays','天','CREATE FUNCTION `qc_prdrequestrealdays`($product int) RETURNS int(10)\r\nBEGIN\r\n select qc_pgmstageactualduration($product,\'request\') as days into @days__DELIMITER__\r\n return @days__DELIMITER__\r\nEND','{\"$product\":{\"showName\":\"\\u6240\\u5c5e\\u4ea7\\u54c1\",\"varName\":\"$product\",\"varType\":\"select\",\"options\":\"product\",\"defaultValue\":\"\"}}','产品下面所有需求阶段实际天数的和','从阶段表里面统计该产品在该项目下所有类型为需求的阶段的实际天数,求和。','crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','system','0000-00-00 00:00:00','','0000-00-00 00:00:00',150,'0'), -(31,'duration','product','stage','分产品设计阶段实际天数','prdDesigntRealDays','天','CREATE FUNCTION `qc_prddesigntrealdays`($product int) RETURNS int(10)\r\nBEGIN\r\n select qc_pgmstageactualduration($product, \'design\') as days into @days__DELIMITER__\r\n return @days__DELIMITER__\r\nEND','{\"$product\":{\"showName\":\"\\u6240\\u5c5e\\u4ea7\\u54c1\",\"varName\":\"$product\",\"varType\":\"select\",\"options\":\"product\",\"defaultValue\":\"\"}}','产品下面所有设计阶段实际天数的和','从阶段表里面统计该产品在该项目下所有类型为设计的阶段的实际天数,求和。','crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','system','0000-00-00 00:00:00','','0000-00-00 00:00:00',155,'0'), -(32,'duration','product','stage','分产品开发阶段实际天数','prdDevelRealDays','天','CREATE FUNCTION `qc_prddevelrealdays`($product int) RETURNS int(10)\r\nBEGIN\r\n select qc_pgmstageactualduration($product, \'dev\') as days into @days__DELIMITER__\r\n return @days__DELIMITER__\r\nEND','{\"$product\":{\"showName\":\"\\u6240\\u5c5e\\u4ea7\\u54c1\",\"varName\":\"$product\",\"varType\":\"select\",\"options\":\"product\",\"defaultValue\":\"\"}}','产品下面所有研发阶段实际天数的和','从阶段表里面统计该产品在该项目下所有类型为开发的阶段的实际天数,求和。','crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','system','0000-00-00 00:00:00','','0000-00-00 00:00:00',160,'0'), -(33,'duration','product','stage','分产品测试阶段实际天数','prdTestRealDays','天','CREATE FUNCTION `qc_prdtestrealdays`($product int) RETURNS int(10)\r\nBEGIN\r\n select qc_pgmstageactualduration($product, \'qa\') as days into @days__DELIMITER__\r\n return @days__DELIMITER__\r\nEND','{\"$product\":{\"showName\":\"\\u6240\\u5c5e\\u4ea7\\u54c1\",\"varName\":\"$product\",\"varType\":\"select\",\"options\":\"product\",\"defaultValue\":\"1\"}}','产品下面所有测试阶段实际天数的和','从阶段表里面统计该产品在该项目下所有类型为测试的阶段的实际天数,求和。','crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','system','0000-00-00 00:00:00','','0000-00-00 00:00:00',165,'0'), -(34,'workload','project','finance','项目任务实时预计工时数','pgmRealEstHours','小时','CREATE FUNCTION `qc_pgmrealesthours`($project int) RETURNS float(10,2)\r\nBEGIN\r\n select sum(estimate) from zt_task where project=$project and parent >= 0 and status != \'cancel\' and deleted = \'0\' into @estimate__DELIMITER__\r\nreturn @estimate__DELIMITER__\r\nEND','{\"$project\":{\"showName\":\"\\u6240\\u5c5e\\u9879\\u76ee\",\"varName\":\"$project\",\"varType\":\"select\",\"options\":\"project\",\"defaultValue\":\"\"}}','项目下面所有任务的最初预计工时和','从任务表中查询该项目的所有任务,统计最初预计工>时,求和。','crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','system','0000-00-00 00:00:00','admin','2020-07-07 19:51:39',170,'0'), -(35,'workload','project','finance','项目需求工作实时总预计工时数','pgmRequestRealEstHours','小时','CREATE FUNCTION `qc_pgmrequestrealesthours`($project int) RETURNS float (10,2)\r\nBEGIN\r\nreturn qc_pgmesthoursbytype($project, \'request\')__DELIMITER__\r\nEND','{\"$project\":{\"showName\":\"\\u6240\\u5c5e\\u9879\\u76ee\",\"varName\":\"$project\",\"varType\":\"select\",\"options\":\"project\",\"defaultValue\":\"\"}}','项目所有需求相关任务的最初预计工时和','从任务表中查询该项目所有任务类型为需求的任务,统计最初预计工时,求和。','crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','system','0000-00-00 00:00:00','admin','2020-07-23 13:49:17',175,'0'), -(36,'workload','project','finance','项目设计工作实时总预计工时数','pgmDesgignRealEstHours','小时','CREATE FUNCTION `qc_pgmdesgignrealesthours`($project int) RETURNS float (10,2)\r\nBEGIN\r\nreturn qc_pgmesthoursbytype($project, \'design\')__DELIMITER__\r\nEND','{\"$project\":{\"showName\":\"\\u6240\\u5c5e\\u9879\\u76ee\",\"varName\":\"$project\",\"varType\":\"select\",\"options\":\"project\",\"defaultValue\":\"\"}}','项目所有设计相关任务的最初预计工时和','从任务表中查询该项目所有任务类型为设计的任务,统计最初预计工时,求和。','crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','system','0000-00-00 00:00:00','admin','2020-07-23 13:45:32',180,'0'), -(37,'workload','project','finance','项目开发工作实时总预计工时数','pgmDevelRealEstHours','小时','CREATE FUNCTION `qc_pgmdevelrealesthours`($project int) RETURNS float (10,2)\r\nBEGIN\r\nreturn qc_pgmesthoursbytype($project, \'devel\')__DELIMITER__\r\nEND','{\"$project\":{\"showName\":\"\\u6240\\u5c5e\\u9879\\u76ee\",\"varName\":\"$project\",\"varType\":\"select\",\"options\":\"project\",\"defaultValue\":\"\"}}','项目所有开发相关任务的最初预计工时和','从任务表中查询该项目所有任务类型为开发的任务,统计最初预计工时,求和。','crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','system','0000-00-00 00:00:00','admin','2020-07-23 13:46:53',185,'0'), -(38,'workload','project','finance','项目测试工作实时总预计工时数','pgmTestRealEstHours','小时','CREATE FUNCTION `qc_pgmtestrealesthours`($project int) RETURNS float(10,2)\r\nBEGIN\r\nreturn qc_pgmesthoursbytype($project, \'test\')__DELIMITER__\r\nEND','{\"$project\":{\"showName\":\"\\u6240\\u5c5e\\u9879\\u76ee\",\"varName\":\"$project\",\"varType\":\"select\",\"options\":\"project\",\"defaultValue\":\"\"}}','项目所有测试相关任务的最初预计工时和','从任务表中查询该项目所有任务类型为测试的任务,统计最初预计工时,求和。','crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','system','0000-00-00 00:00:00','admin','2020-07-23 13:44:13',190,'0'), -(39,'workload','project','finance','项目任务实际消耗工时数','pgmRealHours','小时','CREATE FUNCTION `qc_pgmrealhours`($project int) RETURNS float(10,2)\r\nBEGIN\r\n select CAST(sum(consumed) as DECIMAL(10,2)) as consumed from zt_task where project=$project and parent >= 0 and status != \'cancel\' and deleted = \'0\' into @consumed__DELIMITER__\r\n return @consumed__DELIMITER__\r\nEND','{\"$project\":{\"showName\":\"\\u6240\\u5c5e\\u9879\\u76ee\",\"varName\":\"$project\",\"varType\":\"select\",\"options\":\"project\",\"defaultValue\":\"\"}}','项目下面所有任务的实际消耗工时和','从任务表中查询该项目的所有任务,统计实际消耗工时,求和。','crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','system','0000-00-00 00:00:00','admin','2020-07-07 19:49:32',195,'0'), -(40,'workload','project','finance','项目需求工作实际消耗工时数','pgmRequestRealHours','小时','CREATE FUNCTION `qc_pgmrequestrealhours`($project int) RETURNS float(10,2)\r\nBEGIN\r\nreturn qc_pgmrealhoursbytype($project, \'request\')__DELIMITER__\r\nEND','{\"$project\":{\"showName\":\"\\u6240\\u5c5e\\u9879\\u76ee\",\"varName\":\"$project\",\"varType\":\"select\",\"options\":\"project\",\"defaultValue\":\"\"}}','项目所有需求相关任务的实际消耗工时和','从任务表中查询该项目所有任务类型为需求的任务,统计实际消耗工时,求和。','crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','system','0000-00-00 00:00:00','admin','2020-07-07 19:49:03',200,'0'), -(41,'workload','project','finance','项目设计工作实际消耗工时数','pgmDesignRealHours','小时','CREATE FUNCTION `qc_pgmdesignrealhours`($project int) RETURNS float(10,2)\r\nBEGIN\r\nreturn qc_pgmrealhoursbytype($project, \'design\')__DELIMITER__\r\nEND','{\"$project\":{\"showName\":\"\\u6240\\u5c5e\\u9879\\u76ee\",\"varName\":\"$project\",\"varType\":\"select\",\"options\":\"project\",\"defaultValue\":\"\"}}','项目所有设计相关任务的实际消耗工时和','从任务表中查询该项目所有任务类型为设计的任务,统计实际消耗工时,求和。','crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','system','0000-00-00 00:00:00','admin','2020-07-07 19:48:35',205,'0'), -(42,'workload','project','finance','项目开发工作实际消耗工时数','pgmDevelRealHours','小时','CREATE FUNCTION `qc_pgmdevelrealhours`($project int) RETURNS float(10,2)\r\nBEGIN\r\nreturn qc_pgmrealhoursbytype($project, \'devel\')__DELIMITER__\r\nEND','{\"$project\":{\"showName\":\"\\u6240\\u5c5e\\u9879\\u76ee\",\"varName\":\"$project\",\"varType\":\"select\",\"options\":\"project\",\"defaultValue\":\"\"}}','项目所有开发相关任务的实际消耗工时和','从任务表中查询该项目所有任务类型为开发的任务,统计实际消耗工时,求和。','crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','system','0000-00-00 00:00:00','admin','2020-07-07 18:34:51',210,'0'), -(43,'workload','project','finance','项目测试工作实际消耗工时数','pgmTestRealHours','小时','CREATE FUNCTION `qc_pgmtestrealhours`($project int) RETURNS float(10, 2)\r\nBEGIN\r\nreturn qc_pgmrealhoursbytype($project, \'test\')__DELIMITER__\r\nEND','{\"$project\":{\"showName\":\"\\u6240\\u5c5e\\u9879\\u76ee\",\"varName\":\"$project\",\"varType\":\"select\",\"options\":\"project\",\"defaultValue\":\"\"}}','项目所有测试相关任务的实际消耗工时和','从任务表中查询该项目所有任务类型为测试的任务,统计实际消耗工时,求和。','crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','system','0000-00-00 00:00:00','admin','2020-07-07 18:09:01',215,'0'), -(44,'workload','project','finance','项目开发工作最初总预计工时数','pgmDevelFirstEstHours','小时','CREATE FUNCTION `qc_pgmdevelfirstesthours`($project int) RETURNS float(10,2)\r\nBEGIN\r\n declare estimate float(10,2) default 0__DELIMITER__\r\n declare inited int default 0__DELIMITER__\r\n select qc_cminited($project, \'PP\') into inited__DELIMITER__\r\n IF inited = 1 THEN\r\n select qc_getdevelfirstesthours($project) into estimate__DELIMITER__\r\n return estimate__DELIMITER__\r\n ELSE \r\n return 0__DELIMITER__\r\n END IF__DELIMITER__\r\nEND','{\"$project\":{\"showName\":\"\\u6240\\u5c5e\\u9879\\u76ee\",\"varName\":\"$project\",\"varType\":\"select\",\"options\":\"project\",\"defaultValue\":\"\"}}','项目计划第一个基线版本中所有开发相关工作最初预计工时和',NULL,'crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','admin','2020-07-22 13:13:51','','0000-00-00 00:00:00',220,'0'), +(2,'scale','project','userRequest','项目用户需求初始规模','pgmURInitScale','故事点或功能点','CREATE FUNCTION qc_pgmurinitscale($project int) returns float (10,2)\r\nbegin\r\n declare scale float(10,2) default 0__DELIMITER__\r\n declare inited int default 0__DELIMITER__\r\n select qc_cminited($project, \'URS\') into inited__DELIMITER__\r\n IF inited = 1 THEN\r\n select qc_initscale($project, \'URS\',\'requestEst\') into scale__DELIMITER__\r\n return scale__DELIMITER__\r\n ELSE \r\n return 0__DELIMITER__\r\n END IF__DELIMITER__\r\nend','{\"$project\":{\"showName\":\"\\u6240\\u5c5e\\u9879\\u76ee\",\"varName\":\"$project\",\"varType\":\"select\",\"options\":\"project\",\"defaultValue\":\"\"}}','项目每个产品的第一个用户需求规格说明书基线版本的规模之和','从基线表中查询该项目下面每个产品的第一个用户需求规模说明书版本,然后查询对应的需求,求和。','crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','system','1970-01-01 00:00:01','admin','2020-07-07 14:19:41',10,'0'), +(3,'scale','project','softRequest','项目软件需求初始规模','pgmSRInitScale','故事点或功能点','CREATE FUNCTION qc_pgmsrinitscale($project int) returns float (10,2)\r\nbegin\r\n declare scale float (10,2) default 0__DELIMITER__\r\n declare inited int default 0__DELIMITER__\r\n select qc_cminited($project, \'SRS\') into inited__DELIMITER__\r\n IF inited = 1 THEN\r\n select qc_initscale($project, \'SRS\',\'storyEst\') into scale __DELIMITER__\r\n return scale __DELIMITER__\r\n ELSE \r\n return 0__DELIMITER__\r\n END IF__DELIMITER__\r\nend','{\"$project\":{\"showName\":\"\\u6240\\u9700\\u9879\\u76ee\",\"varName\":\"$project\",\"varType\":\"select\",\"options\":\"project\",\"defaultValue\":\"\"}}','项目每个产品的第一个软件需求规格说明书基线版本的规模之和','从基线表中查询该项目下面每个产品的第一个软件需求规模说明书版本,然后查询对应的需求,求和。','crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','system','1970-01-01 00:00:01','admin','2020-07-07 14:21:53',15,'0'), +(4,'scale','project','userRequest','项目用户需求实时规模','pgmURRealScale','故事点或功能点','CREATE FUNCTION `qc_pgmurrealscale`($project int) RETURNS float (10,2)\r\nBEGIN\r\n declare totalEstimate float(10,2) default 0__DELIMITER__\r\n select CAST(sum(estimate) as DECIMAL(10,2)) as estimate from zt_story where project=$project and type=\'requirement\' and deleted=\'0\' and closedReason not in (\'subdivided\', \'duplicate\', \'willnotdo\', \'cancel\', \'bydesign\') into totalEstimate__DELIMITER__\r\n return totalEstimate__DELIMITER__\r\nEND','{\"$project\":{\"showName\":\"\\u6240\\u5c5e\\u9879\\u76ee\",\"varName\":\"$project\",\"varType\":\"select\",\"options\":\"project\",\"defaultValue\":\"\"}}','项目用户需求实际的规模','从需求表中查询该项目下的所有用户需求,对规模进行求和。','crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','system','1970-01-01 00:00:01','admin','2020-07-07 14:22:17',20,'0'), +(5,'scale','project','softRequest','项目软件需求实时规模','pgmSRRealScale','故事点或功能点','CREATE FUNCTION `qc_pgmsrrealscale`($project int) RETURNS float (10,2)\r\nBEGIN\r\n declare totalEstimate float (10,2) default 0__DELIMITER__\r\n select CAST(sum(estimate) as DECIMAL(10,2)) as estimate from zt_story where id in (select story from zt_projectstory where project=$project) and type=\'story\' and deleted=\'0\' and closedReason not in (\'subdivided\', \'duplicate\', \'willnotdo\', \'cancel\', \'bydesign\') into totalEstimate__DELIMITER__\r\n return totalEstimate__DELIMITER__\r\nEND','{\"$project\":{\"showName\":\"\\u6240\\u5c5e\\u9879\\u76ee\",\"varName\":\"$project\",\"varType\":false,\"options\":\"project\",\"defaultValue\":\"702\"}}','项目软件需求实际的规模','从需求表中查询该项目下的所有软件需求,对规模进行求和。','crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','system','1970-01-01 00:00:01','admin','2020-07-07 14:28:01',25,'0'), +(6,'scale','project','program','项目估算规模','pgmPlanScale','故事点或功能点','CREATE FUNCTION `qc_pgmplanscale`($project int) RETURNS float (10,2)\r\nBEGIN\r\n declare programScale float (10,2) default 0__DELIMITER__\r\n select `scale` from zt_workestimation where project = $project into programScale__DELIMITER__\r\n return programScale__DELIMITER__\r\nEND','{\"$project\":{\"showName\":\"\\u6240\\u5c5e\\u9879\\u76ee\",\"varName\":\"$project\",\"varType\":\"select\",\"options\":\"project\",\"defaultValue\":\"\"}}','项目最初估算时估计的规模','从项目估算表里面查询项目的估算规模。','crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','system','1970-01-01 00:00:01','admin','2020-07-07 14:26:01',30,'0'), +(8,'duration','project','stage','项目需求阶段计划天数','pgmRequestPlanDays','天','CREATE FUNCTION `qc_pgmrequestplandays`($project int) RETURNS int(10)\r\nBEGIN\r\n select qc_pgmspecifiedtypeplanneddays($project,\'request\') as days into @days__DELIMITER__\r\n return @days__DELIMITER__\r\nEND','{\"$project\":{\"showName\":\"\\u6240\\u5c5e\\u9879\\u76ee\",\"varName\":\"$project\",\"varType\":\"select\",\"options\":\"project\",\"defaultValue\":\"\"}}','项目下面所有需求阶段计划天数的和','从阶段表里面统计该项目下面所有类型为需求的阶段的计划天数,求和。','crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','system','1970-01-01 00:00:01','','1970-01-01 00:00:01',40,'0'), +(9,'duration','project','stage','项目设计阶段计划天数','pgmDesigntPlanDays','天','CREATE FUNCTION `qc_pgmdesigntplandays`($project int) RETURNS int(10)\r\nBEGIN\r\n select qc_pgmspecifiedtypeplanneddays($project,\'design\') as days into @days__DELIMITER__\r\n return @days__DELIMITER__\r\nEND','{\"$project\":{\"showName\":\"\\u6240\\u5c5e\\u9879\\u76ee\",\"varName\":\"$project\",\"varType\":\"select\",\"options\":\"project\",\"defaultValue\":\"\"}}','项目下面所有设计阶段计划天数的和','从阶段表里面统计该项目下面所有类型为设计的阶段的计划天数,求和。','crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','system','1970-01-01 00:00:01','','1970-01-01 00:00:01',45,'0'), +(10,'duration','project','stage','项目开发阶段计划天数','pgmDevelPlanDays','天','CREATE FUNCTION `qc_pgmdevelplandays`($project int) RETURNS int(10)\r\nBEGIN\r\n select qc_pgmspecifiedtypeplanneddays($project,\'dev\') as days into @days__DELIMITER__\r\n return @days__DELIMITER__\r\nEND','{\"$project\":{\"showName\":\"\\u6240\\u5c5e\\u9879\\u76ee\",\"varName\":\"$project\",\"varType\":\"select\",\"options\":\"project\",\"defaultValue\":\"\"}}','项目下面所有研发阶段计划天数的和','从阶段表里面统计该项目下面所有类型为开发的阶段的计划天数,求和。','crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','system','1970-01-01 00:00:01','','1970-01-01 00:00:01',50,'0'), +(11,'duration','project','stage','项目测试阶段计划天数','pgmTestPlanDays','天','CREATE FUNCTION `qc_pgmtestplandays`($project int) RETURNS int(10)\r\nBEGIN\r\n select qc_pgmspecifiedtypeplanneddays($project,\'qa\') as days into @days__DELIMITER__\r\n return @days__DELIMITER__\r\nEND','{\"$project\":{\"showName\":\"\\u6240\\u5c5e\\u9879\\u76ee\",\"varName\":\"$project\",\"varType\":\"select\",\"options\":\"project\",\"defaultValue\":\"\"}}','项目下面所有测试阶段计划天数的和','从阶段表里面统计该项目下面所有类型为测试的阶段的计划天数,求和。','crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','system','1970-01-01 00:00:01','','1970-01-01 00:00:01',55,'0'), +(12,'duration','project','stage','项目需求阶段实际天数','pgmRequestRealDays','天','CREATE FUNCTION `qc_pgmrequestrealdays`($project int) RETURNS int(10)\r\nBEGIN\r\n select qc_pgmspecifiedtypeactualdays($project,\'request\') as days into @days__DELIMITER__\r\n return @days__DELIMITER__\r\nEND','{\"$project\":{\"showName\":\"\\u6240\\u5c5e\\u9879\\u76ee\",\"varName\":\"$project\",\"varType\":\"select\",\"options\":\"project\",\"defaultValue\":\"\"}}','项目下面所有需求阶段实际天数的和','从阶段表里面统计该项目下面所有类型为需求的阶段的实际天数,求和。','crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','system','1970-01-01 00:00:01','','1970-01-01 00:00:01',60,'0'), +(13,'duration','project','stage','项目设计阶段实际天数','pgmDesigntRealDays','天','CREATE FUNCTION `qc_pgmdesigntrealdays`($project int) RETURNS int(10)\r\nBEGIN\r\n select qc_pgmspecifiedtypeactualdays($project,\'design\') as days into @days__DELIMITER__\r\n return @days__DELIMITER__\r\nEND','{\"$project\":{\"showName\":\"\\u6240\\u5c5e\\u9879\\u76ee\",\"varName\":\"$project\",\"varType\":\"select\",\"options\":\"project\",\"defaultValue\":\"\"}}','项目下面所有设计阶段实际天数的和','从阶段表里面统计该项目下面所有类型为设计的阶段的实际天数,求和。','crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','system','1970-01-01 00:00:01','','1970-01-01 00:00:01',65,'0'), +(14,'duration','project','stage','项目开发阶段实际天数','pgmDevelRealDays','天','CREATE FUNCTION `qc_pgmdevelrealdays`($project int) RETURNS int(10)\r\nBEGIN\r\n select qc_pgmspecifiedtypeactualdays($project,\'dev\') as days into @days__DELIMITER__\r\n return @days__DELIMITER__\r\nEND','{\"$project\":{\"showName\":\"\\u6240\\u5c5e\\u9879\\u76ee\",\"varName\":\"$project\",\"varType\":\"select\",\"options\":\"project\",\"defaultValue\":\"\"}}','项目下面所有研发阶段实际天数的和','从阶段表里面统计该项目下面所有类型为开发的阶段的实际天数,求和。','crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','system','1970-01-01 00:00:01','','1970-01-01 00:00:01',70,'0'), +(15,'duration','project','stage','项目测试阶段实际天数','pgmTestRealDays','天','CREATE FUNCTION `qc_pgmtestrealdays`($project int) RETURNS int(10)\r\nBEGIN\r\n select qc_pgmspecifiedtypeactualdays($project,\'qa\') as days into @days__DELIMITER__\r\n return @days__DELIMITER__\r\nEND','{\"$project\":{\"showName\":\"\\u6240\\u5c5e\\u9879\\u76ee\",\"varName\":\"$project\",\"varType\":\"select\",\"options\":\"project\",\"defaultValue\":\"3\"}}','项目下面所有测试阶段实际天数的和','从阶段表里面统计该项目下面所有类型为测试的阶段的实际天数,求和。','crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','system','1970-01-01 00:00:01','','1970-01-01 00:00:01',75,'0'), +(26,'duration','product','stage','分产品需求阶段计划天数','prdRequestPlanDays','天','CREATE FUNCTION `qc_prdrequestplandays`($product int) RETURNS int(10)\r\nBEGIN\r\n select qc_pgmstageplannedduration($product, \'request\') as days into @days__DELIMITER__\r\n return @days__DELIMITER__\r\nEND','{\"$product\":{\"showName\":\"\\u6240\\u5c5e\\u4ea7\\u54c1\",\"varName\":\"$product\",\"varType\":\"select\",\"options\":\"product\",\"defaultValue\":\"\"}}','产品下面所有需求阶段计划天数的和','从阶段表里面统计该产品在该项目下所有类型为需求的阶段的计划天数,求和。','crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','system','1970-01-01 00:00:01','','1970-01-01 00:00:01',130,'0'), +(27,'duration','product','stage','分产品设计阶段计划天数','prdDesigntPlanDays','天','CREATE FUNCTION `qc_prddesigntplandays`($product int) RETURNS int(10)\r\nBEGIN\r\n select qc_pgmstageplannedduration($product, \'design\') as days into @days__DELIMITER__\r\n return @days__DELIMITER__\r\nEND','{\"$product\":{\"showName\":\"\\u6240\\u5c5e\\u4ea7\\u54c1\",\"varName\":\"$product\",\"varType\":\"select\",\"options\":\"product\",\"defaultValue\":\"\"}}','产品下面所有设计阶段计划天数的和','从阶段表里面统计该产品在该项目下所有类型为设计的阶段的计划天数,求和。','crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','system','1970-01-01 00:00:01','','1970-01-01 00:00:01',135,'0'), +(28,'duration','product','stage','分产品开发阶段计划天数','prdDevelPlanDays','天','CREATE FUNCTION `qc_prddevelplandays`($product int) RETURNS int(10)\r\nBEGIN\r\n select qc_pgmstageplannedduration($product, \'dev\') as days into @days__DELIMITER__\r\n return @days__DELIMITER__\r\nEND','{\"$product\":{\"showName\":\"\\u6240\\u5c5e\\u4ea7\\u54c1\",\"varName\":\"$product\",\"varType\":\"select\",\"options\":\"product\",\"defaultValue\":\"1\"}}','产品下面所有研发阶段计划天数的和','从阶段表里面统计该产品在该项目下所有类型为开发的阶段的计划天数,求和。','crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','system','1970-01-01 00:00:01','','1970-01-01 00:00:01',140,'0'), +(29,'duration','product','stage','分产品测试阶段计划天数','prdTestPlanDays','天','CREATE FUNCTION `qc_prdtestplandays`($product int) RETURNS int(10)\r\nBEGIN\r\n select qc_pgmstageplannedduration($product, \'qa\') as days into @days__DELIMITER__\r\n return @days__DELIMITER__\r\nEND','{\"$product\":{\"showName\":\"\\u6240\\u5c5e\\u4ea7\\u54c1\",\"varName\":\"$product\",\"varType\":\"select\",\"options\":\"product\",\"defaultValue\":\"\"}}','产品下面所有测试阶段计划天数的和','从阶段表里面统计该产品在该项目下所有类型为测试的阶段的计划天数,求和。','crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','system','1970-01-01 00:00:01','','1970-01-01 00:00:01',145,'0'), +(30,'duration','product','stage','分产品需求阶段实际天数','prdRequestRealDays','天','CREATE FUNCTION `qc_prdrequestrealdays`($product int) RETURNS int(10)\r\nBEGIN\r\n select qc_pgmstageactualduration($product,\'request\') as days into @days__DELIMITER__\r\n return @days__DELIMITER__\r\nEND','{\"$product\":{\"showName\":\"\\u6240\\u5c5e\\u4ea7\\u54c1\",\"varName\":\"$product\",\"varType\":\"select\",\"options\":\"product\",\"defaultValue\":\"\"}}','产品下面所有需求阶段实际天数的和','从阶段表里面统计该产品在该项目下所有类型为需求的阶段的实际天数,求和。','crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','system','1970-01-01 00:00:01','','1970-01-01 00:00:01',150,'0'), +(31,'duration','product','stage','分产品设计阶段实际天数','prdDesigntRealDays','天','CREATE FUNCTION `qc_prddesigntrealdays`($product int) RETURNS int(10)\r\nBEGIN\r\n select qc_pgmstageactualduration($product, \'design\') as days into @days__DELIMITER__\r\n return @days__DELIMITER__\r\nEND','{\"$product\":{\"showName\":\"\\u6240\\u5c5e\\u4ea7\\u54c1\",\"varName\":\"$product\",\"varType\":\"select\",\"options\":\"product\",\"defaultValue\":\"\"}}','产品下面所有设计阶段实际天数的和','从阶段表里面统计该产品在该项目下所有类型为设计的阶段的实际天数,求和。','crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','system','1970-01-01 00:00:01','','1970-01-01 00:00:01',155,'0'), +(32,'duration','product','stage','分产品开发阶段实际天数','prdDevelRealDays','天','CREATE FUNCTION `qc_prddevelrealdays`($product int) RETURNS int(10)\r\nBEGIN\r\n select qc_pgmstageactualduration($product, \'dev\') as days into @days__DELIMITER__\r\n return @days__DELIMITER__\r\nEND','{\"$product\":{\"showName\":\"\\u6240\\u5c5e\\u4ea7\\u54c1\",\"varName\":\"$product\",\"varType\":\"select\",\"options\":\"product\",\"defaultValue\":\"\"}}','产品下面所有研发阶段实际天数的和','从阶段表里面统计该产品在该项目下所有类型为开发的阶段的实际天数,求和。','crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','system','1970-01-01 00:00:01','','1970-01-01 00:00:01',160,'0'), +(33,'duration','product','stage','分产品测试阶段实际天数','prdTestRealDays','天','CREATE FUNCTION `qc_prdtestrealdays`($product int) RETURNS int(10)\r\nBEGIN\r\n select qc_pgmstageactualduration($product, \'qa\') as days into @days__DELIMITER__\r\n return @days__DELIMITER__\r\nEND','{\"$product\":{\"showName\":\"\\u6240\\u5c5e\\u4ea7\\u54c1\",\"varName\":\"$product\",\"varType\":\"select\",\"options\":\"product\",\"defaultValue\":\"1\"}}','产品下面所有测试阶段实际天数的和','从阶段表里面统计该产品在该项目下所有类型为测试的阶段的实际天数,求和。','crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','system','1970-01-01 00:00:01','','1970-01-01 00:00:01',165,'0'), +(34,'workload','project','finance','项目任务实时预计工时数','pgmRealEstHours','小时','CREATE FUNCTION `qc_pgmrealesthours`($project int) RETURNS float(10,2)\r\nBEGIN\r\n select sum(estimate) from zt_task where project=$project and parent >= 0 and status != \'cancel\' and deleted = \'0\' into @estimate__DELIMITER__\r\nreturn @estimate__DELIMITER__\r\nEND','{\"$project\":{\"showName\":\"\\u6240\\u5c5e\\u9879\\u76ee\",\"varName\":\"$project\",\"varType\":\"select\",\"options\":\"project\",\"defaultValue\":\"\"}}','项目下面所有任务的最初预计工时和','从任务表中查询该项目的所有任务,统计最初预计工>时,求和。','crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','system','1970-01-01 00:00:01','admin','2020-07-07 19:51:39',170,'0'), +(35,'workload','project','finance','项目需求工作实时总预计工时数','pgmRequestRealEstHours','小时','CREATE FUNCTION `qc_pgmrequestrealesthours`($project int) RETURNS float (10,2)\r\nBEGIN\r\nreturn qc_pgmesthoursbytype($project, \'request\')__DELIMITER__\r\nEND','{\"$project\":{\"showName\":\"\\u6240\\u5c5e\\u9879\\u76ee\",\"varName\":\"$project\",\"varType\":\"select\",\"options\":\"project\",\"defaultValue\":\"\"}}','项目所有需求相关任务的最初预计工时和','从任务表中查询该项目所有任务类型为需求的任务,统计最初预计工时,求和。','crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','system','1970-01-01 00:00:01','admin','2020-07-23 13:49:17',175,'0'), +(36,'workload','project','finance','项目设计工作实时总预计工时数','pgmDesgignRealEstHours','小时','CREATE FUNCTION `qc_pgmdesgignrealesthours`($project int) RETURNS float (10,2)\r\nBEGIN\r\nreturn qc_pgmesthoursbytype($project, \'design\')__DELIMITER__\r\nEND','{\"$project\":{\"showName\":\"\\u6240\\u5c5e\\u9879\\u76ee\",\"varName\":\"$project\",\"varType\":\"select\",\"options\":\"project\",\"defaultValue\":\"\"}}','项目所有设计相关任务的最初预计工时和','从任务表中查询该项目所有任务类型为设计的任务,统计最初预计工时,求和。','crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','system','1970-01-01 00:00:01','admin','2020-07-23 13:45:32',180,'0'), +(37,'workload','project','finance','项目开发工作实时总预计工时数','pgmDevelRealEstHours','小时','CREATE FUNCTION `qc_pgmdevelrealesthours`($project int) RETURNS float (10,2)\r\nBEGIN\r\nreturn qc_pgmesthoursbytype($project, \'devel\')__DELIMITER__\r\nEND','{\"$project\":{\"showName\":\"\\u6240\\u5c5e\\u9879\\u76ee\",\"varName\":\"$project\",\"varType\":\"select\",\"options\":\"project\",\"defaultValue\":\"\"}}','项目所有开发相关任务的最初预计工时和','从任务表中查询该项目所有任务类型为开发的任务,统计最初预计工时,求和。','crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','system','1970-01-01 00:00:01','admin','2020-07-23 13:46:53',185,'0'), +(38,'workload','project','finance','项目测试工作实时总预计工时数','pgmTestRealEstHours','小时','CREATE FUNCTION `qc_pgmtestrealesthours`($project int) RETURNS float(10,2)\r\nBEGIN\r\nreturn qc_pgmesthoursbytype($project, \'test\')__DELIMITER__\r\nEND','{\"$project\":{\"showName\":\"\\u6240\\u5c5e\\u9879\\u76ee\",\"varName\":\"$project\",\"varType\":\"select\",\"options\":\"project\",\"defaultValue\":\"\"}}','项目所有测试相关任务的最初预计工时和','从任务表中查询该项目所有任务类型为测试的任务,统计最初预计工时,求和。','crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','system','1970-01-01 00:00:01','admin','2020-07-23 13:44:13',190,'0'), +(39,'workload','project','finance','项目任务实际消耗工时数','pgmRealHours','小时','CREATE FUNCTION `qc_pgmrealhours`($project int) RETURNS float(10,2)\r\nBEGIN\r\n select CAST(sum(consumed) as DECIMAL(10,2)) as consumed from zt_task where project=$project and parent >= 0 and status != \'cancel\' and deleted = \'0\' into @consumed__DELIMITER__\r\n return @consumed__DELIMITER__\r\nEND','{\"$project\":{\"showName\":\"\\u6240\\u5c5e\\u9879\\u76ee\",\"varName\":\"$project\",\"varType\":\"select\",\"options\":\"project\",\"defaultValue\":\"\"}}','项目下面所有任务的实际消耗工时和','从任务表中查询该项目的所有任务,统计实际消耗工时,求和。','crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','system','1970-01-01 00:00:01','admin','2020-07-07 19:49:32',195,'0'), +(40,'workload','project','finance','项目需求工作实际消耗工时数','pgmRequestRealHours','小时','CREATE FUNCTION `qc_pgmrequestrealhours`($project int) RETURNS float(10,2)\r\nBEGIN\r\nreturn qc_pgmrealhoursbytype($project, \'request\')__DELIMITER__\r\nEND','{\"$project\":{\"showName\":\"\\u6240\\u5c5e\\u9879\\u76ee\",\"varName\":\"$project\",\"varType\":\"select\",\"options\":\"project\",\"defaultValue\":\"\"}}','项目所有需求相关任务的实际消耗工时和','从任务表中查询该项目所有任务类型为需求的任务,统计实际消耗工时,求和。','crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','system','1970-01-01 00:00:01','admin','2020-07-07 19:49:03',200,'0'), +(41,'workload','project','finance','项目设计工作实际消耗工时数','pgmDesignRealHours','小时','CREATE FUNCTION `qc_pgmdesignrealhours`($project int) RETURNS float(10,2)\r\nBEGIN\r\nreturn qc_pgmrealhoursbytype($project, \'design\')__DELIMITER__\r\nEND','{\"$project\":{\"showName\":\"\\u6240\\u5c5e\\u9879\\u76ee\",\"varName\":\"$project\",\"varType\":\"select\",\"options\":\"project\",\"defaultValue\":\"\"}}','项目所有设计相关任务的实际消耗工时和','从任务表中查询该项目所有任务类型为设计的任务,统计实际消耗工时,求和。','crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','system','1970-01-01 00:00:01','admin','2020-07-07 19:48:35',205,'0'), +(42,'workload','project','finance','项目开发工作实际消耗工时数','pgmDevelRealHours','小时','CREATE FUNCTION `qc_pgmdevelrealhours`($project int) RETURNS float(10,2)\r\nBEGIN\r\nreturn qc_pgmrealhoursbytype($project, \'devel\')__DELIMITER__\r\nEND','{\"$project\":{\"showName\":\"\\u6240\\u5c5e\\u9879\\u76ee\",\"varName\":\"$project\",\"varType\":\"select\",\"options\":\"project\",\"defaultValue\":\"\"}}','项目所有开发相关任务的实际消耗工时和','从任务表中查询该项目所有任务类型为开发的任务,统计实际消耗工时,求和。','crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','system','1970-01-01 00:00:01','admin','2020-07-07 18:34:51',210,'0'), +(43,'workload','project','finance','项目测试工作实际消耗工时数','pgmTestRealHours','小时','CREATE FUNCTION `qc_pgmtestrealhours`($project int) RETURNS float(10, 2)\r\nBEGIN\r\nreturn qc_pgmrealhoursbytype($project, \'test\')__DELIMITER__\r\nEND','{\"$project\":{\"showName\":\"\\u6240\\u5c5e\\u9879\\u76ee\",\"varName\":\"$project\",\"varType\":\"select\",\"options\":\"project\",\"defaultValue\":\"\"}}','项目所有测试相关任务的实际消耗工时和','从任务表中查询该项目所有任务类型为测试的任务,统计实际消耗工时,求和。','crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','system','1970-01-01 00:00:01','admin','2020-07-07 18:09:01',215,'0'), +(44,'workload','project','finance','项目开发工作最初总预计工时数','pgmDevelFirstEstHours','小时','CREATE FUNCTION `qc_pgmdevelfirstesthours`($project int) RETURNS float(10,2)\r\nBEGIN\r\n declare estimate float(10,2) default 0__DELIMITER__\r\n declare inited int default 0__DELIMITER__\r\n select qc_cminited($project, \'PP\') into inited__DELIMITER__\r\n IF inited = 1 THEN\r\n select qc_getdevelfirstesthours($project) into estimate__DELIMITER__\r\n return estimate__DELIMITER__\r\n ELSE \r\n return 0__DELIMITER__\r\n END IF__DELIMITER__\r\nEND','{\"$project\":{\"showName\":\"\\u6240\\u5c5e\\u9879\\u76ee\",\"varName\":\"$project\",\"varType\":\"select\",\"options\":\"project\",\"defaultValue\":\"\"}}','项目计划第一个基线版本中所有开发相关工作最初预计工时和',NULL,'crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','admin','2020-07-22 13:13:51','','1970-01-01 00:00:01',220,'0'), (45,'workload','project','finance','项目设计工作最初总预计工时数','pgmDesignFirstEstHours','小时','CREATE FUNCTION `qc_pgmdesignfirstesthours`($project int) RETURNS float(10,2)\r\nBEGIN\r\n declare estimate float(10,2) default 0__DELIMITER__\r\n declare inited int default 0__DELIMITER__\r\n select qc_cminited($project, \'PP\') into inited__DELIMITER__\r\n IF inited = 1 THEN\r\n select qc_getdesignfirstesthours($project) into estimate__DELIMITER__\r\n return estimate__DELIMITER__\r\n ELSE \r\n return 0__DELIMITER__\r\n END IF__DELIMITER__\r\nEND','{\"$project\":{\"showName\":\"\\u6240\\u5c5e\\u9879\\u76ee\",\"varName\":\"$project\",\"varType\":\"select\",\"options\":\"project\",\"defaultValue\":\"\"}}','项目计划第一个基线版本中所有设计相关工作最初预计工时和',NULL,'crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','admin','2020-07-22 16:33:20','admin','2020-07-23 10:31:23',225,'0'), -(46,'workload','project','finance','项目测试工作最初总预计工时数','pgmTestFirstEstHours','小时','CREATE FUNCTION `qc_pgmtestfirstesthours`($project int) RETURNS float(10,2)\r\nBEGIN\r\n declare estimate float(10,2) default 0__DELIMITER__\r\n declare inited int default 0__DELIMITER__\r\n select qc_cminited($project, \'PP\') into inited__DELIMITER__\r\n IF inited = 1 THEN\r\n select qc_gettestfirstesthours($project) into estimate__DELIMITER__\r\n return estimate__DELIMITER__\r\n ELSE \r\n return 0__DELIMITER__\r\n END IF__DELIMITER__\r\nEND','{\"$project\":{\"showName\":\"\\u6240\\u5c5e\\u9879\\u76ee\",\"varName\":\"$project\",\"varType\":\"select\",\"options\":\"project\",\"defaultValue\":\"\"}}','项目计划第一个基线版本中所有测试相关工作最初预计工时和',NULL,'crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','admin','2020-07-23 10:31:17','','0000-00-00 00:00:00',230,'0'), -(47,'workload','project','finance','项目需求工作最初总预计工时数','pgmRequestFirstEstHours','小时','CREATE FUNCTION `qc_pgmrequestfirstesthours`($project int) RETURNS float(10,2)\r\nBEGIN\r\n declare estimate float(10,2) default 0__DELIMITER__\r\n declare inited int default 0__DELIMITER__\r\n select qc_cminited($project, \'PP\') into inited__DELIMITER__\r\n IF inited = 1 THEN\r\n select qc_getstoryfirstesthours($project) into estimate__DELIMITER__\r\n return estimate__DELIMITER__\r\n ELSE \r\n return 0__DELIMITER__\r\n END IF__DELIMITER__\r\nEND','{\"$project\":{\"showName\":\"\\u6240\\u5c5e\\u9879\\u76ee\",\"varName\":\"$project\",\"varType\":\"select\",\"options\":\"project\",\"defaultValue\":\"\"}}','项目计划第一个基线版本中所有需求相关工作最初预计工时和',NULL,'crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','admin','2020-07-23 10:53:09','','0000-00-00 00:00:00',235,'0'), -(48,'workload','project','finance','项目任务最初总预计工时数','pgmFirstEstHours','小时','CREATE FUNCTION `qc_pgmfirstesthours`($project int) RETURNS float(10,2)\r\nBEGIN\r\n declare estimate float(10,2) default 0__DELIMITER__\r\n declare inited int default 0__DELIMITER__\r\n select qc_cminited($project, \'PP\') into inited__DELIMITER__\r\n IF inited = 1 THEN\r\n select qc_getfirstesthours($project) into estimate__DELIMITER__\r\n return estimate__DELIMITER__\r\n ELSE \r\n return 0__DELIMITER__\r\n END IF__DELIMITER__\r\nEND','{\"$project\":{\"showName\":\"\\u6240\\u5c5e\\u9879\\u76ee\",\"varName\":\"$project\",\"varType\":\"select\",\"options\":\"project\",\"defaultValue\":\"\"}}','项目计划第一个基线版本中所有任务最初预计工时和',NULL,'crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','admin','2020-07-23 13:06:59','','0000-00-00 00:00:00',240,'0'), -(49,'workload','project','finance','项目开发工作最终总预计工时数','pgmDevelLastEstHours','小时','CREATE FUNCTION `qc_pgmdevellastesthours`($project int) RETURNS float(10,2)\r\nBEGIN\r\n declare estimate float(10,2) default 0__DELIMITER__\r\n declare inited int default 0__DELIMITER__\r\n select qc_cminited($project, \'PP\') into inited__DELIMITER__\r\n IF inited = 1 THEN\r\n select qc_getdevlastesthours($project) into estimate__DELIMITER__\r\n return estimate__DELIMITER__\r\n ELSE \r\n return 0__DELIMITER__\r\n END IF__DELIMITER__\r\nEND','{\"$project\":{\"showName\":\"\\u6240\\u5c5e\\u9879\\u76ee\",\"varName\":\"$project\",\"varType\":\"select\",\"options\":\"project\",\"defaultValue\":\"\"}}','项目计划最后一个基线版本中所有开发相关任务最初预计工时和',NULL,'crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','admin','2020-07-23 13:41:38','','0000-00-00 00:00:00',245,'0'), -(50,'workload','project','finance','项目需求工作最终总预计工时数','pgmRequestLastEstHours','小时','CREATE FUNCTION `qc_pgmrequestlastesthours`($project int) RETURNS float(10,2)\r\nBEGIN\r\n declare estimate float(10,2) default 0__DELIMITER__\r\n declare inited int default 0__DELIMITER__\r\n select qc_cminited($project,\'PP\') into inited__DELIMITER__\r\n IF inited = 1 THEN\r\n select qc_getrequestlastesthours($project) into estimate__DELIMITER__\r\n return estimate__DELIMITER__\r\n ELSE \r\n return 0__DELIMITER__\r\n END IF__DELIMITER__\r\nEND','{\"$project\":{\"showName\":\"\\u6240\\u5c5e\\u9879\\u76ee\",\"varName\":\"$project\",\"varType\":\"select\",\"options\":\"project\",\"defaultValue\":\"\"}}','项目计划最后一个基线版本中所有需求相关任务最初预计工时和',NULL,'crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','admin','2020-07-23 14:00:58','','0000-00-00 00:00:00',250,'0'), -(51,'workload','project','finance','项目测试工作最终总预计工时数','pgmTestLastEstHours','小时','CREATE FUNCTION `qc_pgmtestlastesthours`($project int) RETURNS float(10,2)\r\nBEGIN\r\n declare estimate float(10,2) default 0__DELIMITER__\r\n declare inited int default 0__DELIMITER__\r\n select qc_cminited($project,\'PP\') into inited__DELIMITER__\r\n IF inited = 1 THEN\r\n select qc_gettestlastesthours($project) into estimate__DELIMITER__\r\n return estimate__DELIMITER__\r\n ELSE \r\n return 0__DELIMITER__\r\n END IF__DELIMITER__\r\nEND','{\"$project\":{\"showName\":\"\\u6240\\u5c5e\\u9879\\u76ee\",\"varName\":\"$project\",\"varType\":\"select\",\"options\":\"project\",\"defaultValue\":\"\"}}','项目计划最后一个基线版本中所有测试相关任务最初预计工时和',NULL,'crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','admin','2020-07-23 14:10:12','','0000-00-00 00:00:00',255,'0'), -(52,'workload','project','finance','项目设计工作最终总预计工时数','pgmDesignLastEstHours','小时','CREATE FUNCTION `qc_pgmdesignlastesthours`($project int) RETURNS float(10,2)\r\nBEGIN\r\n declare estimate float(10,2) default 0__DELIMITER__\r\n declare inited int default 0__DELIMITER__\r\n select qc_cminited($project,\'PP\') into inited__DELIMITER__\r\n IF inited = 1 THEN\r\n select qc_getdesignlastesthours($project) into estimate__DELIMITER__\r\n return estimate__DELIMITER__\r\n ELSE \r\n return 0__DELIMITER__\r\n END IF__DELIMITER__\r\nEND','{\"$project\":{\"showName\":\"\\u6240\\u5c5e\\u9879\\u76ee\",\"varName\":\"$project\",\"varType\":\"select\",\"options\":\"project\",\"defaultValue\":\"\"}}','项目计划最后一个基线版本中所有设计相关任务最初预计工时和',NULL,'crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','admin','2020-07-23 14:33:00','','0000-00-00 00:00:00',260,'0'), -(53,'workload','project','finance','项目任务最终总预计工时数','pgmLastEstHours','小时','CREATE FUNCTION `qc_pgmlastesthours`($project int) RETURNS float(10,2)\r\nBEGIN\r\n declare estimate float(10,2) default 0__DELIMITER__\r\n declare inited int default 0__DELIMITER__\r\n select qc_cminited($project,\'PP\') into inited__DELIMITER__\r\n IF inited = 1 THEN\r\n select qc_getlastesthours($project) into estimate__DELIMITER__\r\n return estimate__DELIMITER__\r\n ELSE \r\n return 0__DELIMITER__\r\n END IF__DELIMITER__\r\nEND','{\"$project\":{\"showName\":\"\\u6240\\u5c5e\\u9879\\u76ee\",\"varName\":\"$project\",\"varType\":\"select\",\"options\":\"project\",\"defaultValue\":\"\"}}','项目计划最后一个基线版本中所有任务最初预计工时和',NULL,'crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','admin','2020-07-23 14:54:42','','0000-00-00 00:00:00',265,'0'); +(46,'workload','project','finance','项目测试工作最初总预计工时数','pgmTestFirstEstHours','小时','CREATE FUNCTION `qc_pgmtestfirstesthours`($project int) RETURNS float(10,2)\r\nBEGIN\r\n declare estimate float(10,2) default 0__DELIMITER__\r\n declare inited int default 0__DELIMITER__\r\n select qc_cminited($project, \'PP\') into inited__DELIMITER__\r\n IF inited = 1 THEN\r\n select qc_gettestfirstesthours($project) into estimate__DELIMITER__\r\n return estimate__DELIMITER__\r\n ELSE \r\n return 0__DELIMITER__\r\n END IF__DELIMITER__\r\nEND','{\"$project\":{\"showName\":\"\\u6240\\u5c5e\\u9879\\u76ee\",\"varName\":\"$project\",\"varType\":\"select\",\"options\":\"project\",\"defaultValue\":\"\"}}','项目计划第一个基线版本中所有测试相关工作最初预计工时和',NULL,'crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','admin','2020-07-23 10:31:17','','1970-01-01 00:00:01',230,'0'), +(47,'workload','project','finance','项目需求工作最初总预计工时数','pgmRequestFirstEstHours','小时','CREATE FUNCTION `qc_pgmrequestfirstesthours`($project int) RETURNS float(10,2)\r\nBEGIN\r\n declare estimate float(10,2) default 0__DELIMITER__\r\n declare inited int default 0__DELIMITER__\r\n select qc_cminited($project, \'PP\') into inited__DELIMITER__\r\n IF inited = 1 THEN\r\n select qc_getstoryfirstesthours($project) into estimate__DELIMITER__\r\n return estimate__DELIMITER__\r\n ELSE \r\n return 0__DELIMITER__\r\n END IF__DELIMITER__\r\nEND','{\"$project\":{\"showName\":\"\\u6240\\u5c5e\\u9879\\u76ee\",\"varName\":\"$project\",\"varType\":\"select\",\"options\":\"project\",\"defaultValue\":\"\"}}','项目计划第一个基线版本中所有需求相关工作最初预计工时和',NULL,'crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','admin','2020-07-23 10:53:09','','1970-01-01 00:00:01',235,'0'), +(48,'workload','project','finance','项目任务最初总预计工时数','pgmFirstEstHours','小时','CREATE FUNCTION `qc_pgmfirstesthours`($project int) RETURNS float(10,2)\r\nBEGIN\r\n declare estimate float(10,2) default 0__DELIMITER__\r\n declare inited int default 0__DELIMITER__\r\n select qc_cminited($project, \'PP\') into inited__DELIMITER__\r\n IF inited = 1 THEN\r\n select qc_getfirstesthours($project) into estimate__DELIMITER__\r\n return estimate__DELIMITER__\r\n ELSE \r\n return 0__DELIMITER__\r\n END IF__DELIMITER__\r\nEND','{\"$project\":{\"showName\":\"\\u6240\\u5c5e\\u9879\\u76ee\",\"varName\":\"$project\",\"varType\":\"select\",\"options\":\"project\",\"defaultValue\":\"\"}}','项目计划第一个基线版本中所有任务最初预计工时和',NULL,'crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','admin','2020-07-23 13:06:59','','1970-01-01 00:00:01',240,'0'), +(49,'workload','project','finance','项目开发工作最终总预计工时数','pgmDevelLastEstHours','小时','CREATE FUNCTION `qc_pgmdevellastesthours`($project int) RETURNS float(10,2)\r\nBEGIN\r\n declare estimate float(10,2) default 0__DELIMITER__\r\n declare inited int default 0__DELIMITER__\r\n select qc_cminited($project, \'PP\') into inited__DELIMITER__\r\n IF inited = 1 THEN\r\n select qc_getdevlastesthours($project) into estimate__DELIMITER__\r\n return estimate__DELIMITER__\r\n ELSE \r\n return 0__DELIMITER__\r\n END IF__DELIMITER__\r\nEND','{\"$project\":{\"showName\":\"\\u6240\\u5c5e\\u9879\\u76ee\",\"varName\":\"$project\",\"varType\":\"select\",\"options\":\"project\",\"defaultValue\":\"\"}}','项目计划最后一个基线版本中所有开发相关任务最初预计工时和',NULL,'crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','admin','2020-07-23 13:41:38','','1970-01-01 00:00:01',245,'0'), +(50,'workload','project','finance','项目需求工作最终总预计工时数','pgmRequestLastEstHours','小时','CREATE FUNCTION `qc_pgmrequestlastesthours`($project int) RETURNS float(10,2)\r\nBEGIN\r\n declare estimate float(10,2) default 0__DELIMITER__\r\n declare inited int default 0__DELIMITER__\r\n select qc_cminited($project,\'PP\') into inited__DELIMITER__\r\n IF inited = 1 THEN\r\n select qc_getrequestlastesthours($project) into estimate__DELIMITER__\r\n return estimate__DELIMITER__\r\n ELSE \r\n return 0__DELIMITER__\r\n END IF__DELIMITER__\r\nEND','{\"$project\":{\"showName\":\"\\u6240\\u5c5e\\u9879\\u76ee\",\"varName\":\"$project\",\"varType\":\"select\",\"options\":\"project\",\"defaultValue\":\"\"}}','项目计划最后一个基线版本中所有需求相关任务最初预计工时和',NULL,'crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','admin','2020-07-23 14:00:58','','1970-01-01 00:00:01',250,'0'), +(51,'workload','project','finance','项目测试工作最终总预计工时数','pgmTestLastEstHours','小时','CREATE FUNCTION `qc_pgmtestlastesthours`($project int) RETURNS float(10,2)\r\nBEGIN\r\n declare estimate float(10,2) default 0__DELIMITER__\r\n declare inited int default 0__DELIMITER__\r\n select qc_cminited($project,\'PP\') into inited__DELIMITER__\r\n IF inited = 1 THEN\r\n select qc_gettestlastesthours($project) into estimate__DELIMITER__\r\n return estimate__DELIMITER__\r\n ELSE \r\n return 0__DELIMITER__\r\n END IF__DELIMITER__\r\nEND','{\"$project\":{\"showName\":\"\\u6240\\u5c5e\\u9879\\u76ee\",\"varName\":\"$project\",\"varType\":\"select\",\"options\":\"project\",\"defaultValue\":\"\"}}','项目计划最后一个基线版本中所有测试相关任务最初预计工时和',NULL,'crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','admin','2020-07-23 14:10:12','','1970-01-01 00:00:01',255,'0'), +(52,'workload','project','finance','项目设计工作最终总预计工时数','pgmDesignLastEstHours','小时','CREATE FUNCTION `qc_pgmdesignlastesthours`($project int) RETURNS float(10,2)\r\nBEGIN\r\n declare estimate float(10,2) default 0__DELIMITER__\r\n declare inited int default 0__DELIMITER__\r\n select qc_cminited($project,\'PP\') into inited__DELIMITER__\r\n IF inited = 1 THEN\r\n select qc_getdesignlastesthours($project) into estimate__DELIMITER__\r\n return estimate__DELIMITER__\r\n ELSE \r\n return 0__DELIMITER__\r\n END IF__DELIMITER__\r\nEND','{\"$project\":{\"showName\":\"\\u6240\\u5c5e\\u9879\\u76ee\",\"varName\":\"$project\",\"varType\":\"select\",\"options\":\"project\",\"defaultValue\":\"\"}}','项目计划最后一个基线版本中所有设计相关任务最初预计工时和',NULL,'crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','admin','2020-07-23 14:33:00','','1970-01-01 00:00:01',260,'0'), +(53,'workload','project','finance','项目任务最终总预计工时数','pgmLastEstHours','小时','CREATE FUNCTION `qc_pgmlastesthours`($project int) RETURNS float(10,2)\r\nBEGIN\r\n declare estimate float(10,2) default 0__DELIMITER__\r\n declare inited int default 0__DELIMITER__\r\n select qc_cminited($project,\'PP\') into inited__DELIMITER__\r\n IF inited = 1 THEN\r\n select qc_getlastesthours($project) into estimate__DELIMITER__\r\n return estimate__DELIMITER__\r\n ELSE \r\n return 0__DELIMITER__\r\n END IF__DELIMITER__\r\nEND','{\"$project\":{\"showName\":\"\\u6240\\u5c5e\\u9879\\u76ee\",\"varName\":\"$project\",\"varType\":\"select\",\"options\":\"project\",\"defaultValue\":\"\"}}','项目计划最后一个基线版本中所有任务最初预计工时和',NULL,'crontab','{\"week\":\"1,2,3,4,5,6,0\",\"type\":\"week\"}','00:00','','admin','2020-07-23 14:54:42','','1970-01-01 00:00:01',265,'0'); REPLACE INTO `zt_cron` (`m`, `h`, `dom`, `mon`, `dow`, `command`, `remark`, `type`, `buildin`, `status`, `lastTime`) VALUES ('1','0','*','*','*','moduleName=weekly&methodName=computeWeekly','更新项目周报','system',0,'normal','2020-08-27 10:07:53'), @@ -13855,60 +13855,60 @@ REPLACE INTO `zt_chart` (`id`, `name`, `dimension`, `type`, `group`, `dataset`, (1049,'宏观数据-部门人员分布图',1,'bar',0,'','','{\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 DESC',1,'','admin','2022-12-07 14:59:41','','2022-12-07 14:59:41',0), (1050,'宏观数据-公司角色分布图',1,'pie',0,'','','{\"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,'','','{\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), -(1055,'年度新增-一级项目集个数',1,'card',0,'','','{\"value\": {\"type\": \"agg\", \"field\": \"id\", \"agg\": \"count\"}, \"title\": {\"type\": \"text\", \"name\": \"\"},\n\"type\": \"value\"\n}','',NULL,'SELECT\r\n t1.`year`,\r\n t2.id,\r\n t2.name\r\nFROM\r\n ( SELECT DISTINCT YEAR ( `date` ) AS \'year\' FROM zt_action ) AS t1\r\n LEFT JOIN (\r\n SELECT\r\n id, name,\r\n YEAR ( openedDate ) AS `year` \r\n FROM\r\n zt_project \r\n WHERE\r\n `type` = \'program\' \r\n AND deleted = \'0\' \r\n AND grade = \'1\' \r\n ) t2 ON t1.`year` = t2.`year` \r\n WHERE t2.id IS NOT NULL',1,'','','0000-00-00 00:00:00','','0000-00-00 00:00:00',0), -(1056,'年度新增-产品个数',1,'card',0,'','','{\"value\": {\"type\": \"agg\", \"field\": \"id\", \"agg\": \"count\"}, \"title\": {\"type\": \"text\", \"name\": \"\"},\n\"type\": \"value\"\n}','',NULL,'SELECT\r\n t1.`year`,\r\n t2.id,\r\n t2.name\r\nFROM\r\n ( SELECT DISTINCT YEAR ( `date` ) AS \'year\' FROM zt_action ) AS t1\r\n LEFT JOIN (\r\n SELECT\r\n id, name,\r\n YEAR ( createdDate ) AS `year` \r\n FROM\r\n zt_product \r\n WHERE\r\n deleted = \'0\' \r\n AND shadow = \'0\' \r\n ) t2 ON t1.`year` = t2.`year` \r\n WHERE t2.id IS NOT NULL',1,'','','0000-00-00 00:00:00','','0000-00-00 00:00:00',0), -(1057,'年度新增-需求个数',1,'card',0,'','','{\"value\": {\"type\": \"agg\", \"field\": \"id\", \"agg\": \"count\"}, \"title\": {\"type\": \"text\", \"name\": \"\"},\n\"type\": \"value\"\n}','',NULL,'SELECT\n t1.`year`,\n t2.id,\r\n t2.title\nFROM\n ( SELECT DISTINCT YEAR ( `date` ) AS \'year\' FROM zt_action ) AS t1\n LEFT JOIN ( SELECT id, title, YEAR ( openedDate ) AS `year` FROM zt_story WHERE deleted = \'0\' ) AS t2 ON t1.`year` = t2.`year` \r\n WHERE t2.id IS NOT NULL',1,'','','0000-00-00 00:00:00','','0000-00-00 00:00:00',0), -(1058,'年度新增-Bug个数',1,'card',0,'','','{\"value\": {\"type\": \"agg\", \"field\": \"id\", \"agg\": \"count\"}, \"title\": {\"type\": \"text\", \"name\": \"\"},\n\"type\": \"value\"\n}','',NULL,'SELECT\r\n t1.`year`,\r\n t2.id,\r\n t2.title\r\nFROM\r\n ( SELECT DISTINCT YEAR ( `date` ) AS \'year\' FROM zt_action ) AS t1\r\n LEFT JOIN ( SELECT id, title, YEAR ( openedDate ) AS `year` FROM zt_bug WHERE deleted = \'0\' ) AS t2 ON t1.`year` = t2.`year` \r\n WHERE t2.id IS NOT NULL',1,'','','0000-00-00 00:00:00','','0000-00-00 00:00:00',0), -(1059,'年度新增-计划个数',1,'card',0,'','','{\"value\": {\"type\": \"agg\", \"field\": \"id\", \"agg\": \"count\"}, \"title\": {\"type\": \"text\", \"name\": \"\"},\n\"type\": \"value\"\n}','',NULL,'SELECT\n t1.`year`,\n t2.id,\r\n t2.title\nFROM\n ( SELECT DISTINCT YEAR ( `date` ) AS \'year\' FROM zt_action ) AS t1\n LEFT JOIN ( SELECT id, title, YEAR ( createdDate ) AS `year` FROM zt_productplan WHERE deleted = \'0\') AS t2 ON t1.`year` = t2.`year` \r\n WHERE t2.id IS NOT NULL',1,'','','0000-00-00 00:00:00','','0000-00-00 00:00:00',0), -(1060,'年度新增-项目个数',1,'card',0,'','','{\"value\": {\"type\": \"agg\", \"field\": \"id\", \"agg\": \"count\"}, \"title\": {\"type\": \"text\", \"name\": \"\"},\n\"type\": \"value\"\n}','',NULL,'SELECT\r\n t1.`year`,\r\n t2.id,\r\n t2.name\r\nFROM\r\n ( SELECT DISTINCT YEAR ( `date` ) AS \'year\' FROM zt_action ) AS t1\r\n LEFT JOIN (\r\n SELECT\r\n id, name,\r\n YEAR ( openedDate ) AS `year` \r\n FROM\r\n zt_project \r\n WHERE\r\n `type` = \'project\' \r\n AND deleted = \'0\' \r\n ) t2 ON t1.`year` = t2.`year` \r\n WHERE t2.id IS NOT NULL',1,'','','0000-00-00 00:00:00','','0000-00-00 00:00:00',0), -(1061,'年度新增-执行个数',1,'card',0,'','','{\"value\": {\"type\": \"agg\", \"field\": \"id\", \"agg\": \"count\"}, \"title\": {\"type\": \"text\", \"name\": \"\"},\r\n\"type\": \"value\"\r\n}','',NULL,'SELECT t1.`year`, t2.id, t2.name\r\nFROM (SELECT DISTINCT YEAR(`date`) AS \'year\' FROM zt_action) AS t1\r\nLEFT JOIN (SELECT id,name, YEAR(openedDate) AS `year` FROM zt_project WHERE `type` IN ( \'sprint\', \'stage\', \'kanban\' ) AND deleted = \'0\' AND multiple = \'1\') AS t2 ON t1.`year` = t2.`year` \r\nWHERE t2.id IS NOT NULL',1,'','','0000-00-00 00:00:00','','0000-00-00 00:00:00',0), -(1062,'年度新增-任务数',1,'card',0,'','','{\"value\": {\"type\": \"agg\", \"field\": \"id\", \"agg\": \"count\"}, \"title\": {\"type\": \"text\", \"name\": \"\"},\r\n\"type\": \"value\"\r\n}','',NULL,'SELECT\r\n t1.`year`,\r\n t2.id,\r\n t2.name\r\nFROM\r\n ( SELECT DISTINCT YEAR ( `date` ) AS \'year\' FROM zt_action ) AS t1\r\n LEFT JOIN ( SELECT id, name, YEAR ( openedDate ) AS `year` FROM zt_task WHERE deleted = \'0\') AS t2 ON t1.`year` = t2.`year` \r\n WHERE t2.id IS NOT NULL',1,'','','0000-00-00 00:00:00','','0000-00-00 00:00:00',0), -(1063,'年度新增-文档个数',1,'card',0,'','','{\"value\": {\"type\": \"agg\", \"field\": \"id\", \"agg\": \"count\"}, \"title\": {\"type\": \"text\", \"name\": \"\"},\n\"type\": \"value\"\n}','',NULL,'SELECT\n t1.`year`,\n t2.id,\r\n t2.title\nFROM\n ( SELECT DISTINCT YEAR ( `date` ) AS \'year\' FROM zt_action ) AS t1\n LEFT JOIN ( SELECT id, title, YEAR ( addedDate ) AS `year` FROM zt_doc WHERE deleted = \'0\') AS t2 ON t1.`year` = t2.`year` \r\n WHERE t2.id IS NOT NULL',1,'','','0000-00-00 00:00:00','','0000-00-00 00:00:00',0), -(1064,'年度新增-发布个数',1,'card',0,'','','{\"value\": {\"type\": \"agg\", \"field\": \"id\", \"agg\": \"count\"}, \"title\": {\"type\": \"text\", \"name\": \"\"},\r\n\"type\": \"value\"\r\n}','',NULL,'SELECT\r\n t1.`year`,\r\n t2.id,\r\n t2.name\r\nFROM\r\n ( SELECT DISTINCT YEAR ( `date` ) AS \'year\' FROM zt_action ) AS t1\r\n LEFT JOIN ( SELECT id, name, YEAR ( `date` ) AS `year` FROM zt_release WHERE deleted = \'0\') AS t2 ON t1.`year` = t2.`year`\r\nWHERE t2.id IS NOT NULL',1,'','','0000-00-00 00:00:00','','0000-00-00 00:00:00',0), -(1065,'年度新增-人员个数',1,'card',0,'','','{\"value\": {\"type\": \"agg\", \"field\": \"account\", \"agg\": \"count\"}, \"title\": {\"type\": \"text\", \"realname\": \"\"},\n\"type\": \"value\"\n}','',NULL,'SELECT\n t1.`year`,\r\n t2.account,\r\n t2.realname\nFROM\n ( SELECT DISTINCT YEAR ( `date` ) AS \'year\' FROM zt_action ) AS t1\n LEFT JOIN (\n SELECT\n account, realname,\n YEAR ( t112.`date` ) AS \'year\' \n FROM\n zt_user AS t111\n LEFT JOIN zt_action t112 ON t111.id = t112.objectID \n AND t112.objectType = \'user\' \n WHERE\n t111.deleted = \'0\' \n AND t112.action = \'created\' \n ) AS t2 ON t1.`year` = t2.`year` \r\n WHERE t2.account IS NOT NULL',1,'','','0000-00-00 00:00:00','','0000-00-00 00:00:00',0), -(1066,'年度新增-完成项目数',1,'card',0,'','','{\"value\": {\"type\": \"agg\", \"field\": \"id\", \"agg\": \"count\"}, \"title\": {\"type\": \"text\", \"name\": \"\"},\r\n\"type\": \"value\"\r\n}','',NULL,'SELECT t1.year, t2.id, t2.name\r\nFROM (SELECT DISTINCT YEAR(date) AS \'year\' FROM zt_action) AS t1\r\nLEFT JOIN (SELECT id, name, YEAR(closedDate) AS `year` FROM zt_project WHERE `type` = \'project\' AND deleted = \'0\' AND status = \'closed\') AS t2 ON t1.year = t2.year\r\nWHERE t2.id IS NOT NULL',1,'','','0000-00-00 00:00:00','','0000-00-00 00:00:00',0), -(1067,'年度新增-完成执行数',1,'card',0,'','','{\"value\": {\"type\": \"agg\", \"field\": \"id\", \"agg\": \"count\"}, \"title\": {\"type\": \"text\", \"name\": \"\"},\r\n\"type\": \"value\"\r\n}','',NULL,'SELECT t1.`year`, t2.id, t2.name\r\nFROM (SELECT DISTINCT YEAR(date) AS \'year\' FROM zt_action) AS t1\r\nLEFT JOIN (SELECT id, name, YEAR(closedDate) AS `year` FROM zt_project WHERE `type` IN ( \'sprint\', \'stage\', \'kanban\' ) AND deleted = \'0\' AND multiple = \'1\' AND status = \'closed\') AS t2 ON t1.`year` = t2.`year` \r\nWHERE t2.id IS NOT NULL',1,'','','0000-00-00 00:00:00','','0000-00-00 00:00:00',0), -(1068,'年度新增-完成发布数',1,'card',0,'','','{\"value\": {\"type\": \"agg\", \"field\": \"id\", \"agg\": \"count\"}, \"title\": {\"type\": \"text\", \"name\": \"\"},\n\"type\": \"value\"\n}','',NULL,'SELECT\r\n t1.`year`,\r\n t2.id,\r\n t2.name\r\nFROM\r\n ( SELECT DISTINCT YEAR ( `date` ) AS \'year\' FROM zt_action ) AS t1\r\n LEFT JOIN ( SELECT id, name, YEAR ( `date` ) AS `year` FROM zt_release WHERE deleted = \'0\') AS t2 ON t1.`year` = t2.`year` \r\n WHERE t2.id IS NOT NULL',1,'','','0000-00-00 00:00:00','','0000-00-00 00:00:00',0), -(1069,'年度新增-完成需求数',1,'card',0,'','','{\"value\": {\"type\": \"agg\", \"field\": \"id\", \"agg\": \"count\"}, \"title\": {\"type\": \"text\", \"name\": \"\"},\n\"type\": \"value\"\n}','',NULL,'SELECT\n t1.`year`,\n t2.id,\n t2.title\nFROM\n ( SELECT DISTINCT YEAR ( `date` ) AS \'year\' FROM zt_action ) AS t1\n LEFT JOIN (\n SELECT\n id, title,\n YEAR ( closedDate ) AS `year` \n FROM\n zt_story \n WHERE\n deleted = \'0\' \n AND closedReason = \'done\' \n AND STATUS = \'closed\' \n ) AS t2 ON t1.`year` = t2.`year` \n WHERE t2.id IS NOT NULL',1,'','','0000-00-00 00:00:00','','0000-00-00 00:00:00',0), -(1070,'年度新增-解决Bug数',1,'card',0,'','','{\"value\": {\"type\": \"agg\", \"field\": \"id\", \"agg\": \"count\"}, \"title\": {\"type\": \"text\", \"name\": \"\"},\r\n\"type\": \"value\"\r\n}','',NULL,'SELECT\r\n t1.`year`,\r\n t2.id,\r\n t2.title\r\nFROM\r\n ( SELECT DISTINCT YEAR ( `date` ) AS \'year\' FROM zt_action ) AS t1\r\n LEFT JOIN (\r\n SELECT\r\n id, title,\r\n YEAR ( closedDate ) AS `year` \r\n FROM\r\n zt_bug \r\n WHERE\r\n deleted = \'0\' \r\n AND resolution = \'fixed\' \r\n AND STATUS = \'closed\' \r\n ) AS t2 ON t1.`year` = t2.`year` \r\n WHERE t2.id IS NOT NULL',1,'','','0000-00-00 00:00:00','','0000-00-00 00:00:00',0), -(1071,'年度新增-完成任务数',1,'card',0,'','','{\"value\": {\"type\": \"agg\", \"field\": \"id\", \"agg\": \"count\"}, \"title\": {\"type\": \"text\", \"name\": \"\"},\r\n\"type\": \"value\"\r\n}','',NULL,'SELECT\r\n t1.`year`,\r\n t2.id,\r\n t2.name\r\nFROM\r\n ( SELECT DISTINCT YEAR ( `date` ) AS \'year\' FROM zt_action ) AS t1\r\n LEFT JOIN (\r\n SELECT\r\n id, name,\r\n YEAR ( finishedDate ) AS `year` \r\n FROM\r\n zt_task \r\n WHERE\r\n deleted = \'0\' \r\n AND STATUS = \'closed\' \r\n AND closedReason = \'done\' \r\n ) AS t2 ON t1.`year` = t2.`year` \r\n WHERE t2.id IS NOT NULL',1,'','','0000-00-00 00:00:00','','0000-00-00 00:00:00',0), -(1072,'年度新增-投入工时数',1,'card',0,'','','{\"value\": {\"type\": \"value\", \"field\": \"consumed\", \"agg\": \"value\"}, \"title\": {\"type\": \"text\", \"name\": \"\"},\r\n\"type\": \"value\"\r\n}','',NULL,'SELECT\r\n t1.`year`,\r\n IFNULL( t2.consumed, 0 ) AS consumed \r\nFROM\r\n ( SELECT DISTINCT YEAR ( `date` ) AS \'year\' FROM zt_action ) AS t1\r\n LEFT JOIN ( SELECT ROUND( SUM( consumed )) AS consumed, YEAR ( `date` ) AS \'year\' FROM zt_effort WHERE deleted = \'0\' GROUP BY `year`) AS t2 ON t1.`year` = t2.`year` ',1,'','','0000-00-00 00:00:00','','0000-00-00 00:00:00',0), -(1073,'年度新增-项目集年度新增数据汇总表',1,'table',0,'','','{\"group\":[],\"column\":[\r\n{\"field\":\"topProgram\",\"valOrAgg\":\"value\",\"name\":\"一级项目集\"},\r\n{\"field\":\"product\",\"valOrAgg\":\"value\",\"name\":\"产品数\"},\r\n{\"field\":\"plan\",\"valOrAgg\":\"value\",\"name\":\"计划数\"},\r\n{\"field\":\"story\",\"valOrAgg\":\"value\",\"name\":\"需求数\"},\r\n{\"field\":\"bug\",\"valOrAgg\":\"value\",\"name\":\"Bug数\"},\r\n{\"field\":\"release\",\"valOrAgg\":\"value\",\"name\":\"发布数\"},\r\n{\"field\":\"doc\",\"valOrAgg\":\"value\",\"name\":\"文档数\"}\r\n],\"filter\":[]}','',NULL,'SELECT\r\n t1.name AS topProgram,t1.id, t2.`year`, (SELECT COUNT(1) as product FROM zt_product WHERE deleted = \'0\' AND shadow = \'0\' AND YEAR(createdDate) = t2.`year` AND program = t1.id) as product, SUM(IFNULL(t4.plan, 0)) AS plan, SUM(IFNULL(t5.story, 0)) AS story, SUM(IFNULL(t6.bug, 0)) AS bug, SUM(IFNULL(t7.`release`, 0)) AS \'release\', SUM(IFNULL(t8.doc, 0)) AS doc\r\nFROM zt_project AS t1\r\nLEFT JOIN (SELECT DISTINCT YEAR(`date`) as \'year\' FROM zt_action) as t2 ON 1 = 1 LEFT JOIN (SELECT id, program FROM zt_product WHERE deleted = \'0\') AS t3 ON t1.id = t3.program\r\nLEFT JOIN (SELECT COUNT(1) as \'plan\', product, YEAR(createdDate) as \'year\' FROM zt_productplan WHERE deleted = \'0\' GROUP BY product,`year`) AS t4 on t3.id = t4.product AND t4.`year`= t2.`year` LEFT JOIN (SELECT COUNT(1) as \'story\', product, YEAR(openedDate) as \'year\' FROM zt_story WHERE deleted = \'0\' GROUP BY product,`year`) AS t5 on t3.id = t5.product AND t5.`year`= t2.`year` LEFT JOIN (SELECT COUNT(1) as \'bug\', product, YEAR(openedDate) as \'year\' FROM zt_bug WHERE deleted = \'0\' GROUP BY product,`year`) AS t6 on t3.id = t6.product AND t6.`year` = t2.`year` LEFT JOIN (SELECT COUNT(1) as \'release\', product, YEAR(`date`) as \'year\' FROM zt_release WHERE deleted = \'0\' GROUP BY product,`year`) AS t7 on t3.id = t7.product AND t7.`year` = t2.`year` LEFT JOIN (SELECT COUNT(1) as \'doc\', product, YEAR(addedDate) as \'year\' FROM zt_doc WHERE deleted = \'0\' GROUP BY product,`year`) AS t8 on t3.id = t8.product AND t8.`year` = t2.`year` WHERE t1.type = \'program\' AND t1.grade = 1 AND t1.deleted = \'0\'AND t1.status != \'closed\' GROUP BY topProgram,id,`year` ORDER BY `year`, topProgram',1,'','','0000-00-00 00:00:00','','0000-00-00 00:00:00',0), -(1074,'年度新增-项目集年度完成数据概览',1,'table',0,'','','{\"group\":[],\"column\":[\r\n{\"field\":\"topProgram\",\"valOrAgg\":\"value\",\"name\":\"一级项目集\"},\r\n{\"field\":\"projectA\",\"valOrAgg\":\"value\",\"name\":\"项目数\"},\r\n{\"field\":\"executionA\",\"valOrAgg\":\"value\",\"name\":\"执行数\"},\r\n{\"field\":\"release\",\"valOrAgg\":\"value\",\"name\":\"发布数\"},\r\n{\"field\":\"story\",\"valOrAgg\":\"value\",\"name\":\"需求数\"},\r\n{\"field\":\"bug\",\"valOrAgg\":\"value\",\"name\":\"Bug数\"}\r\n],\"filter\":[]}','',NULL,'SELECT\r\n t1.name AS topProgram,t1.id,t2.`year`,\r\n SUM(IF((t3.`status` = \'closed\' AND YEAR(t3.closedDate) = t2.`year`), 1, 0)) as projectA,\r\n COUNT(DISTINCT t4.id) as executionA,\r\n SUM(IFNULL(t6.`release`, 0)) AS \'release\',\r\n SUM(IFNULL(t7.story, 0)) AS story,\r\n SUM(IFNULL(t8.bug, 0)) AS bug\r\nFROM zt_project AS t1\r\nLEFT JOIN (SELECT DISTINCT YEAR(`date`) as \'year\' FROM zt_action) as t2 ON 1 = 1\r\nLEFT JOIN zt_project AS t3 ON FIND_IN_SET(t1.id, t3.path) and t3.type = \'project\'\r\nLEFT JOIN zt_project AS t4 ON t3.id = t4.parent and t4.type in (\'sprint\', \'stage\', \'kanban\') AND t4.`status` = \'closed\' AND YEAR(t4.closedDate) = t2.`year`\r\nLEFT JOIN (SELECT id,program FROM zt_product WHERE deleted = \'0\') AS t5 ON t1.id = t5.program\r\nLEFT JOIN (SELECT COUNT(1) as \'release\', product, YEAR(`date`) as `year` FROM zt_release WHERE deleted = \'0\' GROUP BY product, `year`) AS t6 ON t5.id = t6.product AND t6.`year` = t2.`year`\r\nLEFT JOIN (SELECT COUNT(1) as \'story\', product, YEAR(closedDate) as `year` FROM zt_story WHERE deleted = \'0\' AND closedReason = \'done\' AND status = \'closed\' GROUP BY product, `year`) AS t7 on t5.id = t7.product AND t7.`year` = t2.`year`\r\nLEFT JOIN (SELECT COUNT(1) as \'bug\', product, YEAR(resolvedDate) as `year` FROM zt_bug WHERE deleted = \'0\' AND resolution = \'fixed\' AND status = \'closed\' GROUP BY product, `year`) AS t8 on t5.id = t8.product AND t8.`year` = t2.`year`\r\nWHERE t1.type = \'program\' AND t1.grade = 1 AND t1.deleted = \'0\'\r\nGROUP BY t1.name,t1.id,t2.`year`',1,'','','0000-00-00 00:00:00','','0000-00-00 00:00:00',0), -(1075,'年度新增-产品年度新增数据汇总表',1,'table',0,'','','{\"group\":[],\"column\":[\r\n{\"field\":\"name\",\"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\":\"发布数\"}\r\n],\"filter\":[]}','',NULL,'SELECT\r\n t1.name,t1.id,t2.`year`,IF(YEAR(t1.createdDate) = t2.`year`, 1, 0) as newProduct,\r\n SUM(IFNULL(t3.story, 0)) AS story,\r\n SUM(IFNULL(t4.bug, 0)) AS bug,\r\n SUM(IFNULL(t5.`plan`, 0)) AS \'plan\',\r\n SUM(IFNULL(t6.`release`, 0)) AS \'release\'\r\nFROM zt_product AS t1\r\nLEFT JOIN (SELECT DISTINCT YEAR(`date`) as \'year\' FROM zt_action) as t2 ON 1 = 1\r\nLEFT JOIN (SELECT COUNT(1) as \'story\', product, YEAR(openedDate) as `year` FROM zt_story WHERE deleted = \'0\' AND closedReason = \'done\' AND status = \'closed\' GROUP BY product, `year`) AS t3 on t1.id = t3.product AND t3.`year` = t2.`year`\r\nLEFT JOIN (SELECT COUNT(1) as \'bug\', product, YEAR(openedDate) as `year` FROM zt_bug WHERE deleted = \'0\' AND resolution = \'fixed\' AND status = \'closed\' GROUP BY product, `year`) AS t4 on t1.id = t4.product AND t4.`year` = t2.`year`\r\nLEFT JOIN (SELECT COUNT(1) as \'plan\', product, YEAR(createdDate) AS \'year\' FROM zt_productplan WHERE deleted = \'0\' GROUP BY product,`year`) AS t5 on t1.id = t5.product AND t5.`year` = t2.`year`\r\nLEFT JOIN (SELECT COUNT(1) as \'release\', product, YEAR(`date`) as `year` FROM zt_release WHERE deleted = \'0\' GROUP BY product, `year`) AS t6 ON t1.id = t6.product AND t6.`year` = t2.`year`\r\nWHERE t1.deleted = \'0\' AND t1.status != \'closed\' AND t1.shadow = \'0\'\r\nAND t2.`year` = \'2022\'\r\nGROUP BY t1.name,t1.id,t2.`year`,newProduct',1,'','','0000-00-00 00:00:00','','0000-00-00 00:00:00',0), -(1076,'年度新增-产品年度完成数据汇总表',1,'table',0,'','','{\"group\":[],\"column\":[\r\n{\"field\":\"name\",\"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\":\"发布数\"}\r\n],\"filter\":[]}','',NULL,'SELECT\r\n t1.name,t1.id,t2.`year`,IF(YEAR(t1.createdDate) = t2.`year`, 1, 0) as newProduct,\r\n SUM(IFNULL(t3.story, 0)) AS story,\r\n SUM(IFNULL(t4.bug, 0)) AS bug,\r\n SUM(IFNULL(t5.`plan`, 0)) AS \'plan\',\r\n SUM(IFNULL(t6.`release`, 0)) AS \'release\'\r\nFROM zt_product AS t1\r\nLEFT JOIN (SELECT DISTINCT YEAR(`date`) as \'year\' FROM zt_action) as t2 ON 1 = 1\r\nLEFT JOIN (SELECT COUNT(1) as \'story\', product, YEAR(closedDate) as `year` FROM zt_story WHERE deleted = \'0\' AND closedReason = \'done\' AND status = \'closed\' GROUP BY product, `year`) AS t3 on t1.id = t3.product AND t3.`year` = t2.`year`\r\nLEFT JOIN (SELECT COUNT(1) as \'bug\', product, YEAR(resolvedDate) as `year` FROM zt_bug WHERE deleted = \'0\' AND resolution = \'fixed\' AND status = \'closed\' GROUP BY product, `year`) AS t4 on t1.id = t4.product AND t4.`year` = t2.`year`\r\nLEFT JOIN (\r\n SELECT COUNT(DISTINCT t51.id) as \'plan\', t51.product, YEAR(t52.`date`) AS \'year\'\r\n FROM zt_productplan AS t51\r\n LEFT JOIN (SELECT objectID,objectType,action,MAX(`date`) as \'date\' FROM zt_action GROUP BY objectID,objectType, action) AS t52 ON t51.id = t52.objectID AND t52.objectType = \'productplan\'\r\n WHERE t51.deleted = \'0\' AND t51.closedReason = \'done\' AND t51.status = \'closed\' \r\n AND t52.action = \'closed\'\r\n GROUP BY t51.product,`year`\r\n) AS t5 on t1.id = t5.product AND t5.`year` = t2.`year`\r\nLEFT JOIN (SELECT COUNT(1) as \'release\', product, YEAR(`date`) as `year` FROM zt_release WHERE deleted = \'0\' GROUP BY product, `year`) AS t6 ON t1.id = t6.product AND t6.`year` = t2.`year`\r\nWHERE t1.deleted = \'0\' AND t1.status != \'closed\' AND t1.shadow = \'0\'\r\nGROUP BY t1.name,t1.id,t2.`year`,newProduct',1,'','','0000-00-00 00:00:00','','0000-00-00 00:00:00',0), -(1077,'年度新增-需求年度新增和完成趋势图',1,'line',0,'','','{\r\n \"xaxis\":[{\"field\":\"month\",\"name\":\"月份\",\"group\":\"value\"}],\r\n \"yaxis\":[{\"type\":\"value\",\"field\":\"newStory\",\"agg\":\"value\",\"name\":\"新增需求数\",\"valOrAgg\":\"value\"},\r\n {\"type\":\"value\",\"field\":\"closedStory\",\"agg\":\"value\",\"name\":\"完成需求数\",\"valOrAgg\":\"value\"}\r\n]}','',NULL,'SELECT t1.year, CONCAT(t1.month, \'月\') AS `month`, IFNULL(t2.story, 0) AS newStory, IFNULL(t3.story, 0) AS closedStory\r\nFROM (SELECT DISTINCT Year(date) AS `year`, MONTH(date) AS `month` FROM zt_action) AS t1\r\nLEFT JOIN (SELECT YEAR(openedDate) AS `year`, MONTH(openedDate) AS `month`, COUNT(1) AS story FROM zt_story WHERE deleted = \'0\' GROUP BY `year`, `month`) AS t2 ON t1.year = t2.year AND t1.month = t2.month\r\nLEFT JOIN (SELECT YEAR(closedDate) AS `year`, MONTH(closedDate) AS `month`, COUNT(1) AS story FROM zt_story WHERE deleted = \'0\' AND closedReason = \'done\' GROUP BY `year`, `month`) AS t3 ON t1.year = t3.year AND t1.month = t3.month\r\nORDER BY `year`, t1.month',1,'','','0000-00-00 00:00:00','','0000-00-00 00:00:00',0), -(1078,'年度新增-Bug年度新增和解决趋势图',1,'line',0,'','','{\r\n \"xaxis\":[{\"field\":\"month\",\"name\":\"月份\",\"group\":\"value\"}],\r\n \"yaxis\":[{\"type\":\"value\",\"field\":\"newBug\",\"agg\":\"value\",\"name\":\"新增Bug数\",\"valOrAgg\":\"value\"},\r\n {\"type\":\"value\",\"field\":\"fixedBug\",\"agg\":\"value\",\"name\":\"解决Bug数\",\"valOrAgg\":\"value\"}\r\n]}','',NULL,'SELECT t1.year, CONCAT(t1.month, \'月\') AS `month`, IFNULL(t2.bug, 0) AS newBug, IFNULL(t3.bug, 0) AS fixedBug\r\nFROM (SELECT DISTINCT Year(date) AS `year`, MONTH(date) AS `month` FROM zt_action) AS t1\r\nLEFT JOIN (SELECT YEAR(openedDate) AS `year`, MONTH(openedDate) AS `month`, COUNT(1) AS bug FROM zt_bug WHERE deleted = \'0\' GROUP BY `year`, `month`) AS t2 ON t1.year = t2.year AND t1.month = t2.month\r\nLEFT JOIN (SELECT YEAR(closedDate) AS `year`, MONTH(closedDate) AS `month`, COUNT(1) AS bug FROM zt_bug WHERE deleted = \'0\' AND resolution = \'fixed\' AND status = \'closed\' GROUP BY `year`, `month`) AS t3 ON t1.year = t3.year AND t1.month = t3.month\r\nORDER BY `year`, t1.month',1,'','','0000-00-00 00:00:00','','0000-00-00 00:00:00',0), -(1079,'年度新增-任务年度新增和完成趋势图',1,'line',0,'','','{\r\n \"xaxis\":[{\"field\":\"month\",\"name\":\"月份\",\"group\":\"value\"}],\r\n \"yaxis\":[{\"type\":\"value\",\"field\":\"newTask\",\"agg\":\"value\",\"name\":\"新增任务数\",\"valOrAgg\":\"value\"},\r\n {\"type\":\"value\",\"field\":\"closedTask\",\"agg\":\"value\",\"name\":\"完成任务数\",\"valOrAgg\":\"value\"}\r\n]}','',NULL,'SELECT t1.year, CONCAT(t1.month, \'月\') AS `month`, IFNULL(t2.task, 0) AS newTask, IFNULL(t3.task, 0) AS closedTask\r\nFROM (SELECT DISTINCT Year(date) AS `year`, MONTH(date) AS `month` FROM zt_action) AS t1\r\nLEFT JOIN (SELECT YEAR(openedDate) AS `year`, MONTH(openedDate) AS `month`, COUNT(1) AS task FROM zt_task WHERE deleted = \'0\' GROUP BY `year`, `month`) AS t2 ON t1.year = t2.year AND t1.month = t2.month\r\nLEFT JOIN (SELECT YEAR(closedDate) AS `year`, MONTH(closedDate) AS `month`, COUNT(1) AS task FROM zt_task WHERE deleted = \'0\' AND status = \'closed\' GROUP BY `year`, `month`) AS t3 ON t1.year = t3.year AND t1.month = t3.month\r\nORDER BY `year`, t1.month',1,'','','0000-00-00 00:00:00','','0000-00-00 00:00:00',0), -(1080,'年度新增-项目年度新增和完成趋势图',1,'line',0,'','','{\r\n \"xaxis\":[{\"field\":\"month\",\"name\":\"月份\",\"group\":\"value\"}],\r\n \"yaxis\":[{\"type\":\"value\",\"field\":\"newProject\",\"agg\":\"value\",\"name\":\"新增项目数\",\"valOrAgg\":\"value\"},\r\n {\"type\":\"value\",\"field\":\"closedProject\",\"agg\":\"value\",\"name\":\"完成项目数\",\"valOrAgg\":\"value\"}\r\n]}','',NULL,'SELECT t1.year, CONCAT(t1.month, \'月\') AS `month`, IFNULL(t2.project, 0) AS newProject, IFNULL(t3.project, 0) AS closedProject\r\nFROM (SELECT DISTINCT Year(date) AS `year`, MONTH(date) AS `month` FROM zt_action) AS t1\r\nLEFT JOIN (SELECT YEAR(openedDate) AS `year`, MONTH(openedDate) AS `month`, COUNT(1) AS project FROM zt_project WHERE deleted = \'0\' AND type = \'project\' GROUP BY `year`, `month`) AS t2 ON t1.year = t2.year AND t1.month = t2.month\r\nLEFT JOIN (SELECT YEAR(closedDate) AS `year`, MONTH(closedDate) AS `month`, COUNT(1) AS project FROM zt_project WHERE deleted = \'0\' AND type = \'project\' AND status = \'closed\' GROUP BY `year`, `month`) AS t3 ON t1.year = t3.year AND t1.month = t3.month\r\nORDER BY `year`, t1.month',1,'','','0000-00-00 00:00:00','','0000-00-00 00:00:00',0), -(1081,'年度新增-执行年度新增和完成趋势图',1,'line',0,'','','{\r\n \"xaxis\":[{\"field\":\"month\",\"name\":\"月份\",\"group\":\"value\"}],\r\n \"yaxis\":[{\"type\":\"value\",\"field\":\"newExecution\",\"agg\":\"value\",\"name\":\"新增执行数\",\"valOrAgg\":\"value\"},\r\n {\"type\":\"value\",\"field\":\"closedExecution\",\"agg\":\"value\",\"name\":\"完成执行数\",\"valOrAgg\":\"value\"}\r\n]}','',NULL,'SELECT t1.year, CONCAT(t1.month, \'月\') AS `month`, IFNULL(t2.execution, 0) AS newExecution, IFNULL(t3.execution, 0) AS closedExecution\r\nFROM (SELECT DISTINCT YEAR(date) AS `year`, MONTH(date) AS `month` FROM zt_action) AS t1\r\nLEFT JOIN (SELECT YEAR(openedDate) AS `year`, MONTH(openedDate) AS `month`, COUNT(1) AS execution FROM zt_project WHERE deleted = \'0\' AND type IN (\'sprint\', \'stage\', \'kanban\') AND multiple = \'1\' GROUP BY `year`, `month`) AS t2 ON t1.year = t2.year AND t1.month = t2.month\r\nLEFT JOIN (SELECT YEAR(closedDate) AS `year`, MONTH(closedDate) AS `month`, COUNT(1) AS execution FROM zt_project WHERE deleted = \'0\' AND type IN (\'sprint\', \'stage\', \'kanban\') AND status = \'closed\' AND multiple = \'1\' GROUP BY `year`, `month`) AS t3 ON t1.year = t3.year AND t1.month = t3.month\r\nORDER BY `year`, t1.month',1,'','','0000-00-00 00:00:00','','0000-00-00 00:00:00',0), -(1082,'年度新增-产品发布次数年度趋势图',1,'line',0,'','','{\r\n \"xaxis\":[{\"field\":\"month\",\"name\":\"月份\",\"group\":\"value\"}],\r\n \"yaxis\":[{\"type\":\"value\",\"field\":\"release\",\"agg\":\"value\",\"name\":\"发布次数\",\"valOrAgg\":\"value\"}\r\n]}','',NULL,'SELECT t1.year, CONCAT(t1.month, \'月\') AS `month`, IFNULL(t2.release, 0) AS `release`\r\nFROM (SELECT DISTINCT Year(date) AS `year`, MONTH(date) AS `month` FROM zt_action) AS t1\r\nLEFT JOIN (SELECT YEAR(createdDate) AS `year`, MONTH(createdDate) AS `month`, COUNT(1) AS `release` FROM zt_release WHERE deleted = \'0\' GROUP BY `year`, `month`) AS t2 ON t1.year = t2.year AND t1.month = t2.month\r\nORDER BY `year`, t1.month',1,'','','0000-00-00 00:00:00','','0000-00-00 00:00:00',0), -(1083,'年度新增-年度投入产出比',1,'line',0,'','','{\r\n \"xaxis\":[{\"field\":\"month\",\"name\":\"月份\",\"group\":\"value\"}],\r\n \"yaxis\":[{\"type\":\"value\",\"field\":\"ratio\",\"agg\":\"value\",\"name\":\"投入产出比\",\"valOrAgg\":\"value\"},\r\n{\"type\":\"value\",\"field\":\"story\",\"agg\":\"value\",\"name\":\"需求交付\",\"valOrAgg\":\"value\"},\r\n{\"type\":\"value\",\"field\":\"consumed\",\"agg\":\"value\",\"name\":\"工时消耗\",\"valOrAgg\":\"value\"}\r\n]}','',NULL,'SELECT t1.`year`, CONCAT(t1.`month`, \'月\') AS `month`, IFNULL(t2.story, 0) AS story, IFNULL(t3.consumed, 0) AS consumed, ROUND(IF(IFNULL(t3.consumed, 0) = 0, 0, IFNULL(t2.story, 0) / IFNULL(t3.consumed, 0)), 2) AS ratio\r\nFROM (SELECT YEAR(`date`) AS \'year\', MONTH(`date`) AS \'month\' FROM zt_action GROUP BY `year`,`month`) AS t1\r\nLEFT JOIN (SELECT ROUND(SUM(estimate)) AS story, YEAR(`closedDate`) AS \'year\', MONTH(`closedDate`) AS \'month\' FROM zt_story WHERE deleted = \'0\' AND closedReason = \'done\' AND status = \'closed\' GROUP BY `year`,`month`) AS t2 ON t1.`year` = t2.`year` AND t1.`month` = t2.`month`\r\nLEFT JOIN (SELECT ROUND(SUM(consumed)) as consumed, YEAR(`date`) as \'year\', MONTH(`date`) AS \'month\' FROM zt_effort WHERE deleted = \'0\' GROUP BY `year`,`month`) AS t3 ON t1.`year` = t3.`year` AND t1.`month` = t3.`month`',1,'','','0000-00-00 00:00:00','','0000-00-00 00:00:00',0), -(1085,'年度排行-项目集-预算投入榜',1,'bar',0,'','','{\"xaxis\":[{\"field\":\"program\",\"name\":\"项目集\"}],\"yaxis\":[{\"type\":\"value\",\"field\":\"budget\",\"agg\":\"value\",\"name\":\"预算\",\"valOrAgg\":\"value\"}]}','',NULL,'SELECT \r\n YEAR(t2.openedDate) AS `year`, \r\n t1.id,\r\n t1.name AS program, \r\n ROUND(\r\n SUM(\r\n IFNULL(t2.budget, 0)\r\n ) / 10000, \r\n 2\r\n ) AS budget \r\nFROM \r\n zt_project AS t1 \r\n LEFT JOIN zt_project AS t2 ON FIND_IN_SET(t1.id, t2.path) \r\n AND t2.deleted = \'0\' \r\n AND t2.type = \'project\' \r\nWHERE \r\n t1.deleted = \'0\' \r\n AND t1.type = \'program\' \r\n AND t1.grade = 1 \r\nGROUP BY \r\n `year`, \r\n id,\r\n program \r\nORDER BY \r\n `year`, \r\n budget DESC',1,'','','0000-00-00 00:00:00','','0000-00-00 00:00:00',0), -(1086,'年度排行-项目集-人员投入榜',1,'bar',0,'','','{\"xaxis\":[{\"field\":\"setName\",\"name\":\"项目集\"}],\"yaxis\":[{\"type\":\"value\",\"field\":\"number\",\"agg\":\"value\",\"name\":\"人数\",\"valOrAgg\":\"value\"}]}','','','SELECT tt.join as `year`, count(1) as number, tt.setName from (\r\nselect \r\nYEAR(t1.join) as `join`, t4.name as setName \r\nfrom zt_team t1 \r\nRIGHT JOIN zt_project t2 on t2.id = t1.root\r\nLEFT JOIN zt_project t4 on FIND_IN_SET(t4.id,t2.path) and t4.grade = 1\r\nRIGHT JOIN zt_user t3 on t3.account = t1.account\r\nWHERE t1.type = \'project\'\r\nAND t2.deleted = \'0\'\r\nAND t3.deleted = \'0\'\r\n) tt\r\nGROUP BY tt.setName, tt.join\r\nORDER BY tt.join, number desc, tt.setName',1,'','','0000-00-00 00:00:00','','0000-00-00 00:00:00',0), -(1087,'年度排行-项目集-工时消耗榜',1,'bar',0,'','','{\"xaxis\":[{\"field\":\"program\",\"name\":\"项目集\"}],\"yaxis\":[{\"type\":\"value\",\"field\":\"consumed\",\"agg\":\"value\",\"name\":\"消耗工时\",\"valOrAgg\":\"value\"}]}','',NULL,'SELECT \r\n YEAR(t5.date) AS `year`, \r\n t1.id,\r\n t1.name AS program, \r\n ROUND(\r\n SUM(t5.consumed), \r\n 2\r\n ) AS consumed \r\nFROM \r\n zt_project AS t1 \r\n LEFT JOIN zt_project AS t2 ON FIND_IN_SET(t1.id, t2.path) \r\n AND t2.deleted = \'0\' \r\n AND t2.type = \'project\' \r\n LEFT JOIN zt_project AS t3 ON t2.id = t3.parent \r\n AND t3.deleted = \'0\' \r\n AND t3.type IN (\'sprint\', \'stage\', \'kanban\') \r\n LEFT JOIN zt_task AS t4 ON t3.id = t4.execution \r\n AND t4.deleted = \'0\' \r\n AND t4.status != \'cancel\' \r\n LEFT JOIN zt_effort AS t5 ON t4.id = t5.objectID \r\n AND t5.deleted = \'0\' \r\n AND t5.objectType = \'task\' \r\nWHERE \r\n t1.deleted = \'0\' \r\n AND t1.type = \'program\' \r\n AND t1.grade = 1 \r\n AND t5.id IS NOT NULL \r\nGROUP BY \r\n `year`, \r\n id,\r\n program \r\nORDER BY \r\n `year`, \r\n consumed DESC',1,'','','0000-00-00 00:00:00','','0000-00-00 00:00:00',0), -(1088,'年度排行-项目集-新增需求条目榜',1,'bar',0,'','','{\"xaxis\":[{\"field\":\"program\",\"name\":\"项目集\"}],\"yaxis\":[{\"type\":\"value\",\"field\":\"story\",\"agg\":\"value\",\"name\":\"新增需求条数\",\"valOrAgg\":\"value\"}]}','',NULL,'SELECT \r\n YEAR(t3.openedDate) AS `year`,\r\n t1.id, \r\n t1.name AS program, \r\n COUNT(1) AS story \r\nFROM \r\n zt_project AS t1 \r\n LEFT JOIN zt_product AS t2 ON t1.id = t2.program \r\n AND t2.deleted = \'0\' \r\n LEFT JOIN zt_story AS t3 ON t2.id = t3.product \r\n AND t3.deleted = \'0\' \r\nWHERE \r\n t1.deleted = \'0\' \r\n AND t1.type = \'program\' \r\n AND t1.grade = 1 \r\n AND t3.id IS NOT NULL \r\nGROUP BY \r\n `year`, \r\n id,\r\n program \r\nORDER BY \r\n `year`, \r\n story DESC',1,'','','0000-00-00 00:00:00','','0000-00-00 00:00:00',0), -(1089,'年度排行-项目集-新增需求规模榜',1,'bar',0,'','','{\"xaxis\":[{\"field\":\"program\",\"name\":\"项目集\"}],\"yaxis\":[{\"type\":\"value\",\"field\":\"story\",\"agg\":\"value\",\"name\":\"新增需求规模\",\"valOrAgg\":\"value\"}]}','','','SELECT \r\n YEAR(t3.openedDate) AS `year`, \r\n t1.id,\r\n t1.name AS program, \r\n ROUND(\r\n SUM(t3.estimate), \r\n 2\r\n ) AS story \r\nFROM \r\n zt_project AS t1 \r\n LEFT JOIN zt_product AS t2 ON t1.id = t2.program \r\n AND t2.deleted = \'0\' \r\n LEFT JOIN zt_story AS t3 ON t2.id = t3.product \r\n AND t3.deleted = \'0\' \r\nWHERE \r\n t1.deleted = \'0\' \r\n AND t1.type = \'program\' \r\n AND t1.grade = 1 \r\n AND t3.id IS NOT NULL \r\nGROUP BY \r\n `year`,\r\n id, \r\n program \r\nORDER BY \r\n `year`, \r\n story DESC',1,'','','0000-00-00 00:00:00','','0000-00-00 00:00:00',0), -(1090,'年度排行-项目集-新增Bug条目榜',1,'bar',0,'','','{\"xaxis\":[{\"field\":\"program\",\"name\":\"项目集\"}],\"yaxis\":[{\"type\":\"value\",\"field\":\"bug\",\"agg\":\"value\",\"name\":\"新增Bug条目\",\"valOrAgg\":\"value\"}]}','',NULL,'SELECT \r\n YEAR(t3.openedDate) AS `year`,\r\n t1.id, \r\n t1.name AS program, \r\n COUNT(1) AS bug \r\nFROM \r\n zt_project AS t1 \r\n LEFT JOIN zt_product AS t2 ON t1.id = t2.program \r\n AND t2.deleted = \'0\' \r\n LEFT JOIN zt_bug AS t3 ON t2.id = t3.product \r\n AND t3.deleted = \'0\' \r\nWHERE \r\n t1.deleted = \'0\' \r\n AND t1.type = \'program\' \r\n AND t1.grade = 1 \r\n AND t3.id IS NOT NULL \r\nGROUP BY \r\n `year`, \r\n id,\r\n program \r\nORDER BY \r\n `year`, \r\n bug DESC',1,'','','0000-00-00 00:00:00','','0000-00-00 00:00:00',0), -(1091,'年度排行-项目集-完成需求条目榜',1,'bar',0,'','','{\"xaxis\":[{\"field\":\"program\",\"name\":\"项目集\"}],\"yaxis\":[{\"type\":\"value\",\"field\":\"story\",\"agg\":\"value\",\"name\":\"完成需求条目\",\"valOrAgg\":\"value\"}]}','',NULL,'SELECT \r\n YEAR(t3.closedDate) AS `year`, \r\n t1.id,\r\n t1.name AS program, \r\n COUNT(1) AS story \r\nFROM \r\n zt_project AS t1 \r\n LEFT JOIN zt_product AS t2 ON t1.id = t2.program \r\n AND t2.deleted = \'0\' \r\n LEFT JOIN zt_story AS t3 ON t2.id = t3.product \r\n AND t3.deleted = \'0\' \r\n AND t3.closedReason = \'done\' \r\nWHERE \r\n t1.deleted = \'0\' \r\n AND t1.type = \'program\' \r\n AND t1.grade = 1 \r\n AND t3.id IS NOT NULL \r\nGROUP BY \r\n `year`,\r\n id, \r\n program \r\nORDER BY \r\n `year`, \r\n story DESC',1,'','','0000-00-00 00:00:00','','0000-00-00 00:00:00',0), -(1092,'年度排行-项目集-完成需求规模榜',1,'bar',0,'','','{\"xaxis\":[{\"field\":\"program\",\"name\":\"项目集\"}],\"yaxis\":[{\"type\":\"value\",\"field\":\"story\",\"agg\":\"value\",\"name\":\"完成需求规模\",\"valOrAgg\":\"value\"}]}','',NULL,'SELECT \r\n YEAR(t3.closedDate) AS `year`, \r\n t1.id,\r\n t1.name AS program, \r\n ROUND(\r\n SUM(t3.estimate), \r\n 2\r\n ) AS story \r\nFROM \r\n zt_project AS t1 \r\n LEFT JOIN zt_product AS t2 ON t1.id = t2.program \r\n AND t2.deleted = \'0\' \r\n LEFT JOIN zt_story AS t3 ON t2.id = t3.product \r\n AND t3.deleted = \'0\' \r\n AND t3.closedReason = \'done\' \r\nWHERE \r\n t1.deleted = \'0\' \r\n AND t1.type = \'program\' \r\n AND t1.grade = 1 \r\n AND t3.id IS NOT NULL \r\nGROUP BY \r\n `year`, \r\n id,\r\n program \r\nORDER BY \r\n `year`, \r\n story DESC',1,'','','0000-00-00 00:00:00','','0000-00-00 00:00:00',0), -(1093,'年度排行-项目集-修复Bug条目榜',1,'bar',0,'','','{\"xaxis\":[{\"field\":\"program\",\"name\":\"项目集\"}],\"yaxis\":[{\"type\":\"value\",\"field\":\"bug\",\"agg\":\"value\",\"name\":\"修复Bug条目\",\"valOrAgg\":\"value\"}]}','','','SELECT \r\n YEAR(t3.closedDate) AS `year`,\r\n t1.id, \r\n t1.name AS program, \r\n COUNT(1) AS bug \r\nFROM \r\n zt_project AS t1 \r\n LEFT JOIN zt_product AS t2 ON t1.id = t2.program \r\n AND t2.deleted = \'0\' \r\n LEFT JOIN zt_bug AS t3 ON t2.id = t3.product \r\n AND t3.deleted = \'0\' \r\n AND t3.resolution = \'fixed\' \r\n AND t3.status = \'closed\' \r\nWHERE \r\n t1.deleted = \'0\' \r\n AND t1.type = \'program\' \r\n AND t1.grade = 1 \r\n AND t3.id IS NOT NULL \r\nGROUP BY \r\n `year`, \r\n id,\r\n program \r\nORDER BY \r\n `year`, \r\n bug DESC',1,'','','0000-00-00 00:00:00','','0000-00-00 00:00:00',0), -(1094,'年度排行-项目-工期榜',1,'bar',0,'','','{\"xaxis\":[{\"field\":\"name\",\"name\":\"项目\"}],\"yaxis\":[{\"type\":\"value\",\"field\":\"duration\",\"agg\":\"value\",\"name\":\"工期\",\"valOrAgg\":\"value\"}]}','',NULL,'SELECT `year`, id,name,status,realBegan,realEnd,IF(status = \'closed\', DATEDIFF(realEnd, realBegan), DATEDIFF(NOW(),realBegan)) as duration\r\nFROM (SELECT DISTINCT YEAR(`date`) as \'year\' FROM zt_action) AS t1\r\nLEFT JOIN zt_project AS t2 ON 1 = 1 WHERE deleted = \'0\' AND type = \'project\' AND YEAR(realBegan) <= `year` AND LEFT(realBegan, 4) != \'0000\' AND (status =\'doing\' OR (status = \'suspended\' AND YEAR(suspendedDate) >= `year`) OR (status = \'closed\' AND YEAR(realEnd) >= `year`)) HAVING 1=1 ORDER BY `year`, duration desc',1,'','','0000-00-00 00:00:00','','0000-00-00 00:00:00',0), -(1096,'年度排行-项目-工期偏差榜',1,'bar',0,'','','{\"xaxis\":[{\"field\":\"name\",\"name\":\"项目\"}],\"yaxis\":[{\"type\":\"value\",\"field\":\"duration\",\"agg\":\"value\",\"name\":\"工期\",\"valOrAgg\":\"value\"}]}','',NULL,'SELECT `year`, id,name,status,`begin`,`end`,realBegan,realEnd,\nROUND((IF(LEFT(realEnd,4) != \'0000\', DATEDIFF(realEnd, realBegan), DATEDIFF(NOW(),realBegan)) - DATEDIFF(`end`, `begin`)) / DATEDIFF(`end`,`begin`) * 100) as duration\nFROM (SELECT DISTINCT YEAR(`date`) as \'year\' FROM zt_action) AS t1\nLEFT JOIN zt_project AS t2 ON 1 = 1 \nWHERE deleted = \'0\' AND type = \'project\'\nAND YEAR(realBegan) <= `year` AND LEFT(realBegan, 4) != \'0000\'\nAND (YEAR(realEnd) >= `year` OR LEFT(realEnd, 4) = \'0000\') AND YEAR(`end`) != \'2059\'\nHAVING 1=1\nORDER BY duration ASC',1,'','','0000-00-00 00:00:00','','0000-00-00 00:00:00',0), -(1097,'年度排行-项目-人员投入榜',1,'bar',0,'','','{\"xaxis\":[{\"field\":\"name\",\"name\":\"项目\"}],\"yaxis\":[{\"type\":\"value\",\"field\":\"number\",\"agg\":\"value\",\"name\":\"人数\",\"valOrAgg\":\"value\"}]}','','','SELECT tt.join as `year`, count(1) as number, tt.name from (\r\nselect \r\nt2.name, YEAR(t1.join) as `join`\r\nfrom zt_team t1 \r\nRIGHT JOIN zt_project t2 on t2.id = t1.root\r\nRIGHT JOIN zt_user t3 on t3.account = t1.account\r\nWHERE t1.type = \'project\'\r\nAND t2.deleted = \'0\'\r\n) tt\r\nGROUP BY tt.`name`, tt.join\r\nORDER BY tt.join, number desc, tt.name',1,'','','0000-00-00 00:00:00','','0000-00-00 00:00:00',0), -(1098,'年度排行-项目-工时消耗榜',1,'bar',0,'','','{\"xaxis\":[{\"field\":\"project\",\"name\":\"项目\"}],\"yaxis\":[{\"type\":\"value\",\"field\":\"consumed\",\"agg\":\"value\",\"name\":\"消耗工时\",\"valOrAgg\":\"value\"}]}','',NULL,'SELECT \r\n YEAR(t4.date) AS `year`,\r\n t1.id, \r\n t1.name AS project, \r\n ROUND(\r\n SUM(t4.consumed), \r\n 2\r\n ) AS consumed \r\nFROM \r\n zt_project AS t1 \r\n LEFT JOIN zt_project AS t2 ON t1.id = t2.parent \r\n AND t2.deleted = \'0\' \r\n AND t2.type IN (\'sprint\', \'stage\', \'kanban\') \r\n LEFT JOIN zt_task AS t3 ON t2.id = t3.execution \r\n AND t3.deleted = \'0\' \r\n AND t3.status != \'cancel\' \r\n LEFT JOIN zt_effort AS t4 ON t3.id = t4.objectID \r\n AND t4.deleted = \'0\' \r\n AND t4.objectType = \'task\' \r\nWHERE \r\n t1.deleted = \'0\' \r\n AND t1.type = \'project\' \r\n AND t4.id IS NOT NULL \r\nGROUP BY \r\n `year`, \r\n id,\r\n project \r\nORDER BY \r\n `year`, \r\n consumed DESC',1,'','','0000-00-00 00:00:00','','0000-00-00 00:00:00',0), -(1099,'年度排行-项目-完成需求条目榜',1,'bar',0,'','','{\"xaxis\":[{\"field\":\"project\",\"name\":\"项目\"}],\"yaxis\":[{\"type\":\"value\",\"field\":\"story\",\"agg\":\"value\",\"name\":\"完成需求条目\",\"valOrAgg\":\"value\"}]}','',NULL,'SELECT \r\n YEAR(t1.closedDate) AS `year`, \r\n t1.id, \r\n t1.project, \r\n COUNT(1) AS story \r\nFROM \r\n (\r\n SELECT \r\n DISTINCT t1.id, \r\n t1.name AS project, \r\n t4.id AS story, \r\n t4.closedDate \r\n FROM \r\n zt_project AS t1 \r\n LEFT JOIN zt_project AS t2 ON t1.id = t2.parent \r\n AND t2.deleted = \'0\' \r\n AND t2.type IN (\'sprint\', \'stage\', \'kanban\') \r\n LEFT JOIN zt_projectstory AS t3 ON t2.id = t3.project \r\n LEFT JOIN zt_story AS t4 ON t3.story = t4.id \r\n AND t4.deleted = \'0\' \r\n AND t4.closedReason = \'done\' \r\n WHERE \r\n t1.deleted = \'0\' \r\n AND t1.type = \'project\' \r\n AND t4.id IS NOT NULL\r\n ) AS t1 \r\nGROUP BY \r\n `year`, \r\n id, \r\n project \r\nORDER BY \r\n `year`, \r\n story DESC',1,'','','0000-00-00 00:00:00','','0000-00-00 00:00:00',0), -(1100,'年度排行-项目-完成需求规模榜',1,'bar',0,'','','{\"xaxis\":[{\"field\":\"project\",\"name\":\"项目\"}],\"yaxis\":[{\"type\":\"value\",\"field\":\"story\",\"agg\":\"value\",\"name\":\"完成需求规模\",\"valOrAgg\":\"value\"}]}','',NULL,'SELECT \r\n YEAR(t1.closedDate) AS `year`, \r\n t1.id, \r\n t1.project, \r\n ROUND(\r\n SUM(t1.estimate), \r\n 2\r\n ) AS story \r\nFROM \r\n (\r\n SELECT \r\n DISTINCT t1.id, \r\n t1.name AS project, \r\n t4.id AS story, \r\n t4.estimate, \r\n t4.closedDate \r\n FROM \r\n zt_project AS t1 \r\n LEFT JOIN zt_project AS t2 ON t1.id = t2.parent \r\n AND t2.deleted = \'0\' \r\n AND t2.type IN (\'sprint\', \'stage\', \'kanban\') \r\n LEFT JOIN zt_projectstory AS t3 ON t2.id = t3.project \r\n LEFT JOIN zt_story AS t4 ON t3.story = t4.id \r\n AND t4.deleted = \'0\' \r\n AND t4.closedReason = \'done\' \r\n WHERE \r\n t1.deleted = \'0\' \r\n AND t1.type = \'project\' \r\n AND t4.id IS NOT NULL\r\n ) AS t1 \r\nGROUP BY \r\n `year`, \r\n id, \r\n project \r\nORDER BY \r\n `year`, \r\n story DESC',1,'','','0000-00-00 00:00:00','','0000-00-00 00:00:00',0), -(1101,'年度排行-产品-新增需求条目榜',1,'bar',0,'','','{\"xaxis\":[{\"field\":\"product\",\"name\":\"产品\"}],\"yaxis\":[{\"type\":\"value\",\"field\":\"story\",\"agg\":\"value\",\"name\":\"新增需求条目\",\"valOrAgg\":\"value\"}]}','',NULL,'SELECT YEAR(t2.openedDate) AS `year`, t1.id, t1.name AS product, COUNT(1) AS story\r\nFROM zt_product AS t1\r\nLEFT JOIN zt_story AS t2 ON t1.id = t2.product AND t2.deleted = \'0\'\r\nWHERE t1.deleted = \'0\' AND t1.shadow = \'0\' AND t1.vision = \'rnd\' AND t2.id IS NOT NULL\r\nGROUP BY `year`, id, product\r\nORDER BY `year`, story DESC',1,'','','0000-00-00 00:00:00','','0000-00-00 00:00:00',0), -(1102,'年度排行-产品-完成需求规模榜',1,'bar',0,'','','{\"xaxis\":[{\"field\":\"product\",\"name\":\"产品\"}],\"yaxis\":[{\"type\":\"value\",\"field\":\"story\",\"agg\":\"value\",\"name\":\"完成需求规模\",\"valOrAgg\":\"value\"}]}','',NULL,'SELECT YEAR(t2.closedDate) AS `year`, t1.id, t1.name AS product, ROUND(SUM(t2.estimate), 1) AS story\r\nFROM zt_product AS t1\r\nLEFT JOIN zt_story AS t2 ON t1.id = t2.product AND t2.deleted = \'0\' AND t2.closedReason = \'done\'\r\nWHERE t1.deleted = \'0\' AND t1.shadow = \'0\' AND t1.vision = \'rnd\' AND t2.id IS NOT NULL\r\nGROUP BY `year`, id, product\r\nORDER BY `year`, story DESC',1,'','','0000-00-00 00:00:00','','0000-00-00 00:00:00',0), -(1103,'年度排行-产品-新增Bug条目榜',1,'bar',0,'','','{\"xaxis\":[{\"field\":\"product\",\"name\":\"产品\"}],\"yaxis\":[{\"type\":\"value\",\"field\":\"bug\",\"agg\":\"value\",\"name\":\"新增Bug条目\",\"valOrAgg\":\"value\"}]}','',NULL,'SELECT YEAR(t2.openedDate) AS `year`, t1.id, t1.name AS product, COUNT(1) AS bug\r\nFROM zt_product AS t1\r\nLEFT JOIN zt_bug AS t2 ON t1.id = t2.product AND t2.deleted = \'0\'\r\nWHERE t1.deleted = \'0\' AND t1.shadow = \'0\' AND t1.vision = \'rnd\' AND t2.id IS NOT NULL\r\nGROUP BY `year`, id, product\r\nORDER BY `year`, bug DESC',1,'','','0000-00-00 00:00:00','','0000-00-00 00:00:00',0), -(1104,'年度排行-产品-修复Bug条目榜',1,'bar',0,'','','{\"xaxis\":[{\"field\":\"product\",\"name\":\"产品\"}],\"yaxis\":[{\"type\":\"value\",\"field\":\"bug\",\"agg\":\"value\",\"name\":\"修复Bug条目\",\"valOrAgg\":\"value\"}]}','',NULL,'SELECT YEAR(t2.closedDate) AS `year`, t1.id, t1.name AS product, COUNT(1) AS bug\r\nFROM zt_product AS t1\r\nLEFT JOIN zt_bug AS t2 ON t1.id = t2.product AND t2.deleted = \'0\' AND t2.resolution = \'fixed\' AND t2.status = \'closed\'\r\nWHERE t1.deleted = \'0\' AND t1.shadow = \'0\' AND t1.vision = \'rnd\' AND t2.id IS NOT NULL\r\nGROUP BY `year`, id, product\r\nORDER BY `year`, bug DESC',1,'','','0000-00-00 00:00:00','','0000-00-00 00:00:00',0), -(1105,'年度排行-个人-创建需求条目榜',1,'bar',0,'','','{\"xaxis\":[{\"field\":\"realname\",\"name\":\"用户\"}],\"yaxis\":[{\"type\":\"value\",\"field\":\"count\",\"agg\":\"value\",\"name\":\"创建需求条目\",\"valOrAgg\":\"value\"}]}','',NULL,'SELECT \r\nYEAR(t3.openedDate) AS `year`,t2.realname,count(1) AS count\r\nFROM zt_action AS t1 RIGHT JOIN zt_user AS t2 ON t1.actor=t2.account LEFT JOIN zt_story AS t3 ON t1.objectID=t3.id\r\nWHERE t1.objectType=\'story\' AND t1.action=\'opened\' AND t3.deleted=\'0\'\r\nGROUP BY `year`,t2.account ORDER BY `year`,count DESC',1,'','','0000-00-00 00:00:00','','0000-00-00 00:00:00',0), -(1106,'年度排行-个人-创建用例条目榜',1,'bar',0,'','','{\"xaxis\":[{\"field\":\"realname\",\"name\":\"用户\"}],\"yaxis\":[{\"type\":\"value\",\"field\":\"count\",\"agg\":\"value\",\"name\":\"创建需用例条目\",\"valOrAgg\":\"value\"}]}','','','SELECT \nYEAR(t3.openedDate) AS `year`,t2.realname,count(1) AS count\nFROM zt_action AS t1 RIGHT JOIN zt_user AS t2 ON t1.actor=t2.account LEFT JOIN zt_case AS t3 ON t1.objectID=t3.id\nWHERE t1.objectType=\'case\' AND t1.action=\'opened\' AND t3.deleted=\'0\'\nGROUP BY `year`,t2.account ORDER BY `year`,count DESC',1,'','','0000-00-00 00:00:00','','0000-00-00 00:00:00',0), -(1107,'年度排行-个人-创建Bug条目榜',1,'bar',0,'','','{\"xaxis\":[{\"field\":\"realname\",\"name\":\"用户\"}],\"yaxis\":[{\"type\":\"value\",\"field\":\"count\",\"agg\":\"value\",\"name\":\"创建Bug条目\",\"valOrAgg\":\"value\"}]}','',NULL,'SELECT \nYEAR(t3.openedDate) AS `year`,t2.realname,count(1) AS count\nFROM zt_action AS t1 RIGHT JOIN zt_user AS t2 ON t1.actor=t2.account LEFT JOIN zt_bug AS t3 ON t1.objectID=t3.id\nWHERE t1.objectType=\'bug\' AND t1.action=\'opened\' AND t3.deleted=\'0\'\nGROUP BY `year`,t2.account ORDER BY `year`,count DESC',1,'','','0000-00-00 00:00:00','','0000-00-00 00:00:00',0), -(1108,'年度排行-个人-修复Bug条目榜',1,'bar',0,'','','{\"xaxis\":[{\"field\":\"realname\",\"name\":\"用户\"}],\"yaxis\":[{\"type\":\"value\",\"field\":\"count\",\"agg\":\"value\",\"name\":\"修复Bug条目\",\"valOrAgg\":\"value\"}]}','',NULL,'SELECT \r\nYEAR(t3.openedDate) AS `year`,t2.realname,count(DISTINCT t3.id) AS count\r\nFROM zt_action AS t1 RIGHT JOIN zt_user AS t2 ON t1.actor=t2.account LEFT JOIN zt_bug AS t3 ON t1.objectID=t3.id\r\nWHERE t1.objectType=\'bug\' AND t1.action=\'resolved\' AND t3.deleted=\'0\'\r\nGROUP BY `year`,t2.account ORDER BY `year`,count DESC',1,'','','0000-00-00 00:00:00','','0000-00-00 00:00:00',0), -(1109,'年度排行-个人-工时消耗榜',1,'bar',0,'','','{\"xaxis\":[{\"field\":\"realname\",\"name\":\"用户\"}],\"yaxis\":[{\"type\":\"value\",\"field\":\"consumed\",\"agg\":\"value\",\"name\":\"消耗工时\",\"valOrAgg\":\"value\"}]}','',NULL,'SELECT YEAR(t1.date) AS `year`, t2.realname, ROUND(SUM(t1.consumed),1) AS consumed\nFROM zt_effort AS t1 LEFT JOIN zt_user AS t2 ON t1.account = t2.account\nWHERE t1.deleted = \'0\' AND t2.deleted = \'0\'\nGROUP BY `year`, realname\nORDER BY `year`, consumed DESC',1,'','','0000-00-00 00:00:00','','0000-00-00 00:00:00',0), -(1110,'年度排行-个人-禅道操作次数榜',1,'bar',0,'','','{\"xaxis\":[{\"field\":\"realname\",\"name\":\"用户\"}],\"yaxis\":[{\"type\":\"value\",\"field\":\"count\",\"agg\":\"value\",\"name\":\"操作次数\",\"valOrAgg\":\"value\"}]}','',NULL,'SELECT YEAR(t1.date) AS `year`,IFNULL(t2.realname,t1.actor) AS realname,count(1) AS count\r\nFROM zt_action t1 LEFT JOIN zt_user AS t2 ON t1.actor=t2.account\r\nGROUP BY `year`,t1.actor\r\nORDER BY `year`, `count` DESC',1,'','','0000-00-00 00:00:00','','0000-00-00 00:00:00',0); +(1055,'年度新增-一级项目集个数',1,'card',0,'','','{\"value\": {\"type\": \"agg\", \"field\": \"id\", \"agg\": \"count\"}, \"title\": {\"type\": \"text\", \"name\": \"\"},\n\"type\": \"value\"\n}','',NULL,'SELECT\r\n t1.`year`,\r\n t2.id,\r\n t2.name\r\nFROM\r\n ( SELECT DISTINCT YEAR ( `date` ) AS \'year\' FROM zt_action ) AS t1\r\n LEFT JOIN (\r\n SELECT\r\n id, name,\r\n YEAR ( openedDate ) AS `year` \r\n FROM\r\n zt_project \r\n WHERE\r\n `type` = \'program\' \r\n AND deleted = \'0\' \r\n AND grade = \'1\' \r\n ) t2 ON t1.`year` = t2.`year` \r\n WHERE t2.id IS NOT NULL',1,'','','1970-01-01 00:00:01','','1970-01-01 00:00:01',0), +(1056,'年度新增-产品个数',1,'card',0,'','','{\"value\": {\"type\": \"agg\", \"field\": \"id\", \"agg\": \"count\"}, \"title\": {\"type\": \"text\", \"name\": \"\"},\n\"type\": \"value\"\n}','',NULL,'SELECT\r\n t1.`year`,\r\n t2.id,\r\n t2.name\r\nFROM\r\n ( SELECT DISTINCT YEAR ( `date` ) AS \'year\' FROM zt_action ) AS t1\r\n LEFT JOIN (\r\n SELECT\r\n id, name,\r\n YEAR ( createdDate ) AS `year` \r\n FROM\r\n zt_product \r\n WHERE\r\n deleted = \'0\' \r\n AND shadow = \'0\' \r\n ) t2 ON t1.`year` = t2.`year` \r\n WHERE t2.id IS NOT NULL',1,'','','1970-01-01 00:00:01','','1970-01-01 00:00:01',0), +(1057,'年度新增-需求个数',1,'card',0,'','','{\"value\": {\"type\": \"agg\", \"field\": \"id\", \"agg\": \"count\"}, \"title\": {\"type\": \"text\", \"name\": \"\"},\n\"type\": \"value\"\n}','',NULL,'SELECT\n t1.`year`,\n t2.id,\r\n t2.title\nFROM\n ( SELECT DISTINCT YEAR ( `date` ) AS \'year\' FROM zt_action ) AS t1\n LEFT JOIN ( SELECT id, title, YEAR ( openedDate ) AS `year` FROM zt_story WHERE deleted = \'0\' ) AS t2 ON t1.`year` = t2.`year` \r\n WHERE t2.id IS NOT NULL',1,'','','1970-01-01 00:00:01','','1970-01-01 00:00:01',0), +(1058,'年度新增-Bug个数',1,'card',0,'','','{\"value\": {\"type\": \"agg\", \"field\": \"id\", \"agg\": \"count\"}, \"title\": {\"type\": \"text\", \"name\": \"\"},\n\"type\": \"value\"\n}','',NULL,'SELECT\r\n t1.`year`,\r\n t2.id,\r\n t2.title\r\nFROM\r\n ( SELECT DISTINCT YEAR ( `date` ) AS \'year\' FROM zt_action ) AS t1\r\n LEFT JOIN ( SELECT id, title, YEAR ( openedDate ) AS `year` FROM zt_bug WHERE deleted = \'0\' ) AS t2 ON t1.`year` = t2.`year` \r\n WHERE t2.id IS NOT NULL',1,'','','1970-01-01 00:00:01','','1970-01-01 00:00:01',0), +(1059,'年度新增-计划个数',1,'card',0,'','','{\"value\": {\"type\": \"agg\", \"field\": \"id\", \"agg\": \"count\"}, \"title\": {\"type\": \"text\", \"name\": \"\"},\n\"type\": \"value\"\n}','',NULL,'SELECT\n t1.`year`,\n t2.id,\r\n t2.title\nFROM\n ( SELECT DISTINCT YEAR ( `date` ) AS \'year\' FROM zt_action ) AS t1\n LEFT JOIN ( SELECT id, title, YEAR ( createdDate ) AS `year` FROM zt_productplan WHERE deleted = \'0\') AS t2 ON t1.`year` = t2.`year` \r\n WHERE t2.id IS NOT NULL',1,'','','1970-01-01 00:00:01','','1970-01-01 00:00:01',0), +(1060,'年度新增-项目个数',1,'card',0,'','','{\"value\": {\"type\": \"agg\", \"field\": \"id\", \"agg\": \"count\"}, \"title\": {\"type\": \"text\", \"name\": \"\"},\n\"type\": \"value\"\n}','',NULL,'SELECT\r\n t1.`year`,\r\n t2.id,\r\n t2.name\r\nFROM\r\n ( SELECT DISTINCT YEAR ( `date` ) AS \'year\' FROM zt_action ) AS t1\r\n LEFT JOIN (\r\n SELECT\r\n id, name,\r\n YEAR ( openedDate ) AS `year` \r\n FROM\r\n zt_project \r\n WHERE\r\n `type` = \'project\' \r\n AND deleted = \'0\' \r\n ) t2 ON t1.`year` = t2.`year` \r\n WHERE t2.id IS NOT NULL',1,'','','1970-01-01 00:00:01','','1970-01-01 00:00:01',0), +(1061,'年度新增-执行个数',1,'card',0,'','','{\"value\": {\"type\": \"agg\", \"field\": \"id\", \"agg\": \"count\"}, \"title\": {\"type\": \"text\", \"name\": \"\"},\r\n\"type\": \"value\"\r\n}','',NULL,'SELECT t1.`year`, t2.id, t2.name\r\nFROM (SELECT DISTINCT YEAR(`date`) AS \'year\' FROM zt_action) AS t1\r\nLEFT JOIN (SELECT id,name, YEAR(openedDate) AS `year` FROM zt_project WHERE `type` IN ( \'sprint\', \'stage\', \'kanban\' ) AND deleted = \'0\' AND multiple = \'1\') AS t2 ON t1.`year` = t2.`year` \r\nWHERE t2.id IS NOT NULL',1,'','','1970-01-01 00:00:01','','1970-01-01 00:00:01',0), +(1062,'年度新增-任务数',1,'card',0,'','','{\"value\": {\"type\": \"agg\", \"field\": \"id\", \"agg\": \"count\"}, \"title\": {\"type\": \"text\", \"name\": \"\"},\r\n\"type\": \"value\"\r\n}','',NULL,'SELECT\r\n t1.`year`,\r\n t2.id,\r\n t2.name\r\nFROM\r\n ( SELECT DISTINCT YEAR ( `date` ) AS \'year\' FROM zt_action ) AS t1\r\n LEFT JOIN ( SELECT id, name, YEAR ( openedDate ) AS `year` FROM zt_task WHERE deleted = \'0\') AS t2 ON t1.`year` = t2.`year` \r\n WHERE t2.id IS NOT NULL',1,'','','1970-01-01 00:00:01','','1970-01-01 00:00:01',0), +(1063,'年度新增-文档个数',1,'card',0,'','','{\"value\": {\"type\": \"agg\", \"field\": \"id\", \"agg\": \"count\"}, \"title\": {\"type\": \"text\", \"name\": \"\"},\n\"type\": \"value\"\n}','',NULL,'SELECT\n t1.`year`,\n t2.id,\r\n t2.title\nFROM\n ( SELECT DISTINCT YEAR ( `date` ) AS \'year\' FROM zt_action ) AS t1\n LEFT JOIN ( SELECT id, title, YEAR ( addedDate ) AS `year` FROM zt_doc WHERE deleted = \'0\') AS t2 ON t1.`year` = t2.`year` \r\n WHERE t2.id IS NOT NULL',1,'','','1970-01-01 00:00:01','','1970-01-01 00:00:01',0), +(1064,'年度新增-发布个数',1,'card',0,'','','{\"value\": {\"type\": \"agg\", \"field\": \"id\", \"agg\": \"count\"}, \"title\": {\"type\": \"text\", \"name\": \"\"},\r\n\"type\": \"value\"\r\n}','',NULL,'SELECT\r\n t1.`year`,\r\n t2.id,\r\n t2.name\r\nFROM\r\n ( SELECT DISTINCT YEAR ( `date` ) AS \'year\' FROM zt_action ) AS t1\r\n LEFT JOIN ( SELECT id, name, YEAR ( `date` ) AS `year` FROM zt_release WHERE deleted = \'0\') AS t2 ON t1.`year` = t2.`year`\r\nWHERE t2.id IS NOT NULL',1,'','','1970-01-01 00:00:01','','1970-01-01 00:00:01',0), +(1065,'年度新增-人员个数',1,'card',0,'','','{\"value\": {\"type\": \"agg\", \"field\": \"account\", \"agg\": \"count\"}, \"title\": {\"type\": \"text\", \"realname\": \"\"},\n\"type\": \"value\"\n}','',NULL,'SELECT\n t1.`year`,\r\n t2.account,\r\n t2.realname\nFROM\n ( SELECT DISTINCT YEAR ( `date` ) AS \'year\' FROM zt_action ) AS t1\n LEFT JOIN (\n SELECT\n account, realname,\n YEAR ( t112.`date` ) AS \'year\' \n FROM\n zt_user AS t111\n LEFT JOIN zt_action t112 ON t111.id = t112.objectID \n AND t112.objectType = \'user\' \n WHERE\n t111.deleted = \'0\' \n AND t112.action = \'created\' \n ) AS t2 ON t1.`year` = t2.`year` \r\n WHERE t2.account IS NOT NULL',1,'','','1970-01-01 00:00:01','','1970-01-01 00:00:01',0), +(1066,'年度新增-完成项目数',1,'card',0,'','','{\"value\": {\"type\": \"agg\", \"field\": \"id\", \"agg\": \"count\"}, \"title\": {\"type\": \"text\", \"name\": \"\"},\r\n\"type\": \"value\"\r\n}','',NULL,'SELECT t1.year, t2.id, t2.name\r\nFROM (SELECT DISTINCT YEAR(date) AS \'year\' FROM zt_action) AS t1\r\nLEFT JOIN (SELECT id, name, YEAR(closedDate) AS `year` FROM zt_project WHERE `type` = \'project\' AND deleted = \'0\' AND status = \'closed\') AS t2 ON t1.year = t2.year\r\nWHERE t2.id IS NOT NULL',1,'','','1970-01-01 00:00:01','','1970-01-01 00:00:01',0), +(1067,'年度新增-完成执行数',1,'card',0,'','','{\"value\": {\"type\": \"agg\", \"field\": \"id\", \"agg\": \"count\"}, \"title\": {\"type\": \"text\", \"name\": \"\"},\r\n\"type\": \"value\"\r\n}','',NULL,'SELECT t1.`year`, t2.id, t2.name\r\nFROM (SELECT DISTINCT YEAR(date) AS \'year\' FROM zt_action) AS t1\r\nLEFT JOIN (SELECT id, name, YEAR(closedDate) AS `year` FROM zt_project WHERE `type` IN ( \'sprint\', \'stage\', \'kanban\' ) AND deleted = \'0\' AND multiple = \'1\' AND status = \'closed\') AS t2 ON t1.`year` = t2.`year` \r\nWHERE t2.id IS NOT NULL',1,'','','1970-01-01 00:00:01','','1970-01-01 00:00:01',0), +(1068,'年度新增-完成发布数',1,'card',0,'','','{\"value\": {\"type\": \"agg\", \"field\": \"id\", \"agg\": \"count\"}, \"title\": {\"type\": \"text\", \"name\": \"\"},\n\"type\": \"value\"\n}','',NULL,'SELECT\r\n t1.`year`,\r\n t2.id,\r\n t2.name\r\nFROM\r\n ( SELECT DISTINCT YEAR ( `date` ) AS \'year\' FROM zt_action ) AS t1\r\n LEFT JOIN ( SELECT id, name, YEAR ( `date` ) AS `year` FROM zt_release WHERE deleted = \'0\') AS t2 ON t1.`year` = t2.`year` \r\n WHERE t2.id IS NOT NULL',1,'','','1970-01-01 00:00:01','','1970-01-01 00:00:01',0), +(1069,'年度新增-完成需求数',1,'card',0,'','','{\"value\": {\"type\": \"agg\", \"field\": \"id\", \"agg\": \"count\"}, \"title\": {\"type\": \"text\", \"name\": \"\"},\n\"type\": \"value\"\n}','',NULL,'SELECT\n t1.`year`,\n t2.id,\n t2.title\nFROM\n ( SELECT DISTINCT YEAR ( `date` ) AS \'year\' FROM zt_action ) AS t1\n LEFT JOIN (\n SELECT\n id, title,\n YEAR ( closedDate ) AS `year` \n FROM\n zt_story \n WHERE\n deleted = \'0\' \n AND closedReason = \'done\' \n AND STATUS = \'closed\' \n ) AS t2 ON t1.`year` = t2.`year` \n WHERE t2.id IS NOT NULL',1,'','','1970-01-01 00:00:01','','1970-01-01 00:00:01',0), +(1070,'年度新增-解决Bug数',1,'card',0,'','','{\"value\": {\"type\": \"agg\", \"field\": \"id\", \"agg\": \"count\"}, \"title\": {\"type\": \"text\", \"name\": \"\"},\r\n\"type\": \"value\"\r\n}','',NULL,'SELECT\r\n t1.`year`,\r\n t2.id,\r\n t2.title\r\nFROM\r\n ( SELECT DISTINCT YEAR ( `date` ) AS \'year\' FROM zt_action ) AS t1\r\n LEFT JOIN (\r\n SELECT\r\n id, title,\r\n YEAR ( closedDate ) AS `year` \r\n FROM\r\n zt_bug \r\n WHERE\r\n deleted = \'0\' \r\n AND resolution = \'fixed\' \r\n AND STATUS = \'closed\' \r\n ) AS t2 ON t1.`year` = t2.`year` \r\n WHERE t2.id IS NOT NULL',1,'','','1970-01-01 00:00:01','','1970-01-01 00:00:01',0), +(1071,'年度新增-完成任务数',1,'card',0,'','','{\"value\": {\"type\": \"agg\", \"field\": \"id\", \"agg\": \"count\"}, \"title\": {\"type\": \"text\", \"name\": \"\"},\r\n\"type\": \"value\"\r\n}','',NULL,'SELECT\r\n t1.`year`,\r\n t2.id,\r\n t2.name\r\nFROM\r\n ( SELECT DISTINCT YEAR ( `date` ) AS \'year\' FROM zt_action ) AS t1\r\n LEFT JOIN (\r\n SELECT\r\n id, name,\r\n YEAR ( finishedDate ) AS `year` \r\n FROM\r\n zt_task \r\n WHERE\r\n deleted = \'0\' \r\n AND STATUS = \'closed\' \r\n AND closedReason = \'done\' \r\n ) AS t2 ON t1.`year` = t2.`year` \r\n WHERE t2.id IS NOT NULL',1,'','','1970-01-01 00:00:01','','1970-01-01 00:00:01',0), +(1072,'年度新增-投入工时数',1,'card',0,'','','{\"value\": {\"type\": \"value\", \"field\": \"consumed\", \"agg\": \"value\"}, \"title\": {\"type\": \"text\", \"name\": \"\"},\r\n\"type\": \"value\"\r\n}','',NULL,'SELECT\r\n t1.`year`,\r\n IFNULL( t2.consumed, 0 ) AS consumed \r\nFROM\r\n ( SELECT DISTINCT YEAR ( `date` ) AS \'year\' FROM zt_action ) AS t1\r\n LEFT JOIN ( SELECT ROUND( SUM( consumed )) AS consumed, YEAR ( `date` ) AS \'year\' FROM zt_effort WHERE deleted = \'0\' GROUP BY `year`) AS t2 ON t1.`year` = t2.`year` ',1,'','','1970-01-01 00:00:01','','1970-01-01 00:00:01',0), +(1073,'年度新增-项目集年度新增数据汇总表',1,'table',0,'','','{\"group\":[],\"column\":[\r\n{\"field\":\"topProgram\",\"valOrAgg\":\"value\",\"name\":\"一级项目集\"},\r\n{\"field\":\"product\",\"valOrAgg\":\"value\",\"name\":\"产品数\"},\r\n{\"field\":\"plan\",\"valOrAgg\":\"value\",\"name\":\"计划数\"},\r\n{\"field\":\"story\",\"valOrAgg\":\"value\",\"name\":\"需求数\"},\r\n{\"field\":\"bug\",\"valOrAgg\":\"value\",\"name\":\"Bug数\"},\r\n{\"field\":\"release\",\"valOrAgg\":\"value\",\"name\":\"发布数\"},\r\n{\"field\":\"doc\",\"valOrAgg\":\"value\",\"name\":\"文档数\"}\r\n],\"filter\":[]}','',NULL,'SELECT\r\n t1.name AS topProgram,t1.id, t2.`year`, (SELECT COUNT(1) as product FROM zt_product WHERE deleted = \'0\' AND shadow = \'0\' AND YEAR(createdDate) = t2.`year` AND program = t1.id) as product, SUM(IFNULL(t4.plan, 0)) AS plan, SUM(IFNULL(t5.story, 0)) AS story, SUM(IFNULL(t6.bug, 0)) AS bug, SUM(IFNULL(t7.`release`, 0)) AS \'release\', SUM(IFNULL(t8.doc, 0)) AS doc\r\nFROM zt_project AS t1\r\nLEFT JOIN (SELECT DISTINCT YEAR(`date`) as \'year\' FROM zt_action) as t2 ON 1 = 1 LEFT JOIN (SELECT id, program FROM zt_product WHERE deleted = \'0\') AS t3 ON t1.id = t3.program\r\nLEFT JOIN (SELECT COUNT(1) as \'plan\', product, YEAR(createdDate) as \'year\' FROM zt_productplan WHERE deleted = \'0\' GROUP BY product,`year`) AS t4 on t3.id = t4.product AND t4.`year`= t2.`year` LEFT JOIN (SELECT COUNT(1) as \'story\', product, YEAR(openedDate) as \'year\' FROM zt_story WHERE deleted = \'0\' GROUP BY product,`year`) AS t5 on t3.id = t5.product AND t5.`year`= t2.`year` LEFT JOIN (SELECT COUNT(1) as \'bug\', product, YEAR(openedDate) as \'year\' FROM zt_bug WHERE deleted = \'0\' GROUP BY product,`year`) AS t6 on t3.id = t6.product AND t6.`year` = t2.`year` LEFT JOIN (SELECT COUNT(1) as \'release\', product, YEAR(`date`) as \'year\' FROM zt_release WHERE deleted = \'0\' GROUP BY product,`year`) AS t7 on t3.id = t7.product AND t7.`year` = t2.`year` LEFT JOIN (SELECT COUNT(1) as \'doc\', product, YEAR(addedDate) as \'year\' FROM zt_doc WHERE deleted = \'0\' GROUP BY product,`year`) AS t8 on t3.id = t8.product AND t8.`year` = t2.`year` WHERE t1.type = \'program\' AND t1.grade = 1 AND t1.deleted = \'0\'AND t1.status != \'closed\' GROUP BY topProgram,id,`year` ORDER BY `year`, topProgram',1,'','','1970-01-01 00:00:01','','1970-01-01 00:00:01',0), +(1074,'年度新增-项目集年度完成数据概览',1,'table',0,'','','{\"group\":[],\"column\":[\r\n{\"field\":\"topProgram\",\"valOrAgg\":\"value\",\"name\":\"一级项目集\"},\r\n{\"field\":\"projectA\",\"valOrAgg\":\"value\",\"name\":\"项目数\"},\r\n{\"field\":\"executionA\",\"valOrAgg\":\"value\",\"name\":\"执行数\"},\r\n{\"field\":\"release\",\"valOrAgg\":\"value\",\"name\":\"发布数\"},\r\n{\"field\":\"story\",\"valOrAgg\":\"value\",\"name\":\"需求数\"},\r\n{\"field\":\"bug\",\"valOrAgg\":\"value\",\"name\":\"Bug数\"}\r\n],\"filter\":[]}','',NULL,'SELECT\r\n t1.name AS topProgram,t1.id,t2.`year`,\r\n SUM(IF((t3.`status` = \'closed\' AND YEAR(t3.closedDate) = t2.`year`), 1, 0)) as projectA,\r\n COUNT(DISTINCT t4.id) as executionA,\r\n SUM(IFNULL(t6.`release`, 0)) AS \'release\',\r\n SUM(IFNULL(t7.story, 0)) AS story,\r\n SUM(IFNULL(t8.bug, 0)) AS bug\r\nFROM zt_project AS t1\r\nLEFT JOIN (SELECT DISTINCT YEAR(`date`) as \'year\' FROM zt_action) as t2 ON 1 = 1\r\nLEFT JOIN zt_project AS t3 ON FIND_IN_SET(t1.id, t3.path) and t3.type = \'project\'\r\nLEFT JOIN zt_project AS t4 ON t3.id = t4.parent and t4.type in (\'sprint\', \'stage\', \'kanban\') AND t4.`status` = \'closed\' AND YEAR(t4.closedDate) = t2.`year`\r\nLEFT JOIN (SELECT id,program FROM zt_product WHERE deleted = \'0\') AS t5 ON t1.id = t5.program\r\nLEFT JOIN (SELECT COUNT(1) as \'release\', product, YEAR(`date`) as `year` FROM zt_release WHERE deleted = \'0\' GROUP BY product, `year`) AS t6 ON t5.id = t6.product AND t6.`year` = t2.`year`\r\nLEFT JOIN (SELECT COUNT(1) as \'story\', product, YEAR(closedDate) as `year` FROM zt_story WHERE deleted = \'0\' AND closedReason = \'done\' AND status = \'closed\' GROUP BY product, `year`) AS t7 on t5.id = t7.product AND t7.`year` = t2.`year`\r\nLEFT JOIN (SELECT COUNT(1) as \'bug\', product, YEAR(resolvedDate) as `year` FROM zt_bug WHERE deleted = \'0\' AND resolution = \'fixed\' AND status = \'closed\' GROUP BY product, `year`) AS t8 on t5.id = t8.product AND t8.`year` = t2.`year`\r\nWHERE t1.type = \'program\' AND t1.grade = 1 AND t1.deleted = \'0\'\r\nGROUP BY t1.name,t1.id,t2.`year`',1,'','','1970-01-01 00:00:01','','1970-01-01 00:00:01',0), +(1075,'年度新增-产品年度新增数据汇总表',1,'table',0,'','','{\"group\":[],\"column\":[\r\n{\"field\":\"name\",\"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\":\"发布数\"}\r\n],\"filter\":[]}','',NULL,'SELECT\r\n t1.name,t1.id,t2.`year`,IF(YEAR(t1.createdDate) = t2.`year`, 1, 0) as newProduct,\r\n SUM(IFNULL(t3.story, 0)) AS story,\r\n SUM(IFNULL(t4.bug, 0)) AS bug,\r\n SUM(IFNULL(t5.`plan`, 0)) AS \'plan\',\r\n SUM(IFNULL(t6.`release`, 0)) AS \'release\'\r\nFROM zt_product AS t1\r\nLEFT JOIN (SELECT DISTINCT YEAR(`date`) as \'year\' FROM zt_action) as t2 ON 1 = 1\r\nLEFT JOIN (SELECT COUNT(1) as \'story\', product, YEAR(openedDate) as `year` FROM zt_story WHERE deleted = \'0\' AND closedReason = \'done\' AND status = \'closed\' GROUP BY product, `year`) AS t3 on t1.id = t3.product AND t3.`year` = t2.`year`\r\nLEFT JOIN (SELECT COUNT(1) as \'bug\', product, YEAR(openedDate) as `year` FROM zt_bug WHERE deleted = \'0\' AND resolution = \'fixed\' AND status = \'closed\' GROUP BY product, `year`) AS t4 on t1.id = t4.product AND t4.`year` = t2.`year`\r\nLEFT JOIN (SELECT COUNT(1) as \'plan\', product, YEAR(createdDate) AS \'year\' FROM zt_productplan WHERE deleted = \'0\' GROUP BY product,`year`) AS t5 on t1.id = t5.product AND t5.`year` = t2.`year`\r\nLEFT JOIN (SELECT COUNT(1) as \'release\', product, YEAR(`date`) as `year` FROM zt_release WHERE deleted = \'0\' GROUP BY product, `year`) AS t6 ON t1.id = t6.product AND t6.`year` = t2.`year`\r\nWHERE t1.deleted = \'0\' AND t1.status != \'closed\' AND t1.shadow = \'0\'\r\nAND t2.`year` = \'2022\'\r\nGROUP BY t1.name,t1.id,t2.`year`,newProduct',1,'','','1970-01-01 00:00:01','','1970-01-01 00:00:01',0), +(1076,'年度新增-产品年度完成数据汇总表',1,'table',0,'','','{\"group\":[],\"column\":[\r\n{\"field\":\"name\",\"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\":\"发布数\"}\r\n],\"filter\":[]}','',NULL,'SELECT\r\n t1.name,t1.id,t2.`year`,IF(YEAR(t1.createdDate) = t2.`year`, 1, 0) as newProduct,\r\n SUM(IFNULL(t3.story, 0)) AS story,\r\n SUM(IFNULL(t4.bug, 0)) AS bug,\r\n SUM(IFNULL(t5.`plan`, 0)) AS \'plan\',\r\n SUM(IFNULL(t6.`release`, 0)) AS \'release\'\r\nFROM zt_product AS t1\r\nLEFT JOIN (SELECT DISTINCT YEAR(`date`) as \'year\' FROM zt_action) as t2 ON 1 = 1\r\nLEFT JOIN (SELECT COUNT(1) as \'story\', product, YEAR(closedDate) as `year` FROM zt_story WHERE deleted = \'0\' AND closedReason = \'done\' AND status = \'closed\' GROUP BY product, `year`) AS t3 on t1.id = t3.product AND t3.`year` = t2.`year`\r\nLEFT JOIN (SELECT COUNT(1) as \'bug\', product, YEAR(resolvedDate) as `year` FROM zt_bug WHERE deleted = \'0\' AND resolution = \'fixed\' AND status = \'closed\' GROUP BY product, `year`) AS t4 on t1.id = t4.product AND t4.`year` = t2.`year`\r\nLEFT JOIN (\r\n SELECT COUNT(DISTINCT t51.id) as \'plan\', t51.product, YEAR(t52.`date`) AS \'year\'\r\n FROM zt_productplan AS t51\r\n LEFT JOIN (SELECT objectID,objectType,action,MAX(`date`) as \'date\' FROM zt_action GROUP BY objectID,objectType, action) AS t52 ON t51.id = t52.objectID AND t52.objectType = \'productplan\'\r\n WHERE t51.deleted = \'0\' AND t51.closedReason = \'done\' AND t51.status = \'closed\' \r\n AND t52.action = \'closed\'\r\n GROUP BY t51.product,`year`\r\n) AS t5 on t1.id = t5.product AND t5.`year` = t2.`year`\r\nLEFT JOIN (SELECT COUNT(1) as \'release\', product, YEAR(`date`) as `year` FROM zt_release WHERE deleted = \'0\' GROUP BY product, `year`) AS t6 ON t1.id = t6.product AND t6.`year` = t2.`year`\r\nWHERE t1.deleted = \'0\' AND t1.status != \'closed\' AND t1.shadow = \'0\'\r\nGROUP BY t1.name,t1.id,t2.`year`,newProduct',1,'','','1970-01-01 00:00:01','','1970-01-01 00:00:01',0), +(1077,'年度新增-需求年度新增和完成趋势图',1,'line',0,'','','{\r\n \"xaxis\":[{\"field\":\"month\",\"name\":\"月份\",\"group\":\"value\"}],\r\n \"yaxis\":[{\"type\":\"value\",\"field\":\"newStory\",\"agg\":\"value\",\"name\":\"新增需求数\",\"valOrAgg\":\"value\"},\r\n {\"type\":\"value\",\"field\":\"closedStory\",\"agg\":\"value\",\"name\":\"完成需求数\",\"valOrAgg\":\"value\"}\r\n]}','',NULL,'SELECT t1.year, CONCAT(t1.month, \'月\') AS `month`, IFNULL(t2.story, 0) AS newStory, IFNULL(t3.story, 0) AS closedStory\r\nFROM (SELECT DISTINCT Year(date) AS `year`, MONTH(date) AS `month` FROM zt_action) AS t1\r\nLEFT JOIN (SELECT YEAR(openedDate) AS `year`, MONTH(openedDate) AS `month`, COUNT(1) AS story FROM zt_story WHERE deleted = \'0\' GROUP BY `year`, `month`) AS t2 ON t1.year = t2.year AND t1.month = t2.month\r\nLEFT JOIN (SELECT YEAR(closedDate) AS `year`, MONTH(closedDate) AS `month`, COUNT(1) AS story FROM zt_story WHERE deleted = \'0\' AND closedReason = \'done\' GROUP BY `year`, `month`) AS t3 ON t1.year = t3.year AND t1.month = t3.month\r\nORDER BY `year`, t1.month',1,'','','1970-01-01 00:00:01','','1970-01-01 00:00:01',0), +(1078,'年度新增-Bug年度新增和解决趋势图',1,'line',0,'','','{\r\n \"xaxis\":[{\"field\":\"month\",\"name\":\"月份\",\"group\":\"value\"}],\r\n \"yaxis\":[{\"type\":\"value\",\"field\":\"newBug\",\"agg\":\"value\",\"name\":\"新增Bug数\",\"valOrAgg\":\"value\"},\r\n {\"type\":\"value\",\"field\":\"fixedBug\",\"agg\":\"value\",\"name\":\"解决Bug数\",\"valOrAgg\":\"value\"}\r\n]}','',NULL,'SELECT t1.year, CONCAT(t1.month, \'月\') AS `month`, IFNULL(t2.bug, 0) AS newBug, IFNULL(t3.bug, 0) AS fixedBug\r\nFROM (SELECT DISTINCT Year(date) AS `year`, MONTH(date) AS `month` FROM zt_action) AS t1\r\nLEFT JOIN (SELECT YEAR(openedDate) AS `year`, MONTH(openedDate) AS `month`, COUNT(1) AS bug FROM zt_bug WHERE deleted = \'0\' GROUP BY `year`, `month`) AS t2 ON t1.year = t2.year AND t1.month = t2.month\r\nLEFT JOIN (SELECT YEAR(closedDate) AS `year`, MONTH(closedDate) AS `month`, COUNT(1) AS bug FROM zt_bug WHERE deleted = \'0\' AND resolution = \'fixed\' AND status = \'closed\' GROUP BY `year`, `month`) AS t3 ON t1.year = t3.year AND t1.month = t3.month\r\nORDER BY `year`, t1.month',1,'','','1970-01-01 00:00:01','','1970-01-01 00:00:01',0), +(1079,'年度新增-任务年度新增和完成趋势图',1,'line',0,'','','{\r\n \"xaxis\":[{\"field\":\"month\",\"name\":\"月份\",\"group\":\"value\"}],\r\n \"yaxis\":[{\"type\":\"value\",\"field\":\"newTask\",\"agg\":\"value\",\"name\":\"新增任务数\",\"valOrAgg\":\"value\"},\r\n {\"type\":\"value\",\"field\":\"closedTask\",\"agg\":\"value\",\"name\":\"完成任务数\",\"valOrAgg\":\"value\"}\r\n]}','',NULL,'SELECT t1.year, CONCAT(t1.month, \'月\') AS `month`, IFNULL(t2.task, 0) AS newTask, IFNULL(t3.task, 0) AS closedTask\r\nFROM (SELECT DISTINCT Year(date) AS `year`, MONTH(date) AS `month` FROM zt_action) AS t1\r\nLEFT JOIN (SELECT YEAR(openedDate) AS `year`, MONTH(openedDate) AS `month`, COUNT(1) AS task FROM zt_task WHERE deleted = \'0\' GROUP BY `year`, `month`) AS t2 ON t1.year = t2.year AND t1.month = t2.month\r\nLEFT JOIN (SELECT YEAR(closedDate) AS `year`, MONTH(closedDate) AS `month`, COUNT(1) AS task FROM zt_task WHERE deleted = \'0\' AND status = \'closed\' GROUP BY `year`, `month`) AS t3 ON t1.year = t3.year AND t1.month = t3.month\r\nORDER BY `year`, t1.month',1,'','','1970-01-01 00:00:01','','1970-01-01 00:00:01',0), +(1080,'年度新增-项目年度新增和完成趋势图',1,'line',0,'','','{\r\n \"xaxis\":[{\"field\":\"month\",\"name\":\"月份\",\"group\":\"value\"}],\r\n \"yaxis\":[{\"type\":\"value\",\"field\":\"newProject\",\"agg\":\"value\",\"name\":\"新增项目数\",\"valOrAgg\":\"value\"},\r\n {\"type\":\"value\",\"field\":\"closedProject\",\"agg\":\"value\",\"name\":\"完成项目数\",\"valOrAgg\":\"value\"}\r\n]}','',NULL,'SELECT t1.year, CONCAT(t1.month, \'月\') AS `month`, IFNULL(t2.project, 0) AS newProject, IFNULL(t3.project, 0) AS closedProject\r\nFROM (SELECT DISTINCT Year(date) AS `year`, MONTH(date) AS `month` FROM zt_action) AS t1\r\nLEFT JOIN (SELECT YEAR(openedDate) AS `year`, MONTH(openedDate) AS `month`, COUNT(1) AS project FROM zt_project WHERE deleted = \'0\' AND type = \'project\' GROUP BY `year`, `month`) AS t2 ON t1.year = t2.year AND t1.month = t2.month\r\nLEFT JOIN (SELECT YEAR(closedDate) AS `year`, MONTH(closedDate) AS `month`, COUNT(1) AS project FROM zt_project WHERE deleted = \'0\' AND type = \'project\' AND status = \'closed\' GROUP BY `year`, `month`) AS t3 ON t1.year = t3.year AND t1.month = t3.month\r\nORDER BY `year`, t1.month',1,'','','1970-01-01 00:00:01','','1970-01-01 00:00:01',0), +(1081,'年度新增-执行年度新增和完成趋势图',1,'line',0,'','','{\r\n \"xaxis\":[{\"field\":\"month\",\"name\":\"月份\",\"group\":\"value\"}],\r\n \"yaxis\":[{\"type\":\"value\",\"field\":\"newExecution\",\"agg\":\"value\",\"name\":\"新增执行数\",\"valOrAgg\":\"value\"},\r\n {\"type\":\"value\",\"field\":\"closedExecution\",\"agg\":\"value\",\"name\":\"完成执行数\",\"valOrAgg\":\"value\"}\r\n]}','',NULL,'SELECT t1.year, CONCAT(t1.month, \'月\') AS `month`, IFNULL(t2.execution, 0) AS newExecution, IFNULL(t3.execution, 0) AS closedExecution\r\nFROM (SELECT DISTINCT YEAR(date) AS `year`, MONTH(date) AS `month` FROM zt_action) AS t1\r\nLEFT JOIN (SELECT YEAR(openedDate) AS `year`, MONTH(openedDate) AS `month`, COUNT(1) AS execution FROM zt_project WHERE deleted = \'0\' AND type IN (\'sprint\', \'stage\', \'kanban\') AND multiple = \'1\' GROUP BY `year`, `month`) AS t2 ON t1.year = t2.year AND t1.month = t2.month\r\nLEFT JOIN (SELECT YEAR(closedDate) AS `year`, MONTH(closedDate) AS `month`, COUNT(1) AS execution FROM zt_project WHERE deleted = \'0\' AND type IN (\'sprint\', \'stage\', \'kanban\') AND status = \'closed\' AND multiple = \'1\' GROUP BY `year`, `month`) AS t3 ON t1.year = t3.year AND t1.month = t3.month\r\nORDER BY `year`, t1.month',1,'','','1970-01-01 00:00:01','','1970-01-01 00:00:01',0), +(1082,'年度新增-产品发布次数年度趋势图',1,'line',0,'','','{\r\n \"xaxis\":[{\"field\":\"month\",\"name\":\"月份\",\"group\":\"value\"}],\r\n \"yaxis\":[{\"type\":\"value\",\"field\":\"release\",\"agg\":\"value\",\"name\":\"发布次数\",\"valOrAgg\":\"value\"}\r\n]}','',NULL,'SELECT t1.year, CONCAT(t1.month, \'月\') AS `month`, IFNULL(t2.release, 0) AS `release`\r\nFROM (SELECT DISTINCT Year(date) AS `year`, MONTH(date) AS `month` FROM zt_action) AS t1\r\nLEFT JOIN (SELECT YEAR(createdDate) AS `year`, MONTH(createdDate) AS `month`, COUNT(1) AS `release` FROM zt_release WHERE deleted = \'0\' GROUP BY `year`, `month`) AS t2 ON t1.year = t2.year AND t1.month = t2.month\r\nORDER BY `year`, t1.month',1,'','','1970-01-01 00:00:01','','1970-01-01 00:00:01',0), +(1083,'年度新增-年度投入产出比',1,'line',0,'','','{\r\n \"xaxis\":[{\"field\":\"month\",\"name\":\"月份\",\"group\":\"value\"}],\r\n \"yaxis\":[{\"type\":\"value\",\"field\":\"ratio\",\"agg\":\"value\",\"name\":\"投入产出比\",\"valOrAgg\":\"value\"},\r\n{\"type\":\"value\",\"field\":\"story\",\"agg\":\"value\",\"name\":\"需求交付\",\"valOrAgg\":\"value\"},\r\n{\"type\":\"value\",\"field\":\"consumed\",\"agg\":\"value\",\"name\":\"工时消耗\",\"valOrAgg\":\"value\"}\r\n]}','',NULL,'SELECT t1.`year`, CONCAT(t1.`month`, \'月\') AS `month`, IFNULL(t2.story, 0) AS story, IFNULL(t3.consumed, 0) AS consumed, ROUND(IF(IFNULL(t3.consumed, 0) = 0, 0, IFNULL(t2.story, 0) / IFNULL(t3.consumed, 0)), 2) AS ratio\r\nFROM (SELECT YEAR(`date`) AS \'year\', MONTH(`date`) AS \'month\' FROM zt_action GROUP BY `year`,`month`) AS t1\r\nLEFT JOIN (SELECT ROUND(SUM(estimate)) AS story, YEAR(`closedDate`) AS \'year\', MONTH(`closedDate`) AS \'month\' FROM zt_story WHERE deleted = \'0\' AND closedReason = \'done\' AND status = \'closed\' GROUP BY `year`,`month`) AS t2 ON t1.`year` = t2.`year` AND t1.`month` = t2.`month`\r\nLEFT JOIN (SELECT ROUND(SUM(consumed)) as consumed, YEAR(`date`) as \'year\', MONTH(`date`) AS \'month\' FROM zt_effort WHERE deleted = \'0\' GROUP BY `year`,`month`) AS t3 ON t1.`year` = t3.`year` AND t1.`month` = t3.`month`',1,'','','1970-01-01 00:00:01','','1970-01-01 00:00:01',0), +(1085,'年度排行-项目集-预算投入榜',1,'bar',0,'','','{\"xaxis\":[{\"field\":\"program\",\"name\":\"项目集\"}],\"yaxis\":[{\"type\":\"value\",\"field\":\"budget\",\"agg\":\"value\",\"name\":\"预算\",\"valOrAgg\":\"value\"}]}','',NULL,'SELECT \r\n YEAR(t2.openedDate) AS `year`, \r\n t1.id,\r\n t1.name AS program, \r\n ROUND(\r\n SUM(\r\n IFNULL(t2.budget, 0)\r\n ) / 10000, \r\n 2\r\n ) AS budget \r\nFROM \r\n zt_project AS t1 \r\n LEFT JOIN zt_project AS t2 ON FIND_IN_SET(t1.id, t2.path) \r\n AND t2.deleted = \'0\' \r\n AND t2.type = \'project\' \r\nWHERE \r\n t1.deleted = \'0\' \r\n AND t1.type = \'program\' \r\n AND t1.grade = 1 \r\nGROUP BY \r\n `year`, \r\n id,\r\n program \r\nORDER BY \r\n `year`, \r\n budget DESC',1,'','','1970-01-01 00:00:01','','1970-01-01 00:00:01',0), +(1086,'年度排行-项目集-人员投入榜',1,'bar',0,'','','{\"xaxis\":[{\"field\":\"setName\",\"name\":\"项目集\"}],\"yaxis\":[{\"type\":\"value\",\"field\":\"number\",\"agg\":\"value\",\"name\":\"人数\",\"valOrAgg\":\"value\"}]}','','','SELECT tt.join as `year`, count(1) as number, tt.setName from (\r\nselect \r\nYEAR(t1.join) as `join`, t4.name as setName \r\nfrom zt_team t1 \r\nRIGHT JOIN zt_project t2 on t2.id = t1.root\r\nLEFT JOIN zt_project t4 on FIND_IN_SET(t4.id,t2.path) and t4.grade = 1\r\nRIGHT JOIN zt_user t3 on t3.account = t1.account\r\nWHERE t1.type = \'project\'\r\nAND t2.deleted = \'0\'\r\nAND t3.deleted = \'0\'\r\n) tt\r\nGROUP BY tt.setName, tt.join\r\nORDER BY tt.join, number desc, tt.setName',1,'','','1970-01-01 00:00:01','','1970-01-01 00:00:01',0), +(1087,'年度排行-项目集-工时消耗榜',1,'bar',0,'','','{\"xaxis\":[{\"field\":\"program\",\"name\":\"项目集\"}],\"yaxis\":[{\"type\":\"value\",\"field\":\"consumed\",\"agg\":\"value\",\"name\":\"消耗工时\",\"valOrAgg\":\"value\"}]}','',NULL,'SELECT \r\n YEAR(t5.date) AS `year`, \r\n t1.id,\r\n t1.name AS program, \r\n ROUND(\r\n SUM(t5.consumed), \r\n 2\r\n ) AS consumed \r\nFROM \r\n zt_project AS t1 \r\n LEFT JOIN zt_project AS t2 ON FIND_IN_SET(t1.id, t2.path) \r\n AND t2.deleted = \'0\' \r\n AND t2.type = \'project\' \r\n LEFT JOIN zt_project AS t3 ON t2.id = t3.parent \r\n AND t3.deleted = \'0\' \r\n AND t3.type IN (\'sprint\', \'stage\', \'kanban\') \r\n LEFT JOIN zt_task AS t4 ON t3.id = t4.execution \r\n AND t4.deleted = \'0\' \r\n AND t4.status != \'cancel\' \r\n LEFT JOIN zt_effort AS t5 ON t4.id = t5.objectID \r\n AND t5.deleted = \'0\' \r\n AND t5.objectType = \'task\' \r\nWHERE \r\n t1.deleted = \'0\' \r\n AND t1.type = \'program\' \r\n AND t1.grade = 1 \r\n AND t5.id IS NOT NULL \r\nGROUP BY \r\n `year`, \r\n id,\r\n program \r\nORDER BY \r\n `year`, \r\n consumed DESC',1,'','','1970-01-01 00:00:01','','1970-01-01 00:00:01',0), +(1088,'年度排行-项目集-新增需求条目榜',1,'bar',0,'','','{\"xaxis\":[{\"field\":\"program\",\"name\":\"项目集\"}],\"yaxis\":[{\"type\":\"value\",\"field\":\"story\",\"agg\":\"value\",\"name\":\"新增需求条数\",\"valOrAgg\":\"value\"}]}','',NULL,'SELECT \r\n YEAR(t3.openedDate) AS `year`,\r\n t1.id, \r\n t1.name AS program, \r\n COUNT(1) AS story \r\nFROM \r\n zt_project AS t1 \r\n LEFT JOIN zt_product AS t2 ON t1.id = t2.program \r\n AND t2.deleted = \'0\' \r\n LEFT JOIN zt_story AS t3 ON t2.id = t3.product \r\n AND t3.deleted = \'0\' \r\nWHERE \r\n t1.deleted = \'0\' \r\n AND t1.type = \'program\' \r\n AND t1.grade = 1 \r\n AND t3.id IS NOT NULL \r\nGROUP BY \r\n `year`, \r\n id,\r\n program \r\nORDER BY \r\n `year`, \r\n story DESC',1,'','','1970-01-01 00:00:01','','1970-01-01 00:00:01',0), +(1089,'年度排行-项目集-新增需求规模榜',1,'bar',0,'','','{\"xaxis\":[{\"field\":\"program\",\"name\":\"项目集\"}],\"yaxis\":[{\"type\":\"value\",\"field\":\"story\",\"agg\":\"value\",\"name\":\"新增需求规模\",\"valOrAgg\":\"value\"}]}','','','SELECT \r\n YEAR(t3.openedDate) AS `year`, \r\n t1.id,\r\n t1.name AS program, \r\n ROUND(\r\n SUM(t3.estimate), \r\n 2\r\n ) AS story \r\nFROM \r\n zt_project AS t1 \r\n LEFT JOIN zt_product AS t2 ON t1.id = t2.program \r\n AND t2.deleted = \'0\' \r\n LEFT JOIN zt_story AS t3 ON t2.id = t3.product \r\n AND t3.deleted = \'0\' \r\nWHERE \r\n t1.deleted = \'0\' \r\n AND t1.type = \'program\' \r\n AND t1.grade = 1 \r\n AND t3.id IS NOT NULL \r\nGROUP BY \r\n `year`,\r\n id, \r\n program \r\nORDER BY \r\n `year`, \r\n story DESC',1,'','','1970-01-01 00:00:01','','1970-01-01 00:00:01',0), +(1090,'年度排行-项目集-新增Bug条目榜',1,'bar',0,'','','{\"xaxis\":[{\"field\":\"program\",\"name\":\"项目集\"}],\"yaxis\":[{\"type\":\"value\",\"field\":\"bug\",\"agg\":\"value\",\"name\":\"新增Bug条目\",\"valOrAgg\":\"value\"}]}','',NULL,'SELECT \r\n YEAR(t3.openedDate) AS `year`,\r\n t1.id, \r\n t1.name AS program, \r\n COUNT(1) AS bug \r\nFROM \r\n zt_project AS t1 \r\n LEFT JOIN zt_product AS t2 ON t1.id = t2.program \r\n AND t2.deleted = \'0\' \r\n LEFT JOIN zt_bug AS t3 ON t2.id = t3.product \r\n AND t3.deleted = \'0\' \r\nWHERE \r\n t1.deleted = \'0\' \r\n AND t1.type = \'program\' \r\n AND t1.grade = 1 \r\n AND t3.id IS NOT NULL \r\nGROUP BY \r\n `year`, \r\n id,\r\n program \r\nORDER BY \r\n `year`, \r\n bug DESC',1,'','','1970-01-01 00:00:01','','1970-01-01 00:00:01',0), +(1091,'年度排行-项目集-完成需求条目榜',1,'bar',0,'','','{\"xaxis\":[{\"field\":\"program\",\"name\":\"项目集\"}],\"yaxis\":[{\"type\":\"value\",\"field\":\"story\",\"agg\":\"value\",\"name\":\"完成需求条目\",\"valOrAgg\":\"value\"}]}','',NULL,'SELECT \r\n YEAR(t3.closedDate) AS `year`, \r\n t1.id,\r\n t1.name AS program, \r\n COUNT(1) AS story \r\nFROM \r\n zt_project AS t1 \r\n LEFT JOIN zt_product AS t2 ON t1.id = t2.program \r\n AND t2.deleted = \'0\' \r\n LEFT JOIN zt_story AS t3 ON t2.id = t3.product \r\n AND t3.deleted = \'0\' \r\n AND t3.closedReason = \'done\' \r\nWHERE \r\n t1.deleted = \'0\' \r\n AND t1.type = \'program\' \r\n AND t1.grade = 1 \r\n AND t3.id IS NOT NULL \r\nGROUP BY \r\n `year`,\r\n id, \r\n program \r\nORDER BY \r\n `year`, \r\n story DESC',1,'','','1970-01-01 00:00:01','','1970-01-01 00:00:01',0), +(1092,'年度排行-项目集-完成需求规模榜',1,'bar',0,'','','{\"xaxis\":[{\"field\":\"program\",\"name\":\"项目集\"}],\"yaxis\":[{\"type\":\"value\",\"field\":\"story\",\"agg\":\"value\",\"name\":\"完成需求规模\",\"valOrAgg\":\"value\"}]}','',NULL,'SELECT \r\n YEAR(t3.closedDate) AS `year`, \r\n t1.id,\r\n t1.name AS program, \r\n ROUND(\r\n SUM(t3.estimate), \r\n 2\r\n ) AS story \r\nFROM \r\n zt_project AS t1 \r\n LEFT JOIN zt_product AS t2 ON t1.id = t2.program \r\n AND t2.deleted = \'0\' \r\n LEFT JOIN zt_story AS t3 ON t2.id = t3.product \r\n AND t3.deleted = \'0\' \r\n AND t3.closedReason = \'done\' \r\nWHERE \r\n t1.deleted = \'0\' \r\n AND t1.type = \'program\' \r\n AND t1.grade = 1 \r\n AND t3.id IS NOT NULL \r\nGROUP BY \r\n `year`, \r\n id,\r\n program \r\nORDER BY \r\n `year`, \r\n story DESC',1,'','','1970-01-01 00:00:01','','1970-01-01 00:00:01',0), +(1093,'年度排行-项目集-修复Bug条目榜',1,'bar',0,'','','{\"xaxis\":[{\"field\":\"program\",\"name\":\"项目集\"}],\"yaxis\":[{\"type\":\"value\",\"field\":\"bug\",\"agg\":\"value\",\"name\":\"修复Bug条目\",\"valOrAgg\":\"value\"}]}','','','SELECT \r\n YEAR(t3.closedDate) AS `year`,\r\n t1.id, \r\n t1.name AS program, \r\n COUNT(1) AS bug \r\nFROM \r\n zt_project AS t1 \r\n LEFT JOIN zt_product AS t2 ON t1.id = t2.program \r\n AND t2.deleted = \'0\' \r\n LEFT JOIN zt_bug AS t3 ON t2.id = t3.product \r\n AND t3.deleted = \'0\' \r\n AND t3.resolution = \'fixed\' \r\n AND t3.status = \'closed\' \r\nWHERE \r\n t1.deleted = \'0\' \r\n AND t1.type = \'program\' \r\n AND t1.grade = 1 \r\n AND t3.id IS NOT NULL \r\nGROUP BY \r\n `year`, \r\n id,\r\n program \r\nORDER BY \r\n `year`, \r\n bug DESC',1,'','','1970-01-01 00:00:01','','1970-01-01 00:00:01',0), +(1094,'年度排行-项目-工期榜',1,'bar',0,'','','{\"xaxis\":[{\"field\":\"name\",\"name\":\"项目\"}],\"yaxis\":[{\"type\":\"value\",\"field\":\"duration\",\"agg\":\"value\",\"name\":\"工期\",\"valOrAgg\":\"value\"}]}','',NULL,'SELECT `year`, id,name,status,realBegan,realEnd,IF(status = \'closed\', DATEDIFF(realEnd, realBegan), DATEDIFF(NOW(),realBegan)) as duration\r\nFROM (SELECT DISTINCT YEAR(`date`) as \'year\' FROM zt_action) AS t1\r\nLEFT JOIN zt_project AS t2 ON 1 = 1 WHERE deleted = \'0\' AND type = \'project\' AND YEAR(realBegan) <= `year` AND LEFT(realBegan, 4) != \'0000\' AND (status =\'doing\' OR (status = \'suspended\' AND YEAR(suspendedDate) >= `year`) OR (status = \'closed\' AND YEAR(realEnd) >= `year`)) HAVING 1=1 ORDER BY `year`, duration desc',1,'','','1970-01-01 00:00:01','','1970-01-01 00:00:01',0), +(1096,'年度排行-项目-工期偏差榜',1,'bar',0,'','','{\"xaxis\":[{\"field\":\"name\",\"name\":\"项目\"}],\"yaxis\":[{\"type\":\"value\",\"field\":\"duration\",\"agg\":\"value\",\"name\":\"工期\",\"valOrAgg\":\"value\"}]}','',NULL,'SELECT `year`, id,name,status,`begin`,`end`,realBegan,realEnd,\nROUND((IF(LEFT(realEnd,4) != \'0000\', DATEDIFF(realEnd, realBegan), DATEDIFF(NOW(),realBegan)) - DATEDIFF(`end`, `begin`)) / DATEDIFF(`end`,`begin`) * 100) as duration\nFROM (SELECT DISTINCT YEAR(`date`) as \'year\' FROM zt_action) AS t1\nLEFT JOIN zt_project AS t2 ON 1 = 1 \nWHERE deleted = \'0\' AND type = \'project\'\nAND YEAR(realBegan) <= `year` AND LEFT(realBegan, 4) != \'0000\'\nAND (YEAR(realEnd) >= `year` OR LEFT(realEnd, 4) = \'0000\') AND YEAR(`end`) != \'2059\'\nHAVING 1=1\nORDER BY duration ASC',1,'','','1970-01-01 00:00:01','','1970-01-01 00:00:01',0), +(1097,'年度排行-项目-人员投入榜',1,'bar',0,'','','{\"xaxis\":[{\"field\":\"name\",\"name\":\"项目\"}],\"yaxis\":[{\"type\":\"value\",\"field\":\"number\",\"agg\":\"value\",\"name\":\"人数\",\"valOrAgg\":\"value\"}]}','','','SELECT tt.join as `year`, count(1) as number, tt.name from (\r\nselect \r\nt2.name, YEAR(t1.join) as `join`\r\nfrom zt_team t1 \r\nRIGHT JOIN zt_project t2 on t2.id = t1.root\r\nRIGHT JOIN zt_user t3 on t3.account = t1.account\r\nWHERE t1.type = \'project\'\r\nAND t2.deleted = \'0\'\r\n) tt\r\nGROUP BY tt.`name`, tt.join\r\nORDER BY tt.join, number desc, tt.name',1,'','','1970-01-01 00:00:01','','1970-01-01 00:00:01',0), +(1098,'年度排行-项目-工时消耗榜',1,'bar',0,'','','{\"xaxis\":[{\"field\":\"project\",\"name\":\"项目\"}],\"yaxis\":[{\"type\":\"value\",\"field\":\"consumed\",\"agg\":\"value\",\"name\":\"消耗工时\",\"valOrAgg\":\"value\"}]}','',NULL,'SELECT \r\n YEAR(t4.date) AS `year`,\r\n t1.id, \r\n t1.name AS project, \r\n ROUND(\r\n SUM(t4.consumed), \r\n 2\r\n ) AS consumed \r\nFROM \r\n zt_project AS t1 \r\n LEFT JOIN zt_project AS t2 ON t1.id = t2.parent \r\n AND t2.deleted = \'0\' \r\n AND t2.type IN (\'sprint\', \'stage\', \'kanban\') \r\n LEFT JOIN zt_task AS t3 ON t2.id = t3.execution \r\n AND t3.deleted = \'0\' \r\n AND t3.status != \'cancel\' \r\n LEFT JOIN zt_effort AS t4 ON t3.id = t4.objectID \r\n AND t4.deleted = \'0\' \r\n AND t4.objectType = \'task\' \r\nWHERE \r\n t1.deleted = \'0\' \r\n AND t1.type = \'project\' \r\n AND t4.id IS NOT NULL \r\nGROUP BY \r\n `year`, \r\n id,\r\n project \r\nORDER BY \r\n `year`, \r\n consumed DESC',1,'','','1970-01-01 00:00:01','','1970-01-01 00:00:01',0), +(1099,'年度排行-项目-完成需求条目榜',1,'bar',0,'','','{\"xaxis\":[{\"field\":\"project\",\"name\":\"项目\"}],\"yaxis\":[{\"type\":\"value\",\"field\":\"story\",\"agg\":\"value\",\"name\":\"完成需求条目\",\"valOrAgg\":\"value\"}]}','',NULL,'SELECT \r\n YEAR(t1.closedDate) AS `year`, \r\n t1.id, \r\n t1.project, \r\n COUNT(1) AS story \r\nFROM \r\n (\r\n SELECT \r\n DISTINCT t1.id, \r\n t1.name AS project, \r\n t4.id AS story, \r\n t4.closedDate \r\n FROM \r\n zt_project AS t1 \r\n LEFT JOIN zt_project AS t2 ON t1.id = t2.parent \r\n AND t2.deleted = \'0\' \r\n AND t2.type IN (\'sprint\', \'stage\', \'kanban\') \r\n LEFT JOIN zt_projectstory AS t3 ON t2.id = t3.project \r\n LEFT JOIN zt_story AS t4 ON t3.story = t4.id \r\n AND t4.deleted = \'0\' \r\n AND t4.closedReason = \'done\' \r\n WHERE \r\n t1.deleted = \'0\' \r\n AND t1.type = \'project\' \r\n AND t4.id IS NOT NULL\r\n ) AS t1 \r\nGROUP BY \r\n `year`, \r\n id, \r\n project \r\nORDER BY \r\n `year`, \r\n story DESC',1,'','','1970-01-01 00:00:01','','1970-01-01 00:00:01',0), +(1100,'年度排行-项目-完成需求规模榜',1,'bar',0,'','','{\"xaxis\":[{\"field\":\"project\",\"name\":\"项目\"}],\"yaxis\":[{\"type\":\"value\",\"field\":\"story\",\"agg\":\"value\",\"name\":\"完成需求规模\",\"valOrAgg\":\"value\"}]}','',NULL,'SELECT \r\n YEAR(t1.closedDate) AS `year`, \r\n t1.id, \r\n t1.project, \r\n ROUND(\r\n SUM(t1.estimate), \r\n 2\r\n ) AS story \r\nFROM \r\n (\r\n SELECT \r\n DISTINCT t1.id, \r\n t1.name AS project, \r\n t4.id AS story, \r\n t4.estimate, \r\n t4.closedDate \r\n FROM \r\n zt_project AS t1 \r\n LEFT JOIN zt_project AS t2 ON t1.id = t2.parent \r\n AND t2.deleted = \'0\' \r\n AND t2.type IN (\'sprint\', \'stage\', \'kanban\') \r\n LEFT JOIN zt_projectstory AS t3 ON t2.id = t3.project \r\n LEFT JOIN zt_story AS t4 ON t3.story = t4.id \r\n AND t4.deleted = \'0\' \r\n AND t4.closedReason = \'done\' \r\n WHERE \r\n t1.deleted = \'0\' \r\n AND t1.type = \'project\' \r\n AND t4.id IS NOT NULL\r\n ) AS t1 \r\nGROUP BY \r\n `year`, \r\n id, \r\n project \r\nORDER BY \r\n `year`, \r\n story DESC',1,'','','1970-01-01 00:00:01','','1970-01-01 00:00:01',0), +(1101,'年度排行-产品-新增需求条目榜',1,'bar',0,'','','{\"xaxis\":[{\"field\":\"product\",\"name\":\"产品\"}],\"yaxis\":[{\"type\":\"value\",\"field\":\"story\",\"agg\":\"value\",\"name\":\"新增需求条目\",\"valOrAgg\":\"value\"}]}','',NULL,'SELECT YEAR(t2.openedDate) AS `year`, t1.id, t1.name AS product, COUNT(1) AS story\r\nFROM zt_product AS t1\r\nLEFT JOIN zt_story AS t2 ON t1.id = t2.product AND t2.deleted = \'0\'\r\nWHERE t1.deleted = \'0\' AND t1.shadow = \'0\' AND t1.vision = \'rnd\' AND t2.id IS NOT NULL\r\nGROUP BY `year`, id, product\r\nORDER BY `year`, story DESC',1,'','','1970-01-01 00:00:01','','1970-01-01 00:00:01',0), +(1102,'年度排行-产品-完成需求规模榜',1,'bar',0,'','','{\"xaxis\":[{\"field\":\"product\",\"name\":\"产品\"}],\"yaxis\":[{\"type\":\"value\",\"field\":\"story\",\"agg\":\"value\",\"name\":\"完成需求规模\",\"valOrAgg\":\"value\"}]}','',NULL,'SELECT YEAR(t2.closedDate) AS `year`, t1.id, t1.name AS product, ROUND(SUM(t2.estimate), 1) AS story\r\nFROM zt_product AS t1\r\nLEFT JOIN zt_story AS t2 ON t1.id = t2.product AND t2.deleted = \'0\' AND t2.closedReason = \'done\'\r\nWHERE t1.deleted = \'0\' AND t1.shadow = \'0\' AND t1.vision = \'rnd\' AND t2.id IS NOT NULL\r\nGROUP BY `year`, id, product\r\nORDER BY `year`, story DESC',1,'','','1970-01-01 00:00:01','','1970-01-01 00:00:01',0), +(1103,'年度排行-产品-新增Bug条目榜',1,'bar',0,'','','{\"xaxis\":[{\"field\":\"product\",\"name\":\"产品\"}],\"yaxis\":[{\"type\":\"value\",\"field\":\"bug\",\"agg\":\"value\",\"name\":\"新增Bug条目\",\"valOrAgg\":\"value\"}]}','',NULL,'SELECT YEAR(t2.openedDate) AS `year`, t1.id, t1.name AS product, COUNT(1) AS bug\r\nFROM zt_product AS t1\r\nLEFT JOIN zt_bug AS t2 ON t1.id = t2.product AND t2.deleted = \'0\'\r\nWHERE t1.deleted = \'0\' AND t1.shadow = \'0\' AND t1.vision = \'rnd\' AND t2.id IS NOT NULL\r\nGROUP BY `year`, id, product\r\nORDER BY `year`, bug DESC',1,'','','1970-01-01 00:00:01','','1970-01-01 00:00:01',0), +(1104,'年度排行-产品-修复Bug条目榜',1,'bar',0,'','','{\"xaxis\":[{\"field\":\"product\",\"name\":\"产品\"}],\"yaxis\":[{\"type\":\"value\",\"field\":\"bug\",\"agg\":\"value\",\"name\":\"修复Bug条目\",\"valOrAgg\":\"value\"}]}','',NULL,'SELECT YEAR(t2.closedDate) AS `year`, t1.id, t1.name AS product, COUNT(1) AS bug\r\nFROM zt_product AS t1\r\nLEFT JOIN zt_bug AS t2 ON t1.id = t2.product AND t2.deleted = \'0\' AND t2.resolution = \'fixed\' AND t2.status = \'closed\'\r\nWHERE t1.deleted = \'0\' AND t1.shadow = \'0\' AND t1.vision = \'rnd\' AND t2.id IS NOT NULL\r\nGROUP BY `year`, id, product\r\nORDER BY `year`, bug DESC',1,'','','1970-01-01 00:00:01','','1970-01-01 00:00:01',0), +(1105,'年度排行-个人-创建需求条目榜',1,'bar',0,'','','{\"xaxis\":[{\"field\":\"realname\",\"name\":\"用户\"}],\"yaxis\":[{\"type\":\"value\",\"field\":\"count\",\"agg\":\"value\",\"name\":\"创建需求条目\",\"valOrAgg\":\"value\"}]}','',NULL,'SELECT \r\nYEAR(t3.openedDate) AS `year`,t2.realname,count(1) AS count\r\nFROM zt_action AS t1 RIGHT JOIN zt_user AS t2 ON t1.actor=t2.account LEFT JOIN zt_story AS t3 ON t1.objectID=t3.id\r\nWHERE t1.objectType=\'story\' AND t1.action=\'opened\' AND t3.deleted=\'0\'\r\nGROUP BY `year`,t2.account ORDER BY `year`,count DESC',1,'','','1970-01-01 00:00:01','','1970-01-01 00:00:01',0), +(1106,'年度排行-个人-创建用例条目榜',1,'bar',0,'','','{\"xaxis\":[{\"field\":\"realname\",\"name\":\"用户\"}],\"yaxis\":[{\"type\":\"value\",\"field\":\"count\",\"agg\":\"value\",\"name\":\"创建需用例条目\",\"valOrAgg\":\"value\"}]}','','','SELECT \nYEAR(t3.openedDate) AS `year`,t2.realname,count(1) AS count\nFROM zt_action AS t1 RIGHT JOIN zt_user AS t2 ON t1.actor=t2.account LEFT JOIN zt_case AS t3 ON t1.objectID=t3.id\nWHERE t1.objectType=\'case\' AND t1.action=\'opened\' AND t3.deleted=\'0\'\nGROUP BY `year`,t2.account ORDER BY `year`,count DESC',1,'','','1970-01-01 00:00:01','','1970-01-01 00:00:01',0), +(1107,'年度排行-个人-创建Bug条目榜',1,'bar',0,'','','{\"xaxis\":[{\"field\":\"realname\",\"name\":\"用户\"}],\"yaxis\":[{\"type\":\"value\",\"field\":\"count\",\"agg\":\"value\",\"name\":\"创建Bug条目\",\"valOrAgg\":\"value\"}]}','',NULL,'SELECT \nYEAR(t3.openedDate) AS `year`,t2.realname,count(1) AS count\nFROM zt_action AS t1 RIGHT JOIN zt_user AS t2 ON t1.actor=t2.account LEFT JOIN zt_bug AS t3 ON t1.objectID=t3.id\nWHERE t1.objectType=\'bug\' AND t1.action=\'opened\' AND t3.deleted=\'0\'\nGROUP BY `year`,t2.account ORDER BY `year`,count DESC',1,'','','1970-01-01 00:00:01','','1970-01-01 00:00:01',0), +(1108,'年度排行-个人-修复Bug条目榜',1,'bar',0,'','','{\"xaxis\":[{\"field\":\"realname\",\"name\":\"用户\"}],\"yaxis\":[{\"type\":\"value\",\"field\":\"count\",\"agg\":\"value\",\"name\":\"修复Bug条目\",\"valOrAgg\":\"value\"}]}','',NULL,'SELECT \r\nYEAR(t3.openedDate) AS `year`,t2.realname,count(DISTINCT t3.id) AS count\r\nFROM zt_action AS t1 RIGHT JOIN zt_user AS t2 ON t1.actor=t2.account LEFT JOIN zt_bug AS t3 ON t1.objectID=t3.id\r\nWHERE t1.objectType=\'bug\' AND t1.action=\'resolved\' AND t3.deleted=\'0\'\r\nGROUP BY `year`,t2.account ORDER BY `year`,count DESC',1,'','','1970-01-01 00:00:01','','1970-01-01 00:00:01',0), +(1109,'年度排行-个人-工时消耗榜',1,'bar',0,'','','{\"xaxis\":[{\"field\":\"realname\",\"name\":\"用户\"}],\"yaxis\":[{\"type\":\"value\",\"field\":\"consumed\",\"agg\":\"value\",\"name\":\"消耗工时\",\"valOrAgg\":\"value\"}]}','',NULL,'SELECT YEAR(t1.date) AS `year`, t2.realname, ROUND(SUM(t1.consumed),1) AS consumed\nFROM zt_effort AS t1 LEFT JOIN zt_user AS t2 ON t1.account = t2.account\nWHERE t1.deleted = \'0\' AND t2.deleted = \'0\'\nGROUP BY `year`, realname\nORDER BY `year`, consumed DESC',1,'','','1970-01-01 00:00:01','','1970-01-01 00:00:01',0), +(1110,'年度排行-个人-禅道操作次数榜',1,'bar',0,'','','{\"xaxis\":[{\"field\":\"realname\",\"name\":\"用户\"}],\"yaxis\":[{\"type\":\"value\",\"field\":\"count\",\"agg\":\"value\",\"name\":\"操作次数\",\"valOrAgg\":\"value\"}]}','',NULL,'SELECT YEAR(t1.date) AS `year`,IFNULL(t2.realname,t1.actor) AS realname,count(1) AS count\r\nFROM zt_action t1 LEFT JOIN zt_user AS t2 ON t1.actor=t2.account\r\nGROUP BY `year`,t1.actor\r\nORDER BY `year`, `count` DESC',1,'','','1970-01-01 00:00:01','','1970-01-01 00:00:01',0); REPLACE INTO `zt_screen` (`id`, `dimension`, `name`, `desc`, `cover`, `scheme`, `createdBy`, `createdDate`, `editedBy`, `editedDate`, `deleted`) VALUES (1,1,'宏观数据盘点大屏','从宏观的角度快速的了解公司的现状','static/images/screen1.png','[\n {\n \"id\": \"5scfjzqsbzo000\",\n \"isGroup\": true,\n \"attr\": { \"w\": 1300, \"h\": 120, \"x\": 0, \"y\": 0, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"chartConfig\": { \"key\": \"group\", \"chartKey\": \"group\", \"conKey\": \"group\", \"category\": \"group\", \"categoryName\": \"group\", \"package\": \"group\", \"chartFrame\": \"common\", \"title\": \"标题\", \"image\": \"\" },\n \"groupList\": [\n {\n \"id\": \"2xjom2cw2b2000\",\n \"isGroup\": false,\n \"attr\": { \"x\": 0, \"y\": 0, \"w\": 1300, \"h\": 120, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"Image\",\n \"chartConfig\": { \"key\": \"Image\", \"chartKey\": \"VImage\", \"conKey\": \"VCImage\", \"title\": \"header\", \"category\": \"Mores\", \"categoryName\": \"更多\", \"package\": \"Informations\", \"chartFrame\": \"common\", \"image\": \"static/png/photo-637bc05d.png\" },\n \"option\": { \"dataset\": \"static/images/screen_header.png\", \"borderRadius\": 10 }\n },\n {\n \"id\": \"2nws38440fq000\",\n \"isGroup\": false,\n \"attr\": { \"x\": 360, \"y\": 36, \"w\": 500, \"h\": 66, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"TextCommon\",\n \"chartConfig\": { \"key\": \"TextCommon\", \"chartKey\": \"VTextCommon\", \"conKey\": \"VCTextCommon\", \"title\": \"title\", \"category\": \"Texts\", \"categoryName\": \"文本\", \"package\": \"Informations\", \"image\": \"static/png/text_static-b2721032.png\" },\n \"option\": { \"link\": \"\", \"linkHead\": \"http://\", \"dataset\": \"公司数据盘点大屏\", \"fontSize\": 20, \"fontColor\": \"#b2d5e5\", \"paddingX\": 10, \"paddingY\": 10, \"textAlign\": \"center\", \"fontWeight\": \"bold\", \"borderWidth\": 0, \"borderColor\": \"#ffffff\", \"borderRadius\": 5, \"letterSpacing\": 5, \"writingMode\": \"horizontal-tb\", \"backgroundColor\": \"#00000000\" }\n }\n ],\n \"key\": \"group\",\n \"option\": {}\n },\n {\n \"id\": \"1cfwp95aiif400\",\n \"isGroup\": false,\n \"attr\": { \"x\": 0, \"y\": 171, \"w\": 1000, \"h\": 480, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"Border03\",\n \"chartConfig\": { \"key\": \"Border03\", \"chartKey\": \"VBorder03\", \"conKey\": \"VCBorder03\", \"title\": \"summary\", \"category\": \"Borders\", \"categoryName\": \"边框\", \"package\": \"Decorates\", \"image\": \"\" },\n \"option\": { \"colors\": [ \"#00102800\", \"#00102800\" ], \"backgroundColor\": \"#0a1c38\" }\n },\n {\n \"id\": \"6scfjzqsbzo000\",\n \"isGroup\": true,\n \"attr\": { \"w\": 800, \"h\": 120, \"x\": 0, \"y\": 175, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"chartConfig\": { \"key\": \"group\", \"chartKey\": \"group\", \"conKey\": \"group\", \"category\": \"group\", \"categoryName\": \"group\", \"package\": \"group\", \"chartFrame\": \"common\", \"title\": \"标题\", \"image\": \"\" },\n \"groupList\": [\n {\n \"id\": \"57r67ykkwxk000\",\n \"isGroup\": false,\n \"attr\": { \"x\": 15, \"y\": 0, \"w\": 187, \"h\": 68, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"TextCommon\",\n \"chartConfig\": { \"key\": \"TextCommon\", \"chartKey\": \"VTextCommon\", \"conKey\": \"VCTextCommon\", \"title\": \"summary_top\", \"category\": \"Texts\", \"categoryName\": \"文本\", \"package\": \"Informations\", \"image\": \"static/png/text_static-b2721032.png\" },\n \"option\": { \"link\": \"\", \"linkHead\": \"http://\", \"dataset\": \"公司级数据概览\", \"fontSize\": 14, \"fontColor\": \"#b2d5e5\", \"paddingX\": 10, \"paddingY\": 10, \"textAlign\": \"left\", \"fontWeight\": \"bold\", \"borderWidth\": 0, \"borderColor\": \"#ffffff\", \"borderRadius\": 5, \"letterSpacing\": 5, \"writingMode\": \"horizontal-tb\", \"backgroundColor\": \"#00000000\" }\n },\n {\n \"id\": \"2xjom2cw2b2000\",\n \"isGroup\": false,\n \"attr\": { \"x\": 165, \"y\": 26, \"w\": 14, \"h\": 11, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"Image\",\n \"chartConfig\": { \"key\": \"Image\", \"chartKey\": \"VImage\", \"conKey\": \"VCImage\", \"title\": \"header\", \"category\": \"Mores\", \"categoryName\": \"更多\", \"package\": \"Informations\", \"chartFrame\": \"common\", \"image\": \"static/png/photo-637bc05d.png\" },\n \"option\": { \"dataset\": \"static/images/line_left.png\", \"borderRadius\": 0 }\n },\n {\n \"id\": \"3xjom2cw2b2000\",\n \"isGroup\": false,\n \"attr\": { \"x\": 165, \"y\": 28, \"w\": 800, \"h\": 10, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"Image\",\n \"chartConfig\": { \"key\": \"Image\", \"chartKey\": \"VImage\", \"conKey\": \"VCImage\", \"title\": \"header\", \"category\": \"Mores\", \"categoryName\": \"更多\", \"package\": \"Informations\", \"chartFrame\": \"common\", \"image\": \"static/png/photo-637bc05d.png\" },\n \"option\": { \"dataset\": \"static/images/line_right.png\", \"fit\": \"fill\", \"borderRadius\": 0 }\n }\n ],\n \"key\": \"group\",\n \"option\": {}\n },\n {\n \"id\": \"z3gs9qz8hq800\",\n \"isGroup\": true,\n \"attr\": { \"w\": 110, \"h\": 100, \"x\": 25, \"y\": 246, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"chartConfig\": { \"key\": \"group\", \"chartKey\": \"group\", \"conKey\": \"group\", \"category\": \"group\", \"categoryName\": \"group\", \"package\": \"group\", \"chartFrame\": \"common\", \"title\": \"一级项目集个数\", \"image\": \"\" },\n \"groupList\": [\n {\n \"id\": \"2xjom2cw2b2000\",\n \"isGroup\": false,\n \"attr\": { \"x\": 0, \"y\": 0, \"w\": 110, \"h\": 80, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"Image\",\n \"chartConfig\": { \"key\": \"Image\", \"chartKey\": \"VImage\", \"conKey\": \"VCImage\", \"title\": \"header\", \"category\": \"Mores\", \"categoryName\": \"更多\", \"package\": \"Informations\", \"chartFrame\": \"common\", \"image\": \"static/png/photo-637bc05d.png\" },\n \"option\": { \"dataset\": \"static/images/card.png\", \"borderRadius\": 0 }\n },\n {\n \"id\": \"3ef3nnqh7gu00\",\n \"sourceID\": 1018,\n \"isGroup\": false,\n \"attr\": { \"x\": 0, \"y\": 14, \"w\": 110, \"h\": 30, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"TextCommon\",\n \"chartConfig\": { \"key\": \"TextCommon\", \"chartKey\": \"VTextCommon\", \"conKey\": \"VCTextCommon\", \"title\": \"一级项目集个数\", \"category\": \"Texts\", \"categoryName\": \"文本\", \"package\": \"Informations\", \"image\": \"static/png/text_static-b2721032.png\" },\n \"option\": { \"link\": \"\", \"linkHead\": \"http://\", \"dataset\": \"\", \"fontSize\": 18, \"fontColor\": \"#ffffff\", \"paddingX\": 0, \"paddingY\": 0, \"textAlign\": \"center\", \"fontWeight\": \"bold\", \"borderWidth\": 0, \"borderColor\": \"#ffffff\", \"borderRadius\": 5, \"letterSpacing\": 5, \"writingMode\": \"horizontal-tb\", \"backgroundColor\": \"#00000000\" }\n },\n {\n \"id\": \"52mwo993eaw000\",\n \"isGroup\": false,\n \"attr\": { \"x\": 0, \"y\": 38, \"w\": 110, \"h\": 49, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"TextCommon\",\n \"chartConfig\": { \"key\": \"TextCommon\", \"chartKey\": \"VTextCommon\", \"conKey\": \"VCTextCommon\", \"title\": \"一级项目集个数\", \"category\": \"Texts\", \"categoryName\": \"文本\", \"package\": \"Informations\", \"image\": \"static/png/text_static-b2721032.png\" },\n \"option\": { \"link\": \"\", \"linkHead\": \"http://\", \"dataset\": \"一级项目集个数\", \"fontSize\": 9, \"fontColor\": \"#9abdcd\", \"paddingX\": 0, \"paddingY\": 0, \"textAlign\": \"center\", \"fontWeight\": \"bold\", \"borderWidth\": 0, \"borderColor\": \"#ffffff\", \"borderRadius\": 5, \"letterSpacing\": 1, \"writingMode\": \"horizontal-tb\", \"backgroundColor\": \"#00000000\" }\n }\n ],\n \"key\": \"group\",\n \"option\": {}\n },\n {\n \"id\": \"z3gs9qz8hq800\",\n \"isGroup\": true,\n \"attr\": { \"w\": 110, \"h\": 100, \"x\": 155, \"y\": 246, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"chartConfig\": { \"key\": \"group\", \"chartKey\": \"group\", \"conKey\": \"group\", \"category\": \"group\", \"categoryName\": \"group\", \"package\": \"group\", \"chartFrame\": \"common\", \"title\": \"项目个数\", \"image\": \"\" },\n \"groupList\": [\n {\n \"id\": \"2xjom2cw2b2000\",\n \"isGroup\": false,\n \"attr\": { \"x\": 0, \"y\": 0, \"w\": 110, \"h\": 80, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"Image\",\n \"chartConfig\": { \"key\": \"Image\", \"chartKey\": \"VImage\", \"conKey\": \"VCImage\", \"title\": \"header\", \"category\": \"Mores\", \"categoryName\": \"更多\", \"package\": \"Informations\", \"chartFrame\": \"common\", \"image\": \"static/png/photo-637bc05d.png\" },\n \"option\": { \"dataset\": \"static/images/card.png\", \"borderRadius\": 0 }\n },\n {\n \"id\": \"3ef3nnqh7gu00\",\n \"sourceID\": 1019,\n \"isGroup\": false,\n \"attr\": { \"x\": 0, \"y\": 14, \"w\": 110, \"h\": 30, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"TextCommon\",\n \"chartConfig\": { \"key\": \"TextCommon\", \"chartKey\": \"VTextCommon\", \"conKey\": \"VCTextCommon\", \"title\": \"项目个数\", \"category\": \"Texts\", \"categoryName\": \"文本\", \"package\": \"Informations\", \"image\": \"static/png/text_static-b2721032.png\" },\n \"option\": { \"link\": \"\", \"linkHead\": \"http://\", \"dataset\": \"100\", \"fontSize\": 18, \"fontColor\": \"#ffffff\", \"paddingX\": 0, \"paddingY\": 0, \"textAlign\": \"center\", \"fontWeight\": \"bold\", \"borderWidth\": 0, \"borderColor\": \"#ffffff\", \"borderRadius\": 5, \"letterSpacing\": 5, \"writingMode\": \"horizontal-tb\", \"backgroundColor\": \"#00000000\" }\n },\n {\n \"id\": \"52mwo993eaw000\",\n \"isGroup\": false,\n \"attr\": { \"x\": 0, \"y\": 38, \"w\": 110, \"h\": 49, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"TextCommon\",\n \"chartConfig\": { \"key\": \"TextCommon\", \"chartKey\": \"VTextCommon\", \"conKey\": \"VCTextCommon\", \"title\": \"项目个数\", \"category\": \"Texts\", \"categoryName\": \"文本\", \"package\": \"Informations\", \"image\": \"static/png/text_static-b2721032.png\" },\n \"option\": { \"link\": \"\", \"linkHead\": \"http://\", \"dataset\": \"项目个数\", \"fontSize\": 9, \"fontColor\": \"#9abdcd\", \"paddingX\": 0, \"paddingY\": 0, \"textAlign\": \"center\", \"fontWeight\": \"bold\", \"borderWidth\": 0, \"borderColor\": \"#ffffff\", \"borderRadius\": 5, \"letterSpacing\": 1, \"writingMode\": \"horizontal-tb\", \"backgroundColor\": \"#00000000\" }\n }\n ],\n \"key\": \"group\",\n \"option\": {}\n },\n {\n \"id\": \"z3gs9qz8hq800\",\n \"isGroup\": true,\n \"attr\": { \"w\": 110, \"h\": 100, \"x\": 285, \"y\": 246, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"chartConfig\": { \"key\": \"group\", \"chartKey\": \"group\", \"conKey\": \"group\", \"category\": \"group\", \"categoryName\": \"group\", \"package\": \"group\", \"chartFrame\": \"common\", \"title\": \"产品个数\", \"image\": \"\" },\n \"groupList\": [\n {\n \"id\": \"2xjom2cw2b2000\",\n \"isGroup\": false,\n \"attr\": { \"x\": 0, \"y\": 0, \"w\": 110, \"h\": 80, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"Image\",\n \"chartConfig\": { \"key\": \"Image\", \"chartKey\": \"VImage\", \"conKey\": \"VCImage\", \"title\": \"header\", \"category\": \"Mores\", \"categoryName\": \"更多\", \"package\": \"Informations\", \"chartFrame\": \"common\", \"image\": \"static/png/photo-637bc05d.png\" },\n \"option\": { \"dataset\": \"static/images/card.png\", \"borderRadius\": 0 }\n },\n {\n \"id\": \"3ef3nnqh7gu00\",\n \"sourceID\": 1020,\n \"isGroup\": false,\n \"attr\": { \"x\": 0, \"y\": 14, \"w\": 110, \"h\": 30, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"TextCommon\",\n \"chartConfig\": { \"key\": \"TextCommon\", \"chartKey\": \"VTextCommon\", \"conKey\": \"VCTextCommon\", \"title\": \"产品个数\", \"category\": \"Texts\", \"categoryName\": \"文本\", \"package\": \"Informations\", \"image\": \"static/png/text_static-b2721032.png\" },\n \"option\": { \"link\": \"\", \"linkHead\": \"http://\", \"dataset\": \"100\", \"fontSize\": 18, \"fontColor\": \"#ffffff\", \"paddingX\": 0, \"paddingY\": 0, \"textAlign\": \"center\", \"fontWeight\": \"bold\", \"borderWidth\": 0, \"borderColor\": \"#ffffff\", \"borderRadius\": 5, \"letterSpacing\": 5, \"writingMode\": \"horizontal-tb\", \"backgroundColor\": \"#00000000\" }\n },\n {\n \"id\": \"52mwo993eaw000\",\n \"isGroup\": false,\n \"attr\": { \"x\": 0, \"y\": 38, \"w\": 110, \"h\": 49, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"TextCommon\",\n \"chartConfig\": { \"key\": \"TextCommon\", \"chartKey\": \"VTextCommon\", \"conKey\": \"VCTextCommon\", \"title\": \"产品个数\", \"category\": \"Texts\", \"categoryName\": \"文本\", \"package\": \"Informations\", \"image\": \"static/png/text_static-b2721032.png\" },\n \"option\": { \"link\": \"\", \"linkHead\": \"http://\", \"dataset\": \"产品个数\", \"fontSize\": 9, \"fontColor\": \"#9abdcd\", \"paddingX\": 0, \"paddingY\": 0, \"textAlign\": \"center\", \"fontWeight\": \"bold\", \"borderWidth\": 0, \"borderColor\": \"#ffffff\", \"borderRadius\": 5, \"letterSpacing\": 1, \"writingMode\": \"horizontal-tb\", \"backgroundColor\": \"#00000000\" }\n }\n ],\n \"key\": \"group\",\n \"option\": {}\n },\n {\n \"id\": \"z3gs9qz8hq800\",\n \"isGroup\": true,\n \"attr\": { \"w\": 110, \"h\": 100, \"x\": 25, \"y\": 346, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"chartConfig\": { \"key\": \"group\", \"chartKey\": \"group\", \"conKey\": \"group\", \"category\": \"group\", \"categoryName\": \"group\", \"package\": \"group\", \"chartFrame\": \"common\", \"title\": \"计划个数\", \"image\": \"\" },\n \"groupList\": [\n {\n \"id\": \"2xjom2cw2b2000\",\n \"isGroup\": false,\n \"attr\": { \"x\": 0, \"y\": 0, \"w\": 110, \"h\": 80, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"Image\",\n \"chartConfig\": { \"key\": \"Image\", \"chartKey\": \"VImage\", \"conKey\": \"VCImage\", \"title\": \"header\", \"category\": \"Mores\", \"categoryName\": \"更多\", \"package\": \"Informations\", \"chartFrame\": \"common\", \"image\": \"static/png/photo-637bc05d.png\" },\n \"option\": { \"dataset\": \"static/images/card.png\", \"borderRadius\": 0 }\n },\n {\n \"id\": \"3ef3nnqh7gu00\",\n \"sourceID\": 1021,\n \"isGroup\": false,\n \"attr\": { \"x\": 0, \"y\": 14, \"w\": 110, \"h\": 30, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"TextCommon\",\n \"chartConfig\": { \"key\": \"TextCommon\", \"chartKey\": \"VTextCommon\", \"conKey\": \"VCTextCommon\", \"title\": \"计划个数\", \"category\": \"Texts\", \"categoryName\": \"文本\", \"package\": \"Informations\", \"image\": \"static/png/text_static-b2721032.png\" },\n \"option\": { \"link\": \"\", \"linkHead\": \"http://\", \"dataset\": \"100\", \"fontSize\": 18, \"fontColor\": \"#ffffff\", \"paddingX\": 0, \"paddingY\": 0, \"textAlign\": \"center\", \"fontWeight\": \"bold\", \"borderWidth\": 0, \"borderColor\": \"#ffffff\", \"borderRadius\": 5, \"letterSpacing\": 5, \"writingMode\": \"horizontal-tb\", \"backgroundColor\": \"#00000000\" }\n },\n {\n \"id\": \"52mwo993eaw000\",\n \"isGroup\": false,\n \"attr\": { \"x\": 0, \"y\": 38, \"w\": 110, \"h\": 49, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"TextCommon\",\n \"chartConfig\": { \"key\": \"TextCommon\", \"chartKey\": \"VTextCommon\", \"conKey\": \"VCTextCommon\", \"title\": \"计划个数\", \"category\": \"Texts\", \"categoryName\": \"文本\", \"package\": \"Informations\", \"image\": \"static/png/text_static-b2721032.png\" },\n \"option\": { \"link\": \"\", \"linkHead\": \"http://\", \"dataset\": \"计划个数\", \"fontSize\": 9, \"fontColor\": \"#9abdcd\", \"paddingX\": 0, \"paddingY\": 0, \"textAlign\": \"center\", \"fontWeight\": \"bold\", \"borderWidth\": 0, \"borderColor\": \"#ffffff\", \"borderRadius\": 5, \"letterSpacing\": 1, \"writingMode\": \"horizontal-tb\", \"backgroundColor\": \"#00000000\" }\n }\n ],\n \"key\": \"group\",\n \"option\": {}\n },\n {\n \"id\": \"z3gs9qz8hq800\",\n \"isGroup\": true,\n \"attr\": { \"w\": 110, \"h\": 100, \"x\": 155, \"y\": 346, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"chartConfig\": { \"key\": \"group\", \"chartKey\": \"group\", \"conKey\": \"group\", \"category\": \"group\", \"categoryName\": \"group\", \"package\": \"group\", \"chartFrame\": \"common\", \"title\": \"执行个数\", \"image\": \"\" },\n \"groupList\": [\n {\n \"id\": \"2xjom2cw2b2000\",\n \"isGroup\": false,\n \"attr\": { \"x\": 0, \"y\": 0, \"w\": 110, \"h\": 80, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"Image\",\n \"chartConfig\": { \"key\": \"Image\", \"chartKey\": \"VImage\", \"conKey\": \"VCImage\", \"title\": \"header\", \"category\": \"Mores\", \"categoryName\": \"更多\", \"package\": \"Informations\", \"chartFrame\": \"common\", \"image\": \"static/png/photo-637bc05d.png\" },\n \"option\": { \"dataset\": \"static/images/card.png\", \"borderRadius\": 0 }\n },\n {\n \"id\": \"3ef3nnqh7gu00\",\n \"sourceID\": 1022,\n \"isGroup\": false,\n \"attr\": { \"x\": 0, \"y\": 14, \"w\": 110, \"h\": 30, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"TextCommon\",\n \"chartConfig\": { \"key\": \"TextCommon\", \"chartKey\": \"VTextCommon\", \"conKey\": \"VCTextCommon\", \"title\": \"执行个数\", \"category\": \"Texts\", \"categoryName\": \"文本\", \"package\": \"Informations\", \"image\": \"static/png/text_static-b2721032.png\" },\n \"option\": { \"link\": \"\", \"linkHead\": \"http://\", \"dataset\": \"100\", \"fontSize\": 18, \"fontColor\": \"#ffffff\", \"paddingX\": 0, \"paddingY\": 0, \"textAlign\": \"center\", \"fontWeight\": \"bold\", \"borderWidth\": 0, \"borderColor\": \"#ffffff\", \"borderRadius\": 5, \"letterSpacing\": 5, \"writingMode\": \"horizontal-tb\", \"backgroundColor\": \"#00000000\" }\n },\n {\n \"id\": \"52mwo993eaw000\",\n \"isGroup\": false,\n \"attr\": { \"x\": 0, \"y\": 38, \"w\": 110, \"h\": 49, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"TextCommon\",\n \"chartConfig\": { \"key\": \"TextCommon\", \"chartKey\": \"VTextCommon\", \"conKey\": \"VCTextCommon\", \"title\": \"执行个数\", \"category\": \"Texts\", \"categoryName\": \"文本\", \"package\": \"Informations\", \"image\": \"static/png/text_static-b2721032.png\" },\n \"option\": { \"link\": \"\", \"linkHead\": \"http://\", \"dataset\": \"执行个数\", \"fontSize\": 9, \"fontColor\": \"#9abdcd\", \"paddingX\": 0, \"paddingY\": 0, \"textAlign\": \"center\", \"fontWeight\": \"bold\", \"borderWidth\": 0, \"borderColor\": \"#ffffff\", \"borderRadius\": 5, \"letterSpacing\": 1, \"writingMode\": \"horizontal-tb\", \"backgroundColor\": \"#00000000\" }\n }\n ],\n \"key\": \"group\",\n \"option\": {}\n },\n {\n \"id\": \"z3gs9qz8hq800\",\n \"isGroup\": true,\n \"attr\": { \"w\": 110, \"h\": 100, \"x\": 285, \"y\": 346, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"chartConfig\": { \"key\": \"group\", \"chartKey\": \"group\", \"conKey\": \"group\", \"category\": \"group\", \"categoryName\": \"group\", \"package\": \"group\", \"chartFrame\": \"common\", \"title\": \"发布个数\", \"image\": \"\" },\n \"groupList\": [\n {\n \"id\": \"2xjom2cw2b2000\",\n \"isGroup\": false,\n \"attr\": { \"x\": 0, \"y\": 0, \"w\": 110, \"h\": 80, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"Image\",\n \"chartConfig\": { \"key\": \"Image\", \"chartKey\": \"VImage\", \"conKey\": \"VCImage\", \"title\": \"header\", \"category\": \"Mores\", \"categoryName\": \"更多\", \"package\": \"Informations\", \"chartFrame\": \"common\", \"image\": \"static/png/photo-637bc05d.png\" },\n \"option\": { \"dataset\": \"static/images/card.png\", \"borderRadius\": 0 }\n },\n {\n \"id\": \"3ef3nnqh7gu00\",\n \"sourceID\": 1023,\n \"isGroup\": false,\n \"attr\": { \"x\": 0, \"y\": 14, \"w\": 110, \"h\": 30, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"TextCommon\",\n \"chartConfig\": { \"key\": \"TextCommon\", \"chartKey\": \"VTextCommon\", \"conKey\": \"VCTextCommon\", \"title\": \"发布个数\", \"category\": \"Texts\", \"categoryName\": \"文本\", \"package\": \"Informations\", \"image\": \"static/png/text_static-b2721032.png\" },\n \"option\": { \"link\": \"\", \"linkHead\": \"http://\", \"dataset\": \"100\", \"fontSize\": 18, \"fontColor\": \"#ffffff\", \"paddingX\": 0, \"paddingY\": 0, \"textAlign\": \"center\", \"fontWeight\": \"bold\", \"borderWidth\": 0, \"borderColor\": \"#ffffff\", \"borderRadius\": 5, \"letterSpacing\": 5, \"writingMode\": \"horizontal-tb\", \"backgroundColor\": \"#00000000\" }\n },\n {\n \"id\": \"52mwo993eaw000\",\n \"isGroup\": false,\n \"attr\": { \"x\": 0, \"y\": 38, \"w\": 110, \"h\": 49, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"TextCommon\",\n \"chartConfig\": { \"key\": \"TextCommon\", \"chartKey\": \"VTextCommon\", \"conKey\": \"VCTextCommon\", \"title\": \"发布个数\", \"category\": \"Texts\", \"categoryName\": \"文本\", \"package\": \"Informations\", \"image\": \"static/png/text_static-b2721032.png\" },\n \"option\": { \"link\": \"\", \"linkHead\": \"http://\", \"dataset\": \"发布个数\", \"fontSize\": 9, \"fontColor\": \"#9abdcd\", \"paddingX\": 0, \"paddingY\": 0, \"textAlign\": \"center\", \"fontWeight\": \"bold\", \"borderWidth\": 0, \"borderColor\": \"#ffffff\", \"borderRadius\": 5, \"letterSpacing\": 1, \"writingMode\": \"horizontal-tb\", \"backgroundColor\": \"#00000000\" }\n }\n ],\n \"key\": \"group\",\n \"option\": {}\n },\n {\n \"id\": \"z3gs9qz8hq800\",\n \"isGroup\": true,\n \"attr\": { \"w\": 110, \"h\": 100, \"x\": 25, \"y\": 446, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"chartConfig\": { \"key\": \"group\", \"chartKey\": \"group\", \"conKey\": \"group\", \"category\": \"group\", \"categoryName\": \"group\", \"package\": \"group\", \"chartFrame\": \"common\", \"title\": \"需求个数\", \"image\": \"\" },\n \"groupList\": [\n {\n \"id\": \"2xjom2cw2b2000\",\n \"isGroup\": false,\n \"attr\": { \"x\": 0, \"y\": 0, \"w\": 110, \"h\": 80, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"Image\",\n \"chartConfig\": { \"key\": \"Image\", \"chartKey\": \"VImage\", \"conKey\": \"VCImage\", \"title\": \"header\", \"category\": \"Mores\", \"categoryName\": \"更多\", \"package\": \"Informations\", \"chartFrame\": \"common\", \"image\": \"static/png/photo-637bc05d.png\" },\n \"option\": { \"dataset\": \"static/images/card.png\", \"borderRadius\": 0 }\n },\n {\n \"id\": \"3ef3nnqh7gu00\",\n \"sourceID\": 1024,\n \"isGroup\": false,\n \"attr\": { \"x\": 0, \"y\": 14, \"w\": 110, \"h\": 30, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"TextCommon\",\n \"chartConfig\": { \"key\": \"TextCommon\", \"chartKey\": \"VTextCommon\", \"conKey\": \"VCTextCommon\", \"title\": \"需求个数\", \"category\": \"Texts\", \"categoryName\": \"文本\", \"package\": \"Informations\", \"image\": \"static/png/text_static-b2721032.png\" },\n \"option\": { \"link\": \"\", \"linkHead\": \"http://\", \"dataset\": \"100\", \"fontSize\": 18, \"fontColor\": \"#ffffff\", \"paddingX\": 0, \"paddingY\": 0, \"textAlign\": \"center\", \"fontWeight\": \"bold\", \"borderWidth\": 0, \"borderColor\": \"#ffffff\", \"borderRadius\": 5, \"letterSpacing\": 5, \"writingMode\": \"horizontal-tb\", \"backgroundColor\": \"#00000000\" }\n },\n {\n \"id\": \"52mwo993eaw000\",\n \"isGroup\": false,\n \"attr\": { \"x\": 0, \"y\": 38, \"w\": 110, \"h\": 49, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"TextCommon\",\n \"chartConfig\": { \"key\": \"TextCommon\", \"chartKey\": \"VTextCommon\", \"conKey\": \"VCTextCommon\", \"title\": \"需求个数\", \"category\": \"Texts\", \"categoryName\": \"文本\", \"package\": \"Informations\", \"image\": \"static/png/text_static-b2721032.png\" },\n \"option\": { \"link\": \"\", \"linkHead\": \"http://\", \"dataset\": \"需求个数\", \"fontSize\": 9, \"fontColor\": \"#9abdcd\", \"paddingX\": 0, \"paddingY\": 0, \"textAlign\": \"center\", \"fontWeight\": \"bold\", \"borderWidth\": 0, \"borderColor\": \"#ffffff\", \"borderRadius\": 5, \"letterSpacing\": 1, \"writingMode\": \"horizontal-tb\", \"backgroundColor\": \"#00000000\" }\n }\n ],\n \"key\": \"group\",\n \"option\": {}\n },\n {\n \"id\": \"z3gs9qz8hq800\",\n \"isGroup\": true,\n \"attr\": { \"w\": 110, \"h\": 100, \"x\": 155, \"y\": 446, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"chartConfig\": { \"key\": \"group\", \"chartKey\": \"group\", \"conKey\": \"group\", \"category\": \"group\", \"categoryName\": \"group\", \"package\": \"group\", \"chartFrame\": \"common\", \"title\": \"任务个数\", \"image\": \"\" },\n \"groupList\": [\n {\n \"id\": \"2xjom2cw2b2000\",\n \"isGroup\": false,\n \"attr\": { \"x\": 0, \"y\": 0, \"w\": 110, \"h\": 80, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"Image\",\n \"chartConfig\": { \"key\": \"Image\", \"chartKey\": \"VImage\", \"conKey\": \"VCImage\", \"title\": \"header\", \"category\": \"Mores\", \"categoryName\": \"更多\", \"package\": \"Informations\", \"chartFrame\": \"common\", \"image\": \"static/png/photo-637bc05d.png\" },\n \"option\": { \"dataset\": \"static/images/card.png\", \"borderRadius\": 0 }\n },\n {\n \"id\": \"3ef3nnqh7gu00\",\n \"sourceID\": 1025,\n \"isGroup\": false,\n \"attr\": { \"x\": 0, \"y\": 14, \"w\": 110, \"h\": 30, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"TextCommon\",\n \"chartConfig\": { \"key\": \"TextCommon\", \"chartKey\": \"VTextCommon\", \"conKey\": \"VCTextCommon\", \"title\": \"任务个数\", \"category\": \"Texts\", \"categoryName\": \"文本\", \"package\": \"Informations\", \"image\": \"static/png/text_static-b2721032.png\" },\n \"option\": { \"link\": \"\", \"linkHead\": \"http://\", \"dataset\": \"100\", \"fontSize\": 18, \"fontColor\": \"#ffffff\", \"paddingX\": 0, \"paddingY\": 0, \"textAlign\": \"center\", \"fontWeight\": \"bold\", \"borderWidth\": 0, \"borderColor\": \"#ffffff\", \"borderRadius\": 5, \"letterSpacing\": 5, \"writingMode\": \"horizontal-tb\", \"backgroundColor\": \"#00000000\" }\n },\n {\n \"id\": \"52mwo993eaw000\",\n \"isGroup\": false,\n \"attr\": { \"x\": 0, \"y\": 38, \"w\": 110, \"h\": 49, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"TextCommon\",\n \"chartConfig\": { \"key\": \"TextCommon\", \"chartKey\": \"VTextCommon\", \"conKey\": \"VCTextCommon\", \"title\": \"任务个数\", \"category\": \"Texts\", \"categoryName\": \"文本\", \"package\": \"Informations\", \"image\": \"static/png/text_static-b2721032.png\" },\n \"option\": { \"link\": \"\", \"linkHead\": \"http://\", \"dataset\": \"任务个数\", \"fontSize\": 9, \"fontColor\": \"#9abdcd\", \"paddingX\": 0, \"paddingY\": 0, \"textAlign\": \"center\", \"fontWeight\": \"bold\", \"borderWidth\": 0, \"borderColor\": \"#ffffff\", \"borderRadius\": 5, \"letterSpacing\": 1, \"writingMode\": \"horizontal-tb\", \"backgroundColor\": \"#00000000\" }\n }\n ],\n \"key\": \"group\",\n \"option\": {}\n },\n {\n \"id\": \"z3gs9qz8hq800\",\n \"isGroup\": true,\n \"attr\": { \"w\": 110, \"h\": 100, \"x\": 285, \"y\": 446, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"chartConfig\": { \"key\": \"group\", \"chartKey\": \"group\", \"conKey\": \"group\", \"category\": \"group\", \"categoryName\": \"group\", \"package\": \"group\", \"chartFrame\": \"common\", \"title\": \"缺陷个数\", \"image\": \"\" },\n \"groupList\": [\n {\n \"id\": \"2xjom2cw2b2000\",\n \"isGroup\": false,\n \"attr\": { \"x\": 0, \"y\": 0, \"w\": 110, \"h\": 80, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"Image\",\n \"chartConfig\": { \"key\": \"Image\", \"chartKey\": \"VImage\", \"conKey\": \"VCImage\", \"title\": \"header\", \"category\": \"Mores\", \"categoryName\": \"更多\", \"package\": \"Informations\", \"chartFrame\": \"common\", \"image\": \"static/png/photo-637bc05d.png\" },\n \"option\": { \"dataset\": \"static/images/card.png\", \"borderRadius\": 0 }\n },\n {\n \"id\": \"3ef3nnqh7gu00\",\n \"sourceID\": 1026,\n \"isGroup\": false,\n \"attr\": { \"x\": 0, \"y\": 14, \"w\": 110, \"h\": 30, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"TextCommon\",\n \"chartConfig\": { \"key\": \"TextCommon\", \"chartKey\": \"VTextCommon\", \"conKey\": \"VCTextCommon\", \"title\": \"缺陷个数\", \"category\": \"Texts\", \"categoryName\": \"文本\", \"package\": \"Informations\", \"image\": \"static/png/text_static-b2721032.png\" },\n \"option\": { \"link\": \"\", \"linkHead\": \"http://\", \"dataset\": \"100\", \"fontSize\": 18, \"fontColor\": \"#ffffff\", \"paddingX\": 0, \"paddingY\": 0, \"textAlign\": \"center\", \"fontWeight\": \"bold\", \"borderWidth\": 0, \"borderColor\": \"#ffffff\", \"borderRadius\": 5, \"letterSpacing\": 5, \"writingMode\": \"horizontal-tb\", \"backgroundColor\": \"#00000000\" }\n },\n {\n \"id\": \"52mwo993eaw000\",\n \"isGroup\": false,\n \"attr\": { \"x\": 0, \"y\": 38, \"w\": 110, \"h\": 49, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"TextCommon\",\n \"chartConfig\": { \"key\": \"TextCommon\", \"chartKey\": \"VTextCommon\", \"conKey\": \"VCTextCommon\", \"title\": \"缺陷个数\", \"category\": \"Texts\", \"categoryName\": \"文本\", \"package\": \"Informations\", \"image\": \"static/png/text_static-b2721032.png\" },\n \"option\": { \"link\": \"\", \"linkHead\": \"http://\", \"dataset\": \"缺陷个数\", \"fontSize\": 9, \"fontColor\": \"#9abdcd\", \"paddingX\": 0, \"paddingY\": 0, \"textAlign\": \"center\", \"fontWeight\": \"bold\", \"borderWidth\": 0, \"borderColor\": \"#ffffff\", \"borderRadius\": 5, \"letterSpacing\": 1, \"writingMode\": \"horizontal-tb\", \"backgroundColor\": \"#00000000\" }\n }\n ],\n \"key\": \"group\",\n \"option\": {}\n },\n {\n \"id\": \"z3gs9qz8hq800\",\n \"isGroup\": true,\n \"attr\": { \"w\": 110, \"h\": 100, \"x\": 25, \"y\": 546, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"chartConfig\": { \"key\": \"group\", \"chartKey\": \"group\", \"conKey\": \"group\", \"category\": \"group\", \"categoryName\": \"group\", \"package\": \"group\", \"chartFrame\": \"common\", \"title\": \"文档个数\", \"image\": \"\" },\n \"groupList\": [\n {\n \"id\": \"2xjom2cw2b2000\",\n \"isGroup\": false,\n \"attr\": { \"x\": 0, \"y\": 0, \"w\": 110, \"h\": 80, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"Image\",\n \"chartConfig\": { \"key\": \"Image\", \"chartKey\": \"VImage\", \"conKey\": \"VCImage\", \"title\": \"header\", \"category\": \"Mores\", \"categoryName\": \"更多\", \"package\": \"Informations\", \"chartFrame\": \"common\", \"image\": \"static/png/photo-637bc05d.png\" },\n \"option\": { \"dataset\": \"static/images/card.png\", \"borderRadius\": 0 }\n },\n {\n \"id\": \"3ef3nnqh7gu00\",\n \"sourceID\": 1027,\n \"isGroup\": false,\n \"attr\": { \"x\": 0, \"y\": 14, \"w\": 110, \"h\": 30, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"TextCommon\",\n \"chartConfig\": { \"key\": \"TextCommon\", \"chartKey\": \"VTextCommon\", \"conKey\": \"VCTextCommon\", \"title\": \"文档个数\", \"category\": \"Texts\", \"categoryName\": \"文本\", \"package\": \"Informations\", \"image\": \"static/png/text_static-b2721032.png\" },\n \"option\": { \"link\": \"\", \"linkHead\": \"http://\", \"dataset\": \"100\", \"fontSize\": 18, \"fontColor\": \"#ffffff\", \"paddingX\": 0, \"paddingY\": 0, \"textAlign\": \"center\", \"fontWeight\": \"bold\", \"borderWidth\": 0, \"borderColor\": \"#ffffff\", \"borderRadius\": 5, \"letterSpacing\": 5, \"writingMode\": \"horizontal-tb\", \"backgroundColor\": \"#00000000\" }\n },\n {\n \"id\": \"52mwo993eaw000\",\n \"isGroup\": false,\n \"attr\": { \"x\": 0, \"y\": 38, \"w\": 110, \"h\": 49, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"TextCommon\",\n \"chartConfig\": { \"key\": \"TextCommon\", \"chartKey\": \"VTextCommon\", \"conKey\": \"VCTextCommon\", \"title\": \"文档个数\", \"category\": \"Texts\", \"categoryName\": \"文本\", \"package\": \"Informations\", \"image\": \"static/png/text_static-b2721032.png\" },\n \"option\": { \"link\": \"\", \"linkHead\": \"http://\", \"dataset\": \"文档个数\", \"fontSize\": 9, \"fontColor\": \"#9abdcd\", \"paddingX\": 0, \"paddingY\": 0, \"textAlign\": \"center\", \"fontWeight\": \"bold\", \"borderWidth\": 0, \"borderColor\": \"#ffffff\", \"borderRadius\": 5, \"letterSpacing\": 1, \"writingMode\": \"horizontal-tb\", \"backgroundColor\": \"#00000000\" }\n }\n ],\n \"key\": \"group\",\n \"option\": {}\n },\n {\n \"id\": \"z3gs9qz8hq800\",\n \"isGroup\": true,\n \"attr\": { \"w\": 110, \"h\": 100, \"x\": 155, \"y\": 546, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"chartConfig\": { \"key\": \"group\", \"chartKey\": \"group\", \"conKey\": \"group\", \"category\": \"group\", \"categoryName\": \"group\", \"package\": \"group\", \"chartFrame\": \"common\", \"title\": \"现有人员个数\", \"image\": \"\" },\n \"groupList\": [\n {\n \"id\": \"2xjom2cw2b2000\",\n \"isGroup\": false,\n \"attr\": { \"x\": 0, \"y\": 0, \"w\": 110, \"h\": 80, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"Image\",\n \"chartConfig\": { \"key\": \"Image\", \"chartKey\": \"VImage\", \"conKey\": \"VCImage\", \"title\": \"header\", \"category\": \"Mores\", \"categoryName\": \"更多\", \"package\": \"Informations\", \"chartFrame\": \"common\", \"image\": \"static/png/photo-637bc05d.png\" },\n \"option\": { \"dataset\": \"static/images/card.png\", \"borderRadius\": 0 }\n },\n {\n \"id\": \"3ef3nnqh7gu00\",\n \"sourceID\": 1028,\n \"isGroup\": false,\n \"attr\": { \"x\": 0, \"y\": 14, \"w\": 110, \"h\": 30, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"TextCommon\",\n \"chartConfig\": { \"key\": \"TextCommon\", \"chartKey\": \"VTextCommon\", \"conKey\": \"VCTextCommon\", \"title\": \"现有人员个数\", \"category\": \"Texts\", \"categoryName\": \"文本\", \"package\": \"Informations\", \"image\": \"static/png/text_static-b2721032.png\" },\n \"option\": { \"link\": \"\", \"linkHead\": \"http://\", \"dataset\": \"100\", \"fontSize\": 18, \"fontColor\": \"#ffffff\", \"paddingX\": 0, \"paddingY\": 0, \"textAlign\": \"center\", \"fontWeight\": \"bold\", \"borderWidth\": 0, \"borderColor\": \"#ffffff\", \"borderRadius\": 5, \"letterSpacing\": 5, \"writingMode\": \"horizontal-tb\", \"backgroundColor\": \"#00000000\" }\n },\n {\n \"id\": \"52mwo993eaw000\",\n \"isGroup\": false,\n \"attr\": { \"x\": 0, \"y\": 38, \"w\": 110, \"h\": 49, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"TextCommon\",\n \"chartConfig\": { \"key\": \"TextCommon\", \"chartKey\": \"VTextCommon\", \"conKey\": \"VCTextCommon\", \"title\": \"现有人员个数\", \"category\": \"Texts\", \"categoryName\": \"文本\", \"package\": \"Informations\", \"image\": \"static/png/text_static-b2721032.png\" },\n \"option\": { \"link\": \"\", \"linkHead\": \"http://\", \"dataset\": \"现有人员个数\", \"fontSize\": 9, \"fontColor\": \"#9abdcd\", \"paddingX\": 0, \"paddingY\": 0, \"textAlign\": \"center\", \"fontWeight\": \"bold\", \"borderWidth\": 0, \"borderColor\": \"#ffffff\", \"borderRadius\": 5, \"letterSpacing\": 1, \"writingMode\": \"horizontal-tb\", \"backgroundColor\": \"#00000000\" }\n }\n ],\n \"key\": \"group\",\n \"option\": {}\n },\n {\n \"id\": \"z3gs9qz8hq800\",\n \"isGroup\": true,\n \"attr\": { \"w\": 110, \"h\": 100, \"x\": 285, \"y\": 546, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"chartConfig\": { \"key\": \"group\", \"chartKey\": \"group\", \"conKey\": \"group\", \"category\": \"group\", \"categoryName\": \"group\", \"package\": \"group\", \"chartFrame\": \"common\", \"title\": \"累计消耗工时\", \"image\": \"\" },\n \"groupList\": [\n {\n \"id\": \"2xjom2cw2b2000\",\n \"isGroup\": false,\n \"attr\": { \"x\": 0, \"y\": 0, \"w\": 110, \"h\": 80, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"Image\",\n \"chartConfig\": { \"key\": \"Image\", \"chartKey\": \"VImage\", \"conKey\": \"VCImage\", \"title\": \"header\", \"category\": \"Mores\", \"categoryName\": \"更多\", \"package\": \"Informations\", \"chartFrame\": \"common\", \"image\": \"static/png/photo-637bc05d.png\" },\n \"option\": { \"dataset\": \"static/images/card.png\", \"borderRadius\": 0 }\n },\n {\n \"id\": \"3ef3nnqh7gu00\",\n \"sourceID\": 1029,\n \"isGroup\": false,\n \"attr\": { \"x\": 0, \"y\": 14, \"w\": 110, \"h\": 30, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"TextCommon\",\n \"chartConfig\": { \"key\": \"TextCommon\", \"chartKey\": \"VTextCommon\", \"conKey\": \"VCTextCommon\", \"title\": \"累计消耗工时\", \"category\": \"Texts\", \"categoryName\": \"文本\", \"package\": \"Informations\", \"image\": \"static/png/text_static-b2721032.png\" },\n \"option\": { \"link\": \"\", \"linkHead\": \"http://\", \"dataset\": \"\", \"fontSize\": 18, \"fontColor\": \"#ffffff\", \"paddingX\": 0, \"paddingY\": 0, \"textAlign\": \"center\", \"fontWeight\": \"bold\", \"borderWidth\": 0, \"borderColor\": \"#ffffff\", \"borderRadius\": 5, \"letterSpacing\": 5, \"writingMode\": \"horizontal-tb\", \"backgroundColor\": \"#00000000\" }\n },\n {\n \"id\": \"52mwo993eaw000\",\n \"isGroup\": false,\n \"attr\": { \"x\": 0, \"y\": 38, \"w\": 110, \"h\": 49, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"TextCommon\",\n \"chartConfig\": { \"key\": \"TextCommon\", \"chartKey\": \"VTextCommon\", \"conKey\": \"VCTextCommon\", \"title\": \"累计消耗工时\", \"category\": \"Texts\", \"categoryName\": \"文本\", \"package\": \"Informations\", \"image\": \"static/png/text_static-b2721032.png\" },\n \"option\": { \"link\": \"\", \"linkHead\": \"http://\", \"dataset\": \"累计消耗工时\", \"fontSize\": 9, \"fontColor\": \"#9abdcd\", \"paddingX\": 0, \"paddingY\": 0, \"textAlign\": \"center\", \"fontWeight\": \"bold\", \"borderWidth\": 0, \"borderColor\": \"#ffffff\", \"borderRadius\": 5, \"letterSpacing\": 1, \"writingMode\": \"horizontal-tb\", \"backgroundColor\": \"#00000000\" }\n }\n ],\n \"key\": \"group\",\n \"option\": {}\n },\n {\n \"id\": \"3v5jz5hzz0c000\",\n \"isGroup\": true,\n \"attr\": { \"w\": 211, \"h\": 150, \"x\": 500, \"y\": 180, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"chartConfig\": { \"key\": \"group\", \"chartKey\": \"group\", \"conKey\": \"group\", \"category\": \"group\", \"categoryName\": \"group\", \"package\": \"group\", \"chartFrame\": \"common\", \"title\": \"使用时长\", \"image\": \"\" },\n \"groupList\": [\n {\n \"id\": \"1hxm2jtfh3y800\",\n \"isGroup\": false,\n \"attr\": { \"x\": 0, \"y\": 0, \"w\": 380, \"h\": 150, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"Border03\",\n \"chartConfig\": { \"key\": \"Border03\", \"chartKey\": \"VBorder03\", \"conKey\": \"VCBorder03\", \"title\": \"使用时长边框\", \"category\": \"Borders\", \"categoryName\": \"边框\", \"package\": \"Decorates\", \"image\": \"\" },\n \"option\": { \"colors\": [ \"#6586ec00\", \"#2cf7fe00\" ], \"backgroundColor\": \"#00000000\" }\n },\n {\n \"id\": \"3aekp6a7tag000\",\n \"isGroup\": false,\n \"attr\": { \"x\": 60, \"y\": 25, \"w\": 200, \"h\": 150, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"TextCommon\",\n \"chartConfig\": { \"key\": \"TextCommon\", \"chartKey\": \"VTextCommon\", \"conKey\": \"VCTextCommon\", \"title\": \"使用时长\", \"category\": \"Texts\", \"categoryName\": \"文本\", \"package\": \"Informations\", \"image\": \"static/png/text_static-b2721032.png\" },\n \"option\": { \"link\": \"\", \"linkHead\": \"http://\", \"dataset\": \"禅道使用时长:\", \"fontSize\": 19, \"fontColor\": \"#9abdcd\", \"paddingX\": 10, \"paddingY\": 10, \"textAlign\": \"right\", \"fontWeight\": \"bold\", \"borderWidth\": 0, \"borderColor\": \"#ffffff\", \"borderRadius\": 5, \"letterSpacing\": 5, \"writingMode\": \"horizontal-tb\", \"backgroundColor\": \"#00000000\" }\n },\n {\n \"id\": \"4u5rgs0pf34000\",\n \"sourceID\": 1030,\n \"isGroup\": false,\n \"attr\": { \"x\": 265, \"y\": 25, \"w\": 252, \"h\": 150, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"TextCommon\",\n \"chartConfig\": { \"key\": \"TextCommon\", \"chartKey\": \"VTextCommon\", \"conKey\": \"VCTextCommon\", \"title\": \"时长\", \"category\": \"Texts\", \"categoryName\": \"文本\", \"package\": \"Informations\", \"image\": \"static/png/text_static-b2721032.png\" },\n \"option\": { \"link\": \"\", \"linkHead\": \"http://\", \"dataset\": \"\", \"fontSize\": 19, \"fontColor\": \"#9abdcd\", \"paddingX\": 10, \"paddingY\": 10, \"textAlign\": \"left\", \"fontWeight\": \"bold\", \"borderWidth\": 0, \"borderColor\": \"#ffffff\", \"borderRadius\": 5, \"letterSpacing\": 5, \"writingMode\": \"horizontal-tb\", \"backgroundColor\": \"#00000000\" }\n }\n ],\n \"key\": \"group\",\n \"option\": {}\n },\n {\n \"id\": \"fc4u6zmi58w00\",\n \"isGroup\": false,\n \"attr\": { \"x\": 963, \"y\": 186, \"w\": 20, \"h\": 20, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": 1 },\n \"styles\": { \"filterShow\": false, \"hueRotate\": 0, \"saturate\": 1, \"contrast\": 1, \"brightness\": 1, \"opacity\": 1, \"rotateZ\": 0, \"rotateX\": 0, \"rotateY\": 0, \"skewX\": 0, \"skewY\": 0, \"blendMode\": \"normal\", \"animations\": [] },\n \"status\": { \"lock\": false, \"hide\": false },\n \"request\": { \"requestDataType\": 0, \"requestHttpType\": \"get\", \"requestUrl\": \"\", \"requestInterval\": null, \"requestIntervalUnit\": \"second\", \"requestContentType\": 0, \"requestParamsBodyType\": \"none\", \"requestSQLContent\": { \"sql\": \"select * from where\" }, \"requestParams\": { \"Body\": { \"form-data\": {}, \"x-www-form-urlencoded\": {}, \"json\": \"\", \"xml\": \"\" }, \"Header\": {}, \"Params\": {} } },\n \"filter\": null,\n \"events\": { \"baseEvent\": { \"click\": null, \"dblclick\": null, \"mouseenter\": null, \"mouseleave\": null }, \"advancedEvents\": { \"vnodeMounted\": null, \"vnodeBeforeMount\": null } },\n \"key\": \"Hint\",\n \"chartConfig\": { \"key\": \"Hint\", \"chartKey\": \"VHint\", \"conKey\": \"VCHint\", \"title\": \"提示\", \"category\": \"Mores\", \"categoryName\": \"更多\", \"package\": \"Informations\", \"chartFrame\": \"common\", \"image\": \"static/png/hint-2cbf6381.png\" },\n \"option\": { \"text\": \"\", \"icon\": \"\", \"textSize\": 15, \"textColor\": \"#ffffff\", \"textWeight\": \"bold\", \"placement\": \"left-top\", \"distance\": 8, \"hint\": \"需求完成率=关闭原因为已完成的需求个数/(关闭原因为已完成的需求个数+未关闭的需求个数);\\nBug修复率=方案为已解决且状态为已关闭的Bug数/(方案为已解决的Bug数+方案为延期处理的Bug数+激活的Bug数)。\", \"width\": 0, \"height\": 0, \"paddingX\": 16, \"paddingY\": 8, \"borderWidth\": 1, \"borderStyle\": \"solid\", \"borderColor\": \"#1a77a5\", \"borderRadius\": 6, \"color\": \"#ffffff\", \"textAlign\": \"left\", \"fontWeight\": \"normal\", \"backgroundColor\": \"rgba(8, 40, 80, 0.9)\", \"fontSize\": 16 }\n },\n {\n \"id\": \"17sqdjuu74ik00\",\n \"sourceID\": 1031,\n \"isGroup\": false,\n \"attr\": { \"x\": 460, \"y\": 300, \"w\": 280, \"h\": 250, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"PieCircle\",\n \"chartConfig\": { \"key\": \"PieCircle\", \"chartKey\": \"VPieCircle\", \"conKey\": \"VPieCircle\", \"title\": \"需求完成率\", \"category\": \"Pies\", \"categoryName\": \"饼图\", \"package\": \"Charts\", \"chartFrame\": \"echarts\", \"image\": \"static/png/pie-circle-258fcce7.png\" },\n \"option\": { \"legend\": { \"show\": true, \"top\": \"15%\", \"textStyle\": { \"color\": \"#B9B8CE\" } }, \"title\": {\"text\": \"30.00%\", \"x\": \"center\", \"y\": \"center\", \"textStyle\": {\"color\": \"#FFF\",\"fontSize\": 20}}, \"type\": \"nomal\", \"tooltip\": { \"show\": false, \"trigger\": \"item\", \"formatter\": \"{d}%\" }, \"dataset\": 0.25, \"series\": [ { \"type\": \"pie\", \"radius\": [ \"63%\", \"70%\" ], \"label\": { \"show\": false }, \"center\": [ \"50%\", \"50%\" ], \"data\": [ { \"value\": [ 30 ], \"itemStyle\": { \"color\": \"#03a9f4\", \"shadowBlur\": 10, \"shadowColor\": \"#97e2f5\" } }, { \"value\": [ 70 ], \"itemStyle\": { \"color\": \"#00bcd44a\", \"shadowBlur\": 0, \"shadowColor\": \"#00bcd44a\" } } ]} ] }\n },\n {\n \"id\": \"4u5rgs0pf34000\",\n \"isGroup\": false,\n \"attr\": { \"x\": 475, \"y\": 535, \"w\": 250, \"h\": 50, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"TextCommon\",\n \"chartConfig\": { \"key\": \"TextCommon\", \"chartKey\": \"VTextCommon\", \"conKey\": \"VCTextCommon\", \"title\": \"时长\", \"category\": \"Texts\", \"categoryName\": \"文本\", \"package\": \"Informations\", \"image\": \"static/png/text_static-b2721032.png\" },\n \"option\": { \"link\": \"\", \"linkHead\": \"http://\", \"dataset\": \"需求完成率\", \"fontSize\": 15, \"fontColor\": \"#c6d3d9\", \"paddingX\": 10, \"paddingY\": 10, \"textAlign\": \"center\", \"fontWeight\": \"bold\", \"borderWidth\": 0, \"borderColor\": \"#ffffff\", \"borderRadius\": 5, \"letterSpacing\": 5, \"writingMode\": \"horizontal-tb\", \"backgroundColor\": \"#00000000\" }\n },\n {\n \"id\": \"4xgico362ww000\",\n \"sourceID\": 1032,\n \"isGroup\": false,\n \"attr\": { \"x\": 720, \"y\": 300, \"w\": 280, \"h\": 250, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"PieCircle\",\n \"chartConfig\": { \"key\": \"PieCircle\", \"chartKey\": \"VPieCircle\", \"conKey\": \"VPieCircle\", \"title\": \"Bug修复率\", \"category\": \"Pies\", \"categoryName\": \"饼图\", \"package\": \"Charts\", \"chartFrame\": \"echarts\", \"image\": \"static/png/pie-circle-258fcce7.png\" },\n \"option\": { \"legend\": { \"show\": true, \"top\": \"15%\", \"textStyle\": { \"color\": \"#B9B8CE\" } }, \"title\": {\"text\": \"30.00%\", \"x\": \"center\", \"y\": \"center\", \"textStyle\": {\"color\": \"#FFF\",\"fontSize\": 20}}, \"type\": \"nomal\", \"tooltip\": { \"show\": false, \"trigger\": \"item\", \"formatter\": \"{d}%\" }, \"dataset\": 0.25, \"series\": [ { \"type\": \"pie\", \"radius\": [ \"63%\", \"70%\" ], \"label\": { \"show\": false }, \"center\": [ \"50%\", \"50%\" ], \"data\": [ { \"value\": [ 30 ], \"itemStyle\": { \"color\": \"#C29160\", \"shadowBlur\": 10, \"shadowColor\": \"#eed045\" } }, { \"value\": [ 70 ], \"itemStyle\": { \"color\": \"#00bcd44a\", \"shadowBlur\": 0, \"shadowColor\": \"#00bcd44a\" } } ]} ] }\n },\n {\n \"id\": \"4u5rgs0pf34000\",\n \"isGroup\": false,\n \"attr\": { \"x\": 735, \"y\": 535, \"w\": 250, \"h\": 50, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"TextCommon\",\n \"chartConfig\": { \"key\": \"TextCommon\", \"chartKey\": \"VTextCommon\", \"conKey\": \"VCTextCommon\", \"title\": \"时长\", \"category\": \"Texts\", \"categoryName\": \"文本\", \"package\": \"Informations\", \"image\": \"static/png/text_static-b2721032.png\" },\n \"option\": { \"link\": \"\", \"linkHead\": \"http://\", \"dataset\": \"Bug修复率\", \"fontSize\": 15, \"fontColor\": \"#c6d3d9\", \"paddingX\": 10, \"paddingY\": 10, \"textAlign\": \"center\", \"fontWeight\": \"bold\", \"borderWidth\": 0, \"borderColor\": \"#ffffff\", \"borderRadius\": 5, \"letterSpacing\": 5, \"writingMode\": \"horizontal-tb\", \"backgroundColor\": \"#00000000\" }\n },\n {\n \"id\": \"1cfwp95aiif400\",\n \"isGroup\": false,\n \"attr\": { \"x\": 1010, \"y\": 171, \"w\": 290, \"h\": 480, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"Border03\",\n \"chartConfig\": { \"key\": \"Border03\", \"chartKey\": \"VBorder03\", \"conKey\": \"VCBorder03\", \"title\": \"summary\", \"category\": \"Borders\", \"categoryName\": \"边框\", \"package\": \"Decorates\", \"image\": \"\" },\n \"option\": { \"colors\": [ \"#00102800\", \"#00102800\" ], \"backgroundColor\": \"#0a1c38\" }\n },\n {\n \"id\": \"6scfjzqsbzo000\",\n \"isGroup\": true,\n \"attr\": { \"w\": 400, \"h\": 120, \"x\": 1010, \"y\": 175, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"chartConfig\": { \"key\": \"group\", \"chartKey\": \"group\", \"conKey\": \"group\", \"category\": \"group\", \"categoryName\": \"group\", \"package\": \"group\", \"chartFrame\": \"common\", \"title\": \"标题\", \"image\": \"\" },\n \"groupList\": [\n {\n \"id\": \"57r67ykkwxk000\",\n \"isGroup\": false,\n \"attr\": { \"x\": 15, \"y\": 0, \"w\": 400, \"h\": 68, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"TextCommon\",\n \"chartConfig\": { \"key\": \"TextCommon\", \"chartKey\": \"VTextCommon\", \"conKey\": \"VCTextCommon\", \"title\": \"summary_top\", \"category\": \"Texts\", \"categoryName\": \"文本\", \"package\": \"Informations\", \"image\": \"static/png/text_static-b2721032.png\" },\n \"option\": { \"link\": \"\", \"linkHead\": \"http://\", \"dataset\": \"公司级未完成数据概览\", \"fontSize\": 14, \"fontColor\": \"#b2d5e5\", \"paddingX\": 10, \"paddingY\": 10, \"textAlign\": \"left\", \"fontWeight\": \"bold\", \"borderWidth\": 0, \"borderColor\": \"#ffffff\", \"borderRadius\": 5, \"letterSpacing\": 5, \"writingMode\": \"horizontal-tb\", \"backgroundColor\": \"#00000000\" }\n },\n {\n \"id\": \"2xjom2cw2b2000\",\n \"isGroup\": false,\n \"attr\": { \"x\": 220, \"y\": 26, \"w\": 14, \"h\": 11, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"Image\",\n \"chartConfig\": { \"key\": \"Image\", \"chartKey\": \"VImage\", \"conKey\": \"VCImage\", \"title\": \"header\", \"category\": \"Mores\", \"categoryName\": \"更多\", \"package\": \"Informations\", \"chartFrame\": \"common\", \"image\": \"static/png/photo-637bc05d.png\" },\n \"option\": { \"dataset\": \"static/images/line_left.png\", \"borderRadius\": 0 }\n },\n {\n \"id\": \"3xjom2cw2b2000\",\n \"isGroup\": false,\n \"attr\": { \"x\": 220, \"y\": 32, \"w\": 30, \"h\": 8, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"Image\",\n \"chartConfig\": { \"key\": \"Image\", \"chartKey\": \"VImage\", \"conKey\": \"VCImage\", \"title\": \"header\", \"category\": \"Mores\", \"categoryName\": \"更多\", \"package\": \"Informations\", \"chartFrame\": \"common\", \"image\": \"static/png/photo-637bc05d.png\" },\n \"option\": { \"dataset\": \"static/images/line_right.png\", \"fit\": \"fill\", \"borderRadius\": 0 }\n }\n ],\n \"key\": \"group\",\n \"option\": {}\n },\n {\n \"id\": \"z3gs9qz8hq800\",\n \"isGroup\": true,\n \"attr\": { \"w\": 110, \"h\": 100, \"x\": 1035, \"y\": 246, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"chartConfig\": { \"key\": \"group\", \"chartKey\": \"group\", \"conKey\": \"group\", \"category\": \"group\", \"categoryName\": \"group\", \"package\": \"group\", \"chartFrame\": \"common\", \"title\": \"一级项目集个数\", \"image\": \"\" },\n \"groupList\": [\n {\n \"id\": \"2xjom2cw2b2000\",\n \"isGroup\": false,\n \"attr\": { \"x\": 0, \"y\": 0, \"w\": 110, \"h\": 80, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"Image\",\n \"chartConfig\": { \"key\": \"Image\", \"chartKey\": \"VImage\", \"conKey\": \"VCImage\", \"title\": \"header\", \"category\": \"Mores\", \"categoryName\": \"更多\", \"package\": \"Informations\", \"chartFrame\": \"common\", \"image\": \"static/png/photo-637bc05d.png\" },\n \"option\": { \"dataset\": \"static/images/card.png\", \"borderRadius\": 0 }\n },\n {\n \"id\": \"3ef3nnqh7gu00\",\n \"sourceID\": 1033,\n \"isGroup\": false,\n \"attr\": { \"x\": 0, \"y\": 14, \"w\": 110, \"h\": 30, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"TextCommon\",\n \"chartConfig\": { \"key\": \"TextCommon\", \"chartKey\": \"VTextCommon\", \"conKey\": \"VCTextCommon\", \"title\": \"一级项目集数\", \"category\": \"Texts\", \"categoryName\": \"文本\", \"package\": \"Informations\", \"image\": \"static/png/text_static-b2721032.png\" },\n \"option\": { \"link\": \"\", \"linkHead\": \"http://\", \"dataset\": \"100\", \"fontSize\": 18, \"fontColor\": \"#ffffff\", \"paddingX\": 0, \"paddingY\": 0, \"textAlign\": \"center\", \"fontWeight\": \"bold\", \"borderWidth\": 0, \"borderColor\": \"#ffffff\", \"borderRadius\": 5, \"letterSpacing\": 5, \"writingMode\": \"horizontal-tb\", \"backgroundColor\": \"#00000000\" }\n },\n {\n \"id\": \"52mwo993eaw000\",\n \"isGroup\": false,\n \"attr\": { \"x\": 0, \"y\": 38, \"w\": 110, \"h\": 49, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"TextCommon\",\n \"chartConfig\": { \"key\": \"TextCommon\", \"chartKey\": \"VTextCommon\", \"conKey\": \"VCTextCommon\", \"title\": \"一级项目集数\", \"category\": \"Texts\", \"categoryName\": \"文本\", \"package\": \"Informations\", \"image\": \"static/png/text_static-b2721032.png\" },\n \"option\": { \"link\": \"\", \"linkHead\": \"http://\", \"dataset\": \"一级项目集数\", \"fontSize\": 9, \"fontColor\": \"#9abdcd\", \"paddingX\": 0, \"paddingY\": 0, \"textAlign\": \"center\", \"fontWeight\": \"bold\", \"borderWidth\": 0, \"borderColor\": \"#ffffff\", \"borderRadius\": 5, \"letterSpacing\": 1, \"writingMode\": \"horizontal-tb\", \"backgroundColor\": \"#00000000\" }\n }\n ],\n \"key\": \"group\",\n \"option\": {}\n },\n {\n \"id\": \"z3gs9qz8hq800\",\n \"isGroup\": true,\n \"attr\": { \"w\": 110, \"h\": 100, \"x\": 1165, \"y\": 246, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"chartConfig\": { \"key\": \"group\", \"chartKey\": \"group\", \"conKey\": \"group\", \"category\": \"group\", \"categoryName\": \"group\", \"package\": \"group\", \"chartFrame\": \"common\", \"title\": \"项目个数\", \"image\": \"\" },\n \"groupList\": [\n {\n \"id\": \"2xjom2cw2b2000\",\n \"isGroup\": false,\n \"attr\": { \"x\": 0, \"y\": 0, \"w\": 110, \"h\": 80, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"Image\",\n \"chartConfig\": { \"key\": \"Image\", \"chartKey\": \"VImage\", \"conKey\": \"VCImage\", \"title\": \"header\", \"category\": \"Mores\", \"categoryName\": \"更多\", \"package\": \"Informations\", \"chartFrame\": \"common\", \"image\": \"static/png/photo-637bc05d.png\" },\n \"option\": { \"dataset\": \"static/images/card.png\", \"borderRadius\": 0 }\n },\n {\n \"id\": \"3ef3nnqh7gu00\",\n \"sourceID\": 1034,\n \"isGroup\": false,\n \"attr\": { \"x\": 0, \"y\": 14, \"w\": 110, \"h\": 30, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"TextCommon\",\n \"chartConfig\": { \"key\": \"TextCommon\", \"chartKey\": \"VTextCommon\", \"conKey\": \"VCTextCommon\", \"title\": \"需求数\", \"category\": \"Texts\", \"categoryName\": \"文本\", \"package\": \"Informations\", \"image\": \"static/png/text_static-b2721032.png\" },\n \"option\": { \"link\": \"\", \"linkHead\": \"http://\", \"dataset\": \"100\", \"fontSize\": 18, \"fontColor\": \"#ffffff\", \"paddingX\": 0, \"paddingY\": 0, \"textAlign\": \"center\", \"fontWeight\": \"bold\", \"borderWidth\": 0, \"borderColor\": \"#ffffff\", \"borderRadius\": 5, \"letterSpacing\": 5, \"writingMode\": \"horizontal-tb\", \"backgroundColor\": \"#00000000\" }\n },\n {\n \"id\": \"52mwo993eaw000\",\n \"isGroup\": false,\n \"attr\": { \"x\": 0, \"y\": 38, \"w\": 110, \"h\": 49, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"TextCommon\",\n \"chartConfig\": { \"key\": \"TextCommon\", \"chartKey\": \"VTextCommon\", \"conKey\": \"VCTextCommon\", \"title\": \"需求数\", \"category\": \"Texts\", \"categoryName\": \"文本\", \"package\": \"Informations\", \"image\": \"static/png/text_static-b2721032.png\" },\n \"option\": { \"link\": \"\", \"linkHead\": \"http://\", \"dataset\": \"需求数\", \"fontSize\": 9, \"fontColor\": \"#9abdcd\", \"paddingX\": 0, \"paddingY\": 0, \"textAlign\": \"center\", \"fontWeight\": \"bold\", \"borderWidth\": 0, \"borderColor\": \"#ffffff\", \"borderRadius\": 5, \"letterSpacing\": 1, \"writingMode\": \"horizontal-tb\", \"backgroundColor\": \"#00000000\" }\n }\n ],\n \"key\": \"group\",\n \"option\": {}\n },\n {\n \"id\": \"z3gs9qz8hq800\",\n \"isGroup\": true,\n \"attr\": { \"w\": 110, \"h\": 100, \"x\": 1035, \"y\": 346, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"chartConfig\": { \"key\": \"group\", \"chartKey\": \"group\", \"conKey\": \"group\", \"category\": \"group\", \"categoryName\": \"group\", \"package\": \"group\", \"chartFrame\": \"common\", \"title\": \"产品数\", \"image\": \"\" },\n \"groupList\": [\n {\n \"id\": \"2xjom2cw2b2000\",\n \"isGroup\": false,\n \"attr\": { \"x\": 0, \"y\": 0, \"w\": 110, \"h\": 80, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"Image\",\n \"chartConfig\": { \"key\": \"Image\", \"chartKey\": \"VImage\", \"conKey\": \"VCImage\", \"title\": \"header\", \"category\": \"Mores\", \"categoryName\": \"更多\", \"package\": \"Informations\", \"chartFrame\": \"common\", \"image\": \"static/png/photo-637bc05d.png\" },\n \"option\": { \"dataset\": \"static/images/card.png\", \"borderRadius\": 0 }\n },\n {\n \"id\": \"3ef3nnqh7gu00\",\n \"sourceID\": 1035,\n \"isGroup\": false,\n \"attr\": { \"x\": 0, \"y\": 14, \"w\": 110, \"h\": 30, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"TextCommon\",\n \"chartConfig\": { \"key\": \"TextCommon\", \"chartKey\": \"VTextCommon\", \"conKey\": \"VCTextCommon\", \"title\": \"产品数\", \"category\": \"Texts\", \"categoryName\": \"文本\", \"package\": \"Informations\", \"image\": \"static/png/text_static-b2721032.png\" },\n \"option\": { \"link\": \"\", \"linkHead\": \"http://\", \"dataset\": \"100\", \"fontSize\": 18, \"fontColor\": \"#ffffff\", \"paddingX\": 0, \"paddingY\": 0, \"textAlign\": \"center\", \"fontWeight\": \"bold\", \"borderWidth\": 0, \"borderColor\": \"#ffffff\", \"borderRadius\": 5, \"letterSpacing\": 5, \"writingMode\": \"horizontal-tb\", \"backgroundColor\": \"#00000000\" }\n },\n {\n \"id\": \"52mwo993eaw000\",\n \"isGroup\": false,\n \"attr\": { \"x\": 0, \"y\": 38, \"w\": 110, \"h\": 49, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"TextCommon\",\n \"chartConfig\": { \"key\": \"TextCommon\", \"chartKey\": \"VTextCommon\", \"conKey\": \"VCTextCommon\", \"title\": \"产品数\", \"category\": \"Texts\", \"categoryName\": \"文本\", \"package\": \"Informations\", \"image\": \"static/png/text_static-b2721032.png\" },\n \"option\": { \"link\": \"\", \"linkHead\": \"http://\", \"dataset\": \"产品数\", \"fontSize\": 9, \"fontColor\": \"#9abdcd\", \"paddingX\": 0, \"paddingY\": 0, \"textAlign\": \"center\", \"fontWeight\": \"bold\", \"borderWidth\": 0, \"borderColor\": \"#ffffff\", \"borderRadius\": 5, \"letterSpacing\": 1, \"writingMode\": \"horizontal-tb\", \"backgroundColor\": \"#00000000\" }\n }\n ],\n \"key\": \"group\",\n \"option\": {}\n },\n {\n \"id\": \"z3gs9qz8hq800\",\n \"isGroup\": true,\n \"attr\": { \"w\": 110, \"h\": 100, \"x\": 1165, \"y\": 346, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"chartConfig\": { \"key\": \"group\", \"chartKey\": \"group\", \"conKey\": \"group\", \"category\": \"group\", \"categoryName\": \"group\", \"package\": \"group\", \"chartFrame\": \"common\", \"title\": \"项目个数\", \"image\": \"\" },\n \"groupList\": [\n {\n \"id\": \"2xjom2cw2b2000\",\n \"isGroup\": false,\n \"attr\": { \"x\": 0, \"y\": 0, \"w\": 110, \"h\": 80, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"Image\",\n \"chartConfig\": { \"key\": \"Image\", \"chartKey\": \"VImage\", \"conKey\": \"VCImage\", \"title\": \"header\", \"category\": \"Mores\", \"categoryName\": \"更多\", \"package\": \"Informations\", \"chartFrame\": \"common\", \"image\": \"static/png/photo-637bc05d.png\" },\n \"option\": { \"dataset\": \"static/images/card.png\", \"borderRadius\": 0 }\n },\n {\n \"id\": \"3ef3nnqh7gu00\",\n \"sourceID\": 1036,\n \"isGroup\": false,\n \"attr\": { \"x\": 0, \"y\": 14, \"w\": 110, \"h\": 30, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"TextCommon\",\n \"chartConfig\": { \"key\": \"TextCommon\", \"chartKey\": \"VTextCommon\", \"conKey\": \"VCTextCommon\", \"title\": \"项目数\", \"category\": \"Texts\", \"categoryName\": \"文本\", \"package\": \"Informations\", \"image\": \"static/png/text_static-b2721032.png\" },\n \"option\": { \"link\": \"\", \"linkHead\": \"http://\", \"dataset\": \"100\", \"fontSize\": 18, \"fontColor\": \"#ffffff\", \"paddingX\": 0, \"paddingY\": 0, \"textAlign\": \"center\", \"fontWeight\": \"bold\", \"borderWidth\": 0, \"borderColor\": \"#ffffff\", \"borderRadius\": 5, \"letterSpacing\": 5, \"writingMode\": \"horizontal-tb\", \"backgroundColor\": \"#00000000\" }\n },\n {\n \"id\": \"52mwo993eaw000\",\n \"isGroup\": false,\n \"attr\": { \"x\": 0, \"y\": 38, \"w\": 110, \"h\": 49, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"TextCommon\",\n \"chartConfig\": { \"key\": \"TextCommon\", \"chartKey\": \"VTextCommon\", \"conKey\": \"VCTextCommon\", \"title\": \"项目数\", \"category\": \"Texts\", \"categoryName\": \"文本\", \"package\": \"Informations\", \"image\": \"static/png/text_static-b2721032.png\" },\n \"option\": { \"link\": \"\", \"linkHead\": \"http://\", \"dataset\": \"项目数\", \"fontSize\": 9, \"fontColor\": \"#9abdcd\", \"paddingX\": 0, \"paddingY\": 0, \"textAlign\": \"center\", \"fontWeight\": \"bold\", \"borderWidth\": 0, \"borderColor\": \"#ffffff\", \"borderRadius\": 5, \"letterSpacing\": 1, \"writingMode\": \"horizontal-tb\", \"backgroundColor\": \"#00000000\" }\n }\n ],\n \"key\": \"group\",\n \"option\": {}\n },\n {\n \"id\": \"z3gs9qz8hq800\",\n \"isGroup\": true,\n \"attr\": { \"w\": 110, \"h\": 100, \"x\": 1035, \"y\": 446, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"chartConfig\": { \"key\": \"group\", \"chartKey\": \"group\", \"conKey\": \"group\", \"category\": \"group\", \"categoryName\": \"group\", \"package\": \"group\", \"chartFrame\": \"common\", \"title\": \"计划数\", \"image\": \"\" },\n \"groupList\": [\n {\n \"id\": \"2xjom2cw2b2000\",\n \"isGroup\": false,\n \"attr\": { \"x\": 0, \"y\": 0, \"w\": 110, \"h\": 80, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"Image\",\n \"chartConfig\": { \"key\": \"Image\", \"chartKey\": \"VImage\", \"conKey\": \"VCImage\", \"title\": \"header\", \"category\": \"Mores\", \"categoryName\": \"更多\", \"package\": \"Informations\", \"chartFrame\": \"common\", \"image\": \"static/png/photo-637bc05d.png\" },\n \"option\": { \"dataset\": \"static/images/card.png\", \"borderRadius\": 0 }\n },\n {\n \"id\": \"3ef3nnqh7gu00\",\n \"sourceID\": 1037,\n \"isGroup\": false,\n \"attr\": { \"x\": 0, \"y\": 14, \"w\": 110, \"h\": 30, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"TextCommon\",\n \"chartConfig\": { \"key\": \"TextCommon\", \"chartKey\": \"VTextCommon\", \"conKey\": \"VCTextCommon\", \"title\": \"计划数\", \"category\": \"Texts\", \"categoryName\": \"文本\", \"package\": \"Informations\", \"image\": \"static/png/text_static-b2721032.png\" },\n \"option\": { \"link\": \"\", \"linkHead\": \"http://\", \"dataset\": \"100\", \"fontSize\": 18, \"fontColor\": \"#ffffff\", \"paddingX\": 0, \"paddingY\": 0, \"textAlign\": \"center\", \"fontWeight\": \"bold\", \"borderWidth\": 0, \"borderColor\": \"#ffffff\", \"borderRadius\": 5, \"letterSpacing\": 5, \"writingMode\": \"horizontal-tb\", \"backgroundColor\": \"#00000000\" }\n },\n {\n \"id\": \"52mwo993eaw000\",\n \"isGroup\": false,\n \"attr\": { \"x\": 0, \"y\": 38, \"w\": 110, \"h\": 49, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"TextCommon\",\n \"chartConfig\": { \"key\": \"TextCommon\", \"chartKey\": \"VTextCommon\", \"conKey\": \"VCTextCommon\", \"title\": \"计划数\", \"category\": \"Texts\", \"categoryName\": \"文本\", \"package\": \"Informations\", \"image\": \"static/png/text_static-b2721032.png\" },\n \"option\": { \"link\": \"\", \"linkHead\": \"http://\", \"dataset\": \"计划数\", \"fontSize\": 9, \"fontColor\": \"#9abdcd\", \"paddingX\": 0, \"paddingY\": 0, \"textAlign\": \"center\", \"fontWeight\": \"bold\", \"borderWidth\": 0, \"borderColor\": \"#ffffff\", \"borderRadius\": 5, \"letterSpacing\": 1, \"writingMode\": \"horizontal-tb\", \"backgroundColor\": \"#00000000\" }\n }\n ],\n \"key\": \"group\",\n \"option\": {}\n },\n {\n \"id\": \"z3gs9qz8hq800\",\n \"isGroup\": true,\n \"attr\": { \"w\": 110, \"h\": 100, \"x\": 1165, \"y\": 446, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"chartConfig\": { \"key\": \"group\", \"chartKey\": \"group\", \"conKey\": \"group\", \"category\": \"group\", \"categoryName\": \"group\", \"package\": \"group\", \"chartFrame\": \"common\", \"title\": \"执行个数\", \"image\": \"\" },\n \"groupList\": [\n {\n \"id\": \"2xjom2cw2b2000\",\n \"isGroup\": false,\n \"attr\": { \"x\": 0, \"y\": 0, \"w\": 110, \"h\": 80, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"Image\",\n \"chartConfig\": { \"key\": \"Image\", \"chartKey\": \"VImage\", \"conKey\": \"VCImage\", \"title\": \"header\", \"category\": \"Mores\", \"categoryName\": \"更多\", \"package\": \"Informations\", \"chartFrame\": \"common\", \"image\": \"static/png/photo-637bc05d.png\" },\n \"option\": { \"dataset\": \"static/images/card.png\", \"borderRadius\": 0 }\n },\n {\n \"id\": \"3ef3nnqh7gu00\",\n \"sourceID\": 1038,\n \"isGroup\": false,\n \"attr\": { \"x\": 0, \"y\": 14, \"w\": 110, \"h\": 30, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"TextCommon\",\n \"chartConfig\": { \"key\": \"TextCommon\", \"chartKey\": \"VTextCommon\", \"conKey\": \"VCTextCommon\", \"title\": \"执行数\", \"category\": \"Texts\", \"categoryName\": \"文本\", \"package\": \"Informations\", \"image\": \"static/png/text_static-b2721032.png\" },\n \"option\": { \"link\": \"\", \"linkHead\": \"http://\", \"dataset\": \"100\", \"fontSize\": 18, \"fontColor\": \"#ffffff\", \"paddingX\": 0, \"paddingY\": 0, \"textAlign\": \"center\", \"fontWeight\": \"bold\", \"borderWidth\": 0, \"borderColor\": \"#ffffff\", \"borderRadius\": 5, \"letterSpacing\": 5, \"writingMode\": \"horizontal-tb\", \"backgroundColor\": \"#00000000\" }\n },\n {\n \"id\": \"52mwo993eaw000\",\n \"isGroup\": false,\n \"attr\": { \"x\": 0, \"y\": 38, \"w\": 110, \"h\": 49, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"TextCommon\",\n \"chartConfig\": { \"key\": \"TextCommon\", \"chartKey\": \"VTextCommon\", \"conKey\": \"VCTextCommon\", \"title\": \"执行数\", \"category\": \"Texts\", \"categoryName\": \"文本\", \"package\": \"Informations\", \"image\": \"static/png/text_static-b2721032.png\" },\n \"option\": { \"link\": \"\", \"linkHead\": \"http://\", \"dataset\": \"执行数\", \"fontSize\": 9, \"fontColor\": \"#9abdcd\", \"paddingX\": 0, \"paddingY\": 0, \"textAlign\": \"center\", \"fontWeight\": \"bold\", \"borderWidth\": 0, \"borderColor\": \"#ffffff\", \"borderRadius\": 5, \"letterSpacing\": 1, \"writingMode\": \"horizontal-tb\", \"backgroundColor\": \"#00000000\" }\n }\n ],\n \"key\": \"group\",\n \"option\": {}\n },\n {\n \"id\": \"z3gs9qz8hq800\",\n \"isGroup\": true,\n \"attr\": { \"w\": 110, \"h\": 100, \"x\": 1035, \"y\": 546, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"chartConfig\": { \"key\": \"group\", \"chartKey\": \"group\", \"conKey\": \"group\", \"category\": \"group\", \"categoryName\": \"group\", \"package\": \"group\", \"chartFrame\": \"common\", \"title\": \"Bug数\", \"image\": \"\" },\n \"groupList\": [\n {\n \"id\": \"2xjom2cw2b2000\",\n \"isGroup\": false,\n \"attr\": { \"x\": 0, \"y\": 0, \"w\": 110, \"h\": 80, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"Image\",\n \"chartConfig\": { \"key\": \"Image\", \"chartKey\": \"VImage\", \"conKey\": \"VCImage\", \"title\": \"header\", \"category\": \"Mores\", \"categoryName\": \"更多\", \"package\": \"Informations\", \"chartFrame\": \"common\", \"image\": \"static/png/photo-637bc05d.png\" },\n \"option\": { \"dataset\": \"static/images/card.png\", \"borderRadius\": 0 }\n },\n {\n \"id\": \"3ef3nnqh7gu00\",\n \"sourceID\": 1039,\n \"isGroup\": false,\n \"attr\": { \"x\": 0, \"y\": 14, \"w\": 110, \"h\": 30, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"TextCommon\",\n \"chartConfig\": { \"key\": \"TextCommon\", \"chartKey\": \"VTextCommon\", \"conKey\": \"VCTextCommon\", \"title\": \"Bug数\", \"category\": \"Texts\", \"categoryName\": \"文本\", \"package\": \"Informations\", \"image\": \"static/png/text_static-b2721032.png\" },\n \"option\": { \"link\": \"\", \"linkHead\": \"http://\", \"dataset\": \"100\", \"fontSize\": 18, \"fontColor\": \"#ffffff\", \"paddingX\": 0, \"paddingY\": 0, \"textAlign\": \"center\", \"fontWeight\": \"bold\", \"borderWidth\": 0, \"borderColor\": \"#ffffff\", \"borderRadius\": 5, \"letterSpacing\": 5, \"writingMode\": \"horizontal-tb\", \"backgroundColor\": \"#00000000\" }\n },\n {\n \"id\": \"52mwo993eaw000\",\n \"isGroup\": false,\n \"attr\": { \"x\": 0, \"y\": 38, \"w\": 110, \"h\": 49, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"TextCommon\",\n \"chartConfig\": { \"key\": \"TextCommon\", \"chartKey\": \"VTextCommon\", \"conKey\": \"VCTextCommon\", \"title\": \"Bug数\", \"category\": \"Texts\", \"categoryName\": \"文本\", \"package\": \"Informations\", \"image\": \"static/png/text_static-b2721032.png\" },\n \"option\": { \"link\": \"\", \"linkHead\": \"http://\", \"dataset\": \"Bug数\", \"fontSize\": 9, \"fontColor\": \"#9abdcd\", \"paddingX\": 0, \"paddingY\": 0, \"textAlign\": \"center\", \"fontWeight\": \"bold\", \"borderWidth\": 0, \"borderColor\": \"#ffffff\", \"borderRadius\": 5, \"letterSpacing\": 1, \"writingMode\": \"horizontal-tb\", \"backgroundColor\": \"#00000000\" }\n }\n ],\n \"key\": \"group\",\n \"option\": {}\n },\n {\n \"id\": \"z3gs9qz8hq800\",\n \"isGroup\": true,\n \"attr\": { \"w\": 110, \"h\": 100, \"x\": 1165, \"y\": 546, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"chartConfig\": { \"key\": \"group\", \"chartKey\": \"group\", \"conKey\": \"group\", \"category\": \"group\", \"categoryName\": \"group\", \"package\": \"group\", \"chartFrame\": \"common\", \"title\": \"任务个数\", \"image\": \"\" },\n \"groupList\": [\n {\n \"id\": \"2xjom2cw2b2000\",\n \"isGroup\": false,\n \"attr\": { \"x\": 0, \"y\": 0, \"w\": 110, \"h\": 80, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"Image\",\n \"chartConfig\": { \"key\": \"Image\", \"chartKey\": \"VImage\", \"conKey\": \"VCImage\", \"title\": \"header\", \"category\": \"Mores\", \"categoryName\": \"更多\", \"package\": \"Informations\", \"chartFrame\": \"common\", \"image\": \"static/png/photo-637bc05d.png\" },\n \"option\": { \"dataset\": \"static/images/card.png\", \"borderRadius\": 0 }\n },\n {\n \"id\": \"3ef3nnqh7gu00\",\n \"sourceID\": 1040,\n \"isGroup\": false,\n \"attr\": { \"x\": 0, \"y\": 14, \"w\": 110, \"h\": 30, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"TextCommon\",\n \"chartConfig\": { \"key\": \"TextCommon\", \"chartKey\": \"VTextCommon\", \"conKey\": \"VCTextCommon\", \"title\": \"任务数\", \"category\": \"Texts\", \"categoryName\": \"文本\", \"package\": \"Informations\", \"image\": \"static/png/text_static-b2721032.png\" },\n \"option\": { \"link\": \"\", \"linkHead\": \"http://\", \"dataset\": \"100\", \"fontSize\": 18, \"fontColor\": \"#ffffff\", \"paddingX\": 0, \"paddingY\": 0, \"textAlign\": \"center\", \"fontWeight\": \"bold\", \"borderWidth\": 0, \"borderColor\": \"#ffffff\", \"borderRadius\": 5, \"letterSpacing\": 5, \"writingMode\": \"horizontal-tb\", \"backgroundColor\": \"#00000000\" }\n },\n {\n \"id\": \"52mwo993eaw000\",\n \"isGroup\": false,\n \"attr\": { \"x\": 0, \"y\": 38, \"w\": 110, \"h\": 49, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"TextCommon\",\n \"chartConfig\": { \"key\": \"TextCommon\", \"chartKey\": \"VTextCommon\", \"conKey\": \"VCTextCommon\", \"title\": \"任务数\", \"category\": \"Texts\", \"categoryName\": \"文本\", \"package\": \"Informations\", \"image\": \"static/png/text_static-b2721032.png\" },\n \"option\": { \"link\": \"\", \"linkHead\": \"http://\", \"dataset\": \"任务数\", \"fontSize\": 9, \"fontColor\": \"#9abdcd\", \"paddingX\": 0, \"paddingY\": 0, \"textAlign\": \"center\", \"fontWeight\": \"bold\", \"borderWidth\": 0, \"borderColor\": \"#ffffff\", \"borderRadius\": 5, \"letterSpacing\": 1, \"writingMode\": \"horizontal-tb\", \"backgroundColor\": \"#00000000\" }\n }\n ],\n \"key\": \"group\",\n \"option\": {}\n },\n {\n \"id\": \"fc4u6zmi58w00\",\n \"isGroup\": false,\n \"attr\": { \"x\": 1260, \"y\": 186, \"w\": 20, \"h\": 20, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": 1 },\n \"styles\": { \"filterShow\": false, \"hueRotate\": 0, \"saturate\": 1, \"contrast\": 1, \"brightness\": 1, \"opacity\": 1, \"rotateZ\": 0, \"rotateX\": 0, \"rotateY\": 0, \"skewX\": 0, \"skewY\": 0, \"blendMode\": \"normal\", \"animations\": [] },\n \"status\": { \"lock\": false, \"hide\": false },\n \"request\": { \"requestDataType\": 0, \"requestHttpType\": \"get\", \"requestUrl\": \"\", \"requestInterval\": null, \"requestIntervalUnit\": \"second\", \"requestContentType\": 0, \"requestParamsBodyType\": \"none\", \"requestSQLContent\": { \"sql\": \"select * from where\" }, \"requestParams\": { \"Body\": { \"form-data\": {}, \"x-www-form-urlencoded\": {}, \"json\": \"\", \"xml\": \"\" }, \"Header\": {}, \"Params\": {} } },\n \"filter\": null,\n \"events\": { \"baseEvent\": { \"click\": null, \"dblclick\": null, \"mouseenter\": null, \"mouseleave\": null }, \"advancedEvents\": { \"vnodeMounted\": null, \"vnodeBeforeMount\": null } },\n \"key\": \"Hint\",\n \"chartConfig\": { \"key\": \"Hint\", \"chartKey\": \"VHint\", \"conKey\": \"VCHint\", \"title\": \"提示\", \"category\": \"Mores\", \"categoryName\": \"更多\", \"package\": \"Informations\", \"chartFrame\": \"common\", \"image\": \"static/png/hint-2cbf6381.png\" },\n \"option\": { \"text\": \"\", \"icon\": \"\", \"textSize\": 15, \"textColor\": \"#ffffff\", \"textWeight\": \"bold\", \"placement\": \"left-top\", \"distance\": 8, \"hint\": \"未完成的一级项目集个数=未关闭的一级项目集个数;\\n未完成的需求个数=未关闭的需求个数;\\n未完成的产品个数=未关闭的产品个数;\\n未完成的项目个数=未关闭的项目个数;\\n未完成的计划个数=未完成的计划个数;\\n未完成的执行个数=未关闭的执行个数;\\n未完成的任务个数=未完成的任务个数;\\n未完成的Bug个数=未关闭的Bug个数。\", \"width\": 0, \"height\": 0, \"paddingX\": 16, \"paddingY\": 8, \"borderWidth\": 1, \"borderStyle\": \"solid\", \"borderColor\": \"#1a77a5\", \"borderRadius\": 6, \"color\": \"#ffffff\", \"textAlign\": \"left\", \"fontWeight\": \"normal\", \"backgroundColor\": \"rgba(8, 40, 80, 0.9)\", \"fontSize\": 16 }\n },\n {\n \"id\": \"1cfwp95aiif400\",\n \"isGroup\": false,\n \"attr\": { \"x\": 0, \"y\": 665, \"w\": 1300, \"h\": 525, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"Border03\",\n \"chartConfig\": { \"key\": \"Border03\", \"chartKey\": \"VBorder03\", \"conKey\": \"VCBorder03\", \"title\": \"summary\", \"category\": \"Borders\", \"categoryName\": \"边框\", \"package\": \"Decorates\", \"image\": \"\" },\n \"option\": { \"colors\": [ \"#00102800\", \"#00102800\" ], \"backgroundColor\": \"#0a1c38\" }\n },\n {\n \"id\": \"6scfjzqsbzo000\",\n \"isGroup\": true,\n \"attr\": { \"w\": 1300, \"h\": 120, \"x\": 0, \"y\": 665, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"chartConfig\": { \"key\": \"group\", \"chartKey\": \"group\", \"conKey\": \"group\", \"category\": \"group\", \"categoryName\": \"group\", \"package\": \"group\", \"chartFrame\": \"common\", \"title\": \"标题\", \"image\": \"\" },\n \"groupList\": [\n {\n \"id\": \"57r67ykkwxk000\",\n \"isGroup\": false,\n \"attr\": { \"x\": 15, \"y\": 0, \"w\": 187, \"h\": 68, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"TextCommon\",\n \"chartConfig\": { \"key\": \"TextCommon\", \"chartKey\": \"VTextCommon\", \"conKey\": \"VCTextCommon\", \"title\": \"summary_top\", \"category\": \"Texts\", \"categoryName\": \"文本\", \"package\": \"Informations\", \"image\": \"static/png/text_static-b2721032.png\" },\n \"option\": { \"link\": \"\", \"linkHead\": \"http://\", \"dataset\": \"项目集数据概览\", \"fontSize\": 14, \"fontColor\": \"#b2d5e5\", \"paddingX\": 10, \"paddingY\": 10, \"textAlign\": \"left\", \"fontWeight\": \"bold\", \"borderWidth\": 0, \"borderColor\": \"#ffffff\", \"borderRadius\": 5, \"letterSpacing\": 5, \"writingMode\": \"horizontal-tb\", \"backgroundColor\": \"#00000000\" }\n },\n {\n \"id\": \"2xjom2cw2b2000\",\n \"isGroup\": false,\n \"attr\": { \"x\": 165, \"y\": 26, \"w\": 14, \"h\": 11, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"Image\",\n \"chartConfig\": { \"key\": \"Image\", \"chartKey\": \"VImage\", \"conKey\": \"VCImage\", \"title\": \"header\", \"category\": \"Mores\", \"categoryName\": \"更多\", \"package\": \"Informations\", \"chartFrame\": \"common\", \"image\": \"static/png/photo-637bc05d.png\" },\n \"option\": { \"dataset\": \"static/images/line_left.png\", \"borderRadius\": 0 }\n },\n {\n \"id\": \"3xjom2cw2b2000\",\n \"isGroup\": false,\n \"attr\": { \"x\": 185, \"y\": 28, \"w\": 1090, \"h\": 10, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"Image\",\n \"chartConfig\": { \"key\": \"Image\", \"chartKey\": \"VImage\", \"conKey\": \"VCImage\", \"title\": \"header\", \"category\": \"Mores\", \"categoryName\": \"更多\", \"package\": \"Informations\", \"chartFrame\": \"common\", \"image\": \"static/png/photo-637bc05d.png\" },\n \"option\": { \"dataset\": \"static/images/line_right.png\", \"fit\": \"fill\", \"borderRadius\": 0 }\n },\n {\n \"id\": \"1zhfrmecpnxc00\",\n \"sourceID\": 1041,\n \"isGroup\": false,\n \"attr\": { \"x\": 25, \"y\": 57, \"w\": 1250, \"h\": 446, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"TableScrollBoard\",\n \"chartConfig\": { \"key\": \"TableScrollBoard\", \"chartKey\": \"VTableScrollBoard\", \"conKey\": \"VCTableScrollBoard\", \"title\": \"轮播列表\", \"category\": \"Tables\", \"categoryName\": \"表格\", \"package\": \"Tables\", \"chartFrame\": \"common\", \"image\": \"static/png/table_scrollboard-fb642e78.png\" },\n \"option\": { \"header\": [ \"列1\", \"列2\", \"列3\" ], \"dataset\": [ [ \"行1列1\", \"行1列2\", \"行1列3\" ], [ \"行2列1\", \"行2列2\", \"行2列3\" ], [ \"行3列1\", \"行3列2\", \"行3列3\" ], [ \"行4列1\", \"行4列2\", \"行4列3\" ], [ \"行5列1\", \"行5列2\", \"行5列3\" ], [ \"行6列1\", \"行6列2\", \"行6列3\" ], [ \"行6列1\", \"行6列2\", \"行6列3\" ], [ \"行6列1\", \"行6列2\", \"行6列3\" ], [ \"行6列1\", \"行6列2\", \"行6列3\" ], [ \"行6列1\", \"行6列2\", \"行6列3\" ] ], \"index\": false, \"columnWidth\": [], \"align\": [ \"center\", \"center\",\"center\",\"center\",\"center\",\"center\",\"center\",\"center\"], \"rowNum\": 8, \"waitTime\": 3, \"headerHeight\": 45, \"carousel\": \"single\", \"headerBGC\": \"#165896FF\", \"oddRowBGC\": \"#042b4dFF\", \"evenRowBGC\": \"#0a1c37FF\" }\n }\n ],\n \"key\": \"group\",\n \"option\": {}\n },\n {\n \"id\": \"3hqq7oh18ra000\",\n \"isGroup\": true,\n \"attr\": { \"w\": 426, \"h\": 500, \"x\": 0, \"y\": 1200, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"chartConfig\": { \"key\": \"group\", \"chartKey\": \"group\", \"conKey\": \"group\", \"category\": \"group\", \"categoryName\": \"group\", \"package\": \"group\", \"chartFrame\": \"common\", \"title\": \"项目集需求完成率与Bug\", \"image\": \"\" },\n \"groupList\": [\n {\n \"id\": \"1dlpgwe8wwe800\",\n \"isGroup\": false,\n \"attr\": { \"x\": 0, \"y\": 0, \"w\": 426, \"h\": 500, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"Border03\",\n \"chartConfig\": { \"key\": \"Border03\", \"chartKey\": \"VBorder03\", \"conKey\": \"VCBorder03\", \"title\": \"项目集需求完成率与Bug\", \"category\": \"Borders\", \"categoryName\": \"边框\", \"package\": \"Decorates\", \"image\": \"\" },\n \"option\": { \"colors\": [ \"#0a1c3700\", \"#042b4d00\" ], \"backgroundColor\": \"#0a1c38\" }\n },\n {\n \"id\": \"obhxxjnin3400\",\n \"sourceID\": 1042,\n \"isGroup\": false,\n \"attr\": { \"x\": 30, \"y\": 60, \"w\": 380, \"h\": 416, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"BarCrossrange\",\n \"chartConfig\": { \"key\": \"BarCrossrange\", \"chartKey\": \"VBarCrossrange\", \"conKey\": \"VCBarCrossrange\", \"title\": \"横向柱状图\", \"category\": \"Bars\", \"categoryName\": \"柱状图\", \"package\": \"Charts\", \"chartFrame\": \"echarts\", \"image\": \"static/png/bar_y-05067169.png\" },\n \"option\": {\n \"legend\": {\n \"show\": true,\n \"top\": \"5%\",\n \"textStyle\": { \"color\": \"#B9B8CE\" }\n },\n \"xAxis\": {\n \"show\": true, \"name\": \"\",\n \"nameGap\": 15,\n \"nameTextStyle\": {\n \"color\": \"#B9B8CE\",\n \"fontSize\": 12\n },\n \"inverse\": false,\n \"axisLabel\": {\n \"show\": true, \"fontSize\": 12, \"color\": \"#B9B8CE\", \"rotate\": 0, \"formatter\": \"{value}%\"\n },\n \"position\": \"bottom\",\n \"axisLine\": { \"show\": true, \"lineStyle\": { \"color\": \"#B9B8CE\", \"width\": 1 }, \"onZero\": true },\n \"axisTick\": { \"show\": true, \"length\": 5 },\n \"splitLine\": { \"show\": false, \"lineStyle\": { \"color\": \"#484753\", \"width\": 1, \"type\": \"solid\" } }\n },\n \"yAxis\": { \"show\": true, \"name\": \"\", \"nameGap\": 15, \"nameTextStyle\": { \"color\": \"#B9B8CE\", \"fontSize\": 12 }, \"inverse\": true, \"axisLabel\": { \"show\": true, \"fontSize\": 12, \"color\": \"#B9B8CE\", \"rotate\": 0}, \"position\": \"left\", \"axisLine\": { \"show\": true, \"lineStyle\": { \"color\": \"#B9B8CE\", \"width\": 1 }, \"onZero\": true }, \"axisTick\": { \"show\": false, \"length\": 5 }, \"splitLine\": { \"show\": false, \"lineStyle\": { \"color\": \"#484753\", \"width\": 1, \"type\": \"solid\" } }, \"type\": \"category\" },\n \"grid\": { \"show\": false, \"left\": \"18%\", \"top\": \"60\", \"right\": \"12%\", \"bottom\": \"60\" },\n \"tooltip\": { \"show\": true, \"trigger\": \"axis\", \"axisPointer\": { \"show\": true, \"type\": \"shadow\" } },\n \"dataset\": { \"dimensions\": [ \"product\", \"data1\", \"data2\" ], \"source\": [ { \"product\": \"Mon\", \"data1\": 120, \"data2\": 130 }, { \"product\": \"Tue\", \"data1\": 200, \"data2\": 130 }, { \"product\": \"Wed\", \"data1\": 150, \"data2\": 312 }, { \"product\": \"Thu\", \"data1\": 80, \"data2\": 268 }, { \"product\": \"Fri\", \"data1\": 70, \"data2\": 155 }, { \"product\": \"Sat\", \"data1\": 110, \"data2\": 117 }, { \"product\": \"Sun\", \"data1\": 130, \"data2\": 160 } ] },\n \"series\": [ { \"type\": \"bar\", \"barMaxWidth\": 28, \"barWidth\": null, \"label\": { \"show\": true, \"formatter\": \"{@[1]}%\", \"position\": \"right\", \"color\": \"#fff\", \"fontSize\": 12 }, \"itemStyle\": { \"color\": null, \"borderRadius\": 0 } }, { \"type\": \"bar\", \"barWidth\": null, \"label\": { \"show\": true, \"formatter\": \"{@[2]}%\", \"position\": \"right\", \"color\": \"#fff\", \"fontSize\": 12 }, \"itemStyle\": { \"color\": null, \"borderRadius\": 0 } } ],\n \"backgroundColor\": \"rgba(0,0,0,0)\",\n \"dataZoom\": [\n {\n \"type\": \"inside\",\n \"startValue\": 0,\n \"endValue\": 5,\n \"minValueSpan\": 5,\n \"maxValueSpan\": 5,\n \"yAxisIndex\": [0],\n \"zoomOnMouseWheel\": false,\n \"moveOnMouseWheel\": true,\n \"moveOnMouseMove\": true\n },\n {\n \"type\": \"slider\",\n \"realtime\": true,\n \"startValue\": 0,\n \"endValue\": 5,\n \"zoomLock\": true,\n \"brushSelect\": false,\n \"width\": 5,\n \"height\": \"80%\",\n \"handleIcon\": \"path://M30.9,53.2C16.8,53.2,5.3,41.7,5.3,27.6S16.8,2,30.9,2C45,2,56.4,13.5,56.4,27.6S45,53.2,30.9,53.2z M30.9,3.5M36.9,35.8h-1.3z M27.8,35.8 h-1.3H27L27.8,35.8L27.8,35.8z\",\n \"handleSize\": \"100%\",\n \"yAxisIndex\": [0],\n \"fillerColor\": \"#33aaff\",\n \"borderColor\": \"#33aaff00\",\n \"borderCap\": \"round\",\n \"backgroundColor\": \"#cfcfcf00\",\n \"handleSize\":0,\n \"showDataShadow\": false,\n \"showDetail\": false,\n \"top\": \"10%\",\n \"right\": 0\n }\n ]\n }\n },\n {\n \"id\": \"2u3zlsz5kk4000\",\n \"isGroup\": false,\n \"attr\": { \"x\": 15, \"y\": 22, \"w\": 378, \"h\": 50, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"TextCommon\",\n \"chartConfig\": { \"key\": \"TextCommon\", \"chartKey\": \"VTextCommon\", \"conKey\": \"VCTextCommon\", \"title\": \"项目集需求完成率与Bug\", \"category\": \"Texts\", \"categoryName\": \"文本\", \"package\": \"Informations\", \"image\": \"static/png/text_static-b2721032.png\" },\n \"option\": { \"link\": \"\", \"linkHead\": \"http://\", \"dataset\": \"项目集需求完成率与Bug修复率\", \"fontSize\": 14, \"fontColor\": \"#ffffff\", \"paddingX\": 10, \"paddingY\": 10, \"textAlign\": \"center\", \"fontWeight\": \"bold\", \"borderWidth\": 0, \"borderColor\": \"#ffffff\", \"borderRadius\": 5, \"letterSpacing\": 5, \"writingMode\": \"horizontal-tb\", \"backgroundColor\": \"#00000000\" }\n }\n ],\n \"key\": \"group\",\n \"option\": {}\n },\n {\n \"id\": \"1xih6tzmmssg00\",\n \"isGroup\": true,\n \"attr\": { \"w\": 426, \"h\": 500, \"x\": 437, \"y\": 1200, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"chartConfig\": { \"key\": \"group\", \"chartKey\": \"group\", \"conKey\": \"group\", \"category\": \"group\", \"categoryName\": \"group\", \"package\": \"group\", \"chartFrame\": \"common\", \"title\": \"公司一级项目集状态分布\", \"image\": \"\" },\n \"groupList\": [\n {\n \"id\": \"2bnelf1diy8000\",\n \"isGroup\": false,\n \"attr\": { \"x\": 0, \"y\": 0, \"w\": 426, \"h\": 500, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"Border03\",\n \"chartConfig\": { \"key\": \"Border03\", \"chartKey\": \"VBorder03\", \"conKey\": \"VCBorder03\", \"title\": \"公司一级项目集状态分布\", \"category\": \"Borders\", \"categoryName\": \"边框\", \"package\": \"Decorates\", \"image\": \"\" },\n \"option\": { \"colors\": [ \"#0a1c3700\", \"#042b4d00\" ], \"backgroundColor\": \"#0a1c38\" }\n },\n {\n \"id\": \"1351cy224nb400\",\n \"isGroup\": false,\n \"attr\": { \"x\": 0, \"y\": 25, \"w\": 426, \"h\": 45, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"TextCommon\",\n \"chartConfig\": { \"key\": \"TextCommon\", \"chartKey\": \"VTextCommon\", \"conKey\": \"VCTextCommon\", \"title\": \"公司一级项目集状态分布\", \"category\": \"Texts\", \"categoryName\": \"文本\", \"package\": \"Informations\", \"image\": \"static/png/text_static-b2721032.png\" },\n \"option\": { \"link\": \"\", \"linkHead\": \"http://\", \"dataset\": \"公司一级项目集状态分布\", \"fontSize\": 14, \"fontColor\": \"#ffffff\", \"paddingX\": 10, \"paddingY\": 10, \"textAlign\": \"center\", \"fontWeight\": \"bold\", \"borderWidth\": 0, \"borderColor\": \"#ffffff\", \"borderRadius\": 5, \"letterSpacing\": 5, \"writingMode\": \"horizontal-tb\", \"backgroundColor\": \"#00000000\" }\n },\n {\n \"id\": \"4ocyn7hip9k000\",\n \"sourceID\": 1043,\n \"isGroup\": false,\n \"attr\": { \"x\": 10, \"y\": 50, \"w\": 400, \"h\": 410, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"PieCommon\",\n \"chartConfig\": { \"key\": \"PieCommon\", \"chartKey\": \"VPieCommon\", \"conKey\": \"VCPieCommon\", \"title\": \"饼图\", \"category\": \"Pies\", \"categoryName\": \"饼图\", \"package\": \"Charts\", \"chartFrame\": \"echarts\", \"image\": \"static/png/pie-9620f191.png\" },\n \"option\": { \"legend\": { \"show\": true, \"top\": \"5%\", \"textStyle\": { \"color\": \"#B9B8CE\" } }, \"type\": \"nomal\", \"tooltip\": { \"show\": true, \"trigger\": \"item\" }, \"dataset\": { \"dimensions\": [ \"product\", \"data1\" ], \"source\": [ { \"product\": \"Mon\", \"data1\": 120 }, { \"product\": \"Tue\", \"data1\": 200 }, { \"product\": \"Wed\", \"data1\": 150 }, { \"product\": \"Thu\", \"data1\": 80 }, { \"product\": \"Fri\", \"data1\": 70 }, { \"product\": \"Sat\", \"data1\": 110 }, { \"product\": \"Sun\", \"data1\": 130 } ] }, \"series\": [ { \"type\": \"pie\", \"radius\": [ \"30%\", \"30%\" ], \"label\": { \"show\": true, \"width\": 120, \"formatter\": \"{b}\\n{d}%\", \"lineHeight\": 20, \"color\": \"#ffffff\", \"position\": \"outside\", \"position\": \"outside\", \"alignTo\": \"edge\", \"margin\": 5 }, \"center\": [ \"50%\", \"55%\" ], \"roseType\": false , \"emphasis\": { \"itemStyle\": { \"shadowBlur\": 20, \"shadowOffsetX\": 2, \"shadowColor\": \"rgba(0, 0, 0, 0)\" } }} ] }\n }\n ],\n \"key\": \"group\",\n \"option\": {}\n },\n {\n \"id\": \"2js0ncv6kpc000\",\n \"isGroup\": true,\n \"attr\": { \"w\": 426, \"h\": 865, \"x\": 874, \"y\": 1200, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"chartConfig\": { \"key\": \"group\", \"chartKey\": \"group\", \"conKey\": \"group\", \"category\": \"group\", \"categoryName\": \"group\", \"package\": \"group\", \"chartFrame\": \"common\", \"title\": \"公司项目状态分布\", \"image\": \"\" },\n \"groupList\": [\n {\n \"id\": \"4d4pumofn5g000\",\n \"isGroup\": false,\n \"attr\": { \"x\": 0, \"y\": 0, \"w\": 426, \"h\": 500, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"Border03\",\n \"chartConfig\": { \"key\": \"Border03\", \"chartKey\": \"VBorder03\", \"conKey\": \"VCBorder03\", \"title\": \"公司项目状态分布\", \"category\": \"Borders\", \"categoryName\": \"边框\", \"package\": \"Decorates\", \"image\": \"\" },\n \"option\": { \"colors\": [ \"#0a1c3700\", \"#042b4d00\" ], \"backgroundColor\": \"#0a1c38\" }\n },\n {\n \"id\": \"50qj95gt8fs000\",\n \"sourceID\": 1044,\n \"isGroup\": false,\n \"attr\": { \"x\": 10, \"y\": 60, \"w\": 400, \"h\": 400, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"PieCommon\",\n \"chartConfig\": { \"key\": \"PieCommon\", \"chartKey\": \"VPieCommon\", \"conKey\": \"VCPieCommon\", \"title\": \"饼图\", \"category\": \"Pies\", \"categoryName\": \"饼图\", \"package\": \"Charts\", \"chartFrame\": \"echarts\", \"image\": \"static/png/pie-9620f191.png\" },\n \"option\": { \"legend\": { \"show\": true, \"top\": \"5%\", \"textStyle\": { \"color\": \"#B9B8CE\" } }, \"type\": \"nomal\", \"tooltip\": { \"show\": true, \"trigger\": \"item\" }, \"dataset\": { \"dimensions\": [ \"product\", \"data1\" ], \"source\": [ { \"product\": \"Mon\", \"data1\": 120 }, { \"product\": \"Tue\", \"data1\": 200 }, { \"product\": \"Wed\", \"data1\": 150 }, { \"product\": \"Thu\", \"data1\": 80 }, { \"product\": \"Fri\", \"data1\": 70 }, { \"product\": \"Sat\", \"data1\": 110 }, { \"product\": \"Sun\", \"data1\": 130 } ] }, \"series\": [ { \"type\": \"pie\", \"radius\": [ \"30%\", \"30%\" ], \"label\": { \"show\": true, \"width\": 120, \"formatter\": \"{b}\\n{d}%\", \"lineHeight\": 20, \"color\": \"#ffffff\", \"position\": \"outside\", \"position\": \"outside\", \"alignTo\": \"edge\", \"margin\": 5 }, \"center\": [ \"50%\", \"55%\" ], \"roseType\": false , \"emphasis\": { \"itemStyle\": { \"shadowBlur\": 20, \"shadowOffsetX\": 2, \"shadowColor\": \"rgba(0, 0, 0, 0)\" } }} ] }\n },\n {\"id\": \"36zg35ree9q000\",\n \"isGroup\": false,\n \"attr\": { \"x\": 0, \"y\": 0, \"w\": 400, \"h\": 85, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"TextCommon\",\n \"chartConfig\": { \"key\": \"TextCommon\", \"chartKey\": \"VTextCommon\", \"conKey\": \"VCTextCommon\", \"title\": \"公司项目状态分布\", \"category\": \"Texts\", \"categoryName\": \"文本\", \"package\": \"Informations\", \"image\": \"static/png/text_static-b2721032.png\" },\n \"option\": { \"link\": \"\", \"linkHead\": \"http://\", \"dataset\": \"公司项目状态分布\", \"fontSize\": 14, \"fontColor\": \"#ffffff\", \"paddingX\": 10, \"paddingY\": 10, \"textAlign\": \"center\", \"fontWeight\": \"bold\", \"borderWidth\": 0, \"borderColor\": \"#ffffff\", \"borderRadius\": 5, \"letterSpacing\": 5, \"writingMode\": \"horizontal-tb\", \"backgroundColor\": \"#00000000\" }\n }\n ],\n \"key\": \"group\",\n \"option\": {}\n },\n {\n \"id\": \"1cfwp95aiif400\",\n \"isGroup\": false,\n \"attr\": { \"x\": 0, \"y\": 1710, \"w\": 1300, \"h\": 525, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"Border03\",\n \"chartConfig\": { \"key\": \"Border03\", \"chartKey\": \"VBorder03\", \"conKey\": \"VCBorder03\", \"title\": \"summary\", \"category\": \"Borders\", \"categoryName\": \"边框\", \"package\": \"Decorates\", \"image\": \"\" },\n \"option\": { \"colors\": [ \"#00102800\", \"#00102800\" ], \"backgroundColor\": \"#0a1c38\" }\n },\n {\n \"id\": \"vwvqtuc6lyo00\",\n \"isGroup\": true,\n \"attr\": { \"w\": 1300, \"h\": 120, \"x\": 0, \"y\": 1710, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"chartConfig\": { \"key\": \"group\", \"chartKey\": \"group\", \"conKey\": \"group\", \"category\": \"group\", \"categoryName\": \"group\", \"package\": \"group\", \"chartFrame\": \"common\", \"title\": \"标题\", \"image\": \"\" },\n \"groupList\": [\n {\n \"id\": \"5l0cps9x0z0000\",\n \"isGroup\": false,\n \"attr\": { \"x\": 15, \"y\": 0, \"w\": 187, \"h\": 68, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"TextCommon\",\n \"chartConfig\": { \"key\": \"TextCommon\", \"chartKey\": \"VTextCommon\", \"conKey\": \"VCTextCommon\", \"title\": \"summary_top\", \"category\": \"Texts\", \"categoryName\": \"文本\", \"package\": \"Informations\", \"image\": \"static/png/text_static-b2721032.png\" },\n \"option\": { \"link\": \"\", \"linkHead\": \"http://\", \"dataset\": \"产品数据概览\", \"fontSize\": 14, \"fontColor\": \"#b2d5e5\", \"paddingX\": 10, \"paddingY\": 10, \"textAlign\": \"left\", \"fontWeight\": \"bold\", \"borderWidth\": 0, \"borderColor\": \"#ffffff\", \"borderRadius\": 5, \"letterSpacing\": 5, \"writingMode\": \"horizontal-tb\", \"backgroundColor\": \"#00000000\" }\n },\n {\n \"id\": \"3ajkrqyykr8000\",\n \"isGroup\": false,\n \"attr\": { \"x\": 150, \"y\": 26, \"w\": 14, \"h\": 11, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"Image\",\n \"chartConfig\": { \"key\": \"Image\", \"chartKey\": \"VImage\", \"conKey\": \"VCImage\", \"title\": \"header\", \"category\": \"Mores\", \"categoryName\": \"更多\", \"package\": \"Informations\", \"chartFrame\": \"common\", \"image\": \"static/png/photo-637bc05d.png\" },\n \"option\": { \"dataset\": \"static/images/line_left.png\", \"borderRadius\": 0 }\n },\n {\n \"id\": \"2z65lmxl328000\",\n \"isGroup\": false,\n \"attr\": { \"x\": 170, \"y\": 28, \"w\": 1105, \"h\": 10, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"Image\",\n \"chartConfig\": { \"key\": \"Image\", \"chartKey\": \"VImage\", \"conKey\": \"VCImage\", \"title\": \"header\", \"category\": \"Mores\", \"categoryName\": \"更多\", \"package\": \"Informations\", \"chartFrame\": \"common\", \"image\": \"static/png/photo-637bc05d.png\" },\n \"option\": { \"dataset\": \"static/images/line_right.png\", \"fit\": \"fill\", \"borderRadius\": 0 }\n },\n {\n \"id\": \"1zhfrmecpnxc00\",\n \"sourceID\": 1045,\n \"isGroup\": false,\n \"attr\": { \"x\": 25, \"y\": 57, \"w\": 1250, \"h\": 446, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"TableScrollBoard\",\n \"chartConfig\": { \"key\": \"TableScrollBoard\", \"chartKey\": \"VTableScrollBoard\", \"conKey\": \"VCTableScrollBoard\", \"title\": \"轮播列表\", \"category\": \"Tables\", \"categoryName\": \"表格\", \"package\": \"Tables\", \"chartFrame\": \"common\", \"image\": \"static/png/table_scrollboard-fb642e78.png\" },\n \"option\": { \"header\": [ \"列1\", \"列2\", \"列3\" ], \"dataset\": [ [ \"行1列1\", \"行1列2\", \"行1列3\" ], [ \"行2列1\", \"行2列2\", \"行2列3\" ], [ \"行3列1\", \"行3列2\", \"行3列3\" ], [ \"行4列1\", \"行4列2\", \"行4列3\" ], [ \"行5列1\", \"行5列2\", \"行5列3\" ], [ \"行6列1\", \"行6列2\", \"行6列3\" ], [ \"行6列1\", \"行6列2\", \"行6列3\" ], [ \"行6列1\", \"行6列2\", \"行6列3\" ], [ \"行6列1\", \"行6列2\", \"行6列3\" ], [ \"行6列1\", \"行6列2\", \"行6列3\" ] ], \"index\": false, \"columnWidth\": [], \"align\": [ \"center\", \"center\",\"center\",\"center\",\"center\",\"center\",\"center\",\"center\"], \"rowNum\": 8, \"waitTime\": 3, \"headerHeight\": 45, \"carousel\": \"single\", \"headerBGC\": \"#165896FF\", \"oddRowBGC\": \"#042b4dFF\", \"evenRowBGC\": \"#0a1c37FF\" }\n }\n ],\n \"key\": \"group\",\n \"option\": {}\n },\n {\n \"id\": \"sl2d95i1hz400\",\n \"isGroup\": true,\n \"attr\": { \"w\": 640, \"h\": 500, \"x\": 0, \"y\": 2250, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"chartConfig\": { \"key\": \"group\", \"chartKey\": \"group\", \"conKey\": \"group\", \"category\": \"group\", \"categoryName\": \"group\", \"package\": \"group\", \"chartFrame\": \"common\", \"title\": \"产品需求完成率\", \"image\": \"\" },\n \"groupList\": [\n {\n \"id\": \"57zre1am96c000\",\n \"isGroup\": false,\n \"attr\": { \"x\": 0, \"y\": 0, \"w\": 640, \"h\": 500, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"Border03\",\n \"chartConfig\": { \"key\": \"Border03\", \"chartKey\": \"VBorder03\", \"conKey\": \"VCBorder03\", \"title\": \"产品需求完成率\", \"category\": \"Borders\", \"categoryName\": \"边框\", \"package\": \"Decorates\", \"image\": \"\" },\n \"option\": { \"colors\": [ \"#0a1c3700\", \"#042b4d00\" ], \"backgroundColor\": \"#0a1c38\" }\n },\n {\n \"id\": \"42ae8w3dgeg000\",\n \"sourceID\": 1046,\n \"isGroup\": false,\n \"attr\": { \"x\": 30, \"y\": 60, \"w\": 530, \"h\": 416, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"BarCrossrange\",\n \"chartConfig\": { \"key\": \"BarCrossrange\", \"chartKey\": \"VBarCrossrange\", \"conKey\": \"VCBarCrossrange\", \"title\": \"横向柱状图\", \"category\": \"Bars\", \"categoryName\": \"柱状图\", \"package\": \"Charts\", \"chartFrame\": \"echarts\", \"image\": \"static/png/bar_y-05067169.png\" },\n \"option\": {\n \"legend\": {\n \"show\": false,\n \"top\": \"5%\",\n \"textStyle\": { \"color\": \"#B9B8CE\" }\n },\n \"xAxis\": {\n \"show\": true, \"name\": \"\",\n \"nameGap\": 15,\n \"nameTextStyle\": {\n \"color\": \"#B9B8CE\",\n \"fontSize\": 12\n },\n \"inverse\": false,\n \"axisLabel\": {\n \"show\": true, \"fontSize\": 12, \"color\": \"#B9B8CE\", \"rotate\": 0, \"formatter\": \"{value}%\"\n },\n \"position\": \"bottom\",\n \"axisLine\": { \"show\": true, \"lineStyle\": { \"color\": \"#B9B8CE\", \"width\": 1 }, \"onZero\": true },\n \"axisTick\": { \"show\": true, \"length\": 5 },\n \"splitLine\": { \"show\": false, \"lineStyle\": { \"color\": \"#484753\", \"width\": 1, \"type\": \"solid\" } }\n },\n \"yAxis\": { \"show\": true, \"name\": \"\", \"nameGap\": 15, \"nameTextStyle\": { \"color\": \"#B9B8CE\", \"fontSize\": 12 }, \"inverse\": true, \"axisLabel\": { \"show\": true, \"fontSize\": 12, \"color\": \"#B9B8CE\", \"rotate\": 0}, \"position\": \"left\", \"axisLine\": { \"show\": true, \"lineStyle\": { \"color\": \"#B9B8CE\", \"width\": 1 }, \"onZero\": true }, \"axisTick\": { \"show\": false, \"length\": 5 }, \"splitLine\": { \"show\": false, \"lineStyle\": { \"color\": \"#484753\", \"width\": 1, \"type\": \"solid\" } }, \"type\": \"category\" },\n \"grid\": { \"show\": false, \"left\": \"15%\", \"top\": \"60\", \"right\": \"12%\", \"bottom\": \"60\" },\n \"tooltip\": { \"show\": true, \"trigger\": \"item\", \"axisPointer\": { \"show\": true, \"type\": \"shadow\" } },\n \"dataset\": { \"dimensions\": [ \"product\", \"data1\" ], \"source\": [ { \"product\": \"Mon\", \"data1\": 120, \"data2\": 130 }, { \"product\": \"Tue\", \"data1\": 200, \"data2\": 130 }, { \"product\": \"Wed\", \"data1\": 150, \"data2\": 312 }, { \"product\": \"Thu\", \"data1\": 80, \"data2\": 268 }, { \"product\": \"Fri\", \"data1\": 70, \"data2\": 155 }, { \"product\": \"Sat\", \"data1\": 110, \"data2\": 117 }, { \"product\": \"Sun\", \"data1\": 130, \"data2\": 160 } ] },\n \"series\": [ { \"type\": \"bar\", \"barMaxWidth\": 28, \"barWidth\": null, \"label\": { \"show\": true, \"formatter\": \"{@[1]}%\", \"position\": \"right\", \"color\": \"#fff\", \"fontSize\": 12 }, \"itemStyle\": { \"color\": null, \"borderRadius\": 0 } } ],\n \"backgroundColor\": \"rgba(0,0,0,0)\",\n \"dataZoom\": [\n {\n \"type\": \"inside\",\n \"startValue\": 0,\n \"endValue\": 6,\n \"minValueSpan\": 10,\n \"maxValueSpan\": 10,\n \"yAxisIndex\": [0],\n \"zoomOnMouseWheel\": false,\n \"moveOnMouseWheel\": true,\n \"moveOnMouseMove\": true\n },\n {\n \"type\": \"slider\",\n \"realtime\": true,\n \"startValue\": 0,\n \"endValue\": 6,\n \"zoomLock\": true,\n \"brushSelect\": false,\n \"width\": 5,\n \"height\": \"80%\",\n \"handleIcon\": \"path://M30.9,53.2C16.8,53.2,5.3,41.7,5.3,27.6S16.8,2,30.9,2C45,2,56.4,13.5,56.4,27.6S45,53.2,30.9,53.2z M30.9,3.5M36.9,35.8h-1.3z M27.8,35.8 h-1.3H27L27.8,35.8L27.8,35.8z\",\n \"handleSize\": \"100%\",\n \"yAxisIndex\": [0],\n \"fillerColor\": \"#33aaff\",\n \"borderColor\": \"#33aaff00\",\n \"borderCap\": \"round\",\n \"backgroundColor\": \"#cfcfcf00\",\n \"handleSize\":0,\n \"showDataShadow\": false,\n \"showDetail\": false,\n \"top\": \"10%\",\n \"right\": 0\n }\n ]\n\n }\n },\n {\n \"id\": \"579jc04cfps000\",\n \"isGroup\": false,\n \"attr\": { \"x\": 90, \"y\": 0, \"w\": 500, \"h\": 100, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"TextCommon\",\n \"chartConfig\": { \"key\": \"TextCommon\", \"chartKey\": \"VTextCommon\", \"conKey\": \"VCTextCommon\", \"title\": \"产品需求完成率\", \"category\": \"Texts\", \"categoryName\": \"文本\", \"package\": \"Informations\", \"image\": \"static/png/text_static-b2721032.png\" },\n \"option\": { \"link\": \"\", \"linkHead\": \"http://\", \"dataset\": \"产品需求完成率\", \"fontSize\": 14, \"fontColor\": \"#ffffff\", \"paddingX\": 10, \"paddingY\": 10, \"textAlign\": \"center\", \"fontWeight\": \"bold\", \"borderWidth\": 0, \"borderColor\": \"#ffffff\", \"borderRadius\": 5, \"letterSpacing\": 5, \"writingMode\": \"horizontal-tb\", \"backgroundColor\": \"#00000000\" }\n }\n ],\n \"key\": \"group\",\n \"option\": {}\n },\n {\n \"id\": \"nr1mfqoyuwg00\",\n \"isGroup\": true,\n \"attr\": { \"w\": 645, \"h\": 500, \"x\": 655, \"y\": 2250, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"chartConfig\": { \"key\": \"group\", \"chartKey\": \"group\", \"conKey\": \"group\", \"category\": \"group\", \"categoryName\": \"group\", \"package\": \"group\", \"chartFrame\": \"common\", \"title\": \"项目集需求完成率与Bug\", \"image\": \"\" },\n \"groupList\": [\n {\n \"id\": \"2ta7xcd152i000\",\n \"isGroup\": false,\n \"attr\": { \"x\": 0, \"y\": 0, \"w\": 645, \"h\": 500, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"Border03\",\n \"chartConfig\": { \"key\": \"Border03\", \"chartKey\": \"VBorder03\", \"conKey\": \"VCBorder03\", \"title\": \"产品Bug修复率\", \"category\": \"Borders\", \"categoryName\": \"边框\", \"package\": \"Decorates\", \"image\": \"\" },\n \"option\": { \"colors\": [ \"#0a1c3700\", \"#042b4d00\" ], \"backgroundColor\": \"#0a1c38\" }\n },\n {\n \"id\": \"4o7ep6z91ii000\",\n \"sourceID\": 1047,\n \"isGroup\": false,\n \"attr\": { \"x\": 30, \"y\": 60, \"w\": 540, \"h\": 416, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"BarCrossrange\",\n \"chartConfig\": { \"key\": \"BarCrossrange\", \"chartKey\": \"VBarCrossrange\", \"conKey\": \"VCBarCrossrange\", \"title\": \"横向柱状图\", \"category\": \"Bars\", \"categoryName\": \"柱状图\", \"package\": \"Charts\", \"chartFrame\": \"echarts\", \"image\": \"static/png/bar_y-05067169.png\" },\n \"option\": {\n \"legend\": {\n \"show\": false,\n \"top\": \"5%\",\n \"textStyle\": { \"color\": \"#B9B8CE\" }\n },\n \"xAxis\": {\n \"show\": true, \"name\": \"\",\n \"nameGap\": 15,\n \"nameTextStyle\": {\n \"color\": \"#B9B8CE\",\n \"fontSize\": 12\n },\n \"inverse\": false,\n \"axisLabel\": {\n \"show\": true, \"fontSize\": 12, \"color\": \"#B9B8CE\", \"rotate\": 0, \"formatter\": \"{value}%\"\n },\n \"position\": \"bottom\",\n \"axisLine\": { \"show\": true, \"lineStyle\": { \"color\": \"#B9B8CE\", \"width\": 1 }, \"onZero\": true },\n \"axisTick\": { \"show\": true, \"length\": 5 },\n \"splitLine\": { \"show\": false, \"lineStyle\": { \"color\": \"#484753\", \"width\": 1, \"type\": \"solid\" } }\n },\n \"yAxis\": { \"show\": true, \"name\": \"\", \"nameGap\": 15, \"nameTextStyle\": { \"color\": \"#B9B8CE\", \"fontSize\": 12 }, \"inverse\": true, \"axisLabel\": { \"show\": true, \"fontSize\": 12, \"color\": \"#B9B8CE\", \"rotate\": 0}, \"position\": \"left\", \"axisLine\": { \"show\": true, \"lineStyle\": { \"color\": \"#B9B8CE\", \"width\": 1 }, \"onZero\": true }, \"axisTick\": { \"show\": false, \"length\": 5 }, \"splitLine\": { \"show\": false, \"lineStyle\": { \"color\": \"#484753\", \"width\": 1, \"type\": \"solid\" } }, \"type\": \"category\" },\n \"grid\": { \"show\": false, \"left\": \"15%\", \"top\": \"60\", \"right\": \"12%\", \"bottom\": \"60\" },\n \"tooltip\": { \"show\": true, \"trigger\": \"axis\", \"axisPointer\": { \"show\": true, \"type\": \"shadow\" } },\n \"dataset\": { \"dimensions\": [ \"product\", \"data1\" ], \"source\": [ { \"product\": \"Mon\", \"data1\": 120, \"data2\": 130 }, { \"product\": \"Tue\", \"data1\": 200, \"data2\": 130 }, { \"product\": \"Wed\", \"data1\": 150, \"data2\": 312 }, { \"product\": \"Thu\", \"data1\": 80, \"data2\": 268 }, { \"product\": \"Fri\", \"data1\": 70, \"data2\": 155 }, { \"product\": \"Sat\", \"data1\": 110, \"data2\": 117 }, { \"product\": \"Sun\", \"data1\": 130, \"data2\": 160 } ] },\n \"series\": [ { \"type\": \"bar\", \"barMaxWidth\": 28, \"barWidth\": null, \"label\": { \"show\": true, \"formatter\": \"{@[1]}%\", \"position\": \"right\", \"color\": \"#fff\", \"fontSize\": 12 }, \"itemStyle\": { \"color\": null, \"borderRadius\": 0 } } ],\n \"backgroundColor\": \"rgba(0,0,0,0)\",\n \"dataZoom\": [\n {\n \"type\": \"inside\",\n \"startValue\": 0,\n \"endValue\": 6,\n \"minValueSpan\": 10,\n \"maxValueSpan\": 10,\n \"yAxisIndex\": [0],\n \"zoomOnMouseWheel\": false,\n \"moveOnMouseWheel\": true,\n \"moveOnMouseMove\": true\n },\n {\n \"type\": \"slider\",\n \"realtime\": true,\n \"startValue\": 0,\n \"endValue\": 6,\n \"zoomLock\": true,\n \"brushSelect\": false,\n \"width\": 5,\n \"height\": \"80%\",\n \"handleIcon\": \"path://M30.9,53.2C16.8,53.2,5.3,41.7,5.3,27.6S16.8,2,30.9,2C45,2,56.4,13.5,56.4,27.6S45,53.2,30.9,53.2z M30.9,3.5M36.9,35.8h-1.3z M27.8,35.8 h-1.3H27L27.8,35.8L27.8,35.8z\",\n \"handleSize\": \"100%\",\n \"yAxisIndex\": [0],\n \"fillerColor\": \"#33aaff\",\n \"borderColor\": \"#33aaff00\",\n \"borderCap\": \"round\",\n \"backgroundColor\": \"#cfcfcf00\",\n \"handleSize\":0,\n \"showDataShadow\": false,\n \"showDetail\": false,\n \"top\": \"10%\",\n \"right\": 0\n }\n ]\n\n }\n },\n {\n \"id\": \"4vcyxy305n6000\",\n \"isGroup\": false,\n \"attr\": { \"x\": 90, \"y\": 0, \"w\": 500, \"h\": 100, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"TextCommon\",\n \"chartConfig\": { \"key\": \"TextCommon\", \"chartKey\": \"VTextCommon\", \"conKey\": \"VCTextCommon\", \"title\": \"产品Bug修复率\", \"category\": \"Texts\", \"categoryName\": \"文本\", \"package\": \"Informations\", \"image\": \"static/png/text_static-b2721032.png\" },\n \"option\": { \"link\": \"\", \"linkHead\": \"http://\", \"dataset\": \"产品Bug修复率\", \"fontSize\": 14, \"fontColor\": \"#ffffff\", \"paddingX\": 10, \"paddingY\": 10, \"textAlign\": \"center\", \"fontWeight\": \"bold\", \"borderWidth\": 0, \"borderColor\": \"#ffffff\", \"borderRadius\": 5, \"letterSpacing\": 5, \"writingMode\": \"horizontal-tb\", \"backgroundColor\": \"#00000000\" }\n }\n ],\n \"key\": \"group\",\n \"option\": {}\n },\n {\n \"id\": \"45ao1xz9kzu000\",\n \"isGroup\": true,\n \"attr\": { \"w\": 426, \"h\": 500, \"x\": 0, \"y\": 2770, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"chartConfig\": { \"key\": \"group\", \"chartKey\": \"group\", \"conKey\": \"group\", \"category\": \"group\", \"categoryName\": \"group\", \"package\": \"group\", \"chartFrame\": \"common\", \"title\": \"部门人员分布图\", \"image\": \"\" },\n \"groupList\": [\n {\n \"id\": \"1ncdmrlvzjy800\",\n \"isGroup\": false,\n \"attr\": { \"x\": 0, \"y\": 0, \"w\": 426, \"h\": 500, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"Border03\",\n \"chartConfig\": { \"key\": \"Border03\", \"chartKey\": \"VBorder03\", \"conKey\": \"VCBorder03\", \"title\": \"部门人员分布图\", \"category\": \"Borders\", \"categoryName\": \"边框\", \"package\": \"Decorates\", \"image\": \"\" },\n \"option\": { \"colors\": [ \"#0a1c3700\", \"#042b4d00\" ], \"backgroundColor\": \"#0a1c38\" }\n },\n {\n \"id\": \"v3d9spa59dc00\",\n \"sourceID\": 1049,\n \"isGroup\": false,\n \"attr\": { \"x\": 20, \"y\": 50, \"w\": 380, \"h\": 426, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"BarCrossrange\",\n \"chartConfig\": { \"key\": \"BarCrossrange\", \"chartKey\": \"VBarCrossrange\", \"conKey\": \"VCBarCrossrange\", \"title\": \"横向柱状图\", \"category\": \"Bars\", \"categoryName\": \"柱状图\", \"package\": \"Charts\", \"chartFrame\": \"echarts\", \"image\": \"static/png/bar_y-05067169.png\" },\n \"option\": {\n \"legend\": {\n \"show\": false,\n \"top\": \"5%\",\n \"textStyle\": { \"color\": \"#B9B8CE\" }\n },\n \"xAxis\": {\n \"show\": true, \"name\": \"\",\n \"nameGap\": 15,\n \"nameTextStyle\": {\n \"color\": \"#B9B8CE\",\n \"fontSize\": 12\n },\n \"inverse\": false,\n \"axisLabel\": {\n \"show\": true, \"fontSize\": 12, \"color\": \"#B9B8CE\", \"rotate\": 0, \"formatter\": \"{value}\"\n },\n \"position\": \"bottom\",\n \"axisLine\": { \"show\": true, \"lineStyle\": { \"color\": \"#B9B8CE\", \"width\": 1 }, \"onZero\": true },\n \"axisTick\": { \"show\": true, \"length\": 5 },\n \"splitLine\": { \"show\": false, \"lineStyle\": { \"color\": \"#484753\", \"width\": 1, \"type\": \"solid\" } }\n },\n \"yAxis\": { \"show\": true, \"name\": \"\", \"nameGap\": 15, \"nameTextStyle\": { \"color\": \"#B9B8CE\", \"fontSize\": 12 }, \"inverse\": true, \"axisLabel\": { \"show\": true, \"fontSize\": 12, \"color\": \"#B9B8CE\", \"rotate\": 0}, \"position\": \"left\", \"axisLine\": { \"show\": true, \"lineStyle\": { \"color\": \"#B9B8CE\", \"width\": 1 }, \"onZero\": true }, \"axisTick\": { \"show\": false, \"length\": 5 }, \"splitLine\": { \"show\": false, \"lineStyle\": { \"color\": \"#484753\", \"width\": 1, \"type\": \"solid\" } }, \"type\": \"category\" },\n \"grid\": { \"show\": false, \"left\": \"15%\", \"top\": \"60\", \"right\": \"12%\", \"bottom\": \"60\" },\n \"tooltip\": { \"show\": true, \"trigger\": \"axis\", \"axisPointer\": { \"show\": true, \"type\": \"shadow\" } },\n \"dataset\": { \"dimensions\": [ \"product\", \"data1\" ], \"source\": [ { \"product\": \"Mon\", \"data1\": 120, \"data2\": 130 }, { \"product\": \"Tue\", \"data1\": 200, \"data2\": 130 }, { \"product\": \"Wed\", \"data1\": 150, \"data2\": 312 }, { \"product\": \"Thu\", \"data1\": 80, \"data2\": 268 }, { \"product\": \"Fri\", \"data1\": 70, \"data2\": 155 }, { \"product\": \"Sat\", \"data1\": 110, \"data2\": 117 }, { \"product\": \"Sun\", \"data1\": 130, \"data2\": 160 } ] },\n \"series\": [ { \"type\": \"bar\", \"barMaxWidth\": 28, \"barWidth\": null, \"label\": { \"show\": true, \"formatter\": \"{@[1]}\", \"position\": \"right\", \"color\": \"#fff\", \"fontSize\": 12 }, \"itemStyle\": { \"color\": null, \"borderRadius\": 0 } } ],\n \"backgroundColor\": \"rgba(0,0,0,0)\",\n \"dataZoom\": [\n {\n \"type\": \"inside\",\n \"startValue\": 0,\n \"endValue\": 5,\n \"minValueSpan\": 10,\n \"maxValueSpan\": 10,\n \"yAxisIndex\": [0],\n \"zoomOnMouseWheel\": false,\n \"moveOnMouseWheel\": true,\n \"moveOnMouseMove\": true\n },\n {\n \"type\": \"slider\",\n \"realtime\": true,\n \"startValue\": 0,\n \"endValue\": 6,\n \"zoomLock\": true,\n \"brushSelect\": false,\n \"width\": 5,\n \"height\": \"80%\",\n \"handleIcon\": \"path://M30.9,53.2C16.8,53.2,5.3,41.7,5.3,27.6S16.8,2,30.9,2C45,2,56.4,13.5,56.4,27.6S45,53.2,30.9,53.2z M30.9,3.5M36.9,35.8h-1.3z M27.8,35.8 h-1.3H27L27.8,35.8L27.8,35.8z\",\n \"handleSize\": \"100%\",\n \"yAxisIndex\": [0],\n \"fillerColor\": \"#33aaff\",\n \"borderColor\": \"#33aaff00\",\n \"borderCap\": \"round\",\n \"backgroundColor\": \"#cfcfcf00\",\n \"handleSize\":0,\n \"showDataShadow\": false,\n \"showDetail\": false,\n \"top\": \"10%\",\n \"right\": 0\n }\n ]\n\n }\n },\n {\n \"id\": \"wam6ydb8zqo00\",\n \"isGroup\": false,\n \"attr\": { \"x\": 15, \"y\": 0, \"w\": 378, \"h\": 100, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"TextCommon\",\n \"chartConfig\": { \"key\": \"TextCommon\", \"chartKey\": \"VTextCommon\", \"conKey\": \"VCTextCommon\", \"title\": \"部门人员分布图\", \"category\": \"Texts\", \"categoryName\": \"文本\", \"package\": \"Informations\", \"image\": \"static/png/text_static-b2721032.png\" },\n \"option\": { \"link\": \"\", \"linkHead\": \"http://\", \"dataset\": \"部门人员分布图\", \"fontSize\": 14, \"fontColor\": \"#ffffff\", \"paddingX\": 10, \"paddingY\": 10, \"textAlign\": \"center\", \"fontWeight\": \"bold\", \"borderWidth\": 0, \"borderColor\": \"#ffffff\", \"borderRadius\": 5, \"letterSpacing\": 5, \"writingMode\": \"horizontal-tb\", \"backgroundColor\": \"#00000000\" }\n }\n ],\n \"key\": \"group\",\n \"option\": {}\n },\n {\n \"id\": \"2dg0t90atgg000\",\n \"isGroup\": true,\n \"attr\": { \"w\": 426, \"h\": 500, \"x\": 437, \"y\": 2770, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"chartConfig\": { \"key\": \"group\", \"chartKey\": \"group\", \"conKey\": \"group\", \"category\": \"group\", \"categoryName\": \"group\", \"package\": \"group\", \"chartFrame\": \"common\", \"title\": \"公司角色分布图\", \"image\": \"\" },\n \"groupList\": [\n {\n \"id\": \"53ynqk2kzh8000\",\n \"isGroup\": false,\n \"attr\": { \"x\": 0, \"y\": 0, \"w\": 426, \"h\": 500, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"Border03\",\n \"chartConfig\": { \"key\": \"Border03\", \"chartKey\": \"VBorder03\", \"conKey\": \"VCBorder03\", \"title\": \"公司角色分布图\", \"category\": \"Borders\", \"categoryName\": \"边框\", \"package\": \"Decorates\", \"image\": \"\" },\n \"option\": { \"colors\": [ \"#0a1c3700\", \"#042b4d00\" ], \"backgroundColor\": \"#0a1c38\" }\n },\n {\n \"id\": \"1knkjcb65rwg00\",\n \"isGroup\": false,\n \"attr\": { \"x\": 0, \"y\": 25, \"w\": 426, \"h\": 45, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"TextCommon\",\n \"chartConfig\": { \"key\": \"TextCommon\", \"chartKey\": \"VTextCommon\", \"conKey\": \"VCTextCommon\", \"title\": \"公司角色分布图\", \"category\": \"Texts\", \"categoryName\": \"文本\", \"package\": \"Informations\", \"image\": \"static/png/text_static-b2721032.png\" },\n \"option\": { \"link\": \"\", \"linkHead\": \"http://\", \"dataset\": \"公司角色分布图\", \"fontSize\": 14, \"fontColor\": \"#ffffff\", \"paddingX\": 10, \"paddingY\": 10, \"textAlign\": \"center\", \"fontWeight\": \"bold\", \"borderWidth\": 0, \"borderColor\": \"#ffffff\", \"borderRadius\": 5, \"letterSpacing\": 5, \"writingMode\": \"horizontal-tb\", \"backgroundColor\": \"#00000000\" }\n },\n {\n \"id\": \"mblj8ow100000\",\n \"sourceID\": 1050,\n \"isGroup\": false,\n \"attr\": { \"x\": 20, \"y\": 60, \"w\": 400, \"h\": 420, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"PieCommon\",\n \"chartConfig\": { \"key\": \"PieCommon\", \"chartKey\": \"VPieCommon\", \"conKey\": \"VCPieCommon\", \"title\": \"需求完成率\", \"category\": \"Pies\", \"categoryName\": \"饼图\", \"package\": \"Charts\", \"chartFrame\": \"echarts\", \"image\": \"static/png/pie-9620f191.png\" },\n \"option\": { \"legend\": { \"show\": true, \"top\": \"0%\", \"textStyle\": { \"color\": \"#B9B8CE\" } }, \"type\": \"nomal\", \"tooltip\": { \"show\": true, \"trigger\": \"item\" }, \"dataset\": { \"dimensions\": [ \"product\", \"data1\" ], \"source\": [ { \"product\": \"Mon\", \"data1\": 120 }, { \"product\": \"Tue\", \"data1\": 200 }, { \"product\": \"Wed\", \"data1\": 150 }, { \"product\": \"Thu\", \"data1\": 80 }, { \"product\": \"Fri\", \"data1\": 70 }, { \"product\": \"Sat\", \"data1\": 110 }, { \"product\": \"Sun\", \"data1\": 130 } ] }, \"series\": [ { \"type\": \"pie\", \"radius\": [ \"40%\", \"40%\" ], \"label\": { \"show\": true, \"width\": 120, \"formatter\": \"{b}\\n{d}%\", \"lineHeight\": 20, \"color\": \"#ffffff\", \"position\": \"outside\", \"alignTo\": \"edge\", \"margin\": 5 }, \"center\": [ \"50%\", \"65%\" ], \"roseType\": false , \"emphasis\": { \"itemStyle\": { \"shadowBlur\": 20, \"shadowOffsetX\": 2, \"shadowColor\": \"rgba(0, 0, 0, 0)\" } }} ] }\n }\n ],\n \"key\": \"group\",\n \"option\": {}\n },\n {\n \"id\": \"1j55da3c41vk00\",\n \"isGroup\": true,\n \"attr\": { \"w\": 426, \"h\": 500, \"x\": 874, \"y\": 2770, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"chartConfig\": { \"key\": \"group\", \"chartKey\": \"group\", \"conKey\": \"group\", \"category\": \"group\", \"categoryName\": \"group\", \"package\": \"group\", \"chartFrame\": \"common\", \"title\": \"人员工龄分布图\", \"image\": \"\" },\n \"groupList\": [\n {\n \"id\": \"1xqnm37nva8w00\",\n \"isGroup\": false,\n \"attr\": { \"x\": 0, \"y\": 0, \"w\": 426, \"h\": 500, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"Border03\",\n \"chartConfig\": { \"key\": \"Border03\", \"chartKey\": \"VBorder03\", \"conKey\": \"VCBorder03\", \"title\": \"人员工龄分布图\", \"category\": \"Borders\", \"categoryName\": \"边框\", \"package\": \"Decorates\", \"image\": \"\" },\n \"option\": { \"colors\": [ \"#0a1c3700\", \"#042b4d00\" ], \"backgroundColor\": \"#0a1c38\" }\n },\n {\n \"id\": \"5ll028fasrw000\",\n \"sourceID\": 1051,\n \"isGroup\": false,\n \"attr\": { \"x\": 20, \"y\": 50, \"w\": 380, \"h\": 426, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"BarCrossrange\",\n \"chartConfig\": { \"key\": \"BarCrossrange\", \"chartKey\": \"VBarCrossrange\", \"conKey\": \"VCBarCrossrange\", \"title\": \"横向柱状图\", \"category\": \"Bars\", \"categoryName\": \"柱状图\", \"package\": \"Charts\", \"chartFrame\": \"echarts\", \"image\": \"static/png/bar_y-05067169.png\" },\n \"option\": { \"legend\": { \"show\": false, \"top\": \"5%\", \"textStyle\": { \"color\": \"#B9B8CE\" } }, \"xAxis\": { \"show\": true, \"name\": \"\", \"nameGap\": 15, \"nameTextStyle\": { \"color\": \"#B9B8CE\", \"fontSize\": 12 }, \"inverse\": false, \"axisLabel\": { \"show\": true, \"fontSize\": 12, \"color\": \"#B9B8CE\", \"rotate\": 0 }, \"position\": \"bottom\", \"axisLine\": { \"show\": true, \"lineStyle\": { \"color\": \"#B9B8CE\", \"width\": 1 }, \"onZero\": true }, \"axisTick\": { \"show\": false, \"length\": 5 }, \"splitLine\": { \"show\": false, \"lineStyle\": { \"color\": \"#484753\", \"width\": 1, \"type\": \"solid\" } }, \"type\": \"value\" }, \"yAxis\": { \"show\": true, \"name\": \"\", \"nameGap\": 15, \"nameTextStyle\": { \"color\": \"#B9B8CE\", \"fontSize\": 12 }, \"inverse\": true, \"axisLabel\": { \"show\": true, \"fontSize\": 12, \"color\": \"#B9B8CE\", \"rotate\": 0 }, \"position\": \"left\", \"axisLine\": { \"show\": true, \"lineStyle\": { \"color\": \"#B9B8CE\", \"width\": 1 }, \"onZero\": true }, \"axisTick\": { \"show\": false, \"length\": 5 }, \"splitLine\": { \"show\": false, \"lineStyle\": { \"color\": \"#484753\", \"width\": 1, \"type\": \"solid\" } }, \"type\": \"category\" }, \"grid\": { \"show\": false, \"left\": \"20%\", \"top\": \"60\", \"right\": \"10%\", \"bottom\": \"60\" }, \"tooltip\": { \"show\": true, \"trigger\": \"axis\", \"axisPointer\": { \"show\": true, \"type\": \"shadow\" } }, \"dataset\": { \"dimensions\": [ \"product\", \"data1\", \"data2\" ], \"source\": [ { \"product\": \"Mon\", \"data1\": 120, \"data2\": 130 }, { \"product\": \"Tue\", \"data1\": 200, \"data2\": 130 }, { \"product\": \"Wed\", \"data1\": 150, \"data2\": 312 }, { \"product\": \"Thu\", \"data1\": 80, \"data2\": 268 }, { \"product\": \"Fri\", \"data1\": 70, \"data2\": 155 }, { \"product\": \"Sat\", \"data1\": 110, \"data2\": 117 }, { \"product\": \"Sun\", \"data1\": 130, \"data2\": 160 } ] }, \"series\": [ { \"type\": \"bar\", \"barMaxWidth\": 28, \"barWidth\": null, \"label\": { \"show\": true, \"position\": \"right\", \"color\": \"#fff\", \"fontSize\": 12 }, \"itemStyle\": { \"color\": null, \"borderRadius\": 0 } } ], \"backgroundColor\": \"rgba(0,0,0,0)\" }\n },\n {\n \"id\": \"4887ix47ule000\",\n \"isGroup\": false,\n \"attr\": { \"x\": 15, \"y\": 0, \"w\": 378, \"h\": 100, \"offsetX\": 0, \"offsetY\": 0, \"zIndex\": -1 },\n \"key\": \"TextCommon\",\n \"chartConfig\": { \"key\": \"TextCommon\", \"chartKey\": \"VTextCommon\", \"conKey\": \"VCTextCommon\", \"title\": \"人员工龄分布图\", \"category\": \"Texts\", \"categoryName\": \"文本\", \"package\": \"Informations\", \"image\": \"static/png/text_static-b2721032.png\" },\n \"option\": { \"link\": \"\", \"linkHead\": \"http://\", \"dataset\": \"人员工龄分布图\", \"fontSize\": 14, \"fontColor\": \"#ffffff\", \"paddingX\": 10, \"paddingY\": 10, \"textAlign\": \"center\", \"fontWeight\": \"bold\", \"borderWidth\": 0, \"borderColor\": \"#ffffff\", \"borderRadius\": 5, \"letterSpacing\": 5, \"writingMode\": \"horizontal-tb\", \"backgroundColor\": \"#00000000\" }\n }\n ],\n \"key\": \"group\",\n \"option\": {}\n }\n]\n','admin','2022-11-18 10:46:18','admin','2022-11-18 10:46:18','0'), diff --git a/framework/base/model.class.php b/framework/base/model.class.php index 3c734d0071..57e4210b72 100644 --- a/framework/base/model.class.php +++ b/framework/base/model.class.php @@ -308,7 +308,16 @@ class baseModel */ public function loadDAO() { - $this->dao = $this->app->loadClass('dao'); + global $config; + $driver = $config->db->driver; + + if(!class_exists($driver)) + { + $classFile = $this->app->coreLibRoot . 'dao' . DS . $driver . '.class.php'; + include($classFile); + } + + $this->dao = new $driver(); } /** diff --git a/framework/base/router.class.php b/framework/base/router.class.php index 467e085ff2..526c545790 100644 --- a/framework/base/router.class.php +++ b/framework/base/router.class.php @@ -759,7 +759,7 @@ class baseRouter */ public function getInstalledVersion() { - $version = $this->dbh->query("SELECT value FROM " . TABLE_CONFIG . " WHERE `owner` = 'system' AND `key` = 'version' AND `module` = 'common' AND `section` = 'global' LIMIT 1")->fetch(); + $version = $this->dbh->query("SELECT `value` FROM " . TABLE_CONFIG . " WHERE `owner` = 'system' AND `key` = 'version' AND `module` = 'common' AND `section` = 'global' LIMIT 1")->fetch(); $version = $version ? $version->value : '0.3.beta'; // No version, set as 0.3.beta. if($version == '3.0.stable') $version = '3.0'; // convert 3.0.stable to 3.0. return $version; diff --git a/framework/router.class.php b/framework/router.class.php index 9be28106e7..cc41e45be3 100755 --- a/framework/router.class.php +++ b/framework/router.class.php @@ -78,7 +78,7 @@ class router extends baseRouter { if($this->dbh) { - $langs = $this->dbh->query('SELECT value FROM' . TABLE_CONFIG . "WHERE `owner`='system' AND `module`='common' AND `section`='global' AND `key`='langs'")->fetch(); + $langs = $this->dbh->query('SELECT `value` FROM ' . TABLE_CONFIG . " WHERE `owner`='system' AND `module`='common' AND `section`='global' AND `key`='langs'")->fetch(); $langs = empty($langs) ? array() : json_decode($langs->value, true); foreach($langs as $langKey => $langData) $this->config->langs[$langKey] = $langData['name']; } @@ -171,7 +171,7 @@ class router extends baseRouter try { - $commonSettings = $this->dbh->query('SELECT section, `key`, value FROM' . TABLE_CONFIG . "WHERE `owner`='system' AND (`module`='custom' or `module`='common') and `key` in ('sprintConcept', 'hourPoint', 'URSR', 'mode', 'URAndSR', 'scoreStatus', 'disabledFeatures', 'closedFeatures')")->fetchAll(); + $commonSettings = $this->dbh->query('SELECT `section`, `key`, `value` FROM' . TABLE_CONFIG . "WHERE `owner`='system' AND (`module`='custom' or `module`='common') and `key` in ('sprintConcept', 'hourPoint', 'URSR', 'mode', 'URAndSR', 'scoreStatus', 'disabledFeatures', 'closedFeatures')")->fetchAll(); } catch (PDOException $exception) { @@ -239,7 +239,7 @@ class router extends baseRouter { $sql = new sql(); $account = $sql->quote($account); - $userSetting = $this->dbh->query('SELECT `key`, value FROM' . TABLE_CONFIG . "WHERE `owner`= $account AND `module`='common' and `key` in ('programLink', 'productLink', 'projectLink', 'executionLink', 'URSR')")->fetchAll(); + $userSetting = $this->dbh->query('SELECT `key`, `value` FROM ' . TABLE_CONFIG . "WHERE `owner`= $account AND `module`='common' and `key` in ('programLink', 'productLink', 'projectLink', 'executionLink', 'URSR')")->fetchAll(); } foreach($userSetting as $setting) @@ -255,7 +255,7 @@ class router extends baseRouter $lang->SRCommon = ''; if($this->dbh and !empty($this->config->db->name)) { - $productProject = $this->dbh->query('SELECT value FROM' . TABLE_CONFIG . "WHERE `owner`='system' AND `module`='custom' AND `key`='productProject'")->fetch(); + $productProject = $this->dbh->query('SELECT `value` FROM ' . TABLE_CONFIG . "WHERE `owner`='system' AND `module`='custom' AND `key`='productProject'")->fetch(); if($productProject) { $productProject = $productProject->value; @@ -267,8 +267,8 @@ class router extends baseRouter { /* Get story concept in project and product. */ $clientLang = $this->clientLang == 'zh-tw' ? 'zh-cn' : $this->clientLang; - $URSRList = $this->dbh->query('SELECT `key`, `value` FROM' . TABLE_LANG . "WHERE module = 'custom' and section = 'URSRList' and `lang` = \"{$clientLang}\"")->fetchAll(); - if(empty($URSRList)) $URSRList = $this->dbh->query('SELECT `key`, `value` FROM' . TABLE_LANG . "WHERE module = 'custom' and section = 'URSRList' and `key` = \"{$config->URSR}\"")->fetchAll(); + $URSRList = $this->dbh->query('SELECT `key`, `value` FROM' . TABLE_LANG . "WHERE `module` = 'custom' and `section` = 'URSRList' and `lang` = '{$clientLang}'")->fetchAll(); + if(empty($URSRList)) $URSRList = $this->dbh->query('SELECT `key`, `value` FROM' . TABLE_LANG . "WHERE module = 'custom' and `section` = 'URSRList' and `key` = '{$config->URSR}'")->fetchAll(); /* Get UR pairs and SR pairs. */ $URPairs = array(); diff --git a/lib/dao/dao.class.php b/lib/dao/dao.class.php index f4de1d3f1b..91fada75c8 100644 --- a/lib/dao/dao.class.php +++ b/lib/dao/dao.class.php @@ -313,7 +313,7 @@ class sql extends baseSQL public function groupBy($groupBy) { if($this->inCondition and !$this->conditionIsTrue) return $this; - if(!preg_match('/^[a-zA-Z0-9_`\.,\s]+$/', $groupBy)) + if(!preg_match('/^[a-zA-Z0-9_`\.,\s\"]+$/', $groupBy)) { $groupBy = htmlspecialchars($groupBy); die("Group is bad query, The group is $groupBy"); diff --git a/lib/dao/dm.class.php b/lib/dao/dm.class.php index 2b7f618090..43a991b677 100644 --- a/lib/dao/dm.class.php +++ b/lib/dao/dm.class.php @@ -67,21 +67,33 @@ class dm extends dao } else { - $fieldList[$key] = $this->formatField($field, ''); + $fieldList[$key] = $this->formatField($field); } } return parent::select(implode(',', $fieldList)); } - private function formatField($originField, $alias) + /** + * Format field: date => "date", t1.date => t1."date" + * + * @param string $originField + * @param string $alias + * @access private + * @return tring + */ + private function formatField($originField, $alias = '') { /* Format originField. */ $replace = array( 'GROUP_CONCAT' => 'WM_CONCAT', ); - if(strcasecmp($originField, 'distinct') !== 0) + if(stripos($originField, 'if(') !== false) + { + $originField = $this->formatIfFunction($originField); + } + elseif(strcasecmp($originField, 'distinct') !== 0) { $tableField = explode('.', $originField); if(count($tableField) == 2 and ctype_alnum($tableField[1]) and $tableField[1] != '*') @@ -101,6 +113,29 @@ class dm extends dao return $originField . ' ' . $alias; } + /** + * Format if function. + * + * @param string $field + * @access private + * @return string + */ + private function formatIfFunction($field) + { + preg_match('/if\(.+\)+/i', $field, $matches); + $if = $matches[0]; + if(substr_count($if, '(') == 1) + { + $pos = strpos($if, ')'); + $if = substr($if, 0, $pos+1); + } + $parts = explode(',', substr($if, 3, strlen($if)-4)); // remove 'if(' and ')' + $case = 'CASE WHEN ' . implode(',', array_slice($parts, 0, count($parts)-2)) . ' THEN ' . $parts[count($parts)-2] . ' ELSE ' . $parts[count($parts)-1] . ' END'; + $field = str_ireplace($if, $case, $field); + + return $field; + } + /** * 创建WHERE部分。 * Create the where part. @@ -154,14 +189,51 @@ class dm extends dao if($pos) { $originField = substr($condition, 0, $pos); - return $this->formatField($originField, '') . substr($condition, $pos); + return $this->formatField($originField) . substr($condition, $pos); } else { - return $this->formatField($condition, ''); + return $this->formatField($condition); } } + /** + * 创建GROUP BY部分。 + * Create the groupby part. + * + * @param string $groupBy + * @access public + * @return static|sql the sql object. + */ + public function groupBy($groupBy) + { + $groups = preg_split("/,(?![^(]+\))/", $groupBy); + foreach($groups as $key => $group) + { + $groups[$key] = $this->formatField($group); + } + + $groupBy = implode(',', $groups); + return parent::groupBy($groupBy); + } + + /** + * 创建ON部分。 + * Create the on part. + * + * @param string $condition + * @access public + * @return static|sql the sql object. + */ + public function on($condition) + { + $fieldList = explode('=', $condition); + foreach($fieldList as $key => $field) $fieldList[$key] = $this->formatField(trim($field)); + $condition = implode(' = ', $fieldList); + + return parent::on($condition); + } + public function getPKColumns() { $sql = "SELECT A.OWNER, A.TABLE_NAME, WM_CONCAT(B.COLUMN_NAME) PK_COLUMNS FROM ALL_CONSTRAINTS A, ALL_CONS_COLUMNS B where A.CONSTRAINT_type = 'P' AND A.OWNER = '{$this->config->db->user}' AND A.TABLE_NAME = '{$this->table}' AND B.OWNER = A.OWNER AND A.TABLE_NAME = B.TABLE_NAME GROUP BY A.OWNER, A.TABLE_NAME;";