Ver Fonte

add:代码修改

caozixuan há 1 ano atrás
pai
commit
ff85527ce7

+ 22 - 12
distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/dto/CourseWeightDto.java

@@ -22,6 +22,12 @@ public class CourseWeightDto {
     @ApiModelProperty("课程目标名称")
     private String courseTargetName;
 
+    @ApiModelProperty("指标点id")
+    private Long obeCultureProgramRequirementId;
+
+    @ApiModelProperty("指标点名称")
+    private String obeCultureProgramRequirementName;
+
     @ApiModelProperty("毕业要求指标(评价依据)")
     private List<CourseDimensionDto> dimensionList;
 
@@ -37,18 +43,6 @@ public class CourseWeightDto {
     @ApiModelProperty("评价方式权重详情")
     private List<CourseWeightDetailDto> evaluationList;
 
-    public CourseWeightDto() {
-
-    }
-
-    public CourseWeightDto(Long courseTargetId, String courseTargetName, String degreeRequirement, BigDecimal totalWeight, List<CourseWeightDetailDto> evaluationList) {
-        this.courseTargetId = courseTargetId;
-        this.courseTargetName = courseTargetName;
-        this.degreeRequirement = degreeRequirement;
-        this.totalWeight = totalWeight;
-        this.evaluationList = evaluationList;
-    }
-
     public Long getCourseTargetId() {
         return courseTargetId;
     }
@@ -65,6 +59,22 @@ public class CourseWeightDto {
         this.courseTargetName = courseTargetName;
     }
 
+    public Long getObeCultureProgramRequirementId() {
+        return obeCultureProgramRequirementId;
+    }
+
+    public void setObeCultureProgramRequirementId(Long obeCultureProgramRequirementId) {
+        this.obeCultureProgramRequirementId = obeCultureProgramRequirementId;
+    }
+
+    public String getObeCultureProgramRequirementName() {
+        return obeCultureProgramRequirementName;
+    }
+
+    public void setObeCultureProgramRequirementName(String obeCultureProgramRequirementName) {
+        this.obeCultureProgramRequirementName = obeCultureProgramRequirementName;
+    }
+
     public List<CourseDimensionDto> getDimensionList() {
         return dimensionList;
     }

+ 19 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/ObeCourseOutlineMapper.java

@@ -3,12 +3,15 @@ package com.qmth.distributed.print.business.mapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.qmth.distributed.print.business.bean.result.DictionaryResult;
 import com.qmth.distributed.print.business.bean.result.ObeCourseBasicInfoResult;
 import com.qmth.distributed.print.business.bean.result.ObeCourseOutlineResult;
 import com.qmth.distributed.print.business.entity.ObeCourseOutline;
 import com.qmth.teachcloud.common.bean.dto.DataPermissionRule;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
+
 /**
  * <p>
  * 课程大纲表 Mapper 接口
@@ -30,4 +33,20 @@ public interface ObeCourseOutlineMapper extends BaseMapper<ObeCourseOutline> {
      * @return 课程基本信息
      */
     ObeCourseBasicInfoResult findCourseBasicInfo(@Param("obeCourseOutlineId") Long obeCourseOutlineId);
+
+    /**
+     * 查询可选培养方案
+     *
+     * @param dpr 数据权限
+     * @return 可选培养方案
+     */
+    List<DictionaryResult> findCanChooseCultureProgram(@Param("dpr") DataPermissionRule dpr);
+
+    /**
+     * 查询可选课程
+     *
+     * @param obeCultureProgramId 培养方案id
+     * @return 可选课程
+     */
+    List<DictionaryResult> findCanChooseCourse(@Param("obeCultureProgramId") Long obeCultureProgramId);
 }

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

@@ -4,11 +4,14 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.qmth.distributed.print.business.bean.params.ObeCourseOutlineParam;
 import com.qmth.distributed.print.business.bean.result.CourseWeightSettingStatusResult;
+import com.qmth.distributed.print.business.bean.result.DictionaryResult;
 import com.qmth.distributed.print.business.bean.result.ObeCourseBasicInfoResult;
 import com.qmth.distributed.print.business.bean.result.ObeCourseOutlineResult;
 import com.qmth.distributed.print.business.entity.ObeCourseOutline;
 import com.qmth.distributed.print.business.enums.CourseSettingTypeEnum;
 
+import java.util.List;
+
 /**
  * <p>
  * 课程大纲表 服务类
@@ -77,4 +80,19 @@ public interface ObeCourseOutlineService extends IService<ObeCourseOutline> {
      * @return 课程基本信息
      */
     ObeCourseBasicInfoResult findCourseBasicInfo(Long obeCourseOutlineId);
+
+    /**
+     * 查询可选择的培养方案
+     *
+     * @return 培养方案
+     */
+    List<DictionaryResult> findCanChooseCultureProgram();
+
+    /**
+     * 查询可选择的课程
+     *
+     * @param cultureProgramId 培养方案id
+     * @return 课程
+     */
+    List<DictionaryResult> findCanChooseCourse(Long cultureProgramId);
 }

+ 15 - 2
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ObeCourseOutlineServiceImpl.java

@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qmth.distributed.print.business.bean.params.ObeCourseOutlineParam;
 import com.qmth.distributed.print.business.bean.result.CourseWeightSettingStatusResult;
+import com.qmth.distributed.print.business.bean.result.DictionaryResult;
 import com.qmth.distributed.print.business.bean.result.ObeCourseBasicInfoResult;
 import com.qmth.distributed.print.business.bean.result.ObeCourseOutlineResult;
 import com.qmth.distributed.print.business.entity.*;
@@ -26,6 +27,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
+import java.util.List;
 import java.util.Objects;
 
 /**
@@ -148,8 +150,7 @@ public class ObeCourseOutlineServiceImpl extends ServiceImpl<ObeCourseOutlineMap
     public void removeAssessmentSetting(Long id) {
         // 删除课程评价方式
         obeCourseEvaluationService.remove(
-                new QueryWrapper<ObeCourseEvaluation>().lambda()
-                        .eq(ObeCourseEvaluation::getObeCourseOutlineId, id)
+                new QueryWrapper<ObeCourseEvaluation>().lambda().eq(ObeCourseEvaluation::getObeCourseOutlineId, id)
                         .eq(ObeCourseEvaluation::getType, CourseEvaluationTypeEnum.CUSTOM));
         // 删除权重设置
         obeCourseWeightService.deleteCourseWeight(id);
@@ -206,4 +207,16 @@ public class ObeCourseOutlineServiceImpl extends ServiceImpl<ObeCourseOutlineMap
     public ObeCourseBasicInfoResult findCourseBasicInfo(Long obeCourseOutlineId) {
         return this.baseMapper.findCourseBasicInfo(obeCourseOutlineId);
     }
+
+    @Override
+    public List<DictionaryResult> findCanChooseCultureProgram() {
+        Long privilegeId = ServletUtil.getCurrentPrivilegeId();
+        DataPermissionRule dpr = basicRoleDataPermissionService.findDataPermission(privilegeId);
+        return this.baseMapper.findCanChooseCultureProgram(dpr);
+    }
+
+    @Override
+    public List<DictionaryResult> findCanChooseCourse(Long cultureProgramId) {
+        return this.baseMapper.findCanChooseCourse(cultureProgramId);
+    }
 }

+ 12 - 5
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ObeCourseWeightServiceImpl.java

@@ -10,10 +10,7 @@ import com.qmth.distributed.print.business.bean.params.ObeCourseWeightParam;
 import com.qmth.distributed.print.business.bean.result.ObeCourseEvaluationResult;
 import com.qmth.distributed.print.business.bean.result.ObeCourseTargetResult;
 import com.qmth.distributed.print.business.bean.result.ObeCourseWeightResult;
-import com.qmth.distributed.print.business.entity.ObeCourseEvaluation;
-import com.qmth.distributed.print.business.entity.ObeCourseOutline;
-import com.qmth.distributed.print.business.entity.ObeCourseTarget;
-import com.qmth.distributed.print.business.entity.ObeCourseWeight;
+import com.qmth.distributed.print.business.entity.*;
 import com.qmth.distributed.print.business.enums.CourseEvaluationTypeEnum;
 import com.qmth.distributed.print.business.enums.CourseSettingTypeEnum;
 import com.qmth.distributed.print.business.mapper.ObeCourseWeightMapper;
@@ -54,6 +51,9 @@ public class ObeCourseWeightServiceImpl extends ServiceImpl<ObeCourseWeightMappe
     @Resource
     private ObeCourseRequirementDimensionService obeCourseRequirementDimensionService;
 
+    @Resource
+    private ObeCultureProgramRequirementService obeCultureProgramRequirementService;
+
     @Override
     public ObeCourseWeightResult findCourseWeight(Long obeCourseOutlineId) {
         ObeCourseOutline courseOutline = obeCourseOutlineService.getById(obeCourseOutlineId);
@@ -84,6 +84,11 @@ public class ObeCourseWeightServiceImpl extends ServiceImpl<ObeCourseWeightMappe
                 Long targetId = courseTarget.getId();
                 String targetName = courseTarget.getTargetName();
                 Long obeCultureProgramRequirementId = courseTarget.getObeCultureProgramRequirementId();
+                ObeCultureProgramRequirement obeCultureProgramRequirement = obeCultureProgramRequirementService.getById(
+                        obeCultureProgramRequirementId);
+                if (Objects.isNull(obeCultureProgramRequirement)) {
+                    throw ExceptionResultEnum.ERROR.exception("培养方案毕业要求指标点不存在");
+                }
 
                 List<CourseDimensionDto> dimensionList = obeCourseRequirementDimensionService.findByOutlineIdAndRequirementId(
                         obeCourseOutlineId, obeCultureProgramRequirementId);
@@ -128,9 +133,11 @@ public class ObeCourseWeightServiceImpl extends ServiceImpl<ObeCourseWeightMappe
                 courseWeightDto.analyzeDimensionStr();
                 courseWeightDto.setDegreeRequirement(degreeRequirement);
                 courseWeightDto.setTotalWeight(totalWeight);
-//                courseWeightDto.setTotalScore(totalScore);
+                //                courseWeightDto.setTotalScore(totalScore);
                 courseWeightDto.setEvaluationList(courseWeightDetailDtoList);
                 courseWeightDto.analyzeDimensionStr();
+                courseWeightDto.setObeCultureProgramRequirementId(obeCultureProgramRequirementId);
+                courseWeightDto.setObeCultureProgramRequirementName(obeCultureProgramRequirement.getName());
                 submitForm.add(courseWeightDto);
             }
         }

+ 4 - 0
distributed-print-business/src/main/resources/db/log/caozixuan.sql

@@ -126,3 +126,7 @@ UPDATE sys_privilege SET related = '3005,3017,3018,3019,3020,3021,3022,3023,3024
 -- 2024-06-12
 INSERT INTO sys_privilege (id, name, url, type, parent_id, sequence, property, enable, default_auth, front_display) VALUES ('3031', '课程考核设置-删除', '/api/admin/obe/course_outline/assessment_setting_delete', 'URL', '3001', '2', 'AUTH', '1', '1', '1');
 UPDATE sys_privilege SET related = '3031' WHERE (id = '3043');
+
+INSERT INTO sys_privilege (id, name, url, type, parent_id, sequence, property, enable, default_auth, front_display) VALUES ('3006', '课程大纲-查询可选择的培养方案', '/api/admin/obe/course_outline/can_choose_culture_program', 'URL', '3000', '5', 'AUTH', '1', '1', '1');
+INSERT INTO sys_privilege (id, name, url, type, parent_id, sequence, property, enable, default_auth, front_display) VALUES ('3007', '课程大纲-查询可选择的课程', '/api/admin/obe/course_outline/can_choose_course', 'URL', '3000', '6', 'AUTH', '1', '1', '1');
+UPDATE sys_privilege SET related = '3003,3006,3007' WHERE (id = '3014');

+ 36 - 0
distributed-print-business/src/main/resources/mapper/ObeCourseOutlineMapper.xml

@@ -75,4 +75,40 @@
             </if>
         </where>
     </select>
+    <select id="findCanChooseCultureProgram"
+            resultType="com.qmth.distributed.print.business.bean.result.DictionaryResult">
+        SELECT
+            ocp.id AS id, ocp.name AS name
+        FROM
+            obe_culture_program ocp
+                LEFT JOIN
+            sys_user su ON ocp.create_id = su.id
+        <where>
+            <if test="dpr != null">
+                <if test="dpr.requestUserId != null">
+                    AND ocp.create_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="findCanChooseCourse"
+            resultType="com.qmth.distributed.print.business.bean.result.DictionaryResult">
+        SELECT
+            bc.id AS id, bc.name AS name, bc.code AS code
+        FROM
+            obe_culture_program_course ocpc
+                LEFT JOIN
+            basic_course bc ON ocpc.course_id = bc.id
+        <where>
+            <if test="obeCultureProgramId != null">
+                AND ocpc.culture_program_id = #{obeCultureProgramId}
+            </if>
+        </where>
+    </select>
 </mapper>

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

@@ -2,6 +2,7 @@ package com.qmth.distributed.print.api;
 
 import com.qmth.boot.api.constant.ApiConstant;
 import com.qmth.distributed.print.business.bean.params.ObeCourseOutlineParam;
+import com.qmth.distributed.print.business.bean.result.DictionaryResult;
 import com.qmth.distributed.print.business.bean.result.EditResult;
 import com.qmth.distributed.print.business.bean.result.ObeCourseBasicInfoResult;
 import com.qmth.distributed.print.business.bean.result.ObeCourseOutlineResult;
@@ -107,4 +108,18 @@ public class ObeCourseOutlineController {
     public Result findCourseWeightSettingStatus(@ApiParam(value = "课程大纲id", required = true) @RequestParam String obeCourseOutlineId) {
         return ResultUtil.ok(obeCourseOutlineService.findCourseWeightSettingStatus(SystemConstant.convertIdToLong(obeCourseOutlineId)));
     }
+
+    @ApiOperation(value = "课程大纲-查询可选择的培养方案")
+    @RequestMapping(value = "/can_choose_culture_program", method = RequestMethod.POST)
+    @ApiResponses({ @ApiResponse(code = 200, message = "查询成功", response = DictionaryResult.class) })
+    public Result findCanChooseCultureProgram() {
+        return ResultUtil.ok(obeCourseOutlineService.findCanChooseCultureProgram());
+    }
+
+    @ApiOperation(value = "课程大纲-查询可选择的课程")
+    @RequestMapping(value = "/can_choose_course", method = RequestMethod.POST)
+    @ApiResponses({ @ApiResponse(code = 200, message = "查询成功", response = DictionaryResult.class) })
+    public Result findCanChooseCourse(@ApiParam(value = "培养方案id", required = true) @RequestParam String obeCultureProgramId) {
+        return ResultUtil.ok(obeCourseOutlineService.findCanChooseCourse(SystemConstant.convertIdToLong(obeCultureProgramId)));
+    }
 }