ZHIHAO HU 4 лет назад
Родитель
Сommit
b4c33443bb
1 измененных файлов с 72 добавлено и 69 удалено
  1. 72 69
      src/main/resources/mapper/sys/ActivityRegistrationDao.xml

+ 72 - 69
src/main/resources/mapper/sys/ActivityRegistrationDao.xml

@@ -19,77 +19,80 @@
     <select id="findRegistrationPage" parameterType="java.lang.Integer"
             resultType="platform.modules.sys.entity.ActivityRegistration">
 
-       SELECT
-            reg.id id,
-            zuser.name user_name,
-            reg.name name,
-            reg.phone phone,
-            reg.mail mail,
-            reg.position position,
-            reg.registration_way registration_way,
-            reg.review_state review_state,
-            reg.registration_time registration_time,
-            reg.user_type user_type,
-            reg.user_id user_id
-        FROM
-            ac_activity_registration reg
-        LEFT JOIN (
-            SELECT
-                z.id id,
-                s.name name,
-                '4' type
-            FROM
-                s_street s
-            JOIN z_user z ON z.street_id = s.id
-            UNION
-            SELECT
-                z.id id,
-                y.name name,
-                '1' type
-            FROM
-                y_info y
-            JOIN z_user z ON z.build_id = y.id
-            UNION
-            SELECT
-                z.id id,
-                c.company_name name,
-                '3' type
-            FROM
-                y_company c
-            JOIN z_user z ON z.company_id = c.id
-            UNION
-            SELECT
-                z.id id,
-                s.name name,
-                '0' type
-            FROM
-                sys_department s
-            JOIN z_user z ON z.department_id = s.id
-            UNION
-            SELECT
-                id,
-                '个人' name,
-                '5' type
-            FROM
-                z_user u
-            UNION
-            SELECT
-                z.id id,
-                a.company_name name,
-                '6' type
+    SELECT
+        reg.id id,
+        IFNULL(
+            reg.company_name,
+            (
+            SELECT NAME
             FROM
-                ac_activity_registration a
-            JOIN z_user z ON z.id = a.user_id
+                (
+                SELECT
+                    z.id id,
+                    s.NAME NAME,
+                    '4' type
+                FROM
+                    s_street s
+                    JOIN z_user z ON z.street_id = s.id UNION
+                SELECT
+                    z.id id,
+                    y.NAME NAME,
+                    '1' type
+                FROM
+                    y_info y
+                    JOIN z_user z ON z.build_id = y.id UNION
+                SELECT
+                    z.id id,
+                    c.company_name NAME,
+                    '3' type
+                FROM
+                    y_company c
+                    JOIN z_user z ON z.company_id = c.id UNION
+                SELECT
+                    z.id id,
+                    s.NAME NAME,
+                    '0' type
+                FROM
+                    sys_department s
+                    JOIN z_user z ON z.department_id = s.id UNION
+                SELECT
+                    id,
+                    '个人' NAME,
+                    '5' type
+                FROM
+                    z_user u UNION
+                SELECT
+                    z.id id,
+                    a.company_name NAME,
+                    '6' type
+                FROM
+                    ac_activity_registration a
+                    JOIN z_user z ON z.id = a.user_id
+                WHERE
+                    a.del_flag = 0
+                    AND a.activity_id = #{activityId}
+                ) a
             WHERE
-                a.del_flag = 0
-	            AND a.activity_id = #{activityId}
-        ) zuser ON reg.user_id = zuser.id
-        AND reg.user_type = zuser.type
-        WHERE
-            reg.del_flag = 0
-            AND reg.activity_id = #{activityId}
-        order by
-            zuser.name,reg.create_time desc
+                a.type = reg.user_type
+                AND a.id = reg.id
+            )
+        ) user_name,
+        reg.NAME NAME,
+        reg.phone phone,
+        reg.mail mail,
+        reg.position position,
+        reg.registration_way registration_way,
+        reg.review_state review_state,
+        reg.registration_time registration_time,
+        reg.user_type user_type,
+        reg.user_id user_id
+    FROM
+        ac_activity_registration reg
+    WHERE
+        activity_id = #{activityId}
+    ORDER BY
+        user_name,
+        reg.create_time DESC
     </select>
 
     <select id="findSginPage" parameterType="java.lang.Integer"