Selaa lähdekoodia

规则入参增加检索参数

gaodm 3 vuotta sitten
vanhempi
commit
427e29e9ad
1 muutettua tiedostoa jossa 84 lisäystä ja 0 poistoa
  1. 84 0
      src/main/resources/mapper/KlRuleMapper.xml

+ 84 - 0
src/main/resources/mapper/KlRuleMapper.xml

@@ -622,15 +622,21 @@
         t1.gmt_modified AS gmtModified
         FROM
         kl_rule t1,
+        kl_rule_search t3,
         kl_concept t4
         WHERE
         t1.is_deleted = "N"
+        AND t3.is_deleted = "N"
+        AND t3.id = t1.id
         AND t4.is_deleted = "N"
         AND t1.concept_id = t4.id
         AND t1. STATUS = 1
         AND t4. STATUS = 1
         AND t4.lib_type BETWEEN 100
         AND 299
+        <if test="description!=null and description!=''">
+            AND UPPER(t1.description) LIKE CONCAT('%', UPPER(trim(#{description})), '%')
+        </if>
         <if test="libName!=null and libName!=''">
             AND UPPER(t4.lib_name) LIKE CONCAT('%', UPPER(trim(#{libName})), '%')
         </if>
@@ -651,12 +657,15 @@
         t1.gmt_modified AS gmtModified
         FROM
         kl_rule t1,
+        kl_rule_search t3,
         kl_concept t4,
         kl_relation t10,
         kl_concept t11
         WHERE
         t1.is_deleted = "N"
         AND t4.is_deleted = "N"
+        AND t3.is_deleted = "N"
+        AND t3.id = t1.id
         AND t1.concept_id = t4.id
         AND t1. STATUS = 1
         AND t4. STATUS = 1
@@ -671,6 +680,9 @@
         AND t11.is_deleted = "N"
         AND t10. STATUS = 1
         AND t11. STATUS = 1
+        <if test="description!=null and description!=''">
+            AND UPPER(t1.description) LIKE CONCAT('%', UPPER(trim(#{description})), '%')
+        </if>
         <if test="libName!=null and libName!=''">
             AND UPPER(t11.lib_name) LIKE CONCAT('%', UPPER(trim(#{libName})), '%')
         </if>
@@ -681,6 +693,78 @@
             AND t1.rule_type = #{ruleType}
         </if>
         ) t12
+        <if test="(baseLibType!=null) or (baseLibName!=null and baseLibName!='')">
+            INNER JOIN
+            (SELECT
+            t1.id AS ruleId,
+            t3.id AS ruleBaseId,
+            t5.lib_name AS baseLibName,
+            t5.lib_type AS baseLibType,
+            t3.type AS baseType
+            FROM
+            kl_rule_search t1,
+            kl_rule_condition t2,
+            kl_rule_base t3,
+            kl_concept t5
+            WHERE
+            t3.is_deleted = "N"
+            AND t5.is_deleted = "N"
+            AND t1.is_deleted = "N"
+            AND t2.is_deleted = "N"
+            AND t1.id = t2.rule_base_id
+            AND t2.rule_base_id = t3.id
+            AND t3. STATUS = 1
+            AND t5. STATUS = 1
+            AND t3.concept_id = t5.id
+            <if test="baseLibName!=null and baseLibName!=''">
+                AND UPPER(t5.lib_name) LIKE CONCAT('%', UPPER(trim(#{baseLibName})), '%')
+            </if>
+            <if test="baseLibType !=null">
+                AND t5.lib_type = #{baseLibType}
+            </if>
+            AND (t5.lib_type BETWEEN 100 AND 299
+            OR t5.lib_type= 410)
+            UNION ALL
+            SELECT
+            t1.id AS ruleId,
+            t3.id AS ruleBaseId,
+            t11.lib_name AS baseLibName,
+            t11.lib_type AS baseLibType,
+            t3.type AS baseType
+            FROM
+            kl_rule_search t1,
+            kl_rule_condition t2,
+            kl_rule_base t3,
+            kl_concept t5,
+            kl_relation t10,
+            kl_concept t11
+            WHERE
+            t3.is_deleted = "N"
+            AND t5.is_deleted = "N"
+            AND t1.is_deleted = "N"
+            AND t2.is_deleted = "N"
+            AND t1.id = t2.rule_base_id
+            AND t2.rule_base_id = t3.id
+            AND t3. STATUS = 1
+            AND t5. STATUS = 1
+            AND t3.concept_id = t5.id
+            AND t5.lib_type BETWEEN 300 AND 399
+            AND t10.start_id = t5.id
+            AND t10.relation_id = 600
+            AND t10.end_id = t11.id
+            <if test="baseLibName!=null and baseLibName!=''">
+                AND UPPER(t11.lib_name) LIKE CONCAT('%', UPPER(trim(#{baseLibName})), '%')
+            </if>
+            <if test="baseLibType !=null">
+                AND t11.lib_type = #{baseLibType}
+            </if>
+            AND (t11.lib_type BETWEEN 100 AND 299
+            OR t11.lib_type = 410)
+            AND t10.is_deleted = "N"
+            AND t11.is_deleted = "N"
+            AND t10. STATUS = 1
+            AND t11. STATUS = 1) t13 ON t12.ruleId = t13.ruleId
+        </if>
         ORDER BY
         t12.conceptId,
         t12.ruleType,