Переглянути джерело

团员管理树节点分级传送

大数据与最优化研究所 8 місяців тому
батько
коміт
f3c2d93026

+ 11 - 2
src/main/java/com/xjrsoft/module/student/controller/LeagueMembersManageController.java

@@ -117,6 +117,7 @@ public class LeagueMembersManageController {
                     setId(Long.toString(l.getCreateUserId()));
                     setName(l.getLeagueMembersNum());
                     setParentId(Long.toString(l.getModifyUserId()));
+                    setLevel(3);
                     setChildren(new ArrayList<>());
                 }});
                 // 当前年级已经处理
@@ -128,6 +129,7 @@ public class LeagueMembersManageController {
                         setId(Long.toString(l.getModifyUserId()));
                         setName(l.getAddress());
                         setParentId("8888");
+                        setLevel(2);
                         setChildren(new ArrayList<>());
                     }});
                 }
@@ -149,6 +151,7 @@ public class LeagueMembersManageController {
             setName("总览");
             setParentId("0");
             setNum(finalTotal);
+            setLevel(1);
             setChildren(new ArrayList<>());
         }});
 
@@ -183,6 +186,7 @@ public class LeagueMembersManageController {
                 .leftJoin(BaseStudentSchoolRoll.class, BaseStudentSchoolRoll::getUserId, LeagueMembersManage::getUserId,
                         wrappers -> wrappers
                                 .selectAs(BaseStudentSchoolRoll::getArchivesStatus, LeagueMembersManagePageVo::getArchivesStatus)
+                                .selectAs(BaseStudentSchoolRoll::getClassId, LeagueMembersManagePageVo::getClassId)
                                 .leftJoin(DictionaryDetail.class, DictionaryDetail::getCode, BaseStudentSchoolRoll::getArchivesStatus,
                                         wrap -> wrap
                                                 .selectAs(DictionaryDetail::getName, LeagueMembersManagePageVo::getStatusCn)
@@ -190,14 +194,19 @@ public class LeagueMembersManageController {
                                 .leftJoin(BaseClass.class, BaseClass::getId, BaseStudentSchoolRoll::getClassId,
                                         wrap -> wrap
                                                 .selectAs(BaseClass::getName, LeagueMembersManagePageVo::getClassName)
+                                                .selectAs(BaseClass::getGradeId, LeagueMembersManagePageVo::getGradeId)
                                                 .leftJoin(XjrUser.class, XjrUser::getId, BaseClass::getTeacherId,
                                                         wr -> wr
                                                                 .selectAs(XjrUser::getName, LeagueMembersManagePageVo::getTeacherName)
                                                 )
-                                                .eq(ObjectUtils.isNotEmpty(dto.getGradeId()), BaseClass::getGradeId, dto.getGradeId())
+                                                .leftJoin(BaseGrade.class, BaseGrade::getId, BaseClass::getGradeId,
+                                                        wr -> wr
+                                                                .selectAs(BaseGrade::getName, LeagueMembersManagePageVo::getGradeName)
+                                                )
+                                                .eq(ObjectUtils.isNotEmpty(dto.getNodeId()) && ObjectUtils.isNotEmpty(dto.getLevel()) && dto.getLevel() == 2, BaseClass::getGradeId, dto.getNodeId())
                                 )
                                 .like(StringUtils.isNotEmpty(dto.getArchivesStatus()), BaseStudentSchoolRoll::getArchivesStatus, dto.getArchivesStatus())
-                                .eq(ObjectUtils.isNotEmpty(dto.getClassId()), BaseStudentSchoolRoll::getClassId, dto.getClassId())
+                                .eq(ObjectUtils.isNotEmpty(dto.getNodeId()) && ObjectUtils.isNotEmpty(dto.getLevel()) && dto.getLevel() == 3, BaseStudentSchoolRoll::getClassId, dto.getNodeId())
                                 .eq(BaseStudentSchoolRoll::getDeleteMark, DeleteMark.NODELETE.getCode())
                 )
                 .leftJoin(BaseStudent.class, BaseStudent::getUserId, LeagueMembersManage::getUserId,

+ 4 - 4
src/main/java/com/xjrsoft/module/student/dto/LeagueMembersExportQueryDto.java

@@ -22,11 +22,11 @@ public class LeagueMembersExportQueryDto implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
-    @ApiModelProperty("所属年级(base_grade)")
-    private Long gradeId;
+    @ApiModelProperty("班级年级树节点主键id")
+    private Long nodeId;
 
-    @ApiModelProperty("所属班级(base_class)")
-    private Long classId;
+    @ApiModelProperty("节点层级,1:总览,2:年级,3:班级")
+    private Integer level;
 
     @ApiModelProperty("学生姓名")
     private String studentName;

+ 4 - 4
src/main/java/com/xjrsoft/module/student/dto/LeagueMembersManagePageDto.java

@@ -22,11 +22,11 @@ import java.util.Date;
 @Data
 @EqualsAndHashCode(callSuper = false)
 public class LeagueMembersManagePageDto extends PageInput {
-    @ApiModelProperty("所属年级(base_grade)")
-    private Long gradeId;
+    @ApiModelProperty("班级年级树节点主键id")
+    private Long nodeId;
 
-    @ApiModelProperty("所属班级(base_class)")
-    private Long classId;
+    @ApiModelProperty("节点层级,1:总览,2:年级,3:班级")
+    private Integer level;
 
     @ApiModelProperty("学生姓名")
     private String studentName;

+ 2 - 2
src/main/java/com/xjrsoft/module/student/service/impl/LeagueMembersManageServiceImpl.java

@@ -256,7 +256,7 @@ public class LeagueMembersManageServiceImpl extends MPJBaseServiceImpl<LeagueMem
                                                 .selectAs(DictionaryDetail::getName, LeagueMembersExportQueryListVo::getStatusCn)
                                 )
                                 .like(StringUtils.isNotEmpty(dto.getArchivesStatus()), BaseStudentSchoolRoll::getArchivesStatus, dto.getArchivesStatus())
-                                .eq(ObjectUtils.isNotEmpty(dto.getClassId()), BaseStudentSchoolRoll::getClassId, dto.getClassId())
+                                .eq(ObjectUtils.isNotEmpty(dto.getNodeId()) && ObjectUtils.isNotEmpty(dto.getLevel()) && dto.getLevel() == 3, BaseStudentSchoolRoll::getClassId, dto.getNodeId())
                                 .eq(BaseStudentSchoolRoll::getDeleteMark, DeleteMark.NODELETE.getCode())
                 )
                 .leftJoin(BaseClass.class, BaseClass::getId, BaseStudentSchoolRoll::getClassId,
@@ -266,7 +266,7 @@ public class LeagueMembersManageServiceImpl extends MPJBaseServiceImpl<LeagueMem
                                         wrap -> wrap
                                                 .selectAs(XjrUser::getName, LeagueMembersExportQueryListVo::getTeacherName)
                                 )
-                                .eq(ObjectUtils.isNotEmpty(dto.getGradeId()), BaseClass::getGradeId, dto.getGradeId())
+                                .eq(ObjectUtils.isNotEmpty(dto.getNodeId()) && ObjectUtils.isNotEmpty(dto.getLevel()) && dto.getLevel() == 2, BaseClass::getGradeId, dto.getNodeId())
                 )
                 .leftJoin(BaseStudent.class, BaseStudent::getUserId, LeagueMembersManage::getUserId,
                         wrappers -> wrappers

+ 6 - 3
src/main/java/com/xjrsoft/module/student/vo/ClassWithLMNumTreeVo.java

@@ -17,11 +17,14 @@ public class ClassWithLMNumTreeVo implements ITreeNode<ClassWithLMNumTreeVo, Str
     @ApiModelProperty("名字")
     private String name;
 
-    @ApiModelProperty("当前级别的数量")
-    private Integer num;
-
     @ApiModelProperty("父级id")
     private String parentId;
 
+    @ApiModelProperty("节点层级,1:总览,2:年级,3:班级")
+    private Integer level;
+
+    @ApiModelProperty("当前级别的数量")
+    private Integer num;
+
     private List<ClassWithLMNumTreeVo> children;
 }

+ 10 - 1
src/main/java/com/xjrsoft/module/student/vo/LeagueMembersManagePageVo.java

@@ -27,6 +27,15 @@ public class LeagueMembersManagePageVo {
     @ApiModelProperty("主键编号")
     private String id;
 
+    @ApiModelProperty("年级主键")
+    private String gradeId;
+
+    @ApiModelProperty("年级")
+    private String gradeName;
+
+    @ApiModelProperty("班级主键")
+    private String classId;
+
     @ApiModelProperty("班级")
     private String className;
 
@@ -37,7 +46,7 @@ public class LeagueMembersManagePageVo {
      * 学生主键id(xjr_user)
      */
     @ApiModelProperty("学生主键id(xjr_user)")
-    private Long userId;
+    private String userId;
 
     @ApiModelProperty("学生姓名")
     private String studentName;