From 3f7dad161dfcfe7fc722ee1add1544d6fc68e61e Mon Sep 17 00:00:00 2001 From: sunguangming Date: Thu, 10 Oct 2024 02:05:51 +0000 Subject: [PATCH] * [task#130092,done,1h] add upgrade logic. --- module/upgrade/config/upgradeflow.php | 1 + module/upgrade/model.php | 30 +++++++++++++++++++++++++++ 2 files changed, 31 insertions(+) diff --git a/module/upgrade/config/upgradeflow.php b/module/upgrade/config/upgradeflow.php index bc83527b1b..44934c54cd 100644 --- a/module/upgrade/config/upgradeflow.php +++ b/module/upgrade/config/upgradeflow.php @@ -103,6 +103,7 @@ $config->upgrade->execFlow['20_3_0'] = array('functions' => 'importBuildinW $config->upgrade->execFlow['20_4'] = array('functions' => 'createDefaultDoclibSpace,updateStoryVerifiedDate,xuanNotifyJitsiConference', 'xxsqls' => "$appRoot/db/upgradexuanxuan7.3.sql,$appRoot/db/upgradexuanxuan9.0.sql"); $config->upgrade->execFlow['20_5'] = array('functions' => 'fixWorkflowFieldOptions'); $config->upgrade->execFlow['20_6'] = array('functions' => 'processDemandFiles,processSqlbuilderTables'); +$config->upgrade->execFlow['20_7_1'] = array('functions' => 'processWorkflowGroups'); if(!empty($config->isINT)) { diff --git a/module/upgrade/model.php b/module/upgrade/model.php index 270ac82400..3eccdd406c 100644 --- a/module/upgrade/model.php +++ b/module/upgrade/model.php @@ -9994,4 +9994,34 @@ class upgradeModel extends model } return !dao::isError(); } + + /** + * 历史产品、项目绑定默认工作流模板。 + * + * @access public + * @return void + */ + public function processWorkflowGroups() + { + $workflowGroups = $this->dao->select('code, id')->from(TABLE_WORKFLOWGROUP)->where('main')->eq('1')->fetchPairs(); + + foreach($workflowGroups as $code => $groupID) + { + if($code == 'productproject') + { + $this->dao->update(TABLE_PRODUCT)->set('workflowGroup')->eq($groupID)->exec(); + } + else + { + $this->dao->update(TABLE_PROJECT) + ->set('workflowGroup')->eq($groupID) + ->where('type')->eq('project') + ->beginIF($code == 'scrumproduct')->andWhere('model')->eq('scrum')->andWhere('hasProduct')->eq('1')->fi() + ->beginIF($code == 'scrumproject')->andWhere('model')->eq('scrum')->andWhere('hasProduct')->eq('0')->fi() + ->beginIF($code == 'waterfallproduct')->andWhere('model')->eq('waterfall')->andWhere('hasProduct')->eq('1')->fi() + ->beginIF($code == 'waterfallproject')->andWhere('model')->eq('waterfall')->andWhere('hasProduct')->eq('0')->fi() + ->exec(); + } + } + } }