From 87ac5870c8ba787f98019ae487c5b13eea056587 Mon Sep 17 00:00:00 2001 From: wangyidong Date: Wed, 9 Apr 2025 16:17:58 +0800 Subject: [PATCH] * [perf story #72333] Check legally date for pre level. --- module/programplan/zen.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/module/programplan/zen.php b/module/programplan/zen.php index ce8d144b25..65845739ef 100644 --- a/module/programplan/zen.php +++ b/module/programplan/zen.php @@ -69,6 +69,7 @@ class programplanZen extends programplan } $totalPercent = 0; + $lastLevels = array(); $names = $codes = array(); $plans = form::batchData($fields)->get(); $orders = $this->programplan->computeOrders(array(), $plans); @@ -110,6 +111,9 @@ class programplanZen extends programplan if(!empty($plan->code)) $codes[] = $plan->code; $this->checkLegallyDate($plan, $project, !empty($parentStage) ? $parentStage : null, $rowID); + + $lastLevels[$plan->level] = $plan; + if($plan->level > 0) $this->checkLegallyDate($plan, $project, zget($lastLevels, $plan->level - 1, null), $rowID); } if(!empty($this->config->setPercent) and $totalPercent > 100) dao::$errors["percent[$rowID]"] = $this->lang->programplan->error->percentOver; return $plans;