diff --git a/db/update18.3.sql b/db/update18.3.sql index e1a308a9c5..9746aa383d 100644 --- a/db/update18.3.sql +++ b/db/update18.3.sql @@ -6,8 +6,8 @@ CREATE TABLE IF NOT EXISTS `zt_dimension` ( `desc` text NOT NULL, `createdBy` varchar(30) NOT NULL, `createdDate` datetime NOT NULL, - `editedBy` varchar(30) NOT NULL, - `editedDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL DEFAULT '', + `editedDate` datetime NULL, `deleted` enum('0','1') NOT NULL default '0', PRIMARY KEY (`id`), KEY `code` (`code`) @@ -31,8 +31,8 @@ CREATE TABLE IF NOT EXISTS `zt_pivot` ( `builtin` enum('0', '1') NOT NULL DEFAULT '0', `createdBy` varchar(30) NOT NULL, `createdDate` datetime NOT NULL, - `editedBy` varchar(30) NOT NULL, - `editedDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL DEFAULT '', + `editedDate` datetime NULL, `deleted` enum('0', '1') NOT NULL DEFAULT '0', PRIMARY KEY (`id`), KEY(`dimension`), @@ -150,3 +150,590 @@ SELECT t1.`group`, t1.`module`, 'editCatalog' FROM `zt_grouppriv` AS t1 WHERE t1 INSERT IGNORE INTO `zt_grouppriv` (`group`, `module`, `method`) SELECT t1.`group`, t1.`module`, 'deleteCatalog' FROM `zt_grouppriv` AS t1 WHERE t1.`module` = 'doc' AND t1.`method` = 'catalog'; + +ALTER TABLE `zt_account` +CHANGE `editedBy` `editedBy` varchar(30) NOT NULL DEFAULT '', +CHANGE `editedDate` `editedDate` datetime NULL; + +ALTER TABLE `zt_activity` +CHANGE `editedBy` `editedBy` varchar(30) NOT NULL DEFAULT '', +CHANGE `editedDate` `editedDate` datetime NULL, +CHANGE `assignedBy` `assignedBy` varchar(30) NOT NULL DEFAULT '', +CHANGE `assignedDate` `assignedDate` datetime NULL; + +ALTER TABLE `zt_api` +CHANGE `editedBy` `editedBy` varchar(30) NOT NULL DEFAULT '', +CHANGE `editedDate` `editedDate` datetime NULL; + +ALTER TABLE `zt_apistruct` +CHANGE `editedBy` `editedBy` varchar(30) NOT NULL DEFAULT '', +CHANGE `editedDate` `editedDate` datetime NULL; + +ALTER TABLE `zt_assetlib` +CHANGE `editedBy` `editedBy` varchar(30) NOT NULL DEFAULT '', +CHANGE `editedDate` `editedDate` datetime NULL, +CHANGE `registerDate` `registerDate` datetime NULL; + +ALTER TABLE `zt_attend` +CHANGE `reviewedBy` `reviewedBy` char(30) NULL DEFAULT '', +CHANGE `reviewedDate` `reviewedDate` datetime NULL; + +ALTER TABLE `zt_auditcl` +CHANGE `editedBy` `editedBy` varchar(30) NOT NULL DEFAULT '', +CHANGE `editedDate` `editedDate` datetime NULL, +CHANGE `assignedBy` `assignedBy` varchar(30) NOT NULL DEFAULT '', +CHANGE `assignedDate` `assignedDate` datetime NULL; + +ALTER TABLE `zt_auditplan` +CHANGE `checkDate` `checkDate` date NULL, +CHANGE `checkedBy` `checkedBy` varchar(30) NOT NULL DEFAULT '', +CHANGE `editedBy` `editedBy` varchar(30) NOT NULL DEFAULT '', +CHANGE `editedDate` `editedDate` datetime NULL, +CHANGE `assignedBy` `assignedBy` varchar(30) NOT NULL DEFAULT '', +CHANGE `assignedDate` `assignedDate` datetime NULL; + +ALTER TABLE `zt_basicmeas` +CHANGE `editedBy` `editedBy` varchar(30) NOT NULL DEFAULT '', +CHANGE `editedDate` `editedDate` datetime NULL; + +ALTER TABLE `zt_branch` +CHANGE `closedDate` `closedDate` date NULL; + +ALTER TABLE `zt_budget` +CHANGE `lastEditedBy` `lastEditedBy` char(30) NOT NULL DEFAULT '', +CHANGE `lastEditedDate` `lastEditedDate` date NULL; + +ALTER TABLE `zt_bug` +CHANGE `assignedDate` `assignedDate` datetime NULL, +CHANGE `resolvedDate` `resolvedDate` datetime NULL, +CHANGE `closedDate` `closedDate` datetime NULL, +CHANGE `lastEditedDate` `lastEditedDate` datetime NULL; + +ALTER TABLE `zt_case` +CHANGE `scriptedBy` `scriptedBy` varchar(30) NOT NULL DEFAULT '', +CHANGE `scriptedDate` `scriptedDate` date NULL, +CHANGE `reviewedBy` `reviewedBy` varchar(255) NOT NULL DEFAULT '', +CHANGE `reviewedDate` `reviewedDate` date NULL, +CHANGE `lastEditedDate` `lastEditedDate` datetime NULL, +CHANGE `lastRunner` `lastRunner` varchar(30) NOT NULL DEFAULT '', +CHANGE `lastRunDate` `lastRunDate` datetime NULL; + +ALTER TABLE `zt_chart` +CHANGE `editedBy` `editedBy` varchar(30) NOT NULL DEFAULT '', +CHANGE `editedDate` `editedDate` datetime NULL; + +ALTER TABLE `zt_cmcl` +CHANGE `editedBy` `editedBy` varchar(30) NOT NULL DEFAULT '', +CHANGE `editedDate` `editedDate` datetime NULL, +CHANGE `assignedTo` `assignedTo` varchar(30) NOT NULL DEFAULT ''; + +ALTER TABLE `zt_compile` +CHANGE `updateDate` `updateDate` datetime NULL; + +ALTER TABLE `zt_cron` +CHANGE `lastTime` `lastTime` datetime NULL; + +ALTER TABLE `zt_dataview` +CHANGE `editedBy` `editedBy` varchar(30) NOT NULL DEFAULT '', +CHANGE `editedDate` `editedDate` datetime NULL; + +ALTER TABLE `zt_deploystep` +CHANGE `assignedTo` `assignedTo` char(30) NOT NULL DEFAULT '', +CHANGE `assignedDate` `assignedDate` datetime NULL, +CHANGE `finishedBy` `finishedBy` char(30) NOT NULL DEFAULT '', +CHANGE `finishedDate` `finishedDate` datetime NULL; + +ALTER TABLE `zt_design` +CHANGE `editedBy` `editedBy` varchar(30) NOT NULL DEFAULT '', +CHANGE `editedDate` `editedDate` datetime NULL, +CHANGE `assignedTo` `assignedTo` varchar(30) NOT NULL DEFAULT '', +CHANGE `assignedBy` `assignedBy` varchar(30) NOT NULL DEFAULT '', +CHANGE `assignedDate` `assignedDate` datetime NULL; + +ALTER TABLE `zt_doc` +CHANGE `assignedTo` `assignedTo` varchar(30) NOT NULL DEFAULT '', +CHANGE `assignedDate` `assignedDate` datetime NULL, +CHANGE `approvedDate` `approvedDate` date NULL, +CHANGE `editedBy` `editedBy` varchar(30) NOT NULL DEFAULT '', +CHANGE `editedDate` `editedDate` datetime NULL; + +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 NULL, +CHANGE `desc` `desc` mediumtext NULL, +CHANGE `groups` `groups` varchar(255) NOT NULL DEFAULT '', +CHANGE `users` `users` text NULL, +CHANGE `order` `order` tinyint unsigned NOT NULL DEFAULT '0'; + +ALTER TABLE `zt_domain` +CHANGE `expiredDate` `expiredDate` datetime NULL, +CHANGE `editedBy` `editedBy` varchar(30) NOT NULL DEFAULT '', +CHANGE `editedDate` `editedDate` datetime NULL; + +ALTER TABLE `zt_durationestimation` +CHANGE `editedBy` `editedBy` varchar(30) NOT NULL DEFAULT '', +CHANGE `editedDate` `editedDate` datetime NULL; + +ALTER TABLE `zt_entry` +CHANGE `editedBy` `editedBy` varchar(30) NOT NULL DEFAULT '', +CHANGE `editedDate` `editedDate` datetime NULL; + +ALTER TABLE `zt_feedback` +CHANGE `reviewedBy` `reviewedBy` varchar(255) NOT NULL DEFAULT '', +CHANGE `reviewedDate` `reviewedDate` datetime NULL, +CHANGE `processedBy` `processedBy` char(30) NOT NULL DEFAULT '', +CHANGE `processedDate` `processedDate` datetime NULL, +CHANGE `closedBy` `closedBy` char(30)NOT NULL DEFAULT '', +CHANGE `closedDate` `closedDate` datetime NULL, +CHANGE `closedReason` `closedReason` varchar(30) NOT NULL DEFAULT '', +CHANGE `editedBy` `editedBy` char(30) NOT NULL DEFAULT '', +CHANGE `editedDate` `editedDate` datetime NULL, +CHANGE `assignedTo` `assignedTo` varchar(255) NOT NULL DEFAULT '', +CHANGE `assignedDate` `assignedDate` datetime NULL, +CHANGE `activatedBy` `activatedBy` varchar(30) NOT NULL DEFAULT '', +CHANGE `activatedDate` `activatedDate` datetime NULL, +CHANGE `feedbackBy` `feedbackBy` varchar(100) NOT NULL DEFAULT ''; + +ALTER TABLE `zt_gapanalysis` +CHANGE `editedBy` `editedBy` varchar(30) NOT NULL DEFAULT '', +CHANGE `editedDate` `editedDate` datetime NULL; + +ALTER TABLE `zt_host` +CHANGE `editedBy` `editedBy` varchar(30) NOT NULL DEFAULT '', +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, +CHANGE `activateBy` `activateBy` varchar(30) NOT NULL DEFAULT '', +CHANGE `activateDate` `activateDate` date NULL, +CHANGE `closedBy` `closedBy` varchar(30) NOT NULL DEFAULT '', +CHANGE `closedDate` `closedDate` date NULL, +CHANGE `assignedTo` `assignedTo` varchar(30) NOT NULL DEFAULT '', +CHANGE `assignedBy` `assignedBy` varchar(30) NULL, +CHANGE `assignedDate` `assignedDate` datetime NULL, +CHANGE `approvedDate` `approvedDate` date NULL; + +ALTER TABLE `zt_kanban` +CHANGE `lastEditedBy` `lastEditedBy` char(30) NOT NULL DEFAULT '', +CHANGE `lastEditedDate` `lastEditedDate` datetime NULL, +CHANGE `closedBy` `closedBy` char(30) NOT NULL DEFAULT '', +CHANGE `closedDate` `closedDate` datetime NULL, +CHANGE `activatedBy` `activatedBy` char(30) NOT NULL DEFAULT '', +CHANGE `activatedDate` `activatedDate` datetime NULL; + +ALTER TABLE `zt_kanbancard` +CHANGE `lastEditedBy` `lastEditedBy` char(30) NOT NULL DEFAULT '', +CHANGE `lastEditedDate` `lastEditedDate` datetime NULL, +CHANGE `archivedBy` `archivedBy` char(30) NOT NULL DEFAULT '', +CHANGE `archivedDate` `archivedDate` datetime NULL, +CHANGE `assignedBy` `assignedBy` char(30) NOT NULL DEFAULT '', +CHANGE `assignedDate` `assignedDate` datetime NULL; + +ALTER TABLE `zt_kanbanlane` +CHANGE `lastEditedTime` `lastEditedTime` datetime NULL; + +ALTER TABLE `zt_kanbanregion` +CHANGE `lastEditedBy` `lastEditedBy` char(30) NOT NULL DEFAULT '', +CHANGE `lastEditedDate` `lastEditedDate` datetime NULL; + +ALTER TABLE `zt_kanbanspace` +CHANGE `lastEditedBy` `lastEditedBy` char(30) NOT NULL DEFAULT '', +CHANGE `lastEditedDate` `lastEditedDate` datetime NULL, +CHANGE `closedBy` `closedBy` char(30) NOT NULL DEFAULT '', +CHANGE `closedDate` `closedDate` datetime NULL, +CHANGE `activatedBy` `activatedBy` char(30) NOT NULL DEFAULT '', +CHANGE `activatedDate` `activatedDate` datetime NULL; + +ALTER TABLE `zt_leave` +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 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 NULL; + +ALTER TABLE `zt_measqueue` +CHANGE `updateDate` `updateDate` datetime NULL; + +ALTER TABLE `zt_meeting` +CHANGE `editedBy` `editedBy` varchar(30) NOT NULL DEFAULT '', +CHANGE `editedDate` `editedDate` datetime NULL; + +ALTER TABLE `zt_meetingroom` +CHANGE `editedBy` `editedBy` varchar(30) NOT NULL DEFAULT '', +CHANGE `editedDate` `editedDate` datetime NULL; + +ALTER TABLE `zt_mr` +CHANGE `editedBy` `editedBy` varchar(30) NOT NULL DEFAULT '', +CHANGE `editedDate` `editedDate` datetime NULL; + +ALTER TABLE `zt_nc` +CHANGE `resolvedBy` `resolvedBy` varchar(30) NOT NULL DEFAULT '', +CHANGE `resolution` `resolution` char(30) NOT NULL DEFAULT '', +CHANGE `resolvedDate` `resolvedDate` date NULL, +CHANGE `closedBy` `closedBy` varchar(30) NOT NULL DEFAULT '', +CHANGE `closedDate` `closedDate` date NULL, +CHANGE `assignedTo` `assignedTo` varchar(30) NOT NULL DEFAULT '', +CHANGE `assignedDate` `assignedDate` date NULL, +CHANGE `activateDate` `activateDate` date NULL, +CHANGE `editedBy` `editedBy` varchar(30) NOT NULL DEFAULT '', +CHANGE `editedDate` `editedDate` datetime NULL; + +ALTER TABLE `zt_opportunity` +CHANGE `assignedTo` `assignedTo` varchar(30) NOT NULL DEFAULT '', +CHANGE `assignedDate` `assignedDate` date NULL, +CHANGE `approvedDate` `approvedDate` date NULL, +CHANGE `plannedClosedDate` `plannedClosedDate` date NULL, +CHANGE `actualClosedDate` `actualClosedDate` date NULL, +CHANGE `editedBy` `editedBy` varchar(30) NOT NULL DEFAULT '', +CHANGE `editedDate` `editedDate` datetime NULL, +CHANGE `activatedBy` `activatedBy` varchar(30) NOT NULL DEFAULT '', +CHANGE `activatedDate` `activatedDate` datetime NULL, +CHANGE `closedBy` `closedBy` varchar(30) NOT NULL DEFAULT '', +CHANGE `closedDate` `closedDate` datetime NULL, +CHANGE `canceledBy` `canceledBy` varchar(30) NOT NULL DEFAULT '', +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 NULL, +CHANGE `resolvedBy` `resolvedBy` varchar(30) NOT NULL DEFAULT '', +CHANGE `resolvedDate` `resolvedDate` datetime NULL, +CHANGE `lastCheckedBy` `lastCheckedBy` varchar(30) NOT NULL DEFAULT '', +CHANGE `lastCheckedDate` `lastCheckedDate` datetime NULL; + +ALTER TABLE `zt_overtime` +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 NULL; + +ALTER TABLE `zt_pipeline` +CHANGE `editedBy` `editedBy` varchar(30) NOT NULL DEFAULT '', +CHANGE `editedDate` `editedDate` datetime NULL; + +ALTER TABLE `zt_process` +CHANGE `editedBy` `editedBy` varchar(30) NOT NULL DEFAULT '', +CHANGE `editedDate` `editedDate` datetime NULL, +CHANGE `assignedBy` `assignedBy` varchar(30) NOT NULL DEFAULT '', +CHANGE `assignedDate` `assignedDate` datetime NULL; + +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 NULL, +CHANGE `order` `order` mediumint unsigned NOT NULL DEFAULT '0', +CHANGE `ticket` `ticket` varchar(30) NOT NULL DEFAULT ''; + +ALTER TABLE `zt_productplan` +CHANGE `closedReason` `closedReason` varchar(20) NOT NULL DEFAULT ''; + +ALTER TABLE `zt_project` +CHANGE `model` `model` char(30) 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 '', +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 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', +CHANGE `realDuration` `realDuration` int NOT NULL DEFAULT '0', +CHANGE `openedVersion` `openedVersion` varchar(20) NOT NULL DEFAULT '', +CHANGE `lastEditedDate` `lastEditedDate` datetime NULL, +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 NULL, +CHANGE `order` `order` mediumint unsigned NOT NULL DEFAULT '0'; + +ALTER TABLE `zt_researchplan` +CHANGE `editedBy` `editedBy` varchar(30) NOT NULL DEFAULT '', +CHANGE `editedDate` `editedDate` datetime NULL; + +ALTER TABLE `zt_researchreport` +CHANGE `editedBy` `editedBy` varchar(30) NOT NULL DEFAULT '', +CHANGE `editedDate` `editedDate` datetime NULL; + +ALTER TABLE `zt_review` +CHANGE `reviewedBy` `reviewedBy` varchar(255) NOT NULL DEFAULT '', +CHANGE `auditedBy` `auditedBy` varchar(255) NOT NULL DEFAULT '', +CHANGE `lastReviewedDate` `lastReviewedDate` date NULL, +CHANGE `lastAuditedBy` `lastAuditedBy` varchar(255) NOT NULL DEFAULT '', +CHANGE `lastAuditedDate` `lastAuditedDate` date NULL, +CHANGE `lastEditedBy` `lastEditedBy` varchar(255) NOT NULL DEFAULT '', +CHANGE `lastEditedDate` `lastEditedDate` date NULL, +CHANGE `result` `result` char(30) NOT NULL DEFAULT '', +CHANGE `auditResult` `auditResult` char(30) NOT NULL DEFAULT ''; + +ALTER TABLE `zt_reviewcl` +CHANGE `editedBy` `editedBy` varchar(30) NOT NULL DEFAULT '', +CHANGE `editedDate` `editedDate` datetime NULL, +CHANGE `assignedBy` `assignedBy` varchar(30) NOT NULL DEFAULT '', +CHANGE `assignedDate` `assignedDate` datetime NULL; + +ALTER TABLE `zt_reviewissue` +CHANGE `opinion` `opinion` varchar(255) NOT NULL DEFAULT '', +CHANGE `opinionDate` `opinionDate` date NULL, +CHANGE `resolution` `resolution` char(30) NOT NULL DEFAULT '', +CHANGE `resolutionBy` `resolutionBy` char(30) NOT NULL DEFAULT '', +CHANGE `resolutionDate` `resolutionDate` date NULL; + +ALTER TABLE `zt_reviewlist` +CHANGE `assignedTo` `assignedTo` varchar(30) NOT NULL DEFAULT '', +CHANGE `editedBy` `editedBy` varchar(30) NOT NULL DEFAULT '', +CHANGE `editedDate` `editedDate` datetime NULL, +CHANGE `assignedBy` `assignedBy` varchar(30) NOT NULL DEFAULT '', +CHANGE `assignedDate` `assignedDate` datetime NULL; + +ALTER TABLE `zt_risk` +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 NULL, +CHANGE `resolvedBy` `resolvedBy` varchar(30) NOT NULL DEFAULT '', +CHANGE `activateBy` `activateBy` varchar(30) NOT NULL DEFAULT '', +CHANGE `activateDate` `activateDate` date NULL, +CHANGE `assignedTo` `assignedTo` varchar(30) NOT NULL DEFAULT '', +CHANGE `closedBy` `closedBy` varchar(30) NOT NULL DEFAULT '', +CHANGE `closedDate` `closedDate` date NULL, +CHANGE `cancelBy` `cancelBy` varchar(30) NOT NULL DEFAULT '', +CHANGE `cancelDate` `cancelDate` date NULL, +CHANGE `cancelReason` `cancelReason` char(30) NOT NULL DEFAULT '', +CHANGE `hangupBy` `hangupBy` varchar(30) NOT NULL DEFAULT '', +CHANGE `hangupDate` `hangupDate` date NULL, +CHANGE `trackedBy` `trackedBy` varchar(30) NOT NULL DEFAULT '', +CHANGE `trackedDate` `trackedDate` date NULL, +CHANGE `assignedDate` `assignedDate` date NULL, +CHANGE `approvedDate` `approvedDate` date NULL; + +ALTER TABLE `zt_searchindex` +CHANGE `editedDate` `editedDate` datetime NULL; + +ALTER TABLE `zt_serverroom` +CHANGE `editedBy` `editedBy` char(30) NOT NULL DEFAULT '', +CHANGE `editedDate` `editedDate` datetime NULL; + +ALTER TABLE `zt_service` +CHANGE `editedBy` `editedBy` char(30) NOT NULL DEFAULT '', +CHANGE `editedDate` `editedDate` datetime NULL; + +ALTER TABLE `zt_solutions` +CHANGE `editedBy` `editedBy` varchar(30) NOT NULL DEFAULT '', +CHANGE `editedDate` `editedDate` date NULL; + +ALTER TABLE `zt_sqlview` +CHANGE `editedBy` `editedBy` varchar(30) NOT NULL DEFAULT '', +CHANGE `editedDate` `editedDate` datetime NULL; + +ALTER TABLE `zt_stage` +CHANGE `editedBy` `editedBy` varchar(30) NOT NULL DEFAULT '', +CHANGE `editedDate` `editedDate` datetime NULL; + +ALTER TABLE `zt_stakeholder` +CHANGE `editedBy` `editedBy` char(30) NOT NULL DEFAULT '', +CHANGE `editedDate` `editedDate` date NULL; + +ALTER TABLE `zt_story` +CHANGE `assignedDate` `assignedDate` datetime NULL, +CHANGE `approvedDate` `approvedDate` date NULL, +CHANGE `lastEditedDate` `lastEditedDate` datetime NULL, +CHANGE `changedBy` `changedBy` varchar(30) NOT NULL DEFAULT '', +CHANGE `changedDate` `changedDate` datetime NULL, +CHANGE `reviewedBy` `reviewedBy` varchar(255) NOT NULL DEFAULT '', +CHANGE `reviewedDate` `reviewedDate` datetime NULL, +CHANGE `closedDate` `closedDate` datetime NULL, +CHANGE `closedReason` `closedReason` varchar(30) NOT NULL DEFAULT '', +CHANGE `activatedDate` `activatedDate` datetime NULL, +CHANGE `feedbackBy` `feedbackBy` varchar(100) NOT NULL DEFAULT '', +CHANGE `notifyEmail` `notifyEmail` varchar(100) NOT NULL DEFAULT ''; + +ALTER TABLE `zt_storyreview` +CHANGE `reviewDate` `reviewDate` datetime NULL; + +ALTER TABLE `zt_task` +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 NULL, +CHANGE `canceledBy` `canceledBy` varchar(30) NOT NULL DEFAULT '', +CHANGE `canceledDate` `canceledDate` datetime NULL, +CHANGE `closedBy` `closedBy` varchar(30) NOT NULL DEFAULT '', +CHANGE `closedDate` `closedDate` datetime NULL, +CHANGE `realDuration` `realDuration` int NOT NULL DEFAULT '0', +CHANGE `closedReason` `closedReason` varchar(30) NOT NULL DEFAULT '', +CHANGE `lastEditedBy` `lastEditedBy` varchar(30) NOT NULL DEFAULT '', +CHANGE `lastEditedDate` `lastEditedDate` datetime NULL, +CHANGE `activatedDate` `activatedDate` datetime NULL; + +ALTER TABLE `zt_team` +CHANGE `position` `position` varchar(30) NOT NULL DEFAULT '', +CHANGE `join` `join` date NULL; + +ALTER TABLE `zt_testrun` +CHANGE `lastRunner` `lastRunner` varchar(30) NOT NULL DEFAULT '', +CHANGE `lastRunDate` `lastRunDate` datetime NULL, +CHANGE `lastRunResult` `lastRunResult` char(30) NOT NULL DEFAULT ''; + +ALTER TABLE `zt_testsuite` +CHANGE `lastEditedBy` `lastEditedBy` char(30) NOT NULL DEFAULT '', +CHANGE `lastEditedDate` `lastEditedDate` datetime NULL; + +ALTER TABLE `zt_testtask` +CHANGE `realFinishedDate` `realFinishedDate` datetime NULL; + +ALTER TABLE `zt_ticket` +CHANGE `assignedTo` `assignedTo` varchar(255) NOT NULL DEFAULT '', +CHANGE `assignedDate` `assignedDate` datetime NULL, +CHANGE `realStarted` `realStarted` datetime NULL, +CHANGE `startedBy` `startedBy` varchar(255) NOT NULL DEFAULT '', +CHANGE `startedDate` `startedDate` datetime NULL, +CHANGE `activatedCount` `activatedCount` int NOT NULL DEFAULT '0', +CHANGE `activatedBy` `activatedBy` varchar(30) NOT NULL DEFAULT '', +CHANGE `activatedDate` `activatedDate` datetime NULL, +CHANGE `closedBy` `closedBy` varchar(30) NOT NULL DEFAULT '', +CHANGE `closedDate` `closedDate` datetime NULL, +CHANGE `closedReason` `closedReason` varchar(30) NOT NULL DEFAULT '', +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` text NULL, +CHANGE `editedBy` `editedBy` varchar(30) NOT NULL DEFAULT '', +CHANGE `editedDate` `editedDate` datetime NULL; + +ALTER TABLE `zt_todo` +CHANGE `feedback` `feedback` mediumint unsigned NOT NULL DEFAULT '0', +CHANGE `config` `config` varchar(255) NOT NULL DEFAULT '', +CHANGE `private` `private` tinyint(1) NOT NULL DEFAULT '0', +CHANGE `assignedDate` `assignedDate` datetime NULL, +CHANGE `finishedDate` `finishedDate` datetime NULL, +CHANGE `closedDate` `closedDate` datetime NULL; + +ALTER TABLE `zt_traincourse` +CHANGE `editedBy` `editedBy` varchar(255) NOT NULL DEFAULT '', +CHANGE `editedDate` `editedDate` date NULL; + +ALTER TABLE `zt_traincontents` +CHANGE `editedBy` `editedBy` varchar(30) NOT NULL DEFAULT '', +CHANGE `editedDate` `editedDate` datetime NULL; + +ALTER TABLE `zt_trainplan` +CHANGE `editedBy` `editedBy` varchar(30) NOT NULL DEFAULT '', +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 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, +CHANGE `join` `join` date NULL, +CHANGE `locked` `locked` datetime NULL; + +ALTER TABLE `zt_workestimation` +CHANGE `editedBy` `editedBy` varchar(30) NOT NULL DEFAULT '', +CHANGE `editedDate` `editedDate` datetime NULL, +CHANGE `assignedTo` `assignedTo` varchar(30) NOT NULL DEFAULT '', +CHANGE `assignedDate` `assignedDate` datetime NULL; + +ALTER TABLE `zt_workflow` +CHANGE `editedBy` `editedBy` varchar(30) NOT NULL DEFAULT '', +CHANGE `editedDate` `editedDate` datetime NULL; + +ALTER TABLE `zt_workflowaction` +CHANGE `editedBy` `editedBy` varchar(30) NOT NULL DEFAULT '', +CHANGE `editedDate` `editedDate` datetime NULL; + +ALTER TABLE `zt_workflowdatasource` +CHANGE `editedBy` `editedBy` char(30) NOT NULL DEFAULT '', +CHANGE `editedDate` `editedDate` datetime NULL; + +ALTER TABLE `zt_workflowfield` +CHANGE `editedBy` `editedBy` varchar(30) NOT NULL DEFAULT '', +CHANGE `editedDate` `editedDate` datetime NULL; + +ALTER TABLE `zt_workflowlabel` +CHANGE `editedBy` `editedBy` char(30) NOT NULL DEFAULT '', +CHANGE `editedDate` `editedDate` datetime NULL; + +ALTER TABLE `zt_workflowrule` +CHANGE `editedBy` `editedBy` char(30) NOT NULL DEFAULT '', +CHANGE `editedDate` `editedDate` datetime NULL; + +ALTER TABLE `zt_workflowsql` +CHANGE `editedBy` `editedBy` varchar(30) NOT NULL DEFAULT '', +CHANGE `editedDate` `editedDate` datetime NULL; + +ALTER TABLE `zt_zoutput` +CHANGE `editedBy` `editedBy` varchar(30) NOT NULL DEFAULT '', +CHANGE `editedDate` `editedDate` datetime NULL; diff --git a/db/zentao.sql b/db/zentao.sql index 348dcd695f..d782dcc634 100755 --- a/db/zentao.sql +++ b/db/zentao.sql @@ -65,8 +65,8 @@ CREATE TABLE IF NOT EXISTS `zt_api` ( `commonParams` text NULL, `addedBy` varchar(30) NOT NULL DEFAULT 0, `addedDate` datetime NOT NULL, - `editedBy` varchar(30) NOT NULL DEFAULT 0, - `editedDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL DEFAULT '', + `editedDate` datetime NULL, `deleted` enum ('0', '1') NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; @@ -89,7 +89,7 @@ CREATE TABLE IF NOT EXISTS `zt_apispec` ( `paramsExample` text NUll, `responseExample` text NUll, `response` text NULL, - `addedBy` varchar(30) NOT NULL DEFAULT 0, + `addedBy` varchar(30) NOT NULL DEFAULT 0, `addedDate` datetime NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; @@ -104,8 +104,8 @@ CREATE TABLE IF NOT EXISTS `zt_apistruct` ( `attribute` text NULL, `addedBy` varchar(30) NOT NULL DEFAULT 0, `addedDate` datetime NOT NULL, - `editedBy` varchar(30) NOT NULL DEFAULT 0, - `editedDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL DEFAULT '', + `editedDate` datetime NULL, `deleted` enum ('0', '1') NOT NULL DEFAULT '0', primary key (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; @@ -238,7 +238,7 @@ CREATE TABLE IF NOT EXISTS `zt_branch` ( `status` enum ('active', 'closed') NOT NULL DEFAULT 'active', `desc` varchar(255) NOT NULL, `createdDate` date NOT NULL, - `closedDate` date NOT NULL, + `closedDate` date NULL, `order` smallint unsigned NOT NULL, `deleted` enum('0','1') NOT NULL DEFAULT '0', PRIMARY KEY (`id`), @@ -283,14 +283,14 @@ CREATE TABLE IF NOT EXISTS `zt_bug` ( `openedDate` datetime NOT NULL, `openedBuild` varchar(255) NOT NULL, `assignedTo` varchar(30) NOT NULL DEFAULT '', - `assignedDate` datetime NOT NULL, + `assignedDate` datetime NULL, `deadline` date NOT NULL, `resolvedBy` varchar(30) NOT NULL DEFAULT '', `resolution` varchar(30) NOT NULL DEFAULT '', `resolvedBuild` varchar(30) NOT NULL DEFAULT '', - `resolvedDate` datetime NOT NULL, + `resolvedDate` datetime NULL, `closedBy` varchar(30) NOT NULL DEFAULT '', - `closedDate` datetime NOT NULL, + `closedDate` datetime NULL, `duplicateBug` mediumint(8) unsigned NOT NULL, `linkBug` varchar(255) NOT NULL, `case` mediumint(8) unsigned NOT NULL, @@ -307,7 +307,7 @@ CREATE TABLE IF NOT EXISTS `zt_bug` ( `issueKey` varchar(50) NOT NULL DEFAULT '', `testtask` mediumint(8) unsigned NOT NULL, `lastEditedBy` varchar(30) NOT NULL DEFAULT '', - `lastEditedDate` datetime NOT NULL, + `lastEditedDate` datetime NULL, `deleted` enum('0','1') NOT NULL DEFAULT '0', PRIMARY KEY (`id`), KEY `product` (`product`), @@ -377,8 +377,8 @@ CREATE TABLE IF NOT EXISTS `zt_case` ( `stage` varchar(255) NOT NULL, `howRun` varchar(30) NOT NULL, `script` longtext NOT NULL, - `scriptedBy` varchar(30) NOT NULL, - `scriptedDate` date NOT NULL, + `scriptedBy` varchar(30) NOT NULL DEFAULT '', + `scriptedDate` date NULL, `scriptStatus` varchar(30) NOT NULL, `scriptLocation` varchar(255) NOT NULL, `status` char(30) NOT NULL default '1', @@ -388,18 +388,18 @@ CREATE TABLE IF NOT EXISTS `zt_case` ( `order` tinyint(30) unsigned NOT NULL default '0', `openedBy` char(30) NOT NULL default '', `openedDate` datetime NOT NULL, - `reviewedBy` varchar(255) NOT NULL, - `reviewedDate` date NOT NULL, + `reviewedBy` varchar(255) NOT NULL DEFAULT '', + `reviewedDate` date NULL, `lastEditedBy` char(30) NOT NULL default '', - `lastEditedDate` datetime NOT NULL, + `lastEditedDate` datetime NULL, `version` tinyint(3) unsigned NOT NULL default '0', `linkCase` varchar(255) NOT NULL, `fromBug` mediumint(8) unsigned NOT NULL, `fromCaseID` mediumint(8) unsigned NOT NULL, `fromCaseVersion` mediumint(8) unsigned NOT NULL default '1', `deleted` enum('0','1') NOT NULL default '0', - `lastRunner` varchar(30) NOT NULL, - `lastRunDate` datetime NOT NULL, + `lastRunner` varchar(30) NOT NULL DEFAULT '', + `lastRunDate` datetime NULL, `lastRunResult` char(30) NOT NULL, PRIMARY KEY (`id`), KEY `product` (`product`), @@ -422,12 +422,13 @@ CREATE TABLE IF NOT EXISTS `zt_casestep` ( ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- DROP TABLE IF EXISTS `zt_cfd`; CREATE TABLE IF NOT EXISTS `zt_cfd` ( - `id` int(8) NOT NULL AUTO_INCREMENT PRIMARY KEY, + `id` int(8) NOT NULL AUTO_INCREMENT, `execution` int(8) NOT NULL, `type` char(30) NOT NULL, `name` char(30) NOT NULL, `count` smallint NOT NULL, `date` date NOT NULL, + PRIMARY KEY (`id`), UNIQUE KEY `execution_type_name_date` (`execution`,`type`,`name`,`date`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- DROP TABLE IF EXISTS `zt_chart`; @@ -450,8 +451,8 @@ CREATE TABLE IF NOT EXISTS `zt_chart` ( `objects` mediumtext NOT NULL, `createdBy` char(30) NOT NULL, `createdDate` datetime NOT NULL, - `editedBy` varchar(30) NOT NULL, - `editedDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL DEFAULT '', + `editedDate` datetime NULL, `deleted` tinyint NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; @@ -515,7 +516,7 @@ CREATE TABLE IF NOT EXISTS `zt_compile` ( `times` tinyint(3) unsigned NOT NULL DEFAULT '0', `createdBy` varchar(30) NOT NULL, `createdDate` datetime NOT NULL, - `updateDate` datetime NOT NULL, + `updateDate` datetime NULL, `deleted` enum('0','1') NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; @@ -544,7 +545,7 @@ CREATE TABLE IF NOT EXISTS `zt_cron` ( `type` varchar(20) NOT NULL, `buildin` tinyint(1) NOT NULL DEFAULT '0', `status` varchar(20) NOT NULL, - `lastTime` datetime NOT NULL, + `lastTime` datetime NULL, PRIMARY KEY (`id`), KEY `lastTime` (`lastTime`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; @@ -587,8 +588,8 @@ CREATE TABLE IF NOT EXISTS `zt_dataview` ( `objects` mediumtext NOT NULL, `createdBy` varchar(30) NOT NULL, `createdDate` datetime NOT NULL, - `editedBy` varchar(30) NOT NULL, - `editedDate` datetime NOT NULL, + `editedBy` varchar(30) NULL DEFAULT '', + `editedDate` datetime NULL, `deleted` tinyint NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; @@ -619,11 +620,11 @@ CREATE TABLE IF NOT EXISTS `zt_design` ( `status` varchar(30) NOT NULL, `createdBy` varchar(30) NOT NULL, `createdDate` datetime NOT NULL, - `editedBy` varchar(30) NOT NULL, - `editedDate` datetime NOT NULL, - `assignedTo` varchar(30) NOT NULL, - `assignedBy` varchar(30) NOT NULL, - `assignedDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL DEFAULT '', + `editedDate` datetime NULL, + `assignedTo` varchar(30) NOT NULL DEFAULT '', + `assignedBy` varchar(30) NOT NULL DEFAULT '', + `assignedDate` datetime NULL, `deleted` enum('0','1') NOT NULL DEFAULT '0', `story` char(30) NOT NULL, `desc` mediumtext NOT NULL, @@ -669,11 +670,11 @@ CREATE TABLE IF NOT EXISTS `zt_doc` ( `collector` text NOT NULL, `addedBy` varchar(30) NOT NULL, `addedDate` datetime NOT NULL, - `assignedTo` varchar(30) NOT NULL, - `assignedDate` datetime NOT NULL, - `approvedDate` date NOT NULL, - `editedBy` varchar(30) NOT NULL, - `editedDate` datetime NOT NULL, + `assignedTo` varchar(30) NOT NULL DEFAULT '', + `assignedDate` datetime NULL, + `approvedDate` date NULL, + `editedBy` varchar(30) NOT NULL DEFAULT '', + `editedDate` datetime NULL, `mailto` text, `acl` varchar(10) NOT NULL DEFAULT 'open', `groups` varchar(255) NOT NULL, @@ -703,21 +704,21 @@ CREATE TABLE IF NOT EXISTS `zt_doclib` ( `id` smallint(5) unsigned NOT NULL auto_increment, `type` varchar(30) NOT NULL, `vision` varchar(10) NOT NULL DEFAULT 'rnd', - `product` mediumint(8) unsigned NOT NULL, - `project` mediumint(8) unsigned NOT NULL, - `execution` mediumint(8) unsigned NOT NULL, + `product` mediumint(8) unsigned NOT NULL DEFAULT '0', + `project` mediumint(8) unsigned NOT NULL DEFAULT '0', + `execution` mediumint(8) unsigned NOT NULL DEFAULT '0', `name` varchar(60) NOT NULL, `baseUrl` varchar(255) NOT NULL DEFAULT '', `acl` varchar(10) NOT NULL DEFAULT 'open', - `groups` varchar(255) NOT NULL, - `users` text NOT NULL, - `main` enum('0','1') NOT NULL default '0', - `collector` text NOT NULL, - `desc` mediumtext NOT NULL, - `order` tinyint(5) unsigned NOT NULL, + `groups` varchar(255) NOT NULL DEFAULT '', + `users` text NULL, + `main` enum('0','1') NOT NULL DEFAULT '0', + `collector` text NULL, + `desc` mediumtext NULL, + `order` tinyint(5) unsigned NOT NULL DEFAULT '0', `addedBy` varchar(30) NOT NULL, `addedDate` datetime NOT NULL, - `deleted` enum('0','1') NOT NULL default '0', + `deleted` enum('0','1') NOT NULL DEFAULT '0', PRIMARY KEY (`id`), KEY `product` (`product`), KEY `execution` (`execution`) @@ -760,21 +761,22 @@ CREATE TABLE IF NOT EXISTS `zt_entry` ( `createdBy` varchar(30) NOT NULL, `createdDate` datetime NOT NULL, `calledTime` int(10) unsigned NOT NULL DEFAULT '0', - `editedBy` varchar(30) NOT NULL, - `editedDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL DEFAULT '', + `editedDate` datetime NULL, `deleted` enum('0', '1') NOT NULL DEFAULT '0', - PRIMARY KEY `id` (`id`) + PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- DROP TABLE IF EXISTS `zt_expect`; CREATE TABLE IF NOT EXISTS `zt_expect` ( - `id` mediumint(8) NOT NULL AUTO_INCREMENT PRIMARY KEY, + `id` mediumint(8) NOT NULL AUTO_INCREMENT, `userID` mediumint(8) NOT NULL, `project` mediumint(8) NOT NULL DEFAULT 0, `expect` text NOT NULL, `progress` text NOT NULL, `createdBy` char(30) NOT NULL, `createdDate` date NOT NULL, - `deleted` enum('0','1') NOT NULL DEFAULT '0' + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- DROP TABLE IF EXISTS `zt_extension`; CREATE TABLE IF NOT EXISTS `zt_extension` ( @@ -902,12 +904,12 @@ CREATE TABLE IF NOT EXISTS `zt_kanbanspace` ( `order` mediumint(8) NOT NULL DEFAULT '0', `createdBy` char(30) NOT NULL, `createdDate` datetime NOT NULL, - `lastEditedBy` char(30) NOT NULL, - `lastEditedDate` datetime NOT NULL, - `closedBy` char(30) NOT NULL, - `closedDate` datetime NOT NULL, - `activatedBy` char(30) NOT NULL, - `activatedDate` datetime NOT NULL, + `lastEditedBy` char(30) NOT NULL DEFAULT '', + `lastEditedDate` datetime NULL, + `closedBy` char(30) NOT NULL DEFAULT '', + `closedDate` datetime NULL, + `activatedBy` char(30) NOT NULL DEFAULT '', + `activatedDate` datetime NULL, `deleted` enum('0', '1') NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; @@ -935,12 +937,12 @@ CREATE TABLE IF NOT EXISTS `zt_kanban` ( `alignment` varchar(10) NOT NULL default 'center', `createdBy` char(30) NOT NULL, `createdDate` datetime NOT NULL, - `lastEditedBy` char(30) NOT NULL, - `lastEditedDate` datetime NOT NULL, - `closedBy` char(30) NOT NULL, - `closedDate` datetime NOT NULL, - `activatedBy` char(30) NOT NULL, - `activatedDate` datetime NOT NULL, + `lastEditedBy` char(30) NOT NULL DEFAULT '', + `lastEditedDate` datetime NULL, + `closedBy` char(30) NOT NULL DEFAULT '', + `closedDate` datetime NULL, + `activatedBy` char(30) NOT NULL DEFAULT '', + `activatedDate` datetime NULL, `deleted` enum('0', '1') NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; @@ -982,12 +984,12 @@ CREATE TABLE IF NOT EXISTS `zt_kanbancard` ( `archived` enum('0', '1') NOT NULL DEFAULT '0', `createdBy` char(30) NOT NULL, `createdDate` datetime NOT NULL, - `lastEditedBy` char(30) NOT NULL, - `lastEditedDate` datetime NOT NULL, - `archivedBy` char(30) NOT NULL, - `archivedDate` datetime NOT NULL, - `assignedBy` char(30) NOT NULL, - `assignedDate` datetime NOT NULL, + `lastEditedBy` char(30) NOT NULL DEFAULT '', + `lastEditedDate` datetime NULL, + `archivedBy` char(30) NOT NULL DEFAULT '', + `archivedDate` datetime NULL, + `assignedBy` char(30) NOT NULL DEFAULT '', + `assignedDate` datetime NULL, `deleted` enum('0', '1') NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; @@ -1022,7 +1024,7 @@ CREATE TABLE IF NOT EXISTS `zt_kanbanlane` ( `name` varchar(255) NOT NULL DEFAULT '', `color` char(30) NOT NULL, `order` smallint(6) NOT NULL DEFAULT '0', - `lastEditedTime` datetime NOT NULL, + `lastEditedTime` datetime NULL, `deleted` enum('0','1') NOT NULL default '0', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; @@ -1065,7 +1067,7 @@ CREATE TABLE IF NOT EXISTS `zt_log` ( `contentType` varchar(30) NOT NULL, `data` text NOT NULL, `result` text NOT NULL, - PRIMARY KEY `id` (`id`), + PRIMARY KEY (`id`), KEY `objectType` (`objectType`), KEY `obejctID` (`objectID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; @@ -1106,8 +1108,8 @@ CREATE TABLE IF NOT EXISTS `zt_mr` ( `approver` varchar(255) NOT NULL, `createdBy` varchar(30) NOT NULL, `createdDate` datetime NOT NULL, - `editedBy` varchar(30) NOT NULL, - `editedDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL DEFAULT '', + `editedDate` datetime NULL, `deleted` enum('0','1') NOT NULL DEFAULT '0', `status` char(30) NOT NULL, `mergeStatus` char(30) NOT NULL, @@ -1176,8 +1178,8 @@ CREATE TABLE IF NOT EXISTS `zt_pipeline` ( `private` char(32) DEFAULT NULL, `createdBy` varchar(30) NOT NULL, `createdDate` datetime NOT NULL, - `editedBy` varchar(30) NOT NULL, - `editedDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL DEFAULT '', + `editedDate` datetime NULL, `deleted` enum('0','1') NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; @@ -1193,8 +1195,8 @@ CREATE TABLE IF NOT EXISTS `zt_product` ( `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, `program` mediumint(8) unsigned NOT NULL, `name` varchar(110) NOT NULL, - `code` varchar(45) NOT NULL, - `shadow` tinyint(1) unsigned NOT NULL, + `code` varchar(45) NOT NULL DEFAULT '', + `shadow` tinyint(1) unsigned NOT NULL DEFAULT 0, `bind` enum('0','1') NOT NULL DEFAULT '0', `line` mediumint(8) NOT NULL, `type` varchar(30) NOT NULL DEFAULT 'normal', @@ -1204,15 +1206,15 @@ CREATE TABLE IF NOT EXISTS `zt_product` ( `PO` varchar(30) NOT NULL, `QD` varchar(30) NOT NULL, `RD` varchar(30) NOT NULL, - `feedback` varchar(30) NOT NULL, - `ticket` varchar(30) NOT NULL, + `feedback` varchar(30) NOT NULL DEFAULT '', + `ticket` varchar(30) NOT NULL DEFAULT '', `acl` enum('open','private','custom') NOT NULL DEFAULT 'open', `whitelist` text NOT NULL, - `reviewer` text NOT NULL, + `reviewer` text NULL, `createdBy` varchar(30) NOT NULL, `createdDate` datetime NOT NULL, `createdVersion` varchar(20) NOT NULL, - `order` mediumint(8) unsigned NOT NULL, + `order` mediumint(8) unsigned NOT NULL DEFAULT 0, `vision` varchar(10) NOT NULL DEFAULT 'rnd', `deleted` enum('0','1') NOT NULL DEFAULT '0', PRIMARY KEY (`id`), @@ -1231,7 +1233,7 @@ CREATE TABLE IF NOT EXISTS `zt_productplan` ( `begin` date NOT NULL, `end` date NOT NULL, `order` text NOT NULL, - `closedReason` varchar(20) NOT NULL, + `closedReason` varchar(20) NOT NULL DEFAULT '', `createdBy` varchar(30) NOT NULL, `createdDate` datetime NOT NULL, `deleted` enum('0','1') NOT NULL default '0', @@ -1243,7 +1245,7 @@ CREATE TABLE IF NOT EXISTS `zt_productplan` ( CREATE TABLE IF NOT EXISTS `zt_project` ( `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, `project` mediumint(8) NOT NULL DEFAULT 0, - `model` char(30) NOT NULL, + `model` char(30) NOT NULL DEFAULT '', `type` char(30) NOT NULL DEFAULT 'sprint', `lifetime` char(30) NOT NULL DEFAULT '', `budget` varchar(30) NOT NULL DEFAULT '0', @@ -1251,45 +1253,45 @@ 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, - `auth` char(30) NOT NULL, + `output` text NULL, + `auth` char(30) NOT NULL DEFAULT '', `parent` mediumint(8) unsigned NOT NULL DEFAULT '0', - `path` varchar(255) NOT NULL, - `grade` tinyint(3) unsigned NOT NULL, + `path` varchar(255) NOT NULL DEFAULT '', + `grade` tinyint(3) unsigned NOT NULL DEFAULT '0', `name` varchar(90) NOT NULL, - `code` varchar(45) NOT NULL, + `code` varchar(45) NOT NULL DEFAULT '', `hasProduct` tinyint(1) unsigned NOT NULL DEFAULT 1, `begin` date NOT NULL, `end` date NOT NULL, - `realBegan` date NOT NULL, - `realEnd` date NOT NULL, - `days` smallint(5) unsigned NOT NULL, + `realBegan` date NULL, + `realEnd` date NULL, + `days` smallint(5) unsigned NOT NULL DEFAULT 0, `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, - `version` smallint(6) NOT NULL, - `parentVersion` smallint(6) NOT NULL, - `planDuration` int(11) NOT NULL, - `realDuration` int(11) NOT NULL, + `desc` mediumtext NULL, + `version` smallint(6) NOT NULL DEFAULT 0, + `parentVersion` smallint(6) NOT NULL DEFAULT 0, + `planDuration` int(11) NOT NULL DEFAULT 0, + `realDuration` int(11) NOT NULL DEFAULT 0, `openedBy` varchar(30) NOT NULL DEFAULT '', `openedDate` datetime NOT NULL, - `openedVersion` varchar(20) NOT NULL, + `openedVersion` varchar(20) NOT NULL DEFAULT '', `lastEditedBy` varchar(30) NOT NULL DEFAULT '', - `lastEditedDate` datetime NOT NULL, + `lastEditedDate` datetime NULL, `closedBy` varchar(30) NOT NULL DEFAULT '', - `closedDate` datetime NOT NULL, + `closedDate` datetime NULL, `canceledBy` varchar(30) NOT NULL DEFAULT '', - `canceledDate` datetime NOT NULL, - `suspendedDate` date NOT NULL, + `canceledDate` datetime NULL, + `suspendedDate` date NULL, `PO` varchar(30) NOT NULL DEFAULT '', `PM` varchar(30) NOT NULL DEFAULT '', `QD` varchar(30) NOT NULL DEFAULT '', `RD` varchar(30) NOT NULL DEFAULT '', - `team` varchar(90) NOT NULL, + `team` varchar(90) NOT NULL DEFAULT '', `acl` char(30) NOT NULL DEFAULT 'open', - `whitelist` text NOT NULL, - `order` mediumint(8) unsigned NOT NULL, + `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', `displayCards` smallint(6) NOT NULL default '0', @@ -1498,7 +1500,7 @@ CREATE TABLE IF NOT EXISTS `zt_searchindex` ( `title` text NOT NULL, `content` text NOT NULL, `addedDate` datetime NOT NULL, - `editedDate` datetime NOT NULL, + `editedDate` datetime NULL, PRIMARY KEY (`id`), UNIQUE KEY `object` (`objectType`,`objectID`), KEY `addedDate` (`addedDate`), @@ -1513,14 +1515,14 @@ CREATE TABLE IF NOT EXISTS `zt_stage` ( `projectType` varchar(255) NOT NULL, `createdBy` varchar(30) NOT NULL, `createdDate` datetime NOT NULL, - `editedBy` varchar(30) NOT NULL, - `editedDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL DEFAULT '', + `editedDate` datetime NULL, `deleted` enum('0','1') NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- DROP TABLE IF EXISTS `zt_stakeholder`; CREATE TABLE IF NOT EXISTS `zt_stakeholder` ( - `id` mediumint(8) NOT NULL AUTO_INCREMENT PRIMARY KEY, + `id` mediumint(8) NOT NULL AUTO_INCREMENT, `objectID` mediumint(8) NOT NULL, `objectType` char(30) NOT NULL, `user` char(30) NOT NULL, @@ -1529,9 +1531,10 @@ CREATE TABLE IF NOT EXISTS `zt_stakeholder` ( `from` char(30) NOT NULL, `createdBy` char(30) NOT NULL, `createdDate` date NOT NULL, - `editedBy` char(30) NOT NULL, - `editedDate` date NOT NULL, + `editedBy` char(30) NOT NULL DEFAULT '', + `editedDate` date NULL, `deleted` enum('0','1') NOT NULL, + PRIMARY KEY (`id`), KEY `objectID` (`objectID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- DROP TABLE IF EXISTS `zt_story`; @@ -1565,18 +1568,18 @@ CREATE TABLE IF NOT EXISTS `zt_story` ( `openedBy` varchar(30) NOT NULL DEFAULT '', `openedDate` datetime NOT NULL, `assignedTo` varchar(30) NOT NULL DEFAULT '', - `assignedDate` datetime NOT NULL, - `approvedDate` date NOT NULL, + `assignedDate` datetime NULL, + `approvedDate` date NULL, `lastEditedBy` varchar(30) NOT NULL DEFAULT '', - `lastEditedDate` datetime NOT NULL, - `changedBy` varchar(30) NOT NULL, - `changedDate` datetime NOT NULL, - `reviewedBy` varchar(255) NOT NULL, - `reviewedDate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastEditedDate` datetime NULL, + `changedBy` varchar(30) NOT NULL DEFAULT '', + `changedDate` datetime NULL, + `reviewedBy` varchar(255) NOT NULL DEFAULT '', + `reviewedDate` datetime NULL, `closedBy` varchar(30) NOT NULL DEFAULT '', - `closedDate` datetime NOT NULL, - `closedReason` varchar(30) NOT NULL, - `activatedDate` datetime NOT NULL, + `closedDate` datetime NULL, + `closedReason` varchar(30) NOT NULL DEFAULT '', + `activatedDate` datetime NULL, `toBug` mediumint(8) unsigned NOT NULL, `childStories` varchar(255) NOT NULL, `linkStories` varchar(255) NOT NULL, @@ -1585,8 +1588,8 @@ CREATE TABLE IF NOT EXISTS `zt_story` ( `duplicateStory` mediumint(8) unsigned NOT NULL, `version` smallint(6) NOT NULL DEFAULT '1', `storyChanged` enum('0','1') NOT NULL DEFAULT '0', - `feedbackBy` varchar(100) NOT NULL, - `notifyEmail` varchar(100) NOT NULL, + `feedbackBy` varchar(100) NOT NULL DEFAULT '', + `notifyEmail` varchar(100) NOT NULL DEFAULT '', `URChanged` enum('0','1') NOT NULL DEFAULT '0', `deleted` enum('0','1') NOT NULL DEFAULT '0', PRIMARY KEY (`id`), @@ -1600,7 +1603,7 @@ CREATE TABLE IF NOT EXISTS `zt_storyreview` ( `version` smallint(6) NOT NULL, `reviewer` varchar(30) NOT NULL, `result` varchar(30) NOT NULL, - `reviewDate` datetime NOT NULL, + `reviewDate` datetime NULL, UNIQUE KEY `story` (`story`,`version`,`reviewer`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- DROP TABLE IF EXISTS `zt_storyestimate`; @@ -1672,21 +1675,21 @@ CREATE TABLE IF NOT EXISTS `zt_task` ( `openedDate` datetime NOT NULL, `assignedTo` varchar(30) NOT NULL, `assignedDate` datetime NOT NULL, - `estStarted` date NOT NULL, - `realStarted` datetime NOT NULL, - `finishedBy` varchar(30) NOT NULL, - `finishedDate` datetime NOT NULL, - `finishedList` text NOT NULL, - `canceledBy` varchar(30) NOT NULL, - `canceledDate` datetime NOT NULL, - `closedBy` varchar(30) NOT NULL, - `closedDate` datetime NOT NULL, + `estStarted` date NULL, + `realStarted` datetime NULL, + `finishedBy` varchar(30) NOT NULL DEFAULT '', + `finishedDate` datetime NULL, + `finishedList` text NULL, + `canceledBy` varchar(30) NOT NULL DEFAULT '', + `canceledDate` datetime NULL, + `closedBy` varchar(30) NOT NULL DEFAULT '', + `closedDate` datetime NULL, `planDuration` int(11) NOT NULL, - `realDuration` int(11) NOT NULL, - `closedReason` varchar(30) NOT NULL, - `lastEditedBy` varchar(30) NOT NULL, - `lastEditedDate` datetime NOT NULL, - `activatedDate` datetime NOT NULL, + `realDuration` int(11) NOT NULL DEFAULT '0', + `closedReason` varchar(30) NOT NULL DEFAULT '', + `lastEditedBy` varchar(30) NOT NULL DEFAULT '', + `lastEditedDate` datetime NULL, + `activatedDate` datetime NULL, `order` mediumint(8) unsigned NOT NULL, `repo` mediumint(8) unsigned NOT NULL, `mr` mediumint(8) unsigned NOT NULL, @@ -1746,9 +1749,9 @@ CREATE TABLE IF NOT EXISTS `zt_team` ( `type` enum('project','task','execution') NOT NULL DEFAULT 'project', `account` char(30) NOT NULL DEFAULT '', `role` char(30) NOT NULL DEFAULT '', - `position` varchar(30) NOT NULL, + `position` varchar(30) NOT NULL DEFAULT '', `limited` char(8) NOT NULL DEFAULT 'no', - `join` date NOT NULL DEFAULT '0000-00-00', + `join` date NULL, `days` smallint(5) unsigned NOT NULL, `hours` float(3,1) unsigned NOT NULL DEFAULT '0.0', `estimate` decimal(12,2) unsigned NOT NULL DEFAULT '0.00', @@ -1811,9 +1814,9 @@ CREATE TABLE IF NOT EXISTS `zt_testrun` ( `case` mediumint(8) unsigned NOT NULL default '0', `version` tinyint(3) unsigned NOT NULL default '0', `assignedTo` char(30) NOT NULL default '', - `lastRunner` varchar(30) NOT NULL, - `lastRunDate` datetime NOT NULL, - `lastRunResult` char(30) NOT NULL, + `lastRunner` varchar(30) NOT NULL DEFAULT '', + `lastRunDate` datetime NULL, + `lastRunResult` char(30) NOT NULL DEFAULT '', `status` char(30) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `task` (`task`,`case`) @@ -1829,8 +1832,8 @@ CREATE TABLE IF NOT EXISTS `zt_testsuite` ( `order` smallint unsigned NOT NULL DEFAULT '0', `addedBy` char(30) NOT NULL, `addedDate` datetime NOT NULL, - `lastEditedBy` char(30) NOT NULL, - `lastEditedDate` datetime NOT NULL, + `lastEditedBy` char(30) NOT NULL DEFAULT '', + `lastEditedDate` datetime NULL, `deleted` enum('0','1') NOT NULL, PRIMARY KEY (`id`), KEY `product` (`product`) @@ -1848,7 +1851,7 @@ CREATE TABLE IF NOT EXISTS `zt_testtask` ( `pri` tinyint(3) unsigned NOT NULL default '0', `begin` date NOT NULL, `end` date NOT NULL, - `realFinishedDate` datetime NOT NULL, + `realFinishedDate` datetime NULL, `mailto` text, `desc` mediumtext NOT NULL, `report` text NOT NULL, @@ -1870,7 +1873,7 @@ CREATE TABLE IF NOT EXISTS `zt_todo` ( `date` date NOT NULL, `begin` smallint(4) unsigned zerofill NOT NULL, `end` smallint(4) unsigned zerofill NOT NULL, - `feedback` mediumint(8) unsigned NOT NULL, + `feedback` mediumint(8) unsigned NOT NULL DEFAULT '0', `type` char(15) NOT NULL, `cycle` tinyint(3) unsigned NOT NULL DEFAULT '0', `idvalue` mediumint(8) unsigned NOT NULL DEFAULT '0', @@ -1878,15 +1881,15 @@ CREATE TABLE IF NOT EXISTS `zt_todo` ( `name` char(150) NOT NULL, `desc` mediumtext NOT NULL, `status` enum('wait','doing','done','closed') NOT NULL DEFAULT 'wait', - `private` tinyint(1) NOT NULL, - `config` varchar(255) NOT NULL, + `private` tinyint(1) NOT NULL DEFAULT '0', + `config` varchar(255) NOT NULL DEFAULT '', `assignedTo` varchar(30) NOT NULL DEFAULT '', `assignedBy` varchar(30) NOT NULL DEFAULT '', - `assignedDate` datetime NOT NULL, + `assignedDate` datetime NULL, `finishedBy` varchar(30) NOT NULL DEFAULT '', - `finishedDate` datetime NOT NULL, + `finishedDate` datetime NULL, `closedBy` varchar(30) NOT NULL DEFAULT '', - `closedDate` datetime NOT NULL, + `closedDate` datetime NULL, `deleted` enum('0','1') NOT NULL DEFAULT '0', `vision` varchar(10) NOT NULL DEFAULT 'rnd', PRIMARY KEY (`id`), @@ -1898,7 +1901,7 @@ CREATE TABLE IF NOT EXISTS `zt_todo` ( -- DROP TABLE IF EXISTS `zt_user`; CREATE TABLE IF NOT EXISTS `zt_user` ( `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, - `company` mediumint(8) unsigned NOT NULL, + `company` mediumint(8) unsigned NOT NULL DEFAULT '0', `type` char(30) NOT NULL DEFAULT 'inside', `dept` mediumint(8) unsigned NOT NULL DEFAULT '0', `account` char(30) NOT NULL DEFAULT '', @@ -1907,9 +1910,9 @@ CREATE TABLE IF NOT EXISTS `zt_user` ( `realname` varchar(100) NOT NULL DEFAULT '', `pinyin` varchar(255) NOT NULL DEFAULT '', `nickname` char(60) NOT NULL DEFAULT '', - `commiter` varchar(100) NOT NULL, - `avatar` text NOT NULL, - `birthday` date NOT NULL DEFAULT '0000-00-00', + `commiter` varchar(100) NOT NULL DEFAULT '', + `avatar` text NULL, + `birthday` date NULL, `gender` enum('f','m') NOT NULL DEFAULT 'f', `email` char(90) NOT NULL DEFAULT '', `skype` char(90) NOT NULL DEFAULT '', @@ -1922,22 +1925,22 @@ 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, - `analysis` text NOT NULL, - `strategy` text NOT NULL, - `join` date NOT NULL DEFAULT '0000-00-00', + `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', `ip` char(15) NOT NULL DEFAULT '', `last` int(10) unsigned NOT NULL DEFAULT '0', `fails` tinyint(5) NOT NULL DEFAULT '0', - `locked` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `locked` datetime NULL, `feedback` enum('0','1') NOT NULL DEFAULT '0', `ranzhi` char(30) NOT NULL DEFAULT '', - `ldap` char(30) NOT NULL, + `ldap` char(30) NOT NULL DEFAULT '', `score` int(11) NOT NULL DEFAULT '0', `scoreLevel` int(11) NOT NULL DEFAULT '0', - `resetToken` varchar(50) NOT NULL, + `resetToken` varchar(50) NOT NULL DEFAULT '', `deleted` enum('0','1') NOT NULL DEFAULT '0', `clientStatus` enum('online','away','busy','offline','meeting') NOT NULL DEFAULT 'offline', `clientLang` varchar(10) NOT NULL DEFAULT 'zh-cn', @@ -2037,41 +2040,41 @@ CREATE TABLE IF NOT EXISTS `zt_webhook` ( PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -INSERT INTO `zt_cron` (`m`, `h`, `dom`, `mon`, `dow`, `command`, `remark`, `type`, `buildin`, `status`, `lastTime`) VALUES -('*', '*', '*', '*', '*', '', '监控定时任务', 'zentao', 1, 'normal', '0000-00-00 00:00:00'), -('30', '23', '*', '*', '*', 'moduleName=execution&methodName=computeburn', '更新燃尽图', 'zentao', 1, 'normal', '0000-00-00 00:00:00'), -('30', '23', '*', '*', '*', 'moduleName=execution&methodName=computecfd', '更新累积流图', 'zentao', 1, 'normal', '0000-00-00 00:00:00'), -('0', '8', '*', '*', '*', 'moduleName=report&methodName=remind', '每日任务提醒', 'zentao', 1, 'normal', '0000-00-00 00:00:00'), -('*/5', '*', '*', '*', '*', 'moduleName=svn&methodName=run', '同步SVN', 'zentao', 1, 'stop', '0000-00-00 00:00:00'), -('*/5', '*', '*', '*', '*', 'moduleName=git&methodName=run', '同步GIT', 'zentao', 1, 'stop', '0000-00-00 00:00:00'), -('30', '0', '*', '*', '*', 'moduleName=backup&methodName=backup', '备份数据和附件', 'zentao', 1, 'normal', '0000-00-00 00:00:00'), -('*/5', '*', '*', '*', '*', 'moduleName=mail&methodName=asyncSend', '异步发信', 'zentao', 1, 'normal', '0000-00-00 00:00:00'), -('*/5', '*', '*', '*', '*', 'moduleName=webhook&methodName=asyncSend', '异步发送Webhook', 'zentao', 1, 'normal', '0000-00-00 00:00:00'), -('*/5', '*', '*', '*', '*', 'moduleName=admin&methodName=deleteLog', '删除过期日志', 'zentao', 1, 'normal', '0000-00-00 00:00:00'), -('1', '1', '*', '*', '*', 'moduleName=todo&methodName=createCycle', '生成周期性待办', 'zentao', 1, 'normal', '0000-00-00 00:00:00'), -('1', '0', '*', '*', '*', 'moduleName=ci&methodName=initQueue', '创建周期性任务', 'zentao', 1, 'normal', '0000-00-00 00:00:00'), -('*/5', '*', '*', '*', '*', 'moduleName=ci&methodName=checkCompileStatus', '同步DevOps构建任务状态', 'zentao', 1, 'normal', '0000-00-00 00:00:00'), -('*/5', '*', '*', '*', '*', 'moduleName=ci&methodName=exec', '执行DevOps构建任务', 'zentao', 1, 'normal', '0000-00-00 00:00:00'), -('*/5', '*', '*', '*', '*', 'moduleName=mr&methodName=syncMR', '定时同步GitLab合并数据到禅道数据库', 'zentao', 1, 'normal', '0000-00-00 00:00:00'), -('*/5', '*', '*', '*', '*', 'moduleName=compile&methodName=syncCompile', '定时同步构建记录', 'zentao', 1, 'normal', '0000-00-00 00:00:00'); +INSERT INTO `zt_cron` (`m`, `h`, `dom`, `mon`, `dow`, `command`, `remark`, `type`, `buildin`, `status`) VALUES +('*', '*', '*', '*', '*', '', '监控定时任务', 'zentao', 1, 'normal'), +('30', '23', '*', '*', '*', 'moduleName=execution&methodName=computeburn', '更新燃尽图', 'zentao', 1, 'normal'), +('30', '23', '*', '*', '*', 'moduleName=execution&methodName=computecfd', '更新累积流图', 'zentao', 1, 'normal'), +('0', '8', '*', '*', '*', 'moduleName=report&methodName=remind', '每日任务提醒', 'zentao', 1, 'normal'), +('*/5', '*', '*', '*', '*', 'moduleName=svn&methodName=run', '同步SVN', 'zentao', 1, 'stop'), +('*/5', '*', '*', '*', '*', 'moduleName=git&methodName=run', '同步GIT', 'zentao', 1, 'stop'), +('30', '0', '*', '*', '*', 'moduleName=backup&methodName=backup', '备份数据和附件', 'zentao', 1, 'normal'), +('*/5', '*', '*', '*', '*', 'moduleName=mail&methodName=asyncSend', '异步发信', 'zentao', 1, 'normal'), +('*/5', '*', '*', '*', '*', 'moduleName=webhook&methodName=asyncSend', '异步发送Webhook', 'zentao', 1, 'normal'), +('*/5', '*', '*', '*', '*', 'moduleName=admin&methodName=deleteLog', '删除过期日志', 'zentao', 1, 'normal'), +('1', '1', '*', '*', '*', 'moduleName=todo&methodName=createCycle', '生成周期性待办', 'zentao', 1, 'normal'), +('1', '0', '*', '*', '*', 'moduleName=ci&methodName=initQueue', '创建周期性任务', 'zentao', 1, 'normal'), +('*/5', '*', '*', '*', '*', 'moduleName=ci&methodName=checkCompileStatus', '同步DevOps构建任务状态', 'zentao', 1, 'normal'), +('*/5', '*', '*', '*', '*', 'moduleName=ci&methodName=exec', '执行DevOps构建任务', 'zentao', 1, 'normal'), +('*/5', '*', '*', '*', '*', 'moduleName=mr&methodName=syncMR', '定时同步GitLab合并数据到禅道数据库', 'zentao', 1, 'normal'), +('*/5', '*', '*', '*', '*', 'moduleName=compile&methodName=syncCompile', '定时同步构建记录', 'zentao', 1, 'normal'); -INSERT INTO `zt_group` (`id`, `vision`, `name`, `role`, `desc`) VALUES -(1, 'rnd', 'ADMIN', 'admin', 'for administrator'), -(2, 'rnd', 'DEV', 'dev', 'for developers.'), -(3, 'rnd', 'QA', 'qa', 'for testers.'), -(4, 'rnd', 'PM', 'pm', 'for project managers.'), -(5, 'rnd', 'PO', 'po', 'for product owners.'), -(6, 'rnd', 'TD', 'td', 'for technical director.'), -(7, 'rnd', 'PD', 'pd', 'for product director.'), -(8, 'rnd', 'QD', 'qd', 'for quality director.'), -(9, 'rnd', 'TOP', 'top', 'for top manager.'), -(10, 'rnd', 'OTHERS', 'others', 'for others.'), -(11, 'rnd', 'guest', 'guest', 'For guest'), -(12, 'rnd', 'LIMITED', 'limited', 'For limited user'), -(13, 'rnd', 'PROJECTADMIN', 'projectAdmin', 'Project Admins manage project privileges'), -(14, 'lite', 'LITEADMIN', 'liteAdmin', 'for lite administrator'), -(15, 'lite', 'LITEPROJECT', 'liteProject', 'for lite project managers.'), -(16, 'lite', 'LITETEAM', 'liteTeam', 'for lite team.'); +INSERT INTO `zt_group` (`vision`, `name`, `role`, `desc`) VALUES +('rnd', 'ADMIN', 'admin', 'for administrator'), +('rnd', 'DEV', 'dev', 'for developers.'), +('rnd', 'QA', 'qa', 'for testers.'), +('rnd', 'PM', 'pm', 'for project managers.'), +('rnd', 'PO', 'po', 'for product owners.'), +('rnd', 'TD', 'td', 'for technical director.'), +('rnd', 'PD', 'pd', 'for product director.'), +('rnd', 'QD', 'qd', 'for quality director.'), +('rnd', 'TOP', 'top', 'for top manager.'), +('rnd', 'OTHERS', 'others', 'for others.'), +('rnd', 'guest', 'guest', 'For guest'), +('rnd', 'LIMITED', 'limited', 'For limited user'), +('rnd', 'PROJECTADMIN', 'projectAdmin', 'Project Admins manage project privileges'), +('lite', 'LITEADMIN', 'liteAdmin', 'for lite administrator'), +('lite', 'LITEPROJECT', 'liteProject', 'for lite project managers.'), +('lite', 'LITETEAM', 'liteTeam', 'for lite team.'); INSERT INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES (1,'action','comment'), @@ -6488,20 +6491,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`), @@ -6521,8 +6524,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, @@ -6557,12 +6560,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`), @@ -6577,12 +6580,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; @@ -6592,8 +6595,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`), @@ -6612,8 +6615,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`), @@ -6654,7 +6657,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; @@ -6663,9 +6666,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; @@ -6677,9 +6680,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`), @@ -6687,8 +6690,8 @@ CREATE TABLE IF NOT EXISTS `zt_im_userdevice` ( UNIQUE KEY `userdevice` (`user`, `device`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -INSERT INTO `zt_cron` (`m`, `h`, `dom`, `mon`, `dow`, `command`, `remark`, `type`, `buildin`, `status`, `lastTime`) VALUES ('30', '23', '*', '*', '*', 'moduleName=execution&methodName=computeTaskEffort', '计算任务剩余工时', 'zentao', '1', 'normal', '0000-00-00 00:00:00'); -INSERT INTO `zt_cron` (`m`, `h`, `dom`, `mon`, `dow`, `command`, `remark`, `type`, `buildin`, `status`, `lastTime`) VALUES ('30', '7', '*', '*', '*', 'moduleName=effort&methodName=remindNotRecord', '提醒录入日志', 'zentao', '1', 'stop', '0000-00-00 00:00:00'); +INSERT INTO `zt_cron` (`m`, `h`, `dom`, `mon`, `dow`, `command`, `remark`, `type`, `buildin`, `status`) VALUES ('30', '23', '*', '*', '*', 'moduleName=execution&methodName=computeTaskEffort', '计算任务剩余工时', 'zentao', '1', 'normal'); +INSERT INTO `zt_cron` (`m`, `h`, `dom`, `mon`, `dow`, `command`, `remark`, `type`, `buildin`, `status`) VALUES ('30', '7', '*', '*', '*', 'moduleName=effort&methodName=remindNotRecord', '提醒录入日志', 'zentao', '1', 'stop'); REPLACE INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES (1,'company','alleffort'), (1,'company','allTodo'), @@ -7151,32 +7154,32 @@ CREATE OR REPLACE VIEW `ztv_daybugresolve` AS select count(*) AS `bugresolve`,le CREATE OR REPLACE VIEW `ztv_dayactions` AS select count(*) AS `actions`,left(`zt_action`.`date`,10) AS `day` from `zt_action` group by left(`zt_action`.`date`,10); CREATE OR REPLACE VIEW `ztv_normalproduct` AS SELECT * FROM `zt_product` WHERE `shadow` = 0; -REPLACE INTO `zt_report` (`code`, `name`, `module`, `sql`, `vars`, `langs`, `params`, `step`, `desc`, `addedBy`, `addedDate`) VALUES -('product-progress', '{\"zh-cn\":\"\\u4ea7\\u54c1\\u5b8c\\u6210\\u5ea6\\u7edf\\u8ba1\\u8868\",\"zh-tw\":\"\\u7522\\u54c1\\u5b8c\\u6210\\u5ea6\\u7d71\\u8a08\\u8868\",\"en\":\"Product Progress\",\"de\":\"Product Progress\",\"fr\":\"Product Progress\"}', ',product', 'select t1.*,t2.name, (case when t1.status = \'closed\' or t1.stage = \'released\' then 1 else 0 end) as done, 1 as count from TABLE_STORY as t1 \r\nleft join TABLE_PRODUCT as t2 on t1.product=t2.id \r\nleft join TABLE_PROGRAM as t3 on t2.program=t3.id \r\nwhere t1.deleted=\'0\' and t2.deleted=\'0\'\r\norder by t3.`order` asc, t2.line desc, t2.`order` asc', '', '{\"count\":{\"zh-cn\":\"\\u9700\\u6c42\\u6570\",\"zh-tw\":\"\\u9700\\u6c42\\u6570\",\"en\":\"Stories\"},\"done\":{\"zh-cn\":\"\\u5b8c\\u6210\\u6570\",\"zh-tw\":\"\\u5b8c\\u6210\\u6570\",\"en\":\"Done\"}}', '{\"group1\":\"name\",\"group2\":\"\",\"reportField\":[\"count\",\"done\"],\"reportType\":[\"sum\",\"sum\"],\"sumAppend\":[\"count\",\"done\"],\"percent\":{\"1\":\"1\"},\"contrast\":{\"1\":\"count\"},\"showAlone\":{\"1\":\"1\"}}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u4ea7\\u54c1\\u5217\\u51fa\\u9700\\u6c42\\u603b\\u6570\\uff0c\\u5b8c\\u6210\\u7684\\u603b\\u6570(\\u72b6\\u6001\\u662f\\u5173\\u95ed\\uff0c\\u6216\\u8005\\u7814\\u53d1\\u9636\\u6bb5\\u662f\\u53d1\\u5e03)\\uff0c\\u5b8c\\u6210\\u7684\\u767e\\u5206\\u6bd4\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u7522\\u54c1\\u5217\\u51fa\\u9700\\u6c42\\u7e3d\\u6578\\uff0c\\u5b8c\\u6210\\u7684\\u7e3d\\u6578(\\u72c0\\u614b\\u662f\\u95dc\\u9589\\uff0c\\u6216\\u8005\\u7814\\u767c\\u968e\\u6bb5\\u662f\\u767c\\u5e03)\\uff0c\\u5b8c\\u6210\\u7684\\u767e\\u5206\\u6bd4\\u3002\",\"en\":\"Number of total stories,done stories(state is closed, or stage is released), percent of completion.\",\"de\":\"Number of total stories,done stories(state is closed, or stage is released), percent of completion.\",\"fr\":\"Number of total stories,done stories(state is closed, or stage is released), percent of completion.\"}', 'admin', '2015-07-21 15:07:48'), -('story-status', '{\"zh-cn\":\"\\u4ea7\\u54c1\\u9700\\u6c42\\u72b6\\u6001\\u5206\\u5e03\\u8868\",\"zh-tw\":\"\\u7522\\u54c1\\u9700\\u6c42\\u72c0\\u614b\\u5206\\u5e03\\u8868\",\"en\":\"Story Status\",\"de\":\"Story Status\",\"fr\":\"Story Status\"}', ',product', 'select t1.*,t2.name from TABLE_STORY as t1\r\n left join TABLE_PRODUCT as t2 on t1.product=t2.id \r\nleft join TABLE_PROGRAM as t3 on t2.program=t3.id \r\nwhere t1.deleted=\'0\' and t2.deleted=\'0\'\r\norder by t3.`order` asc, t2.line desc, t2.`order` asc', '', '', '{\"group1\":\"name\",\"group2\":\"\",\"reportField\":[\"status\"],\"reportType\":[\"count\"],\"sumAppend\":[\"\"],\"reportTotal\":[\"1\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u4ea7\\u54c1\\u5217\\u51fa\\u9700\\u6c42\\u603b\\u6570\\uff0c\\u72b6\\u6001\\u7684\\u5206\\u5e03\\u60c5\\u51b5\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u7522\\u54c1\\u5217\\u51fa\\u9700\\u6c42\\u7e3d\\u6578\\uff0c\\u72c0\\u614b\\u7684\\u5206\\u5e03\\u60c5\\u6cc1\\u3002\",\"en\":\"Total number and status distribution of stories.\",\"de\":\"Total number and status distribution of stories.\",\"fr\":\"Total number and status distribution of stories.\"}', 'admin', '2015-07-21 15:35:38'), -('story-stage', '{\"zh-cn\":\"\\u4ea7\\u54c1\\u9700\\u6c42\\u9636\\u6bb5\\u5206\\u5e03\\u8868\",\"zh-tw\":\"\\u7522\\u54c1\\u9700\\u6c42\\u968e\\u6bb5\\u5206\\u5e03\\u8868\",\"en\":\"Story Stage\",\"de\":\"Story Stage\",\"fr\":\"Story Stage\"}', ',product', 'select t1.*,t2.name from TABLE_STORY as t1\r\n left join TABLE_PRODUCT as t2 on t1.product=t2.id \r\nleft join TABLE_PROGRAM as t3 on t2.program=t3.id \r\nwhere t1.deleted=\'0\' and t2.deleted=\'0\'\r\norder by t3.`order` asc, t2.line desc, t2.`order` asc', '', '', '{\"group1\":\"name\",\"group2\":\"\",\"reportField\":[\"stage\"],\"reportType\":[\"count\"],\"sumAppend\":[\"\"],\"reportTotal\":[\"1\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u4ea7\\u54c1\\u5217\\u51fa\\u9700\\u6c42\\u603b\\u6570\\uff0c\\u7814\\u53d1\\u9636\\u6bb5\\u7684\\u5206\\u5e03\\u60c5\\u51b5\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u7522\\u54c1\\u5217\\u51fa\\u9700\\u6c42\\u7e3d\\u6578\\uff0c\\u7814\\u767c\\u968e\\u6bb5\\u7684\\u5206\\u5e03\\u60c5\\u6cc1\\u3002\",\"en\":\"Total number and stage distribution of stories \",\"de\":\"Total number and stage distribution of stories \",\"fr\":\"Total number and stage distribution of stories \"}', 'admin', '2015-07-21 15:38:34'), -('product-release', '{\"zh-cn\":\"\\u4ea7\\u54c1\\u53d1\\u5e03\\u6570\\u91cf\\u7edf\\u8ba1\\u8868\",\"zh-tw\":\"\\u7522\\u54c1\\u767c\\u5e03\\u6578\\u91cf\\u7d71\\u8a08\\u8868\",\"en\":\"Product Release\",\"de\":\"Product Release\",\"fr\":\"Product Release\"}', ',product', 'select t2.name, 1 as releases from TABLE_RELEASE as t1 \r\nleft join TABLE_PRODUCT as t2 on t1.product=t2.id \r\nleft join TABLE_PROGRAM as t3 on t2.program=t3.id \r\nwhere t1.deleted=\'0\' and t2.deleted=\'0\'\r\norder by t3.`order` asc, t2.line desc, t2.`order` asc', '', '{\"count\":{\"zh-cn\":\"\\u9700\\u6c42\\u6570\",\"zh-tw\":\"\\u9700\\u6c42\\u6570\",\"en\":\"Stories\"},\"done\":{\"zh-cn\":\"\\u5b8c\\u6210\\u6570\",\"zh-tw\":\"\\u5b8c\\u6210\\u6570\",\"en\":\"Done\"}}', '{\"group1\":\"name\",\"group2\":\"\",\"reportField\":[\"releases\"],\"reportType\":[\"sum\"],\"sumAppend\":[\"releases\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u4ea7\\u54c1\\u5217\\u51fa\\u53d1\\u5e03\\u7684\\u6570\\u91cf\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u7522\\u54c1\\u5217\\u51fa\\u767c\\u5e03\\u7684\\u6578\\u91cf\\u3002\",\"en\":\"Product Release.\",\"de\":\"Product Release.\",\"fr\":\"Product Release.\"}', 'admin', '2015-07-21 16:00:52'), -('task-status', '{\"zh-cn\":\"\\u4efb\\u52a1\\u72b6\\u6001\\u7edf\\u8ba1\\u8868\",\"zh-tw\":\"\\u4efb\\u52d9\\u72c0\\u614b\\u7d71\\u8a08\\u8868\",\"en\":\"Task Status Report\",\"de\":\"Task Status Report\",\"fr\":\"Task Status Report\",\"vi\":\"Task Status Report\",\"ja\":\"Task Status Report\"}', ',project', 'select t1.id,t3.name as project,t1.name,t2.status,IF(t3.multiple="1",t1.name,"") as execution,t2.id as taskID, t1.status as projectstatus, (case when t2.deadline < CURDATE() and t2.deadline != \'0000-00-00\' and t2.status != \'closed\' and t2.status != \'done\' and t2.status != \'cancel\' then 1 else 0 end) as timeout from TABLE_EXECUTION as t1\r\n left join TABLE_TASK as t2 on t1.id=t2.execution\r\n left join TABLE_PROJECT as t3 on t3.id=t1.project\r\n where t1.deleted=\'0\' and t1.type in (\'sprint\',\'stage\') and t2.deleted=\'0\' and if($project=\'\',1,t3.id=$project) and if($status=\'\',1,t1.status=$status) and if($beginDate=\'\',1,t1.begin>=$beginDate) and if($endDate=\'\',1,t1.end<=$endDate)', '{\"varName\":[\"project\",\"status\",\"beginDate\",\"endDate\"],\"showName\":[\"\\u9879\\u76ee\\u5217\\u8868\",\"\\u6267\\u884c\\u72b6\\u6001\",\"\\u6267\\u884c\\u8d77\\u59cb\\u65e5\\u671f\",\"\\u6267\\u884c\\u7ed3\\u675f\\u65e5\\u671f\"],\"requestType\":[\"select\",\"select\",\"date\",\"date\"],\"selectList\":[\"project\",\"project.status\",\"user\",\"user\"],\"default\":[\"\",\"\",\"$MONTHBEGIN\",\"$MONTHEND\"]}', '{\"project\":{\"zh-cn\":\"\\u9879\\u76ee\\u540d\\u79f0\"},\"execution\":{\"zh-cn\":\"\\u6267\\u884c\\u540d\\u79f0\"}}', '{\"group1\":\"project\",\"group2\":\"execution\",\"reportField\":[\"status\"],\"reportType\":[\"count\"],\"sumAppend\":[\"\"],\"reportTotal\":[\"1\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u6267\\u884c\\u7edf\\u8ba1\\u4efb\\u52a1\\u7684\\u72b6\\u6001\\u5206\\u5e03\\u60c5\\u51b5\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u57f7\\u884c\\u7d71\\u8a08\\u4efb\\u52d9\\u7684\\u72c0\\u614b\\u5206\\u5e03\\u60c5\\u6cc1\\u3002\",\"en\":\"\",\"de\":\"\",\"fr\":\"\",\"vi\":\"\",\"ja\":\"\"}', 'admin', '2015-07-22 11:28:33'), -('task-type', '{\"zh-cn\":\"\\u4efb\\u52a1\\u7c7b\\u578b\\u7edf\\u8ba1\\u8868\",\"zh-tw\":\"\\u4efb\\u52d9\\u985e\\u578b\\u7d71\\u8a08\\u8868\",\"en\":\"Task Type Report\",\"de\":\"Task Type Report\",\"fr\":\"Task Type Report\",\"vi\":\"Task Type Report\",\"ja\":\"Task Type Report\"}', ',project', 'select t1.id,t3.name as project,IF(t3.multiple="1",t1.name,"") as execution,t2.type,t2.id as taskID, t1.status as projectstatus from TABLE_EXECUTION as t1 \r\nleft join TABLE_TASK as t2 on t1.id=t2.execution\r\nleft join TABLE_PROJECT as t3 on t3.id=t1.project\r\nwhere t1.deleted=\'0\' and t1.type in (\'sprint\',\'stage\') and t2.deleted=\'0\' and if($project=\'\',1,t3.id=$project) and if($status=\'\',1,t1.status=$status) and if($beginDate=\'\',1,t1.begin>=$beginDate) and if($endDate=\'\',1,t1.end<=$endDate)', '{\"varName\":[\"project\",\"status\",\"beginDate\",\"endDate\"],\"showName\":[\"\\u9879\\u76ee\\u5217\\u8868\",\"\\u6267\\u884c\\u72b6\\u6001\",\"\\u6267\\u884c\\u8d77\\u59cb\\u65e5\\u671f\",\"\\u6267\\u884c\\u7ed3\\u675f\\u65e5\\u671f\"],\"requestType\":[\"select\",\"select\",\"date\",\"date\"],\"selectList\":[\"project\",\"project.status\",\"user\",\"user\"],\"default\":[\"\",\"\",\"$MONTHBEGIN\",\"$MONTHEND\"]}', '{\"project\":{\"zh-cn\":\"\\u9879\\u76ee\\u540d\\u79f0\"},\"execution\":{\"zh-cn\":\"\\u6267\\u884c\\u540d\\u79f0\"}}', '{\"group1\":\"project\",\"group2\":\"execution\",\"reportField\":[\"type\"],\"reportType\":[\"count\"],\"sumAppend\":[\"\"],\"reportTotal\":[\"1\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u9879\\u76ee\\u7edf\\u8ba1\\u4efb\\u52a1\\u7684\\u7c7b\\u578b\\u5206\\u5e03\\u60c5\\u51b5\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u9805\\u76ee\\u7d71\\u8a08\\u4efb\\u52d9\\u7684\\u985e\\u578b\\u5206\\u5e03\\u60c5\\u6cc1\\u3002\",\"en\":\"\",\"de\":\"\",\"fr\":\"\",\"vi\":\"\",\"ja\":\"\"}', 'admin', '2015-07-22 13:06:46'), -('task-assign', '{\"zh-cn\":\"\\u9879\\u76ee\\u4efb\\u52a1\\u6307\\u6d3e\\u7edf\\u8ba1\\u8868\",\"zh-tw\":\"\\u9805\\u76ee\\u4efb\\u52d9\\u6307\\u6d3e\\u7d71\\u8a08\\u8868\",\"en\":\"Task Assign Report\",\"de\":\"Task Assign Report\",\"fr\":\"Task Assign Report\",\"vi\":\"Task Assign Report\",\"ja\":\"Task Assign Report\"}', ',project', 'select t1.id,t4.name as project,IF(t4.multiple="1",t1.name,"") as execution,if(t3.account is not null, t3.account,t2.assignedTo) as assignedTo,t2.id as taskID, t1.status as projectstatus from TABLE_EXECUTION as t1\r\n left join TABLE_TASK as t2 on t1.id=t2.execution\r\n left join TABLE_TEAM as t3 on t3.type=\'task\' && t3.root=t2.id \r\nleft join TABLE_PROJECT as t4 on t1.project=t4.id\r\nwhere t1.deleted=\'0\' and t1.type in (\'sprint\',\'stage\') and t2.deleted=\'0\' and if($project=\'\',1,t4.id=$project) and if($status=\'\',1,t1.status=$status) and if($beginDate=\'\',1,t1.begin>=$beginDate) and if($endDate=\'\',1,t1.end<=$endDate)', '{\"varName\":[\"project\",\"status\",\"beginDate\",\"endDate\"],\"showName\":[\"\\u9879\\u76ee\\u5217\\u8868\",\"\\u6267\\u884c\\u72b6\\u6001\",\"\\u6267\\u884c\\u8d77\\u59cb\\u65e5\\u671f\",\"\\u6267\\u884c\\u7ed3\\u675f\\u65e5\\u671f\"],\"requestType\":[\"select\",\"select\",\"date\",\"date\"],\"selectList\":[\"project\",\"project.status\",\"user\",\"user\"],\"default\":[\"\",\"\",\"$MONTHBEGIN\",\"$MONTHEND\"]}', '{\"assignedTo\":{\"zh-cn\":\"\\u6307\\u6d3e\\u7ed9\"},\"execution\":{\"zh-cn\":\"\\u6267\\u884c\\u540d\\u79f0\"}}', '{\"group1\":\"project\",\"group2\":\"execution\",\"reportField\":[\"assignedTo\"],\"isUser\":{\"reportField\":[[\"1\"]]},\"reportType\":[\"count\"],\"sumAppend\":[\"\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u9879\\u76ee\\u7edf\\u8ba1\\u4efb\\u52a1\\u7684\\u6307\\u6d3e\\u7ed9\\u5206\\u5e03\\u60c5\\u51b5\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u9805\\u76ee\\u7d71\\u8a08\\u4efb\\u52d9\\u7684\\u6307\\u6d3e\\u7d66\\u5206\\u5e03\\u60c5\\u6cc1\\u3002\",\"en\":\"\",\"de\":\"\",\"fr\":\"\",\"vi\":\"\",\"ja\":\"\"}', 'admin', '2015-07-22 13:13:28'), -('task-finish', '{\"zh-cn\":\"\\u9879\\u76ee\\u4efb\\u52a1\\u5b8c\\u6210\\u8005\\u7edf\\u8ba1\\u8868\",\"zh-tw\":\"\\u9805\\u76ee\\u4efb\\u52d9\\u5b8c\\u6210\\u8005\\u7d71\\u8a08\\u8868\",\"en\":\"Task Finish Report\",\"de\":\"Task Finish Report\",\"fr\":\"Task Finish Report\",\"vi\":\"Task Finish Report\",\"ja\":\"Task Finish Report\"}', ',project', 'select t1.id,t3.name as project,IF(t3.multiple="1",t1.name,"") as execution,t2.finishedBy,t2.id as taskID, t1.status as projectstatus from TABLE_EXECUTION as t1 \r\nleft join TABLE_TASK as t2 on t1.id=t2.execution\r\nleft join TABLE_PROJECT as t3 on t1.project=t3.id \r\nwhere t1.deleted=\'0\' and t1.type in (\'sprint\',\'stage\') and t2.deleted=\'0\' and t2.finishedBy!=\'\' and if($project=\'\',1,t3.id=$project) and if($status=\'\',1,t1.status=$status) and if($beginDate=\'\',1,t1.begin>=$beginDate) and if($endDate=\'\',1,t1.end<=$endDate)', '{\"varName\":[\"project\",\"status\",\"beginDate\",\"endDate\"],\"showName\":[\"\\u9879\\u76ee\\u5217\\u8868\",\"\\u6267\\u884c\\u72b6\\u6001\",\"\\u6267\\u884c\\u8d77\\u59cb\\u65e5\\u671f\",\"\\u6267\\u884c\\u7ed3\\u675f\\u65e5\\u671f\"],\"requestType\":[\"select\",\"select\",\"date\",\"date\"],\"selectList\":[\"project\",\"project.status\",\"user\",\"user\"],\"default\":[\"\",\"\",\"$MONTHBEGIN\",\"$MONTHEND\"]}', '{\"project\":{\"zh-cn\":\"\\u9879\\u76ee\\u540d\\u79f0\"},\"execution\":{\"zh-cn\":\"\\u6267\\u884c\\u540d\\u79f0\"}}', '{\"group1\":\"project\",\"group2\":\"execution\",\"reportField\":[\"finishedBy\"],\"isUser\":{\"reportField\":[[\"1\"]]},\"reportType\":[\"count\"],\"sumAppend\":[\"\"],\"reportTotal\":[\"1\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u9879\\u76ee\\u7edf\\u8ba1\\u4efb\\u52a1\\u7684\\u5b8c\\u6210\\u8005\\u5206\\u5e03\\u60c5\\u51b5\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u9805\\u76ee\\u7d71\\u8a08\\u4efb\\u52d9\\u7684\\u5b8c\\u6210\\u8005\\u5206\\u5e03\\u60c5\\u6cc1\\u3002\",\"en\":\"\",\"de\":\"\",\"fr\":\"\",\"vi\":\"\",\"ja\":\"\"}', 'admin', '2015-07-22 13:16:21'), -('project-invest', '{\"zh-cn\":\"\\u9879\\u76ee\\u6295\\u5165\\u7edf\\u8ba1\\u8868\",\"zh-tw\":\"\\u9805\\u76ee\\u6295\\u5165\\u7d71\\u8a08\\u8868\",\"en\":\"Project Invest Report\",\"de\":\"Project Invest Report\",\"fr\":\"Project Invest Report\",\"vi\":\"Project Invest Report\",\"ja\":\"Project Invest Report\"}', ',project', 'select t1.id,t5.name as project,IF(t5.multiple="1",t1.name,"") as execution,CONCAT(t1.begin,\' ~ \',t1.end) as timeLimit,t2.teams,t3.stories,round(t4.consumed,1) as consumed,t4.number, t1.status as projectstatus \r\nfrom TABLE_EXECUTION as t1\r\n left join ztv_projectteams as t2 on t1.id=t2.execution\r\nleft join ztv_projectstories as t3 on t1.id=t3.execution\r\n left join ztv_executionsummary as t4 on t1.id=t4.execution \r\nleft join TABLE_PROJECT as t5 on t1.project=t5.id \r\nwhere t1.deleted=\'0\' and t1.type in (\'sprint\',\'stage\') and if($project=\'\',1,t5.id=$project) and if($status=\'\',1,t1.status=$status) and if($beginDate=\'\',1,t1.begin>=$beginDate) and if($endDate=\'\',1,t1.end<=$endDate)', '{\"varName\":[\"project\",\"status\",\"beginDate\",\"endDate\"],\"showName\":[\"\\u9879\\u76ee\\u5217\\u8868\",\"\\u6267\\u884c\\u72b6\\u6001\",\"\\u6267\\u884c\\u8d77\\u59cb\\u65e5\\u671f\",\"\\u6267\\u884c\\u7ed3\\u675f\\u65e5\\u671f\"],\"requestType\":[\"select\",\"select\",\"date\",\"date\"],\"selectList\":[\"project\",\"project.status\",\"user\",\"user\"],\"default\":[\"\",\"\",\"$MONTHBEGIN\",\"$MONTHEND\"]}', '{\"timeLimit\":{\"zh-cn\":\"\\u5de5\\u671f\"},\"teams\":{\"zh-cn\":\"\\u4eba\\u6570\"},\"stories\":{\"zh-cn\":\"\\u9700\\u6c42\\u6570\"},\"consumed\":{\"zh-cn\":\"\\u603b\\u6d88\\u8017\"},\"number\":{\"zh-cn\":\"\\u4efb\\u52a1\\u6570\"},\"project\":{\"zh-cn\":\"\\u9879\\u76ee\\u540d\\u79f0\"},\"execution\":{\"zh-cn\":\"\\u6267\\u884c\\u540d\\u79f0\"}}', '{\"group1\":\"project\",\"group2\":\"execution\",\"reportField\":[\"number\",\"stories\",\"teams\",\"consumed\"],\"reportType\":[\"sum\",\"sum\",\"sum\",\"sum\"],\"sumAppend\":[\"number\",\"stories\",\"teams\",\"consumed\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u9879\\u76ee\\u5217\\u51fa\\uff1a\\u4efb\\u52a1\\u6570\\uff0c\\u9700\\u6c42\\u6570\\uff0c\\u4eba\\u6570\\uff0c\\u603b\\u6d88\\u8017\\u5de5\\u65f6\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u9805\\u76ee\\u5217\\u51fa\\uff1a\\u4efb\\u52d9\\u6578\\uff0c\\u9700\\u6c42\\u6578\\uff0c\\u4eba\\u6578\\uff0c\\u7e3d\\u6d88\\u8017\\u5de5\\u6642\\u3002\",\"en\":\"\",\"de\":\"\",\"fr\":\"\",\"vi\":\"\",\"ja\":\"\"}', 'admin', '2015-07-22 16:37:38'), -('projectstory-status', '{\"zh-cn\":\"\\u9879\\u76ee\\u9700\\u6c42\\u72b6\\u6001\\u5206\\u5e03\\u8868\",\"zh-tw\":\"\\u9805\\u76ee\\u9700\\u6c42\\u72c0\\u614b\\u5206\\u5e03\\u8868\",\"en\":\"Project Story Status\",\"de\":\"Project Story Status\",\"fr\":\"Project Story Status\",\"vi\":\"Project Story Status\",\"ja\":\"Project Story Status\"}', ',project', 'select t2.id, t4.name as project,IF(t4.multiple="1",t2.name,"") as execution,t3.status from TABLE_PROJECTSTORY as t1 \r\nleft join TABLE_EXECUTION as t2 on t1.project=t2.id \r\nleft join TABLE_STORY as t3 on t1.story=t3.id \r\nleft join TABLE_PROJECT as t4 on t4.id=t2.project\r\nwhere t2.deleted=\'0\' and t2.type in(\'sprint\', \'stage\') and if($project=\'\',1,t4.id=$project) and if($execution=\'\',1,t2.id=$execution) and if($status=\'\',1,t2.status=$status)', '{\"varName\":[\"project\",\"execution\",\"status\"],\"showName\":[\"\\u9879\\u76ee\\u5217\\u8868\",\"\\u6267\\u884c\\u5217\\u8868\",\"\\u6267\\u884c\\u72b6\\u6001\"],\"requestType\":[\"select\",\"select\",\"select\"],\"selectList\":[\"project\",\"execution\",\"project.status\"],\"default\":[\"\",\"\",\"\"]}', '{\"project\":{\"zh-cn\":\"\\u9879\\u76ee\\u540d\\u79f0\"},\"execution\":{\"zh-cn\":\"\\u6267\\u884c\\u540d\\u79f0\"}}', '{\"group1\":\"project\",\"group2\":\"execution\",\"reportField\":[\"status\"],\"reportType\":[\"count\"],\"sumAppend\":[\"\"],\"reportTotal\":[\"1\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u9879\\u76ee\\u7edf\\u8ba1\\u9700\\u6c42\\u7684\\u72b6\\u6001\\u5206\\u5e03\\u60c5\\u51b5\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u9805\\u76ee\\u7d71\\u8a08\\u9700\\u6c42\\u7684\\u72c0\\u614b\\u5206\\u5e03\\u60c5\\u6cc1\\u3002\",\"en\":\"\",\"de\":\"\",\"fr\":\"\",\"vi\":\"\",\"ja\":\"\"}', 'admin', '2015-07-23 15:35:08'), -('project-stage', '{\"zh-cn\":\"\\u9879\\u76ee\\u9700\\u6c42\\u9636\\u6bb5\\u5206\\u5e03\\u8868\",\"zh-tw\":\"\\u9805\\u76ee\\u9700\\u6c42\\u968e\\u6bb5\\u5206\\u5e03\\u8868\",\"en\":\"Project Stage Report\",\"de\":\"Project Stage Report\",\"fr\":\"Project Stage Report\",\"vi\":\"Project Stage Report\",\"ja\":\"Project Stage Report\"}', ',project', 'select t2.id, t4.name as project,IF(t4.multiple="1",t2.name,"") as execution,t3.stage from TABLE_PROJECTSTORY as t1 \r\nleft join TABLE_EXECUTION as t2 on t1.project=t2.id \r\nleft join TABLE_STORY as t3 on t1.story=t3.id \r\nleft join TABLE_PROJECT as t4 on t4.id=t2.project\r\nwhere t2.deleted=\'0\' and t2.type in(\'sprint\', \'stage\') and if($project=\'\',1,t4.id=$project) and if($execution=\'\',1,t2.id=$execution) and if($status=\'\',1,t2.status=$status)', '{\"varName\":[\"project\",\"execution\",\"status\"],\"showName\":[\"\\u9879\\u76ee\\u5217\\u8868\",\"\\u6267\\u884c\\u5217\\u8868\",\"\\u6267\\u884c\\u72b6\\u6001\"],\"requestType\":[\"select\",\"select\",\"select\"],\"selectList\":[\"project\",\"execution\",\"project.status\"],\"default\":[\"\",\"\",\"\"]}', '{\"project\":{\"zh-cn\":\"\\u9879\\u76ee\\u540d\\u79f0\"},\"execution\":{\"zh-cn\":\"\\u6267\\u884c\\u540d\\u79f0\"}}', '{\"group1\":\"project\",\"group2\":\"execution\",\"reportField\":[\"stage\"],\"reportType\":[\"count\"],\"sumAppend\":[\"\"],\"reportTotal\":[\"1\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u9879\\u76ee\\u7edf\\u8ba1\\u9700\\u6c42\\u9636\\u6bb5\\u5206\\u5e03\\u60c5\\u51b5\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u9805\\u76ee\\u7d71\\u8a08\\u9700\\u6c42\\u968e\\u6bb5\\u5206\\u5e03\\u60c5\\u6cc1\\u3002\",\"en\":\"\",\"de\":\"\",\"fr\":\"\",\"vi\":\"\",\"ja\":\"\"}', 'admin', '2015-07-23 15:38:18'), -('projectbug-resolution', '{\"zh-cn\":\"\\u9879\\u76eeBug\\u89e3\\u51b3\\u65b9\\u6848\\u5206\\u5e03\\u8868\",\"zh-tw\":\"\\u9805\\u76eeBug\\u89e3\\u6c7a\\u65b9\\u6848\\u5206\\u5e03\\u8868\",\"en\":\"Project Bug Resolution\",\"de\":\"Project Bug Resolution\",\"fr\":\"Project Bug Resolution\",\"vi\":\"Project Bug Resolution\",\"ja\":\"Project Bug Resolution\"}', ',project,test', 'select t1.id,t3.name as project,t3.id,IF(t3.multiple="1",t1.name,"") as execution,t1.id as bugID,t2.resolution from TABLE_EXECUTION as t1 \r\nleft join TABLE_BUG as t2 on t1.id=t2.execution\r\nleft join TABLE_PROJECT as t3 on t3.id=t1.project\r\n where t1.deleted=\'0\' and t2.deleted=\'0\' and t2.resolution!=\'\' having bugID!=\'\' and if($project=\'\',1,t3.id=$project) and if($execution=\'\',1,t1.id=$execution)', '{\"varName\":[\"project\",\"execution\"],\"showName\":[\"\\u9879\\u76ee\\u5217\\u8868\",\"\\u6267\\u884c\\u5217\\u8868\"],\"requestType\":[\"select\",\"select\"],\"selectList\":[\"project\",\"execution\"],\"default\":[\"\",\"\"]}', '{\"project\":{\"zh-cn\":\"\\u9879\\u76ee\\u540d\\u79f0\"},\"execution\":{\"zh-cn\":\"\\u6267\\u884c\\u540d\\u79f0\"}}', '{\"group1\":\"project\",\"group2\":\"execution\",\"reportField\":[\"resolution\"],\"reportType\":[\"count\"],\"sumAppend\":[\"\"],\"reportTotal\":[\"1\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u9879\\u76ee\\u7edf\\u8ba1Bug\\u7684\\u89e3\\u51b3\\u65b9\\u6848\\u5206\\u5e03\\u60c5\\u51b5\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u9805\\u76ee\\u7d71\\u8a08Bug\\u7684\\u89e3\\u6c7a\\u65b9\\u6848\\u5206\\u5e03\\u60c5\\u6cc1\\u3002\",\"en\":\"\",\"de\":\"\",\"fr\":\"\",\"vi\":\"\",\"ja\":\"\"}', 'admin', '2015-07-23 16:04:46'), -('projectbug-status', '{\"zh-cn\":\"\\u9879\\u76eeBug\\u72b6\\u6001\\u5206\\u5e03\\u8868\",\"zh-tw\":\"\\u9805\\u76eeBug\\u72c0\\u614b\\u5206\\u5e03\\u8868\",\"en\":\"Project Bug Status\",\"de\":\"Project Bug Status\",\"fr\":\"Project Bug Status\",\"vi\":\"Project Bug Status\",\"ja\":\"Project Bug Status\"}', ',project,test', 'select t1.id,t3.name as project,t3.id,IF(t3.multiple="1",t1.name,"") as execution,t1.id as bugID,t2.status from TABLE_EXECUTION as t1 \r\nleft join TABLE_BUG as t2 on t1.id=t2.execution\r\nleft join TABLE_PROJECT as t3 on t3.id=t1.project\r\nwhere t1.deleted=\'0\' and t2.deleted=\'0\' having bugID!=\' \' and if($project=\'\',1,t3.id=$project) and if($execution=\'\',1,t1.id=$execution)', '{\"varName\":[\"project\",\"execution\"],\"showName\":[\"\\u9879\\u76ee\\u5217\\u8868\",\"\\u6267\\u884c\\u5217\\u8868\"],\"requestType\":[\"select\",\"select\"],\"selectList\":[\"project\",\"execution\"],\"default\":[\"\",\"\"]}', '{\"project\":{\"zh-cn\":\"\\u9879\\u76ee\\u540d\\u79f0\"},\"execution\":{\"zh-cn\":\"\\u6267\\u884c\\u540d\\u79f0\"}}', '{\"group1\":\"project\",\"group2\":\"execution\",\"reportField\":[\"status\"],\"reportType\":[\"count\"],\"sumAppend\":[\"\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u9879\\u76ee\\u7edf\\u8ba1Bug\\u7684\\u72b6\\u6001\\u5206\\u5e03\\u60c5\\u51b5\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u9805\\u76ee\\u7d71\\u8a08Bug\\u7684\\u72c0\\u614b\\u5206\\u5e03\\u60c5\\u6cc1\\u3002\",\"en\":\"\",\"de\":\"\",\"fr\":\"\",\"vi\":\"\",\"ja\":\"\"}', 'admin', '2015-07-23 15:48:03'), -('projectbug-opened', '{\"zh-cn\":\"\\u9879\\u76eeBug\\u521b\\u5efa\\u8005\\u5206\\u5e03\\u8868\",\"zh-tw\":\"\\u9805\\u76eeBug\\u5275\\u5efa\\u8005\\u5206\\u5e03\\u8868\",\"en\":\"Project Bug Opened\",\"de\":\"Project Bug Opened\",\"fr\":\"Project Bug Opened\",\"vi\":\"Project Bug Opened\",\"ja\":\"Project Bug Opened\"}', ',project,test', 'select t1.id,t3.name as project,t3.id,IF(t3.multiple="1",t1.name,"") as execution,t1.id as bugID,t2.openedBy from TABLE_EXECUTION as t1 \r\nleft join TABLE_BUG as t2 on t1.id=t2.execution\r\nleft join TABLE_PROJECT as t3 on t3.id=t1.project\r\nwhere t1.deleted=\'0\' and t2.deleted=\'0\' having bugID!=\'\' and if($project=\'\',1,t3.id=$project) and if($execution=\'\',1,t1.id=$execution)', '{\"varName\":[\"project\",\"execution\"],\"showName\":[\"\\u9879\\u76ee\\u5217\\u8868\",\"\\u6267\\u884c\\u5217\\u8868\"],\"requestType\":[\"select\",\"select\"],\"selectList\":[\"project\",\"execution\"],\"default\":[\"\",\"\"]}', '{\"project\":{\"zh-cn\":\"\\u9879\\u76ee\\u540d\\u79f0\"},\"execution\":{\"zh-cn\":\"\\u6267\\u884c\\u540d\\u79f0\"}}', '{\"group1\":\"project\",\"group2\":\"execution\",\"reportField\":[\"openedBy\"],\"isUser\":{\"reportField\":[[\"1\"]]},\"reportType\":[\"count\"],\"sumAppend\":[\"\"],\"reportTotal\":[\"1\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u9879\\u76ee\\u7edf\\u8ba1Bug\\u7684\\u521b\\u5efa\\u8005\\u5206\\u5e03\\u60c5\\u51b5\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u9805\\u76ee\\u7d71\\u8a08Bug\\u7684\\u5275\\u5efa\\u8005\\u5206\\u5e03\\u60c5\\u6cc1\\u3002\",\"en\":\"\",\"de\":\"\",\"fr\":\"\",\"vi\":\"\",\"ja\":\"\"}', 'admin', '2015-07-23 16:08:10'), -('projectbug-resolve', '{\"zh-cn\":\"\\u9879\\u76eeBug\\u89e3\\u51b3\\u8005\\u5206\\u5e03\\u8868\",\"zh-tw\":\"\\u9805\\u76eeBug\\u89e3\\u6c7a\\u8005\\u5206\\u5e03\\u8868\",\"en\":\"Project Bug Resolve\",\"de\":\"Project Bug Resolve\",\"fr\":\"Project Bug Resolve\",\"vi\":\"Project Bug Resolve\",\"ja\":\"Project Bug Resolve\"}', ',project,test', 'select t1.id,t3.name as project,t3.id,IF(t3.multiple="1",t1.name,"") as execution,t1.id as bugID,t2.resolvedBy from TABLE_EXECUTION as t1 \r\nleft join TABLE_BUG as t2 on t1.id=t2.execution\r\nleft join TABLE_PROJECT as t3 on t3.id=t1.project\r\nwhere t1.deleted=\'0\' and t2.deleted=\'0\' and t2.status!=\'active\' and t2.resolvedBy!=\'\' having bugID!=\'\' and if($project=\'\',1,t3.id=$project) and if($execution=\'\',1,t1.id=$execution)', '{\"varName\":[\"project\",\"execution\"],\"showName\":[\"\\u9879\\u76ee\\u5217\\u8868\",\"\\u6267\\u884c\\u5217\\u8868\"],\"requestType\":[\"select\",\"select\"],\"selectList\":[\"project\",\"execution\"],\"default\":[\"\",\"\"]}', '{\"project\":{\"zh-cn\":\"\\u9879\\u76ee\\u540d\\u79f0\"},\"execution\":{\"zh-cn\":\"\\u6267\\u884c\\u540d\\u79f0\"}}', '{\"group1\":\"project\",\"group2\":\"execution\",\"reportField\":[\"resolvedBy\"],\"isUser\":{\"reportField\":[[\"1\"]]},\"reportType\":[\"count\"],\"sumAppend\":[\"\"],\"reportTotal\":[\"1\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u9879\\u76ee\\u7edf\\u8ba1Bug\\u7684\\u89e3\\u51b3\\u8005\\u5206\\u5e03\\u60c5\\u51b5\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u9805\\u76ee\\u7d71\\u8a08Bug\\u7684\\u89e3\\u6c7a\\u8005\\u5206\\u5e03\\u60c5\\u6cc1\\u3002\",\"en\":\"\",\"de\":\"\",\"fr\":\"\",\"vi\":\"\",\"ja\":\"\"}', 'admin', '2015-07-23 16:13:16'), -('projectbug-assign', '{\"zh-cn\":\"\\u9879\\u76eeBug\\u6307\\u6d3e\\u7ed9\\u5206\\u5e03\\u8868\",\"zh-tw\":\"\\u9805\\u76eeBug\\u6307\\u6d3e\\u7d66\\u5206\\u5e03\\u8868\",\"en\":\"Project Bug Assign\",\"de\":\"Project Bug Assign\",\"fr\":\"Project Bug Assign\",\"vi\":\"Project Bug Assign\",\"ja\":\"Project Bug Assign\"}', ',project,test', 'select t1.id,t3.name as project,t3.id,IF(t3.multiple="1",t1.name,"") as execution,t1.id as bugID,t2.assignedTo from TABLE_EXECUTION as t1 \r\nleft join TABLE_BUG as t2 on t1.id=t2.execution \r\nleft join TABLE_PROJECT as t3 on t3.id=t1.project\r\nwhere t1.deleted=\'0\' and t2.deleted=\'0\' having bugID!=\'\' and if($project=\'\',1,t3.id=$project) and if($execution=\'\',1,t1.id=$execution)', '{\"varName\":[\"project\",\"execution\"],\"showName\":[\"\\u9879\\u76ee\\u5217\\u8868\",\"\\u6267\\u884c\\u5217\\u8868\"],\"requestType\":[\"select\",\"select\"],\"selectList\":[\"project\",\"execution\"],\"default\":[\"\",\"\"]}', '{\"project\":{\"zh-cn\":\"\\u9879\\u76ee\\u540d\\u79f0\"},\"execution\":{\"zh-cn\":\"\\u6267\\u884c\\u540d\\u79f0\"}}', '{\"group1\":\"project\",\"group2\":\"execution\",\"reportField\":[\"assignedTo\"],\"isUser\":{\"reportField\":[[\"1\"]]},\"reportType\":[\"count\"],\"sumAppend\":[\"\"],\"reportTotal\":[\"1\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u9879\\u76ee\\u7edf\\u8ba1Bug\\u7684\\u6307\\u6d3e\\u7ed9\\u5206\\u5e03\\u60c5\\u51b5\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u9805\\u76ee\\u7d71\\u8a08Bug\\u7684\\u6307\\u6d3e\\u7d66\\u5206\\u5e03\\u60c5\\u6cc1\\u3002\",\"en\":\"\",\"de\":\"\",\"fr\":\"\",\"vi\":\"\",\"ja\":\"\"}', 'admin', '2015-07-23 16:29:10'), -('project-quality', '{\"zh-cn\":\"\\u9879\\u76ee\\u8d28\\u91cf\\u8868\",\"zh-tw\":\"\\u9805\\u76ee\\u8cea\\u91cf\\u8868\",\"en\":\"Project Quality Report\",\"de\":\"Project Quality Report\",\"fr\":\"Project Quality Report\",\"vi\":\"Project Quality Report\",\"ja\":\"Project Quality Report\"}', ',project', 'select t1.id, t5.name as project,t5.id,IF(t5.multiple="1",t1.name,"") as execution,t2.stories,(t2.stories-t2.undone) as doneStory,t3.number,(t3.number-t3.undone) as doneTask,t4.bugs,t4.resolutions, round(t4.bugs/(t2.stories-t2.undone),2) as bugthanstory,round(t4.bugs/(t3.number-t3.undone),2) as bugthantask,t4.seriousBugs from TABLE_EXECUTION as t1 \r\nleft join ztv_projectstories as t2 on t1.id=t2.execution\r\nleft join ztv_executionsummary as t3 on t1.id=t3.execution\r\nleft join ztv_projectbugs as t4 on t1.id=t4.execution\r\nleft join TABLE_PROJECT as t5 on t5.id=t1.project\r\nwhere t1.deleted=\'0\' and t1.type in (\'sprint\',\'stage\') and t1.grade=\'1\' and if($project=\'\',1,t5.id=$project) and if($execution=\'\',1,t1.id=$execution)', '{\"varName\":[\"project\",\"execution\"],\"showName\":[\"\\u9879\\u76ee\\u5217\\u8868\",\"\\u6267\\u884c\\u5217\\u8868\"],\"requestType\":[\"select\",\"select\"],\"selectList\":[\"project\",\"execution\"],\"default\":[\"\",\"\"]}', '{\"stories\":{\"zh-cn\":\"\\u9700\\u6c42\\u603b\\u6570\"},\"doneStory\":{\"zh-cn\":\"\\u5b8c\\u6210\\u9700\\u6c42\\u6570\"},\"number\":{\"zh-cn\":\"\\u4efb\\u52a1\\u603b\\u6570\"},\"doneTask\":{\"zh-cn\":\"\\u5b8c\\u6210\\u4efb\\u52a1\\u6570\"},\"bugs\":{\"zh-cn\":\"Bug\\u6570\"},\"resolutions\":{\"zh-cn\":\"\\u89e3\\u51b3Bug\\u6570\"},\"bugthanstory\":{\"zh-cn\":\"Bug\\/\\u5b8c\\u6210\\u9700\\u6c42\"},\"bugthantask\":{\"zh-cn\":\"Bug\\/\\u5b8c\\u6210\\u4efb\\u52a1\"},\"seriousBugs\":{\"zh-cn\":\"\\u91cd\\u8981Bug\\u6570\"},\"seriousBugsPercent\":{\"zh-cn\":\"\\u4e25\\u91cdBug\\u6bd4\\u7387\"},\"project\":{\"zh-cn\":\"\\u9879\\u76ee\\u540d\\u79f0\"},\"execution\":{\"zh-cn\":\"\\u6267\\u884c\\u540d\\u79f0\"}}', '{\"group1\":\"project\",\"group2\":\"execution\",\"reportField\":[\"stories\",\"doneStory\",\"number\",\"doneTask\",\"bugs\",\"resolutions\",\"bugthanstory\",\"bugthantask\",\"seriousBugs\"],\"reportType\":[\"sum\",\"sum\",\"sum\",\"sum\",\"sum\",\"sum\",\"sum\",\"sum\",\"sum\"],\"sumAppend\":[\"stories\",\"doneStory\",\"number\",\"doneTask\",\"bugs\",\"resolutions\",\"bugthanstory\",\"bugthantask\",\"seriousBugs\"]}', 2, '{\"zh-cn\":\"\\u5217\\u51fa\\u9879\\u76ee\\u7684\\u9700\\u6c42\\u603b\\u6570\\uff0c\\u5b8c\\u6210\\u9700\\u6c42\\u6570\\uff0c\\u4efb\\u52a1\\u603b\\u6570\\uff0c\\u5b8c\\u6210\\u7684\\u4efb\\u52a1\\u6570\\uff0cBug\\u6570\\uff0c\\u89e3\\u51b3\\u7684Bug\\u6570\\uff0cBug\\/\\u9700\\u6c42\\uff0cBug\\/\\u4efb\\u52a1\\uff0c\\u91cd\\u8981Bug\\u6570\\u91cf(\\u4e25\\u91cd\\u7a0b\\u5ea6\\u4e0d\\u5927\\u4e8e3\\uff09\\u3002\",\"zh-tw\":\"\\u5217\\u51fa\\u9805\\u76ee\\u7684\\u9700\\u6c42\\u7e3d\\u6578\\uff0c\\u5b8c\\u6210\\u9700\\u6c42\\u6578\\uff0c\\u4efb\\u52d9\\u7e3d\\u6578\\uff0c\\u5b8c\\u6210\\u7684\\u4efb\\u52d9\\u6578\\uff0cBug\\u6578\\uff0c\\u89e3\\u6c7a\\u7684Bug\\u6578\\uff0cBug\\/\\u9700\\u6c42\\uff0cBug\\/\\u4efb\\u52d9\\uff0c\\u91cd\\u8981Bug\\u6578\\u91cf(\\u56b4\\u91cd\\u7a0b\\u5ea6\\u4e0d\\u5927\\u65bc3\\uff09\\u3002\",\"en\":\"\",\"de\":\"\",\"fr\":\"\",\"vi\":\"\",\"ja\":\"\"}', 'admin', '2015-07-23 17:03:10'), -('productbug-type', '{\"zh-cn\":\"\\u4ea7\\u54c1Bug\\u7c7b\\u578b\\u7edf\\u8ba1\\u8868\",\"zh-tw\":\"\\u7522\\u54c1Bug\\u985e\\u578b\\u7d71\\u8a08\\u8868\",\"en\":\"Bug Type of Product\",\"de\":\"Bug Type of Product\",\"fr\":\"Bug Type of Product\"}', ',product,test', 'select t1.id,t1.name,t2.id as bugID,t2.type from TABLE_PRODUCT as t1 \r\nleft join TABLE_BUG as t2 on t1.id=t2.product \r\nleft join TABLE_PROGRAM as t3 on t1.program=t3.id \r\nwhere t1.deleted=\'0\' and t2.deleted=\'0\'\r\norder by t3.`order` asc, t1.line desc, t1.`order` asc', '', '{\"count\":{\"zh-cn\":\"\\u9700\\u6c42\\u6570\",\"zh-tw\":\"\\u9700\\u6c42\\u6570\",\"en\":\"Stories\"},\"done\":{\"zh-cn\":\"\\u5b8c\\u6210\\u6570\",\"zh-tw\":\"\\u5b8c\\u6210\\u6570\",\"en\":\"Done\"}}', '{\"group1\":\"name\",\"group2\":\"\",\"reportField\":[\"type\"],\"reportType\":[\"count\"],\"sumAppend\":[\"\"],\"reportTotal\":[\"1\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u4ea7\\u54c1\\u7edf\\u8ba1Bug\\u7684\\u7c7b\\u578b\\u5206\\u5e03\\u60c5\\u51b5\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u7522\\u54c1\\u7d71\\u8a08Bug\\u7684\\u985e\\u578b\\u5206\\u5e03\\u60c5\\u6cc1\\u3002\",\"en\":\"Type distribution of Bugs.\",\"de\":\"Type distribution of Bugs.\",\"fr\":\"Type distribution of Bugs.\"}', 'admin', '2015-07-24 13:48:22'), -('product-quality', '{\"zh-cn\":\"\\u4ea7\\u54c1\\u8d28\\u91cf\\u8868\",\"zh-tw\":\"\\u7522\\u54c1\\u8cea\\u91cf\\u8868\",\"en\":\"Product Quality\",\"de\":\"Product Quality\",\"fr\":\"Product Quality\"}', ',product', 'select t1.id,t1.name,t2.stories,(t2.stories-t2.undone) as doneStory,t3.bugs,t3.resolutions,round(t3.bugs/(t2.stories-t2.undone),2) as bugthanstory,t3.seriousBugs from TABLE_PRODUCT as t1 \r\nleft join ztv_productstories as t2 on t1.id=t2.product \r\nleft join ztv_productbugs as t3 on t1.id=t3.product \r\nleft join TABLE_PROGRAM as t4 on t1.program=t4.id \r\nwhere t1.deleted=\'0\'\r\norder by t4.`order` asc, t1.line desc, t1.`order` asc', '', '{\"stories\":{\"zh-cn\":\"\\u9700\\u6c42\\u603b\\u6570\",\"zh-tw\":\"\\u9700\\u6c42\\u603b\\u6570\",\"en\":\"Stories\"},\"doneStory\":{\"zh-cn\":\"\\u5b8c\\u6210\\u9700\\u6c42\\u6570\",\"zh-tw\":\"\\u5b8c\\u6210\\u9700\\u6c42\\u6570\",\"en\":\"Finished Stories\"},\"bugs\":{\"zh-cn\":\"Bug\\u6570\",\"zh-tw\":\"Bug\\u6570\",\"en\":\"Bugs\"},\"resolutions\":{\"zh-cn\":\"\\u89e3\\u51b3Bug\\u6570\",\"zh-tw\":\"\\u89e3\\u51b3Bug\\u6570\",\"en\":\"Solved Bugs\"},\"bugthanstory\":{\"zh-cn\":\"Bug\\/\\u5b8c\\u6210\\u9700\\u6c42\",\"zh-tw\":\"Bug\\/\\u5b8c\\u6210\\u9700\\u6c42\",\"en\":\"Bug\\/Finished Story\"},\"seriousBugs\":{\"zh-cn\":\"\\u91cd\\u8981Bug\\u6570\",\"zh-tw\":\"\\u91cd\\u8981Bug\\u6570\",\"en\":\"Serious Bugs\"},\"seriousBugsPercent\":{\"zh-cn\":\"\\u4e25\\u91cdbug\\u6bd4\\u7387\",\"zh-tw\":\"\\u4e25\\u91cdbug\\u6bd4\\u7387\",\"en\":\"Serious Bugs %\"}}', '{\"group1\":\"name\",\"group2\":\"\",\"reportField\":[\"stories\",\"doneStory\",\"bugs\",\"resolutions\",\"bugthanstory\",\"seriousBugs\"],\"reportType\":[\"sum\",\"sum\",\"sum\",\"sum\",\"sum\",\"sum\"],\"sumAppend\":[\"stories\",\"doneStory\",\"bugs\",\"resolutions\",\"bugthanstory\",\"seriousBugs\"],\"percent\":{\"5\":\"1\"},\"contrast\":{\"5\":\"bugs\"},\"showAlone\":{\"5\":\"1\"}}', 2, '{\"zh-cn\":\"\\u5217\\u51fa\\u4ea7\\u54c1\\u7684\\u9700\\u6c42\\u6570\\uff0c\\u5b8c\\u6210\\u7684\\u9700\\u6c42\\u603b\\u6570\\uff0cBug\\u6570\\uff0c\\u89e3\\u51b3\\u7684Bug\\u603b\\u6570\\uff0cBug\\/\\u9700\\u6c42\\uff0c\\u91cd\\u8981Bug\\u6570\\u91cf(\\u4e25\\u91cd\\u7a0b\\u5ea6\\u4e0d\\u5927\\u4e8e3)\\u3002\",\"zh-tw\":\"\\u5217\\u51fa\\u7522\\u54c1\\u7684\\u9700\\u6c42\\u6578\\uff0c\\u5b8c\\u6210\\u7684\\u9700\\u6c42\\u7e3d\\u6578\\uff0cBug\\u6578\\uff0c\\u89e3\\u6c7a\\u7684Bug\\u7e3d\\u6578\\uff0cBug\\/\\u9700\\u6c42\\uff0c\\u91cd\\u8981Bug\\u6578\\u91cf(\\u56b4\\u91cd\\u7a0b\\u5ea6\\u4e0d\\u5927\\u65bc3)\\u3002\",\"en\":\"Serious Bug (severity is less than 3).\",\"de\":\"Serious Bug (severity is less than 3).\",\"fr\":\"Serious Bug (severity is less than 3).\"}', 'admin', '2015-07-23 17:17:40'), -('user-login', '{\"zh-cn\":\"\\u5458\\u5de5\\u767b\\u5f55\\u6b21\\u6570\\u7edf\\u8ba1\\u8868\",\"zh-tw\":\"\\u54e1\\u5de5\\u767b\\u9304\\u6b21\\u6578\\u7d71\\u8a08\\u8868\",\"en\":\"Login Times\",\"de\":\"Login Times\",\"fr\":\"Login Times\"}', ',staff', 'select actor,LEFT(`date`,10) as `day` from TABLE_ACTION where `action`=\'login\' and if($startDate=\'\',1,`date`>=$startDate) and if($endDate=\'\',1,`date`<=$endDate) order by `date` asc, actor asc', '{\"varName\":[\"startDate\",\"endDate\"],\"showName\":[\"\\u8d77\\u59cb\\u65f6\\u95f4\",\"\\u7ed3\\u675f\\u65f6\\u95f4\"],\"requestType\":[\"date\",\"date\"],\"selectList\":[\"user\",\"user\"],\"default\":[\"$MONTHBEGIN\",\"$MONTHEND\"]}', '{\"count\":{\"zh-cn\":\"\\u9700\\u6c42\\u6570\",\"zh-tw\":\"\\u9700\\u6c42\\u6570\",\"en\":\"Stories\"},\"done\":{\"zh-cn\":\"\\u5b8c\\u6210\\u6570\",\"zh-tw\":\"\\u5b8c\\u6210\\u6570\",\"en\":\"Done\"}}', '{\"group1\":\"actor\",\"isUser\":{\"group1\":[\"1\"]},\"group2\":\"\",\"reportField\":[\"day\"],\"reportType\":[\"count\"],\"sumAppend\":[\"\"],\"reportTotal\":[\"1\"]}', 2, '{\"zh-cn\":\"\\u5b9e\\u73b0\\u5458\\u5de5\\u767b\\u5f55\\u6b21\\u6570\\u7edf\\u8ba1\\u62a5\\u8868\\uff0c\\u6309\\u7167\\u5929\\u7edf\\u8ba1\\u6bcf\\u5929\\u6bcf\\u4e2a\\u4eba\\u7684\\u767b\\u5f55\\u6b21\\u6570\\uff0c\\u4ee5\\u53ca\\u603b\\u6570\\u3002\",\"zh-tw\":\"\\u5be6\\u73fe\\u54e1\\u5de5\\u767b\\u9304\\u6b21\\u6578\\u7d71\\u8a08\\u5831\\u8868\\uff0c\\u6309\\u7167\\u5929\\u7d71\\u8a08\\u6bcf\\u5929\\u6bcf\\u500b\\u4eba\\u7684\\u767b\\u9304\\u6b21\\u6578\\uff0c\\u4ee5\\u53ca\\u7e3d\\u6578\\u3002\",\"en\":\"The summary of user login times.\",\"de\":\"The summary of user login times.\",\"fr\":\"The summary of user login times.\"}', 'admin', '2015-07-24 14:28:11'), -('effort', '{\"zh-cn\":\"\\u65e5\\u5fd7\\u6c47\\u603b\\u8868\",\"zh-tw\":\"\\u65e5\\u8a8c\\u532f\\u7e3d\\u8868\",\"en\":\"Effort Summary\",\"de\":\"Effort Summary\",\"fr\":\"Effort Summary\"}', ',staff', 'select t1.account,t1.consumed,t1.`date`,if($dept=\'0\',0,t2.dept) as dept from TABLE_EFFORT as t1 left join TABLE_USER as t2 on t1.account=t2.account where t1.`deleted`=\'0\' and if($startDate=\'\',1,t1.`date`>=$startDate) and if($endDate=\'\',1,t1.`date`<=$endDate) having dept=$dept order by `date` asc', '{\"varName\":[\"dept\",\"startDate\",\"endDate\"],\"showName\":[\"\\u90e8\\u95e8\",\"\\u8d77\\u59cb\\u65f6\\u95f4\",\"\\u7ed3\\u675f\\u65f6\\u95f4\"],\"requestType\":[\"select\",\"date\",\"date\"],\"selectList\":[\"dept\",\"user\",\"user\"],\"default\":[\"\",\"$MONTHBEGIN\",\"$MONTHEND\"]}', '{\"date\":{\"zh-cn\":\"\\u65e5\\u671f\",\"zh-tw\":\"\\u65e5\\u671f\",\"en\":\"Date\"},\"consumed\":{\"zh-cn\":\"\\u6d88\\u8017\\u5de5\\u65f6\",\"zh-tw\":\"\\u6d88\\u8017\\u5de5\\u65f6\",\"en\":\"Cost\"}}', '{\"group1\":\"account\",\"isUser\":{\"group1\":[\"1\"]},\"group2\":\"\",\"reportField\":[\"date\"],\"reportType\":[\"sum\"],\"sumAppend\":[\"consumed\"]}', 2, '{\"zh-cn\":\"\\u67e5\\u770b\\u67d0\\u4e2a\\u65f6\\u95f4\\u6bb5\\u5185\\u7684\\u65e5\\u5fd7\\u60c5\\u51b5\\uff0c\\u53ef\\u4ee5\\u6309\\u7167\\u90e8\\u95e8\\u9009\\u62e9\\u3002\",\"zh-tw\":\"\\u67e5\\u770b\\u67d0\\u500b\\u6642\\u9593\\u6bb5\\u5167\\u7684\\u65e5\\u8a8c\\u60c5\\u6cc1\\uff0c\\u53ef\\u4ee5\\u6309\\u7167\\u90e8\\u9580\\u9078\\u64c7\\u3002\",\"en\":\"Effort summary of users.\",\"de\":\"Effort summary of users\",\"fr\":\"Effort summary of users\"}', 'admin', '2015-07-27 13:53:32'), -('company-dynamic', '{\"zh-cn\":\"\\u516c\\u53f8\\u52a8\\u6001\\u6c47\\u603b\\u8868\",\"zh-tw\":\"\\u516c\\u53f8\\u52d5\\u614b\\u532f\\u7e3d\\u8868\",\"en\":\"Company Dynamics\",\"de\":\"Company Dynamics\",\"fr\":\"Company Dynamics\"}', ',staff', 'select t1.day,t2.userlogin,t3.consumed,t4.storyopen,t5.storyclose,t6.taskopen,t7.taskfinish,t8.bugopen,t9.bugresolve,t1.actions from ztv_dayactions as t1 left join ztv_dayuserlogin as t2 on t1.day=t2.day left join ztv_dayeffort as t3 on t1.day=t3.date left join ztv_daystoryopen as t4 on t1.day=t4.day left join ztv_daystoryclose as t5 on t1.day=t5.day left join ztv_daytaskopen as t6 on t1.day=t6.day left join ztv_daytaskfinish as t7 on t1.day=t7.day left join ztv_daybugopen as t8 on t1.day=t8.day left join ztv_daybugresolve as t9 on t1.day=t9.day where if($startDate=\'\',1,t1.day>=$startDate) and if($endDate=\'\',1,t1.day<=$endDate)', '{\"varName\":[\"startDate\",\"endDate\"],\"showName\":[\"\\u8d77\\u59cb\\u65f6\\u95f4\",\"\\u7ed3\\u675f\\u65f6\\u95f4\"],\"requestType\":[\"date\",\"date\"],\"selectList\":[\"user\",\"user\"],\"default\":[\"$MONTHBEGIN\",\"$MONTHEND\"]}', '{\"day\":{\"zh-cn\":\"\\u65e5\\u671f\",\"zh-tw\":\"\\u65e5\\u671f\",\"en\":\"Date\"},\"userlogin\":{\"zh-cn\":\"\\u767b\\u5f55\\u6b21\\u6570\",\"zh-tw\":\"\\u767b\\u9304\\u6b21\\u6578\",\"en\":\"Login\"},\"consumed\":{\"zh-cn\":\"\\u65e5\\u5fd7\\u5de5\\u65f6\",\"zh-tw\":\"\\u65e5\\u8a8c\\u5de5\\u6642\",\"en\":\"Cost(h)\"},\"storyopen\":{\"zh-cn\":\"\\u65b0\\u589e\\u9700\\u6c42\\u6570\",\"zh-tw\":\"\\u65b0\\u589e\\u9700\\u6c42\\u6578\",\"en\":\"Open Story\"},\"storyclose\":{\"zh-cn\":\"\\u5173\\u95ed\\u9700\\u6c42\\u6570\",\"zh-tw\":\"\\u95dc\\u9589\\u9700\\u6c42\\u6578\",\"en\":\"Closed Story\"},\"taskopen\":{\"zh-cn\":\"\\u65b0\\u589e\\u4efb\\u52a1\\u6570\",\"zh-tw\":\"\\u65b0\\u589e\\u4efb\\u52d9\\u6578\",\"en\":\"Open Task\"},\"taskfinish\":{\"zh-cn\":\"\\u5b8c\\u6210\\u4efb\\u52a1\\u6570\",\"zh-tw\":\"\\u5b8c\\u6210\\u4efb\\u52d9\\u6578\",\"en\":\"Finished Task\"},\"bugopen\":{\"zh-cn\":\"\\u65b0\\u589eBug\\u6570\",\"zh-tw\":\"\\u65b0\\u589eBug\\u6578\",\"en\":\"Open Bug\"},\"bugresolve\":{\"zh-cn\":\"\\u89e3\\u51b3Bug\\u6570\",\"zh-tw\":\"\\u89e3\\u51b3Bug\\u6578\",\"en\":\"Resolved bug\"},\"actions\":{\"zh-cn\":\"\\u52a8\\u6001\\u6570\",\"zh-tw\":\"\\u52d5\\u614b\\u6578\",\"en\":\"Dynamics\"}}', '{\"group1\":\"day\",\"isUser\":{\"group1\":[\"1\"]},\"group2\":\"\",\"reportField\":[\"userlogin\",\"consumed\",\"storyopen\",\"storyclose\",\"taskopen\",\"taskfinish\",\"bugopen\",\"bugresolve\",\"actions\"],\"reportType\":[\"sum\",\"sum\",\"sum\",\"sum\",\"sum\",\"sum\",\"sum\",\"sum\",\"sum\"],\"sumAppend\":[\"userlogin\",\"consumed\",\"storyopen\",\"storyclose\",\"taskopen\",\"taskfinish\",\"bugopen\",\"bugresolve\",\"actions\"]}', 2, '{\"zh-cn\":\"\\u53ef\\u4ee5\\u6307\\u5b9a\\u4e00\\u4e2a\\u65f6\\u671f\\uff0c\\u5217\\u51fa\\u76f8\\u5e94\\u7684\\u6570\\u636e\\uff1a1. \\u6bcf\\u5929\\u7684\\u767b\\u5f55\\u6b21\\u6570\\u30022. \\u6bcf\\u5929\\u7684\\u65e5\\u5fd7\\u5de5\\u65f6\\u91cf\\u30023. \\u6bcf\\u5929\\u65b0\\u589e\\u7684\\u9700\\u6c42\\u6570\\u30024. \\u6bcf\\u5929\\u5173\\u95ed\\u7684\\u9700\\u6c42\\u6570\\u30025. \\u6bcf\\u5929\\u65b0\\u589e\\u7684\\u4efb\\u52a1\\u6570\\u30026. \\u6bcf\\u5929\\u5b8c\\u6210\\u7684\\u4efb\\u52a1\\u6570\\u30027. \\u6bcf\\u5929\\u65b0\\u589e\\u7684Bug\\u6570\\u30028. \\u6bcf\\u5929\\u89e3\\u51b3\\u7684Bug\\u6570\\u30029. \\u6bcf\\u5929\\u7684\\u52a8\\u6001\\u6570\\u3002\",\"zh-tw\":\"\\u53ef\\u4ee5\\u6307\\u5b9a\\u4e00\\u500b\\u6642\\u671f\\uff0c\\u5217\\u51fa\\u76f8\\u61c9\\u7684\\u6578\\u64da\\uff1a1. \\u6bcf\\u5929\\u7684\\u767b\\u9304\\u6b21\\u6578\\u30022. \\u6bcf\\u5929\\u7684\\u65e5\\u8a8c\\u5de5\\u6642\\u91cf\\u30023. \\u6bcf\\u5929\\u65b0\\u589e\\u7684\\u9700\\u6c42\\u6578\\u30024. \\u6bcf\\u5929\\u95dc\\u9589\\u7684\\u9700\\u6c42\\u6578\\u30025. \\u6bcf\\u5929\\u65b0\\u589e\\u7684\\u4efb\\u52d9\\u6578\\u30026. \\u6bcf\\u5929\\u5b8c\\u6210\\u7684\\u4efb\\u52d9\\u6578\\u30027. \\u6bcf\\u5929\\u65b0\\u589e\\u7684Bug\\u6578\\u30028. \\u6bcf\\u5929\\u89e3\\u6c7a\\u7684Bug\\u6578\\u30029. \\u6bcf\\u5929\\u7684\\u52d5\\u614b\\u6578\\u3002\",\"en\":\"The summary of company dynamics\",\"de\":\"The summary of company dynamics\",\"fr\":\"The summary of company dynamics\"}', 'admin', '2015-07-27 15:09:42'), -('bug-resolve', '{\"zh-cn\":\"Bug\\u89e3\\u51b3\\u8868\",\"zh-tw\":\"Bug\\u89e3\\u6c7a\\u8868\",\"en\":\"Solved Bugs\",\"de\":\"Solved Bugs\",\"fr\":\"Solved Bugs\"}', ',test', 'select *,if($product=\'\',0,product) as customproduct from TABLE_BUG where deleted=\'0\' and resolution!=\'\' and if($startDate=\'\',1,resolvedDate>=$startDate) and if($endDate=\'\',1,resolvedDate<=$endDate) having customproduct=$product', '{\"varName\":[\"product\",\"startDate\",\"endDate\"],\"showName\":[\"\\u4ea7\\u54c1\",\"\\u89e3\\u51b3\\u65e5\\u671f\\u5f00\\u59cb\",\"\\u89e3\\u51b3\\u65e5\\u671f\\u7ed3\\u675f\"],\"requestType\":[\"select\",\"date\",\"date\"],\"selectList\":[\"product\",\"user\",\"user\"],\"default\":[\"\",\"$MONTHBEGIN\",\"$MONTHEND\"]}', '{\"count\":{\"zh-cn\":\"\\u9700\\u6c42\\u6570\",\"zh-tw\":\"\\u9700\\u6c42\\u6570\",\"en\":\"Stories\"},\"done\":{\"zh-cn\":\"\\u5b8c\\u6210\\u6570\",\"zh-tw\":\"\\u5b8c\\u6210\\u6570\",\"en\":\"Done\"}}', '{\"group1\":\"resolvedBy\",\"isUser\":{\"group1\":[\"1\"]},\"group2\":\"\",\"reportField\":[\"resolution\"],\"reportType\":[\"count\"],\"sumAppend\":[\"\"],\"reportTotal\":[\"1\"],\"percent\":[\"1\"],\"contrast\":[\"crystalTotal\"],\"showAlone\":[\"1\"]}', 2, '{\"zh-cn\":\"\\u5217\\u51fa\\u89e3\\u51b3\\u7684Bug\\u603b\\u6570\\uff0c\\u89e3\\u51b3\\u65b9\\u6848\\u7684\\u5206\\u5e03\\uff0c\\u5360\\u7684\\u6bd4\\u4f8b\\uff08\\u8be5\\u7528\\u6237\\u89e3\\u51b3\\u7684Bug\\u7684\\u6570\\u91cf\\u5360\\u6240\\u6709\\u7684\\u89e3\\u51b3\\u7684Bug\\u7684\\u6570\\u91cf)\\u3002\",\"zh-tw\":\"\\u5217\\u51fa\\u89e3\\u6c7a\\u7684Bug\\u7e3d\\u6578\\uff0c\\u89e3\\u6c7a\\u65b9\\u6848\\u7684\\u5206\\u5e03\\uff0c\\u5360\\u7684\\u6bd4\\u4f8b\\uff08\\u8a72\\u7528\\u6236\\u89e3\\u6c7a\\u7684Bug\\u7684\\u6578\\u91cf\\u5360\\u6240\\u6709\\u7684\\u89e3\\u6c7a\\u7684Bug\\u7684\\u6578\\u91cf)\\u3002\",\"en\":\"percentage:self resolved \\/ all resolved\",\"de\":\"percentage:self resolved \\/ all resolved\",\"fr\":\"percentage:self resolved \\/ all resolved\"}', 'admin', '2015-07-24 13:44:25'), -('project-progress', '{\"zh-cn\":\"\\u9879\\u76ee\\u8fdb\\u5c55\\u8868\",\"zh-tw\":\"\\u9805\\u76ee\\u9032\\u5c55\\u8868\",\"en\":\"Project Progress Report\",\"de\":\"Project Progress Report\",\"fr\":\"Project Progress Report\",\"vi\":\"Project Progress Report\",\"ja\":\"Project Progress Report\"}', ',project', 'select t1.id,t4.name as project,t4.id,IF(t4.multiple="1",t1.name,"") as execution,t1.status,t2.number as tasks,round(t2.consumed,2) as consumed,round(t2.`left`,2) as `left`,t3.stories,t2.undone as undoneTask,t3.undone as undoneStory,t2.totalReal from TABLE_EXECUTION as t1 \r\nleft join ztv_executionsummary as t2 on t1.id=t2.execution\r\nleft join ztv_projectstories as t3 on t1.id=t3.execution\r\nleft join TABLE_PROJECT as t4 on t4.id=t1.project\r\nwhere t1.deleted=\'0\' and t1.type in (\'sprint\',\'stage\') and if($project=\'\',1,t4.id=$project) and if($execution=\'\',1,t1.id=$execution) and if($status=\'\',1,t1.status=$status)', '{\"varName\":[\"project\",\"execution\",\"status\"],\"showName\":[\"\\u9879\\u76ee\\u5217\\u8868\",\"\\u6267\\u884c\\u5217\\u8868\",\"\\u6267\\u884c\\u72b6\\u6001\"],\"requestType\":[\"select\",\"select\",\"select\"],\"selectList\":[\"project\",\"execution\",\"project.status\"],\"default\":[\"\",\"\",\"\"]}', '{\"stories\":{\"zh-cn\":\"\\u9700\\u6c42\\u6570\",\"zh-tw\":\"\\u9700\\u6c42\\u6570\",\"en\":\"Stories\"},\"tasks\":{\"zh-cn\":\"\\u4efb\\u52a1\\u6570\",\"zh-tw\":\"\\u4efb\\u52a1\\u6570\",\"en\":\"Tasks\"},\"undoneStory\":{\"zh-cn\":\"\\u5269\\u4f59\\u9700\\u6c42\\u6570\",\"zh-tw\":\"\\u5269\\u4f59\\u9700\\u6c42\\u6570\",\"en\":\"Undone Story\"},\"undoneTask\":{\"zh-cn\":\"\\u5269\\u4f59\\u4efb\\u52a1\\u6570\",\"zh-tw\":\"\\u5269\\u4f59\\u4efb\\u52a1\\u6570\",\"en\":\"Undone Task\"},\"consumed\":{\"zh-cn\":\"\\u5df2\\u6d88\\u8017\\u5de5\\u65f6\",\"zh-tw\":\"\\u5df2\\u6d88\\u8017\\u5de5\\u65f6\",\"en\":\"Cost(h)\"},\"left\":{\"zh-cn\":\"\\u5269\\u4f59\\u5de5\\u65f6\",\"zh-tw\":\"\\u5269\\u4f59\\u5de5\\u65f6\",\"en\":\"Left(h)\"},\"consumedPercent\":{\"zh-cn\":\"\\u8fdb\\u5ea6\",\"zh-tw\":\"\\u8fdb\\u5ea6\",\"en\":\"Process\"},\"execution\":{\"zh-cn\":\"\\u6267\\u884c\\u540d\\u79f0\"}}', '{\"group1\":\"project\",\"group2\":\"execution\",\"reportField\":[\"stories\",\"undoneStory\",\"tasks\",\"undoneTask\",\"left\",\"consumed\"],\"reportType\":[\"sum\",\"sum\",\"sum\",\"sum\",\"sum\",\"sum\"],\"sumAppend\":[\"stories\",\"undoneStory\",\"tasks\",\"undoneTask\",\"left\",\"consumed\"],\"percent\":{\"5\":\"1\"},\"contrast\":{\"5\":\"totalReal\"},\"showAlone\":{\"5\":\"1\"}}', 2, '{\"zh-cn\":\"\\u9879\\u76ee\\u7684\\u9700\\u6c42\\u6570\\uff0c\\u4efb\\u52a1\\u6570\\uff0c\\u5df2\\u6d88\\u8017\\u5de5\\u65f6\\uff0c\\u5269\\u4f59\\u5de5\\u65f6\\uff0c\\u5269\\u4f59\\u9700\\u6c42\\u6570\\uff0c\\u5269\\u4f59\\u4efb\\u52a1\\u6570\\uff0c\\u8fdb\\u5ea6\\u3002\",\"zh-tw\":\"\\u9805\\u76ee\\u7684\\u9700\\u6c42\\u6578\\uff0c\\u4efb\\u52d9\\u6578\\uff0c\\u5df2\\u6d88\\u8017\\u5de5\\u6642\\uff0c\\u5269\\u9918\\u5de5\\u6642\\uff0c\\u5269\\u9918\\u9700\\u6c42\\u6578\\uff0c\\u5269\\u9918\\u4efb\\u52d9\\u6578\\uff0c\\u9032\\u5ea6\\u3002\",\"en\":\"\",\"de\":\"\",\"fr\":\"\",\"vi\":\"\",\"ja\":\"\"}', 'admin', '2015-07-23 14:03:06'), -('projectbug-type', '{\"zh-cn\":\"\\u9879\\u76eeBug\\u7c7b\\u578b\\u7edf\\u8ba1\\u8868\",\"zh-tw\":\"\\u9805\\u76eeBug\\u985e\\u578b\\u7d71\\u8a08\\u8868\",\"en\":\"Project Bug Type\",\"de\":\"Project Bug Type\",\"fr\":\"Project Bug Type\",\"vi\":\"Project Bug Type\",\"ja\":\"Project Bug Type\"}', ',project,test', 'select t1.id,t3.name as project,t3.id,IF(t3.multiple="1",t1.name,"") as execution,t2.id as bugID,t2.type from TABLE_EXECUTION as t1 \r\nleft join TABLE_BUG as t2 on t1.id=t2.execution\r\nleft join TABLE_PROJECT as t3 on t3.id=t1.project\r\nwhere t1.deleted=\'0\' and t2.deleted=\'0\' and if($project=\'\',1,t3.id=$project) and if($execution=\'\',1,t1.id=$execution)', '{\"varName\":[\"project\",\"execution\"],\"showName\":[\"\\u9879\\u76ee\\u5217\\u8868\",\"\\u6267\\u884c\\u5217\\u8868\"],\"requestType\":[\"select\",\"select\"],\"selectList\":[\"project\",\"execution\"],\"default\":[\"\",\"\"]}', '{\"stories\":{\"zh-cn\":\"\\u9700\\u6c42\\u6570\",\"zh-tw\":\"\\u9700\\u6c42\\u6570\",\"en\":\"Stories\"},\"tasks\":{\"zh-cn\":\"\\u4efb\\u52a1\\u6570\",\"zh-tw\":\"\\u4efb\\u52a1\\u6570\",\"en\":\"Tasks\"},\"undoneStory\":{\"zh-cn\":\"\\u5269\\u4f59\\u9700\\u6c42\\u6570\",\"zh-tw\":\"\\u5269\\u4f59\\u9700\\u6c42\\u6570\",\"en\":\"Undone Story\"},\"undoneTask\":{\"zh-cn\":\"\\u5269\\u4f59\\u4efb\\u52a1\\u6570\",\"zh-tw\":\"\\u5269\\u4f59\\u4efb\\u52a1\\u6570\",\"en\":\"Undone Task\"},\"consumed\":{\"zh-cn\":\"\\u5df2\\u6d88\\u8017\\u5de5\\u65f6\",\"zh-tw\":\"\\u5df2\\u6d88\\u8017\\u5de5\\u65f6\",\"en\":\"Cost(h)\"},\"left\":{\"zh-cn\":\"\\u5269\\u4f59\\u5de5\\u65f6\",\"zh-tw\":\"\\u5269\\u4f59\\u5de5\\u65f6\",\"en\":\"Left(h)\"},\"consumedPercent\":{\"zh-cn\":\"\\u8fdb\\u5ea6\",\"zh-tw\":\"\\u8fdb\\u5ea6\",\"en\":\"Process\"},\"execution\":{\"zh-cn\":\"\\u6267\\u884c\\u540d\\u79f0\"}}', '{\"group1\":\"project\",\"group2\":\"execution\",\"reportField\":[\"type\"],\"reportType\":[\"count\"],\"sumAppend\":[\"\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u9879\\u76ee\\u7edf\\u8ba1Bug\\u7684\\u7c7b\\u578b\\u5206\\u5e03\\u60c5\\u51b5\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u9805\\u76ee\\u7d71\\u8a08Bug\\u7684\\u985e\\u578b\\u5206\\u5e03\\u60c5\\u6cc1\\u3002\",\"en\":\"\",\"de\":\"\",\"fr\":\"\",\"vi\":\"\",\"ja\":\"\"}', 'admin', '2015-08-04 13:54:22'); +--REPLACE INTO `zt_report` (`code`, `name`, `module`, `sql`, `vars`, `langs`, `params`, `step`, `desc`, `addedBy`, `addedDate`) VALUES +--('product-progress', '{\"zh-cn\":\"\\u4ea7\\u54c1\\u5b8c\\u6210\\u5ea6\\u7edf\\u8ba1\\u8868\",\"zh-tw\":\"\\u7522\\u54c1\\u5b8c\\u6210\\u5ea6\\u7d71\\u8a08\\u8868\",\"en\":\"Product Progress\",\"de\":\"Product Progress\",\"fr\":\"Product Progress\"}', ',product', 'select t1.*,t2.name, (case when t1.status = \'closed1\' or t1.stage = \'released\' then 1 else 0 end) as done, 1 as count from TABLE_STORY as t1 \r\nleft join TABLE_PRODUCT as t2 on t1.product=t2.id \r\nleft join TABLE_PROGRAM as t3 on t2.program=t3.id \r\nwhere t1.deleted=\'0\' and t2.deleted=\'0\'\r\norder by t3.`order` asc, t2.line desc, t2.`order` asc', '', '{\"count\":{\"zh-cn\":\"\\u9700\\u6c42\\u6570\",\"zh-tw\":\"\\u9700\\u6c42\\u6570\",\"en\":\"Stories\"},\"done\":{\"zh-cn\":\"\\u5b8c\\u6210\\u6570\",\"zh-tw\":\"\\u5b8c\\u6210\\u6570\",\"en\":\"Done\"}}', '{\"group1\":\"name\",\"group2\":\"\",\"reportField\":[\"count\",\"done\"],\"reportType\":[\"sum\",\"sum\"],\"sumAppend\":[\"count\",\"done\"],\"percent\":{\"1\":\"1\"},\"contrast\":{\"1\":\"count\"},\"showAlone\":{\"1\":\"1\"}}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u4ea7\\u54c1\\u5217\\u51fa\\u9700\\u6c42\\u603b\\u6570\\uff0c\\u5b8c\\u6210\\u7684\\u603b\\u6570(\\u72b6\\u6001\\u662f\\u5173\\u95ed\\uff0c\\u6216\\u8005\\u7814\\u53d1\\u9636\\u6bb5\\u662f\\u53d1\\u5e03)\\uff0c\\u5b8c\\u6210\\u7684\\u767e\\u5206\\u6bd4\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u7522\\u54c1\\u5217\\u51fa\\u9700\\u6c42\\u7e3d\\u6578\\uff0c\\u5b8c\\u6210\\u7684\\u7e3d\\u6578(\\u72c0\\u614b\\u662f\\u95dc\\u9589\\uff0c\\u6216\\u8005\\u7814\\u767c\\u968e\\u6bb5\\u662f\\u767c\\u5e03)\\uff0c\\u5b8c\\u6210\\u7684\\u767e\\u5206\\u6bd4\\u3002\",\"en\":\"Number of total stories,done stories(state is closed, or stage is released), percent of completion.\",\"de\":\"Number of total stories,done stories(state is closed, or stage is released), percent of completion.\",\"fr\":\"Number of total stories,done stories(state is closed, or stage is released), percent of completion.\"}', 'admin', '2015-07-21 15:07:48'), +--('story-status', '{\"zh-cn\":\"\\u4ea7\\u54c1\\u9700\\u6c42\\u72b6\\u6001\\u5206\\u5e03\\u8868\",\"zh-tw\":\"\\u7522\\u54c1\\u9700\\u6c42\\u72c0\\u614b\\u5206\\u5e03\\u8868\",\"en\":\"Story Status\",\"de\":\"Story Status\",\"fr\":\"Story Status\"}', ',product', 'select t1.*,t2.name from TABLE_STORY as t1\r\n left join TABLE_PRODUCT as t2 on t1.product=t2.id \r\nleft join TABLE_PROGRAM as t3 on t2.program=t3.id \r\nwhere t1.deleted=\'0\' and t2.deleted=\'0\'\r\norder by t3.`order` asc, t2.line desc, t2.`order` asc', '', '', '{\"group1\":\"name\",\"group2\":\"\",\"reportField\":[\"status\"],\"reportType\":[\"count\"],\"sumAppend\":[\"\"],\"reportTotal\":[\"1\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u4ea7\\u54c1\\u5217\\u51fa\\u9700\\u6c42\\u603b\\u6570\\uff0c\\u72b6\\u6001\\u7684\\u5206\\u5e03\\u60c5\\u51b5\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u7522\\u54c1\\u5217\\u51fa\\u9700\\u6c42\\u7e3d\\u6578\\uff0c\\u72c0\\u614b\\u7684\\u5206\\u5e03\\u60c5\\u6cc1\\u3002\",\"en\":\"Total number and status distribution of stories.\",\"de\":\"Total number and status distribution of stories.\",\"fr\":\"Total number and status distribution of stories.\"}', 'admin', '2015-07-21 15:35:38'), +--('story-stage', '{\"zh-cn\":\"\\u4ea7\\u54c1\\u9700\\u6c42\\u9636\\u6bb5\\u5206\\u5e03\\u8868\",\"zh-tw\":\"\\u7522\\u54c1\\u9700\\u6c42\\u968e\\u6bb5\\u5206\\u5e03\\u8868\",\"en\":\"Story Stage\",\"de\":\"Story Stage\",\"fr\":\"Story Stage\"}', ',product', 'select t1.*,t2.name from TABLE_STORY as t1\r\n left join TABLE_PRODUCT as t2 on t1.product=t2.id \r\nleft join TABLE_PROGRAM as t3 on t2.program=t3.id \r\nwhere t1.deleted=\'0\' and t2.deleted=\'0\'\r\norder by t3.`order` asc, t2.line desc, t2.`order` asc', '', '', '{\"group1\":\"name\",\"group2\":\"\",\"reportField\":[\"stage\"],\"reportType\":[\"count\"],\"sumAppend\":[\"\"],\"reportTotal\":[\"1\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u4ea7\\u54c1\\u5217\\u51fa\\u9700\\u6c42\\u603b\\u6570\\uff0c\\u7814\\u53d1\\u9636\\u6bb5\\u7684\\u5206\\u5e03\\u60c5\\u51b5\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u7522\\u54c1\\u5217\\u51fa\\u9700\\u6c42\\u7e3d\\u6578\\uff0c\\u7814\\u767c\\u968e\\u6bb5\\u7684\\u5206\\u5e03\\u60c5\\u6cc1\\u3002\",\"en\":\"Total number and stage distribution of stories \",\"de\":\"Total number and stage distribution of stories \",\"fr\":\"Total number and stage distribution of stories \"}', 'admin', '2015-07-21 15:38:34'), +--('product-release', '{\"zh-cn\":\"\\u4ea7\\u54c1\\u53d1\\u5e03\\u6570\\u91cf\\u7edf\\u8ba1\\u8868\",\"zh-tw\":\"\\u7522\\u54c1\\u767c\\u5e03\\u6578\\u91cf\\u7d71\\u8a08\\u8868\",\"en\":\"Product Release\",\"de\":\"Product Release\",\"fr\":\"Product Release\"}', ',product', 'select t2.name, 1 as releases from TABLE_RELEASE as t1 \r\nleft join TABLE_PRODUCT as t2 on t1.product=t2.id \r\nleft join TABLE_PROGRAM as t3 on t2.program=t3.id \r\nwhere t1.deleted=\'0\' and t2.deleted=\'0\'\r\norder by t3.`order` asc, t2.line desc, t2.`order` asc', '', '{\"count\":{\"zh-cn\":\"\\u9700\\u6c42\\u6570\",\"zh-tw\":\"\\u9700\\u6c42\\u6570\",\"en\":\"Stories\"},\"done\":{\"zh-cn\":\"\\u5b8c\\u6210\\u6570\",\"zh-tw\":\"\\u5b8c\\u6210\\u6570\",\"en\":\"Done\"}}', '{\"group1\":\"name\",\"group2\":\"\",\"reportField\":[\"releases\"],\"reportType\":[\"sum\"],\"sumAppend\":[\"releases\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u4ea7\\u54c1\\u5217\\u51fa\\u53d1\\u5e03\\u7684\\u6570\\u91cf\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u7522\\u54c1\\u5217\\u51fa\\u767c\\u5e03\\u7684\\u6578\\u91cf\\u3002\",\"en\":\"Product Release.\",\"de\":\"Product Release.\",\"fr\":\"Product Release.\"}', 'admin', '2015-07-21 16:00:52'), +--('task-status', '{\"zh-cn\":\"\\u4efb\\u52a1\\u72b6\\u6001\\u7edf\\u8ba1\\u8868\",\"zh-tw\":\"\\u4efb\\u52d9\\u72c0\\u614b\\u7d71\\u8a08\\u8868\",\"en\":\"Task Status Report\",\"de\":\"Task Status Report\",\"fr\":\"Task Status Report\",\"vi\":\"Task Status Report\",\"ja\":\"Task Status Report\"}', ',project', 'select t1.id,t3.name as project,t1.name,t2.status,IF(t3.multiple="1",t1.name,"") as execution,t2.id as taskID, t1.status as projectstatus, (case when t2.deadline < CURDATE() and t2.deadline != \'0000-00-00\' and t2.status != \'closed\' and t2.status != \'done\' and t2.status != \'cancel\' then 1 else 0 end) as timeout from TABLE_EXECUTION as t1\r\n left join TABLE_TASK as t2 on t1.id=t2.execution\r\n left join TABLE_PROJECT as t3 on t3.id=t1.project\r\n where t1.deleted=\'0\' and t1.type in (\'sprint\',\'stage\') and t2.deleted=\'0\' and if($project=\'\',1,t3.id=$project) and if($status=\'\',1,t1.status=$status) and if($beginDate=\'\',1,t1.begin>=$beginDate) and if($endDate=\'\',1,t1.end<=$endDate)', '{\"varName\":[\"project\",\"status\",\"beginDate\",\"endDate\"],\"showName\":[\"\\u9879\\u76ee\\u5217\\u8868\",\"\\u6267\\u884c\\u72b6\\u6001\",\"\\u6267\\u884c\\u8d77\\u59cb\\u65e5\\u671f\",\"\\u6267\\u884c\\u7ed3\\u675f\\u65e5\\u671f\"],\"requestType\":[\"select\",\"select\",\"date\",\"date\"],\"selectList\":[\"project\",\"project.status\",\"user\",\"user\"],\"default\":[\"\",\"\",\"$MONTHBEGIN\",\"$MONTHEND\"]}', '{\"project\":{\"zh-cn\":\"\\u9879\\u76ee\\u540d\\u79f0\"},\"execution\":{\"zh-cn\":\"\\u6267\\u884c\\u540d\\u79f0\"}}', '{\"group1\":\"project\",\"group2\":\"execution\",\"reportField\":[\"status\"],\"reportType\":[\"count\"],\"sumAppend\":[\"\"],\"reportTotal\":[\"1\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u6267\\u884c\\u7edf\\u8ba1\\u4efb\\u52a1\\u7684\\u72b6\\u6001\\u5206\\u5e03\\u60c5\\u51b5\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u57f7\\u884c\\u7d71\\u8a08\\u4efb\\u52d9\\u7684\\u72c0\\u614b\\u5206\\u5e03\\u60c5\\u6cc1\\u3002\",\"en\":\"\",\"de\":\"\",\"fr\":\"\",\"vi\":\"\",\"ja\":\"\"}', 'admin', '2015-07-22 11:28:33'), +--('task-type', '{\"zh-cn\":\"\\u4efb\\u52a1\\u7c7b\\u578b\\u7edf\\u8ba1\\u8868\",\"zh-tw\":\"\\u4efb\\u52d9\\u985e\\u578b\\u7d71\\u8a08\\u8868\",\"en\":\"Task Type Report\",\"de\":\"Task Type Report\",\"fr\":\"Task Type Report\",\"vi\":\"Task Type Report\",\"ja\":\"Task Type Report\"}', ',project', 'select t1.id,t3.name as project,IF(t3.multiple="1",t1.name,"") as execution,t2.type,t2.id as taskID, t1.status as projectstatus from TABLE_EXECUTION as t1 \r\nleft join TABLE_TASK as t2 on t1.id=t2.execution\r\nleft join TABLE_PROJECT as t3 on t3.id=t1.project\r\nwhere t1.deleted=\'0\' and t1.type in (\'sprint\',\'stage\') and t2.deleted=\'0\' and if($project=\'\',1,t3.id=$project) and if($status=\'\',1,t1.status=$status) and if($beginDate=\'\',1,t1.begin>=$beginDate) and if($endDate=\'\',1,t1.end<=$endDate)', '{\"varName\":[\"project\",\"status\",\"beginDate\",\"endDate\"],\"showName\":[\"\\u9879\\u76ee\\u5217\\u8868\",\"\\u6267\\u884c\\u72b6\\u6001\",\"\\u6267\\u884c\\u8d77\\u59cb\\u65e5\\u671f\",\"\\u6267\\u884c\\u7ed3\\u675f\\u65e5\\u671f\"],\"requestType\":[\"select\",\"select\",\"date\",\"date\"],\"selectList\":[\"project\",\"project.status\",\"user\",\"user\"],\"default\":[\"\",\"\",\"$MONTHBEGIN\",\"$MONTHEND\"]}', '{\"project\":{\"zh-cn\":\"\\u9879\\u76ee\\u540d\\u79f0\"},\"execution\":{\"zh-cn\":\"\\u6267\\u884c\\u540d\\u79f0\"}}', '{\"group1\":\"project\",\"group2\":\"execution\",\"reportField\":[\"type\"],\"reportType\":[\"count\"],\"sumAppend\":[\"\"],\"reportTotal\":[\"1\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u9879\\u76ee\\u7edf\\u8ba1\\u4efb\\u52a1\\u7684\\u7c7b\\u578b\\u5206\\u5e03\\u60c5\\u51b5\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u9805\\u76ee\\u7d71\\u8a08\\u4efb\\u52d9\\u7684\\u985e\\u578b\\u5206\\u5e03\\u60c5\\u6cc1\\u3002\",\"en\":\"\",\"de\":\"\",\"fr\":\"\",\"vi\":\"\",\"ja\":\"\"}', 'admin', '2015-07-22 13:06:46'), +--('task-assign', '{\"zh-cn\":\"\\u9879\\u76ee\\u4efb\\u52a1\\u6307\\u6d3e\\u7edf\\u8ba1\\u8868\",\"zh-tw\":\"\\u9805\\u76ee\\u4efb\\u52d9\\u6307\\u6d3e\\u7d71\\u8a08\\u8868\",\"en\":\"Task Assign Report\",\"de\":\"Task Assign Report\",\"fr\":\"Task Assign Report\",\"vi\":\"Task Assign Report\",\"ja\":\"Task Assign Report\"}', ',project', 'select t1.id,t4.name as project,IF(t4.multiple="1",t1.name,"") as execution,if(t3.account is not null, t3.account,t2.assignedTo) as assignedTo,t2.id as taskID, t1.status as projectstatus from TABLE_EXECUTION as t1\r\n left join TABLE_TASK as t2 on t1.id=t2.execution\r\n left join TABLE_TEAM as t3 on t3.type=\'task\' && t3.root=t2.id \r\nleft join TABLE_PROJECT as t4 on t1.project=t4.id\r\nwhere t1.deleted=\'0\' and t1.type in (\'sprint\',\'stage\') and t2.deleted=\'0\' and if($project=\'\',1,t4.id=$project) and if($status=\'\',1,t1.status=$status) and if($beginDate=\'\',1,t1.begin>=$beginDate) and if($endDate=\'\',1,t1.end<=$endDate)', '{\"varName\":[\"project\",\"status\",\"beginDate\",\"endDate\"],\"showName\":[\"\\u9879\\u76ee\\u5217\\u8868\",\"\\u6267\\u884c\\u72b6\\u6001\",\"\\u6267\\u884c\\u8d77\\u59cb\\u65e5\\u671f\",\"\\u6267\\u884c\\u7ed3\\u675f\\u65e5\\u671f\"],\"requestType\":[\"select\",\"select\",\"date\",\"date\"],\"selectList\":[\"project\",\"project.status\",\"user\",\"user\"],\"default\":[\"\",\"\",\"$MONTHBEGIN\",\"$MONTHEND\"]}', '{\"assignedTo\":{\"zh-cn\":\"\\u6307\\u6d3e\\u7ed9\"},\"execution\":{\"zh-cn\":\"\\u6267\\u884c\\u540d\\u79f0\"}}', '{\"group1\":\"project\",\"group2\":\"execution\",\"reportField\":[\"assignedTo\"],\"isUser\":{\"reportField\":[[\"1\"]]},\"reportType\":[\"count\"],\"sumAppend\":[\"\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u9879\\u76ee\\u7edf\\u8ba1\\u4efb\\u52a1\\u7684\\u6307\\u6d3e\\u7ed9\\u5206\\u5e03\\u60c5\\u51b5\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u9805\\u76ee\\u7d71\\u8a08\\u4efb\\u52d9\\u7684\\u6307\\u6d3e\\u7d66\\u5206\\u5e03\\u60c5\\u6cc1\\u3002\",\"en\":\"\",\"de\":\"\",\"fr\":\"\",\"vi\":\"\",\"ja\":\"\"}', 'admin', '2015-07-22 13:13:28'), +--('task-finish', '{\"zh-cn\":\"\\u9879\\u76ee\\u4efb\\u52a1\\u5b8c\\u6210\\u8005\\u7edf\\u8ba1\\u8868\",\"zh-tw\":\"\\u9805\\u76ee\\u4efb\\u52d9\\u5b8c\\u6210\\u8005\\u7d71\\u8a08\\u8868\",\"en\":\"Task Finish Report\",\"de\":\"Task Finish Report\",\"fr\":\"Task Finish Report\",\"vi\":\"Task Finish Report\",\"ja\":\"Task Finish Report\"}', ',project', 'select t1.id,t3.name as project,IF(t3.multiple="1",t1.name,"") as execution,t2.finishedBy,t2.id as taskID, t1.status as projectstatus from TABLE_EXECUTION as t1 \r\nleft join TABLE_TASK as t2 on t1.id=t2.execution\r\nleft join TABLE_PROJECT as t3 on t1.project=t3.id \r\nwhere t1.deleted=\'0\' and t1.type in (\'sprint\',\'stage\') and t2.deleted=\'0\' and t2.finishedBy!=\'\' and if($project=\'\',1,t3.id=$project) and if($status=\'\',1,t1.status=$status) and if($beginDate=\'\',1,t1.begin>=$beginDate) and if($endDate=\'\',1,t1.end<=$endDate)', '{\"varName\":[\"project\",\"status\",\"beginDate\",\"endDate\"],\"showName\":[\"\\u9879\\u76ee\\u5217\\u8868\",\"\\u6267\\u884c\\u72b6\\u6001\",\"\\u6267\\u884c\\u8d77\\u59cb\\u65e5\\u671f\",\"\\u6267\\u884c\\u7ed3\\u675f\\u65e5\\u671f\"],\"requestType\":[\"select\",\"select\",\"date\",\"date\"],\"selectList\":[\"project\",\"project.status\",\"user\",\"user\"],\"default\":[\"\",\"\",\"$MONTHBEGIN\",\"$MONTHEND\"]}', '{\"project\":{\"zh-cn\":\"\\u9879\\u76ee\\u540d\\u79f0\"},\"execution\":{\"zh-cn\":\"\\u6267\\u884c\\u540d\\u79f0\"}}', '{\"group1\":\"project\",\"group2\":\"execution\",\"reportField\":[\"finishedBy\"],\"isUser\":{\"reportField\":[[\"1\"]]},\"reportType\":[\"count\"],\"sumAppend\":[\"\"],\"reportTotal\":[\"1\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u9879\\u76ee\\u7edf\\u8ba1\\u4efb\\u52a1\\u7684\\u5b8c\\u6210\\u8005\\u5206\\u5e03\\u60c5\\u51b5\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u9805\\u76ee\\u7d71\\u8a08\\u4efb\\u52d9\\u7684\\u5b8c\\u6210\\u8005\\u5206\\u5e03\\u60c5\\u6cc1\\u3002\",\"en\":\"\",\"de\":\"\",\"fr\":\"\",\"vi\":\"\",\"ja\":\"\"}', 'admin', '2015-07-22 13:16:21'), +--('project-invest', '{\"zh-cn\":\"\\u9879\\u76ee\\u6295\\u5165\\u7edf\\u8ba1\\u8868\",\"zh-tw\":\"\\u9805\\u76ee\\u6295\\u5165\\u7d71\\u8a08\\u8868\",\"en\":\"Project Invest Report\",\"de\":\"Project Invest Report\",\"fr\":\"Project Invest Report\",\"vi\":\"Project Invest Report\",\"ja\":\"Project Invest Report\"}', ',project', 'select t1.id,t5.name as project,IF(t5.multiple="1",t1.name,"") as execution,CONCAT(t1.begin,\' ~ \',t1.end) as timeLimit,t2.teams,t3.stories,round(t4.consumed,1) as consumed,t4.number, t1.status as projectstatus \r\nfrom TABLE_EXECUTION as t1\r\n left join ztv_projectteams as t2 on t1.id=t2.execution\r\nleft join ztv_projectstories as t3 on t1.id=t3.execution\r\n left join ztv_executionsummary as t4 on t1.id=t4.execution \r\nleft join TABLE_PROJECT as t5 on t1.project=t5.id \r\nwhere t1.deleted=\'0\' and t1.type in (\'sprint\',\'stage\') and if($project=\'\',1,t5.id=$project) and if($status=\'\',1,t1.status=$status) and if($beginDate=\'\',1,t1.begin>=$beginDate) and if($endDate=\'\',1,t1.end<=$endDate)', '{\"varName\":[\"project\",\"status\",\"beginDate\",\"endDate\"],\"showName\":[\"\\u9879\\u76ee\\u5217\\u8868\",\"\\u6267\\u884c\\u72b6\\u6001\",\"\\u6267\\u884c\\u8d77\\u59cb\\u65e5\\u671f\",\"\\u6267\\u884c\\u7ed3\\u675f\\u65e5\\u671f\"],\"requestType\":[\"select\",\"select\",\"date\",\"date\"],\"selectList\":[\"project\",\"project.status\",\"user\",\"user\"],\"default\":[\"\",\"\",\"$MONTHBEGIN\",\"$MONTHEND\"]}', '{\"timeLimit\":{\"zh-cn\":\"\\u5de5\\u671f\"},\"teams\":{\"zh-cn\":\"\\u4eba\\u6570\"},\"stories\":{\"zh-cn\":\"\\u9700\\u6c42\\u6570\"},\"consumed\":{\"zh-cn\":\"\\u603b\\u6d88\\u8017\"},\"number\":{\"zh-cn\":\"\\u4efb\\u52a1\\u6570\"},\"project\":{\"zh-cn\":\"\\u9879\\u76ee\\u540d\\u79f0\"},\"execution\":{\"zh-cn\":\"\\u6267\\u884c\\u540d\\u79f0\"}}', '{\"group1\":\"project\",\"group2\":\"execution\",\"reportField\":[\"number\",\"stories\",\"teams\",\"consumed\"],\"reportType\":[\"sum\",\"sum\",\"sum\",\"sum\"],\"sumAppend\":[\"number\",\"stories\",\"teams\",\"consumed\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u9879\\u76ee\\u5217\\u51fa\\uff1a\\u4efb\\u52a1\\u6570\\uff0c\\u9700\\u6c42\\u6570\\uff0c\\u4eba\\u6570\\uff0c\\u603b\\u6d88\\u8017\\u5de5\\u65f6\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u9805\\u76ee\\u5217\\u51fa\\uff1a\\u4efb\\u52d9\\u6578\\uff0c\\u9700\\u6c42\\u6578\\uff0c\\u4eba\\u6578\\uff0c\\u7e3d\\u6d88\\u8017\\u5de5\\u6642\\u3002\",\"en\":\"\",\"de\":\"\",\"fr\":\"\",\"vi\":\"\",\"ja\":\"\"}', 'admin', '2015-07-22 16:37:38'), +--('projectstory-status', '{\"zh-cn\":\"\\u9879\\u76ee\\u9700\\u6c42\\u72b6\\u6001\\u5206\\u5e03\\u8868\",\"zh-tw\":\"\\u9805\\u76ee\\u9700\\u6c42\\u72c0\\u614b\\u5206\\u5e03\\u8868\",\"en\":\"Project Story Status\",\"de\":\"Project Story Status\",\"fr\":\"Project Story Status\",\"vi\":\"Project Story Status\",\"ja\":\"Project Story Status\"}', ',project', 'select t2.id, t4.name as project,IF(t4.multiple="1",t2.name,"") as execution,t3.status from TABLE_PROJECTSTORY as t1 \r\nleft join TABLE_EXECUTION as t2 on t1.project=t2.id \r\nleft join TABLE_STORY as t3 on t1.story=t3.id \r\nleft join TABLE_PROJECT as t4 on t4.id=t2.project\r\nwhere t2.deleted=\'0\' and t2.type in(\'sprint\', \'stage\') and if($project=\'\',1,t4.id=$project) and if($execution=\'\',1,t2.id=$execution) and if($status=\'\',1,t2.status=$status)', '{\"varName\":[\"project\",\"execution\",\"status\"],\"showName\":[\"\\u9879\\u76ee\\u5217\\u8868\",\"\\u6267\\u884c\\u5217\\u8868\",\"\\u6267\\u884c\\u72b6\\u6001\"],\"requestType\":[\"select\",\"select\",\"select\"],\"selectList\":[\"project\",\"execution\",\"project.status\"],\"default\":[\"\",\"\",\"\"]}', '{\"project\":{\"zh-cn\":\"\\u9879\\u76ee\\u540d\\u79f0\"},\"execution\":{\"zh-cn\":\"\\u6267\\u884c\\u540d\\u79f0\"}}', '{\"group1\":\"project\",\"group2\":\"execution\",\"reportField\":[\"status\"],\"reportType\":[\"count\"],\"sumAppend\":[\"\"],\"reportTotal\":[\"1\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u9879\\u76ee\\u7edf\\u8ba1\\u9700\\u6c42\\u7684\\u72b6\\u6001\\u5206\\u5e03\\u60c5\\u51b5\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u9805\\u76ee\\u7d71\\u8a08\\u9700\\u6c42\\u7684\\u72c0\\u614b\\u5206\\u5e03\\u60c5\\u6cc1\\u3002\",\"en\":\"\",\"de\":\"\",\"fr\":\"\",\"vi\":\"\",\"ja\":\"\"}', 'admin', '2015-07-23 15:35:08'), +--('project-stage', '{\"zh-cn\":\"\\u9879\\u76ee\\u9700\\u6c42\\u9636\\u6bb5\\u5206\\u5e03\\u8868\",\"zh-tw\":\"\\u9805\\u76ee\\u9700\\u6c42\\u968e\\u6bb5\\u5206\\u5e03\\u8868\",\"en\":\"Project Stage Report\",\"de\":\"Project Stage Report\",\"fr\":\"Project Stage Report\",\"vi\":\"Project Stage Report\",\"ja\":\"Project Stage Report\"}', ',project', 'select t2.id, t4.name as project,IF(t4.multiple="1",t2.name,"") as execution,t3.stage from TABLE_PROJECTSTORY as t1 \r\nleft join TABLE_EXECUTION as t2 on t1.project=t2.id \r\nleft join TABLE_STORY as t3 on t1.story=t3.id \r\nleft join TABLE_PROJECT as t4 on t4.id=t2.project\r\nwhere t2.deleted=\'0\' and t2.type in(\'sprint\', \'stage\') and if($project=\'\',1,t4.id=$project) and if($execution=\'\',1,t2.id=$execution) and if($status=\'\',1,t2.status=$status)', '{\"varName\":[\"project\",\"execution\",\"status\"],\"showName\":[\"\\u9879\\u76ee\\u5217\\u8868\",\"\\u6267\\u884c\\u5217\\u8868\",\"\\u6267\\u884c\\u72b6\\u6001\"],\"requestType\":[\"select\",\"select\",\"select\"],\"selectList\":[\"project\",\"execution\",\"project.status\"],\"default\":[\"\",\"\",\"\"]}', '{\"project\":{\"zh-cn\":\"\\u9879\\u76ee\\u540d\\u79f0\"},\"execution\":{\"zh-cn\":\"\\u6267\\u884c\\u540d\\u79f0\"}}', '{\"group1\":\"project\",\"group2\":\"execution\",\"reportField\":[\"stage\"],\"reportType\":[\"count\"],\"sumAppend\":[\"\"],\"reportTotal\":[\"1\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u9879\\u76ee\\u7edf\\u8ba1\\u9700\\u6c42\\u9636\\u6bb5\\u5206\\u5e03\\u60c5\\u51b5\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u9805\\u76ee\\u7d71\\u8a08\\u9700\\u6c42\\u968e\\u6bb5\\u5206\\u5e03\\u60c5\\u6cc1\\u3002\",\"en\":\"\",\"de\":\"\",\"fr\":\"\",\"vi\":\"\",\"ja\":\"\"}', 'admin', '2015-07-23 15:38:18'), +--('projectbug-resolution', '{\"zh-cn\":\"\\u9879\\u76eeBug\\u89e3\\u51b3\\u65b9\\u6848\\u5206\\u5e03\\u8868\",\"zh-tw\":\"\\u9805\\u76eeBug\\u89e3\\u6c7a\\u65b9\\u6848\\u5206\\u5e03\\u8868\",\"en\":\"Project Bug Resolution\",\"de\":\"Project Bug Resolution\",\"fr\":\"Project Bug Resolution\",\"vi\":\"Project Bug Resolution\",\"ja\":\"Project Bug Resolution\"}', ',project,test', 'select t1.id,t3.name as project,t3.id,IF(t3.multiple="1",t1.name,"") as execution,t1.id as bugID,t2.resolution from TABLE_EXECUTION as t1 \r\nleft join TABLE_BUG as t2 on t1.id=t2.execution\r\nleft join TABLE_PROJECT as t3 on t3.id=t1.project\r\n where t1.deleted=\'0\' and t2.deleted=\'0\' and t2.resolution!=\'\' having bugID!=\'\' and if($project=\'\',1,t3.id=$project) and if($execution=\'\',1,t1.id=$execution)', '{\"varName\":[\"project\",\"execution\"],\"showName\":[\"\\u9879\\u76ee\\u5217\\u8868\",\"\\u6267\\u884c\\u5217\\u8868\"],\"requestType\":[\"select\",\"select\"],\"selectList\":[\"project\",\"execution\"],\"default\":[\"\",\"\"]}', '{\"project\":{\"zh-cn\":\"\\u9879\\u76ee\\u540d\\u79f0\"},\"execution\":{\"zh-cn\":\"\\u6267\\u884c\\u540d\\u79f0\"}}', '{\"group1\":\"project\",\"group2\":\"execution\",\"reportField\":[\"resolution\"],\"reportType\":[\"count\"],\"sumAppend\":[\"\"],\"reportTotal\":[\"1\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u9879\\u76ee\\u7edf\\u8ba1Bug\\u7684\\u89e3\\u51b3\\u65b9\\u6848\\u5206\\u5e03\\u60c5\\u51b5\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u9805\\u76ee\\u7d71\\u8a08Bug\\u7684\\u89e3\\u6c7a\\u65b9\\u6848\\u5206\\u5e03\\u60c5\\u6cc1\\u3002\",\"en\":\"\",\"de\":\"\",\"fr\":\"\",\"vi\":\"\",\"ja\":\"\"}', 'admin', '2015-07-23 16:04:46'), +--('projectbug-status', '{\"zh-cn\":\"\\u9879\\u76eeBug\\u72b6\\u6001\\u5206\\u5e03\\u8868\",\"zh-tw\":\"\\u9805\\u76eeBug\\u72c0\\u614b\\u5206\\u5e03\\u8868\",\"en\":\"Project Bug Status\",\"de\":\"Project Bug Status\",\"fr\":\"Project Bug Status\",\"vi\":\"Project Bug Status\",\"ja\":\"Project Bug Status\"}', ',project,test', 'select t1.id,t3.name as project,t3.id,IF(t3.multiple="1",t1.name,"") as execution,t1.id as bugID,t2.status from TABLE_EXECUTION as t1 \r\nleft join TABLE_BUG as t2 on t1.id=t2.execution\r\nleft join TABLE_PROJECT as t3 on t3.id=t1.project\r\nwhere t1.deleted=\'0\' and t2.deleted=\'0\' having bugID!=\' \' and if($project=\'\',1,t3.id=$project) and if($execution=\'\',1,t1.id=$execution)', '{\"varName\":[\"project\",\"execution\"],\"showName\":[\"\\u9879\\u76ee\\u5217\\u8868\",\"\\u6267\\u884c\\u5217\\u8868\"],\"requestType\":[\"select\",\"select\"],\"selectList\":[\"project\",\"execution\"],\"default\":[\"\",\"\"]}', '{\"project\":{\"zh-cn\":\"\\u9879\\u76ee\\u540d\\u79f0\"},\"execution\":{\"zh-cn\":\"\\u6267\\u884c\\u540d\\u79f0\"}}', '{\"group1\":\"project\",\"group2\":\"execution\",\"reportField\":[\"status\"],\"reportType\":[\"count\"],\"sumAppend\":[\"\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u9879\\u76ee\\u7edf\\u8ba1Bug\\u7684\\u72b6\\u6001\\u5206\\u5e03\\u60c5\\u51b5\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u9805\\u76ee\\u7d71\\u8a08Bug\\u7684\\u72c0\\u614b\\u5206\\u5e03\\u60c5\\u6cc1\\u3002\",\"en\":\"\",\"de\":\"\",\"fr\":\"\",\"vi\":\"\",\"ja\":\"\"}', 'admin', '2015-07-23 15:48:03'), +--('projectbug-opened', '{\"zh-cn\":\"\\u9879\\u76eeBug\\u521b\\u5efa\\u8005\\u5206\\u5e03\\u8868\",\"zh-tw\":\"\\u9805\\u76eeBug\\u5275\\u5efa\\u8005\\u5206\\u5e03\\u8868\",\"en\":\"Project Bug Opened\",\"de\":\"Project Bug Opened\",\"fr\":\"Project Bug Opened\",\"vi\":\"Project Bug Opened\",\"ja\":\"Project Bug Opened\"}', ',project,test', 'select t1.id,t3.name as project,t3.id,IF(t3.multiple="1",t1.name,"") as execution,t1.id as bugID,t2.openedBy from TABLE_EXECUTION as t1 \r\nleft join TABLE_BUG as t2 on t1.id=t2.execution\r\nleft join TABLE_PROJECT as t3 on t3.id=t1.project\r\nwhere t1.deleted=\'0\' and t2.deleted=\'0\' having bugID!=\'\' and if($project=\'\',1,t3.id=$project) and if($execution=\'\',1,t1.id=$execution)', '{\"varName\":[\"project\",\"execution\"],\"showName\":[\"\\u9879\\u76ee\\u5217\\u8868\",\"\\u6267\\u884c\\u5217\\u8868\"],\"requestType\":[\"select\",\"select\"],\"selectList\":[\"project\",\"execution\"],\"default\":[\"\",\"\"]}', '{\"project\":{\"zh-cn\":\"\\u9879\\u76ee\\u540d\\u79f0\"},\"execution\":{\"zh-cn\":\"\\u6267\\u884c\\u540d\\u79f0\"}}', '{\"group1\":\"project\",\"group2\":\"execution\",\"reportField\":[\"openedBy\"],\"isUser\":{\"reportField\":[[\"1\"]]},\"reportType\":[\"count\"],\"sumAppend\":[\"\"],\"reportTotal\":[\"1\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u9879\\u76ee\\u7edf\\u8ba1Bug\\u7684\\u521b\\u5efa\\u8005\\u5206\\u5e03\\u60c5\\u51b5\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u9805\\u76ee\\u7d71\\u8a08Bug\\u7684\\u5275\\u5efa\\u8005\\u5206\\u5e03\\u60c5\\u6cc1\\u3002\",\"en\":\"\",\"de\":\"\",\"fr\":\"\",\"vi\":\"\",\"ja\":\"\"}', 'admin', '2015-07-23 16:08:10'), +--('projectbug-resolve', '{\"zh-cn\":\"\\u9879\\u76eeBug\\u89e3\\u51b3\\u8005\\u5206\\u5e03\\u8868\",\"zh-tw\":\"\\u9805\\u76eeBug\\u89e3\\u6c7a\\u8005\\u5206\\u5e03\\u8868\",\"en\":\"Project Bug Resolve\",\"de\":\"Project Bug Resolve\",\"fr\":\"Project Bug Resolve\",\"vi\":\"Project Bug Resolve\",\"ja\":\"Project Bug Resolve\"}', ',project,test', 'select t1.id,t3.name as project,t3.id,IF(t3.multiple="1",t1.name,"") as execution,t1.id as bugID,t2.resolvedBy from TABLE_EXECUTION as t1 \r\nleft join TABLE_BUG as t2 on t1.id=t2.execution\r\nleft join TABLE_PROJECT as t3 on t3.id=t1.project\r\nwhere t1.deleted=\'0\' and t2.deleted=\'0\' and t2.status!=\'active\' and t2.resolvedBy!=\'\' having bugID!=\'\' and if($project=\'\',1,t3.id=$project) and if($execution=\'\',1,t1.id=$execution)', '{\"varName\":[\"project\",\"execution\"],\"showName\":[\"\\u9879\\u76ee\\u5217\\u8868\",\"\\u6267\\u884c\\u5217\\u8868\"],\"requestType\":[\"select\",\"select\"],\"selectList\":[\"project\",\"execution\"],\"default\":[\"\",\"\"]}', '{\"project\":{\"zh-cn\":\"\\u9879\\u76ee\\u540d\\u79f0\"},\"execution\":{\"zh-cn\":\"\\u6267\\u884c\\u540d\\u79f0\"}}', '{\"group1\":\"project\",\"group2\":\"execution\",\"reportField\":[\"resolvedBy\"],\"isUser\":{\"reportField\":[[\"1\"]]},\"reportType\":[\"count\"],\"sumAppend\":[\"\"],\"reportTotal\":[\"1\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u9879\\u76ee\\u7edf\\u8ba1Bug\\u7684\\u89e3\\u51b3\\u8005\\u5206\\u5e03\\u60c5\\u51b5\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u9805\\u76ee\\u7d71\\u8a08Bug\\u7684\\u89e3\\u6c7a\\u8005\\u5206\\u5e03\\u60c5\\u6cc1\\u3002\",\"en\":\"\",\"de\":\"\",\"fr\":\"\",\"vi\":\"\",\"ja\":\"\"}', 'admin', '2015-07-23 16:13:16'), +--('projectbug-assign', '{\"zh-cn\":\"\\u9879\\u76eeBug\\u6307\\u6d3e\\u7ed9\\u5206\\u5e03\\u8868\",\"zh-tw\":\"\\u9805\\u76eeBug\\u6307\\u6d3e\\u7d66\\u5206\\u5e03\\u8868\",\"en\":\"Project Bug Assign\",\"de\":\"Project Bug Assign\",\"fr\":\"Project Bug Assign\",\"vi\":\"Project Bug Assign\",\"ja\":\"Project Bug Assign\"}', ',project,test', 'select t1.id,t3.name as project,t3.id,IF(t3.multiple="1",t1.name,"") as execution,t1.id as bugID,t2.assignedTo from TABLE_EXECUTION as t1 \r\nleft join TABLE_BUG as t2 on t1.id=t2.execution \r\nleft join TABLE_PROJECT as t3 on t3.id=t1.project\r\nwhere t1.deleted=\'0\' and t2.deleted=\'0\' having bugID!=\'\' and if($project=\'\',1,t3.id=$project) and if($execution=\'\',1,t1.id=$execution)', '{\"varName\":[\"project\",\"execution\"],\"showName\":[\"\\u9879\\u76ee\\u5217\\u8868\",\"\\u6267\\u884c\\u5217\\u8868\"],\"requestType\":[\"select\",\"select\"],\"selectList\":[\"project\",\"execution\"],\"default\":[\"\",\"\"]}', '{\"project\":{\"zh-cn\":\"\\u9879\\u76ee\\u540d\\u79f0\"},\"execution\":{\"zh-cn\":\"\\u6267\\u884c\\u540d\\u79f0\"}}', '{\"group1\":\"project\",\"group2\":\"execution\",\"reportField\":[\"assignedTo\"],\"isUser\":{\"reportField\":[[\"1\"]]},\"reportType\":[\"count\"],\"sumAppend\":[\"\"],\"reportTotal\":[\"1\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u9879\\u76ee\\u7edf\\u8ba1Bug\\u7684\\u6307\\u6d3e\\u7ed9\\u5206\\u5e03\\u60c5\\u51b5\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u9805\\u76ee\\u7d71\\u8a08Bug\\u7684\\u6307\\u6d3e\\u7d66\\u5206\\u5e03\\u60c5\\u6cc1\\u3002\",\"en\":\"\",\"de\":\"\",\"fr\":\"\",\"vi\":\"\",\"ja\":\"\"}', 'admin', '2015-07-23 16:29:10'), +--('project-quality', '{\"zh-cn\":\"\\u9879\\u76ee\\u8d28\\u91cf\\u8868\",\"zh-tw\":\"\\u9805\\u76ee\\u8cea\\u91cf\\u8868\",\"en\":\"Project Quality Report\",\"de\":\"Project Quality Report\",\"fr\":\"Project Quality Report\",\"vi\":\"Project Quality Report\",\"ja\":\"Project Quality Report\"}', ',project', 'select t1.id, t5.name as project,t5.id,IF(t5.multiple="1",t1.name,"") as execution,t2.stories,(t2.stories-t2.undone) as doneStory,t3.number,(t3.number-t3.undone) as doneTask,t4.bugs,t4.resolutions, round(t4.bugs/(t2.stories-t2.undone),2) as bugthanstory,round(t4.bugs/(t3.number-t3.undone),2) as bugthantask,t4.seriousBugs from TABLE_EXECUTION as t1 \r\nleft join ztv_projectstories as t2 on t1.id=t2.execution\r\nleft join ztv_executionsummary as t3 on t1.id=t3.execution\r\nleft join ztv_projectbugs as t4 on t1.id=t4.execution\r\nleft join TABLE_PROJECT as t5 on t5.id=t1.project\r\nwhere t1.deleted=\'0\' and t1.type in (\'sprint\',\'stage\') and t1.grade=\'1\' and if($project=\'\',1,t5.id=$project) and if($execution=\'\',1,t1.id=$execution)', '{\"varName\":[\"project\",\"execution\"],\"showName\":[\"\\u9879\\u76ee\\u5217\\u8868\",\"\\u6267\\u884c\\u5217\\u8868\"],\"requestType\":[\"select\",\"select\"],\"selectList\":[\"project\",\"execution\"],\"default\":[\"\",\"\"]}', '{\"stories\":{\"zh-cn\":\"\\u9700\\u6c42\\u603b\\u6570\"},\"doneStory\":{\"zh-cn\":\"\\u5b8c\\u6210\\u9700\\u6c42\\u6570\"},\"number\":{\"zh-cn\":\"\\u4efb\\u52a1\\u603b\\u6570\"},\"doneTask\":{\"zh-cn\":\"\\u5b8c\\u6210\\u4efb\\u52a1\\u6570\"},\"bugs\":{\"zh-cn\":\"Bug\\u6570\"},\"resolutions\":{\"zh-cn\":\"\\u89e3\\u51b3Bug\\u6570\"},\"bugthanstory\":{\"zh-cn\":\"Bug\\/\\u5b8c\\u6210\\u9700\\u6c42\"},\"bugthantask\":{\"zh-cn\":\"Bug\\/\\u5b8c\\u6210\\u4efb\\u52a1\"},\"seriousBugs\":{\"zh-cn\":\"\\u91cd\\u8981Bug\\u6570\"},\"seriousBugsPercent\":{\"zh-cn\":\"\\u4e25\\u91cdBug\\u6bd4\\u7387\"},\"project\":{\"zh-cn\":\"\\u9879\\u76ee\\u540d\\u79f0\"},\"execution\":{\"zh-cn\":\"\\u6267\\u884c\\u540d\\u79f0\"}}', '{\"group1\":\"project\",\"group2\":\"execution\",\"reportField\":[\"stories\",\"doneStory\",\"number\",\"doneTask\",\"bugs\",\"resolutions\",\"bugthanstory\",\"bugthantask\",\"seriousBugs\"],\"reportType\":[\"sum\",\"sum\",\"sum\",\"sum\",\"sum\",\"sum\",\"sum\",\"sum\",\"sum\"],\"sumAppend\":[\"stories\",\"doneStory\",\"number\",\"doneTask\",\"bugs\",\"resolutions\",\"bugthanstory\",\"bugthantask\",\"seriousBugs\"]}', 2, '{\"zh-cn\":\"\\u5217\\u51fa\\u9879\\u76ee\\u7684\\u9700\\u6c42\\u603b\\u6570\\uff0c\\u5b8c\\u6210\\u9700\\u6c42\\u6570\\uff0c\\u4efb\\u52a1\\u603b\\u6570\\uff0c\\u5b8c\\u6210\\u7684\\u4efb\\u52a1\\u6570\\uff0cBug\\u6570\\uff0c\\u89e3\\u51b3\\u7684Bug\\u6570\\uff0cBug\\/\\u9700\\u6c42\\uff0cBug\\/\\u4efb\\u52a1\\uff0c\\u91cd\\u8981Bug\\u6570\\u91cf(\\u4e25\\u91cd\\u7a0b\\u5ea6\\u4e0d\\u5927\\u4e8e3\\uff09\\u3002\",\"zh-tw\":\"\\u5217\\u51fa\\u9805\\u76ee\\u7684\\u9700\\u6c42\\u7e3d\\u6578\\uff0c\\u5b8c\\u6210\\u9700\\u6c42\\u6578\\uff0c\\u4efb\\u52d9\\u7e3d\\u6578\\uff0c\\u5b8c\\u6210\\u7684\\u4efb\\u52d9\\u6578\\uff0cBug\\u6578\\uff0c\\u89e3\\u6c7a\\u7684Bug\\u6578\\uff0cBug\\/\\u9700\\u6c42\\uff0cBug\\/\\u4efb\\u52d9\\uff0c\\u91cd\\u8981Bug\\u6578\\u91cf(\\u56b4\\u91cd\\u7a0b\\u5ea6\\u4e0d\\u5927\\u65bc3\\uff09\\u3002\",\"en\":\"\",\"de\":\"\",\"fr\":\"\",\"vi\":\"\",\"ja\":\"\"}', 'admin', '2015-07-23 17:03:10'), +--('productbug-type', '{\"zh-cn\":\"\\u4ea7\\u54c1Bug\\u7c7b\\u578b\\u7edf\\u8ba1\\u8868\",\"zh-tw\":\"\\u7522\\u54c1Bug\\u985e\\u578b\\u7d71\\u8a08\\u8868\",\"en\":\"Bug Type of Product\",\"de\":\"Bug Type of Product\",\"fr\":\"Bug Type of Product\"}', ',product,test', 'select t1.id,t1.name,t2.id as bugID,t2.type from TABLE_PRODUCT as t1 \r\nleft join TABLE_BUG as t2 on t1.id=t2.product \r\nleft join TABLE_PROGRAM as t3 on t1.program=t3.id \r\nwhere t1.deleted=\'0\' and t2.deleted=\'0\'\r\norder by t3.`order` asc, t1.line desc, t1.`order` asc', '', '{\"count\":{\"zh-cn\":\"\\u9700\\u6c42\\u6570\",\"zh-tw\":\"\\u9700\\u6c42\\u6570\",\"en\":\"Stories\"},\"done\":{\"zh-cn\":\"\\u5b8c\\u6210\\u6570\",\"zh-tw\":\"\\u5b8c\\u6210\\u6570\",\"en\":\"Done\"}}', '{\"group1\":\"name\",\"group2\":\"\",\"reportField\":[\"type\"],\"reportType\":[\"count\"],\"sumAppend\":[\"\"],\"reportTotal\":[\"1\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u4ea7\\u54c1\\u7edf\\u8ba1Bug\\u7684\\u7c7b\\u578b\\u5206\\u5e03\\u60c5\\u51b5\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u7522\\u54c1\\u7d71\\u8a08Bug\\u7684\\u985e\\u578b\\u5206\\u5e03\\u60c5\\u6cc1\\u3002\",\"en\":\"Type distribution of Bugs.\",\"de\":\"Type distribution of Bugs.\",\"fr\":\"Type distribution of Bugs.\"}', 'admin', '2015-07-24 13:48:22'), +--('product-quality', '{\"zh-cn\":\"\\u4ea7\\u54c1\\u8d28\\u91cf\\u8868\",\"zh-tw\":\"\\u7522\\u54c1\\u8cea\\u91cf\\u8868\",\"en\":\"Product Quality\",\"de\":\"Product Quality\",\"fr\":\"Product Quality\"}', ',product', 'select t1.id,t1.name,t2.stories,(t2.stories-t2.undone) as doneStory,t3.bugs,t3.resolutions,round(t3.bugs/(t2.stories-t2.undone),2) as bugthanstory,t3.seriousBugs from TABLE_PRODUCT as t1 \r\nleft join ztv_productstories as t2 on t1.id=t2.product \r\nleft join ztv_productbugs as t3 on t1.id=t3.product \r\nleft join TABLE_PROGRAM as t4 on t1.program=t4.id \r\nwhere t1.deleted=\'0\'\r\norder by t4.`order` asc, t1.line desc, t1.`order` asc', '', '{\"stories\":{\"zh-cn\":\"\\u9700\\u6c42\\u603b\\u6570\",\"zh-tw\":\"\\u9700\\u6c42\\u603b\\u6570\",\"en\":\"Stories\"},\"doneStory\":{\"zh-cn\":\"\\u5b8c\\u6210\\u9700\\u6c42\\u6570\",\"zh-tw\":\"\\u5b8c\\u6210\\u9700\\u6c42\\u6570\",\"en\":\"Finished Stories\"},\"bugs\":{\"zh-cn\":\"Bug\\u6570\",\"zh-tw\":\"Bug\\u6570\",\"en\":\"Bugs\"},\"resolutions\":{\"zh-cn\":\"\\u89e3\\u51b3Bug\\u6570\",\"zh-tw\":\"\\u89e3\\u51b3Bug\\u6570\",\"en\":\"Solved Bugs\"},\"bugthanstory\":{\"zh-cn\":\"Bug\\/\\u5b8c\\u6210\\u9700\\u6c42\",\"zh-tw\":\"Bug\\/\\u5b8c\\u6210\\u9700\\u6c42\",\"en\":\"Bug\\/Finished Story\"},\"seriousBugs\":{\"zh-cn\":\"\\u91cd\\u8981Bug\\u6570\",\"zh-tw\":\"\\u91cd\\u8981Bug\\u6570\",\"en\":\"Serious Bugs\"},\"seriousBugsPercent\":{\"zh-cn\":\"\\u4e25\\u91cdbug\\u6bd4\\u7387\",\"zh-tw\":\"\\u4e25\\u91cdbug\\u6bd4\\u7387\",\"en\":\"Serious Bugs %\"}}', '{\"group1\":\"name\",\"group2\":\"\",\"reportField\":[\"stories\",\"doneStory\",\"bugs\",\"resolutions\",\"bugthanstory\",\"seriousBugs\"],\"reportType\":[\"sum\",\"sum\",\"sum\",\"sum\",\"sum\",\"sum\"],\"sumAppend\":[\"stories\",\"doneStory\",\"bugs\",\"resolutions\",\"bugthanstory\",\"seriousBugs\"],\"percent\":{\"5\":\"1\"},\"contrast\":{\"5\":\"bugs\"},\"showAlone\":{\"5\":\"1\"}}', 2, '{\"zh-cn\":\"\\u5217\\u51fa\\u4ea7\\u54c1\\u7684\\u9700\\u6c42\\u6570\\uff0c\\u5b8c\\u6210\\u7684\\u9700\\u6c42\\u603b\\u6570\\uff0cBug\\u6570\\uff0c\\u89e3\\u51b3\\u7684Bug\\u603b\\u6570\\uff0cBug\\/\\u9700\\u6c42\\uff0c\\u91cd\\u8981Bug\\u6570\\u91cf(\\u4e25\\u91cd\\u7a0b\\u5ea6\\u4e0d\\u5927\\u4e8e3)\\u3002\",\"zh-tw\":\"\\u5217\\u51fa\\u7522\\u54c1\\u7684\\u9700\\u6c42\\u6578\\uff0c\\u5b8c\\u6210\\u7684\\u9700\\u6c42\\u7e3d\\u6578\\uff0cBug\\u6578\\uff0c\\u89e3\\u6c7a\\u7684Bug\\u7e3d\\u6578\\uff0cBug\\/\\u9700\\u6c42\\uff0c\\u91cd\\u8981Bug\\u6578\\u91cf(\\u56b4\\u91cd\\u7a0b\\u5ea6\\u4e0d\\u5927\\u65bc3)\\u3002\",\"en\":\"Serious Bug (severity is less than 3).\",\"de\":\"Serious Bug (severity is less than 3).\",\"fr\":\"Serious Bug (severity is less than 3).\"}', 'admin', '2015-07-23 17:17:40'), +--('user-login', '{\"zh-cn\":\"\\u5458\\u5de5\\u767b\\u5f55\\u6b21\\u6570\\u7edf\\u8ba1\\u8868\",\"zh-tw\":\"\\u54e1\\u5de5\\u767b\\u9304\\u6b21\\u6578\\u7d71\\u8a08\\u8868\",\"en\":\"Login Times\",\"de\":\"Login Times\",\"fr\":\"Login Times\"}', ',staff', 'select actor,LEFT(`date`,10) as `day` from TABLE_ACTION where `action`=\'login\' and if($startDate=\'\',1,`date`>=$startDate) and if($endDate=\'\',1,`date`<=$endDate) order by `date` asc, actor asc', '{\"varName\":[\"startDate\",\"endDate\"],\"showName\":[\"\\u8d77\\u59cb\\u65f6\\u95f4\",\"\\u7ed3\\u675f\\u65f6\\u95f4\"],\"requestType\":[\"date\",\"date\"],\"selectList\":[\"user\",\"user\"],\"default\":[\"$MONTHBEGIN\",\"$MONTHEND\"]}', '{\"count\":{\"zh-cn\":\"\\u9700\\u6c42\\u6570\",\"zh-tw\":\"\\u9700\\u6c42\\u6570\",\"en\":\"Stories\"},\"done\":{\"zh-cn\":\"\\u5b8c\\u6210\\u6570\",\"zh-tw\":\"\\u5b8c\\u6210\\u6570\",\"en\":\"Done\"}}', '{\"group1\":\"actor\",\"isUser\":{\"group1\":[\"1\"]},\"group2\":\"\",\"reportField\":[\"day\"],\"reportType\":[\"count\"],\"sumAppend\":[\"\"],\"reportTotal\":[\"1\"]}', 2, '{\"zh-cn\":\"\\u5b9e\\u73b0\\u5458\\u5de5\\u767b\\u5f55\\u6b21\\u6570\\u7edf\\u8ba1\\u62a5\\u8868\\uff0c\\u6309\\u7167\\u5929\\u7edf\\u8ba1\\u6bcf\\u5929\\u6bcf\\u4e2a\\u4eba\\u7684\\u767b\\u5f55\\u6b21\\u6570\\uff0c\\u4ee5\\u53ca\\u603b\\u6570\\u3002\",\"zh-tw\":\"\\u5be6\\u73fe\\u54e1\\u5de5\\u767b\\u9304\\u6b21\\u6578\\u7d71\\u8a08\\u5831\\u8868\\uff0c\\u6309\\u7167\\u5929\\u7d71\\u8a08\\u6bcf\\u5929\\u6bcf\\u500b\\u4eba\\u7684\\u767b\\u9304\\u6b21\\u6578\\uff0c\\u4ee5\\u53ca\\u7e3d\\u6578\\u3002\",\"en\":\"The summary of user login times.\",\"de\":\"The summary of user login times.\",\"fr\":\"The summary of user login times.\"}', 'admin', '2015-07-24 14:28:11'), +--('effort', '{\"zh-cn\":\"\\u65e5\\u5fd7\\u6c47\\u603b\\u8868\",\"zh-tw\":\"\\u65e5\\u8a8c\\u532f\\u7e3d\\u8868\",\"en\":\"Effort Summary\",\"de\":\"Effort Summary\",\"fr\":\"Effort Summary\"}', ',staff', 'select t1.account,t1.consumed,t1.`date`,if($dept=\'0\',0,t2.dept) as dept from TABLE_EFFORT as t1 left join TABLE_USER as t2 on t1.account=t2.account where t1.`deleted`=\'0\' and if($startDate=\'\',1,t1.`date`>=$startDate) and if($endDate=\'\',1,t1.`date`<=$endDate) having dept=$dept order by `date` asc', '{\"varName\":[\"dept\",\"startDate\",\"endDate\"],\"showName\":[\"\\u90e8\\u95e8\",\"\\u8d77\\u59cb\\u65f6\\u95f4\",\"\\u7ed3\\u675f\\u65f6\\u95f4\"],\"requestType\":[\"select\",\"date\",\"date\"],\"selectList\":[\"dept\",\"user\",\"user\"],\"default\":[\"\",\"$MONTHBEGIN\",\"$MONTHEND\"]}', '{\"date\":{\"zh-cn\":\"\\u65e5\\u671f\",\"zh-tw\":\"\\u65e5\\u671f\",\"en\":\"Date\"},\"consumed\":{\"zh-cn\":\"\\u6d88\\u8017\\u5de5\\u65f6\",\"zh-tw\":\"\\u6d88\\u8017\\u5de5\\u65f6\",\"en\":\"Cost\"}}', '{\"group1\":\"account\",\"isUser\":{\"group1\":[\"1\"]},\"group2\":\"\",\"reportField\":[\"date\"],\"reportType\":[\"sum\"],\"sumAppend\":[\"consumed\"]}', 2, '{\"zh-cn\":\"\\u67e5\\u770b\\u67d0\\u4e2a\\u65f6\\u95f4\\u6bb5\\u5185\\u7684\\u65e5\\u5fd7\\u60c5\\u51b5\\uff0c\\u53ef\\u4ee5\\u6309\\u7167\\u90e8\\u95e8\\u9009\\u62e9\\u3002\",\"zh-tw\":\"\\u67e5\\u770b\\u67d0\\u500b\\u6642\\u9593\\u6bb5\\u5167\\u7684\\u65e5\\u8a8c\\u60c5\\u6cc1\\uff0c\\u53ef\\u4ee5\\u6309\\u7167\\u90e8\\u9580\\u9078\\u64c7\\u3002\",\"en\":\"Effort summary of users.\",\"de\":\"Effort summary of users\",\"fr\":\"Effort summary of users\"}', 'admin', '2015-07-27 13:53:32'), +--('company-dynamic', '{\"zh-cn\":\"\\u516c\\u53f8\\u52a8\\u6001\\u6c47\\u603b\\u8868\",\"zh-tw\":\"\\u516c\\u53f8\\u52d5\\u614b\\u532f\\u7e3d\\u8868\",\"en\":\"Company Dynamics\",\"de\":\"Company Dynamics\",\"fr\":\"Company Dynamics\"}', ',staff', 'select t1.day,t2.userlogin,t3.consumed,t4.storyopen,t5.storyclose,t6.taskopen,t7.taskfinish,t8.bugopen,t9.bugresolve,t1.actions from ztv_dayactions as t1 left join ztv_dayuserlogin as t2 on t1.day=t2.day left join ztv_dayeffort as t3 on t1.day=t3.date left join ztv_daystoryopen as t4 on t1.day=t4.day left join ztv_daystoryclose as t5 on t1.day=t5.day left join ztv_daytaskopen as t6 on t1.day=t6.day left join ztv_daytaskfinish as t7 on t1.day=t7.day left join ztv_daybugopen as t8 on t1.day=t8.day left join ztv_daybugresolve as t9 on t1.day=t9.day where if($startDate=\'\',1,t1.day>=$startDate) and if($endDate=\'\',1,t1.day<=$endDate)', '{\"varName\":[\"startDate\",\"endDate\"],\"showName\":[\"\\u8d77\\u59cb\\u65f6\\u95f4\",\"\\u7ed3\\u675f\\u65f6\\u95f4\"],\"requestType\":[\"date\",\"date\"],\"selectList\":[\"user\",\"user\"],\"default\":[\"$MONTHBEGIN\",\"$MONTHEND\"]}', '{\"day\":{\"zh-cn\":\"\\u65e5\\u671f\",\"zh-tw\":\"\\u65e5\\u671f\",\"en\":\"Date\"},\"userlogin\":{\"zh-cn\":\"\\u767b\\u5f55\\u6b21\\u6570\",\"zh-tw\":\"\\u767b\\u9304\\u6b21\\u6578\",\"en\":\"Login\"},\"consumed\":{\"zh-cn\":\"\\u65e5\\u5fd7\\u5de5\\u65f6\",\"zh-tw\":\"\\u65e5\\u8a8c\\u5de5\\u6642\",\"en\":\"Cost(h)\"},\"storyopen\":{\"zh-cn\":\"\\u65b0\\u589e\\u9700\\u6c42\\u6570\",\"zh-tw\":\"\\u65b0\\u589e\\u9700\\u6c42\\u6578\",\"en\":\"Open Story\"},\"storyclose\":{\"zh-cn\":\"\\u5173\\u95ed\\u9700\\u6c42\\u6570\",\"zh-tw\":\"\\u95dc\\u9589\\u9700\\u6c42\\u6578\",\"en\":\"Closed Story\"},\"taskopen\":{\"zh-cn\":\"\\u65b0\\u589e\\u4efb\\u52a1\\u6570\",\"zh-tw\":\"\\u65b0\\u589e\\u4efb\\u52d9\\u6578\",\"en\":\"Open Task\"},\"taskfinish\":{\"zh-cn\":\"\\u5b8c\\u6210\\u4efb\\u52a1\\u6570\",\"zh-tw\":\"\\u5b8c\\u6210\\u4efb\\u52d9\\u6578\",\"en\":\"Finished Task\"},\"bugopen\":{\"zh-cn\":\"\\u65b0\\u589eBug\\u6570\",\"zh-tw\":\"\\u65b0\\u589eBug\\u6578\",\"en\":\"Open Bug\"},\"bugresolve\":{\"zh-cn\":\"\\u89e3\\u51b3Bug\\u6570\",\"zh-tw\":\"\\u89e3\\u51b3Bug\\u6578\",\"en\":\"Resolved bug\"},\"actions\":{\"zh-cn\":\"\\u52a8\\u6001\\u6570\",\"zh-tw\":\"\\u52d5\\u614b\\u6578\",\"en\":\"Dynamics\"}}', '{\"group1\":\"day\",\"isUser\":{\"group1\":[\"1\"]},\"group2\":\"\",\"reportField\":[\"userlogin\",\"consumed\",\"storyopen\",\"storyclose\",\"taskopen\",\"taskfinish\",\"bugopen\",\"bugresolve\",\"actions\"],\"reportType\":[\"sum\",\"sum\",\"sum\",\"sum\",\"sum\",\"sum\",\"sum\",\"sum\",\"sum\"],\"sumAppend\":[\"userlogin\",\"consumed\",\"storyopen\",\"storyclose\",\"taskopen\",\"taskfinish\",\"bugopen\",\"bugresolve\",\"actions\"]}', 2, '{\"zh-cn\":\"\\u53ef\\u4ee5\\u6307\\u5b9a\\u4e00\\u4e2a\\u65f6\\u671f\\uff0c\\u5217\\u51fa\\u76f8\\u5e94\\u7684\\u6570\\u636e\\uff1a1. \\u6bcf\\u5929\\u7684\\u767b\\u5f55\\u6b21\\u6570\\u30022. \\u6bcf\\u5929\\u7684\\u65e5\\u5fd7\\u5de5\\u65f6\\u91cf\\u30023. \\u6bcf\\u5929\\u65b0\\u589e\\u7684\\u9700\\u6c42\\u6570\\u30024. \\u6bcf\\u5929\\u5173\\u95ed\\u7684\\u9700\\u6c42\\u6570\\u30025. \\u6bcf\\u5929\\u65b0\\u589e\\u7684\\u4efb\\u52a1\\u6570\\u30026. \\u6bcf\\u5929\\u5b8c\\u6210\\u7684\\u4efb\\u52a1\\u6570\\u30027. \\u6bcf\\u5929\\u65b0\\u589e\\u7684Bug\\u6570\\u30028. \\u6bcf\\u5929\\u89e3\\u51b3\\u7684Bug\\u6570\\u30029. \\u6bcf\\u5929\\u7684\\u52a8\\u6001\\u6570\\u3002\",\"zh-tw\":\"\\u53ef\\u4ee5\\u6307\\u5b9a\\u4e00\\u500b\\u6642\\u671f\\uff0c\\u5217\\u51fa\\u76f8\\u61c9\\u7684\\u6578\\u64da\\uff1a1. \\u6bcf\\u5929\\u7684\\u767b\\u9304\\u6b21\\u6578\\u30022. \\u6bcf\\u5929\\u7684\\u65e5\\u8a8c\\u5de5\\u6642\\u91cf\\u30023. \\u6bcf\\u5929\\u65b0\\u589e\\u7684\\u9700\\u6c42\\u6578\\u30024. \\u6bcf\\u5929\\u95dc\\u9589\\u7684\\u9700\\u6c42\\u6578\\u30025. \\u6bcf\\u5929\\u65b0\\u589e\\u7684\\u4efb\\u52d9\\u6578\\u30026. \\u6bcf\\u5929\\u5b8c\\u6210\\u7684\\u4efb\\u52d9\\u6578\\u30027. \\u6bcf\\u5929\\u65b0\\u589e\\u7684Bug\\u6578\\u30028. \\u6bcf\\u5929\\u89e3\\u6c7a\\u7684Bug\\u6578\\u30029. \\u6bcf\\u5929\\u7684\\u52d5\\u614b\\u6578\\u3002\",\"en\":\"The summary of company dynamics\",\"de\":\"The summary of company dynamics\",\"fr\":\"The summary of company dynamics\"}', 'admin', '2015-07-27 15:09:42'), +--('bug-resolve', '{\"zh-cn\":\"Bug\\u89e3\\u51b3\\u8868\",\"zh-tw\":\"Bug\\u89e3\\u6c7a\\u8868\",\"en\":\"Solved Bugs\",\"de\":\"Solved Bugs\",\"fr\":\"Solved Bugs\"}', ',test', 'select *,if($product=\'\',0,product) as customproduct from TABLE_BUG where deleted=\'0\' and resolution!=\'\' and if($startDate=\'\',1,resolvedDate>=$startDate) and if($endDate=\'\',1,resolvedDate<=$endDate) having customproduct=$product', '{\"varName\":[\"product\",\"startDate\",\"endDate\"],\"showName\":[\"\\u4ea7\\u54c1\",\"\\u89e3\\u51b3\\u65e5\\u671f\\u5f00\\u59cb\",\"\\u89e3\\u51b3\\u65e5\\u671f\\u7ed3\\u675f\"],\"requestType\":[\"select\",\"date\",\"date\"],\"selectList\":[\"product\",\"user\",\"user\"],\"default\":[\"\",\"$MONTHBEGIN\",\"$MONTHEND\"]}', '{\"count\":{\"zh-cn\":\"\\u9700\\u6c42\\u6570\",\"zh-tw\":\"\\u9700\\u6c42\\u6570\",\"en\":\"Stories\"},\"done\":{\"zh-cn\":\"\\u5b8c\\u6210\\u6570\",\"zh-tw\":\"\\u5b8c\\u6210\\u6570\",\"en\":\"Done\"}}', '{\"group1\":\"resolvedBy\",\"isUser\":{\"group1\":[\"1\"]},\"group2\":\"\",\"reportField\":[\"resolution\"],\"reportType\":[\"count\"],\"sumAppend\":[\"\"],\"reportTotal\":[\"1\"],\"percent\":[\"1\"],\"contrast\":[\"crystalTotal\"],\"showAlone\":[\"1\"]}', 2, '{\"zh-cn\":\"\\u5217\\u51fa\\u89e3\\u51b3\\u7684Bug\\u603b\\u6570\\uff0c\\u89e3\\u51b3\\u65b9\\u6848\\u7684\\u5206\\u5e03\\uff0c\\u5360\\u7684\\u6bd4\\u4f8b\\uff08\\u8be5\\u7528\\u6237\\u89e3\\u51b3\\u7684Bug\\u7684\\u6570\\u91cf\\u5360\\u6240\\u6709\\u7684\\u89e3\\u51b3\\u7684Bug\\u7684\\u6570\\u91cf)\\u3002\",\"zh-tw\":\"\\u5217\\u51fa\\u89e3\\u6c7a\\u7684Bug\\u7e3d\\u6578\\uff0c\\u89e3\\u6c7a\\u65b9\\u6848\\u7684\\u5206\\u5e03\\uff0c\\u5360\\u7684\\u6bd4\\u4f8b\\uff08\\u8a72\\u7528\\u6236\\u89e3\\u6c7a\\u7684Bug\\u7684\\u6578\\u91cf\\u5360\\u6240\\u6709\\u7684\\u89e3\\u6c7a\\u7684Bug\\u7684\\u6578\\u91cf)\\u3002\",\"en\":\"percentage:self resolved \\/ all resolved\",\"de\":\"percentage:self resolved \\/ all resolved\",\"fr\":\"percentage:self resolved \\/ all resolved\"}', 'admin', '2015-07-24 13:44:25'), +--('project-progress', '{\"zh-cn\":\"\\u9879\\u76ee\\u8fdb\\u5c55\\u8868\",\"zh-tw\":\"\\u9805\\u76ee\\u9032\\u5c55\\u8868\",\"en\":\"Project Progress Report\",\"de\":\"Project Progress Report\",\"fr\":\"Project Progress Report\",\"vi\":\"Project Progress Report\",\"ja\":\"Project Progress Report\"}', ',project', 'select t1.id,t4.name as project,t4.id,IF(t4.multiple="1",t1.name,"") as execution,t1.status,t2.number as tasks,round(t2.consumed,2) as consumed,round(t2.`left`,2) as `left`,t3.stories,t2.undone as undoneTask,t3.undone as undoneStory,t2.totalReal from TABLE_EXECUTION as t1 \r\nleft join ztv_executionsummary as t2 on t1.id=t2.execution\r\nleft join ztv_projectstories as t3 on t1.id=t3.execution\r\nleft join TABLE_PROJECT as t4 on t4.id=t1.project\r\nwhere t1.deleted=\'0\' and t1.type in (\'sprint\',\'stage\') and if($project=\'\',1,t4.id=$project) and if($execution=\'\',1,t1.id=$execution) and if($status=\'\',1,t1.status=$status)', '{\"varName\":[\"project\",\"execution\",\"status\"],\"showName\":[\"\\u9879\\u76ee\\u5217\\u8868\",\"\\u6267\\u884c\\u5217\\u8868\",\"\\u6267\\u884c\\u72b6\\u6001\"],\"requestType\":[\"select\",\"select\",\"select\"],\"selectList\":[\"project\",\"execution\",\"project.status\"],\"default\":[\"\",\"\",\"\"]}', '{\"stories\":{\"zh-cn\":\"\\u9700\\u6c42\\u6570\",\"zh-tw\":\"\\u9700\\u6c42\\u6570\",\"en\":\"Stories\"},\"tasks\":{\"zh-cn\":\"\\u4efb\\u52a1\\u6570\",\"zh-tw\":\"\\u4efb\\u52a1\\u6570\",\"en\":\"Tasks\"},\"undoneStory\":{\"zh-cn\":\"\\u5269\\u4f59\\u9700\\u6c42\\u6570\",\"zh-tw\":\"\\u5269\\u4f59\\u9700\\u6c42\\u6570\",\"en\":\"Undone Story\"},\"undoneTask\":{\"zh-cn\":\"\\u5269\\u4f59\\u4efb\\u52a1\\u6570\",\"zh-tw\":\"\\u5269\\u4f59\\u4efb\\u52a1\\u6570\",\"en\":\"Undone Task\"},\"consumed\":{\"zh-cn\":\"\\u5df2\\u6d88\\u8017\\u5de5\\u65f6\",\"zh-tw\":\"\\u5df2\\u6d88\\u8017\\u5de5\\u65f6\",\"en\":\"Cost(h)\"},\"left\":{\"zh-cn\":\"\\u5269\\u4f59\\u5de5\\u65f6\",\"zh-tw\":\"\\u5269\\u4f59\\u5de5\\u65f6\",\"en\":\"Left(h)\"},\"consumedPercent\":{\"zh-cn\":\"\\u8fdb\\u5ea6\",\"zh-tw\":\"\\u8fdb\\u5ea6\",\"en\":\"Process\"},\"execution\":{\"zh-cn\":\"\\u6267\\u884c\\u540d\\u79f0\"}}', '{\"group1\":\"project\",\"group2\":\"execution\",\"reportField\":[\"stories\",\"undoneStory\",\"tasks\",\"undoneTask\",\"left\",\"consumed\"],\"reportType\":[\"sum\",\"sum\",\"sum\",\"sum\",\"sum\",\"sum\"],\"sumAppend\":[\"stories\",\"undoneStory\",\"tasks\",\"undoneTask\",\"left\",\"consumed\"],\"percent\":{\"5\":\"1\"},\"contrast\":{\"5\":\"totalReal\"},\"showAlone\":{\"5\":\"1\"}}', 2, '{\"zh-cn\":\"\\u9879\\u76ee\\u7684\\u9700\\u6c42\\u6570\\uff0c\\u4efb\\u52a1\\u6570\\uff0c\\u5df2\\u6d88\\u8017\\u5de5\\u65f6\\uff0c\\u5269\\u4f59\\u5de5\\u65f6\\uff0c\\u5269\\u4f59\\u9700\\u6c42\\u6570\\uff0c\\u5269\\u4f59\\u4efb\\u52a1\\u6570\\uff0c\\u8fdb\\u5ea6\\u3002\",\"zh-tw\":\"\\u9805\\u76ee\\u7684\\u9700\\u6c42\\u6578\\uff0c\\u4efb\\u52d9\\u6578\\uff0c\\u5df2\\u6d88\\u8017\\u5de5\\u6642\\uff0c\\u5269\\u9918\\u5de5\\u6642\\uff0c\\u5269\\u9918\\u9700\\u6c42\\u6578\\uff0c\\u5269\\u9918\\u4efb\\u52d9\\u6578\\uff0c\\u9032\\u5ea6\\u3002\",\"en\":\"\",\"de\":\"\",\"fr\":\"\",\"vi\":\"\",\"ja\":\"\"}', 'admin', '2015-07-23 14:03:06'), +--('projectbug-type', '{\"zh-cn\":\"\\u9879\\u76eeBug\\u7c7b\\u578b\\u7edf\\u8ba1\\u8868\",\"zh-tw\":\"\\u9805\\u76eeBug\\u985e\\u578b\\u7d71\\u8a08\\u8868\",\"en\":\"Project Bug Type\",\"de\":\"Project Bug Type\",\"fr\":\"Project Bug Type\",\"vi\":\"Project Bug Type\",\"ja\":\"Project Bug Type\"}', ',project,test', 'select t1.id,t3.name as project,t3.id,IF(t3.multiple="1",t1.name,"") as execution,t2.id as bugID,t2.type from TABLE_EXECUTION as t1 \r\nleft join TABLE_BUG as t2 on t1.id=t2.execution\r\nleft join TABLE_PROJECT as t3 on t3.id=t1.project\r\nwhere t1.deleted=\'0\' and t2.deleted=\'0\' and if($project=\'\',1,t3.id=$project) and if($execution=\'\',1,t1.id=$execution)', '{\"varName\":[\"project\",\"execution\"],\"showName\":[\"\\u9879\\u76ee\\u5217\\u8868\",\"\\u6267\\u884c\\u5217\\u8868\"],\"requestType\":[\"select\",\"select\"],\"selectList\":[\"project\",\"execution\"],\"default\":[\"\",\"\"]}', '{\"stories\":{\"zh-cn\":\"\\u9700\\u6c42\\u6570\",\"zh-tw\":\"\\u9700\\u6c42\\u6570\",\"en\":\"Stories\"},\"tasks\":{\"zh-cn\":\"\\u4efb\\u52a1\\u6570\",\"zh-tw\":\"\\u4efb\\u52a1\\u6570\",\"en\":\"Tasks\"},\"undoneStory\":{\"zh-cn\":\"\\u5269\\u4f59\\u9700\\u6c42\\u6570\",\"zh-tw\":\"\\u5269\\u4f59\\u9700\\u6c42\\u6570\",\"en\":\"Undone Story\"},\"undoneTask\":{\"zh-cn\":\"\\u5269\\u4f59\\u4efb\\u52a1\\u6570\",\"zh-tw\":\"\\u5269\\u4f59\\u4efb\\u52a1\\u6570\",\"en\":\"Undone Task\"},\"consumed\":{\"zh-cn\":\"\\u5df2\\u6d88\\u8017\\u5de5\\u65f6\",\"zh-tw\":\"\\u5df2\\u6d88\\u8017\\u5de5\\u65f6\",\"en\":\"Cost(h)\"},\"left\":{\"zh-cn\":\"\\u5269\\u4f59\\u5de5\\u65f6\",\"zh-tw\":\"\\u5269\\u4f59\\u5de5\\u65f6\",\"en\":\"Left(h)\"},\"consumedPercent\":{\"zh-cn\":\"\\u8fdb\\u5ea6\",\"zh-tw\":\"\\u8fdb\\u5ea6\",\"en\":\"Process\"},\"execution\":{\"zh-cn\":\"\\u6267\\u884c\\u540d\\u79f0\"}}', '{\"group1\":\"project\",\"group2\":\"execution\",\"reportField\":[\"type\"],\"reportType\":[\"count\"],\"sumAppend\":[\"\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u9879\\u76ee\\u7edf\\u8ba1Bug\\u7684\\u7c7b\\u578b\\u5206\\u5e03\\u60c5\\u51b5\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u9805\\u76ee\\u7d71\\u8a08Bug\\u7684\\u985e\\u578b\\u5206\\u5e03\\u60c5\\u6cc1\\u3002\",\"en\":\"\",\"de\":\"\",\"fr\":\"\",\"vi\":\"\",\"ja\":\"\"}', 'admin', '2015-08-04 13:54:22'); REPLACE INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES @@ -7244,20 +7247,20 @@ CREATE TABLE IF NOT EXISTS `zt_feedback` ( `faq` mediumint(8) unsigned NOT NULL, `openedBy` char(30) NOT NULL, `openedDate` datetime NOT NULL, - `reviewedBy` varchar(255) NOT NULL, - `reviewedDate` datetime NOT NULL, - `processedBy` char(30) NOT NULL, - `processedDate` datetime NOT NULL, - `closedBy` char(30) NOT NULL, - `closedDate` datetime NOT NULL, - `closedReason` varchar(30) NOT NULL, - `editedBy` char(30) NOT NULL, - `editedDate` datetime NOT NULL, - `assignedTo` varchar(255) NOT NULL, - `assignedDate` datetime NOT NULL, - `activatedBy` varchar(30) NOT NULL, - `activatedDate` datetime NOT NULL, - `feedbackBy` varchar(100) NOT NULL, + `reviewedBy` varchar(255) NOT NULL DEFAULT '', + `reviewedDate` datetime NULL, + `processedBy` char(30) NOT NULL DEFAULT '', + `processedDate` datetime NULL, + `closedBy` char(30) NOT NULL DEFAULT '', + `closedDate` datetime NULL, + `closedReason` varchar(30) NOT NULL DEFAULT '', + `editedBy` char(30) NOT NULL DEFAULT '', + `editedDate` datetime NULL, + `assignedTo` varchar(255) NOT NULL DEFAULT '', + `assignedDate` datetime NULL, + `activatedBy` varchar(30) NOT NULL DEFAULT '', + `activatedDate` datetime NULL, + `feedbackBy` varchar(100) NOT NULL DEFAULT '', `repeatFeedback` mediumint(8) NOT NULL DEFAULT 0, `mailto` varchar(255) NOT NULL, `deleted` enum('0','1') NOT NULL DEFAULT '0', @@ -7274,11 +7277,11 @@ CREATE TABLE IF NOT EXISTS `zt_ticket` ( `desc` text NOT NULL, `openedBuild` varchar(255) NOT NULL, `feedback` mediumint(8) NOT NULL, - `assignedTo` varchar(255) NOT NULL, - `assignedDate` datetime NOT NULL, - `realStarted` datetime NOT NULL, - `startedBy` varchar(255) NOT NULL, - `startedDate` datetime NOT NULL, + `assignedTo` varchar(255) NOT NULL DEFAULT '', + `assignedDate` datetime NULL, + `realStarted` datetime NULL, + `startedBy` varchar(255) NOT NULL DEFAULT '', + `startedDate` datetime NULL, `deadline` date NOT NULL, `pri` tinyint unsigned NOT NULL DEFAULT '0', `estimate` float unsigned NOT NULL, @@ -7286,19 +7289,19 @@ CREATE TABLE IF NOT EXISTS `zt_ticket` ( `status` varchar(30) NOT NULL, `openedBy` varchar(30) NOT NULL, `openedDate` datetime NOT NULL, - `activatedCount` int(10) NOT NULL, - `activatedBy` varchar(30) NOT NULL, - `activatedDate` datetime NOT NULL, - `closedBy` varchar(30) NOT NULL, - `closedDate` datetime NOT NULL, - `closedReason` varchar(30) NOT NULL, - `finishedBy` varchar(30) NOT NULL, - `finishedDate` datetime NOT NULL, - `resolvedBy` varchar(30) NOT NULL, - `resolvedDate` datetime NOT NULL, - `resolution` text NOT NULL, - `editedBy` varchar(30) NOT NULL, - `editedDate` datetime NOT NULL, + `activatedCount` int(10) NOT NULL DEFAULT '0', + `activatedBy` varchar(30) NOT NULL DEFAULT '', + `activatedDate` datetime NULL, + `closedBy` varchar(30) NOT NULL DEFAULT '', + `closedDate` datetime NULL, + `closedReason` varchar(30) NOT NULL DEFAULT '', + `finishedBy` varchar(30) NOT NULL DEFAULT '', + `finishedDate` datetime NULL, + `resolvedBy` varchar(30) NOT NULL DEFAULT '', + `resolvedDate` datetime NULL, + `resolution` text NULL, + `editedBy` varchar(30) NOT NULL DEFAULT '', + `editedDate` datetime NULL, `keywords` varchar(255) NOT NULL, `repeatTicket` mediumint(8) NOT NULL DEFAULT '0', `mailto` varchar(255) NOT NULL, @@ -7347,8 +7350,8 @@ CREATE TABLE IF NOT EXISTS `zt_serverroom` ( `owner` varchar(30) NOT NULL, `createdBy` char(30) NOT NULL, `createdDate` datetime NOT NULL, - `editedBy` char(30) NOT NULL, - `editedDate` datetime NOT NULL, + `editedBy` char(30) NOT NULL DEFAULT '', + `editedDate` datetime NULL, `deleted` enum('0','1') NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; @@ -7367,8 +7370,8 @@ CREATE TABLE IF NOT EXISTS `zt_account` ( `extra` text NOT NULL, `createdBy` varchar(30) NOT NULL, `createdDate` datetime NOT NULL, - `editedBy` varchar(30) NOT NULL, - `editedDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL DEFAULT '', + `editedDate` datetime NULL, `status` varchar(30) NOT NULL, `deleted` enum('0','1') NOT NULL DEFAULT '0', PRIMARY KEY (`id`), @@ -7417,8 +7420,8 @@ CREATE TABLE `zt_host` ( `group` varchar(128) NOT NULL DEFAULT '', `createdBy` varchar(30) NOT NULL, `createdDate` datetime NOT NULL, - `editedBy` varchar(30) NOT NULL, - `editedDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL DEFAULT '', + `editedDate` datetime NULL, `deleted` enum('0','1') NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; @@ -7441,7 +7444,7 @@ CREATE TABLE `zt_image` ( `desc` text NOT NULL, `createdBy` varchar(30) NOT NULL, `createdDate` datetime NOT NULL, - `restoreDate` datetime NOT NULL, + `restoreDate` datetime NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; @@ -7478,8 +7481,8 @@ CREATE TABLE IF NOT EXISTS `zt_service` ( `type` varchar(20) NOT NULL, `createdBy` char(30) NOT NULL, `createdDate` datetime NOT NULL, - `editedBy` char(30) NOT NULL, - `editedDate` datetime NOT NULL, + `editedBy` char(30) NOT NULL DEFAULT '', + `editedDate` datetime NULL, `parent` mediumint(8) unsigned NOT NULL default '0', `path` char(255) NOT NULL default '', `grade` tinyint(3) unsigned NOT NULL default '0', @@ -7505,9 +7508,9 @@ CREATE TABLE IF NOT EXISTS `zt_attend` ( `manualOut` time NOT NULL, `reason` varchar(30) NOT NULL DEFAULT '', `desc` text NOT NULL, - `reviewStatus` varchar(30) NOT NULL DEFAULT '', - `reviewedBy` char(30) NOT NULL, - `reviewedDate` datetime NOT NULL, + `reviewStatus` varchar(30) NULL, + `reviewedBy` char(30) NOT NULL DEFAULT '', + `reviewedDate` datetime NULL, PRIMARY KEY (`id`), KEY `account` (`account`), KEY `date` (`date`), @@ -7556,14 +7559,14 @@ CREATE TABLE IF NOT EXISTS `zt_overtime` ( `type` varchar(30) NOT NULL DEFAULT '', `desc` text NOT NULL, `status` varchar(30) NOT NULL DEFAULT '', - `rejectReason` varchar(100) NOT NULL, + `rejectReason` varchar(100) NOT NULL DEFAULT '', `createdBy` char(30) NOT NULL, `createdDate` datetime NOT NULL, - `reviewedBy` char(30) NOT NULL, - `reviewedDate` datetime NOT NULL, + `reviewedBy` char(30) NOT NULL DEFAULT '', + `reviewedDate` datetime NULL, `level` tinyint(3) NOT NULL, - `assignedTo` varchar(30) NOT NULL, - `reviewers` text NOT NULL, + `assignedTo` varchar(30) NOT NULL DEFAULT '', + `reviewers` text NULL, PRIMARY KEY (`id`), KEY `year` (`year`), KEY `type` (`type`), @@ -7592,18 +7595,18 @@ CREATE TABLE IF NOT EXISTS `zt_leave` ( `start` time NOT NULL, `finish` time NOT NULL, `hours` float(4,1) unsigned NOT NULL DEFAULT '0.0', - `backDate` datetime NOT NULL, + `backDate` datetime NULL, `type` varchar(30) NOT NULL DEFAULT '', `desc` text NOT NULL, `status` varchar(30) NOT NULL DEFAULT '', `createdBy` char(30) NOT NULL, - `createdDate` datetime NOT NULL, - `reviewedBy` char(30) NOT NULL, - `reviewedDate` datetime NOT NULL, + `createdDate` datetime NULL, + `reviewedBy` char(30) NOT NULL DEFAULT '', + `reviewedDate` datetime NULL, `level` tinyint(3) NOT NULL, - `assignedTo` varchar(30) NOT NULL, - `reviewers` text NOT NULL, - `backReviewers` text NOT NULL, + `assignedTo` varchar(30) NOT NULL DEFAULT '', + `reviewers` text NULL, + `backReviewers` text NULL, PRIMARY KEY (`id`), KEY `year` (`year`), KEY `type` (`type`), @@ -7625,11 +7628,11 @@ CREATE TABLE IF NOT EXISTS `zt_lieu` ( `status` varchar(30) NOT NULL DEFAULT '', `createdBy` char(30) NOT NULL, `createdDate` datetime NOT NULL, - `reviewedBy` char(30) NOT NULL, - `reviewedDate` datetime NOT NULL, + `reviewedBy` char(30) NOT NULL DEFAULT '', + `reviewedDate` datetime NULL, `level` tinyint(3) NOT NULL, - `assignedTo` varchar(30) NOT NULL, - `reviewers` text NOT NULL, + `assignedTo` varchar(30) NOT NULL DEFAULT '', + `reviewers` text NULL, PRIMARY KEY (`id`), KEY `year` (`year`), KEY `status` (`status`), @@ -7692,10 +7695,10 @@ CREATE TABLE IF NOT EXISTS `zt_deploystep` ( `stage` varchar(30) NOT NULL, `content` text NOT NULL, `status` varchar(30) NOT NULL, - `assignedTo` char(30) NOT NULL, - `assignedDate` datetime NOT NULL, - `finishedBy` char(30) NOT NULL, - `finishedDate` datetime NOT NULL, + `assignedTo` char(30) NOT NULL DEFAULT '', + `assignedDate` datetime NULL, + `finishedBy` char(30) NOT NULL DEFAULT '', + `finishedDate` datetime NULL, `createdBy` char(30) NOT NULL, `createdDate` datetime NOT NULL, `deleted` enum('0','1') NOT NULL, @@ -7721,8 +7724,8 @@ CREATE TABLE IF NOT EXISTS `zt_traincourse` ( `desc` mediumtext NOT NULL, `createdBy` varchar(255) NOT NULL, `createdDate` date NOT NULL, - `editedBy` varchar(255) NOT NULL, - `editedDate` date NOT NULL, + `editedBy` varchar(255) NOT NULL DEFAULT '', + `editedDate` date NULL, `deleted` enum('0','1') NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; @@ -7740,8 +7743,8 @@ CREATE TABLE IF NOT EXISTS `zt_traincontents` ( `order` mediumint(8) NOT NULL, `createdBy` char(30) NOT NULL, `createdDate` datetime NOT NULL, - `editedBy` varchar(30) NOT NULL, - `editedDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL DEFAULT '', + `editedDate` datetime NULL, `deleted` tinyint(1) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; @@ -7787,13 +7790,13 @@ CREATE TABLE IF NOT EXISTS `zt_domain`( `adminURI` varchar(255) NOT NULL, `resolverURI` varchar(255) NOT NULL, `register` varchar(255) NOT NULL, - `expiredDate` datetime NOT NULL, + `expiredDate` datetime NULL, `renew` varchar(255) NOT NULL, `account` varchar(255) NOT NULL, `createdBy` varchar(30) NOT NULL, `createdDate` datetime NOT NULL, - `editedBy` varchar(30) NOT NULL, - `editedDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL DEFAULT '', + `editedDate` datetime NULL, `deleted` enum('0','1') NOT NULL DEFAULT '0', PRIMARY KEY (`id`), key `domain` (`domain`) @@ -8827,8 +8830,8 @@ CREATE TABLE IF NOT EXISTS `zt_workflow` ( `approval` enum('enabled','disabled') NOT NULL DEFAULT 'disabled', `createdBy` varchar(30) NOT NULL, `createdDate` datetime NOT NULL, - `editedBy` varchar(30) NOT NULL, - `editedDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL DEFAULT '', + `editedDate` datetime NULL, PRIMARY KEY (`id`), UNIQUE KEY `unique` (`app`,`module`,`vision`), KEY `type` (`type`), @@ -8868,8 +8871,8 @@ CREATE TABLE IF NOT EXISTS `zt_workflowaction` ( `vision` varchar(10) NOT NULL DEFAULT 'rnd', `createdBy` varchar(30) NOT NULL, `createdDate` datetime NOT NULL, - `editedBy` varchar(30) NOT NULL, - `editedDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL DEFAULT '', + `editedDate` datetime NULL, PRIMARY KEY (`id`), UNIQUE KEY `unique` (`module`,`action`,`vision`), KEY `module` (`module`), @@ -8891,8 +8894,8 @@ CREATE TABLE IF NOT EXISTS `zt_workflowdatasource` ( `vision` varchar(10) NOT NULL DEFAULT 'rnd', `createdBy` char(30) NOT NULL, `createdDate` datetime NOT NULL, - `editedBy` char(30) NOT NULL, - `editedDate` datetime NOT NULL, + `editedBy` char(30) NOT NULL DEFAULT '', + `editedDate` datetime NULL, PRIMARY KEY (`id`), KEY `type` (`type`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; @@ -8923,9 +8926,9 @@ CREATE TABLE IF NOT EXISTS `zt_workflowfield` ( `desc` text NOT NULL, `createdBy` varchar(30) NOT NULL, `createdDate` datetime NOT NULL, - `editedBy` varchar(30) NOT NULL, - `editedDate` datetime NOT NULL, - PRIMARY KEY `id` (`id`), + `editedBy` varchar(30) NOT NULL DEFAULT '', + `editedDate` datetime NULL, + PRIMARY KEY (`id`), KEY `module` (`module`), KEY `field` (`field`), KEY `order` (`order`), @@ -8968,8 +8971,8 @@ CREATE TABLE IF NOT EXISTS `zt_workflowlabel` ( `role` varchar(10) NOT NULL DEFAULT 'custom', `createdBy` char(30) NOT NULL, `createdDate` datetime NOT NULL, - `editedBy` char(30) NOT NULL, - `editedDate` datetime NOT NULL, + `editedBy` char(30) NOT NULL DEFAULT '', + `editedDate` datetime NULL, PRIMARY KEY (`id`), KEY `module` (`module`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; @@ -9007,7 +9010,7 @@ CREATE TABLE IF NOT EXISTS `zt_workflowrelationlayout` ( `action` varchar(50) NOT NULL, `field` varchar(50) NOT NULL, `order` smallint(5) unsigned NOT NULL, - PRIMARY KEY `id` (`id`), + PRIMARY KEY (`id`), KEY `prev` (`prev`), KEY `next` (`next`), KEY `action` (`action`), @@ -9023,8 +9026,8 @@ CREATE TABLE IF NOT EXISTS `zt_workflowrule` ( `rule` text NOT NULL, `createdBy` char(30) NOT NULL, `createdDate` datetime NOT NULL, - `editedBy` char(30) NOT NULL, - `editedDate` datetime NOT NULL, + `editedBy` char(30) NOT NULL DEFAULT '', + `editedDate` datetime NULL, PRIMARY KEY (`id`), KEY `type` (`type`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; @@ -9039,9 +9042,9 @@ CREATE TABLE IF NOT EXISTS `zt_workflowsql` ( `vars` text NOT NULL, `createdBy` varchar(30) NOT NULL, `createdDate` datetime NOT NULL, - `editedBy` varchar(30) NOT NULL, - `editedDate` datetime NOT NULL, - PRIMARY KEY `id` (`id`), + `editedBy` varchar(30) NOT NULL DEFAULT '', + `editedDate` datetime NULL, + PRIMARY KEY (`id`), KEY `module` (`module`), KEY `field` (`field`), KEY `action` (`action`) @@ -9078,10 +9081,17 @@ CREATE TABLE IF NOT EXISTS `zt_workflowreport` ( `order` smallint(5) unsigned NOT NULL DEFAULT '0', `createdBy` varchar(30) NOT NULL, `createdDate` datetime NOT NULL, - PRIMARY KEY `id` (`id`) + PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -REPLACE INTO `zt_workflowrule` VALUES (1,'system','必填','notempty','admin','2020-10-14 14:06:14','','0000-00-00 00:00:00'),(2,'system','唯一','unique','admin','2020-10-14 14:06:14','','0000-00-00 00:00:00'),(3,'system','日期','date','admin','2020-10-14 14:06:14','','0000-00-00 00:00:00'),(4,'system','email','email','admin','2020-10-14 14:06:14','','0000-00-00 00:00:00'),(5,'system','数字','float','admin','2020-10-14 14:06:14','','0000-00-00 00:00:00'),(6,'system','电话','phone','admin','2020-10-14 14:06:14','','0000-00-00 00:00:00'),(7,'system','IP','ip','admin','2020-10-14 14:06:14','','0000-00-00 00:00:00'); +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'), +('system','email','email','admin','2020-10-14 14:06:14'), +('system','数字','float','admin','2020-10-14 14:06:14'), +('system','电话','phone','admin','2020-10-14 14:06:14'), +('system','IP','ip','admin','2020-10-14 14:06:14'); REPLACE INTO `zt_grouppriv` VALUES (1,'apppriv','flow'), @@ -9158,78 +9168,76 @@ REPLACE INTO `zt_grouppriv` VALUES (1,'workflowrule','edit'), (1,'workflowrule','view'); -INSERT INTO `zt_workflowdatasource` (`type`, `name`, `code`, `buildin`, `datasource`, `view`, `keyField`, `valueField`) VALUES -('system', '产品', 'products', '1', '{\"app\":\"system\",\"module\":\"product\",\"method\":\"getPairs\",\"methodDesc\":\"Get product pairs.\",\"params\":[{\"name\":\"mode\",\"type\":\"string\",\"desc\":\"\",\"value\":\"all\"}]}', '', '', ''), -('system', '项目', 'projects', '1', '{\"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', '{\"app\":\"system\",\"module\":\"product\",\"method\":\"getLinePairs\",\"methodDesc\":\"Get line pairs.\",\"params\":[{\"name\":\"useShort\",\"type\":\"bool\",\"desc\":\"\",\"value\":\"\"}]}', '', '', ''), -('sql', '需求', 'stories', '1', 'select id,title from zt_story where deleted=\"0\"', 'view_datasource_4', 'id', 'title'), -('sql', '任务', 'tasks', '1', 'select id,name from zt_task where deleted=\"0\" and vision=\"rnd\"', 'view_datasource_5', 'id', 'name'), -('sql', 'Bug', 'bugs', '1', 'select id,title from zt_bug where deleted=\"0\"', 'view_datasource_6', 'id', 'title'), -('system', '权限分组', 'groups', '1', '{\"app\":\"system\",\"module\":\"group\",\"method\":\"getPairs\",\"methodDesc\":\"\",\"params\":[]}', '', '', ''), -('system', '用户', 'users', '1', '{\"app\":\"system\",\"module\":\"user\",\"method\":\"getPairs\",\"methodDesc\":\"\",\"params\":[{\"name\":\"params\",\"type\":\"\",\"desc\":\"\",\"value\":\"noclosed|noletter\"},{\"name\":\"usersToAppended\",\"type\":\"\",\"desc\":\"\",\"value\":\"\"}]}', '', '', ''), -('system', '产品分支', 'branches', '1', '{\"app\":\"system\",\"module\":\"branch\",\"method\":\"getAllPairs\",\"methodDesc\":\"Get pairs.\",\"params\":[{\"name\":\"params\",\"type\":\"string\",\"desc\":\"\",\"value\":\"\"}]}', '', '', ''), -('sql', '版本', 'builds', '1', 'select id,name from zt_build where deleted=\"0\"', 'view_datasource_10', 'id', 'name'), -('sql', '模块', 'modules', '1', 'select id,name from zt_module where deleted=\"0\"', 'view_datasource_11', 'id', 'name'), -('sql', '计划', 'plans', '1', 'select id,title from zt_productplan where deleted=\"0\"', 'view_datasource_12', 'id', 'title'), -('lang', '产品类型', 'productType', '1', 'productType', '', '', ''), -('lang', '产品状态', 'productStatus', '1', 'productStatus', '', '', ''), -('lang', '产品访问控制', 'productAcl', '1', 'productAcl', '', '', ''), -('lang', '项目类型', 'projectType', '1', 'projectType', '', '', ''), -('lang', '项目状态', 'projectStatus', '1', 'projectStatus', '', '', ''), -('lang', '项目访问控制', 'projectAcl', '1', 'projectAcl', '', '', ''), -('lang', '发布状态', 'releaseStatus', '1', 'releaseStatus', '', '', ''), -('lang', '需求来源', 'storySource', '1', 'storySource', '', '', ''), -('lang', '需求优先级', 'storyPri', '1', 'storyPri', '', '', ''), -('lang', '需求状态', 'storyStatus', '1', 'storyStatus', '', '', ''), -('lang', '需求阶段', 'storyStage', '1', 'storyStage', '', '', ''), -('lang', 'Bug严重程度', 'bugSeverity', '1', 'bugSeverity', '', '', ''), -('lang', 'Bug优先级', 'bugPri', '1', 'bugPri', '', '', ''), -('lang', 'Bug类型', 'bugType', '1', 'bugType', '', '', ''), -('lang', 'Bug操作系统', 'bugOs', '1', 'bugOs', '', '', ''), -('lang', 'Bug浏览器', 'bugBrowser', '1', 'bugBrowser', '', '', ''), -('lang', 'Bug状态', 'bugStatus', '1', 'bugStatus', '', '', ''), -('lang', '任务类型', 'taskType', '1', 'taskType', '', '', ''), -('lang', '任务优先级', 'taskPri', '1', 'taskPri', '', '', ''), -('lang', '任务状态', 'taskStatus', '1', 'taskStatus', '', '', ''), -('lang', '测试用例优先级', 'testcasePri', '1', 'testcasePri', '', '', ''), -('lang', '测试用例类型', 'testcaseType', '1', 'testcaseType', '', '', ''), -('lang', '测试用例阶段', 'testcaseStage', '1', 'testcaseStage', '', '', ''), -('lang', '测试用例状态', 'testcaseStatus', '1', 'testcaseStatus', '', '', ''), -('lang', '测试单优先级', 'testtaskPri', '1', 'testtaskPri', '', '', ''), -('lang', '测试单状态', 'testtaskStatus', '1', 'testtaskStatus', '', '', ''), -('lang', '反馈状态', 'feedbackStatus', '1', 'feedbackStatus', '', '', ''), -('lang', 'Bug解决方案', 'bugResolution', '1', 'bugResolution', '', '', ''), -('sql', '用例', 'cases', '1', 'select id,title from zt_case where deleted=\"0\"', 'view_datasource_41', 'id', 'title'), -('system', '反馈分支', 'feedbackModules', '1', '{\"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', 'storyType', '', '', ''), -('system', '执行', 'executions', '1', '{\"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', 'projectModel', '', '', ''), -('lang', '反馈类型', 'feedbackType', '1', 'feedbackType', '', '', ''), -('lang', '反馈处理方案', 'feedbackSolution', '1', 'feedbackSolution', '', '', ''), -('lang', '反馈关闭原因', 'feedbackclosedReason', '1', 'feedbackclosedReason', '', '', ''), -('lang', '任务关闭原因', 'taskReason', '1', 'taskReason', '', '', ''), -('lang', '套件权限', 'testsuiteAuth', '1', 'testsuiteAuth', '', '', ''), -('system', '项目集', 'programs', '1', '{\"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', 'storyClosedReason', '', '', ''); - -INSERT INTO `zt_workflowdatasource` (`type`, `name`, `code`, `buildin`, `vision`, `datasource`, `view`, `keyField`, `valueField`) VALUES -('system', '项目', 'liteprojects', '1', 'lite', '{\"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', 'select id,name from zt_task where deleted=\"0\" and vision=\"lite\"', 'view_datasource_54', 'id', 'name'), -('system', '权限分组', 'litegroups', '1', 'lite', '{\"app\":\"system\",\"module\":\"group\",\"method\":\"getPairs\",\"methodDesc\":\"\",\"params\":[]}', '', '', ''), -('system', '用户', 'liteusers', '1', 'lite', '{\"app\":\"system\",\"module\":\"user\",\"method\":\"getPairs\",\"methodDesc\":\"\",\"params\":[{\"name\":\"params\",\"type\":\"\",\"desc\":\"\",\"value\":\"noclosed|noletter\"},{\"name\":\"usersToAppended\",\"type\":\"\",\"desc\":\"\",\"value\":\"\"}]}', '', '', ''), -('sql', '模块', 'litemodules', '1', 'lite', 'select id,name from zt_module where deleted=\"0\"', 'view_datasource_11', 'id', 'name'), -('lang', '项目类型', 'liteprojectType', '1', 'lite', 'projectType', '', '', ''), -('lang', '项目状态', 'liteprojectStatus', '1', 'lite', 'projectStatus', '', '', ''), -('lang', '项目访问控制', 'liteprojectAcl', '1', 'lite', 'projectAcl', '', '', ''), -('lang', '任务类型', 'litetaskType', '1', 'lite', 'taskType', '', '', ''), -('lang', '任务优先级', 'litetaskPri', '1', 'lite', 'taskPri', '', '', ''), -('lang', '任务状态', 'litetaskStatus', '1', 'lite', 'taskStatus', '', '', ''), -('lang', '反馈状态', 'litefeedbackStatus', '1', 'lite', 'feedbackStatus', '', '', ''), -('system', '反馈分支', 'litefeedbackModules', '1', 'lite', '{\"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', 'feedbackType', '', '', ''), -('lang', '反馈处理方案', 'litefeedbackSolution', '1', 'lite', 'feedbackSolution', '', '', ''), -('lang', '反馈关闭原因', 'litefeedbackclosedReason', '1', 'lite', 'feedbackclosedReason', '', '', ''), -('lang', '任务关闭原因', 'litetaskReason', '1', 'lite', 'taskReason', '', '', ''); +INSERT INTO `zt_workflowdatasource` (`type`, `name`, `code`, `buildin`, `vision`, `createdBy`, `createdDate`, `datasource`, `view`, `keyField`, `valueField`) VALUES +('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`; @@ -9261,8 +9269,8 @@ CREATE TABLE IF NOT EXISTS `zt_durationestimation` ( `endDate` date NOT NULL, `createdBy` varchar(30) NOT NULL, `createdDate` datetime NOT NULL, - `editedBy` varchar(30) NOT NULL, - `editedDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL DEFAULT '', + `editedDate` datetime NULL, `deleted` enum('0','1') NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; @@ -9278,10 +9286,10 @@ CREATE TABLE IF NOT EXISTS `zt_workestimation` ( `totalLaborCost` decimal(10,2) unsigned NOT NULL, `createdBy` varchar(30) NOT NULL, `createdDate` datetime NOT NULL, - `editedBy` varchar(30) NOT NULL, - `editedDate` datetime NOT NULL, - `assignedTo` varchar(30) NOT NULL, - `assignedDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL DEFAULT '', + `editedDate` datetime NULL, + `assignedTo` varchar(30) NOT NULL DEFAULT '', + `assignedDate` datetime NULL, `deleted` enum('0','1') NOT NULL DEFAULT '0', `dayHour` decimal(10,2) DEFAULT NULL, PRIMARY KEY (`id`) @@ -9316,10 +9324,10 @@ CREATE TABLE IF NOT EXISTS `zt_activity` ( `status` varchar(30) NOT NULL, `createdBy` varchar(30) NOT NULL, `createdDate` datetime NOT NULL, - `editedBy` varchar(30) NOT NULL, - `editedDate` datetime NOT NULL, - `assignedBy` varchar(30) NOT NULL, - `assignedDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL DEFAULT '', + `editedDate` datetime NULL, + `assignedBy` varchar(30) NOT NULL DEFAULT '', + `assignedDate` datetime NULL, `order` mediumint(8) DEFAULT '0', `deleted` enum('0','1') NOT NULL DEFAULT '0', PRIMARY KEY (`id`) @@ -9338,10 +9346,10 @@ CREATE TABLE IF NOT EXISTS `zt_auditcl` ( `status` varchar(30) NOT NULL, `createdBy` varchar(30) NOT NULL, `createdDate` datetime NOT NULL, - `editedBy` varchar(30) NOT NULL, - `editedDate` datetime NOT NULL, - `assignedBy` varchar(30) NOT NULL, - `assignedDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL DEFAULT '', + `editedDate` datetime NULL, + `assignedBy` varchar(30) NOT NULL DEFAULT '', + `assignedDate` datetime NULL, `deleted` enum('0','1') NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; @@ -9355,8 +9363,8 @@ CREATE TABLE IF NOT EXISTS `zt_auditplan` ( `objectType` char(30) NOT NULL, `process` mediumint(9) NOT NULL, `processType` char(30) NOT NULL, - `checkDate` date NOT NULL, - `checkedBy` varchar(30) NOT NULL, + `checkDate` date NULL, + `checkedBy` varchar(30) NOT NULL DEFAULT '', `realCheckDate` date NOT NULL, `result` char(30) NOT NULL, `project` mediumint(8) unsigned NOT NULL, @@ -9365,10 +9373,10 @@ CREATE TABLE IF NOT EXISTS `zt_auditplan` ( `status` varchar(30) NOT NULL, `createdBy` varchar(30) NOT NULL, `createdDate` datetime NOT NULL, - `editedBy` varchar(30) NOT NULL, - `editedDate` datetime NOT NULL, - `assignedBy` varchar(30) NOT NULL, - `assignedDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL DEFAULT '', + `editedDate` datetime NULL, + `assignedBy` varchar(30) NOT NULL DEFAULT '', + `assignedDate` datetime NULL, `deleted` enum('0','1') NOT NULL DEFAULT '0', `checkBy` varchar(30) NOT NULL, PRIMARY KEY (`id`) @@ -9407,19 +9415,19 @@ CREATE TABLE IF NOT EXISTS `zt_nc` ( `status` varchar(30) NOT NULL DEFAULT 'active', `severity` char(30) NOT NULL, `deadline` date NOT NULL, - `resolvedBy` varchar(30) NOT NULL, - `resolution` char(30) NOT NULL, - `resolvedDate` date NOT NULL, - `closedBy` varchar(30) NOT NULL, - `closedDate` date NOT NULL, + `resolvedBy` varchar(30) NOT NULL DEFAULT '', + `resolution` char(30) NOT NULL DEFAULT '', + `resolvedDate` date NULL, + `closedBy` varchar(30) NOT NULL DEFAULT '', + `closedDate` date NULL, `parent` mediumint(8) unsigned NOT NULL, - `assignedTo` varchar(30) NOT NULL, - `assignedDate` date NOT NULL, - `activateDate` date NOT NULL, + `assignedTo` varchar(30) NOT NULL DEFAULT '', + `assignedDate` date NULL, + `activateDate` date NULL, `createdBy` varchar(30) NOT NULL, `createdDate` datetime NOT NULL, - `editedBy` varchar(30) NOT NULL, - `editedDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL DEFAULT '', + `editedDate` datetime NULL, `deleted` enum('0','1') NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; @@ -9435,8 +9443,8 @@ CREATE TABLE IF NOT EXISTS `zt_zoutput` ( `status` varchar(30) NOT NULL, `createdBy` varchar(30) NOT NULL, `createdDate` datetime NOT NULL, - `editedBy` varchar(30) NOT NULL, - `editedDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL DEFAULT '', + `editedDate` datetime NULL, `order` mediumint(8) DEFAULT '0', `deleted` enum('0','1') NOT NULL DEFAULT '0', PRIMARY KEY (`id`) @@ -9455,10 +9463,10 @@ CREATE TABLE IF NOT EXISTS `zt_process` ( `order` mediumint(9) NOT NULL, `createdBy` varchar(30) NOT NULL, `createdDate` datetime NOT NULL, - `editedBy` varchar(30) NOT NULL, - `editedDate` datetime NOT NULL, - `assignedBy` varchar(30) NOT NULL, - `assignedDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL DEFAULT '', + `editedDate` datetime NULL, + `assignedBy` varchar(30) NOT NULL DEFAULT '', + `assignedDate` datetime NULL, `deleted` enum('0','1') NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; @@ -9536,8 +9544,8 @@ CREATE TABLE IF NOT EXISTS `zt_basicmeas` ( `collectedBy` varchar(10) NOT NULL, `createdBy` varchar(30) NOT NULL, `createdDate` datetime NOT NULL, - `editedBy` varchar(30) NOT NULL, - `editedDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL DEFAULT '', + `editedDate` datetime NULL, `order` mediumint(8) UNSIGNED NOT NULL DEFAULT 0, `deleted` enum('0','1') NOT NULL DEFAULT '0', PRIMARY KEY (`id`), @@ -9555,8 +9563,8 @@ CREATE TABLE IF NOT EXISTS `zt_budget` ( `desc` mediumtext NOT NULL, `createdBy` char(30) NOT NULL, `createdDate` date NOT NULL, - `lastEditedBy` char(30) NOT NULL, - `lastEditedDate` date NOT NULL, + `lastEditedBy` char(30) NOT NULL DEFAULT '', + `lastEditedDate` date NULL, `deleted` enum('0','1') NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; @@ -9578,8 +9586,8 @@ CREATE TABLE IF NOT EXISTS `zt_researchplan` ( `schedule` mediumtext NOT NULL, `createdBy` varchar(30) NOT NULL, `createdDate` datetime NOT NULL, - `editedBy` varchar(30) NOT NULL, - `editedDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL DEFAULT '', + `editedDate` datetime NULL, `deleted` enum('0','1') NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; @@ -9600,8 +9608,8 @@ CREATE TABLE IF NOT EXISTS `zt_researchreport` ( `method` enum('','videoConference','interview','questionnaire','telephoneInterview') NOT NULL, `createdBy` varchar(30) NOT NULL, `createdDate` datetime NOT NULL, - `editedBy` varchar(30) NOT NULL, - `editedDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL DEFAULT '', + `editedDate` datetime NULL, `deleted` enum('0','1') NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; @@ -9628,8 +9636,8 @@ CREATE TABLE IF NOT EXISTS `zt_meeting` ( `objectID` mediumint(8) NOT NULL, `createdBy` varchar(30) NOT NULL, `createdDate` datetime NOT NULL, - `editedBy` varchar(30) NOT NULL, - `editedDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL DEFAULT '', + `editedDate` datetime NULL, `deleted` enum('0','1') NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=InnoDB CHARSET=utf8; @@ -9644,8 +9652,8 @@ CREATE TABLE IF NOT EXISTS `zt_meetingroom` ( `openTime` varchar(255) NOT NULL, `createdBy` varchar(30) NOT NULL, `createdDate` datetime NOT NULL, - `editedBy` varchar(30) NOT NULL, - `editedDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL DEFAULT '', + `editedDate` datetime NULL, `deleted` enum('0','1') NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=InnoDB CHARSET=utf8; @@ -9659,9 +9667,9 @@ CREATE TABLE IF NOT EXISTS `zt_assetlib` ( `order` SMALLINT UNSIGNED NOT NULL DEFAULT '0', `createdBy` varchar(30) NOT NULL, `createdDate` datetime NOT NULL, - `editedBy` varchar(30) NOT NULL, - `editedDate` datetime NOT NULL, - `registerDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL DEFAULT '', + `editedDate` datetime NULL, + `registerDate` datetime NULL, `deleted` enum('0','1') NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=InnoDB CHARSET=utf8; @@ -9716,7 +9724,7 @@ CREATE TABLE IF NOT EXISTS `zt_measrecords` ( -- DROP TABLE IF EXISTS `zt_object`; CREATE TABLE IF NOT EXISTS `zt_object` ( - `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT PRIMARY KEY, + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, `project` mediumint(8) unsigned NOT NULL, `product` mediumint(8) NOT NULL, `from` mediumint(8) NOT NULL, @@ -9734,7 +9742,8 @@ CREATE TABLE IF NOT EXISTS `zt_object` ( `designEst` char(30) NOT NULL, `createdBy` char(30) NOT NULL, `createdDate` date NOT NULL, - `deleted` enum('0','1') NOT NULL DEFAULT '0' + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- DROP TABLE IF EXISTS `zt_review`; @@ -9747,19 +9756,19 @@ CREATE TABLE IF NOT EXISTS `zt_review` ( `doc` mediumint(8) DEFAULT NULL, `docVersion` smallint(6) DEFAULT NULL, `status` char(30) NOT NULL, - `reviewedBy` varchar(255) NOT NULL, - `auditedBy` varchar(255) NOT NULL, + `reviewedBy` varchar(255) NOT NULL DEFAULT '', + `auditedBy` varchar(255) NOT NULL DEFAULT '', `createdBy` char(30) NOT NULL, `createdDate` date NOT NULL, `deadline` date NOT NULL, `lastReviewedBy` varchar(255) DEFAULT NULL, - `lastReviewedDate` date NOT NULL, - `lastAuditedBy` varchar(255) NOT NULL, - `lastAuditedDate` date NOT NULL, - `lastEditedBy` varchar(255) NOT NULL, - `lastEditedDate` date NOT NULL, - `result` char(30) NOT NULL, - `auditResult` char(30) NOT NULL, + `lastReviewedDate` date NULL, + `lastAuditedBy` varchar(255) NOT NULL DEFAULT '', + `lastAuditedDate` date NULL, + `lastEditedBy` varchar(255) NOT NULL DEFAULT '', + `lastEditedDate` date NULL, + `result` char(30) NOT NULL DEFAULT '', + `auditResult` char(30) NOT NULL DEFAULT '', `deleted` enum('0','1') NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=39 DEFAULT CHARSET=utf8; @@ -9776,17 +9785,17 @@ CREATE TABLE IF NOT EXISTS `zt_reviewcl` ( `status` varchar(30) NOT NULL, `createdBy` varchar(30) NOT NULL, `createdDate` datetime NOT NULL, - `editedBy` varchar(30) NOT NULL, - `editedDate` datetime NOT NULL, - `assignedBy` varchar(30) NOT NULL, - `assignedDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL DEFAULT '', + `editedDate` datetime NULL, + `assignedBy` varchar(30) NOT NULL DEFAULT '', + `assignedDate` datetime NULL, `deleted` enum('0','1') NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=30 DEFAULT CHARSET=utf8; -- DROP TABLE IF EXISTS `zt_reviewresult`; CREATE TABLE IF NOT EXISTS `zt_reviewresult` ( - `id` mediumint(8) NOT NULL AUTO_INCREMENT PRIMARY KEY, + `id` mediumint(8) NOT NULL AUTO_INCREMENT, `review` mediumint(8) NOT NULL, `type` char(30) NOT NULL DEFAULT 'review', `result` char(30) NOT NULL, @@ -9795,6 +9804,7 @@ CREATE TABLE IF NOT EXISTS `zt_reviewresult` ( `remainIssue` char(30) NOT NULL, `createdDate` date NOT NULL, `consumed` float NOT NULL, + PRIMARY KEY (`id`), UNIQUE KEY `reviewer` (`review`,`reviewer`,`type`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; @@ -9809,12 +9819,12 @@ CREATE TABLE IF NOT EXISTS `zt_reviewissue` ( `type` char(30) NOT NULL DEFAULT 'review', `listID` mediumint(8) NOT NULL, `title` varchar(255) NOT NULL, - `opinion` varchar(255) NOT NULL, - `opinionDate` DATE NOT NULL, + `opinion` varchar(255) NOT NULL DEFAULT '', + `opinionDate` DATE NULL, `status` char(30) NOT NULL, - `resolution` char(30) NOT NULL, - `resolutionBy` CHAR(30) NOT NULL, - `resolutionDate` DATE NOT NULL, + `resolution` char(30) NOT NULL DEFAULT '', + `resolutionBy` CHAR(30) NOT NULL DEFAULT '', + `resolutionDate` DATE NULL, `createdBy` char(30) NOT NULL, `createdDate` date NOT NULL, `deleted` enum('0','1') NOT NULL DEFAULT '0', @@ -9823,19 +9833,20 @@ CREATE TABLE IF NOT EXISTS `zt_reviewissue` ( -- DROP TABLE IF EXISTS `zt_reviewlist`; CREATE TABLE IF NOT EXISTS `zt_reviewlist` ( - `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT PRIMARY KEY, + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, `title` varchar(255) NOT NULL, `object` char(30) NOT NULL, `category` char(30) NOT NULL, - `assignedTo` varchar(30) NOT NULL, + `assignedTo` varchar(30) NOT NULL DEFAULT '', `status` varchar(30) NOT NULL, `createdBy` varchar(30) NOT NULL, `createdDate` datetime NOT NULL, - `editedBy` varchar(30) NOT NULL, - `editedDate` datetime NOT NULL, - `assignedBy` varchar(30) NOT NULL, - `assignedDate` datetime NOT NULL, - `deleted` enum('0','1') NOT NULL DEFAULT '0' + `editedBy` varchar(30) NOT NULL DEFAULT '', + `editedDate` datetime NULL, + `assignedBy` varchar(30) NOT NULL DEFAULT '', + `assignedDate` datetime NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- DROP TABLE IF EXISTS `zt_cmcl`; @@ -9845,13 +9856,13 @@ CREATE TABLE IF NOT EXISTS `zt_cmcl` ( `projectType` varchar(255) NOT NULL, `title` int(11) NOT NULL, `contents` text NOT NULL, - `assignedTo` varchar(30) NOT NULL, + `assignedTo` varchar(30) NOT NULL DEFAULT '', `status` varchar(30) NOT NULL, `order` int(11) NOT NULL, `createdBy` varchar(30) NOT NULL, `createdDate` datetime NOT NULL, - `editedBy` varchar(30) NOT NULL, - `editedDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL DEFAULT '', + `editedDate` datetime NULL, `deleted` enum('0','1') NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; @@ -9867,8 +9878,8 @@ CREATE TABLE IF NOT EXISTS `zt_solutions` ( `type` char(30) NOT NULL, `addedBy` varchar(30) NOT NULL, `addedDate` date NOT NULL, - `editedBy` varchar(30) NOT NULL, - `editedDate` date NOT NULL, + `editedBy` varchar(30) NOT NULL DEFAULT '', + `editedDate` date NULL, `deleted` enum('0','1') NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; @@ -9884,7 +9895,7 @@ CREATE TABLE IF NOT EXISTS `zt_measqueue` ( `params` text, `createdBy` varchar(30) NOT NULL, `createdDate` datetime NOT NULL, - `updateDate` datetime NOT NULL, + `updateDate` datetime NULL, `deleted` enum('0','1') NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; @@ -9913,16 +9924,16 @@ CREATE TABLE IF NOT EXISTS `zt_issue` ( `version` smallint(6) NOT NULL default 1, `createdBy` varchar(30) NOT NULL, `createdDate` datetime NOT NULL, - `editedBy` varchar(30) NOT NULL, - `editedDate` datetime NOT NULL, - `activateBy` varchar(30) NOT NULL, - `activateDate` date NOT NULL, - `closedBy` varchar(30) NOT NULL, - `closedDate` date NOT NULL, - `assignedTo` varchar(30) NOT NULL, - `assignedBy` varchar(30) NOT NULL, - `assignedDate` datetime NOT NULL, - `approvedDate` date NOT NULL, + `editedBy` varchar(30) NOT NULL DEFAULT '', + `editedDate` datetime NULL, + `activateBy` varchar(30) NOT NULL DEFAULT '', + `activateDate` date NULL, + `closedBy` varchar(30) NOT NULL DEFAULT '', + `closedDate` date NULL, + `assignedTo` varchar(30) NOT NULL DEFAULT '', + `assignedBy` varchar(30) NOT NULL DEFAULT '', + `assignedDate` datetime NULL, + `approvedDate` date NULL, `deleted` enum('0','1') NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; @@ -9944,31 +9955,31 @@ CREATE TABLE IF NOT EXISTS `zt_risk` ( `identifiedDate` date NOT NULL, `prevention` mediumtext NOT NULL, `remedy` mediumtext NOT NULL, - `plannedClosedDate` date NOT NULL, - `actualClosedDate` date NOT NULL, + `plannedClosedDate` date NULL, + `actualClosedDate` date NULL, `lib` mediumint(8) unsigned NOT NULL default 0, `from` mediumint(8) unsigned NOT NULL default 0, `version` smallint(6) NOT NULL default 1, `createdBy` varchar(30) NOT NULL, `createdDate` datetime NOT NULL, - `editedBy` varchar(30) NOT NULL, - `editedDate` datetime NOT NULL, - `resolution` mediumtext NOT NULL, - `resolvedBy` varchar(30) NOT NULL, - `activateBy` varchar(30) NOT NULL, - `activateDate` date NOT NULL, - `assignedTo` varchar(30) NOT NULL, - `closedBy` varchar(30) NOT NULL, - `closedDate` date NOT NULL, - `cancelBy` varchar(30) NOT NULL, - `cancelDate` date NOT NULL, - `cancelReason` char(30) NOT NULL, - `hangupBy` varchar(30) NOT NULL, - `hangupDate` date NOT NULL, - `trackedBy` varchar(30) NOT NULL, - `trackedDate` date NOT NULL, - `assignedDate` date NOT NULL, - `approvedDate` date NOT NULL, + `editedBy` varchar(30) NOT NULL DEFAULT '', + `editedDate` datetime NULL, + `resolution` mediumtext NULL, + `resolvedBy` varchar(30) NOT NULL DEFAULT '', + `activateBy` varchar(30) NOT NULL DEFAULT '', + `activateDate` date NULL, + `assignedTo` varchar(30) NOT NULL DEFAULT '', + `closedBy` varchar(30) NOT NULL DEFAULT '', + `closedDate` date NULL, + `cancelBy` varchar(30) NOT NULL DEFAULT '', + `cancelDate` date NULL, + `cancelReason` char(30) NOT NULL DEFAULT '', + `hangupBy` varchar(30) NOT NULL DEFAULT '', + `hangupDate` date NULL, + `trackedBy` varchar(30) NOT NULL DEFAULT '', + `trackedDate` date NULL, + `assignedDate` date NULL, + `approvedDate` date NULL, `deleted` enum('0','1') NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; @@ -9995,33 +10006,33 @@ CREATE TABLE IF NOT EXISTS `zt_opportunity` ( `ratio` mediumint(8) NOT NULL, `pri` char(30) NOT NULL, `identifiedDate` date NOT NULL, - `assignedTo` varchar(30) NOT NULL, - `assignedDate` date NOT NULL, - `approvedDate` date NOT NULL, + `assignedTo` varchar(30) NOT NULL DEFAULT '', + `assignedDate` date NULL, + `approvedDate` date NULL, `prevention` mediumtext NOT NULL, - `plannedClosedDate` date NOT NULL, - `actualClosedDate` date NOT NULL, + `plannedClosedDate` date NULL, + `actualClosedDate` date NULL, `lib` mediumint(8) unsigned NOT NULL default 0, `from` mediumint(8) unsigned NOT NULL default 0, `version` smallint(6) NOT NULL default 1, `createdBy` varchar(30) NOT NULL, `createdDate` datetime NOT NULL, - `editedBy` varchar(30) NOT NULL, - `editedDate` datetime NOT NULL, - `activatedBy` varchar(30) NOT NULL, - `activatedDate` datetime NOT NULL, - `closedBy` varchar(30) NOT NULL, - `closedDate` datetime NOT NULL, - `canceledBy` varchar(30) NOT NULL, - `canceledDate` datetime NOT NULL, - `cancelReason` char(30) NOT NULL, - `hangupedBy` varchar(30) NOT NULL, - `hangupedDate` datetime NOT NULL, - `resolution` mediumtext NOT NULL, - `resolvedBy` varchar(30) NOT NULL, - `resolvedDate` datetime NOT NULL, - `lastCheckedBy` varchar(30) NOT NULL, - `lastCheckedDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL DEFAULT '', + `editedDate` datetime NULL, + `activatedBy` varchar(30) NOT NULL DEFAULT '', + `activatedDate` datetime NULL, + `closedBy` varchar(30) NOT NULL DEFAULT '', + `closedDate` datetime NULL, + `canceledBy` varchar(30) NOT NULL DEFAULT '', + `canceledDate` datetime NULL, + `cancelReason` char(30) NOT NULL DEFAULT '', + `hangupedBy` varchar(30) NOT NULL DEFAULT '', + `hangupedDate` datetime NULL, + `resolution` mediumtext NULL, + `resolvedBy` varchar(30) NOT NULL DEFAULT '', + `resolvedDate` datetime NULL, + `lastCheckedBy` varchar(30) NOT NULL DEFAULT '', + `lastCheckedDate` datetime NULL, `deleted` enum('0','1') NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; @@ -10041,8 +10052,8 @@ CREATE TABLE IF NOT EXISTS `zt_trainplan` ( `summary` mediumtext NOT NULL, `createdBy` char(30), `createdDate` datetime NOT NULL, - `editedBy` varchar(30) NOT NULL, - `editedDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL DEFAULT '', + `editedDate` datetime NULL, `deleted` enum('0','1') NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; @@ -10057,8 +10068,8 @@ CREATE TABLE IF NOT EXISTS `zt_gapanalysis` ( `needTrain` enum('no','yes') NOT NULL DEFAULT 'no', `createdBy` char(30), `createdDate` datetime NOT NULL, - `editedBy` varchar(30) NOT NULL, - `editedDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL DEFAULT '', + `editedDate` datetime NULL, `deleted` enum('0','1') NOT NULL DEFAULT '0', PRIMARY KEY (`id`), UNIQUE KEY `project_account` (`project`,`account`) @@ -13336,523 +13347,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` 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'), +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','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'), @@ -14025,8 +14036,8 @@ CREATE TABLE IF NOT EXISTS `zt_sqlview` ( `desc` text NOT NULL, `createdBy` varchar(30) NOT NULL, `createdDate` datetime NOT NULL, - `editedBy` varchar(30) NOT NULL, - `editedDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL DEFAULT '', + `editedDate` datetime NULL, `deleted` enum('0','1') NOT NULL default '0', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 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 0499a36011..70a7550b9a 100644 --- a/framework/base/router.class.php +++ b/framework/base/router.class.php @@ -391,6 +391,7 @@ class baseRouter $this->loadClass('front', $static = true); $this->loadClass('filter', $static = true); + $this->loadClass('dbh', $static = true); $this->loadClass('dao', $static = true); $this->loadClass('mobile', $static = true); @@ -758,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; @@ -2699,15 +2700,11 @@ class baseRouter { if(!isset($params->driver)) self::triggerError('no pdo driver defined, it should be mysql or sqlite', __FILE__, __LINE__, $exit = true); if(!isset($params->user)) return false; - if($params->driver == 'mysql') - { - $dsn = "mysql:host={$params->host}; port={$params->port}; dbname={$params->name}"; - } try { $dbPassword = helper::decryptPassword($params->password); - $dbh = new PDO($dsn, $params->user, $dbPassword, array(PDO::ATTR_PERSISTENT => $params->persistant)); + $dbh = new dbh($params); $dbh->exec("SET NAMES {$params->encoding}"); /* diff --git a/framework/router.class.php b/framework/router.class.php index f637132290..c833bd6f0f 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']; } @@ -206,7 +206,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) { @@ -274,7 +274,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) @@ -290,7 +290,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; @@ -301,8 +301,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/base/dao/dao.class.php b/lib/base/dao/dao.class.php index c585eb2a4b..159611b9fc 100644 --- a/lib/base/dao/dao.class.php +++ b/lib/base/dao/dao.class.php @@ -316,6 +316,18 @@ class baseDAO $this->dbh->commit(); } + /** + * Desc table, show fields. + * + * @param string $tableName + * @access public + * @return array + */ + public function descTable($tableName) + { + return $this->query("DESC $tableName")->fetchAll(); + } + /** * select方法,调用sql::select()。 * The select method, call sql::select(). @@ -372,7 +384,7 @@ class baseDAO **/ try { - $row = $this->dbh->query($sql)->fetch(PDO::FETCH_OBJ); + $row = $this->dbh->rawQuery($sql)->fetch(PDO::FETCH_OBJ); } catch (PDOException $e) { @@ -552,7 +564,7 @@ class baseDAO public function explain($sql = '') { $sql = empty($sql) ? $this->processSQL() : $sql; - $result = $this->dbh->query('explain ' . $sql)->fetch(); + $result = $this->dbh->rawQuery('explain ' . $sql)->fetch(); a($result); } @@ -567,6 +579,26 @@ class baseDAO { $sql = $this->sqlobj->get(); + /* INSERT INTO table VALUES(...) */ + if($this->method == 'insert' and !empty($this->sqlobj->data)) + { + $skipFields = $this->sqlobj->skipFields; + $fields = '('; + $values = 'VALUES('; + foreach($this->sqlobj->data as $field => $value) + { + if(strpos($skipFields, ",$field,") !== false) continue; + $fields .= "`{$field}`,"; + if(is_string($value)) $value = $this->sqlobj->quote($value); + $values .= $value . ','; + } + $fields = substr($fields, 0, -1); + $values = substr($values, 0, -1); + $fields .= ')'; + $values .= ')'; + $sql .= $fields . ' ' . $values; + } + /** * 如果是magic模式,处理表和字段。 * If the mode is magic, process the $fields and $table. @@ -670,7 +702,7 @@ class baseDAO if($sql) { - $sql = trim($sql); + $sql = $this->dbh->formatSQL($sql); $sqlMethod = strtolower(substr($sql, 0, strpos($sql, ' '))); $this->setMethod($sqlMethod); $this->sqlobj = new sql(); @@ -688,11 +720,11 @@ class baseDAO if($this->slaveDBH and $method == 'select') { - return $this->slaveDBH->query($sql); + return $this->slaveDBH->rawQuery($sql); } else { - return $this->dbh->query($sql); + return $this->dbh->rawQuery($sql); } } catch (PDOException $e) @@ -1101,7 +1133,7 @@ class baseDAO if($funcName == 'unique') { $args = func_get_args(); - $sql = "SELECT COUNT(*) AS count FROM $this->table WHERE `$fieldName` = " . $this->sqlobj->quote($value); + $sql = "SELECT COUNT(*) AS `count` FROM $this->table WHERE `$fieldName` = " . $this->sqlobj->quote($value); if($condition) $sql .= ' AND ' . $condition; try { @@ -1339,7 +1371,7 @@ class baseDAO { $this->dbh->setAttribute(PDO::ATTR_CASE, PDO::CASE_LOWER); $sql = "DESC $this->table"; - $rawFields = $this->dbh->query($sql)->fetchAll(); + $rawFields = $this->dbh->rawQuery($sql)->fetchAll(); $this->dbh->setAttribute(PDO::ATTR_CASE, PDO::CASE_NATURAL); } catch (PDOException $e) @@ -1347,6 +1379,7 @@ class baseDAO $this->sqlError($e); } + $fields = array(); foreach($rawFields as $rawField) { $firstPOS = strpos($rawField->type, '('); @@ -1447,7 +1480,7 @@ class baseSQL public $dbh; /** - * 更新或插入日期。 + * 更新或插入的数据。 * The data to update or insert. * * @var mix @@ -1455,6 +1488,32 @@ class baseSQL */ public $data; + /** + * 不需要拼接SQL的字段 + * skipFields + * + * @var mixed + * @access public + */ + public $skipFields; + + /** + * SQL 方法, insert, update, delete ... + * SQL method, insert, update, delete ... + * + * @var mixed + * @access public + */ + public $method; + + /** + * setField + * + * @var mixed + * @access public + */ + public $setField; + /** * 是否是第一次设置。 * Is the first time to call set. @@ -1528,6 +1587,19 @@ class baseSQL return new sql($table); } + /** + * 设置SQL的方法。 + * Set SQL method. + * + * @param string $method + * @access public + * @return void + */ + public function setMethod($method = '') + { + $this->method = $method; + } + /** * select语句。 * The sql is select. @@ -1539,6 +1611,7 @@ class baseSQL public static function select($field = '*') { $sqlobj = self::factory(); + $sqlobj->setMethod('select'); $sqlobj->sql = "SELECT $field "; return $sqlobj; } @@ -1554,6 +1627,7 @@ class baseSQL public static function update($table) { $sqlobj = self::factory(); + $sqlobj->setMethod('update'); $sqlobj->sql = "UPDATE $table SET "; return $sqlobj; } @@ -1569,7 +1643,8 @@ class baseSQL public static function insert($table) { $sqlobj = self::factory(); - $sqlobj->sql = "INSERT INTO $table SET "; + $sqlobj->setMethod('insert'); + $sqlobj->sql = "INSERT INTO $table "; return $sqlobj; } @@ -1584,6 +1659,7 @@ class baseSQL public static function replace($table) { $sqlobj = self::factory(); + $sqlobj->setMethod('replace'); $sqlobj->sql = "REPLACE $table SET "; return $sqlobj; } @@ -1598,6 +1674,7 @@ class baseSQL public static function delete() { $sqlobj = self::factory(); + $sqlobj->setMethod('delete'); $sqlobj->sql = "DELETE "; return $sqlobj; } @@ -1616,15 +1693,18 @@ class baseSQL $data = (object) $data; if($skipFields) $skipFields = ',' . str_replace(' ', '', $skipFields) . ','; - foreach($data as $field => $value) + if($this->method != 'insert') { - if(!preg_match('|^\w+$|', $field)) + foreach($data as $field => $value) { - unset($data->$field); - continue; + if(!preg_match('|^\w+$|', $field)) + { + unset($data->$field); + continue; + } + if(strpos($skipFields, ",$field,") !== false) continue; + $this->sql .= "`$field` = " . $this->quote($value) . ','; } - if(strpos($skipFields, ",$field,") !== false) continue; - $this->sql .= "`$field` = " . $this->quote($value) . ','; } $this->data = $data; @@ -1676,15 +1756,23 @@ class baseSQL { if($this->inCondition and !$this->conditionIsTrue) return $this; - /* Add ` to avoid keywords of mysql. */ - if(strpos($set, '=') ===false) + if($this->method == 'update') { - $set = str_replace(',', '', $set); - $set = '`' . str_replace('`', '', $set) . '`'; + /* Add ` to avoid keywords of mysql. */ + if(strpos($set, '=') ===false) + { + $set = str_replace(',', '', $set); + } + + $this->sql .= $this->isFirstSet ? " $set" : ", $set"; + if($this->isFirstSet) $this->isFirstSet = false; + } + elseif($this->method == 'insert') + { + $this->setField = $value; + $this->data->$value = ''; } - $this->sql .= $this->isFirstSet ? " $set" : ", $set"; - if($this->isFirstSet) $this->isFirstSet = false; return $this; } @@ -1796,7 +1884,7 @@ class baseSQL } else { - $condition = $arg1; + $condition = ctype_alnum($arg1) ? '`' . $arg1 . '`' : $arg1; } if(!$this->inMark) $this->sql .= ' ' . DAO::WHERE ." $condition "; @@ -1815,6 +1903,8 @@ class baseSQL public function andWhere($condition, $addMark = false) { if($this->inCondition and !$this->conditionIsTrue) return $this; + if(ctype_alnum($condition)) $condition = '`' . $condition . '`'; + $mark = $addMark ? '(' : ''; $this->sql .= " AND {$mark} $condition "; return $this; @@ -1831,6 +1921,8 @@ class baseSQL public function orWhere($condition) { if($this->inCondition and !$this->conditionIsTrue) return $this; + if(ctype_alnum($condition)) $condition = '`' . $condition . '`'; + $this->sql .= " OR $condition "; return $this; } @@ -1846,7 +1938,17 @@ class baseSQL public function eq($value) { if($this->inCondition and !$this->conditionIsTrue) return $this; - $this->sql .= " = " . $this->quote($value); + + if($this->method == 'insert') + { + $field = $this->setField; + $this->data->$field = $value; + } + else + { + $this->sql .= " = " . $this->quote($value); + } + return $this; } 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 new file mode 100644 index 0000000000..43a991b677 --- /dev/null +++ b/lib/dao/dm.class.php @@ -0,0 +1,427 @@ +table}'"; + $rawFields = $this->dbh->rawQuery($sql)->fetchAll(); + + $fields = array(); + foreach($rawFields as $rawField) + { + $field = new stdClass(); + $field->Field = $rawField->field; + $fields[] = $field; + } + return $fields; + } + + /** + * select方法,调用sql::select()。 + * The select method, call sql::select(). + * + * @param string $fields + * @access public + * @return static|sql|baseDAO the dao object self. + */ + public function select($fields = '*') + { + /* Split by ','. */ + $fieldList = preg_split("/,(?![^(]+\))/", $fields); + foreach($fieldList as $key => $field) + { + $field = trim($field); + $pos = strrpos($field, ' '); + if($pos) + { + $originField = substr($field, 0, $pos); + $alias = trim(substr($field, $pos)); + + $fieldList[$key] = $this->formatField($originField, $alias); + } + else + { + $fieldList[$key] = $this->formatField($field); + } + } + + return parent::select(implode(',', $fieldList)); + } + + /** + * 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(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] != '*') + { + $originField = $tableField[0] . '."' . $tableField[1] . '"'; + } + elseif(count($tableField) == 1 and ctype_alnum($tableField[0]) and $tableField[0] != '*') + { + $originField = '"' . $tableField[0] . '"'; + } + $originField = str_ireplace(array_keys($replace), array_values($replace), $originField); + } + + /* Format alias. */ + if($alias and ctype_alnum($alias)) $alias = '"' . $alias . '"'; + + 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. + * + * @param string $arg1 the field name + * @param string $arg2 the operator + * @param string $arg3 the value + * @access public + * @return static|sql the sql object. + */ + public function where($arg1, $arg2 = null, $arg3 = null) + { + $arg1 = $this->formatWhere($arg1); + return parent::where($arg1, $arg2, $arg3); + } + + /** + * 创建AND部分。 + * Create the AND part. + * + * @param string $condition + * @access public + * @return static|sql the sql object. + */ + public function andWhere($condition = '', $addMark = false) + { + $condition = $this->formatWhere($condition); + return parent::andWhere($condition, $addMark); + } + + /** + * 创建OR部分。 + * Create the OR part. + * + * @param bool $condition + * @access public + * @return static|sql the sql object. + */ + public function orWhere($condition) + { + $condition = $this->formatWhere($condition); + return parent::orWhere($condition); + } + + private function formatWhere($condition) + { + $condition = trim($condition); + if($condition == '1') return '1 = 1'; + + $pos = strrpos($condition, ' '); + if($pos) + { + $originField = substr($condition, 0, $pos); + return $this->formatField($originField) . substr($condition, $pos); + } + else + { + 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;"; + + $content = $this->dbh->query($sql)->fetch(); + return empty($content) ? false : $content->PK_COLUMNS; + } + + /** + * 执行SQL。query()会返回stmt对象,该方法只返回更改或删除的记录数。 + * Execute the sql. It's different with query(), which return the stmt object. But this not. + * + * @param string $sql + * @access public + * @return int the modified or deleted records. 更改或删除的记录数。 + */ + public function exec($sql = '') + { + if($sql) + { + $this->sqlobj = new sql(); + $this->sqlobj->sql = $sql; + } + else + { + $sql = $this->processSQL(); + $this->sqlobj->sql = $sql; + } + + if($this->method == 'replace' && !empty($this->sqlobj->data)) + { + $insertSql = "INSERT INTO {$this->table} "; + $fields = '('; + $values = 'VALUES('; + foreach($this->sqlobj->data as $field => $value) + { + $fields .= "`{$field}`,"; + if(is_string($value)) $value = $this->sqlobj->quote($value); + $values .= $value . ','; + } + $fields = substr($fields, 0, -1); + $values = substr($values, 0, -1); + $fields .= ')'; + $values .= ')'; + $insertSql .= $fields . ' ' . $values; + + $updateSql = str_replace('REPLACE', 'UPDATE', $sql); + $pk = $this->getPKColumns(); + if(!empty($pk) && isset($this->sqlobj->data->{$pk})) $updateSql .= " where {$pk} = '{$this->sqlobj->data->{$pk}}'"; + + $deleteSql = "DELETE FROM {$this->table} WHERE "; + $ingore = array(); + $ingore['`zt_config`'] = array('value'); + foreach($this->sqlobj->data as $field => $value) + { + if(isset($ingore[$this->table]) and in_array($field, $ingore[$this->table])) continue; + $deleteSql .= "`{$field}` = "; + $deleteSql .= is_string($value) ? "'{$value}'" : $value; + $deleteSql .= ' AND '; + } + $deleteSql = rtrim($deleteSql, 'AND '); + + $sql = <<table) unset(dao::$cache[$this->table]); + $this->reset(); + return $this->dbh->exec($sql); + } + catch (PDOException $e) + { + $this->sqlError($e); + } + } + + /** + * 获取一个记录。 + * Fetch one record. + * + * @param string $field 如果已经设置获取的字段,则只返回这个字段的值,否则返回这个记录。 + * if the field is set, only return the value of this field, else return this record + * @access public + * @return object|mixed + */ + public function fetch($field = '') + { + return parent::fetch($field); + } + + /** + * 获取所有记录。 + * Fetch all records. + * + * @param string $keyField 返回以该字段做键的记录 + * the key field, thus the return records is keyed by this field + * @access public + * @return array the records + */ + public function fetchAll($keyField = '') + { + return parent::fetchAll($keyField); + } + + /** + * 获取表的字段类型。 + * Get the defination of fields of the table. + * + * @access public + * @return array + */ + public function getFieldsType() + { + try + { + $this->dbh->setAttribute(PDO::ATTR_CASE, PDO::CASE_LOWER); + $sql = "select * from all_tab_columns where table_name='{$this->table}'"; + $rawFields = $this->dbh->rawQuery($sql)->fetchAll(); + $this->dbh->setAttribute(PDO::ATTR_CASE, PDO::CASE_NATURAL); + } + catch (PDOException $e) + { + $this->sqlError($e); + } + + $fields = array(); + foreach($rawFields as $rawField) + { + $firstPOS = strpos($rawField->data_type, '('); + $type = substr($rawField->data_type, 0, $firstPOS > 0 ? $firstPOS : strlen($rawField->type)); + $type = str_replace(array('big', 'small', 'medium', 'tiny', 'var'), '', $type); + $field = array(); + + if($type == 'VARCHAR' or $type == 'CHAR') + { + $length = $rawField->data_length; + $field['rule'] = 'length'; + $field['options']['max'] = $length; + $field['options']['min'] = 0; + } + elseif($type == 'INTEGER') + { + $field['rule'] = 'int'; + } + elseif($type == 'FLOAT' or $type == 'DOUBLE') + { + $field['rule'] = 'float'; + } + elseif($type == 'DATE') + { + $field['rule'] = 'date'; + } + elseif($type == 'DATETIME') + { + $field['rule'] = 'datetime'; + } + else + { + $field['rule'] = 'skip'; + } + $fields[$rawField->field] = $field; + } + return $fields; + } +} diff --git a/lib/dao/mysql.class.php b/lib/dao/mysql.class.php new file mode 100644 index 0000000000..261a4957bf --- /dev/null +++ b/lib/dao/mysql.class.php @@ -0,0 +1,22 @@ +driver}:host={$config->host}:{$config->port}"; + if($setSchema) $dsn .= ";dbname={$config->name}"; + + $pdo = new PDO($dsn, $config->user, $config->password); + $pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_OBJ); + $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); + + if($config->driver == 'mysql') + { + $pdo->exec("SET NAMES {$config->encoding}"); + if(isset($this->config->strictMode) and $this->config->strictMode == false) $pdo->exec("SET @@sql_mode= ''"); + } + else if($setSchema) + { + $pdo->exec("SET SCHEMA {$config->name}"); + } + + $this->pdo = $pdo; + $this->config = $config; + } + + /** + * Execute sql. + * + * @param string $sql + * @access public + * @return PDOStatement|false + */ + public function exec($sql) + { + $sql = $this->formatSQL($sql); + if(!$sql) return true; + + return $this->pdo->exec($sql); + } + + /** + * Query sql. + * + * @param string $sql + * @access public + * @return PDOStatement|false + */ + public function query($sql) + { + $sql = $this->formatSQL($sql); + return $this->pdo->query($sql); + } + + /** + * Query raw sql. + * + * @param string $sql + * @access public + * @return PDOStatement|false + */ + public function rawQuery($sql) + { + return $this->pdo->query($sql); + } + + /** + * Set attribute. + * + * @param int $attribute + * @param mixed $value + * @access public + * @return bool + */ + public function setAttribute($attribute, $value) + { + return $this->pdo->setAttribute($attribute, $value); + } + + /** + * Check db exits or not. + * + * @access public + * @return bool + */ + public function dbExists() + { + switch($this->config->driver) + { + case 'mysql': + $sql = "SHOW DATABASES like '{$this->config->name}'"; + break; + case 'dm': + $sql = "SELECT * FROM dba_objects WHERE object_type='SCH' AND owner='{$this->config->name}'"; + break; + default: + $sql = ''; + } + return $this->rawQuery($sql)->fetch(); + } + + /** + * Check table exits or not. + * + * @param string $tableName + * @access public + * @return void + */ + public function tableExits($tableName) + { + $tableName = str_replace('`', "'", $tableName); + $sql = "SHOW TABLES FROM {$this->config->name} like $tableName"; + switch($this->config->driver) + { + case 'mysql': + $sql = "SHOW TABLES FROM {$this->config->name} like {$tableName}"; + break; + case 'dm': + $sql = "SELECT * FROM all_tables WHERE owner='{$this->config->name}' AND table_name={$tableName}"; + break; + default: + $sql = ''; + } + + return $this->rawQuery($sql)->fetch(); + } + + /** + * Create database. + * + * @param string $version + * @access public + * @return PDOStatement|false + */ + public function createDB($version) + { + switch($this->config->driver) + { + case 'mysql': + $sql = "CREATE DATABASE `{$this->config->name}`"; + if($version > 4.1) $sql .= " DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci"; + return $this->rawQuery($sql); + + case 'dm': + $tableSpace = strtoupper($this->config->name); + $res = $this->rawQuery("SELECT * FROM dba_data_files WHERE TABLESPACE_NAME = '$tableSpace'")->fetchAll(); + + if(empty($res)) + { + $createTableSpace = "CREATE TABLESPACE $tableSpace DATAFILE '{$this->config->name}.DBF' size 150 AUTOEXTEND ON"; + $createUser = "CREATE USER {$this->config->name} IDENTIFIED by {$this->config->password} DEFAULT TABLESPACE {$this->config->name} DEFAULT INDEX TABLESPACE {$this->config->name}"; + + $this->rawQuery($createTableSpace); + $this->rawQuery($createUser); + } + + $createSchema = "CREATE SCHEMA {$this->config->name} AUTHORIZATION {$this->config->name}"; + return $this->rawQuery($createSchema); + + default: + return false; + } + } + + /** + * Use database or schema. + * + * @param string $dbName + * @access public + * @return PDOStatement|false + */ + public function useDB($dbName) + { + switch($this->config->driver) + { + case 'mysql': + return $this->exec("USE {$this->config->name}"); + + case 'dm': + return $this->exec("SET SCHEMA {$this->config->name}"); + + default: + return false; + } + } + + /** + * Format sql. + * + * @param string $sql + * @access public + * @return string + */ + public function formatSQL($sql) + { + switch($this->config->driver) + { + case 'dm': + return $this->formatDmSQL($sql); + return $sql; + + default: + return $sql; + } + } + + /** + * Format dm sql. + * + * @param string $sql + * @access public + * @return string + */ + public function formatDmSQL($sql) + { + $sql = trim($sql); + $actionPos = strpos($sql, ' '); + $action = strtoupper(substr($sql, 0, $actionPos)); + $setPos = 0; + switch($action) + { + case 'SELECT': + return $this->formatField($sql); + case 'REPLACE': + $sql = str_replace('REPLACE', 'INSERT', $sql); + $action = 'INSERT'; + case 'INSERT': + case 'UPDATE': + $setPos = stripos($sql, ' VALUES'); + $sql = str_replace('0000-00-00', '1970-01-01', $sql); + $sql = str_replace('00:00:00', '00:00:01', $sql); + if(strpos($sql, "\\'") !== FALSE) $sql = str_replace("\\'", "''''", $sql); + if(strpos($sql, '\"') !== FALSE) $sql = str_replace('\"', '"', $sql); + if(strpos($sql, '\\\\') !== FALSE) $sql = str_replace('\\\\', '\\', $sql); + break; + case 'CREATE': + if(stripos($sql, 'CREATE OR REPLACE VIEW ') === 0) return ''; + if(stripos($sql, 'CREATE VIEW') === 0) return ''; + if(stripos($sql, 'CREATE FUNCTION') === 0) return ''; + case 'ALTER': + $sql = $this->formatField($sql); + $sql = $this->formatAttr($sql); + return $sql; + case 'SET': + if(stripos($sql, 'SET SCHEMA') === 0) return $sql; + case 'USE': + return ''; + case 'DROP': + return $this->formatField($sql); + } + + if($setPos <= 0) return $sql; + + $fields = substr($sql, 0, $setPos); + $fields = $this->formatField($fields); + + $sql = $fields . substr($sql, $setPos); + + /* DMDB must set IDENTITY_INSERT 'on' to insert id field. */ + if($action == 'INSERT' and stripos($fields, '"id"') !== FALSE) + { + $tableBegin = strpos($sql, '"' . $this->config->prefix); + $tableEnd = strpos($sql, '"', $tableBegin + 1); + $tableName = '' . $this->config->name . '."' . substr($sql, $tableBegin + 1, $tableEnd - $tableBegin - 1) . '"'; + return "SET IDENTITY_INSERT $tableName ON;" . $sql; + } + + return $sql; + } + + /** + * Format field. + * + * @param string $sql + * @access public + * @return string + */ + public function formatField($sql) + { + switch($this->config->driver) + { + case 'dm': + $sql = str_replace('`', '"', $sql); + return $sql; + + default: + return $sql; + } + } + + /** + * Format attribute of field. + * + * @param string $sql + * @access public + * @return string + */ + public function formatAttr($sql) + { + switch($this->config->driver) + { + case 'dm': + $pos = stripos($sql, ' ENGINE'); + if($pos > 0) $sql = substr($sql, 0, $pos); + + $sql = preg_replace('/\(\ *\d+\ *\)/', '', $sql); + + $replace = array( + " AUTO_INCREMENT" => ' IDENTITY(1, 1)', + " int " => ' integer ', + " mediumint " => ' integer ', + " smallint " => ' integer ', + " tinyint " => ' integer ', + " varchar " => ' varchar(255) ', + " char " => ' varchar(255) ', + " mediumtext " => ' text ', + " mediumtext," => ' text,', + " longtext " => ' text ', + "COLLATE 'utf8_general_ci'" => ' ', + " unsigned " => ' ', + " zerofill " => ' ', + "0000-00-00" => '1970-01-01', + ); + + $sql = preg_replace('/ enum[\_0-9a-z\,\'\"\( ]+\)+/i', ' varchar(255) ', $sql); + $sql = str_ireplace(array_keys($replace), array_values($replace), $sql); + $sql = preg_replace('/\,\s+key[\_\"0-9a-z ]+\(+[\,\_\"0-9a-z ]+\)+/i', '', $sql); + $sql = preg_replace('/\,\s*(unique|fulltext)*\s+key[\_\"0-9a-z ]+\(+[\,\_\"0-9a-z ]+\)+/i', '', $sql); + $sql = preg_replace('/ float\s*\(+[\,\_\"0-9a-z ]+\)+/i', ' float', $sql); + } + + return $sql; + } + + /** + * Quote. + * + * @param string $string + * @param int $parameter_type + * @access public + * @return string + */ + public function quote($string, $parameter_type = PDO::PARAM_STR) + { + return $this->pdo->quote($string, $parameter_type); + } + + /** + * Get last insert id. + * + * @param string $name + * @access public + * @return string|false + */ + public function lastInsertId($name = null) + { + return $this->pdo->lastInsertId($name); + } +} diff --git a/module/action/model.php b/module/action/model.php index 4665a27248..d6b51c41ef 100755 --- a/module/action/model.php +++ b/module/action/model.php @@ -1043,7 +1043,7 @@ class actionModel extends model extract($beginAndEnd); /* Build has priv condition. */ - $condition = 1; + $condition = '1=1'; $executions = array(); if(!$this->app->user->admin) { @@ -1118,6 +1118,12 @@ class actionModel extends model $noMultipleExecutions = $this->dao->select('id')->from(TABLE_PROJECT)->where('multiple')->eq(0)->andWhere('type')->in('sprint,kanban')->fetchPairs('id', 'id'); + $condition = "(`objectType` IN ('doc', 'doclib') OR ($condition)) AND `objectType` NOT IN ('program', 'effort', 'execution')"; + if($noMultipleExecutions) $condition .= " OR (`objectID` NOT " . helper::dbIN($noMultipleExecutions) . " AND `objectType` = 'execution')"; + $condition .= " OR (`objectID` in ($programCondition) AND `objectType` = 'program')"; + $condition .= " OR (`objectID` in ($efforts) AND `objectType` = 'effort')"; + $condition = "($condition)"; + /* Get actions. */ $actions = $this->dao->select('*')->from(TABLE_ACTION) ->where('objectType')->notIN($this->config->action->ignoreObjectType4Dynamic) @@ -1130,7 +1136,7 @@ class actionModel extends model ->beginIF(is_numeric($productID))->andWhere('product')->like("%,$productID,%")->fi() ->andWhere() ->markLeft(1) - ->where(1) + ->where('1=1') ->beginIF(is_numeric($projectID))->andWhere('project')->eq($projectID)->fi() ->beginIF(!empty($executions))->andWhere('execution')->in(array_keys($executions))->fi() ->beginIF(is_numeric($executionID))->andWhere('execution')->eq($executionID)->fi() @@ -1141,13 +1147,10 @@ class actionModel extends model ->beginIF($productID == 'notzero')->andWhere('product')->gt(0)->andWhere('product')->notlike('%,0,%')->fi() ->beginIF($projectID == 'notzero')->andWhere('project')->gt(0)->fi() ->beginIF($executionID == 'notzero')->andWhere('execution')->gt(0)->fi() - ->beginIF($productID == 'all' or $projectID == 'all' or $executionID == 'all')->andWhere("IF((objectType!= 'doc' && objectType!= 'doclib'), ($condition), '1=1')")->fi() - ->beginIF($noMultipleExecutions)->andWhere("IF(`objectType` = 'execution', `objectID` NOT " . helper::dbIN($noMultipleExecutions) . ", '1=1')")->fi() + ->andWhere($condition) ->beginIF($actionCondition)->andWhere("($actionCondition)")->fi() /* Filter out client login/logout actions. */ ->andWhere('action')->notin('disconnectxuanxuan,reconnectxuanxuan,loginxuanxuan,logoutxuanxuan,editmr,removemr') - ->andWhere("IF((objectType = 'program'), (objectID in ($programCondition)), '1=1')") - ->andWhere("IF((objectType = 'effort'), (objectID in ($efforts)), '1=1')") ->orderBy($orderBy) ->page($pager) ->fetchAll(); diff --git a/module/admin/model.php b/module/admin/model.php index 81209b5347..4788682457 100755 --- a/module/admin/model.php +++ b/module/admin/model.php @@ -660,7 +660,7 @@ class adminModel extends model public function genDateUsed() { $firstUseDate = $this->dao->select('date')->from(TABLE_ACTION) - ->where('date')->gt('0000-00-00') + ->where('date')->gt('1970-01-01') ->andWhere('actor')->eq($this->app->user->account) ->orderBy('date_asc') ->limit('1') diff --git a/module/block/control.php b/module/block/control.php index 3a56edbc6f..229c6fefc8 100755 --- a/module/block/control.php +++ b/module/block/control.php @@ -748,7 +748,7 @@ class block extends control if(preg_match('/[^a-zA-Z0-9_]/', $this->params->type)) return; $this->view->projects = $this->loadModel('project')->getPairsByProgram(); - $this->view->testtasks = $this->dao->select('distinct t1.*,t2.name as productName,t2.shadow,t3.name as buildName,t4.name as projectName')->from(TABLE_TESTTASK)->alias('t1') + $this->view->testtasks = $this->dao->select('t1.id,t2.name as productName,t2.shadow,t3.name as buildName,t4.name as projectName')->from(TABLE_TESTTASK)->alias('t1') ->leftJoin(TABLE_PRODUCT)->alias('t2')->on('t1.product=t2.id') ->leftJoin(TABLE_BUILD)->alias('t3')->on('t1.build=t3.id') ->leftJoin(TABLE_PROJECT)->alias('t4')->on('t1.execution=t4.id') @@ -1637,12 +1637,12 @@ class block extends control $yesterday = date(DT_DATE1, strtotime('yesterday')); $testtasks = $this->dao->select('*')->from(TABLE_TESTTASK)->where('product')->in($productIdList)->andWhere('project')->ne(0)->andWhere('deleted')->eq(0)->orderBy('id')->fetchAll('product'); $bugs = $this->dao->select("product, count(id) as total, - count(assignedTo = '{$this->app->user->account}' or null) as assignedToMe, - count(status != 'closed' or null) as unclosed, - count((status != 'closed' and status != 'resolved') or null) as unresolved, - count((confirmed = '0' and toStory = '0') or null) as unconfirmed, - count((resolvedDate >= '$yesterday' and resolvedDate < '$today') or null) as yesterdayResolved, - count((closedDate >= '$yesterday' and closedDate < '$today') or null) as yesterdayClosed") + count(IF(assignedTo = '{$this->app->user->account}', 1, null)) as assignedToMe, + count(IF(status != 'closed', 1, null)) as unclosed, + count(IF(status != 'closed' and status != 'resolved', 1, null)) as unresolved, + count(IF(confirmed = '0' and toStory = '0', 1, null)) as unconfirmed, + count(IF(resolvedDate >= '$yesterday' and resolvedDate < '$today', 1, null)) as yesterdayResolved, + count(IF(closedDate >= '$yesterday' and closedDate < '$today', 1, null)) as yesterdayClosed") ->from(TABLE_BUG) ->where('product')->in($productIdList) ->andWhere('execution')->in(array_keys($executions)) @@ -1650,13 +1650,18 @@ class block extends control ->groupBy('product') ->fetchAll('product'); - $confirmedBugs = $this->dao->select('count(product) as product')->from(TABLE_ACTION) + $confirmedBugs = $this->dao->select('product')->from(TABLE_ACTION) ->where('objectType')->eq('bug') ->andWhere('action')->eq('bugconfirmed') ->andWhere('date')->ge($yesterday) ->andWhere('date')->lt($today) - ->groupBy('product') - ->fetchPairs('product', 'product'); + ->fetchAll(); + $productConfirmedBugs = array(); + foreach($confirmedBugs as $bug) + { + if(!isset($productConfirmedBugs[$bug->product])) $productConfirmedBugs[$bug->product] = 0; + $productConfirmedBugs[$bug->product]++; + } foreach($products as $productID => $product) { @@ -1668,7 +1673,7 @@ class block extends control $product->unconfirmed = empty($bug) ? 0 : $bug->unconfirmed; $product->yesterdayResolved = empty($bug) ? 0 : $bug->yesterdayResolved; $product->yesterdayClosed = empty($bug) ? 0 : $bug->yesterdayClosed; - $product->yesterdayConfirmed = empty($confirmedBugs[",$productID,"]) ? 0 : $confirmedBugs[",$productID,"]; + $product->yesterdayConfirmed = empty($productConfirmedBugs[",$productID,"]) ? 0 : $productConfirmedBugs[",$productID,"]; $product->assignedRate = $product->total ? round($product->assignedToMe / $product->total * 100, 2) : 0; $product->unresolvedRate = $product->total ? round($product->unresolved / $product->total * 100, 2) : 0; diff --git a/module/bug/control.php b/module/bug/control.php index 7413b08f0b..e6a755bd70 100755 --- a/module/bug/control.php +++ b/module/bug/control.php @@ -174,7 +174,7 @@ class bug extends control $bugs = $this->bug->getBugs($productIDList, $executions, $branch, $browseType, $moduleID, $queryID, $sort, $pager, $this->projectID); /* Process the sql, get the conditon partion, save it to session. */ - $this->loadModel('common')->saveQueryCondition($this->dao->get(), 'bug', $browseType == 'needconfirm' ? false : true); + $this->loadModel('common')->saveQueryCondition($this->bug->dao->get(), 'bug', $browseType == 'needconfirm' ? false : true); /* Process bug for check story changed. */ $bugs = $this->loadModel('story')->checkNeedConfirm($bugs); diff --git a/module/common/model.php b/module/common/model.php index fc60313060..fa7cc564bf 100644 --- a/module/common/model.php +++ b/module/common/model.php @@ -1813,7 +1813,7 @@ EOF; global $lang, $app; - $object = $app->dbh->query('SELECT project,type FROM ' . TABLE_EXECUTION . " WHERE `id` = '$executionID'")->fetch(); + $object = $app->dbh->query('SELECT project,`type` FROM ' . TABLE_EXECUTION . " WHERE `id` = '$executionID'")->fetch(); if(empty($object)) return; $executionPairs = array(); @@ -2397,7 +2397,7 @@ EOF; */ public function checkField($table, $field) { - $fields = $this->dao->query("DESC $table")->fetchAll(); + $fields = $this->dao->descTable($table); $hasField = false; foreach($fields as $fieldObj) { diff --git a/module/cron/model.php b/module/cron/model.php index 2611036957..ae28602815 100644 --- a/module/cron/model.php +++ b/module/cron/model.php @@ -142,7 +142,7 @@ class cronModel extends model public function getLastTime() { $cron = $this->dao->select('*')->from(TABLE_CRON)->orderBy('lastTime desc')->limit(1)->fetch(); - return isset($cron->lastTime) ? $cron->lastTime : $cron->lasttime; + return isset($cron->lastTime) ? $cron->lastTime : '0000-00-00 00:00:00'; } /** diff --git a/module/doc/model.php b/module/doc/model.php index 0bfc383c1e..1d893f170d 100644 --- a/module/doc/model.php +++ b/module/doc/model.php @@ -2030,9 +2030,9 @@ class docModel extends model $today = date('Y-m-d'); $lately = date('Y-m-d', strtotime('-3 day')); - $statisticInfo = $this->dao->select("count(id) as totalDocs, count(editedDate like '{$today}%' or null) as todayEditedDocs, - count(editedDate > '{$lately}' or null) as lastEditedDocs, count(addedDate > '{$lately}' or null) as lastAddedDocs, - count(collector like '%,{$this->app->user->account},%' or null) as myCollection, count(addedBy = '{$this->app->user->account}' or null) as myDocs")->from(TABLE_DOC) + $statisticInfo = $this->dao->select("count(id) as totalDocs, count(IF(editedDate like '{$today}%', 1, null)) as todayEditedDocs, + count(IF(editedDate > '{$lately}', 1, null)) as lastEditedDocs, count(IF(addedDate > '{$lately}', 1, null)) as lastAddedDocs, + count(IF(collector like '%,{$this->app->user->account},%', 1, null)) as myCollection, count(IF(addedBy = '{$this->app->user->account}', 1, null)) as myDocs")->from(TABLE_DOC) ->where('deleted')->eq(0) ->andWhere('vision')->eq($this->config->vision) ->andWhere('id')->in($docIdList) diff --git a/module/execution/model.php b/module/execution/model.php index a343b46f3f..622b323999 100755 --- a/module/execution/model.php +++ b/module/execution/model.php @@ -1625,13 +1625,13 @@ class executionModel extends model /* Waterfall execution, when all phases are closed, in reverse order of date. */ if(in_array($executionModel, array('waterfall', 'waterfallplus'))) { - $summary = $this->dao->select('count(id) as executions, sum(IF(INSTR("closed", status) < 1, 0, 1)) as closedExecutions')->from(TABLE_EXECUTION)->where('project')->eq($projectID)->andWhere('deleted')->eq('0')->fetch(); + $summary = $this->dao->select("count(id) as executions, sum(IF(INSTR('closed', status) < 1, 0, 1)) as closedExecutions")->from(TABLE_EXECUTION)->where('project')->eq($projectID)->andWhere('deleted')->eq('0')->fetch(); if($summary->executions == $summary->closedExecutions) $orderBy = 'sortStatus_asc,begin_desc,id_asc'; } } /* Order by status's content whether or not done */ - $executions = $this->dao->select('*, IF(INSTR("done,closed", status) < 2, 0, 1) AS isDone, INSTR("doing,wait,suspended,closed", status) AS sortStatus')->from(TABLE_EXECUTION) + $executions = $this->dao->select("*, IF(INSTR('done,closed', status) < 2, 0, 1) AS isDone, INSTR('doing,wait,suspended,closed', status) AS sortStatus")->from(TABLE_EXECUTION) ->where('deleted')->eq(0) ->andWhere('vision')->eq($this->config->vision) ->beginIF(!$this->session->multiple and $this->app->tab == 'execution')->andWhere('multiple')->eq('1')->fi() @@ -1763,7 +1763,7 @@ class executionModel extends model } else { - return $this->dao->select('*, IF(INSTR(" done,closed", status) < 2, 0, 1) AS isDone')->from(TABLE_EXECUTION) + return $this->dao->select("*, IF(INSTR(' done,closed', status) < 2, 0, 1) AS isDone")->from(TABLE_EXECUTION) ->where('deleted')->eq(0) ->andWhere('vision')->eq($this->config->vision) ->beginIF($type == 'all')->andWhere('type')->in('sprint,stage,kanban')->fi() @@ -1813,7 +1813,7 @@ class executionModel extends model } else { - return $this->dao->select('t1.*, IF(INSTR(" done,closed", t1.status) < 2, 0, 1) AS isDone')->from(TABLE_EXECUTION)->alias('t1') + return $this->dao->select("t1.*, IF(INSTR(' done,closed', t1.status) < 2, 0, 1) AS isDone")->from(TABLE_EXECUTION)->alias('t1') ->leftJoin(TABLE_TEAM)->alias('t2')->on('t2.root=t1.id') ->where('t1.deleted')->eq(0) ->beginIF(!$this->app->user->admin)->andWhere('t1.id')->in($this->app->user->view->sprints)->fi() diff --git a/module/holiday/model.php b/module/holiday/model.php index 4206dad132..f6d4f7096f 100644 --- a/module/holiday/model.php +++ b/module/holiday/model.php @@ -34,7 +34,7 @@ class holidayModel extends model public function getList($year = '', $type = 'all') { return $this->dao->select('*')->from(TABLE_HOLIDAY) - ->where('1') + ->where('1=1') ->beginIf(!empty($year)) ->andWhere('year', true)->eq($year) ->orWhere('begin')->like("$year-%") diff --git a/module/install/lang/de.php b/module/install/lang/de.php index 7221f12766..af424f3c21 100644 --- a/module/install/lang/de.php +++ b/module/install/lang/de.php @@ -121,6 +121,7 @@ $lang->install->chmodLinux = ' "%s" Berechtigung muss geändert werden.
$lang->install->timezone = 'Set Timezone'; $lang->install->defaultLang = 'Standard Sprache'; +$lang->install->dbDriver = 'Database Driver'; $lang->install->dbHost = 'Datenbank Host'; $lang->install->dbHostNote = 'Wenn 127.0.0.1 nicht funktioniert, versuchen Sie localhost.'; $lang->install->dbPort = 'Datenbank Port'; @@ -133,6 +134,10 @@ $lang->install->clearDB = 'Tabellen leeren sofern diese scon existieren.' $lang->install->importDemoData = 'Import Demo Daten'; $lang->install->working = 'Work Mode'; +$lang->install->dbDriverList = array(); +$lang->install->dbDriverList['mysql'] = 'MySQL'; +$lang->install->dbDriverList['dm'] = 'DM8'; + $lang->install->requestTypes['GET'] = 'GET'; $lang->install->requestTypes['PATH_INFO'] = 'PATH_INFO'; diff --git a/module/install/lang/en.php b/module/install/lang/en.php index 22db291309..3b080ad321 100644 --- a/module/install/lang/en.php +++ b/module/install/lang/en.php @@ -121,6 +121,7 @@ $lang->install->chmodLinux = ' "%s" permison has to be changed.
Run install->timezone = 'Set Timezone'; $lang->install->defaultLang = 'Default Language'; +$lang->install->dbDriver = 'Database Driver'; $lang->install->dbHost = 'Database Host'; $lang->install->dbHostNote = 'If 127.0.0.1 is not accessible, try localhost.'; $lang->install->dbPort = 'Host Port'; @@ -133,6 +134,10 @@ $lang->install->clearDB = 'Clean up existing data'; $lang->install->importDemoData = 'Import Demo Data'; $lang->install->working = 'Operation Mode'; +$lang->install->dbDriverList = array(); +$lang->install->dbDriverList['mysql'] = 'MySQL'; +$lang->install->dbDriverList['dm'] = 'DM8'; + $lang->install->requestTypes['GET'] = 'GET'; $lang->install->requestTypes['PATH_INFO'] = 'PATH_INFO'; diff --git a/module/install/lang/fr.php b/module/install/lang/fr.php index 1960c322a2..bc14b41339 100644 --- a/module/install/lang/fr.php +++ b/module/install/lang/fr.php @@ -121,6 +121,7 @@ $lang->install->chmodLinux = 'Les permission de "%s" doivent être modifiées. $lang->install->timezone = 'Set Timezone'; $lang->install->defaultLang = 'Langue par défaut'; +$lang->install->dbDriver = 'Database Driver'; $lang->install->dbHost = 'Database Serveur'; $lang->install->dbHostNote = "If 127.0.0.1 n'est pas accessible, essayez localhost."; $lang->install->dbPort = 'Port Serveur'; @@ -133,6 +134,10 @@ $lang->install->clearDB = 'Nettoyer les données existantes'; $lang->install->importDemoData = 'Importer données de Démo'; $lang->install->working = 'Operation Mode'; +$lang->install->dbDriverList = array(); +$lang->install->dbDriverList['mysql'] = 'MySQL'; +$lang->install->dbDriverList['dm'] = 'DM8'; + $lang->install->requestTypes['GET'] = 'GET'; $lang->install->requestTypes['PATH_INFO'] = 'PATH_INFO'; diff --git a/module/install/lang/vi.php b/module/install/lang/vi.php index 59596a9fab..35bb2fc9e6 100644 --- a/module/install/lang/vi.php +++ b/module/install/lang/vi.php @@ -91,6 +91,7 @@ $lang->install->chmodLinux = ' "%s" permison has to be changed.
Run install->timezone = 'Thiết lập Timezone'; $lang->install->defaultLang = 'Ngôn ngữ mặc định'; +$lang->install->dbDriver = 'Database Driver'; $lang->install->dbHost = 'Database Host'; $lang->install->dbHostNote = 'If 127.0.0.1 không là accessible, try localhost.'; $lang->install->dbPort = 'Host Port'; @@ -103,6 +104,10 @@ $lang->install->clearDB = 'Clean up existing data'; $lang->install->importDemoData = 'Nhập Demo dữ liệu'; $lang->install->working = 'Operation chế độ'; +$lang->install->dbDriverList = array(); +$lang->install->dbDriverList['mysql'] = 'MySQL'; +$lang->install->dbDriverList['dm'] = 'DM8'; + $lang->install->requestTypes['GET'] = 'GET'; $lang->install->requestTypes['PATH_INFO'] = 'PATH_INFO'; diff --git a/module/install/lang/zh-cn.php b/module/install/lang/zh-cn.php index 155ace633e..32515e84cc 100644 --- a/module/install/lang/zh-cn.php +++ b/module/install/lang/zh-cn.php @@ -121,6 +121,7 @@ $lang->install->chmodLinux = '需要修改目录 "%s" 的权限。
命令 $lang->install->timezone = '时区设置'; $lang->install->defaultLang = '默认语言'; +$lang->install->dbDriver = 'Database Driver'; $lang->install->dbHost = '数据库服务器'; $lang->install->dbHostNote = '如果127.0.0.1无法访问,尝试使用localhost'; $lang->install->dbPort = '服务器端口'; @@ -133,6 +134,10 @@ $lang->install->clearDB = '清空现有数据'; $lang->install->importDemoData = '导入demo数据'; $lang->install->working = '工作方式'; +$lang->install->dbDriverList = array(); +$lang->install->dbDriverList['mysql'] = 'MySQL'; +$lang->install->dbDriverList['dm'] = '达梦'; + $lang->install->requestTypes['GET'] = '普通方式'; $lang->install->requestTypes['PATH_INFO'] = '静态友好方式'; diff --git a/module/install/model.php b/module/install/model.php index 9a168b4542..f23e82b155 100644 --- a/module/install/model.php +++ b/module/install/model.php @@ -294,20 +294,20 @@ class installModel extends model return $return; } - /* Get mysql version. */ - $version = $this->getMysqlVersion(); + /* Get database version. */ + $version = $this->getDatabaseVersion(); /* If database no exits, try create it. */ - if(!$this->dbExists()) + if(!$this->dbh->dbExists()) { - if(!$this->createDB($version)) + if(!$this->dbh->createDB($version)) { $return->result = 'fail'; $return->error = $this->lang->install->errorCreateDB; return $return; } } - elseif($this->tableExits() and $this->post->clearDB == false) + elseif($this->dbh->tableExits(TABLE_CONFIG) and $this->post->clearDB == false) { $return->result = 'fail'; $return->error = $this->lang->install->errorTableExists; @@ -333,6 +333,7 @@ class installModel extends model */ public function setDBParam() { + $this->config->db->driver = $this->post->dbDriver; $this->config->db->host = $this->post->dbHost; $this->config->db->name = $this->post->dbName; $this->config->db->user = $this->post->dbUser; @@ -350,15 +351,9 @@ class installModel extends model */ public function connectDB() { - $dsn = "mysql:host={$this->config->db->host}; port={$this->config->db->port}"; try { - $dbh = new PDO($dsn, $this->config->db->user, $this->config->db->password); - $dbh->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_OBJ); - $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); - $dbh->exec("SET NAMES {$this->config->db->encoding}"); - if(isset($this->config->db->strictMode) and $this->config->db->strictMode == false) $dbh->exec("SET @@sql_mode= ''"); - return $dbh; + return new dbh($this->config->db, false); } catch (PDOException $exception) { @@ -367,57 +362,20 @@ class installModel extends model } /** - * Check db exits or not. - * - * @access public - * @return bool - */ - public function dbExists() - { - $sql = "SHOW DATABASES like '{$this->config->db->name}'"; - return $this->dbh->query($sql)->fetch(); - } - - /** - * Check table exits or not. - * - * @access public - * @return void - */ - public function tableExits() - { - $configTable = str_replace('`', "'", TABLE_CONFIG); - $sql = "SHOW TABLES FROM {$this->config->db->name} like $configTable"; - return $this->dbh->query($sql)->fetch(); - } - - /** - * Get mysql version. + * Get database version. * * @access public * @return string */ - public function getMysqlVersion() + public function getDatabaseVersion() { + if($this->config->db->driver != 'mysql') return 8; + $sql = "SELECT VERSION() AS version"; $result = $this->dbh->query($sql)->fetch(); return substr($result->version, 0, 3); } - /** - * Create database. - * - * @param string $version - * @access public - * @return bool - */ - public function createDB($version) - { - $sql = "CREATE DATABASE `{$this->config->db->name}`"; - if($version > 4.1) $sql .= " DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci"; - return $this->dbh->query($sql); - } - /** * Create tables. * @@ -430,7 +388,7 @@ class installModel extends model /* Add exception handling to ensure that all SQL is executed successfully. */ try { - $this->dbh->exec("USE {$this->config->db->name}"); + $this->dbh->useDB($this->config->db->name); $dbFile = $this->app->getAppRoot() . 'db' . DS . 'zentao.sql'; $tables = explode(';', file_get_contents($dbFile)); @@ -465,7 +423,8 @@ class installModel extends model $table = str_replace('`zt_', $this->config->db->name . '.`zt_', $table); $table = str_replace('`ztv_', $this->config->db->name . '.`ztv_', $table); $table = str_replace('zt_', $this->config->db->prefix, $table); - if(!$this->dbh->query($table)) return false; + + $this->dbh->exec($table); } } catch (PDOException $exception) diff --git a/module/install/view/step2.html.php b/module/install/view/step2.html.php index 8036e5d2d5..117ac9f68f 100644 --- a/module/install/view/step2.html.php +++ b/module/install/view/step2.html.php @@ -31,6 +31,10 @@ install->defaultLang;?> langs, $app->getClientLang(), "class='form-control'");?> + + install->dbDriver;?> + install->dbDriverList, 'mysql', "class='form-control'");?> + install->dbHost;?> diff --git a/module/install/view/step3.html.php b/module/install/view/step3.html.php index 8414fa692e..64c142ccf1 100644 --- a/module/install/view/step3.html.php +++ b/module/install/view/step3.html.php @@ -19,6 +19,7 @@ if(!isset($error)) \$config->debug = false; \$config->requestType = '$requestType'; \$config->timezone = '$timezone'; +\$config->db->driver = '$dbDriver'; \$config->db->host = '$dbHost'; \$config->db->port = '$dbPort'; \$config->db->name = '$dbName'; diff --git a/module/product/control.php b/module/product/control.php index 32126a6b54..40a5d1449d 100755 --- a/module/product/control.php +++ b/module/product/control.php @@ -267,7 +267,7 @@ class product extends control { $stories = $this->product->getStories($productID, $branchID, $browseType, $queryID, $moduleID, $storyType, $sort, $pager); } - $queryCondition = $this->dao->get(); + $queryCondition = $this->story->dao->get(); /* Display status of branch. */ $branchOption = array(); diff --git a/module/product/model.php b/module/product/model.php index b4e10cd486..48346ef137 100755 --- a/module/product/model.php +++ b/module/product/model.php @@ -368,7 +368,7 @@ class productModel extends model $views = empty($append) ? $this->app->user->view->products : $this->app->user->view->products . ",$append"; $orderBy = !empty($this->config->product->orderBy) ? $this->config->product->orderBy : 'isClosed'; /* Order by program. */ - return $this->dao->select('t1.*, IF(INSTR(" closed", t1.status) < 2, 0, 1) AS isClosed')->from(TABLE_PRODUCT)->alias('t1') + return $this->dao->select("t1.*, IF(INSTR(' closed', t1.status) < 2, 0, 1) AS isClosed")->from(TABLE_PRODUCT)->alias('t1') ->leftJoin(TABLE_PROGRAM)->alias('t2')->on('t1.program = t2.id') ->where(1) ->beginIF(strpos($mode, 'all') === false)->andWhere('t1.deleted')->eq(0)->fi() @@ -1844,7 +1844,7 @@ class productModel extends model $linePairs = $this->getLinePairs(); foreach($products as $product) $product->lineName = zget($linePairs, $product->line, ''); - $stories = $this->dao->select('product, status, type, count(status) AS count') + $stories = $this->dao->select('product, status, count(status) AS count') ->from(TABLE_STORY) ->where('deleted')->eq(0) ->andWhere('type')->eq('story') @@ -1852,7 +1852,7 @@ class productModel extends model ->groupBy('product, status') ->fetchGroup('product', 'status'); - $requirements = $this->dao->select('product, status, type, count(status) AS count') + $requirements = $this->dao->select('product, status, count(status) AS count') ->from(TABLE_STORY) ->where('deleted')->eq(0) ->andWhere('type')->eq('requirement') diff --git a/module/productplan/model.php b/module/productplan/model.php index 54a8f40caf..7f8ca46b98 100644 --- a/module/productplan/model.php +++ b/module/productplan/model.php @@ -257,7 +257,7 @@ class productplanModel extends model { $this->app->loadLang('branch'); - $date = date('Y-m-d'); + $date = date('Y-m-d'); $branchQuery = ''; if($branch !== '' and $branch != 'all') diff --git a/module/program/model.php b/module/program/model.php index 759e6c8bd8..4684a61e0d 100644 --- a/module/program/model.php +++ b/module/program/model.php @@ -596,7 +596,7 @@ class programModel extends model } $query = str_replace('`id`','t1.id', $this->session->projectQuery); - $projectList = $this->dao->select('distinct t1.*')->from(TABLE_PROJECT)->alias('t1') + $projectList = $this->dao->select('t1.*')->from(TABLE_PROJECT)->alias('t1') ->leftJoin(TABLE_TEAM)->alias('t2')->on('t1.id=t2.root') ->leftJoin(TABLE_STAKEHOLDER)->alias('t3')->on('t1.id=t3.objectID') ->where('t1.deleted')->eq('0') @@ -745,6 +745,7 @@ class programModel extends model ->setDefault('status', 'wait') ->setDefault('openedBy', $this->app->user->account) ->setDefault('parent', 0) + ->setDefault('code', '') ->setDefault('openedDate', helper::now()) ->setIF($this->post->acl == 'open', 'whitelist', '') ->setIF($this->post->delta == 999, 'end', LONG_TIME) @@ -753,7 +754,7 @@ class programModel extends model ->add('type', 'program') ->join('whitelist', ',') ->stripTags($this->config->program->editor->create['id'], $this->config->allowedTags) - ->remove('delta,future,contactListMenu') + ->remove('delta,future,contactListMenu,uid') ->get(); /* Redefines the language entries for the fields in the project table. */ @@ -820,7 +821,7 @@ class programModel extends model ->setIF(!isset($_POST['whitelist']), 'whitelist', '') ->join('whitelist', ',') ->stripTags($this->config->program->editor->edit['id'], $this->config->allowedTags) - ->remove('uid,delta,future,syncPRJUnit,exchangeRate,contactListMenu') + ->remove('id,uid,delta,future,syncPRJUnit,exchangeRate,contactListMenu') ->get(); $program = $this->loadModel('file')->processImgURL($program, $this->config->program->editor->edit['id'], $this->post->uid); diff --git a/module/project/model.php b/module/project/model.php index add0c030e6..a17f9401e6 100644 --- a/module/project/model.php +++ b/module/project/model.php @@ -318,7 +318,7 @@ class projectModel extends model ->andWhere('t2.deleted')->eq(0) ->groupBy('root')->fetchPairs(); - $hours = $this->dao->select('t2.parent as project, ROUND(SUM(t1.consumed), 1) AS consumed, ROUND(SUM(t1.estimate), 1) AS estimate')->from(TABLE_TASK)->alias('t1') + $hours = $this->dao->select('t2.project, ROUND(SUM(t1.consumed), 1) AS consumed, ROUND(SUM(t1.estimate), 1) AS estimate')->from(TABLE_TASK)->alias('t1') ->leftJoin(TABLE_PROJECT)->alias('t2')->on('t1.execution = t2.id') ->where('t2.project')->in($projectIdList) ->andWhere('t2.deleted')->eq(0) @@ -404,7 +404,7 @@ class projectModel extends model ->where('t1.project')->in($projectIdList) ->andWhere('t1.deleted')->eq(0) ->andWhere('t2.deleted')->eq(0) - ->groupBy('project') + ->groupBy('t1.project') ->fetchAll('project'); } @@ -426,12 +426,12 @@ class projectModel extends model ->andWhere('t2.model')->eq('waterfall') ->fetchGroup('project', 'id'); - $totalHour = $this->dao->select('t1.project, t1.execution, ROUND(SUM(if(t1.status !="closed" && t1.status !="cancel", `left`, 0)), 2) AS totalLeft, ROUND(SUM(consumed), 1) AS totalConsumed')->from(TABLE_TASK)->alias('t1') + $totalHour = $this->dao->select("t1.project, t1.execution, ROUND(SUM(if(t1.status !='closed' && t1.status !='cancel', `left`, 0)), 2) AS totalLeft, ROUND(SUM(consumed), 1) AS totalConsumed")->from(TABLE_TASK)->alias('t1') ->leftJoin(TABLE_PROJECT)->alias('t2')->on('t1.execution = t2.id') ->where('t2.project')->in(array_keys($projectList)) ->andWhere('t1.deleted')->eq(0) ->andWhere('t1.parent')->lt(1) - ->groupBy('t1.execution') + ->groupBy('t1.project,t1.execution') ->fetchGroup('project', 'execution'); $progressList = array(); @@ -1254,7 +1254,7 @@ class projectModel extends model ->add('type', 'project') ->join('whitelist', ',') ->stripTags($this->config->project->editor->create['id'], $this->config->allowedTags) - ->remove('products,branch,plans,delta,newProduct,productName,future,contactListMenu,teamMembers') + ->remove('uid,products,branch,plans,delta,newProduct,productName,future,contactListMenu,teamMembers') ->get(); if(!isset($this->config->setCode) or $this->config->setCode == 0) unset($project->code); diff --git a/module/search/model.php b/module/search/model.php index 695a4ab088..0d34609578 100644 --- a/module/search/model.php +++ b/module/search/model.php @@ -1239,7 +1239,7 @@ class searchModel extends model if($testDeleted) $data = $this->dao->select('*')->from($table)->limit(1)->fetch(); $query = $this->dao->select('t1.*')->from($table)->alias('t1') - ->where('1') + ->where('1=1') ->beginIF($type == 'program')->andWhere('type')->eq('program')->fi() ->beginIF($type == 'project')->andWhere('type')->eq('project')->fi() ->beginIF($type == 'execution')->andWhere('type')->in('stage,sprint,kanban')->fi() diff --git a/module/testcase/control.php b/module/testcase/control.php index a7334900f1..2849bf2452 100644 --- a/module/testcase/control.php +++ b/module/testcase/control.php @@ -154,7 +154,7 @@ class testcase extends control } /* save session .*/ - $this->loadModel('common')->saveQueryCondition($this->dao->get(), 'testcase', false); + $this->loadModel('common')->saveQueryCondition($this->testcase->dao->get(), 'testcase', false); /* Process case for check story changed. */ $cases = $this->loadModel('story')->checkNeedConfirm($cases); diff --git a/module/testtask/model.php b/module/testtask/model.php index ca2d2ad3b4..45252a2272 100755 --- a/module/testtask/model.php +++ b/module/testtask/model.php @@ -76,8 +76,7 @@ class testtaskModel extends model $products = $scopeAndStatus[0] == 'all' ? $this->app->user->view->products : array(); $branch = $scopeAndStatus[0] == 'all' ? 'all' : $branch; - $executionNameField = "IF(t5.id IS NOT NULL && t5.multiple = '1', CONCAT(t5.name, ' / ', t3.name), IF(t5.id IS NOT NULL, t5.name, t3.name))"; - return $this->dao->select("t1.*, t5.multiple, IF(t2.shadow = 1, t5.name, t2.name) AS productName, $executionNameField AS executionName, t4.name AS buildName, t4.branch AS branch") + $tasks = $this->dao->select("t1.*, t5.multiple, IF(t2.shadow = 1, t5.name, t2.name) AS productName, t3.name as executionName, t4.name AS buildName, t4.branch AS branch, t5.name AS projectName") ->from(TABLE_TESTTASK)->alias('t1') ->leftJoin(TABLE_PRODUCT)->alias('t2')->on('t1.product = t2.id') ->leftJoin(TABLE_EXECUTION)->alias('t3')->on('t1.execution = t3.id') @@ -106,6 +105,22 @@ class testtaskModel extends model ->orderBy($orderBy) ->page($pager) ->fetchAll('id'); + foreach($tasks as $taskID => $task) + { + if($task->multiple) + { + if($task->projectName and $task->executionName) + { + $tasks[$taskID]->executionName = $task->projectName . '/' . $task->executionName; + } + elseif(!$task->executionName) + { + $tasks[$taskID]->executionName = $task->projectName; + } + } + } + + return $tasks; } /** diff --git a/module/user/model.php b/module/user/model.php index 1074300160..93928f4cc5 100644 --- a/module/user/model.php +++ b/module/user/model.php @@ -100,7 +100,7 @@ class userModel extends model unset($this->config->user->moreLink); $users = $this->dao->select($fields)->from(TABLE_USER) - ->where('1') + ->where('1=1') ->beginIF(strpos($params, 'nodeleted') !== false or empty($this->config->user->showDeleted))->andWhere('deleted')->eq('0')->fi() ->beginIF(strpos($params, 'all') === false)->andWhere('type')->eq($type)->fi() ->beginIF($accounts)->andWhere('account')->in($accounts)->fi()