src/main/java/com/mindskip/xzs/controller/admin/ExamTemplatesController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/mindskip/xzs/controller/admin/QuestionController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/mindskip/xzs/domain/ExamTemplatesSubject.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/mindskip/xzs/domain/vo/ExamTemplatesVO.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/mindskip/xzs/repository/SubjectMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/mindskip/xzs/service/impl/SubjectServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/mapper/ExamTemplatesSubjectMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/mapper/SubjectMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/mindskip/xzs/controller/admin/ExamTemplatesController.java
@@ -17,6 +17,8 @@ import org.springframework.web.bind.annotation.*; import javax.validation.Valid; import java.util.List; import java.util.stream.Collectors; @RestController("AdminExamTemplatesController") @RequestMapping(value = "/api/admin/exam/templates") @@ -44,7 +46,11 @@ vo.setName(e.getName()); vo.setId(e.getId()); vo.setCtime(e.getCtime()); Integer[] ids = examTemplatesSubjectMapper.getTemplatesId(e.getId()).stream().map(ExamTemplatesSubject::getSubjectId).toArray(Integer[]::new); List<ExamTemplatesSubject> subjectList = examTemplatesSubjectMapper.getTemplatesId(e.getId()); Integer[] ids = subjectList.stream().map(ExamTemplatesSubject::getSubjectId).toArray(Integer[]::new); String subjectNames = subjectList.stream().map(ExamTemplatesSubject::getSubjectName).collect(Collectors.joining("、")); vo.setSubjectNames(subjectNames); vo.setSubjectId(ids); return vo; }); src/main/java/com/mindskip/xzs/controller/admin/QuestionController.java
@@ -187,7 +187,7 @@ data.add(questionImportVO3); // 查出所有的课目(excel下拉数据) List<Subject> subjects = subjectMapper.allSubject(); List<Subject> subjects = subjectMapper.allSubject(new ArrayList<>()); List<String> subjectNameList = subjects.stream().map(Subject::getName).collect(Collectors.toList()); EasyExcel.write(response.getOutputStream(), QuestionImportVO.class) @@ -248,7 +248,7 @@ response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx"); // 查出所有的课目(excel下拉数据) List<Subject> subjects = subjectMapper.allSubject(); List<Subject> subjects = subjectMapper.allSubject(new ArrayList<>()); List<String> subjectNameList = subjects.stream().map(Subject::getName).collect(Collectors.toList()); EasyExcel.write(response.getOutputStream(), QuestionImportVO.class) .sheet("题目导出数据") @@ -341,7 +341,7 @@ // 查出所有的课目 List<Subject> subjects = subjectMapper.allSubject(); List<Subject> subjects = subjectMapper.allSubject(new ArrayList<>()); List<String> subjectNames = Arrays.asList(excelQuestion.getSubjectName().split(SPLIT)); List<Subject> targetSubject = subjects.stream() .filter(subject -> subjectNames.contains(subject.getName())) src/main/java/com/mindskip/xzs/domain/ExamTemplatesSubject.java
@@ -1,45 +1,19 @@ package com.mindskip.xzs.domain; import io.swagger.models.auth.In; import lombok.Data; import java.io.Serializable; @Data public class ExamTemplatesSubject implements Serializable { private Integer id; private Integer subjectId; private String subjectName; private Integer templatesId; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public Integer getSubjectId() { return subjectId; } public void setSubjectId(Integer subjectId) { this.subjectId = subjectId; } public Integer getTemplatesId() { return templatesId; } public void setTemplatesId(Integer templatesId) { this.templatesId = templatesId; } @Override public String toString() { return "ExamTemplatesSubject{" + "id=" + id + ", subjectId=" + subjectId + ", templatesId=" + templatesId + '}'; } } src/main/java/com/mindskip/xzs/domain/vo/ExamTemplatesVO.java
@@ -12,11 +12,20 @@ public class ExamTemplatesVO extends BasePage implements Serializable { private Integer id; private String name; private Date ctime; private LocalDateTime now; private Integer[] subjectId; /** 课目名字 */ private String subjectNames; private String status; private Integer userId; /** src/main/java/com/mindskip/xzs/repository/SubjectMapper.java
@@ -12,7 +12,7 @@ List<Subject> getSubjectByLevel(Integer level); List<Subject> allSubject(); List<Subject> allSubject(@Param("deptIds") List<Integer> deptIds); List<Subject> page(SubjectPageRequestVM requestVM); src/main/java/com/mindskip/xzs/service/impl/SubjectServiceImpl.java
@@ -1,6 +1,9 @@ package com.mindskip.xzs.service.impl; import com.mindskip.xzs.context.WebContext; import com.mindskip.xzs.domain.Subject; import com.mindskip.xzs.repository.BaseMapper; import com.mindskip.xzs.repository.DepartmentMapper; import com.mindskip.xzs.repository.SubjectMapper; import com.mindskip.xzs.service.SubjectService; import com.mindskip.xzs.viewmodel.admin.education.SubjectPageRequestVM; @@ -9,17 +12,21 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.List; @Service public class SubjectServiceImpl extends BaseServiceImpl<Subject> implements SubjectService { private final SubjectMapper subjectMapper; private final WebContext webContext; private final DepartmentMapper departmentMapper; @Autowired public SubjectServiceImpl(SubjectMapper subjectMapper) { super(subjectMapper); public SubjectServiceImpl(BaseMapper<Subject> baseMapper, SubjectMapper subjectMapper, WebContext webContext, DepartmentMapper departmentMapper) { super(baseMapper); this.subjectMapper = subjectMapper; this.webContext = webContext; this.departmentMapper = departmentMapper; } @Override @@ -39,7 +46,13 @@ @Override public List<Subject> allSubject() { return subjectMapper.allSubject(); // 如果是部门管理员,只查关联该部门的课目 boolean deptAdmin = webContext.isDeptAdmin(); List<Integer> deptIds = new ArrayList<>(); if (deptAdmin) { deptIds = webContext.getAdminDeptIds(); } return subjectMapper.allSubject(deptIds); } @Override src/main/resources/mapper/ExamTemplatesSubjectMapper.xml
@@ -4,6 +4,7 @@ <resultMap id="BaseResultMap" type="com.mindskip.xzs.domain.ExamTemplatesSubject"> <id column="id" jdbcType="INTEGER" property="id"/> <result column="subject_id" jdbcType="INTEGER" property="subjectId"/> <result column="subjectName" property="subjectName"/> <result column="templates_id" jdbcType="INTEGER" property="templatesId"/> </resultMap> @@ -18,9 +19,10 @@ <select id="getTemplatesId" resultMap="BaseResultMap"> select <include refid="Base_Column_List"/> from t_exam_templates_subject where templates_id = #{templatesId} ets.id, ets.subject_id, ets.templates_id, ts.name as subjectName from t_exam_templates_subject ets INNER JOIN t_subject ts ON ts.id = ets.subject_id where ets.templates_id = #{templatesId} </select> <insert id="saves" parameterType="java.util.List" useGeneratedKeys="true" keyProperty="id"> src/main/resources/mapper/SubjectMapper.xml
@@ -10,7 +10,8 @@ <result column="deleted" jdbcType="BIT" property="deleted" /> </resultMap> <sql id="Base_Column_List"> id, name, level, level_name, item_order, deleted id , name, level, level_name, item_order, deleted </sql> <select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap"> select @@ -19,18 +20,18 @@ where id = #{id,jdbcType=INTEGER} and deleted = 0 </select> <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer"> delete from t_subject delete from t_subject where id = #{id,jdbcType=INTEGER} </delete> <insert id="insert" parameterType="com.mindskip.xzs.domain.Subject" useGeneratedKeys="true" keyProperty="id"> insert into t_subject (id, name, level, level_name, item_order, deleted ) level_name, item_order, deleted) values (#{id,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR}, #{level,jdbcType=INTEGER}, #{levelName,jdbcType=VARCHAR}, #{itemOrder,jdbcType=INTEGER}, #{deleted,jdbcType=BIT} ) #{levelName,jdbcType=VARCHAR}, #{itemOrder,jdbcType=INTEGER}, #{deleted,jdbcType=BIT}) </insert> <insert id="insertSelective" parameterType="com.mindskip.xzs.domain.Subject" useGeneratedKeys="true" keyProperty="id"> <insert id="insertSelective" parameterType="com.mindskip.xzs.domain.Subject" useGeneratedKeys="true" keyProperty="id"> insert into t_subject <trim prefix="(" suffix=")" suffixOverrides=","> <if test="id != null"> @@ -115,11 +116,18 @@ <select id="allSubject" resultMap="BaseResultMap"> select <include refid="Base_Column_List"/> from t_subject where deleted = 0 ts.id, ts.name from t_subject ts <if test="deptIds != null and deptIds.size > 0"> INNER JOIN t_subject_dept tsd ON tsd.subject_id = ts.id AND tsd.dept_id IN <foreach collection="deptIds" open="(" separator="," close=")" item="deptId">#{deptId}</foreach> </if> where ts.deleted = 0 </select> <select id="page" resultMap="BaseResultMap" parameterType="com.mindskip.xzs.viewmodel.admin.education.SubjectPageRequestVM"> <select id="page" resultMap="BaseResultMap" parameterType="com.mindskip.xzs.viewmodel.admin.education.SubjectPageRequestVM"> SELECT <include refid="Base_Column_List"/> FROM t_subject @@ -175,11 +183,15 @@ FROM t_subject WHERE id IN <foreach collection="ids" open="(" separator="," close=")" item="id">#{id}</foreach> id IN <foreach collection="ids" open="(" separator="," close=")" item="id">#{id}</foreach> </select> <select id="selectSubjectNameById" resultType="string"> SELECT name FROM t_subject WHERE id = #{id} AND deleted = 0 SELECT name FROM t_subject WHERE id = #{id} AND deleted = 0 </select>