From d8d39e6f5129cf2fe48b061ef291cd497d6cfb73 Mon Sep 17 00:00:00 2001 From: wangyidong Date: Sat, 12 Oct 2024 16:36:10 +0800 Subject: [PATCH] * [perf story #67964] Add groupID for work flow. --- framework/control.class.php | 15 +++++++-------- framework/model.class.php | 2 +- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/framework/control.class.php b/framework/control.class.php index 18780034c9..13f99e4cde 100644 --- a/framework/control.class.php +++ b/framework/control.class.php @@ -527,11 +527,11 @@ class control extends baseControl $moduleName = $moduleName ? $moduleName : $this->app->rawModule; $methodName = $methodName ? $moduleName : $this->app->rawMethod; - $flow = $this->loadModel('workflow')->getByModule($moduleName); + $groupID = $this->loadModel('workflowgroup')->getGroupIDByData($moduleName, $object); + $flow = $this->loadModel('workflow')->getByModule($moduleName, false, $groupID); if(!$flow) return $fields; - $groupID = $this->loadModel('workflowgroup')->getGroupIDByData($moduleName, $object); - $action = $this->loadModel('workflowaction')->getByModuleAndAction($flow->module, $methodName, $groupID); + $action = $this->loadModel('workflowaction')->getByModuleAndAction($flow->module, $methodName, $groupID); if(!$action || $action->extensionType != 'extend') return $fields; $uiID = $this->loadModel('workflowlayout')->getUIByData($flow->module, $action->action, $object); @@ -561,7 +561,6 @@ class control extends baseControl $flow = $this->loadModel('workflow')->getByModule($moduleName, false, $groupID); if(!$flow) return ''; - $groupID = $this->loadModel('workflowgroup')->getGroupIDByData($moduleName, $object); $action = $this->loadModel('workflowaction')->getByModuleAndAction($flow->module, $methodName, $groupID); if(!$action || $action->extensionType == 'none') return ''; @@ -602,14 +601,14 @@ class control extends baseControl $this->loadModel('flow'); $this->loadModel('workflowfield'); - $flow = $this->loadModel('workflow')->getByModule($moduleName); + $groupID = $this->loadModel('workflowgroup')->getGroupIDByData($moduleName, $object); + $flow = $this->loadModel('workflow')->getByModule($moduleName, false, $groupID); if(!$flow) return array(); - $action = $this->loadModel('workflowaction')->getByModuleAndAction($flow->module, $methodName); + $action = $this->loadModel('workflowaction')->getByModuleAndAction($flow->module, $methodName, $groupID); if(!$action || $action->extensionType != 'extend') return array(); - $groupID = $this->loadModel('workflowgroup')->getGroupIDByData($moduleName, $object); - $uiID = is_object($object) ? $this->loadModel('workflowlayout')->getUIByData($flow->module, $action->action, $object) : 0; + $uiID = is_object($object) ? $this->loadModel('workflowlayout')->getUIByData($flow->module, $action->action, $object) : 0; $wrapControl = array('textarea', 'richtext', 'file'); $fieldList = $this->workflowaction->getPageFields($flow->module, $action->action, true, $object, $uiID, $groupID); diff --git a/framework/model.class.php b/framework/model.class.php index 009f36a185..fc17aa518e 100644 --- a/framework/model.class.php +++ b/framework/model.class.php @@ -410,7 +410,7 @@ class model extends baseModel } } - $flow = $this->loadModel('workflow')->getByModule($moduleName); + $flow = $this->loadModel('workflow')->getByModule($moduleName, false, $groupID); if($flow && $action) return $this->loadModel('workflowhook')->execute($flow, $action, $objectID); }