From fd6dca0c559c08129b7e0abdf67093b1a728ffd3 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期五, 29 十一月 2024 17:21:00 +0800
Subject: [PATCH] 代码提交
---
smartor/src/main/java/com/smartor/service/impl/PatArchiveImportServiceImpl.java | 82 ++++++++++++++++++++++++++++++++++------
1 files changed, 69 insertions(+), 13 deletions(-)
diff --git a/smartor/src/main/java/com/smartor/service/impl/PatArchiveImportServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/PatArchiveImportServiceImpl.java
index a40ee8c..4307289 100644
--- a/smartor/src/main/java/com/smartor/service/impl/PatArchiveImportServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/PatArchiveImportServiceImpl.java
@@ -1,10 +1,13 @@
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.Cell;
import org.apache.poi.ss.usermodel.Row;
@@ -13,7 +16,6 @@
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;
@@ -21,6 +23,7 @@
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
+import java.util.regex.Pattern;
/**
* Excel瀵煎叆鎮h�呮。妗圫ervice涓氬姟灞傚鐞�
@@ -32,6 +35,7 @@
public class PatArchiveImportServiceImpl implements IPatArchiveImportService {
@Autowired
private PatArchiveImportMapper patArchiveImportMapper;
+
/**
* 鏌ヨExcel瀵煎叆鎮h�呮。妗�
@@ -102,7 +106,7 @@
}
@Override
- public List<PatArchiveImport> importPatInfo(MultipartFile multipartFile) {
+ public List<PatArchiveImport> importPatInfo(MultipartFile multipartFile, SysUser user) {
//鐢ㄤ簬杩斿洖
List<PatArchiveImport> patArchiveImports = new ArrayList<>();
@@ -117,50 +121,102 @@
PatArchiveImport patArchiveImport = new PatArchiveImport();
Row row = sheet.getRow(i);
//濡傛灉琛屼负绌猴紝杩涜涓嬩竴娆″惊鐜�
- if (ObjectUtils.isEmpty(row.getCell(0)) && ObjectUtils.isEmpty(row.getCell(1)) && ObjectUtils.isEmpty(row.getCell(2))) {
+ if (ObjectUtils.isEmpty(row.getCell(0)) && StringUtils.isNotEmpty(row.getCell(0) + "") && ObjectUtils.isEmpty(row.getCell(1)) && StringUtils.isNotEmpty(row.getCell(1) + "") && ObjectUtils.isEmpty(row.getCell(2)) && StringUtils.isNotEmpty(row.getCell(2) + "")) {
continue;
}
//鍒ゆ柇鏁版嵁鏄惁鏈夐棶棰�
- if (ObjectUtils.isNotEmpty(row.getCell(0).toString())) {
+ if (ObjectUtils.isNotEmpty(row.getCell(0)) && StringUtils.isNotEmpty(row.getCell(0) + "")) {
patArchiveImport.setName(row.getCell(0).toString());
+ } else {
+ continue;
}
- if (ObjectUtils.isNotEmpty(row.getCell(1))) {
- patArchiveImport.setIdcardno(row.getCell(1).toString());
+ if (ObjectUtils.isNotEmpty(row.getCell(1)) && StringUtils.isNotEmpty(row.getCell(1) + "")) {
+ Cell cell = row.getCell(1);
+ if (row.getCell(1).toString().contains("X") || row.getCell(1).toString().contains("x")) {
+ patArchiveImport.setIdcardno(row.getCell(1).toString());
+ } else {
+ Pattern pattern = Pattern.compile("^[-\\+]?[\\d]*$");
+ boolean matches = pattern.matcher(row.getCell(1).toString()).matches();
+ if (matches) {
+ patArchiveImport.setIdcardno(row.getCell(1).toString());
+ } else {
+ double numericCellValue = cell.getNumericCellValue();
+ DecimalFormat decimalFormat = new DecimalFormat("#");
+ String formattedValue = decimalFormat.format(numericCellValue);
+ patArchiveImport.setIdcardno(formattedValue);
+ }
+ }
+
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))) {
+ if (ObjectUtils.isNotEmpty(row.getCell(2)) && StringUtils.isNotEmpty(row.getCell(2) + "")) {
Cell cell = row.getCell(2);
double numericCellValue = cell.getNumericCellValue();
DecimalFormat decimalFormat = new DecimalFormat("#");
String formattedValue = decimalFormat.format(numericCellValue);
patArchiveImport.setTelcode(formattedValue);
}
- if (ObjectUtils.isNotEmpty(row.getCell(3))) {
+ if (ObjectUtils.isNotEmpty(row.getCell(3)) && StringUtils.isNotEmpty(row.getCell(3) + "")) {
patArchiveImport.setBatchName(row.getCell(3).toString());
}
- if (ObjectUtils.isNotEmpty(row.getCell(4))) {
+ if (ObjectUtils.isNotEmpty(row.getCell(4)) && StringUtils.isNotEmpty(row.getCell(4) + "")) {
patArchiveImport.setPatientno(row.getCell(4).toString());
}
- if (ObjectUtils.isNotEmpty(row.getCell(5))) {
+ if (ObjectUtils.isNotEmpty(row.getCell(5)) && StringUtils.isNotEmpty(row.getCell(5) + "")) {
patArchiveImport.setPattype(row.getCell(5).toString());
}
- if (ObjectUtils.isNotEmpty(row.getCell(6))) {
+ if (ObjectUtils.isNotEmpty(row.getCell(6)) && StringUtils.isNotEmpty(row.getCell(6) + "")) {
patArchiveImport.setSex(Long.valueOf(row.getCell(6).toString()));
}
- if (ObjectUtils.isNotEmpty(row.getCell(7))) {
+ if (ObjectUtils.isNotEmpty(row.getCell(7)) && StringUtils.isNotEmpty(row.getCell(7) + "")) {
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);
+ //瀵嗙爜锛歺h@123456
+ sysUser.setPassword("$2a$10$zja67LEWTESHutljd8bqEeRy.VgWb./8iJPpFR6VjTUa7ZYNfRRrO");
+ sysUser.setPhonenumber(patArchiveImport.getTelcode());
+ sysUser.setUserType("鎮h��");
+ 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);
}
--
Gitblit v1.9.3