snihwxf vor 1 Monat
Ursprung
Commit
a93f09c5f7

+ 10 - 0
src/main/java/com/xjrsoft/module/base/dto/BaseClassGradeDto.java

@@ -0,0 +1,10 @@
+package com.xjrsoft.module.base.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class BaseClassGradeDto {
+    @ApiModelProperty("教师ID")
+    private Long teacherId;
+}

+ 5 - 0
src/main/java/com/xjrsoft/module/base/mapper/BaseClassMapper.java

@@ -4,11 +4,14 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.yulichang.base.MPJBaseMapper;
 import com.xjrsoft.module.attendance.dto.AttendanceStatisticDto;
 import com.xjrsoft.module.attendance.vo.ClassStatisticsVo;
+import com.xjrsoft.module.base.dto.BaseClassGradeDto;
 import com.xjrsoft.module.base.dto.BaseClassPageDto;
 import com.xjrsoft.module.base.entity.BaseClass;
+import com.xjrsoft.module.base.vo.BaseClassGradeVo;
 import com.xjrsoft.module.base.vo.BaseClassPageVo;
 import com.xjrsoft.module.base.vo.StudentClassVo;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
@@ -29,4 +32,6 @@ public interface BaseClassMapper extends MPJBaseMapper<BaseClass> {
 
 
     Page<ClassStatisticsVo> getAttendanceClass(Page<ClassStatisticsVo> page, AttendanceStatisticDto dto);
+
+    List<BaseClassGradeVo> getListByGrade(@Param("dto") BaseClassGradeDto dto);
 }

+ 3 - 0
src/main/java/com/xjrsoft/module/base/service/IBaseClassService.java

@@ -8,6 +8,7 @@ import com.xjrsoft.module.base.dto.AddBaseClassPageDto;
 import com.xjrsoft.module.base.dto.BaseClassPageDto;
 import com.xjrsoft.module.base.dto.UpdateBaseClassPageDto;
 import com.xjrsoft.module.base.entity.BaseClass;
+import com.xjrsoft.module.base.vo.BaseClassGradeVo;
 import com.xjrsoft.module.base.vo.BaseClassPageVo;
 import com.xjrsoft.module.base.vo.StudentClassVo;
 import com.xjrsoft.module.organization.vo.UserStudentVo;
@@ -33,4 +34,6 @@ public interface IBaseClassService extends MPJBaseService<BaseClass> {
     Boolean updateClass(UpdateBaseClassPageDto dto);
 
     String initClassCode(Long gradeId);
+
+    List<BaseClassGradeVo> getListByGrade();
 }

+ 10 - 0
src/main/java/com/xjrsoft/module/base/service/impl/BaseClassServiceImpl.java

@@ -17,6 +17,7 @@ import com.xjrsoft.module.attendance.dto.AttendanceStatisticDto;
 import com.xjrsoft.module.attendance.vo.ClassStatisticsVo;
 import com.xjrsoft.module.banding.service.IBandingTaskClassService;
 import com.xjrsoft.module.base.dto.AddBaseClassPageDto;
+import com.xjrsoft.module.base.dto.BaseClassGradeDto;
 import com.xjrsoft.module.base.dto.BaseClassPageDto;
 import com.xjrsoft.module.base.dto.UpdateBaseClassPageDto;
 import com.xjrsoft.module.base.entity.BaseClass;
@@ -26,6 +27,7 @@ import com.xjrsoft.module.base.mapper.BaseClassMapper;
 import com.xjrsoft.module.base.mapper.BaseClassTeacherChangeMapper;
 import com.xjrsoft.module.base.mapper.BaseGradeMapper;
 import com.xjrsoft.module.base.service.IBaseClassService;
+import com.xjrsoft.module.base.vo.BaseClassGradeVo;
 import com.xjrsoft.module.base.vo.BaseClassPageVo;
 import com.xjrsoft.module.base.vo.StudentClassVo;
 import com.xjrsoft.module.organization.entity.UserRoleRelation;
@@ -141,6 +143,14 @@ public class BaseClassServiceImpl extends MPJBaseServiceImpl<BaseClassMapper, Ba
         return baseClassMapper.getAttendanceClass(page, dto);
     }
 
+    @Override
+    public  List<BaseClassGradeVo> getListByGrade() {
+        BaseClassGradeDto dto = new BaseClassGradeDto() {{
+            setTeacherId(StpUtil.getLoginIdAsLong());
+        }};
+        return baseClassMapper.getListByGrade(dto);
+    }
+
 
     /**
      * 根据教师id查询班级id

+ 30 - 0
src/main/java/com/xjrsoft/module/base/vo/BaseClassGradeVo.java

@@ -0,0 +1,30 @@
+package com.xjrsoft.module.base.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class BaseClassGradeVo {
+
+    private static final long serialVersionUID = 1L;
+    /**
+     * 主键
+     */
+    @ApiModelProperty("主键")
+    private Long id;
+    /**
+     * 名称
+     */
+    @ApiModelProperty("名称")
+    private String name;
+    /**
+     * 年级ID
+     */
+    @ApiModelProperty("年级ID")
+    private Long gradeId;
+    /**
+     * 年级名称
+     */
+    @ApiModelProperty("年级名称")
+    private String gradeName;
+}

+ 45 - 21
src/main/java/com/xjrsoft/module/student/controller/ConsumptionController.java

@@ -16,6 +16,7 @@ import com.xjrsoft.common.utils.TreeUtil;
 import com.xjrsoft.module.base.entity.BaseClass;
 import com.xjrsoft.module.base.service.IBaseClassService;
 import com.xjrsoft.module.base.service.IBaseGradeService;
+import com.xjrsoft.module.base.vo.BaseClassGradeVo;
 import com.xjrsoft.module.student.dto.*;
 import com.xjrsoft.module.student.service.IPbVXssfdetailService;
 import com.xjrsoft.module.student.service.IPbVXsxxsfytbService;
@@ -28,10 +29,7 @@ import org.springframework.web.bind.annotation.*;
 
 import javax.validation.Valid;
 import java.io.ByteArrayOutputStream;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 /**
  * @title: 学生消费管理
@@ -68,27 +66,53 @@ public class ConsumptionController {
             setName("年级");
         }});
 
-        baseGradeService.list().forEach((node) -> {
-            if (node.getStatus() == 1) {
+        List<BaseClassGradeVo> classGradeVoList = baseClassService.getListByGrade();
+
+        if (!classGradeVoList.isEmpty()) {
+            for (BaseClassGradeVo classGradeVo : classGradeVoList) {
+
                 voList.add(new BaseClassTreeVo() {{
-                    setId(node.getId());
-                    setName(node.getName());
-                    setParentId(6L);
+                    setId(classGradeVo.getId());
+                    setName(classGradeVo.getName());
+                    setParentId(classGradeVo.getGradeId());
+                    setStatus(0);
+                    if (qfCountMap.get(classGradeVo.getId()) != null && qfCountMap.get(classGradeVo.getId()) > 0) {
+                        setStatus(1);
+                    }
                 }});
+
+                if (voList.stream().noneMatch(item -> Objects.equals(item.getId(), classGradeVo.getGradeId()))) {
+                    voList.add(new BaseClassTreeVo() {{
+                        setId(classGradeVo.getId());
+                        setName(classGradeVo.getName());
+                        setParentId(6L);
+                    }});
+                }
             }
-        });
-
-        baseClassService.list(new QueryWrapper<BaseClass>().lambda().eq(BaseClass::getDeleteMark, DeleteMark.NODELETE.getCode())).forEach((node) -> {
-            voList.add(new BaseClassTreeVo() {{
-                setId(node.getId());
-                setName(node.getName());
-                setParentId(node.getGradeId());
-                setStatus(0);
-                if (qfCountMap.get(node.getId()) != null && qfCountMap.get(node.getId()) > 0) {
-                    setStatus(1);
+        } else {
+
+            baseGradeService.list().forEach((node) -> {
+                if (node.getStatus() == 1) {
+                    voList.add(new BaseClassTreeVo() {{
+                        setId(node.getId());
+                        setName(node.getName());
+                        setParentId(6L);
+                    }});
                 }
-            }});
-        });
+            });
+
+            baseClassService.list(new QueryWrapper<BaseClass>().lambda().eq(BaseClass::getDeleteMark, DeleteMark.NODELETE.getCode())).forEach((node) -> {
+                voList.add(new BaseClassTreeVo() {{
+                    setId(node.getId());
+                    setName(node.getName());
+                    setParentId(node.getGradeId());
+                    setStatus(0);
+                    if (qfCountMap.get(node.getId()) != null && qfCountMap.get(node.getId()) > 0) {
+                        setStatus(1);
+                    }
+                }});
+            });
+        }
 
         List<BaseClassTreeVo> treeVoList = TreeUtil.build(voList);
 

+ 6 - 0
src/main/resources/mapper/base/BaseClass.xml

@@ -127,4 +127,10 @@
             and t1.grade_id = #{dto.gradeId}
         </if>
     </select>
+    <select id="getListByGrade" parameterType="com.xjrsoft.module.base.dto.BaseClassGradeDto" resultType="com.xjrsoft.module.base.vo.BaseClassGradeVo">
+        SELECT a.id,a.name,a.grade_id,b.name grade_name from base_class a
+        LEFT JOIN base_grade b on a.grade_id=b.id
+        where a.delete_mark=0 and b.delete_mark=0 and a.teacher_id = #{dto.teacherId}
+    </select>
+
 </mapper>