Преглед на файлове

feat:六一活动排课

Joburgess преди 4 години
родител
ревизия
c315171526

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/TeacherNameQueryInfo.java

@@ -14,6 +14,16 @@ public class TeacherNameQueryInfo extends QueryInfo {
 
     private String jobNature;
 
+    private Boolean includeFlowOrgan;
+
+    public Boolean getIncludeFlowOrgan() {
+        return includeFlowOrgan;
+    }
+
+    public void setIncludeFlowOrgan(Boolean includeFlowOrgan) {
+        this.includeFlowOrgan = includeFlowOrgan;
+    }
+
     public Integer getTeacherId() {
         return teacherId;
     }

+ 4 - 1
mec-biz/src/main/resources/config/mybatis/TeacherMapper.xml

@@ -939,9 +939,12 @@
         <include refid="queryPageNameSql"/>
     </select>
     <sql id="queryPageNameSql">
-        <if test="organId != null">
+        <if test="organId != null and includeFlowOrgan==null">
             AND FIND_IN_SET(t.organ_id_,#{organId})
         </if>
+        <if test="organId != null and includeFlowOrgan!=null and includeFlowOrgan">
+            AND (FIND_IN_SET(t.organ_id_,#{organId}) OR INTE_ARRAY(t.flow_organ_range_, #{organId}))
+        </if>
         <if test="subjectIds != null">
             AND INTE_ARRAY(t.subject_id_,#{subjectIds})
         </if>

+ 10 - 10
mec-web/src/main/java/com/ym/mec/web/controller/TeacherController.java

@@ -155,17 +155,17 @@ public class TeacherController extends BaseController {
         if (sysUser == null) {
             return failed("用户信息获取失败");
         }
-            Employee employee = employeeDao.get(sysUser.getId());
-            if (StringUtils.isEmpty(queryInfo.getOrganId())) {
-                queryInfo.setOrganId(employee.getOrganIdList());
-            }else if(StringUtils.isEmpty(employee.getOrganIdList())){
-                return failed("用户所在分部异常");
-            }else {
-                List<String> list = Arrays.asList(employee.getOrganIdList().split(","));
-                if(!list.containsAll(Arrays.asList(queryInfo.getOrganId().split(",")))){
-                    return failed("非法请求");
-                }
+        Employee employee = employeeDao.get(sysUser.getId());
+        if (StringUtils.isEmpty(queryInfo.getOrganId())) {
+            queryInfo.setOrganId(employee.getOrganIdList());
+        }else if(StringUtils.isEmpty(employee.getOrganIdList())){
+            return failed("用户所在分部异常");
+        }else {
+            List<String> list = Arrays.asList(employee.getOrganIdList().split(","));
+            if(!list.containsAll(Arrays.asList(queryInfo.getOrganId().split(",")))){
+                return failed("非法请求");
             }
+        }
         return succeed(teacherService.queryPageName(queryInfo));
     }
 

+ 12 - 8
mec-web/src/main/java/com/ym/mec/web/controller/education/EduStudentStudentController.java

@@ -16,6 +16,7 @@ import io.swagger.annotations.ApiOperation;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.util.CollectionUtils;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RestController;
@@ -28,6 +29,8 @@ import com.ym.mec.common.controller.BaseController;
 import java.util.Arrays;
 import java.util.List;
 import java.util.Objects;
+import java.util.Set;
+import java.util.stream.Collectors;
 
 /**
  * @Author Joburgess
@@ -93,16 +96,17 @@ public class EduStudentStudentController extends BaseController {
             }
         }
         Employee employee = employeeDao.get(sysUser.getId());
-        if (StringUtils.isEmpty(queryInfo.getOrganId())) {
-            queryInfo.setOrganId(employee.getOrganIdList());
-        }else if(StringUtils.isEmpty(employee.getOrganIdList())){
+        if (StringUtils.isEmpty(queryInfo.getOrganId())||StringUtils.isBlank(employee.getOrganIdList())) {
+            return failed("用户所在分部异常");
+        }
+        Set<String> employeeOrganList = Arrays.stream(employee.getOrganIdList().split(",")).collect(Collectors.toSet());
+        Set<String> teacherOrganList = Arrays.stream(queryInfo.getOrganId().split(",")).collect(Collectors.toSet());
+        List<String> organIdList = teacherOrganList.stream().filter(id -> employeeOrganList.contains(id)).collect(Collectors.toList());
+        if(CollectionUtils.isEmpty(organIdList)){
             return failed("用户所在分部异常");
-        }else {
-            List<String> list = Arrays.asList(employee.getOrganIdList().split(","));
-            if(!list.containsAll(Arrays.asList(queryInfo.getOrganId().split(",")))){
-                return failed("非法请求");
-            }
         }
+        queryInfo.setOrganId(StringUtils.join(organIdList, ","));
+
         queryInfo.setIsExport(false);
         return succeed(studentManageService.findStudentsByOrganId(queryInfo));
     }