ソースを参照

科目业务更改

change 4 年 前
コミット
c6a1dc4b09

+ 10 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/bo/CourseSubjectQueryBo.java

@@ -1,5 +1,6 @@
 package com.zhongzheng.modules.course.bo;
 
+import com.zhongzheng.common.annotation.Excel;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -46,4 +47,13 @@ public class CourseSubjectQueryBo extends BaseEntity {
 	/** 科目名称 */
 	@ApiModelProperty("科目名称")
 	private String subjectName;
+
+	/** 教育类型id */
+	@ApiModelProperty("教育类型id")
+	private Integer educationId;
+
+	/** 项目名称 */
+	@Excel(name = "项目ID")
+	@ApiModelProperty("项目ID")
+	private Integer projectId;
 }

+ 5 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/mapper/CourseSubjectMapper.java

@@ -1,10 +1,13 @@
 package com.zhongzheng.modules.course.mapper;
 
 import com.zhongzheng.modules.course.bo.CourseProjectTypeQueryBo;
+import com.zhongzheng.modules.course.bo.CourseSubjectQueryBo;
 import com.zhongzheng.modules.course.domain.CourseSubject;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.zhongzheng.modules.course.vo.CourseProjectTypeVo;
+import com.zhongzheng.modules.course.vo.CourseSubjectVo;
 
+import java.util.Collection;
 import java.util.List;
 
 /**
@@ -16,4 +19,6 @@ import java.util.List;
 public interface CourseSubjectMapper extends BaseMapper<CourseSubject> {
 
     List<CourseProjectTypeVo> selectProject(CourseProjectTypeQueryBo courseProjectTypeQueryBo);
+
+    Collection<CourseSubjectVo> queryList(CourseSubjectQueryBo bo);
 }

+ 3 - 16
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/service/impl/CourseSubjectServiceImpl.java

@@ -58,11 +58,7 @@ public class CourseSubjectServiceImpl extends ServiceImpl<CourseSubjectMapper, C
 
     @Override
     public List<CourseSubjectVo> queryList(CourseSubjectQueryBo bo) {
-        LambdaQueryWrapper<CourseSubject> lqw = Wrappers.lambdaQuery();
-        lqw.eq(StrUtil.isNotBlank(bo.getEncoder()), CourseSubject::getEncoder, bo.getEncoder());
-        lqw.like(StrUtil.isNotBlank(bo.getSubjectName()), CourseSubject::getSubjectName, bo.getSubjectName());
-        lqw.in(bo.getStatus() != null, CourseSubject::getStatus, bo.getStatus());
-        return entity2Vo(this.list(lqw));
+        return entity2Vo(baseMapper.queryList(bo));
     }
 
     /**
@@ -71,26 +67,17 @@ public class CourseSubjectServiceImpl extends ServiceImpl<CourseSubjectMapper, C
     * @param collection 实体类集合
     * @return
     */
-    private List<CourseSubjectVo> entity2Vo(Collection<CourseSubject> collection) {
+    private List<CourseSubjectVo> entity2Vo(Collection<CourseSubjectVo> collection) {
         List<CourseSubjectVo> voList = collection.stream()
                 .map(any -> BeanUtil.toBean(any, CourseSubjectVo.class))
                 .collect(Collectors.toList());
         if (collection instanceof Page) {
-            Page<CourseSubject> page = (Page<CourseSubject>)collection;
+            Page<CourseSubjectVo> page = (Page<CourseSubjectVo>)collection;
             Page<CourseSubjectVo> pageVo = new Page<>();
             BeanUtil.copyProperties(page,pageVo);
             pageVo.addAll(voList);
             voList = pageVo;
         }
-        for (CourseSubjectVo courseSubjectVo : voList) {
-            CourseProjectTypeQueryBo courseProjectTypeQueryBo = new CourseProjectTypeQueryBo();
-            courseProjectTypeQueryBo.setId(courseSubjectVo.getId());
-            List<Integer> status = new ArrayList<>();
-            status.add(1);
-            courseProjectTypeQueryBo.setStatus(status);
-            List<CourseProjectTypeVo> courseProjectTypeVos = baseMapper.selectProject(courseProjectTypeQueryBo);
-            courseSubjectVo.setCourseProjectTypes(courseProjectTypeVos);
-        }
         return voList;
     }
 

+ 53 - 0
zhongzheng-system/src/main/resources/mapper/modules/course/CourseSubjectMapper.xml

@@ -24,6 +24,25 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="status" column="status"/>
     </resultMap>
 
+    <resultMap type="com.zhongzheng.modules.course.vo.CourseSubjectVo" id="CourseSubjectVoResult">
+        <result property="id" column="id"/>
+        <result property="encoder" column="encoder"/>
+        <result property="remark" column="remark"/>
+        <result property="status" column="status"/>
+        <result property="subjectName" column="subject_name"/>
+        <association property="courseProjectTypes" javaType="java.util.List" resultMap="CourseProjectTypeVoTwoResult" />
+    </resultMap>
+
+    <resultMap type="com.zhongzheng.modules.course.vo.CourseProjectTypeVo" id="CourseProjectTypeVoTwoResult">
+        <result property="id" column="pid"/>
+        <result property="projectName" column="pproject_name"/>
+        <result property="encoder" column="pencoder"/>
+        <result property="remark" column="premark"/>
+        <result property="educationId" column="peducation_id"/>
+        <result property="educationName" column="peducation_name"/>
+        <result property="status" column="pstatus"/>
+    </resultMap>
+
     <select id="selectProject" parameterType="com.zhongzheng.modules.course.bo.CourseProjectTypeQueryBo"  resultMap="CourseProjectTypeVoResult">
         SELECT
         p.*,
@@ -43,4 +62,38 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             AND j.subject_id = #{id}
         </if>
     </select>
+
+    <select id="queryList" parameterType="com.zhongzheng.modules.course.bo.CourseSubjectQueryBo"  resultMap="CourseSubjectVoResult">
+        SELECT
+        s.*,
+        p.id as pid,
+        p.project_name as pproject_name,
+        p.encoder as pencoder,
+        p.remark as  premark,
+        p.education_id as peducation_id,
+        p.status as pstatus,
+        e.education_name as peducation_name
+        FROM
+        course_subject s
+        LEFT JOIN course_subject_project c ON s.id = c.subject_id
+        LEFT JOIN course_project_type p ON c.project_id = p.id
+        LEFT JOIN course_education_type e ON p.education_id = e.id
+        WHERE
+        1 =1
+        <if test="status != null and status.size()!=0 ">
+            AND p.status in
+            <foreach collection="status" item="item" index="index" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
+        <if test="educationId != null and educationId!=0 ">
+            AND e.id = #{educationId}
+        </if>
+        <if test="projectId != null and projectId!=0 ">
+            AND p.id = #{projectId}
+        </if>
+        <if test="subjectName != null and subjectName!=0 ">
+            AND s.subject_name = #{subjectName}
+        </if>
+    </select>
 </mapper>