From 1b765e3dfdf8ab0d38e587a0a8beaee47a60e32c Mon Sep 17 00:00:00 2001
From: jinlin <jinlin>
Date: 星期五, 26 七月 2024 14:08:58 +0800
Subject: [PATCH] 修改

---
 modules/mainPart/src/main/resources/mapper/basicInfo/TyProductModelDao.xml |   40 +++++++++++++++++++++-------------------
 1 files changed, 21 insertions(+), 19 deletions(-)

diff --git a/modules/mainPart/src/main/resources/mapper/basicInfo/TyProductModelDao.xml b/modules/mainPart/src/main/resources/mapper/basicInfo/TyProductModelDao.xml
index 30b878d..344618a 100644
--- a/modules/mainPart/src/main/resources/mapper/basicInfo/TyProductModelDao.xml
+++ b/modules/mainPart/src/main/resources/mapper/basicInfo/TyProductModelDao.xml
@@ -4,28 +4,29 @@
 <mapper namespace="com.zt.life.modules.mainPart.basicInfo.dao.TyProductModelDao">
 
     <select id="getList" resultType="com.zt.life.modules.mainPart.basicInfo.model.TyProductModel">
-        select a.*
-        from product_model_common a
-        <where>
-            a.is_delete = 0
-            <if test="nodeType!=null and nodeType!=''">
-                and a.node_type = ${nodeType}
-                <if test="nodeType==1">
-                    and a.pid = (select src_id from product_model where id = ${pid})
-                </if>
-                <if test="nodeType==2">
-                    and a.id not in (select src_id from product_model where PID = ${pid})
-                </if>
-            </if>
-        </where>
-        <if test="orderBySql!=null">
-            ORDER BY ${orderBySql}
-        </if>
+        SELECT PMC.*
+        FROM product_model_common PMC
+                 JOIN (SELECT product_type, src_id
+                       FROM product_model
+                       WHERE id = ${pid} AND is_delete = 0) AS PM ON TRUE
+        WHERE PMC.is_delete = 0
+          AND (
+                    PM.product_type = 3
+                    AND (CASE WHEN pm.src_id IS NULL THEN node_type > 3 ELSE pid IN (src_id) END)
+                OR (
+                            PM.product_type != 3
+                            AND (CASE WHEN pm.src_id IS NULL THEN pid IS NULL ELSE pid IN (src_id) END)
+                        )
+            )
+        ORDER BY PMC.node_type,
+                 PMC.sort;
     </select>
     <select id="getProductList" resultType="com.zt.life.modules.mainPart.basicInfo.model.TyProductModel">
-        select a.name,a.id
+        select a.name, a.id
         from product_model_common a
-        where a.is_delete =0 and a.node_type != 1
+        where a.is_delete = 0
+          and a.node_type &lt;&gt; 1
+        ORDER BY node_type, sort
     </select>
     <select id="getNo" resultType="java.lang.Integer">
         SELECT COUNT(*)
@@ -38,6 +39,7 @@
             <if test="pid==null">
                 and pid is null
             </if>
+            and node_type =${nodeType}
         </where>
         Group by node_type
     </select>

--
Gitblit v1.9.1