Explorar o código

Merge remote-tracking branch 'origin/dev' into dev

dzx hai 1 ano
pai
achega
f1683abc1c

+ 39 - 43
src/main/resources/mapper/student/BaseStudentSchoolRollMapper.xml

@@ -5,35 +5,35 @@
 <mapper namespace="com.xjrsoft.module.student.mapper.BaseStudentSchoolRollMapper">
     <select id="getMobilePage" parameterType="com.xjrsoft.module.student.dto.BaseStudentInfoPageDto" resultType="com.xjrsoft.module.student.vo.BaseStudentInfoPageVo">
         SELECT
-        t2.id,
-        t2.name AS student_name,
-        t1.student_id,
-        t2.mobile AS phone,
-        t5.mobile AS teacher_phone,
-        t5.name AS teacher_name,
-        t4.name AS class_name,
-        (SELECT mobile
-        FROM base_student_family_member
-        WHERE delete_mark = 0
-        AND user_id = t2.id
-        AND is_guardian = 1) AS guardian_phone,
-        t7.name AS gender_cn,
-        t8.name AS stduyStatus,
-        t2.gender,
-        t10.sex AS genderCn,
-        t2.birth_date,
-        t2.avatar,
-        t6.name AS nation,
-        t3.archives_status AS archives_status,
-        t3.stduy_status AS stduy_status,
-        t3.roll_modality AS roll_modality,
-        t3.archives_status AS archivesStatusCode,
-        t3.stduy_status AS stduyStatusCode,
-        t3.roll_modality AS rollModalityCode,
-        t11.name AS student_form,
-        MAX(CASE WHEN t10.feeitemcode LIKE '999010604%' THEN t10.jfzt ELSE NULL END) AS jxf,
-        MAX(CASE WHEN t10.feeitemcode = 103042766003001 AND t10.beltcode LIKE '%2024%' THEN t10.jfzt ELSE NULL END) AS ssf,
-        MAX(CASE WHEN t10.feeitemcode LIKE '999010603%' THEN t10.jfzt ELSE NULL END) AS jcf
+            t2.id,
+            t2.name AS student_name,
+            t1.student_id,
+            t2.mobile AS phone,
+            t5.mobile AS teacher_phone,
+            t5.name AS teacher_name,
+            t4.name AS class_name,
+            (SELECT mobile
+            FROM base_student_family_member
+            WHERE delete_mark = 0
+            AND user_id = t2.id
+            AND is_guardian = 1) AS guardian_phone,
+            t7.name AS gender_cn,
+            t8.name AS stduyStatus,
+            t2.gender,
+            t10.sex AS genderCn,
+            t2.birth_date,
+            t2.avatar,
+            t6.name AS nation,
+            t3.archives_status AS archivesStatusCode,
+            t3.stduy_status AS stduyStatusCode,
+            t3.roll_modality AS rollModalityCode,
+            t12.name AS archives_status,
+            t8.name AS stduy_status,
+            t13.name AS roll_modality,
+            t11.name AS student_form,
+            MAX(CASE WHEN t10.feeitemcode LIKE '999010604%' THEN t10.jfzt ELSE NULL END) AS jxf,
+            MAX(CASE WHEN t10.feeitemcode = 103042766003001 AND t10.beltcode LIKE '%2024%' THEN t10.jfzt ELSE NULL END) AS ssf,
+            MAX(CASE WHEN t10.feeitemcode LIKE '999010603%' THEN t10.jfzt ELSE NULL END) AS jcf
         FROM base_student t1
         INNER JOIN xjr_user t2 ON t1.user_id = t2.id
         INNER JOIN base_student_school_roll t3 ON t1.user_id = t3.user_id
@@ -43,6 +43,8 @@
         LEFT JOIN xjr_dictionary_detail t7 ON t7.code = t2.gender
         LEFT JOIN xjr_dictionary_detail t8 ON t8.code = t3.stduy_status
         LEFT JOIN xjr_dictionary_detail t11 ON t11.code = t3.student_type
+        LEFT JOIN xjr_dictionary_detail t12 ON t12.code = t3.archives_status
+        LEFT JOIN xjr_dictionary_detail t13 ON t13.code = t3.roll_modality
         LEFT JOIN pb_v_xssfdetail t9 ON t9.personalid = t1.student_id
         LEFT JOIN pb_v_xsxxsfytb t10 ON t10.Studentcode = t9.personalid
         WHERE t2.delete_mark = 0
@@ -72,8 +74,7 @@
         GROUP BY t2.id, t2.name, t1.student_id, t2.mobile, t5.mobile, t5.name, t4.name,
         (SELECT mobile FROM base_student_family_member WHERE delete_mark = 0 AND user_id = t2.id AND is_guardian = 1),
         t7.name, t8.name, t2.gender, t10.sex, t2.birth_date, t2.avatar, t6.name,
-        t3.archives_status, t3.stduy_status, t3.roll_modality,
-        t3.archives_status, t3.stduy_status, t3.roll_modality, t11.name
+        t12.name, t13.name, t11.name,t3.stduy_status,t3.archives_status,t3.roll_modality
     </select>
     <select id="getInfoById" resultType="com.xjrsoft.module.student.vo.BaseStudentInfoDetailVo">
         SELECT t2.id,
@@ -102,18 +103,9 @@
                t3.stduy_status                                                                                               as stduyStatusCode,
                t3.roll_modality                                                                                              as rollModalityCode,
                 t12.name AS student_form,
-                CASE
-                    WHEN t14.feeitemcode LIKE '999010604%' THEN t14.jfzt
-                    ELSE NULL
-                    END AS jxf,
-               CASE
-                   WHEN t14.feeitemcode LIKE '103042766003001%' THEN t14.jfzt
-                   ELSE NULL
-                   END AS ssf,
-               CASE
-                   WHEN t14.feeitemcode LIKE '999010603%' THEN t14.jfzt
-                   ELSE NULL
-                   END AS jcf
+               MAX(CASE WHEN t14.feeitemcode LIKE '999010604%' THEN t14.jfzt ELSE NULL END) AS jxf,
+               MAX(CASE WHEN t14.feeitemcode = 103042766003001 AND t14.beltcode LIKE '%2024%' THEN t14.jfzt ELSE NULL END) AS ssf,
+               MAX(CASE WHEN t14.feeitemcode LIKE '999010603%' THEN t14.jfzt ELSE NULL END) AS jcf
         FROM base_student t1
                  INNER JOIN xjr_user t2 ON t1.user_id = t2.id
                  INNER JOIN base_student_school_roll t3 ON t1.user_id = t3.user_id
@@ -129,6 +121,10 @@
                  LEFT JOIN pb_v_xssfdetail t13 ON t13.personalid = t1.student_id
                  LEFT JOIN pb_v_xsxxsfytb t14 ON t14.Studentcode = t13.personalid
         WHERE t2.id = #{id}
+        GROUP BY t2.id, t2.name, t2.mobile, t2.gender, t11.name, t1.student_id, t5.name, t5.mobile, t4.name,
+                 (SELECT mobile FROM base_student_family_member WHERE delete_mark = 0 AND user_id = t2.id AND is_guardian = 1),
+                 t8.name, t7.name, t9.name, t2.birth_date, t2.avatar, t6.name, t10.name, t3.archives_status, t3.stduy_status,
+                 t3.roll_modality, t3.archives_status, t3.stduy_status, t3.roll_modality, t12.name
     </select>
     <update id="updateInfoByUserId" parameterType="com.xjrsoft.module.student.dto.UpdateBaseStudentInfoDto">
         UPDATE base_student_school_roll SET delete_mark = delete_mark