mingfu 1 месяц назад
Родитель
Сommit
a2c635f557

+ 6 - 0
ie-admin/src/main/java/com/ruoyi/web/controller/dz/DzCardsController.java

@@ -329,6 +329,12 @@ public class DzCardsController extends BaseController
                                   @RequestParam(required = false) String openTimeEnd)
     {
         java.util.Map<String, Object> params = new java.util.HashMap<>();
+        SysUser sysUser = SecurityUtils.getLoginUser().getUser();
+        if (UserTypeEnum.isAgent(sysUser.getUserType())) {
+            agentId = sysUser.getUserTypeId();
+        } else if(!UserTypeEnum.isSys(sysUser.getUserType())) {
+            deptId = sysUser.getDeptId();
+        }
         if (deptId != null) {
             params.put("deptId", deptId);
         }

+ 5 - 1
ie-admin/src/main/java/com/ruoyi/web/controller/dz/DzCardsOpenController.java

@@ -72,8 +72,12 @@ public class DzCardsOpenController extends BaseController
     public TableDataInfo list(DzCardsOpen dzCardsOpen)
     {
         SysUser sysUser = SecurityUtils.getLoginUser().getUser();
-        if(UserTypeEnum.Agent.getVal().equals(sysUser.getUserType())) {
+        if (UserTypeEnum.isAgent(sysUser.getUserType())) {
             dzCardsOpen.setAgentId(sysUser.getUserTypeId());
+        } else if(UserTypeEnum.isSchool(sysUser.getUserType())) {
+            dzCardsOpen.setSchoolId(sysUser.getUserTypeId());
+        } else if(!UserTypeEnum.isSys(sysUser.getUserType())) {
+            dzCardsOpen.setDeptId(sysUser.getDeptId());
         }
         startPage();
         List<DzCardsOpen> list = dzCardsOpenService.selectDzCardsOpenList(dzCardsOpen);

+ 5 - 1
ie-admin/src/main/java/com/ruoyi/web/controller/dz/DzTeacherController.java

@@ -65,7 +65,11 @@ public class DzTeacherController extends BaseController
         if(!UserTypeEnum.isSys(sysUser.getUserType())){
             dzTeacher.setDeptId(SecurityUtils.getLoginUser().getUser().getDeptId());
             if (UserTypeEnum.isSchool(sysUser.getUserType())) {
-                dzTeacher.setCampusId(sysUser.getUserTypeId());
+                if(null == sysUser.getDeptId() || sysUser.getDeptId().equals(100L)) {
+                    dzTeacher.setSchoolId(sysUser.getUserTypeId());
+                } else {
+                    dzTeacher.setCampusId(sysUser.getUserTypeId());
+                }
             }
         }
         startPage();

+ 13 - 0
ie-admin/src/main/java/com/ruoyi/web/controller/learn/LearnStudentController.java

@@ -7,9 +7,12 @@ import java.util.Map;
 import java.util.stream.Collectors;
 import javax.servlet.http.HttpServletResponse;
 
+import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.dz.domain.DzSchool;
 import com.ruoyi.dz.service.IDzClassesService;
 import com.ruoyi.dz.service.IDzSchoolService;
+import com.ruoyi.enums.UserTypeEnum;
 import io.swagger.annotations.Api;
 import org.apache.commons.collections.CollectionUtils;
 import org.springframework.security.access.prepost.PreAuthorize;
@@ -127,6 +130,16 @@ public class LearnStudentController extends BaseController
     public TableDataInfo statisticStudyRecord(StudyRecordStatisticsDTO dto)
     {
         startPage();
+        SysUser sysUser = SecurityUtils.getLoginUser().getUser();
+        if (UserTypeEnum.isAgent(sysUser.getUserType())) {
+            dto.setAgentId(sysUser.getUserTypeId());
+        } else if(UserTypeEnum.isSchool(sysUser.getUserType())) {
+            dto.setSchoolId(sysUser.getUserTypeId());
+        } else if(UserTypeEnum.isTeacher(sysUser.getUserType())) {
+            dto.setTeacherId(sysUser.getUserTypeId());
+        } else if(!UserTypeEnum.isSys(sysUser.getUserType())) {
+            dto.setDeptId(sysUser.getDeptId());
+        }
         List<StudyRecordStatisticsDTO> list = learnStudentService.statisticStudyRecord(dto);
         // 处理数据,设置学校名称和班级名称
         list = processData(list);

+ 21 - 1
ie-system/src/main/java/com/ruoyi/learn/dto/StudyRecordStatisticsDTO.java

@@ -12,8 +12,12 @@ public class StudyRecordStatisticsDTO implements Serializable
     private static final long serialVersionUID = 1L;
 
     /** 学校ID */
-    private Long schoolId;
+    private Long deptId;
 
+    /** 学校ID */
+    private Long schoolId;
+    /** 学校ID */
+    private Long teacherId;
     /** 班级ID */
     private Long classId;
 
@@ -70,6 +74,14 @@ public class StudyRecordStatisticsDTO implements Serializable
     /** 校区班级名称 */
     private String campusClassName;
 
+    public Long getDeptId() {
+        return deptId;
+    }
+
+    public void setDeptId(Long deptId) {
+        this.deptId = deptId;
+    }
+
     public Double getPaperRate() {
         return paperRate;
     }
@@ -88,6 +100,14 @@ public class StudyRecordStatisticsDTO implements Serializable
         this.schoolId = schoolId;
     }
 
+    public Long getTeacherId() {
+        return teacherId;
+    }
+
+    public void setTeacherId(Long teacherId) {
+        this.teacherId = teacherId;
+    }
+
     public Long getClassId()
     {
         return classId;

+ 1 - 1
ie-system/src/main/resources/mapper/dz/DzCardsOpenMapper.xml

@@ -29,7 +29,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     <select id="selectDzCardsOpenList" parameterType="DzCardsOpen" resultMap="DzCardsOpenResult">
         <include refid="selectDzCardsOpenVo"/>
         <where>
-            <if test="agentId != null "> and agent_id = #{agentId}</if>
+            <if test="agentId != null "> and agent_id IN ( SELECT t.agent_id FROM dz_agent t WHERE t.parent_id = #{agentId})</if>
             <if test="startNo != null  and startNo != ''"> and start_no = #{startNo}</if>
             <if test="endNo != null  and endNo != ''"> and end_no = #{endNo}</if>
             <if test="endDate != null "> and end_date = #{endDate}</if>

+ 3 - 0
ie-system/src/main/resources/mapper/learn/LearnStudentMapper.xml

@@ -147,6 +147,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         StudentBaseInfo AS (
             <!-- 获取所有涉及学生的基础信息-->
             SELECT DISTINCT
+                dc.dept_id,
                 asl.student_id,
                 COALESCE(dc.school_id, NULL) AS school_id,
                 COALESCE(dc.class_id, NULL) AS class_id,
@@ -196,7 +197,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         LEFT JOIN
             T2 ON SBI.student_id = T2.student_id
         <where>
+            <if test="deptId != null"> AND SBI.dept_id = #{deptId}</if>
             <if test="schoolId != null"> AND SBI.school_id = #{schoolId}</if>
+            <if test="teacherId != null"> AND SBI.class_id in ( SELECT t.class_id FROM dz_teacher_class t WHERE t.teacher_id = #{teacherId} and now() &lt; t.out_date)</if>
             <if test="classId != null"> AND SBI.class_id = #{classId}</if>
             <if test="campusId != null"> AND SBI.campus_id = #{campusId}</if>
             <if test="campusClassId != null"> AND SBI.campus_class_id = #{campusClassId}</if>