xiaofei 1 年間 前
コミット
818c96d43f

+ 3 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/ObeCultureProgramCourseMapper.java

@@ -1,5 +1,7 @@
 package com.qmth.distributed.print.business.mapper;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.qmth.distributed.print.business.bean.result.obe.cultureProgram.CultureProgramCourseSelectResult;
 import com.qmth.distributed.print.business.entity.ObeCultureProgramCourse;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -18,7 +20,7 @@ import java.util.Set;
  */
 public interface ObeCultureProgramCourseMapper extends BaseMapper<ObeCultureProgramCourse> {
 
-    List<CultureProgramCourseSelectResult> queryList(@Param("cultureProgramId") Long cultureProgramId, @Param("orgIdSet") Set<Long> orgIdSet);
+    IPage<CultureProgramCourseSelectResult> queryList(Page<CultureProgramCourseSelectResult> page, @Param("cultureProgramId") Long cultureProgramId, @Param("orgIdSet") Set<Long> orgIdSet, @Param("courseCodeOrName") String courseCodeOrName);
 
     List<ObeCultureProgramCourse> listCourse(Long cultureProgramId);
 }

+ 2 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/ObeCultureProgramCourseService.java

@@ -1,5 +1,6 @@
 package com.qmth.distributed.print.business.service;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.qmth.distributed.print.business.bean.params.obe.cultureProgram.ObeCultureProgramCourseParam;
 import com.qmth.distributed.print.business.bean.result.obe.cultureProgram.CultureProgramCourseSelectResult;
@@ -18,7 +19,7 @@ import java.util.Map;
  */
 public interface ObeCultureProgramCourseService extends IService<ObeCultureProgramCourse> {
 
-    List<CultureProgramCourseSelectResult> queryList(Long cultureProgramId, Long orgId);
+    IPage<CultureProgramCourseSelectResult> queryList(Long cultureProgramId, Long orgId, String courseCodeOrName, Integer pageNumber, Integer pageSize);
 
     List<ObeCultureProgramCourse> listCourse(Long cultureProgramId);
 

+ 8 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/BasicProfessionalServiceImpl.java

@@ -6,8 +6,10 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qmth.distributed.print.business.bean.dto.professional.ProfessionalDto;
 import com.qmth.distributed.print.business.entity.BasicProfessional;
+import com.qmth.distributed.print.business.entity.ObeCultureProgram;
 import com.qmth.distributed.print.business.mapper.BasicProfessionalMapper;
 import com.qmth.distributed.print.business.service.BasicProfessionalService;
+import com.qmth.distributed.print.business.service.ObeCultureProgramService;
 import com.qmth.teachcloud.common.bean.dto.DataPermissionRule;
 import com.qmth.teachcloud.common.entity.SysOrg;
 import com.qmth.teachcloud.common.entity.SysUser;
@@ -35,6 +37,8 @@ public class BasicProfessionalServiceImpl extends ServiceImpl<BasicProfessionalM
     @Resource
     private BasicRoleDataPermissionService basicRoleDataPermissionService;
     @Resource
+    private ObeCultureProgramService obeCultureProgramService;
+    @Resource
     private SysOrgService sysOrgService;
 
     @Override
@@ -75,6 +79,10 @@ public class BasicProfessionalServiceImpl extends ServiceImpl<BasicProfessionalM
 
     @Override
     public boolean remove(Long id) {
+        // 校验是否添加了培养方案
+        if(obeCultureProgramService.count(new QueryWrapper<ObeCultureProgram>().lambda().eq(ObeCultureProgram::getProfessionalId, id))>0){
+            throw ExceptionResultEnum.ERROR.exception("专业已创建了培养方案,不能删除");
+        }
         return this.removeById(id);
     }
 }

+ 4 - 4
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ObeCultureProgramCourseServiceImpl.java

@@ -2,6 +2,8 @@ package com.qmth.distributed.print.business.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qmth.distributed.print.business.bean.params.obe.cultureProgram.ObeCultureProgramCourseParam;
 import com.qmth.distributed.print.business.bean.result.obe.cultureProgram.CultureProgramCourseSelectResult;
@@ -12,9 +14,7 @@ import com.qmth.distributed.print.business.service.ObeCourseRequirementMatrixSer
 import com.qmth.distributed.print.business.service.ObeCultureProgramCourseService;
 import com.qmth.distributed.print.business.service.ObeCultureProgramService;
 import com.qmth.teachcloud.common.contant.SystemConstant;
-import com.qmth.teachcloud.common.entity.BasicCourse;
 import com.qmth.teachcloud.common.entity.SysUser;
-import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
 import com.qmth.teachcloud.common.service.SysOrgService;
 import com.qmth.teachcloud.common.util.ServletUtil;
 import org.apache.commons.collections4.CollectionUtils;
@@ -44,13 +44,13 @@ public class ObeCultureProgramCourseServiceImpl extends ServiceImpl<ObeCulturePr
     private ObeCourseRequirementMatrixService obeCourseRequirementMatrixService;
 
     @Override
-    public List<CultureProgramCourseSelectResult> queryList(Long cultureProgramId, Long orgId) {
+    public IPage<CultureProgramCourseSelectResult> queryList(Long cultureProgramId, Long orgId, String courseCodeOrName, Integer pageNumber, Integer pageSize) {
         if (orgId == null) {
             return null;
         }
         Set<Long> orgIdSet = sysOrgService.findDeepOrgIdListByOrgIdList(Arrays.asList(orgId));
 
-        return this.baseMapper.queryList(cultureProgramId, orgIdSet);
+        return this.baseMapper.queryList(new Page<CultureProgramCourseSelectResult>(pageNumber, pageSize), cultureProgramId, orgIdSet, courseCodeOrName);
     }
 
     @Override

+ 5 - 0
distributed-print-business/src/main/resources/mapper/ObeCultureProgramCourseMapper.xml

@@ -47,6 +47,11 @@
                 culture_program_id = #{cultureProgramId}) ocpc ON bc.id = ocpc.course_id
                 LEFT JOIN
             sys_org so ON bc.teaching_room_id = so.id
+            <where>
+                <if test="courseCodeOrName != null and courseCodeOrName != ''">
+                    and (bc.code like concat('%', #{courseCodeOrName}, '%') or bc.name like concat('%', #{courseCodeOrName}, '%'))
+                </if>
+            </where>
     </select>
     <select id="listCourse" resultType="com.qmth.distributed.print.business.entity.ObeCultureProgramCourse"
             parameterType="java.lang.Long">

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

@@ -15,6 +15,7 @@ import com.qmth.teachcloud.common.util.Result;
 import com.qmth.teachcloud.common.util.ResultUtil;
 import com.qmth.teachcloud.common.util.ServletUtil;
 import io.swagger.annotations.*;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.validation.BindingResult;
 import org.springframework.validation.annotation.Validated;
@@ -150,9 +151,12 @@ public class BasicCourseController {
     @ApiOperation(value = "课程管理-查询")
     @RequestMapping(value = "/list_by_org", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = Result.class)})
-    public Result findBasicCourseListByOrg(@ApiParam(value = "考试id", required = true) @RequestParam String examId,
+    public Result findBasicCourseListByOrg(@ApiParam(value = "考试id") @RequestParam(required = false) String examId,
                                            @ApiParam(value = "所属机构id", required = true) @RequestParam String belongOrgId,
                                            @ApiParam(value = "课程名称") @RequestParam(required = false) String courseName) {
+        if(StringUtils.isBlank(examId)){
+            throw ExceptionResultEnum.EXAM_ID_IS_NULL.exception();
+        }
         SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
         return ResultUtil.ok(basicCourseService.listByOrgId(SystemConstant.convertIdToLong(belongOrgId), SystemConstant.convertIdToLong(examId),courseName, sysUser));
     }

+ 5 - 2
distributed-print/src/main/java/com/qmth/distributed/print/api/ObeCultureProgramController.java

@@ -169,8 +169,11 @@ public class ObeCultureProgramController {
     @RequestMapping(value = "/course/query_list", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "分页查询", response = Result.class)})
     public Result queryList(@ApiParam(value = "培养方案ID", required = true) @RequestParam Long cultureProgramId,
-                            @ApiParam(value = "机构ID") @RequestParam(required = false) Long orgId) {
-        return ResultUtil.ok(obeCultureProgramCourseService.queryList(cultureProgramId, orgId));
+                            @ApiParam(value = "机构ID") @RequestParam(required = false) Long orgId,
+                            @ApiParam(value = "课程名称/代码模糊查询") @RequestParam(required = false) String courseCodeOrName,
+                            @ApiParam(value = "分页页码", required = true) @RequestParam @Min(SystemConstant.PAGE_NUMBER_MIN) Integer pageNumber,
+                            @ApiParam(value = "分页数", required = true) @RequestParam @Min(SystemConstant.PAGE_SIZE_MIN) @Max(SystemConstant.PAGE_SIZE_MAX) Integer pageSize) {
+        return ResultUtil.ok(obeCultureProgramCourseService.queryList(cultureProgramId, orgId, courseCodeOrName, pageNumber, pageSize));
     }
 
     @ApiOperation(value = "课程体系-列表")