瀏覽代碼

课程专业达成度雷达报表

wangliang 1 年之前
父節點
當前提交
8b7dccf5cf

+ 103 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/entity/ObeCourseRequirementReport.java

@@ -0,0 +1,103 @@
+package com.qmth.distributed.print.business.entity;
+
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 课程毕业要求报表
+ * </p>
+ *
+ * @author wangliang
+ * @since 2024-06-13
+ */
+@ApiModel(value = "ObeCourseRequirementReport对象", description = "课程毕业要求报表")
+public class ObeCourseRequirementReport implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "主键")
+    @JsonSerialize(using = ToStringSerializer.class)
+    private Long id;
+
+    @ApiModelProperty(value = "培养方案id")
+    @JsonSerialize(using = ToStringSerializer.class)
+    private Long cultureProgramId;
+
+    @ApiModelProperty(value = "课程大纲id")
+    @JsonSerialize(using = ToStringSerializer.class)
+    private Long obeCourseOutlineId;
+
+    @ApiModelProperty(value = "毕业要求雷达报表")
+    private String requirementRadar;
+
+    @ApiModelProperty(value = "毕业要求详情报表")
+    private String requirementDetail;
+
+    @ApiModelProperty(value = "毕业要求达成值")
+    private Double requirementDegree;
+
+    public ObeCourseRequirementReport() {
+
+    }
+
+    public ObeCourseRequirementReport(Long cultureProgramId, Long obeCourseOutlineId, String requirementRadar, String requirementDetail, Double requirementDegree) {
+        this.cultureProgramId = cultureProgramId;
+        this.obeCourseOutlineId = obeCourseOutlineId;
+        this.requirementRadar = requirementRadar;
+        this.requirementDetail = requirementDetail;
+        this.requirementDegree = requirementDegree;
+    }
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Long getCultureProgramId() {
+        return cultureProgramId;
+    }
+
+    public void setCultureProgramId(Long cultureProgramId) {
+        this.cultureProgramId = cultureProgramId;
+    }
+
+    public Long getObeCourseOutlineId() {
+        return obeCourseOutlineId;
+    }
+
+    public void setObeCourseOutlineId(Long obeCourseOutlineId) {
+        this.obeCourseOutlineId = obeCourseOutlineId;
+    }
+
+    public String getRequirementRadar() {
+        return requirementRadar;
+    }
+
+    public void setRequirementRadar(String requirementRadar) {
+        this.requirementRadar = requirementRadar;
+    }
+
+    public String getRequirementDetail() {
+        return requirementDetail;
+    }
+
+    public void setRequirementDetail(String requirementDetail) {
+        this.requirementDetail = requirementDetail;
+    }
+
+    public Double getRequirementDegree() {
+        return requirementDegree;
+    }
+
+    public void setRequirementDegree(Double requirementDegree) {
+        this.requirementDegree = requirementDegree;
+    }
+}

+ 30 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/ObeCourseRequirementReportMapper.java

@@ -0,0 +1,30 @@
+package com.qmth.distributed.print.business.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.qmth.distributed.print.business.entity.ObeCourseRequirementReport;
+import com.qmth.distributed.print.business.entity.TCFinalScore;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.Map;
+
+/**
+ * <p>
+ * 课程毕业要求报表 Mapper 接口
+ * </p>
+ *
+ * @author wangliang
+ * @since 2024-06-13
+ */
+public interface ObeCourseRequirementReportMapper extends BaseMapper<ObeCourseRequirementReport> {
+
+    /**
+     * 查找课程毕业达成度报表列表
+     *
+     * @param iPage
+     * @param cultureProgramId
+     * @param obeCourseOutlineId
+     * @return
+     */
+    public IPage<ObeCourseRequirementReport> obeCourseRequirementReportList(IPage<Map> iPage, @Param("cultureProgramId") Long cultureProgramId, @Param("obeCourseOutlineId") Long obeCourseOutlineId);
+}

+ 81 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/ObeCourseRequirementReportService.java

@@ -0,0 +1,81 @@
+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.dto.obe.CourseRequirementMatrixDto;
+import com.qmth.distributed.print.business.bean.dto.report.ObeCourseRequirementDto;
+import com.qmth.distributed.print.business.bean.dto.report.ObeSubRequirementsDto;
+import com.qmth.distributed.print.business.entity.ObeCourseRequirementReport;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 课程毕业要求报表 服务类
+ * </p>
+ *
+ * @author wangliang
+ * @since 2024-06-13
+ */
+public interface ObeCourseRequirementReportService extends IService<ObeCourseRequirementReport> {
+
+    /**
+     * 换算课程毕业达成度报表详情
+     *
+     * @param courseRequirementMatrixDtoList
+     * @param obeCourseOutlineId
+     * @param examId
+     * @return
+     */
+    public Map<String, Object> matrixCourseReportInfo(List<CourseRequirementMatrixDto> courseRequirementMatrixDtoList,
+                                                      Long obeCourseOutlineId, Long examId);
+
+    /**
+     * 换算课程毕业达成度报表
+     *
+     * @param obeCourseRequirementDtoList
+     * @param obeSubRequirementsDtoMap
+     * @return
+     */
+    public ObeCourseRequirementDto matrixCourseReport(List<ObeCourseRequirementDto> obeCourseRequirementDtoList,
+                                                      Map<Long, List<ObeSubRequirementsDto>> obeSubRequirementsDtoMap);
+
+    /**
+     * 换算课程毕业达成度报表共用
+     *
+     * @param obeCourseRequirementDtoList
+     * @param obeSubRequirementsDtoMap
+     * @return
+     */
+    public List<ObeCourseRequirementDto> matrixCourseReportCommon(List<ObeCourseRequirementDto> obeCourseRequirementDtoList,
+                                                                  Map<Long, List<ObeSubRequirementsDto>> obeSubRequirementsDtoMap);
+
+    /**
+     * 查找课程毕业达成度报表列表
+     *
+     * @param iPage
+     * @param cultureProgramId
+     * @param obeCourseOutlineId
+     * @return
+     */
+    public IPage<ObeCourseRequirementReport> obeCourseRequirementReportList(IPage<Map> iPage, Long cultureProgramId, Long obeCourseOutlineId);
+
+    /**
+     * 根据培养方案和课程老师id删除报表
+     *
+     * @param cultureProgramId
+     * @param obeCourseOutlineId
+     * @return
+     */
+    public boolean removeReport(Long cultureProgramId, Long obeCourseOutlineId);
+
+    /**
+     * 根据培养方案和课程老师id查询报表
+     *
+     * @param cultureProgramId
+     * @param obeCourseOutlineId
+     * @return
+     */
+    ObeCourseRequirementReport findByCultureProgramId(Long cultureProgramId, Long obeCourseOutlineId);
+}

文件差異過大導致無法顯示
+ 64 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ObeCourseRequirementReportServiceImpl.java


+ 21 - 1
distributed-print-business/src/main/resources/db/log/wangliang.sql

@@ -25,4 +25,24 @@ SET name='成绩管理', url='TargetScoreManage', `type`='MENU', parent_id=2100,
 WHERE id=2001;
 UPDATE sys_privilege
 SET name='课程目标达成度统计', url='TargetReportManage', `type`='MENU', parent_id=1999, `sequence`=2, property=NULL, related='2021,2022,2023', enable=1, default_auth=0, front_display=1
-WHERE id=2002;
+WHERE id=2002;
+
+-- 2024-06-13
+UPDATE sys_privilege
+SET name='毕业要求达成度雷达图', url='/api/admin/obe/requirements/radar/report', `type`='URL', parent_id=2070, `sequence`=2, property='AUTH', related=NULL, enable=1, default_auth=1, front_display=1
+WHERE id=2076;
+UPDATE sys_privilege
+SET name='毕业要求达成情况详细报表', url='/api/admin/obe/requirements/detail/report', `type`='URL', parent_id=2070, `sequence`=3, property='AUTH', related=NULL, enable=1, default_auth=1, front_display=1
+WHERE id=2077;
+
+DROP TABLE IF EXISTS `obe_course_requirement_report`;
+CREATE TABLE `obe_course_requirement_report` (
+                                                 `id` bigint NOT NULL COMMENT '主键',
+                                                 `culture_program_id` bigint NOT NULL COMMENT '培养方案id',
+                                                 `obe_course_outline_id` bigint NOT NULL COMMENT '课程大纲id',
+                                                 `requirement_radar` mediumtext NOT NULL COMMENT '毕业要求雷达报表',
+                                                 `requirement_detail` mediumtext NOT NULL COMMENT '毕业要求详情报表',
+                                                 `requirement_degree` double NOT NULL COMMENT '毕业要求达成值',
+                                                 PRIMARY KEY (`id`),
+                                                 UNIQUE KEY `obe_course_requirement_report_unique` (`culture_program_id`,`obe_course_outline_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='课程毕业要求报表';

+ 16 - 0
distributed-print-business/src/main/resources/mapper/ObeCourseRequirementReportMapper.xml

@@ -0,0 +1,16 @@
+<?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.distributed.print.business.mapper.ObeCourseRequirementReportMapper">
+
+    <select id="obeCourseRequirementReportList" resultType="com.qmth.distributed.print.business.entity.ObeCourseRequirementReport">
+        select t.* from obe_course_requirement_report t
+        <where>
+            <if test="cultureProgramId != null and cultureProgramId != ''">
+                and t.culture_program_id = #{cultureProgramId}
+            </if>
+            <if test="obeCourseOutlineId != null and obeCourseOutlineId != ''">
+                and t.obe_course_outline_id = #{obeCourseOutlineId}
+            </if>
+        </where>
+    </select>
+</mapper>

文件差異過大導致無法顯示
+ 21 - 15
distributed-print/src/main/java/com/qmth/distributed/print/api/ObeReportController.java


+ 3 - 1
teachcloud-common/src/main/java/com/qmth/teachcloud/common/enums/FieldUniqueEnum.java

@@ -45,7 +45,9 @@ public enum FieldUniqueEnum {
 
     t_c_paper_struct_unique("试卷结构"),
 
-    t_r_basic_info_unique("课程目标达成度报告");
+    t_r_basic_info_unique("课程目标达成度报告"),
+
+    obe_course_requirement_report_unique("毕业要求达成度报告");
 
     private String title;
 

部分文件因文件數量過多而無法顯示