From 56c9cd32e5728799118562c1ce0fe25fd7caaadb Mon Sep 17 00:00:00 2001
From: heheng <heheng@123456>
Date: 星期三, 22 一月 2025 10:38:59 +0800
Subject: [PATCH] 特种作业非煤缴费版本导入优化

---
 exam-system/src/main/java/com/gkhy/exam/pay/service/NonCoalPayStudentService.java          |    3 +
 exam-system/src/main/java/com/gkhy/exam/pay/controller/NonCoalPayController.java           |    7 ++-
 exam-system/src/main/java/com/gkhy/exam/pay/dto/req/NonCoalPayStuImport.java               |   33 ++++++++++++++++
 exam-system/src/main/java/com/gkhy/exam/pay/service/impl/NonCoalPayStudentServiceImpl.java |   22 +++++++---
 4 files changed, 55 insertions(+), 10 deletions(-)

diff --git a/exam-system/src/main/java/com/gkhy/exam/pay/controller/NonCoalPayController.java b/exam-system/src/main/java/com/gkhy/exam/pay/controller/NonCoalPayController.java
index ff1eae0..86139f4 100644
--- a/exam-system/src/main/java/com/gkhy/exam/pay/controller/NonCoalPayController.java
+++ b/exam-system/src/main/java/com/gkhy/exam/pay/controller/NonCoalPayController.java
@@ -2,6 +2,7 @@
 
 import com.gkhy.exam.pay.dto.rep.NonCoalPayPageRepDto;
 import com.gkhy.exam.pay.dto.req.NonCoalPayReqDto;
+import com.gkhy.exam.pay.dto.req.NonCoalPayStuImport;
 import com.gkhy.exam.pay.dto.req.NonCoalPayStudentReqDto;
 import com.gkhy.exam.pay.dto.req.NonCoalPayTypeEditReqDto;
 import com.gkhy.exam.pay.entity.NonCoalPay;
@@ -162,9 +163,11 @@
 
 
     @PostMapping("/stuImportData")
+    @ApiOperation(value = "导入学员")
+    @ApiImplicitParam(name = "nonCoalPayId", dataTypeClass = Long.class, value = "nonCoalPayId", required = true)
     public AjaxResult importData(MultipartFile file, Long nonCoalPayId) throws Exception {
-        ExcelUtil<NonCoalPayStudent> util = new ExcelUtil<NonCoalPayStudent>(NonCoalPayStudent.class);
-        List<NonCoalPayStudent> nonCoalPayStudents = util.importExcel(file.getInputStream());
+        ExcelUtil<NonCoalPayStuImport> util = new ExcelUtil<NonCoalPayStuImport>(NonCoalPayStuImport.class);
+        List<NonCoalPayStuImport> nonCoalPayStudents = util.importExcel(file.getInputStream());
         String operName = getUsername();
         String message = nonCoalPayStudentService.importData(nonCoalPayStudents, operName, nonCoalPayId);
         return success(message);
diff --git a/exam-system/src/main/java/com/gkhy/exam/pay/dto/req/NonCoalPayStuImport.java b/exam-system/src/main/java/com/gkhy/exam/pay/dto/req/NonCoalPayStuImport.java
new file mode 100644
index 0000000..0d763f5
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/pay/dto/req/NonCoalPayStuImport.java
@@ -0,0 +1,33 @@
+package com.gkhy.exam.pay.dto.req;
+
+import com.ruoyi.common.annotation.Excel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class NonCoalPayStuImport {
+    @Excel(name = "姓名")
+    @ApiModelProperty("姓名")
+    private String name;
+
+    /**
+     * 身份证号
+     */
+    @Excel(name = "身份证号")
+    @ApiModelProperty("身份证号")
+    private String idCard;
+
+    /**
+     * 电话
+     */
+    @Excel(name = "手机号")
+    @ApiModelProperty("手机号")
+    private String phone;
+
+    /**
+     * 0男 1女 2未知
+     */
+    @Excel(name = "性别")
+    @ApiModelProperty("性别 0男1女2未知")
+    private String sex;
+}
diff --git a/exam-system/src/main/java/com/gkhy/exam/pay/service/NonCoalPayStudentService.java b/exam-system/src/main/java/com/gkhy/exam/pay/service/NonCoalPayStudentService.java
index 79d879f..05ff00c 100644
--- a/exam-system/src/main/java/com/gkhy/exam/pay/service/NonCoalPayStudentService.java
+++ b/exam-system/src/main/java/com/gkhy/exam/pay/service/NonCoalPayStudentService.java
@@ -1,6 +1,7 @@
 package com.gkhy.exam.pay.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.gkhy.exam.pay.dto.req.NonCoalPayStuImport;
 import com.gkhy.exam.pay.dto.req.NonCoalPayStudentReqDto;
 import com.gkhy.exam.pay.entity.NonCoalPayStudent;
 
@@ -66,5 +67,5 @@
      */
     public int deleteNonCoalPayStudentById(Long id);
 
-    public String importData(List<NonCoalPayStudent> nonCoalPayStudents, String operName, Long nonCoalPayId);
+    public String importData(List<NonCoalPayStuImport> nonCoalPayStudents, String operName, Long nonCoalPayId);
 }
\ No newline at end of file
diff --git a/exam-system/src/main/java/com/gkhy/exam/pay/service/impl/NonCoalPayStudentServiceImpl.java b/exam-system/src/main/java/com/gkhy/exam/pay/service/impl/NonCoalPayStudentServiceImpl.java
index 63b2d96..00c8f0d 100644
--- a/exam-system/src/main/java/com/gkhy/exam/pay/service/impl/NonCoalPayStudentServiceImpl.java
+++ b/exam-system/src/main/java/com/gkhy/exam/pay/service/impl/NonCoalPayStudentServiceImpl.java
@@ -3,6 +3,8 @@
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.gkhy.exam.institutionalaccess.enums.StudentSex;
+import com.gkhy.exam.pay.dto.req.NonCoalPayStuImport;
 import com.gkhy.exam.pay.dto.req.NonCoalPayStudentReqDto;
 import com.gkhy.exam.pay.entity.NonCoalPay;
 import com.gkhy.exam.pay.entity.NonCoalPayStudent;
@@ -164,14 +166,14 @@
     }
 
     @Override
-    public String importData(List<NonCoalPayStudent> nonCoalPayStudents, String operName, Long nonCoalPayId) {
+    public String importData(List<NonCoalPayStuImport> nonCoalPayStudents, String operName, Long nonCoalPayId) {
         if (StringUtils.isNull(nonCoalPayStudents) || nonCoalPayStudents.isEmpty()) {
             throw new ServiceException("导入数据不能为空!");
         }
         NonCoalPay nonCoalPay = checkNonCoalPay(nonCoalPayId);
         Integer payPersonType = nonCoalPay.getPayPersonType();
         Set<String> collect = nonCoalPayStudents.stream()
-                .map(NonCoalPayStudent::getIdCard)
+                .map(NonCoalPayStuImport::getIdCard)
                 .collect(Collectors.toSet());
         if (collect.size() != nonCoalPayStudents.size()) {
             throw new ServiceException("导入数据不能有重复身份证号!");
@@ -192,17 +194,23 @@
         int failureNum = 0;
         StringBuilder successMsg = new StringBuilder();
         StringBuilder failureMsg = new StringBuilder();
-        for (NonCoalPayStudent stu : nonCoalPayStudents) {
+        for (NonCoalPayStuImport stu : nonCoalPayStudents) {
             try {
                 if (StringUtils.isEmpty(stu.getIdCard()) || StringUtils.isEmpty(stu.getName()) || StringUtils.isEmpty(stu.getPhone()) || stu.getSex() == null) {
                     failureMsg.append("<br/>" + failureNum + "、导入数据为空: " + stu.getIdCard() + " 数据错误");
                 } else if (idCardToNameMap.get(stu.getIdCard().trim()) != null) {
                     failureMsg.append("<br/>" + failureNum + "、身份证号: " + stu.getIdCard() + " 数据已存在");
                 } else {
-                    stu.setPayStatus(0L);
-                    stu.setPayType(payPersonType.longValue());
-                    stu.setNonCoalPayId(nonCoalPayId);
-                    save(stu);
+                    NonCoalPayStudent stu1 = new NonCoalPayStudent();
+                    stu1.setPayStatus(0L);
+                    stu1.setPayType(payPersonType.longValue());
+                    stu1.setNonCoalPayId(nonCoalPayId);
+                    stu1.setCreateBy(operName);
+                    stu1.setName(stu.getName());
+                    stu1.setIdCard(stu.getIdCard());
+                    stu1.setPhone(stu.getPhone());
+                    stu1.setSex(StudentSex.BOY.getStatus().equals(stu.getSex().trim()) ? 0L : 1L);
+                    nonCoalPayStudentMapper.insertNonCoalPayStudent(stu1);
                     successNum++;
                     successMsg.append("<br/>" + successNum + "、身份证号 " + stu.getIdCard() + " 导入成功");
                     idCardToNameMap.put(stu.getIdCard(), stu.getIdCard());

--
Gitblit v1.9.2