教育训练处考试制证系统后端
heheng
2025-01-22 56c9cd32e5728799118562c1ce0fe25fd7caaadb
特种作业非煤缴费版本导入优化
已修改3个文件
已添加1个文件
65 ■■■■ 文件已修改
exam-system/src/main/java/com/gkhy/exam/pay/controller/NonCoalPayController.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
exam-system/src/main/java/com/gkhy/exam/pay/dto/req/NonCoalPayStuImport.java 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
exam-system/src/main/java/com/gkhy/exam/pay/service/NonCoalPayStudentService.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
exam-system/src/main/java/com/gkhy/exam/pay/service/impl/NonCoalPayStudentServiceImpl.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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);
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;
}
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);
}
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());