Merge branch 'release/zentaopms_18.3' into 'master'

Handle upgrade SQL and upgrade programs.

See merge request easycorp/zentaopms!7287
This commit is contained in:
王怡栋
2023-04-03 02:15:22 +00:00
4 changed files with 62 additions and 54 deletions
+50
View File
@@ -79,3 +79,53 @@ UPDATE `zt_chart` SET `settings` = '{\"group\":[],\"column\":[\r\n{\"field\":\"t
UPDATE `zt_chart` SET `sql` = 'SELECT IF(t3.id IS NOT NULL, t3.`name`, \'空\') AS deptName,count(1) as count, \r\nIF(t3.id IS NOT NULL, t3.`order`, 9999) AS deptOrder \r\nFROM `zt_user` AS t1 \r\nLEFT JOIN `zt_dept` AS t2 ON t1.dept = t2.id\r\nLEFT JOIN `zt_dept` AS t3 ON FIND_IN_SET(TRIM(\',\' FROM t3.path), TRIM(\',\' FROM t2.path)) AND t3.grade = \'1\'\r\nWHERE t1.deleted = \'0\'\r\nGROUP BY deptName, deptOrder \r\nORDER BY deptOrder ASC' WHERE `id` = '1049';
UPDATE `zt_chart` SET `sql` = 'SELECT\r\n t1.`year`,\r\n t2.id,\r\n t2.name\r\nFROM\r\n ( SELECT DISTINCT YEAR ( `date` ) AS \'year\' FROM zt_action ) AS t1\r\n LEFT JOIN (\r\n SELECT\r\n id, name,\r\n YEAR ( closedDate ) AS `year` \r\n FROM\r\n zt_project \r\n WHERE\r\n `type` = \'project\' \r\n AND deleted = \'0\' \r\n ) t2 ON t1.`year` = t2.`year` \r\n WHERE t2.id IS NOT NULL' WHERE `id` = '1066';
UPDATE `zt_chart` SET `sql` = 'SELECT\r\n t1.name AS topProgram,t1.id,t2.`year`,\r\n SUM(IF((t3.`status` = \'closed\'), 1, 0)) as projectA,\r\n SUM(IFNULL(t4.execution, 0)) as executionA,\r\n SUM(IFNULL(t6.`release`, 0)) AS \'release\',\r\n SUM(IFNULL(t7.story, 0)) AS story,\r\n SUM(IFNULL(t8.bug, 0)) AS bug\r\nFROM zt_project AS t1\r\nLEFT JOIN (SELECT DISTINCT YEAR(`date`) as \'year\' FROM zt_action) as t2 ON 1 = 1\r\nLEFT JOIN zt_project AS t3 ON FIND_IN_SET(t1.id, t3.path) and t3.type = \'project\' AND YEAR(t3.closedDate) = t2.`year`\r\nLEFT JOIN (SELECT COUNT(1) AS \'execution\', parent,YEAR(closedDate) AS `year` FROM zt_project WHERE type IN (\'sprint\', \'stage\', \'kanban\') AND `status` = \'closed\' GROUP BY `year`, parent) AS t4 ON t3.id = t4.parent AND t4.`year` = t2.`year`\r\nLEFT JOIN (SELECT id,program FROM zt_product WHERE deleted = \'0\') AS t5 ON t1.id = t5.program\r\nLEFT JOIN (SELECT COUNT(1) as \'release\', product, YEAR(`date`) as `year` FROM zt_release WHERE deleted = \'0\' GROUP BY product, `year`) AS t6 ON t5.id = t6.product AND t6.`year` = t2.`year`\r\nLEFT JOIN (SELECT COUNT(1) as \'story\', product, YEAR(closedDate) as `year` FROM zt_story WHERE deleted = \'0\' AND closedReason = \'done\' AND status = \'closed\' GROUP BY product, `year`) AS t7 on t5.id = t7.product AND t7.`year` = t2.`year`\r\nLEFT JOIN (SELECT COUNT(1) as \'bug\', product, YEAR(resolvedDate) as `year` FROM zt_bug WHERE deleted = \'0\' AND resolution = \'fixed\' AND status = \'closed\' GROUP BY product, `year`) AS t8 on t5.id = t8.product AND t8.`year` = t2.`year`\r\nWHERE t1.type = \'program\' AND t1.grade = 1 AND t1.deleted = \'0\'\r\nGROUP BY t1.name,t1.id,t2.`year`' WHERE `id` = '1074';
/* Doc SQL. */
UPDATE `zt_doc` SET `type` = 'text' WHERE `type` = 'url';
UPDATE `zt_doc` SET `acl` = 'private' WHERE `acl` = 'custom';
UPDATE `zt_doc` SET `status` = 'normal' WHERE `status` = '';
UPDATE `zt_doclib` SET `acl` = 'private' WHERE `type` = 'custom' and `acl` = 'custom';
UPDATE `zt_doclib` SET `acl` = 'private' WHERE `type` = 'product' AND `acl` = 'custom';
UPDATE `zt_doclib` SET `acl` = 'private' WHERE `type` = 'execution' AND `acl` = 'custom';
UPDATE `zt_doclib` SET `acl` = 'private' WHERE `type` = 'project' AND `acl` = 'custom';
UPDATE `zt_doclib` SET `acl` = 'default' WHERE `type` = 'project' AND `acl` IN ('open', 'private');
UPDATE `zt_doclib` SET `acl` = 'private' WHERE `type` = 'api' and `acl` = 'custom';
UPDATE `zt_doclib` SET `acl` = 'default' WHERE `type` = 'api' and `acl` = 'open';
UPDATE `zt_doclib` SET `acl` = 'default' WHERE `main` = '1';
ALTER TABLE `zt_doclib` ADD `addedBy` varchar(30) NOT NULL AFTER `order`;
ALTER TABLE `zt_doclib` ADD `addedDate` datetime NOT NULL AFTER `addedBy`;
ALTER TABLE `zt_doc` CHANGE `status` `status` varchar(30) COLLATE 'utf8_general_ci' NOT NULL DEFAULT 'normal';
/* Update doc lib. */
UPDATE zt_doclib AS t1
INNER JOIN (SELECT * FROM zt_action WHERE `objectType` = 'doclib' AND `action` = 'created') AS t2 ON t1.`id` = t2.`objectID`
SET t1.`addedDate` = t2.`date`, t1.`addedBy` = t2.`actor`;
UPDATE zt_doclib AS t1
INNER JOIN (SELECT * FROM zt_action WHERE `objectType` = 'docLib' AND `action` = 'Created') AS t2 ON t1.`id` = t2.`objectID`
SET t1.`addedDate` = t2.`date`, t1.`addedBy` = t2.`actor`;
/* Update the product master library. */
UPDATE zt_doclib AS t1
INNER JOIN zt_product AS t2 ON t1.`product` = t2.`id`
SET t1.`addedDate` = t2.`createdDate`, t1.`addedBy` = t2.`createdBy`
WHERE t1.`type` = 'product' AND t1.`main` = '1';
/* Update the project master library. */
UPDATE zt_doclib AS t1
INNER JOIN zt_project AS t2 ON t1.`project` = t2.`id`
SET t1.`addedDate` = t2.`openedDate`, t1.`addedBy` = t2.`openedBy`
WHERE t1.`type` = 'project' AND t1.`main` = '1';
/* Update the execution master library. */
UPDATE zt_doclib AS t1
INNER JOIN zt_project AS t2 ON t1.`execution` = t2.`id`
SET t1.`addedDate` = t2.`openedDate`, t1.`addedBy` = t2.`openedBy`
WHERE t1.`type` = 'execution' AND t1.`main` = '1';
UPDATE zt_doclib AS t1
LEFT JOIN zt_project t2 ON t1.`execution` = t2.`id`
SET t1.`project` = t2.`project`
WHERE t1.`type` = 'execution' AND t1.`project` = '0' AND t2.`project` != '0';
-48
View File
@@ -1,48 +0,0 @@
UPDATE `zt_doc` SET `type` = 'text' WHERE `type` = 'url';
UPDATE `zt_doc` SET `acl` = 'private' WHERE `acl` = 'custom';
UPDATE `zt_doc` SET `status` = 'normal' WHERE `status` = '';
UPDATE `zt_doclib` SET `acl` = 'private' WHERE `type` = 'custom' and `acl` = 'custom';
UPDATE `zt_doclib` SET `acl` = 'private' WHERE `type` = 'product' AND `acl` = 'custom';
UPDATE `zt_doclib` SET `acl` = 'private' WHERE `type` = 'execution' AND `acl` = 'custom';
UPDATE `zt_doclib` SET `acl` = 'private' WHERE `type` = 'project' AND `acl` = 'custom';
UPDATE `zt_doclib` SET `acl` = 'default' WHERE `type` = 'project' AND `acl` IN ('open', 'private');
UPDATE `zt_doclib` SET `acl` = 'private' WHERE `type` = 'api' and `acl` = 'custom';
UPDATE `zt_doclib` SET `acl` = 'default' WHERE `type` = 'api' and `acl` = 'open';
UPDATE `zt_doclib` SET `acl` = 'default' WHERE `main` = '1';
ALTER TABLE `zt_doclib` ADD `addedBy` varchar(30) NOT NULL AFTER `order`;
ALTER TABLE `zt_doclib` ADD `addedDate` datetime NOT NULL AFTER `addedBy`;
ALTER TABLE `zt_doc` CHANGE `status` `status` varchar(30) COLLATE 'utf8_general_ci' NOT NULL DEFAULT 'normal';
/* Update doc lib. */
UPDATE zt_doclib AS t1
INNER JOIN (SELECT * FROM zt_action WHERE `objectType` = 'doclib' AND `action` = 'created') AS t2 ON t1.`id` = t2.`objectID`
SET t1.`addedDate` = t2.`date`, t1.`addedBy` = t2.`actor`;
UPDATE zt_doclib AS t1
INNER JOIN (SELECT * FROM zt_action WHERE `objectType` = 'docLib' AND `action` = 'Created') AS t2 ON t1.`id` = t2.`objectID`
SET t1.`addedDate` = t2.`date`, t1.`addedBy` = t2.`actor`;
/* Update the product master library. */
UPDATE zt_doclib AS t1
INNER JOIN zt_product AS t2 ON t1.`product` = t2.`id`
SET t1.`addedDate` = t2.`createdDate`, t1.`addedBy` = t2.`createdBy`
WHERE t1.`type` = 'product' AND t1.`main` = '1';
/* Update the project master library. */
UPDATE zt_doclib AS t1
INNER JOIN zt_project AS t2 ON t1.`project` = t2.`id`
SET t1.`addedDate` = t2.`openedDate`, t1.`addedBy` = t2.`openedBy`
WHERE t1.`type` = 'project' AND t1.`main` = '1';
/* Update the execution master library. */
UPDATE zt_doclib AS t1
INNER JOIN zt_project AS t2 ON t1.`execution` = t2.`id`
SET t1.`addedDate` = t2.`openedDate`, t1.`addedBy` = t2.`openedBy`
WHERE t1.`type` = 'execution' AND t1.`main` = '1';
UPDATE zt_doclib AS t1
LEFT JOIN zt_project t2 ON t1.`execution` = t2.`id`
SET t1.`project` = t2.`project`
WHERE t1.`type` = 'execution' AND t1.`project` = '0' AND t2.`project` != '0';
+9 -6
View File
@@ -54,7 +54,6 @@ i.btn-info, i.btn-info:hover {border: none; background: #fff; box-shadow: unset;
<?php
/* Release used for api space. */
js::set('release', isset($release) ? $release : 0);
js::set('libid', $libID);
js::set('versionLang', $lang->build->common);
@@ -165,13 +164,15 @@ $(function()
}
else
{
var libId;
var $lis = '<li><a href="###" data-id=0>' + versionLang + '</a></li>';
for(i = 0; i< versions.length; i++)
{
var version = versions[i];
$lis += '<li><a href="###" data-id="' + version.id + '">' + version.version+ '</a></li>';
$lis += '<li><a href="###" data-id="' + version.id + '">' + version.version+ '</a></li>';
libId = version.lib;
}
var $dropdown = '<ul id="versionSwitcher" class="dropdown-menu dropdown-in-tree" style="display: unset; left:' + option.left + 'px; top:' + option.top + 'px;">';
var $dropdown = '<ul id="versionSwitcher" data-lib-id = "' + libId + '" class="dropdown-menu dropdown-in-tree" style="display: unset; left:' + option.left + 'px; top:' + option.top + 'px;">';
$dropdown += $lis;
$dropdown += '</ul>';
}
@@ -204,7 +205,7 @@ $(function()
var libClass = ['lib', 'annex', 'api', 'execution'].indexOf(objectType) !== -1 ? 'lib' : '';
var hasChild = item.children ? !!item.children.length : false;
var link = item.type != 'execution' || item.hasAction ? '###' : '#';
var $item = '<a href="' + link + '" style="position: relative" data-has-children="' + hasChild + '" title="' + item.name + '" data-id="' + item.id + '" class="' + libClass + '" data-type="' + item.type + '" data-action="' + item.hasAction + '">';
var $item = '<a href="' + link + '" style="position: relative" data-has-children="' + hasChild + '" title="' + item.name + '" data-id="' + item.id + '" class="' + libClass + '" data-type="' + item.type + '" data-action="' + (item.hasAction||'') + '">';
$item += '<div class="text h-full w-full flex-start overflow-hidden">';
if(libClass == 'lib') $item += '<div class="img-lib" style="background-image:url(static/svg/' + imgObj[item.type || 'lib'] + '.svg)"></div>';
@@ -330,7 +331,7 @@ $(function()
$(this).removeClass('show-icon');
}).on('click', 'a', function()
{
if(!$(this).data('action')) return;
if(!$(this).data('action') && $(this).data('type') !== 'annex') return;
var isLib = $(this).hasClass('lib');
var moduleID = $(this).data('id');
var libID = 0;
@@ -347,6 +348,7 @@ $(function()
libID = $(this).closest('.lib').data('id');
}
console.log(libID, moduleID);
return lcatePage(libID, moduleID, $(this).data('type'));
});
@@ -461,7 +463,8 @@ $(function()
}
}).on('click', '#versionSwitcher a', function()
{
linkParams = linkParams.replace('%s', '&libID=' + libid + '&moduleID=0&apiID=0&version=0&release=' + $(this).data('id'));
var $item = $(this);
linkParams = linkParams.replace('%s', '&libID=' + $item.closest('ul').data('libId') + '&moduleID=0&apiID=0&version=0&release=' + $item.data('id'));
location.href = createLink(config.currentModule, 'index', linkParams);
}).on('blur', '.file-tree input.input-tree', function()
{
+3
View File
@@ -593,6 +593,9 @@ class upgradeModel extends model
case '18_2':
$this->loadModel('setting')->setSN();
break;
case '18_3':
$this->changeBookToCustomLib();
break;
}
$this->deletePatch();