Ver código fonte

3.3.4 update

xiaofei 1 ano atrás
pai
commit
fe13f0a0ac

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

@@ -330,4 +330,12 @@ public interface PrintCommonService {
      * @param paperNumber
      */
     public void getLock(Long cultureProgramId, Long courseId, String paperNumber);
+
+    /**
+     * 校验方案下课程是否已导入成绩
+     *
+     * @param cultureProgramId 培养方案ID
+     * @param courseId         课程ID
+     */
+    void checkUsualOrFinalScoreExist(Long cultureProgramId, Long courseId);
 }

+ 7 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ObeCourseOutlineServiceImpl.java

@@ -60,13 +60,15 @@ public class ObeCourseOutlineServiceImpl extends ServiceImpl<ObeCourseOutlineMap
 
     @Resource
     private ObeCourseRequirementDimensionService obeCourseRequirementDimensionService;
+    @Resource
+    private PrintCommonService printCommonService;
 
     @Resource
     private SysOrgService sysOrgService;
 
     @Override
     public IPage<ObeCourseOutlineResult> findObeCourseOutlinePage(Long professionalId, Long cultureProgramId, Long courseId,
-            String courseOutlineName, int pageNumber, int pageSize) {
+                                                                  String courseOutlineName, int pageNumber, int pageSize) {
         SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
         Long schoolId = requestUser.getSchoolId();
         courseOutlineName = SystemConstant.translateSpecificSign(courseOutlineName);
@@ -131,6 +133,10 @@ public class ObeCourseOutlineServiceImpl extends ServiceImpl<ObeCourseOutlineMap
 
     @Override
     public void removeObeCourseOutline(Long id) {
+        ObeCourseOutline obeCourseOutline = this.getById(id);
+        // 校验成绩是否已导入
+        printCommonService.checkUsualOrFinalScoreExist(obeCourseOutline.getCultureProgramId(), obeCourseOutline.getCourseId());
+
         // 删除知识点
         obeCourseDimensionService.remove(
                 new QueryWrapper<ObeCourseDimension>().lambda().eq(ObeCourseDimension::getObeCourseOutlineId, id));

+ 8 - 7
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ObeCultureProgramServiceImpl.java

@@ -16,6 +16,7 @@ import com.qmth.teachcloud.common.entity.SysUser;
 import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
 import com.qmth.teachcloud.common.service.BasicRoleDataPermissionService;
 import com.qmth.teachcloud.common.util.ServletUtil;
+import org.apache.commons.collections4.CollectionUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -87,8 +88,11 @@ public class ObeCultureProgramServiceImpl extends ServiceImpl<ObeCultureProgramM
     @Transactional
     @Override
     public boolean delete(Long id) {
-        // 删除培养方案
-        this.removeById(id);
+        // 删除课程大纲
+        List<ObeCourseOutline> obeCourseOutlines = obeCourseOutlineService.findByCultureProgramId(id);
+        if(CollectionUtils.isNotEmpty(obeCourseOutlines)){
+            throw ExceptionResultEnum.ERROR.exception("该培养方案下的课程已存在课程大纲数据,不允许删除");
+        }
         // 删除培养目标
         obeCultureProgramTargetService.removeByCultureProgramId(id);
         // 删除毕业要求
@@ -99,11 +103,8 @@ public class ObeCultureProgramServiceImpl extends ServiceImpl<ObeCultureProgramM
         obeCultureProgramCourseService.removeByCultureProgramId(id);
         // 删除课程毕业要求关系矩阵
         obeCourseRequirementMatrixService.removeMatrixByCondition(new ObeCourseRequirementMatrix(id, null, null, null));
-        // 删除课程大纲
-        List<ObeCourseOutline> obeCourseOutlines = obeCourseOutlineService.findByCultureProgramId(id);
-        for (ObeCourseOutline obeCourseOutline : obeCourseOutlines) {
-            obeCourseOutlineService.removeObeCourseOutline(obeCourseOutline.getId());
-        }
+        // 删除培养方案
+        this.removeById(id);
         return true;
     }
 

+ 18 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/PrintCommonServiceImpl.java

@@ -157,6 +157,8 @@ public class PrintCommonServiceImpl implements PrintCommonService {
 
     @Resource
     TCUsualScoreMapper tcUsualScoreMapper;
+    @Resource
+    TCUsualScoreService tcUsualScoreService;
 
     @Resource
     BasicRoleDataPermissionService basicRoleDataPermissionService;
@@ -540,6 +542,22 @@ public class PrintCommonServiceImpl implements PrintCommonService {
         tcPaperStructService.getPaperStructImportLock(cultureProgramId, courseId, paperNumber);
     }
 
+    @Override
+    public void checkUsualOrFinalScoreExist(Long cultureProgramId, Long courseId) {
+        QueryWrapper<TCUsualScore> tcUsualScoreQueryWrapper = new QueryWrapper<>();
+        tcUsualScoreQueryWrapper.lambda().eq(TCUsualScore::getCultureProgramId, cultureProgramId)
+                .eq(TCUsualScore::getCourseId, courseId);
+        if (tcUsualScoreService.count(tcUsualScoreQueryWrapper) > 0){
+            throw ExceptionResultEnum.ERROR.exception("已导入平时成绩,无法删除");
+        }
+        QueryWrapper<TCFinalScore> tcFinalScoreQueryWrapper = new QueryWrapper<>();
+        tcFinalScoreQueryWrapper.lambda().eq(TCFinalScore::getCultureProgramId, cultureProgramId)
+                .eq(TCFinalScore::getCourseId, courseId);
+        if (tcUsualScoreService.count(tcUsualScoreQueryWrapper) > 0){
+            throw ExceptionResultEnum.ERROR.exception("已导入期末成绩,无法删除");
+        }
+    }
+
     /**
      * 保存html附件
      *

+ 1 - 1
distributed-print/install/config.ini

@@ -1,5 +1,5 @@
 [app]
-version=3.3.3
+version=3.3.4
 name=֪ѧ֪¿¼
 portal=http://localhost:7400/
 module=print,task

Diferenças do arquivo suprimidas por serem muito extensas
+ 1879 - 1353
distributed-print/install/mysql/init/teachcloud_db.sql


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

@@ -43,13 +43,13 @@ public class ObeCourseOutlineController {
     public Result findObeCourseOutlinePage(@ApiParam(value = "专业id") @RequestParam(required = false) String professionalId,
             @ApiParam(value = "培养方案id") @RequestParam(required = false) String cultureProgramId,
             @ApiParam(value = "课程id") @RequestParam(required = false) String courseId,
-            @ApiParam(value = "课程大纲名称(模糊查询)") @RequestParam(required = false) String courseOutlineName,
+            @ApiParam(value = "课程大纲名称(模糊查询)") @RequestParam(required = false) String name,
             @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(obeCourseOutlineService.findObeCourseOutlinePage(SystemConstant.convertIdToLong(professionalId),
                 SystemConstant.convertIdToLong(cultureProgramId), SystemConstant.convertIdToLong(courseId),
-                courseOutlineName, pageNumber, pageSize));
+                name, pageNumber, pageSize));
     }
 
     @ApiOperation(value = "课程考核设置-查询")

Alguns arquivos não foram mostrados porque muitos arquivos mudaram nesse diff