Parcourir la source

1、解决学生信息管理列表效率问题
2、解决通讯录中还会出现被删除账号的问题

dzx il y a 1 an
Parent
commit
b69a3494e7

+ 3 - 1
src/main/java/com/xjrsoft/module/concat/controller/ConcatController.java

@@ -3,6 +3,7 @@ package com.xjrsoft.module.concat.controller;
 import cn.dev33.satoken.annotation.SaCheckPermission;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import com.xjrsoft.common.enums.DeleteMark;
 import com.xjrsoft.common.model.result.RT;
 import com.xjrsoft.common.utils.TreeUtil;
 import com.xjrsoft.module.concat.dto.ConcatTreeDto;
@@ -60,7 +61,8 @@ public class ConcatController {
         }
         MPJLambdaWrapper<XjrUser> wrapper = new MPJLambdaWrapper<>();
         wrapper.leftJoin("xjr_user_dept_relation t2 on t.id = t2.user_id")
-                .eq("t2.dept_id", parentId);
+                .eq("t2.dept_id", parentId)
+                .eq(XjrUser::getDeleteMark, DeleteMark.NODELETE.getCode());
         List<XjrUser> userList = xjrUserService.selectJoinList(XjrUser.class, wrapper);
         for (XjrUser user : userList) {
             concatList.add(

+ 14 - 16
src/main/resources/mapper/student/BaseStudentSchoolRollMapper.xml

@@ -31,9 +31,9 @@
             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 LEFT(t10.beltcode, 4) = DATE_FORMAT(CURRENT_DATE, '%Y') THEN t10.jfzt ELSE NULL END) AS ssf,
-            MAX(CASE WHEN t10.feeitemcode LIKE '999010603%' THEN t10.jfzt ELSE NULL END) AS jcf,
+            MAX(CASE WHEN t10.feeitemcode LIKE '999010604%' THEN t10.jfzt ELSE '欠费' END) AS jxf,
+            MAX(CASE WHEN t10.feeitemcode = 103042766003001 AND LEFT(t10.beltcode, 4) = DATE_FORMAT(CURRENT_DATE, '%Y') THEN t10.jfzt ELSE '欠费' END) AS ssf,
+            MAX(CASE WHEN t10.feeitemcode LIKE '999010603%' THEN t10.jfzt ELSE '欠费' END) AS jcf,
             CONCAT(t16.name, ' ', t15.room_name, ' ', t14.bed_number) AS bed_info
         FROM base_student t1
         INNER JOIN xjr_user t2 ON t1.user_id = t2.id
@@ -46,8 +46,7 @@
         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
+        LEFT JOIN pb_v_xsxxsfytb t10 ON t10.Studentcode = t2.credential_type
         LEFT JOIN room_bed t14 ON t14.student_user_id = t2.id
         LEFT JOIN room t15 ON t14.room_id = t15.id
         LEFT JOIN base_office_build t16 ON t15.office_build_id = t16.id
@@ -83,14 +82,14 @@
 
     <select id="getInfoById" resultType="com.xjrsoft.module.student.vo.BaseStudentInfoDetailVo">
         SELECT t2.id,
-               t2.name                                                                                                       AS student_name,
-               t2.mobile                                                                                                       AS phone,
+               t2.name AS student_name,
+               t2.mobile AS phone,
                t2.gender,
-               t11.name                                                                                                        AS genderCn,
+               t11.name AS genderCn,
                t1.student_id,
-               t5.name                                                                                                       AS teacher_name,
-               t5.mobile                                                                                                     AS teacher_phone,
-               t4.name                                                                                                       AS class_name,
+               t5.name AS teacher_name,
+               t5.mobile AS teacher_phone,
+               t4.name AS class_name,
                (SELECT mobile
                 FROM base_student_family_member
                 WHERE delete_mark = 0
@@ -108,9 +107,9 @@
                t3.stduy_status                                                                                               as stduyStatusCode,
                t3.roll_modality                                                                                              as rollModalityCode,
                 t12.name AS student_form,
-               MAX(CASE WHEN t14.feeitemcode LIKE '999010604%' THEN t14.jfzt ELSE NULL END) AS jxf,
-               MAX(CASE WHEN t14.feeitemcode = 103042766003001 AND LEFT(t14.beltcode, 4) = DATE_FORMAT(CURRENT_DATE, '%Y') THEN t14.jfzt ELSE NULL END) AS ssf,
-               MAX(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 '欠费' END) AS jxf,
+               MAX(CASE WHEN t14.feeitemcode = 103042766003001 AND LEFT(t14.beltcode, 4) = DATE_FORMAT(CURRENT_DATE, '%Y') THEN t14.jfzt ELSE '欠费' END) AS ssf,
+               MAX(CASE WHEN t14.feeitemcode LIKE '999010603%' THEN t14.jfzt ELSE '欠费' END) AS jcf,
                CONCAT(t17.name, ' ', t16.room_name, ' ', t15.bed_number) AS bed_info
         FROM base_student t1
                  INNER JOIN xjr_user t2 ON t1.user_id = t2.id
@@ -124,8 +123,7 @@
                  LEFT JOIN base_major_set t10 ON t3.major_set_id = t10.id
                  LEFT JOIN xjr_dictionary_detail t11 ON t11.code = t2.gender
                  LEFT JOIN xjr_dictionary_detail t12 ON t12.code = t3.student_type
-                 LEFT JOIN pb_v_xssfdetail t13 ON t13.personalid = t1.student_id
-                 LEFT JOIN pb_v_xsxxsfytb t14 ON t14.Studentcode = t13.personalid
+                 LEFT JOIN pb_v_xsxxsfytb t14 ON t14.Studentcode = t2.credential_type
                  left join room_bed t15 on t15.student_user_id = t1.user_id
                  left join room t16 on t16.id = t15.room_id
                  left join base_office_build t17 on t17.id = t16.office_build_id