Kaynağa Gözat

3.4.0 update

xiaofei 1 yıl önce
ebeveyn
işleme
68e4f5965b
15 değiştirilmiş dosya ile 381 ekleme ve 27 silme
  1. 1 1
      distributed-print/src/main/java/com/qmth/distributed/print/api/BasicProfessionalController.java
  2. 55 18
      distributed-print/src/main/java/com/qmth/distributed/print/api/ConditionController.java
  3. 1 1
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/entity/BasicProfessional.java
  4. 1 1
      teachcloud-obe/src/main/java/com/qmth/teachcloud/obe/been/dto/professional/ProfessionalDto.java
  5. 1 1
      teachcloud-obe/src/main/java/com/qmth/teachcloud/obe/been/obe/MatrixRequirementDto.java
  6. 1 1
      teachcloud-obe/src/main/java/com/qmth/teachcloud/obe/been/obe/MatrixSubRequirementDto.java
  7. 1 1
      teachcloud-obe/src/main/java/com/qmth/teachcloud/obe/mapper/BasicProfessionalMapper.java
  8. 29 0
      teachcloud-obe/src/main/java/com/qmth/teachcloud/obe/mapper/ObeConditionMapper.java
  9. 1 1
      teachcloud-obe/src/main/java/com/qmth/teachcloud/obe/service/BasicProfessionalService.java
  10. 25 0
      teachcloud-obe/src/main/java/com/qmth/teachcloud/obe/service/ObeConditionService.java
  11. 1 1
      teachcloud-obe/src/main/java/com/qmth/teachcloud/obe/service/impl/BasicProfessionalServiceImpl.java
  12. 74 0
      teachcloud-obe/src/main/java/com/qmth/teachcloud/obe/service/impl/ObeConditionServiceImpl.java
  13. 1 0
      teachcloud-obe/src/main/java/com/qmth/teachcloud/obe/service/impl/TRBasicInfoServiceImpl.java
  14. 1 1
      teachcloud-obe/src/main/resources/mapper/BasicProfessionalMapper.xml
  15. 188 0
      teachcloud-obe/src/main/resources/mapper/ObeConditionMapper.xml

+ 1 - 1
distributed-print/src/main/java/com/qmth/distributed/print/api/BasicProfessionalController.java

@@ -7,7 +7,7 @@ import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.util.Result;
 import com.qmth.teachcloud.common.util.ResultUtil;
 import com.qmth.teachcloud.obe.been.dto.professional.ProfessionalDto;
-import com.qmth.teachcloud.obe.entity.BasicProfessional;
+import com.qmth.teachcloud.common.entity.BasicProfessional;
 import com.qmth.teachcloud.obe.service.BasicProfessionalService;
 import io.swagger.annotations.*;
 import org.springframework.context.annotation.Lazy;

+ 55 - 18
distributed-print/src/main/java/com/qmth/distributed/print/api/ConditionController.java

@@ -4,11 +4,15 @@ import com.qmth.boot.api.constant.ApiConstant;
 import com.qmth.distributed.print.business.bean.result.PrintPlanBrief;
 import com.qmth.distributed.print.business.service.ConditionService;
 import com.qmth.teachcloud.common.contant.SystemConstant;
-import com.qmth.teachcloud.common.entity.*;
+import com.qmth.teachcloud.common.entity.BasicCourse;
+import com.qmth.teachcloud.common.entity.BasicExam;
+import com.qmth.teachcloud.common.entity.BasicSemester;
+import com.qmth.teachcloud.common.entity.SysOrg;
 import com.qmth.teachcloud.common.enums.ExamCategoryEnum;
 import com.qmth.teachcloud.common.util.Result;
 import com.qmth.teachcloud.common.util.ResultUtil;
 import com.qmth.teachcloud.mark.service.ScanConditionService;
+import com.qmth.teachcloud.obe.service.ObeConditionService;
 import io.swagger.annotations.*;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
@@ -29,85 +33,118 @@ public class ConditionController {
 
     @Resource
     private ConditionService conditionService;
+    @Resource
+    private ObeConditionService obeConditionService;
 
     @Resource
     private ScanConditionService scanConditionService;
 
     @ApiOperation(value = "学期")
     @RequestMapping(value = "/list_semester", method = RequestMethod.POST)
-    @ApiResponses({ @ApiResponse(code = 200, message = "查询成功", response = BasicSemester.class) })
+    @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = BasicSemester.class)})
     public Result listSemester(@ApiParam(value = "启用/禁用") @RequestParam(required = false, defaultValue = "true") Boolean enable) {
         return ResultUtil.ok(conditionService.listSemester(enable));
     }
 
     @ApiOperation(value = "考试")
     @RequestMapping(value = "/list_exam", method = RequestMethod.POST)
-    @ApiResponses({ @ApiResponse(code = 200, message = "查询成功", response = BasicExam.class) })
+    @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = BasicExam.class)})
     public Result listExam(@ApiParam(value = "学期ID") @RequestParam(required = false) Long semesterId, @ApiParam(value = "考试类型") @RequestParam(required = false) ExamCategoryEnum category,
-            @ApiParam(value = "启用/禁用") @RequestParam(required = false, defaultValue = "true") Boolean enable) {
+                           @ApiParam(value = "启用/禁用") @RequestParam(required = false, defaultValue = "true") Boolean enable) {
         return ResultUtil.ok(conditionService.listExam(semesterId, category, enable));
     }
 
     @ApiOperation(value = "课程")
     @RequestMapping(value = "/list_course", method = RequestMethod.POST)
-    @ApiResponses({ @ApiResponse(code = 200, message = "查询成功", response = BasicCourse.class) })
+    @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = BasicCourse.class)})
     public Result listCourse(@ApiParam(value = "学期ID") @RequestParam(required = false) Long semesterId, @ApiParam(value = "考试ID") @RequestParam(required = false) Long examId,
-            @ApiParam(value = "启用/禁用") @RequestParam(required = false) Boolean enable, @RequestParam(value = "printPlanId", required = false) List<String> printPlanId) {
+                             @ApiParam(value = "启用/禁用") @RequestParam(required = false) Boolean enable, @RequestParam(value = "printPlanId", required = false) List<String> printPlanId) {
         return ResultUtil.ok(conditionService.listCourse(semesterId, examId, enable, printPlanId));
     }
 
     @ApiOperation(value = "试卷编号")
     @RequestMapping(value = "/list_paper_number", method = RequestMethod.POST)
-    @ApiResponses({ @ApiResponse(code = 200, message = "查询成功", response = String.class) })
+    @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = String.class)})
     public Result listPaperNumber(@ApiParam(value = "学期ID") @RequestParam(required = false) Long semesterId, @ApiParam(value = "考试ID") @RequestParam(required = false) Long examId,
-            @ApiParam(value = "课程代码") @RequestParam(required = false) Long courseId, @RequestParam(value = "printPlanId", required = false) List<String> printPlanId) {
+                                  @ApiParam(value = "课程代码") @RequestParam(required = false) Long courseId, @RequestParam(value = "printPlanId", required = false) List<String> printPlanId) {
         return ResultUtil.ok(conditionService.listPaperNumber(semesterId, examId, courseId, printPlanId));
     }
 
     @ApiOperation(value = "印刷计划")
     @RequestMapping(value = "/list_print_plan", method = RequestMethod.POST)
-    @ApiResponses({ @ApiResponse(code = 200, message = "查询成功", response = PrintPlanBrief.class) })
+    @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = PrintPlanBrief.class)})
     public Result listPrintPlan(@ApiParam(value = "学期ID") @RequestParam(required = false) Long semesterId, @ApiParam(value = "考试ID") @RequestParam(required = false) Long examId,
-            @ApiParam(value = "source") @RequestParam(required = false) String source) {
+                                @ApiParam(value = "source") @RequestParam(required = false) String source) {
         return ResultUtil.ok(conditionService.listPrintPlan(semesterId, examId, source));
     }
 
     @ApiOperation(value = "学院")
     @RequestMapping(value = "/list_college", method = RequestMethod.POST)
-    @ApiResponses({ @ApiResponse(code = 200, message = "查询成功", response = SysOrg.class) })
+    @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = SysOrg.class)})
     public Result listCollege() {
         return ResultUtil.ok(conditionService.listCollege());
     }
 
     @ApiOperation(value = "扫描-获取学期、考试列表")
     @RequestMapping(value = "/scan/semester/list", method = RequestMethod.POST)
-    @ApiResponses({ @ApiResponse(code = 200, message = "查询成功", response = Map.class) })
+    @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = Map.class)})
     public Result scanSemesterList(@ApiParam(value = "启用/禁用") @RequestParam(required = false, defaultValue = "true") Boolean enable) {
         return ResultUtil.ok(scanConditionService.scanSemesterList(enable));
     }
 
     @ApiOperation(value = "扫描-获取课程、试卷编号列表")
     @RequestMapping(value = "/scan/course/list", method = RequestMethod.POST)
-    @ApiResponses({ @ApiResponse(code = 200, message = "查询成功", response = Map.class) })
+    @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = Map.class)})
     public Result scanCourseList(@ApiParam(value = "考试ID", required = true) @RequestParam(value = "examId") Long examId) {
         return ResultUtil.ok(scanConditionService.scanCourseList(examId));
     }
 
     @ApiOperation(value = "扫描-获取校区、考场")
     @RequestMapping(value = "/scan/campus/list", method = RequestMethod.POST)
-    @ApiResponses({ @ApiResponse(code = 200, message = "查询成功", response = Map.class) })
+    @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = Map.class)})
     public Result scanCampusList(@ApiParam(value = "考试ID", required = true) @RequestParam(value = "examId") Long examId,
-            @ApiParam(value = "课程代码") @RequestParam(value = "courseCode", required = false) String courseCode, @ApiParam(value = "试卷编号") @RequestParam(value = "coursePaperId", required = false) String coursePaperId) {
+                                 @ApiParam(value = "课程代码") @RequestParam(value = "courseCode", required = false) String courseCode, @ApiParam(value = "试卷编号") @RequestParam(value = "coursePaperId", required = false) String coursePaperId) {
         return ResultUtil.ok(scanConditionService.scanCampusList(examId, courseCode, coursePaperId));
     }
 
     @ApiOperation(value = "教学班字典")
     @RequestMapping(value = "/list_basic_teach_clazz", method = RequestMethod.POST)
-    @ApiResponses({ @ApiResponse(code = 200, message = "查询成功", response = Map.class) })
+    @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = Map.class)})
     public Result listBasicTeachClazz(@ApiParam(value = "考试ID", required = true) @RequestParam(value = "examId") String examId,
-            @ApiParam(value = "课程编号") @RequestParam(value = "courseCode", required = false) String courseCode,
-            @ApiParam(value = "名称") @RequestParam(value = "clazzName", required = false) String clazzName) {
+                                      @ApiParam(value = "课程编号") @RequestParam(value = "courseCode", required = false) String courseCode,
+                                      @ApiParam(value = "名称") @RequestParam(value = "clazzName", required = false) String clazzName) {
         return ResultUtil.ok(
                 conditionService.listBasicTeachClazz(SystemConstant.convertIdToLong(examId), courseCode, clazzName));
     }
+
+    @ApiOperation(value = "OBE-专业")
+    @RequestMapping(value = "/list_professional", method = RequestMethod.POST)
+    @ApiResponses({@ApiResponse(code = 200, message = "查询", response = Result.class)})
+    public Result listProfessional() {
+        return ResultUtil.ok(obeConditionService.listProfessional());
+    }
+
+    @ApiOperation(value = "OBE-培养方案")
+    @RequestMapping(value = "/list_culture_program", method = RequestMethod.POST)
+    @ApiResponses({@ApiResponse(code = 200, message = "查询", response = Result.class)})
+    public Result listCultureProgram(@ApiParam(value = "专业ID") @RequestParam(value = "professionalId", required = false) Long professionalId) {
+        return ResultUtil.ok(obeConditionService.listCultureProgram(professionalId));
+    }
+
+    @ApiOperation(value = "OBE-学期")
+    @RequestMapping(value = "/list_outline_semester", method = RequestMethod.POST)
+    @ApiResponses({@ApiResponse(code = 200, message = "查询", response = Result.class)})
+    public Result listOutlineSemester(@ApiParam(value = "专业ID") @RequestParam(value = "professionalId", required = false) Long professionalId,
+                                      @ApiParam(value = "培养方案ID") @RequestParam(value = "cultureProgramId", required = false) Long cultureProgramId) {
+        return ResultUtil.ok(obeConditionService.listOutlineSemester(professionalId, cultureProgramId));
+    }
+
+    @ApiOperation(value = "OBE-课程")
+    @RequestMapping(value = "/list_culture_program_course", method = RequestMethod.POST)
+    @ApiResponses({@ApiResponse(code = 200, message = "查询", response = Result.class)})
+    public Result listCultureProgramCourse(@ApiParam(value = "专业ID") @RequestParam(value = "professionalId", required = false) Long professionalId,
+                                           @ApiParam(value = "培养方案ID") @RequestParam(value = "cultureProgramId", required = false) Long cultureProgramId,
+                                           @ApiParam(value = "学期id") @RequestParam(value = "semesterId", required = false) Long semesterId) {
+        return ResultUtil.ok(obeConditionService.listCultureProgramCourse(professionalId, cultureProgramId, semesterId));
+    }
 }

+ 1 - 1
teachcloud-obe/src/main/java/com/qmth/teachcloud/obe/entity/BasicProfessional.java → teachcloud-common/src/main/java/com/qmth/teachcloud/common/entity/BasicProfessional.java

@@ -1,4 +1,4 @@
-package com.qmth.teachcloud.obe.entity;
+package com.qmth.teachcloud.common.entity;
 
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;

+ 1 - 1
teachcloud-obe/src/main/java/com/qmth/teachcloud/obe/been/dto/professional/ProfessionalDto.java

@@ -1,7 +1,7 @@
 package com.qmth.teachcloud.obe.been.dto.professional;
 
 
-import com.qmth.teachcloud.obe.entity.BasicProfessional;
+import com.qmth.teachcloud.common.entity.BasicProfessional;
 
 public class ProfessionalDto extends BasicProfessional {
 

+ 1 - 1
teachcloud-obe/src/main/java/com/qmth/teachcloud/obe/been/obe/MatrixRequirementDto.java

@@ -2,7 +2,7 @@ package com.qmth.teachcloud.obe.been.obe;
 
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
-import com.qmth.teachcloud.obe.entity.BasicProfessional;
+import com.qmth.teachcloud.common.entity.BasicProfessional;
 
 import java.util.List;
 

+ 1 - 1
teachcloud-obe/src/main/java/com/qmth/teachcloud/obe/been/obe/MatrixSubRequirementDto.java

@@ -2,7 +2,7 @@ package com.qmth.teachcloud.obe.been.obe;
 
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
-import com.qmth.teachcloud.obe.entity.BasicProfessional;
+import com.qmth.teachcloud.common.entity.BasicProfessional;
 
 import java.math.BigDecimal;
 

+ 1 - 1
teachcloud-obe/src/main/java/com/qmth/teachcloud/obe/mapper/BasicProfessionalMapper.java

@@ -5,7 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.qmth.teachcloud.common.bean.dto.DataPermissionRule;
 import com.qmth.teachcloud.obe.been.dto.professional.ProfessionalDto;
-import com.qmth.teachcloud.obe.entity.BasicProfessional;
+import com.qmth.teachcloud.common.entity.BasicProfessional;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;

+ 29 - 0
teachcloud-obe/src/main/java/com/qmth/teachcloud/obe/mapper/ObeConditionMapper.java

@@ -0,0 +1,29 @@
+package com.qmth.teachcloud.obe.mapper;
+
+import com.qmth.teachcloud.common.bean.dto.DataPermissionRule;
+import com.qmth.teachcloud.common.bean.result.DictionaryResult;
+import com.qmth.teachcloud.common.entity.BasicCourse;
+import com.qmth.teachcloud.common.entity.BasicProfessional;
+import com.qmth.teachcloud.obe.entity.ObeCultureProgram;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 查询条件 Mapper 接口
+ * </p>
+ */
+public interface ObeConditionMapper {
+    List<BasicProfessional> listProfessional(@Param("schoolId") Long schoolId, @Param("dpr") DataPermissionRule dpr);
+
+    List<ObeCultureProgram> listCultureProgram(@Param("schoolId") Long schoolId, @Param("professionalId") Long professionalId, @Param("dpr") DataPermissionRule dpr);
+
+    List<DictionaryResult> listOutlineSemester(@Param("schoolId") Long schoolId, @Param("professionalId") Long professionalId, @Param("cultureProgramId") Long cultureProgramId,
+                                               @Param("dpr") DataPermissionRule dpr);
+
+    List<BasicCourse> listCultureProgramCourse(@Param("schoolId") Long schoolId, @Param("professionalId") Long professionalId, @Param("cultureProgramId") Long cultureProgramId,
+                                               @Param("semesterId") Long semesterId, @Param("dpr") DataPermissionRule dpr);
+
+    List<ObeCultureProgram> listCultureProgramForDegree(@Param("schoolId") Long schoolId, @Param("dpr") DataPermissionRule dpr);
+}

+ 1 - 1
teachcloud-obe/src/main/java/com/qmth/teachcloud/obe/service/BasicProfessionalService.java

@@ -4,7 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.qmth.teachcloud.obe.been.dto.professional.ProfessionalDto;
-import com.qmth.teachcloud.obe.entity.BasicProfessional;
+import com.qmth.teachcloud.common.entity.BasicProfessional;
 
 import java.util.List;
 

+ 25 - 0
teachcloud-obe/src/main/java/com/qmth/teachcloud/obe/service/ObeConditionService.java

@@ -0,0 +1,25 @@
+package com.qmth.teachcloud.obe.service;
+
+
+import com.qmth.teachcloud.common.bean.result.DictionaryResult;
+import com.qmth.teachcloud.common.entity.BasicCourse;
+import com.qmth.teachcloud.common.entity.BasicProfessional;
+import com.qmth.teachcloud.obe.entity.ObeCultureProgram;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 查询条件 服务类
+ * </p>
+ */
+public interface ObeConditionService {
+
+    List<BasicProfessional> listProfessional();
+
+    List<ObeCultureProgram> listCultureProgram(Long professionalId);
+
+    List<DictionaryResult> listOutlineSemester(Long professionalId, Long cultureProgramId);
+
+    List<BasicCourse> listCultureProgramCourse(Long professionalId, Long cultureProgramId, Long semesterId);
+}

+ 1 - 1
teachcloud-obe/src/main/java/com/qmth/teachcloud/obe/service/impl/BasicProfessionalServiceImpl.java

@@ -13,7 +13,7 @@ import com.qmth.teachcloud.common.service.BasicRoleDataPermissionService;
 import com.qmth.teachcloud.common.service.SysOrgService;
 import com.qmth.teachcloud.common.util.ServletUtil;
 import com.qmth.teachcloud.obe.been.dto.professional.ProfessionalDto;
-import com.qmth.teachcloud.obe.entity.BasicProfessional;
+import com.qmth.teachcloud.common.entity.BasicProfessional;
 import com.qmth.teachcloud.obe.entity.ObeCultureProgram;
 import com.qmth.teachcloud.obe.mapper.BasicProfessionalMapper;
 import com.qmth.teachcloud.obe.service.BasicProfessionalService;

+ 74 - 0
teachcloud-obe/src/main/java/com/qmth/teachcloud/obe/service/impl/ObeConditionServiceImpl.java

@@ -0,0 +1,74 @@
+package com.qmth.teachcloud.obe.service.impl;
+
+import com.qmth.teachcloud.common.bean.dto.DataPermissionRule;
+import com.qmth.teachcloud.common.bean.result.DictionaryResult;
+import com.qmth.teachcloud.common.entity.BasicCourse;
+import com.qmth.teachcloud.common.entity.BasicProfessional;
+import com.qmth.teachcloud.common.service.BasicRoleDataPermissionService;
+import com.qmth.teachcloud.common.util.ServletUtil;
+import com.qmth.teachcloud.obe.entity.ObeCultureProgram;
+import com.qmth.teachcloud.obe.mapper.ObeConditionMapper;
+import com.qmth.teachcloud.obe.service.ObeConditionService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * <p>
+ * 查询条件 服务实现类
+ * </p>
+ */
+@Service
+public class ObeConditionServiceImpl implements ObeConditionService {
+
+    @Resource
+    BasicRoleDataPermissionService basicRoleDataPermissionService;
+    @Resource
+    ObeConditionMapper obeConditionMapper;
+
+    @Override
+    public List<BasicProfessional> listProfessional() {
+        Long privilegeId = ServletUtil.getCurrentPrivilegeId();
+        DataPermissionRule dpr = basicRoleDataPermissionService.findDataPermission(privilegeId);
+        Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
+        // 未找到权限菜单,默认为本人权限
+        return obeConditionMapper.listProfessional(schoolId, dpr);
+    }
+
+    @Override
+    public List<ObeCultureProgram> listCultureProgram(Long professionalId) {
+        List<ObeCultureProgram> result = new ArrayList<>();
+        Long privilegeId = ServletUtil.getCurrentPrivilegeId();
+        DataPermissionRule dpr = basicRoleDataPermissionService.findDataPermission(privilegeId);
+        Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
+        String privilegeIdString = privilegeId == null ? null : String.valueOf(privilegeId);
+        // 课程大纲管理、课程考核设置
+        if ("3000".equals(privilegeIdString) || "3001".equals(privilegeIdString) || "2080".equals(privilegeIdString)) {
+            result = obeConditionMapper.listCultureProgram(schoolId, professionalId, dpr);
+        }
+        // 课程目标达成度统计、成绩管理
+        else if ("2002".equals(privilegeIdString) || "2001".equals(privilegeIdString)) {
+            result = obeConditionMapper.listCultureProgramForDegree(schoolId, dpr);
+        }
+        return result;
+    }
+
+    @Override
+    public List<DictionaryResult> listOutlineSemester(Long professionalId, Long cultureProgramId) {
+        Long privilegeId = ServletUtil.getCurrentPrivilegeId();
+        DataPermissionRule dpr = basicRoleDataPermissionService.findDataPermission(privilegeId);
+        Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
+
+        return obeConditionMapper.listOutlineSemester(schoolId, professionalId, cultureProgramId, dpr);
+    }
+
+    @Override
+    public List<BasicCourse> listCultureProgramCourse(Long professionalId, Long cultureProgramId, Long semesterId) {
+        Long privilegeId = ServletUtil.getCurrentPrivilegeId();
+        DataPermissionRule dpr = basicRoleDataPermissionService.findDataPermission(privilegeId);
+        Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
+        return obeConditionMapper.listCultureProgramCourse(schoolId, professionalId, cultureProgramId, semesterId, dpr);
+    }
+}

+ 1 - 0
teachcloud-obe/src/main/java/com/qmth/teachcloud/obe/service/impl/TRBasicInfoServiceImpl.java

@@ -13,6 +13,7 @@ import com.qmth.distributed.print.business.bean.dto.ExamStudentDto;
 import com.qmth.distributed.print.business.service.ExamStudentService;
 import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.entity.BasicCourse;
+import com.qmth.teachcloud.common.entity.BasicProfessional;
 import com.qmth.teachcloud.common.entity.BasicSemester;
 import com.qmth.teachcloud.common.entity.SysUser;
 import com.qmth.teachcloud.common.enums.ExceptionResultEnum;

+ 1 - 1
teachcloud-obe/src/main/resources/mapper/BasicProfessionalMapper.xml

@@ -3,7 +3,7 @@
 <mapper namespace="com.qmth.teachcloud.obe.mapper.BasicProfessionalMapper">
 
     <!-- 通用查询映射结果 -->
-    <resultMap id="BaseResultMap" type="com.qmth.teachcloud.obe.entity.BasicProfessional">
+    <resultMap id="BaseResultMap" type="com.qmth.teachcloud.common.entity.BasicProfessional">
         <id column="id" property="id" />
         <result column="school_id" property="schoolId" />
         <result column="name" property="name" />

+ 188 - 0
teachcloud-obe/src/main/resources/mapper/ObeConditionMapper.xml

@@ -0,0 +1,188 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="com.qmth.teachcloud.obe.mapper.ObeConditionMapper">
+    <select id="listProfessional" resultType="com.qmth.teachcloud.common.entity.BasicProfessional"
+            parameterType="com.qmth.teachcloud.common.bean.dto.DataPermissionRule">
+        select
+        bp.id,
+        bp.name,
+        so.name orgName
+        from basic_professional bp
+        left join sys_org so on bp.org_id = so.id
+        <where>
+            <if test="schoolId != null">
+                and bp.school_id = #{schoolId}
+            </if>
+            <if test="dpr != null">
+                <if test="dpr.requestUserId != null">
+                    AND bp.create_id = #{dpr.requestUserId}
+                </if>
+                <if test="dpr.orgIdSet != null and dpr.orgIdSet != '' and dpr.orgIdSet.size > 0">
+                    AND bp.org_id IN
+                    <foreach collection="dpr.orgIdSet" item="item" index="index" open="(" separator="," close=")">
+                        #{item}
+                    </foreach>
+                </if>
+            </if>
+        </where>
+    </select>
+    <select id="listCultureProgram" resultType="com.qmth.teachcloud.obe.entity.ObeCultureProgram">
+        SELECT
+        ocp.*
+        FROM
+        obe_culture_program ocp
+        <where>
+            <if test="professionalId != null">
+                AND ocp.professional_id = #{professionalId}
+            </if>
+            AND EXISTS( SELECT
+            1
+            FROM
+            obe_course_outline oco
+            LEFT JOIN
+            basic_course bc on oco.course_id = bc.id
+            LEFT JOIN
+            sys_user su ON oco.user_id = su.id
+            WHERE
+            ocp.id = oco.culture_program_id
+            <if test="schoolId != null">
+                AND oco.school_id = #{schoolId}
+            </if>
+            <if test="dpr != null">
+                <if test="dpr.requestUserId != null">
+                    AND oco.user_id = #{dpr.requestUserId}
+                </if>
+                <if test="dpr.courseUserId != null">
+                    AND EXISTS( SELECT 1 FROM (select course_code from teach_course where user_id = #{dpr.courseUserId}) tc WHERE tc.course_code = bc.code)
+                </if>
+                <if test="dpr.orgIdSet != null and dpr.orgIdSet != '' and dpr.orgIdSet.size > 0">
+                    AND su.org_id IN
+                    <foreach collection="dpr.orgIdSet" item="item" index="index" open="(" separator="," close=")">
+                        #{item}
+                    </foreach>
+                </if>
+            </if>
+            )
+        </where>
+    </select>
+
+
+    <select id="listOutlineSemester" resultType="com.qmth.teachcloud.common.bean.result.DictionaryResult">
+        SELECT
+        id AS id, name AS name, code AS code
+        FROM
+        basic_semester bs
+        <where>
+            AND EXISTS( SELECT
+            1
+            FROM
+            obe_course_outline oco
+            LEFT JOIN
+            obe_culture_program ocp ON oco.culture_program_id = ocp.id
+            LEFT JOIN
+            sys_user su ON oco.user_id = su.id
+            WHERE
+            oco.semester_id = bs.id
+            <if test="schoolId != null">
+                AND oco.school_id = #{schoolId}
+            </if>
+            <if test="professionalId != null">
+                AND ocp.professional_id = #{professionalId}
+            </if>
+            <if test="cultureProgramId != null">
+                AND oco.culture_program_id = #{cultureProgramId}
+            </if>
+            <if test="dpr != null">
+                <if test="dpr.requestUserId != null">
+                    AND oco.user_id = #{dpr.requestUserId}
+                </if>
+                <if test="dpr.orgIdSet != null and dpr.orgIdSet != '' and dpr.orgIdSet.size > 0">
+                    AND su.org_id IN
+                    <foreach collection="dpr.orgIdSet" item="item" index="index" open="(" separator="," close=")">
+                        #{item}
+                    </foreach>
+                </if>
+            </if>
+            )
+        </where>
+    </select>
+
+    <select id="listCultureProgramCourse"
+            resultType="com.qmth.teachcloud.common.entity.BasicCourse">
+        SELECT
+        bc.*
+        FROM
+        basic_course bc
+        <where>
+            AND EXISTS( SELECT
+            1
+            FROM
+            obe_course_outline oco
+            LEFT JOIN
+            obe_culture_program ocp ON oco.culture_program_id = ocp.id
+            LEFT JOIN
+            sys_user su ON oco.user_id = su.id
+            WHERE
+            bc.id = oco.course_id
+            <if test="schoolId != null">
+                AND oco.school_id = #{schoolId}
+            </if>
+            <if test="professionalId != null">
+                AND ocp.professional_id = #{professionalId}
+            </if>
+            <if test="cultureProgramId != null">
+                AND oco.culture_program_id = #{cultureProgramId}
+            </if>
+            <if test="semesterId != null">
+                AND oco.semester_id = #{semesterId}
+            </if>
+            <if test="dpr != null">
+                <if test="dpr.requestUserId != null">
+                    AND oco.user_id = #{dpr.requestUserId}
+                </if>
+                <if test="dpr.orgIdSet != null and dpr.orgIdSet != '' and dpr.orgIdSet.size > 0">
+                    AND su.org_id IN
+                    <foreach collection="dpr.orgIdSet" item="item" index="index" open="(" separator="," close=")">
+                        #{item}
+                    </foreach>
+                </if>
+            </if>
+            )
+        </where>
+    </select>
+    <select id="listCultureProgramForDegree"
+            resultType="com.qmth.teachcloud.obe.entity.ObeCultureProgram">
+        SELECT
+        *
+        FROM
+        obe_culture_program ocp
+        WHERE
+        EXISTS( SELECT
+        1
+        FROM
+        obe_course_outline oco
+        LEFT JOIN
+        basic_course bc ON oco.course_id = bc.id
+        LEFT JOIN
+        sys_user su ON oco.user_id = su.id
+        WHERE
+        ocp.id = oco.culture_program_id
+        <if test="schoolId != null">
+            AND oco.school_id = #{schoolId}
+        </if>
+        <if test="dpr != null">
+            <if test="dpr.requestUserId != null">
+                AND oco.user_id = #{dpr.requestUserId}
+            </if>
+            <if test="dpr.courseUserId != null">
+                AND EXISTS( SELECT 1 FROM (select course_code from teach_course where user_id = #{dpr.courseUserId}) tc WHERE tc.course_code = bc.code)
+            </if>
+            <if test="dpr.orgIdSet != null and dpr.orgIdSet != '' and dpr.orgIdSet.size > 0">
+                AND su.org_id IN
+                <foreach collection="dpr.orgIdSet" item="item" index="index" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </if>
+        </if>)
+    </select>
+</mapper>