From abbe30163f1656d762b986020bf1d601d2ef259c Mon Sep 17 00:00:00 2001 From: wangyuting Date: Tue, 27 May 2025 05:42:17 +0000 Subject: [PATCH] * Optimize code. --- lib/base/dao/dao.class.php | 6 +++--- module/product/model.php | 6 ++++++ 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/lib/base/dao/dao.class.php b/lib/base/dao/dao.class.php index 70e945d33d..5ef6316aec 100644 --- a/lib/base/dao/dao.class.php +++ b/lib/base/dao/dao.class.php @@ -873,7 +873,7 @@ class baseDAO { $alias = preg_match("/`$table`\s+as\s+(\w+)/i", $sql, $matches) ? $matches[1] : ''; - $replace = $alias ? "wHeRe ($alias.`isTpl` = '0' OR $alias.`isTpl` IS NULL) AND" : "wHeRe `isTpl` = '0' AND"; + $replace = $alias ? "wHeRe $alias.`isTpl` = '0' AND" : "wHeRe `isTpl` = '0' AND"; $sql = str_ireplace("wHeRe", $replace, $sql); } else @@ -886,7 +886,7 @@ class baseDAO if(strpos($sql, "`$table`") !== false) { $alias = preg_match("/`$table`\s+as\s+(\w+)/i", $sql, $mainMatches) ? $mainMatches[1] : ''; - $replace = $alias ? "wHeRe ($alias.`isTpl` = '0' OR $alias.`isTpl` IS NULL) AND" : "wHeRe `isTpl` = '0' AND"; + $replace = $alias ? "wHeRe $alias.`isTpl` = '0' AND" : "wHeRe `isTpl` = '0' AND"; $sql = str_ireplace("wHeRe", $replace, $sql); } @@ -895,7 +895,7 @@ class baseDAO if(strpos($sql, "`$table`") !== false && !preg_match("/`isTpl`\s*=\s*('1'|1)/", $subSQL)) { $alias = preg_match("/`$table`\s+as\s+(\w+)/i", $subSQL, $subMatches) ? $subMatches[1] : ''; - $replace = $alias ? "wHeRe ($alias.`isTpl` = '0' OR $alias.`isTpl` IS NULL) AND" : "wHeRe `isTpl` = '0' AND"; + $replace = $alias ? "wHeRe $alias.`isTpl` = '0' AND" : "wHeRe `isTpl` = '0' AND"; $subSQL = str_ireplace("wHeRe", $replace, $subSQL); } $sql = str_ireplace("$$index", $subSQL, $sql); diff --git a/module/product/model.php b/module/product/model.php index 631c7670fb..9f02124a1d 100755 --- a/module/product/model.php +++ b/module/product/model.php @@ -1633,6 +1633,12 @@ class productModel extends model ->beginIF($status == 'involved')->leftJoin(TABLE_PROJECTPRODUCT)->alias('t3')->on('t3.product = t1.id')->fi() ->beginIF($status == 'involved')->leftJoin(TABLE_TEAM)->alias('t4')->on("t4.root = t3.project and t4.type='project'")->fi() ->where('t1.deleted')->eq(0) + ->beginIF(!$programID) + ->andWhere('(t2.`isTpl`')->eq('0') + ->orWhere('t2.`isTpl`')->eq('1') + ->orWhere('t2.`isTpl`')->isNULL() + ->markRight(1) + ->fi() ->beginIF($shadow !== 'all')->andWhere('t1.shadow')->eq((int)$shadow)->fi() ->beginIF($programID)->andWhere('t1.program')->eq($programID)->fi() ->beginIF($line > 0)->andWhere('t1.line')->eq($line)->fi()