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