yangdamao 1 rok temu
rodzic
commit
cd0e334b8d

+ 11 - 1
zhongzheng-admin-data/src/main/java/com/zhongzheng/controller/ExamSubscribeController.java

@@ -78,7 +78,6 @@ public class ExamSubscribeController extends BaseController {
     @GetMapping("/subscribe/list")
     @GetMapping("/subscribe/list")
     public TableDataInfo<CdUserExamSubscribeVo> getExamSubscribeList(CdUserExamSubscribeQueryBo bo) {
     public TableDataInfo<CdUserExamSubscribeVo> getExamSubscribeList(CdUserExamSubscribeQueryBo bo) {
         startPage();
         startPage();
-
         List<CdUserExamSubscribeVo> list = examRoomService.getExamSubscribeList(bo);
         List<CdUserExamSubscribeVo> list = examRoomService.getExamSubscribeList(bo);
         return getDataTable(list);
         return getDataTable(list);
     }
     }
@@ -95,4 +94,15 @@ public class ExamSubscribeController extends BaseController {
         return toAjax(examRoomService.addExamApplyNum(bo)?1:0);
         return toAjax(examRoomService.addExamApplyNum(bo)?1:0);
     }
     }
 
 
+    @ApiOperation("考试结果")
+    @PostMapping("/add/exam/result")
+    public AjaxResult<Void> addExamResult(@RequestBody List<ExamApplyResultExportBo> bo) {
+        return toAjax(examRoomService.addExamResult(bo)?1:0);
+    }
+
+    @ApiOperation("考试证书")
+    @PostMapping("/add/exam/result/certificate")
+    public AjaxResult<Void> addExamResultCertificate(@RequestBody List<ExamApplyCertificateBo> bo) {
+        return toAjax(examRoomService.addExamResultCertificate(bo)?1:0);
+    }
 }
 }

+ 30 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/middleground/record/bo/ExamApplyCertificateBo.java

@@ -0,0 +1,30 @@
+package com.zhongzheng.modules.middleground.record.bo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @author yangdamao
+ * @date 2023年06月20日 11:22
+ */
+@Data
+public class ExamApplyCertificateBo implements Serializable {
+
+    private String userName;
+
+    private String idCard;
+
+    /** 证书编号 */
+    private String certificateCode;
+    /** 发证时间 */
+    private Long certificateStartTime;
+    /** 到期时间 */
+    private Long certificateEndTime;
+    /** 证书下载地址 */
+    private String certificateUrl;
+
+    private String major;
+
+    private Long tenantId;
+}

+ 45 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/middleground/record/bo/ExamApplyResultExportBo.java

@@ -0,0 +1,45 @@
+package com.zhongzheng.modules.middleground.record.bo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @author yangdamao
+ * @date 2023年06月20日 11:22
+ */
+@Data
+public class ExamApplyResultExportBo implements Serializable {
+
+    private String index;
+
+    private String userName;
+
+    private String idCard;
+
+    private String telphone;
+
+    private String majorName;
+
+    private String applyStatus;
+
+    private String score;
+
+    private String scoreCheck;
+
+    private String scoreCheckTime;
+
+    private String companyName;
+
+    private String certificateCode;
+
+    private Long applyTime;
+
+    private String applyStartTime;
+
+    private String applyEndTime;
+
+    private String major;
+
+    private Long tenantId;
+}

+ 6 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/middleground/record/mapper/CdExamSubscribeMapper.java

@@ -1,10 +1,16 @@
 package com.zhongzheng.modules.middleground.record.mapper;
 package com.zhongzheng.modules.middleground.record.mapper;
 
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zhongzheng.modules.middleground.record.bo.ExamApplyCertificateBo;
+import com.zhongzheng.modules.middleground.record.bo.ExamApplyResultExportBo;
 import com.zhongzheng.modules.middleground.record.domain.CdExamSubscribe;
 import com.zhongzheng.modules.middleground.record.domain.CdExamSubscribe;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Param;
 
 
 public interface CdExamSubscribeMapper extends BaseMapper<CdExamSubscribe> {
 public interface CdExamSubscribeMapper extends BaseMapper<CdExamSubscribe> {
 
 
     Long getReplenishNum(@Param("userId") Long userId,@Param("examMajor") String examMajor,@Param("tenantId") Long tenantId);
     Long getReplenishNum(@Param("userId") Long userId,@Param("examMajor") String examMajor,@Param("tenantId") Long tenantId);
+
+    CdExamSubscribe getExamSubByBo(ExamApplyResultExportBo exportBo);
+
+    CdExamSubscribe getExamCertificateByBo(ExamApplyCertificateBo certificateBo);
 }
 }

+ 4 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/middleground/record/service/ICdExamRoomService.java

@@ -30,4 +30,8 @@ public interface ICdExamRoomService extends IService<CdExamRoom> {
     boolean updateExitType(UpdateExitTypeBo bo);
     boolean updateExitType(UpdateExitTypeBo bo);
 
 
     boolean addExamApplyNum(AddExamApplyNumBo bo);
     boolean addExamApplyNum(AddExamApplyNumBo bo);
+
+    Boolean addExamResult(List<ExamApplyResultExportBo> bo);
+
+    Boolean addExamResultCertificate(List<ExamApplyCertificateBo> bo);
 }
 }

+ 6 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/middleground/record/service/ICdExamSubscribeService.java

@@ -1,9 +1,15 @@
 package com.zhongzheng.modules.middleground.record.service;
 package com.zhongzheng.modules.middleground.record.service;
 
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.zhongzheng.modules.middleground.record.bo.ExamApplyCertificateBo;
+import com.zhongzheng.modules.middleground.record.bo.ExamApplyResultExportBo;
 import com.zhongzheng.modules.middleground.record.domain.CdExamSubscribe;
 import com.zhongzheng.modules.middleground.record.domain.CdExamSubscribe;
 
 
 public interface ICdExamSubscribeService extends IService<CdExamSubscribe> {
 public interface ICdExamSubscribeService extends IService<CdExamSubscribe> {
 
 
     Long getReplenishNum(Long userId, String examMajor,Long tenantId);
     Long getReplenishNum(Long userId, String examMajor,Long tenantId);
+
+    CdExamSubscribe getExamSubByBo(ExamApplyResultExportBo exportBo);
+
+    CdExamSubscribe getExamCertificateByBo(ExamApplyCertificateBo certificateBo);
 }
 }

+ 68 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/middleground/record/service/impl/CdExamRoomServiceImpl.java

@@ -27,6 +27,7 @@ import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.annotation.Transactional;
 
 
+import java.math.BigDecimal;
 import java.util.*;
 import java.util.*;
 import java.util.stream.Collectors;
 import java.util.stream.Collectors;
 
 
@@ -578,6 +579,73 @@ public class CdExamRoomServiceImpl extends ServiceImpl<CdExamRoomMapper, CdExamR
         return cdUserSubscribeService.updateById(userSubscribe);
         return cdUserSubscribeService.updateById(userSubscribe);
     }
     }
 
 
+    @Override
+    public Boolean addExamResult(List<ExamApplyResultExportBo> bo) {
+        if (CollectionUtils.isEmpty(bo)){
+            return false;
+        }
+        //补充学员成绩
+        bo.forEach(exportBo -> {
+            Long newTenantId = getNewTenantId(exportBo.getTenantId(), 1);
+            exportBo.setTenantId(newTenantId);
+            CdExamSubscribe subscribe = cdExamSubscribeService.getExamSubByBo(exportBo);
+            if (ObjectUtils.isNull(subscribe)){
+                return;
+            }
+            switch (exportBo.getApplyStatus()){
+                case "正常":
+                    //补充考试成绩
+                    BigDecimal bigDecimal = new BigDecimal(exportBo.getScore());
+                    subscribe.setExamStatus(1);
+                    subscribe.setPerformance(bigDecimal);
+                    if (bigDecimal.compareTo(new BigDecimal("60.00")) >= 0){
+                        subscribe.setResult(1);
+                    }else {
+                        subscribe.setResult(0);
+                    }
+                    break;
+                case "缺考":
+                    //补充考试成绩
+                    BigDecimal bigDecimal2 = new BigDecimal(exportBo.getScore());
+                    subscribe.setExamStatus(2);
+                    subscribe.setPerformance(bigDecimal2);
+                    subscribe.setResult(0);
+                    break;
+                case "作弊":
+                    //补充考试成绩
+                    BigDecimal bigDecimal3 = new BigDecimal(exportBo.getScore());
+                    subscribe.setExamStatus(3);
+                    subscribe.setPerformance(bigDecimal3);
+                    subscribe.setResult(0);
+                    break;
+                default :
+                    break;
+            }
+            cdExamSubscribeService.updateById(subscribe);
+        });
+        return true;
+    }
+
+    @Override
+    public Boolean addExamResultCertificate(List<ExamApplyCertificateBo> bo) {
+        if (CollectionUtils.isEmpty(bo)){
+            return false;
+        }
+        //补充学员成绩
+        bo.forEach(certificateBo -> {
+            Long newTenantId = getNewTenantId(certificateBo.getTenantId(), 1);
+            certificateBo.setTenantId(newTenantId);
+            CdExamSubscribe subscribe = cdExamSubscribeService.getExamCertificateByBo(certificateBo);
+            if (ObjectUtils.isNull(subscribe)){
+                return;
+            }
+            subscribe.setCertificateCode(certificateBo.getCertificateCode());
+            subscribe.setCertificateUrl(certificateBo.getCertificateUrl());
+            cdExamSubscribeService.updateById(subscribe);
+        });
+        return true;
+    }
+
     //预约校验
     //预约校验
     private void subscribeVerify(BatchSubscribeBo bo) {
     private void subscribeVerify(BatchSubscribeBo bo) {
         CdExamRoom courseRoom = getById(bo.getExamId());
         CdExamRoom courseRoom = getById(bo.getExamId());

+ 12 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/middleground/record/service/impl/CdExamSubscribeServiceImpl.java

@@ -1,6 +1,8 @@
 package com.zhongzheng.modules.middleground.record.service.impl;
 package com.zhongzheng.modules.middleground.record.service.impl;
 
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.zhongzheng.modules.middleground.record.bo.ExamApplyCertificateBo;
+import com.zhongzheng.modules.middleground.record.bo.ExamApplyResultExportBo;
 import com.zhongzheng.modules.middleground.record.domain.CdExamSubscribe;
 import com.zhongzheng.modules.middleground.record.domain.CdExamSubscribe;
 import com.zhongzheng.modules.middleground.record.mapper.CdExamSubscribeMapper;
 import com.zhongzheng.modules.middleground.record.mapper.CdExamSubscribeMapper;
 import com.zhongzheng.modules.middleground.record.service.ICdExamSubscribeService;
 import com.zhongzheng.modules.middleground.record.service.ICdExamSubscribeService;
@@ -16,4 +18,14 @@ public class CdExamSubscribeServiceImpl extends ServiceImpl<CdExamSubscribeMappe
     public Long getReplenishNum(Long userId, String examMajor,Long tenantId) {
     public Long getReplenishNum(Long userId, String examMajor,Long tenantId) {
         return baseMapper.getReplenishNum(userId, examMajor,tenantId);
         return baseMapper.getReplenishNum(userId, examMajor,tenantId);
     }
     }
+
+    @Override
+    public CdExamSubscribe getExamSubByBo(ExamApplyResultExportBo exportBo) {
+        return baseMapper.getExamSubByBo(exportBo);
+    }
+
+    @Override
+    public CdExamSubscribe getExamCertificateByBo(ExamApplyCertificateBo certificateBo) {
+        return baseMapper.getExamCertificateByBo(certificateBo);
+    }
 }
 }

+ 36 - 0
zhongzheng-system/src/main/resources/mapper/modules/cd/exam/DataWxTpClickMapper.xml

@@ -19,5 +19,41 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
           AND NOW() > cer.exam_time
           AND NOW() > cer.exam_time
     </select>
     </select>
 
 
+    <select id="getExamSubByBo" parameterType="com.zhongzheng.modules.middleground.record.bo.ExamApplyResultExportBo"
+            resultType="com.zhongzheng.modules.middleground.record.domain.CdExamSubscribe">
+        SELECT
+            es.*
+        FROM
+            cd_exam_subscribe es
+                LEFT JOIN cd_exam_room er ON es.exam_id = er.exam_id
+        WHERE
+            es.subscribe_status = 1
+          AND es.exam_status = 0
+          AND es.type = 1
+          AND es.tenant_id = #{tenantId}
+          AND es.exam_major = #{major}
+          AND es.user_card = #{idCard}
+          AND er.exam_time = #{applyTime}
+          AND er.exam_start_time = #{applyStartTime}
+          AND er.exam_end_time = #{applyEndTime}
+        limit 1
+    </select>
+
+    <select id="getExamCertificateByBo" parameterType="com.zhongzheng.modules.middleground.record.bo.ExamApplyCertificateBo"
+            resultType="com.zhongzheng.modules.middleground.record.domain.CdExamSubscribe">
+        SELECT
+            es.*
+        FROM
+            cd_exam_subscribe es
+        WHERE
+            es.subscribe_status = 1
+          AND es.exam_status = 1
+          AND es.result = 1
+          AND es.type = 1
+          AND es.tenant_id = #{tenantId}
+          AND es.exam_major = #{major}
+          AND es.user_card = #{idCard}
+        limit 1
+    </select>
 
 
 </mapper>
 </mapper>