change 4 лет назад
Родитель
Сommit
b4c8234af7
16 измененных файлов с 185 добавлено и 32 удалено
  1. 5 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/bo/ExamArrangementAddBo.java
  2. 8 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/bo/ExamArrangementQueryBo.java
  3. 2 2
      zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/bo/ExamArrangementTimeAddBo.java
  4. 2 2
      zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/bo/ExamArrangementTimeEditBo.java
  5. 2 2
      zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/bo/ExamArrangementTimeQueryBo.java
  6. 1 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/domain/ExamArrangementTime.java
  7. 5 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/mapper/ExamArrangementStudentMapper.java
  8. 2 2
      zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/mapper/ExamArrangementTimeMapper.java
  9. 2 2
      zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/service/IExamArrangementTimeService.java
  10. 49 12
      zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/service/impl/ExamArrangementServiceImpl.java
  11. 22 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/service/impl/ExamArrangementStudentServiceImpl.java
  12. 3 2
      zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/service/impl/ExamArrangementTimeServiceImpl.java
  13. 2 2
      zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/vo/ExamArrangementTimeVo.java
  14. 14 2
      zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/vo/ExamArrangementVo.java
  15. 1 1
      zhongzheng-system/src/main/resources/mapper/modules/exam/ExamArrangementMapper.xml
  16. 65 0
      zhongzheng-system/src/main/resources/mapper/modules/exam/ExamArrangementStudentMapper.xml

+ 5 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/bo/ExamArrangementAddBo.java

@@ -5,7 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 import java.util.Date;
-
+import java.util.List;
 
 
 /**
@@ -87,4 +87,8 @@ public class ExamArrangementAddBo {
     /** 申领证书 */
     @ApiModelProperty("申领证书")
     private String certificate;
+
+    /** 考試時間 */
+    @ApiModelProperty("申领证书")
+    private List<ExamArrangementTimeAddBo> examArrangementTimeAddBo;
 }

+ 8 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/bo/ExamArrangementQueryBo.java

@@ -105,4 +105,12 @@ public class ExamArrangementQueryBo extends BaseEntity {
 	@ApiModelProperty("身份证号")
 	private String idCard;
 
+	/** 考试开始时间 */
+	@ApiModelProperty("考试开始时间")
+	private Long startTime;
+
+	/** 考试结束时间 */
+	@ApiModelProperty("考试结束时间")
+	private Long endTime;
+
 }

+ 2 - 2
zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/bo/ExamArrangementTimeAddBo.java

@@ -11,8 +11,8 @@ import java.util.Date;
 /**
  * 考试时间段安排添加对象 exam_arrangement_time
  *
- * @author change
- * @date 2021-05-20
+ * @author ruoyi
+ * @date 2021-05-25
  */
 @Data
 @ApiModel("考试时间段安排添加对象")

+ 2 - 2
zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/bo/ExamArrangementTimeEditBo.java

@@ -10,8 +10,8 @@ import java.util.Date;
 /**
  * 考试时间段安排编辑对象 exam_arrangement_time
  *
- * @author change
- * @date 2021-05-20
+ * @author ruoyi
+ * @date 2021-05-25
  */
 @Data
 @ApiModel("考试时间段安排编辑对象")

+ 2 - 2
zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/bo/ExamArrangementTimeQueryBo.java

@@ -14,8 +14,8 @@ import com.zhongzheng.common.core.domain.BaseEntity;
 /**
  * 考试时间段安排分页查询对象 exam_arrangement_time
  *
- * @author change
- * @date 2021-05-20
+ * @author ruoyi
+ * @date 2021-05-25
  */
 @Data
 @EqualsAndHashCode(callSuper = true)

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/domain/ExamArrangementTime.java

@@ -13,7 +13,7 @@ import com.zhongzheng.common.annotation.Excel;
  * 考试时间段安排对象 exam_arrangement_time
  * 
  * @author change
- * @date 2021-05-20
+ * @date 2021-05-25
  */
 @Data
 @NoArgsConstructor

+ 5 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/mapper/ExamArrangementStudentMapper.java

@@ -1,7 +1,11 @@
 package com.zhongzheng.modules.exam.mapper;
 
+import com.zhongzheng.modules.exam.bo.ExamArrangementQueryBo;
 import com.zhongzheng.modules.exam.domain.ExamArrangementStudent;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zhongzheng.modules.exam.vo.ExamUserVo;
+
+import java.util.List;
 
 /**
  * 报名考试得学生关联Mapper接口
@@ -11,4 +15,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface ExamArrangementStudentMapper extends BaseMapper<ExamArrangementStudent> {
 
+    List<ExamUserVo> selectExamUserList(ExamArrangementQueryBo bo);
 }

+ 2 - 2
zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/mapper/ExamArrangementTimeMapper.java

@@ -6,8 +6,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 /**
  * 考试时间段安排Mapper接口
  *
- * @author change
- * @date 2021-05-20
+ * @author ruoyi
+ * @date 2021-05-25
  */
 public interface ExamArrangementTimeMapper extends BaseMapper<ExamArrangementTime> {
 

+ 2 - 2
zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/service/IExamArrangementTimeService.java

@@ -13,8 +13,8 @@ import java.util.List;
 /**
  * 考试时间段安排Service接口
  *
- * @author change
- * @date 2021-05-20
+ * @author ruoyi
+ * @date 2021-05-25
  */
 public interface IExamArrangementTimeService extends IService<ExamArrangementTime> {
 	/**

+ 49 - 12
zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/service/impl/ExamArrangementServiceImpl.java

@@ -1,13 +1,17 @@
 package com.zhongzheng.modules.exam.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.lang.func.VoidFunc0;
 import cn.hutool.core.util.StrUtil;
+import com.zhongzheng.modules.exam.bo.ExamArrangementTimeAddBo;
+import com.zhongzheng.modules.exam.domain.ExamArrangementTime;
 import com.zhongzheng.modules.exam.service.IExamArrangementStudentService;
 import com.zhongzheng.modules.exam.service.IExamArrangementTimeService;
 import com.zhongzheng.modules.exam.vo.ExamArrangementTimeVo;
 import com.zhongzheng.modules.exam.vo.ExamUserVo;
 import com.zhongzheng.modules.user.service.IUserService;
 import com.zhongzheng.modules.user.vo.UserVo;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -50,12 +54,29 @@ public class ExamArrangementServiceImpl extends ServiceImpl<ExamArrangementMappe
     public ExamArrangementVo queryById(Long id){
         ExamArrangement db = this.baseMapper.selectById(id);
         ExamArrangementVo examArrangementVo = BeanUtil.toBean(db, ExamArrangementVo.class);
-        List<ExamArrangementTimeVo> examArrangementTimeVos = new ArrayList<>();
-        BeanUtil.copyProperties(examArrangementTimeService.queryById(examArrangementVo.getId()),examArrangementTimeVos);
+        //獲得考試時間
+        LambdaQueryWrapper<ExamArrangementTime> lqw = Wrappers.lambdaQuery();
+        lqw.eq(true,ExamArrangementTime::getArrangementId,db.getId());
+        List<ExamArrangementTime> list = examArrangementTimeService.list(lqw);
+        List<ExamArrangementTimeVo> examArrangementTimeVos = entity2TimeVo(list);
         examArrangementVo.setExamArrangementTimeVo(examArrangementTimeVos);
+
         return examArrangementVo;
     }
 
+
+    /**
+     * 实体类转化成视图对象
+     *
+     * @param collection 实体类集合
+     * @return
+     */
+    private List<ExamArrangementTimeVo> entity2TimeVo(Collection<ExamArrangementTime> collection) {
+        List<ExamArrangementTimeVo> voList = collection.stream()
+                .map(any -> BeanUtil.toBean(any, ExamArrangementTimeVo.class))
+                .collect(Collectors.toList());
+        return voList;
+    }
     @Override
     public List<ExamArrangementVo> queryList(ExamArrangementQueryBo bo) {
         LambdaQueryWrapper<ExamArrangement> lqw = Wrappers.lambdaQuery();
@@ -80,15 +101,17 @@ public class ExamArrangementServiceImpl extends ServiceImpl<ExamArrangementMappe
         lqw.eq(StrUtil.isNotBlank(bo.getGradesUrl()), ExamArrangement::getGradesUrl, bo.getGradesUrl());
         lqw.eq(StrUtil.isNotBlank(bo.getScoreLineUrl()), ExamArrangement::getScoreLineUrl, bo.getScoreLineUrl());
         lqw.eq(StrUtil.isNotBlank(bo.getCertificate()), ExamArrangement::getCertificate, bo.getCertificate());
-        List<ExamArrangementVo> list = new ArrayList<>();
-        BeanUtil.copyProperties(this.list(lqw),list);
-        list.stream().forEach(e -> {
-            List<ExamArrangementTimeVo> examArrangementTimeVos = new ArrayList<>();
-            BeanUtil.copyProperties(examArrangementTimeService.queryById(e.getId()),examArrangementTimeVos);
-            e.setExamArrangementTimeVo(examArrangementTimeVos);
+        List<ExamArrangementVo> examArrangementVos = entity2Vo(this.list(lqw));
+        //獲得考試時間
+        examArrangementVos.stream().forEach(e -> {
+                    LambdaQueryWrapper<ExamArrangementTime> lqwTime = Wrappers.lambdaQuery();
+                    lqwTime.eq(true,ExamArrangementTime::getArrangementId,e.getId());
+                    List<ExamArrangementTime> list = examArrangementTimeService.list(lqwTime);
+                    List<ExamArrangementTimeVo> examArrangementTimeVos = entity2TimeVo(list);
+                    e.setExamArrangementTimeVo(examArrangementTimeVos);
                 }
             );
-        return entity2Vo(list);
+        return examArrangementVos;
     }
 
     /**
@@ -97,12 +120,12 @@ public class ExamArrangementServiceImpl extends ServiceImpl<ExamArrangementMappe
     * @param collection 实体类集合
     * @return
     */
-    private List<ExamArrangementVo> entity2Vo(Collection<ExamArrangementVo> collection) {
+    private List<ExamArrangementVo> entity2Vo(Collection<ExamArrangement> collection) {
         List<ExamArrangementVo> voList = collection.stream()
                 .map(any -> BeanUtil.toBean(any, ExamArrangementVo.class))
                 .collect(Collectors.toList());
         if (collection instanceof Page) {
-            Page<ExamArrangementVo> page = (Page<ExamArrangementVo>)collection;
+            Page<ExamArrangement> page = (Page<ExamArrangement>)collection;
             Page<ExamArrangementVo> pageVo = new Page<>();
             BeanUtil.copyProperties(page,pageVo);
             pageVo.addAll(voList);
@@ -115,9 +138,23 @@ public class ExamArrangementServiceImpl extends ServiceImpl<ExamArrangementMappe
     public Boolean insertByAddBo(ExamArrangementAddBo bo) {
         ExamArrangement add = BeanUtil.toBean(bo, ExamArrangement.class);
         validEntityBeforeSave(add);
+        examArrangementTimeService.saveBatch(entity2Time(bo.getExamArrangementTimeAddBo()));
         return this.save(add);
     }
 
+    /**
+     * 实体类转化成视图对象
+     *
+     * @param collection 实体类集合
+     * @return
+     */
+    private List<ExamArrangementTime> entity2Time(Collection<ExamArrangementTimeAddBo> collection) {
+        List<ExamArrangementTime> voList = collection.stream()
+                .map(any -> BeanUtil.toBean(any, ExamArrangementTime.class))
+                .collect(Collectors.toList());
+        return voList;
+    }
+
     @Override
     public Boolean updateByEditBo(ExamArrangementEditBo bo) {
         ExamArrangement update = BeanUtil.toBean(bo, ExamArrangement.class);
@@ -146,6 +183,6 @@ public class ExamArrangementServiceImpl extends ServiceImpl<ExamArrangementMappe
     public List<ExamUserVo> queryUserList(ExamArrangementQueryBo bo) {
 
         List<ExamUserVo> examUserVos = examArrangementStudentService.queryUserList(bo);
-        return null;
+        return examUserVos;
     }
 }

+ 22 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/service/impl/ExamArrangementStudentServiceImpl.java

@@ -96,6 +96,27 @@ public class ExamArrangementStudentServiceImpl extends ServiceImpl<ExamArrangeme
 
     @Override
     public List<ExamUserVo> queryUserList(ExamArrangementQueryBo bo) {
-        return null;
+        List<ExamUserVo> examUserVos = baseMapper.selectExamUserList(bo);
+        return entity2UserVo(examUserVos);
+    }
+
+    /**
+     * 实体类转化成视图对象
+     *
+     * @param collection 实体类集合
+     * @return
+     */
+    private List<ExamUserVo> entity2UserVo(Collection<ExamUserVo> collection) {
+        List<ExamUserVo> voList = collection.stream()
+                .map(any -> BeanUtil.toBean(any, ExamUserVo.class))
+                .collect(Collectors.toList());
+        if (collection instanceof Page) {
+            Page<ExamUserVo> page = (Page<ExamUserVo>)collection;
+            Page<ExamUserVo> pageVo = new Page<>();
+            BeanUtil.copyProperties(page,pageVo);
+            pageVo.addAll(voList);
+            voList = pageVo;
+        }
+        return voList;
     }
 }

+ 3 - 2
zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/service/impl/ExamArrangementTimeServiceImpl.java

@@ -2,6 +2,7 @@ package com.zhongzheng.modules.exam.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.StrUtil;
+import com.zhongzheng.common.utils.DateUtils;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -23,8 +24,8 @@ import java.util.stream.Collectors;
 /**
  * 考试时间段安排Service业务层处理
  *
- * @author change
- * @date 2021-05-20
+ * @author ruoyi
+ * @date 2021-05-25
  */
 @Service
 public class ExamArrangementTimeServiceImpl extends ServiceImpl<ExamArrangementTimeMapper, ExamArrangementTime> implements IExamArrangementTimeService {

+ 2 - 2
zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/vo/ExamArrangementTimeVo.java

@@ -12,8 +12,8 @@ import java.util.Date;
 /**
  * 考试时间段安排视图对象 mall_package
  *
- * @author change
- * @date 2021-05-20
+ * @author ruoyi
+ * @date 2021-05-25
  */
 @Data
 @ApiModel("考试时间段安排视图对象")

+ 14 - 2
zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/vo/ExamArrangementVo.java

@@ -1,5 +1,7 @@
 package com.zhongzheng.modules.exam.vo;
 
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.zhongzheng.common.annotation.Excel;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.zhongzheng.modules.user.vo.UserVo;
@@ -52,11 +54,11 @@ public class ExamArrangementVo {
 	/** 备注 */
 	@Excel(name = "备注")
 	@ApiModelProperty("备注")
-	private String releaseNum;
+	private String remarks;
 	/** 0手动发布  3定时发布 4已结束 */
 	@Excel(name = "0手动发布  3定时发布 4已结束")
 	@ApiModelProperty("0手动发布  3定时发布 4已结束")
-	private Integer release;
+	private Integer releaseNum;
 	/** 订阅人数 */
 	@Excel(name = "订阅人数")
 	@ApiModelProperty("订阅人数")
@@ -115,4 +117,14 @@ public class ExamArrangementVo {
 	@ApiModelProperty("考试时间")
 	private List<ExamArrangementTimeVo> examArrangementTimeVo;
 
+	/** 更改时间 */
+	@Excel(name = "更改时间")
+	@ApiModelProperty("更改时间")
+	private Long updateTime;
+
+	/** 创建时间 */
+	@Excel(name = "创建时间")
+	@ApiModelProperty("创建时间")
+	private Long createTime;
+
 }

+ 1 - 1
zhongzheng-system/src/main/resources/mapper/modules/exam/ExamArrangementMapper.xml

@@ -13,7 +13,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="examAdress" column="exam_adress"/>
         <result property="examUrl" column="exam_url"/>
         <result property="remarks" column="remarks"/>
-        <result property="release" column="release"/>
+        <result property="releaseNum" column="release_num"/>
         <result property="subscrPe" column="subscr_pe"/>
         <result property="signUpPe" column="sign_up_pe"/>
         <result property="releaseTime" column="release_time"/>

+ 65 - 0
zhongzheng-system/src/main/resources/mapper/modules/exam/ExamArrangementStudentMapper.xml

@@ -9,5 +9,70 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="studentId" column="student_id"/>
     </resultMap>
 
+    <resultMap type="com.zhongzheng.modules.exam.vo.ExamUserVo" id="UserResult">
+        <result property="userId" column="user_id"/>
+        <result property="userAccout" column="user_accout"/>
+        <result property="nickname" column="nickname"/>
+        <result property="realname" column="realname"/>
+        <result property="sex" column="sex"/>
+        <result property="idCard" column="id_card"/>
+        <result property="telphone" column="telphone"/>
+        <result property="userLevel" column="user_level"/>
+        <result property="userBirth" column="user_birth"/>
+        <result property="eduLevel" column="edu_level"/>
+        <result property="schoolId" column="school_id"/>
+        <result property="major" column="major"/>
+        <result property="entranceTime" column="entrance_time"/>
+        <result property="openId" column="open_id"/>
+        <result property="studentCertificateImg" column="student_certificate_img"/>
+        <result property="idCardImg1" column="id_card_img1"/>
+        <result property="idCardImg2" column="id_card_img2"/>
+        <result property="country" column="country"/>
+        <result property="province" column="province"/>
+        <result property="city" column="city"/>
+        <result property="integral" column="integral"/>
+        <association property="examArrangementVo"  javaType="com.zhongzheng.modules.exam.vo.ExamArrangementVo" resultMap="ExamArrangementResult"/>
+    </resultMap>
+
+    <resultMap type="com.zhongzheng.modules.exam.vo.ExamArrangementVo" id="ExamArrangementResult">
+        <result property="id" column="id"/>
+        <result property="examTypeId" column="uexam_type_id"/>
+        <result property="examType" column="exam_type"/>
+        <result property="signStartTime" column="sign_start_time"/>
+        <result property="signEndTime" column="sign_end_time"/>
+        <result property="examAdress" column="exam_adress"/>
+        <result property="examUrl" column="exam_url"/>
+        <result property="remarks" column="remarks"/>
+        <result property="releaseNum" column="release_num"/>
+        <result property="subscrPe" column="subscr_pe"/>
+        <result property="signUpPe" column="sign_up_pe"/>
+        <result property="releaseTime" column="release_time"/>
+        <result property="updateTime" column="update_time"/>
+        <result property="createTime" column="create_time"/>
+        <result property="examTime" column="exam_time"/>
+        <result property="regGuide" column="reg_guide"/>
+        <result property="examPeriod" column="exam_period"/>
+        <result property="status" column="status"/>
+        <result property="examForm" column="exam_form"/>
+        <result property="examFromUrl" column="exam_from_url"/>
+        <result property="printUrl" column="print_url"/>
+        <result property="gradesUrl" column="grades_url"/>
+        <result property="scoreLineUrl" column="score_line_url"/>
+        <result property="certificate" column="certificate"/>
+    </resultMap>
 
+    <select id="selectExamUserList" parameterType="com.zhongzheng.modules.exam.bo.ExamArrangementQueryBo" resultMap="UserResult">
+        SELECT
+            u.*,
+            e.*
+        FROM
+            exam_arrangement_student s
+                LEFT JOIN `user` u ON s.student_id = u.user_id
+                LEFT JOIN exam_arrangement e ON s.arrangement_id = e.id
+                LEFT JOIN exam_arrangement_time t ON t.arrangement_id = e.id
+        WHERE 1=1
+        <if test="startTime != null and startTime != ''">
+            AND t.start_time BETWEEN #{startTime} and #{endTime}
+        </if>
+    </select>
 </mapper>