From a28c894d35b5ca697bfe455c2d584c7f28ec3722 Mon Sep 17 00:00:00 2001
From: lige <bestlige@outlook.com>
Date: 星期五, 15 十二月 2023 15:51:59 +0800
Subject: [PATCH] 优化项目列表

---
 ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjProjectMapper.java |   18 ++++++++++++++++++
 1 files changed, 18 insertions(+), 0 deletions(-)

diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjProjectMapper.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjProjectMapper.java
index 1a3fd1f..0d20f6b 100644
--- a/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjProjectMapper.java
+++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjProjectMapper.java
@@ -103,4 +103,22 @@
     @Select("SELECT c.* FROM tj_package a LEFT JOIN tj_package_project b ON a.pac_id=b.pac_id LEFT JOIN " +
             "tj_project c ON b.pro_id=c.pro_id  WHERE a.pac_id=#{pacId} and c.deleted=0")
     List<TjProject> getTjParentProjectListByPacId(String pacId);
+
+    @Select("SELECT DISTINCT d.* from (\n" +
+            "\tSELECT  * FROM `tj_project` a\n" +
+            "\twhere  a.pro_parent_id=0 \n" +
+            "\tand (case WHEN #{proName} is NOt NULL THEN a.pro_name like concat('%',#{proName},'%') ELSE 1=1 END)\n" +
+            "\tand (case WHEN #{checkType} is NOt NULL THEN a.pro_check_type=#{checkType} ELSE 1=1 END)\n" +
+            "\tand (case WHEN #{deptId} is NOt NULL THEN a.dept_id=#{deptId} ELSE 1=1 END)\n" +
+            "UNION  \n" +
+            "\tSELECT b.* FROM `tj_project` b JOIN(\n" +
+            "\tSELECT * FROM `tj_project` a\n" +
+            "\twhere a.pro_parent_id!=0\n" +
+            "\tand (case WHEN #{proName} is NOt NULL THEN a.pro_name like concat('%',#{proName},'%') ELSE 1=1 END)\n" +
+            "\tand (case WHEN #{checkType} is NOt NULL THEN a.pro_check_type=#{checkType} ELSE 1=1 END)\n" +
+            "\tand (case WHEN #{deptId} is NOt NULL THEN a.dept_id=#{deptId} ELSE 1=1 END)\n" +
+            ") c\n" +
+            "on c.pro_parent_id=b.pro_id\n" +
+            ") d\n")
+    List<TjProject> getProBySqlAndName(@Param("proName")String proName,@Param("checkType")String checkType,@Param("deptId")String deptId);
 }

--
Gitblit v1.8.0