liusheng
2024-11-22 5389773b2d1ae86daec68b00f67c3682dc907e01
smartor/src/main/java/com/smartor/service/impl/PatArchiveImportServiceImpl.java
@@ -1,16 +1,21 @@
package com.smartor.service.impl;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.core.domain.entity.SysUserRole;
import com.smartor.domain.PatArchiveImport;
import com.smartor.mapper.PatArchiveImportMapper;
import com.smartor.service.IPatArchiveImportService;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
import java.text.DecimalFormat;
@@ -30,6 +35,7 @@
public class PatArchiveImportServiceImpl implements IPatArchiveImportService {
    @Autowired
    private PatArchiveImportMapper patArchiveImportMapper;
    /**
     * 查询Excel导入患者档案
@@ -100,7 +106,7 @@
    }
    @Override
    public List<PatArchiveImport> importPatInfo(MultipartFile multipartFile) {
    public List<PatArchiveImport> importPatInfo(MultipartFile multipartFile, SysUser user) {
        //用于返回
        List<PatArchiveImport> patArchiveImports = new ArrayList<>();
@@ -144,7 +150,11 @@
                    }
                    boolean contains = qc.contains(row.getCell(1).toString());
                    if (contains) continue;
                    PatArchiveImport pt = new PatArchiveImport();
                    pt.setIdcardno(patArchiveImport.getIdcardno());
                    pt.setDelFlag("0");
                    List<PatArchiveImport> patArchiveImports1 = patArchiveImportMapper.selectPatArchiveImportList(pt);
                    if (contains || CollectionUtils.isNotEmpty(patArchiveImports1)) continue;
                }
                if (ObjectUtils.isNotEmpty(row.getCell(2)) && StringUtils.isNotEmpty(row.getCell(2) + "")) {
@@ -171,11 +181,42 @@
                    patArchiveImport.setAge(Long.valueOf(row.getCell(7).toString()));
                }
                patArchiveImport.setCreateTime(new Date());
                patArchiveImport.setUpdateTime(new Date());
                //批量号(当前时间)
                patArchiveImport.setBatchNo(new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()));
                patArchiveImport.setCreateBy(user.getNickName());
                insertPatArchiveImport(patArchiveImport);
                //给当前导入患者,注册帐号  sys_user  sys_user_role
                if (patArchiveImport.getAccount() == 1) {
                    //查询一下,该患者是否已经在表里创建了帐号
                    SysUser sysUser = patArchiveImportMapper.checkUserExist(patArchiveImport.getIdcardno());
                    if (ObjectUtils.isEmpty(sysUser)) {
                        sysUser = new SysUser();
                        //如果为空,则进行新增sys_user   sys_role
                        sysUser.setIdCard(patArchiveImport.getIdcardno());
                        int start = patArchiveImport.getIdcardno().length() - 6;
                        String lastSixDigits = patArchiveImport.getIdcardno().substring(start, start + 6);
                        sysUser.setUserName(lastSixDigits);
                        //密码:xh@123456
                        sysUser.setPassword("$2a$10$zja67LEWTESHutljd8bqEeRy.VgWb./8iJPpFR6VjTUa7ZYNfRRrO");
                        sysUser.setPhonenumber(patArchiveImport.getTelcode());
                        sysUser.setUserType("患者");
                        sysUser.setDeptId(395L);
                        sysUser.setNickName(patArchiveImport.getName());
                        sysUser.setCreateTime(new Date());
                        sysUser.setCreateBy(user.getNickName());
                        sysUser.setUpdateTime(new Date());
                        sysUser.setUpdateBy(user.getNickName());
                        patArchiveImportMapper.insertUser(sysUser);
                        //将患者与角色绑定
                        SysUserRole sysUserRole = new SysUserRole();
                        sysUserRole.setUserId(sysUser.getUserId());
                        sysUserRole.setRoleId(6L);
                        patArchiveImportMapper.insertUserRole(sysUserRole);
                    }
                }
                patArchiveImports.add(patArchiveImport);
            }