人员上传问题修改

This commit is contained in:
tqzhang 2025-01-20 09:16:52 +08:00
parent ed487edfd2
commit a4380c4309
1 changed files with 31 additions and 11 deletions

View File

@ -18,6 +18,7 @@ import org.jetbrains.annotations.NotNull;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -214,7 +215,7 @@ public class ImportServiceImpl implements ImportService {
} catch (Exception e) { } catch (Exception e) {
ajaxResult.isError(); ajaxResult.isError();
// throw new Exception("文件上传失败"+e); // throw new Exception("文件上传失败"+e);
e.printStackTrace(); TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
} }
return ajaxResult; return ajaxResult;
@ -268,6 +269,7 @@ public class ImportServiceImpl implements ImportService {
deleteAllFile(uploadUrl + folderName); deleteAllFile(uploadUrl + folderName);
} }
file.transferTo(new File(uploadUrl + packageName)); file.transferTo(new File(uploadUrl + packageName));
String filesName = file.getOriginalFilename();
if (file.getOriginalFilename().indexOf(".zip") > 0) { if (file.getOriginalFilename().indexOf(".zip") > 0) {
unPackZip(packageName, uploadUrl); unPackZip(packageName, uploadUrl);
} }
@ -313,6 +315,13 @@ public class ImportServiceImpl implements ImportService {
@NotNull @NotNull
private static List<SysFileInfo> getSysFileInfos(List<SubPerson> inLibraryList, int i, SubPerson bean) { private static List<SysFileInfo> getSysFileInfos(List<SubPerson> inLibraryList, int i, SubPerson bean) {
List<SysFileInfo> fileList = new ArrayList<>(); List<SysFileInfo> fileList = new ArrayList<>();
int _index = 0;
String[] parts = nameList.get(0).split("/");
for (int m = 0; m < parts.length; m++) {
if (parts[m].contains("_")) {
_index = m;
}
}
//当前人员的所有文件 //当前人员的所有文件
for (String path : nameList) { for (String path : nameList) {
if (path.contains(inLibraryList.get(i).getPhone())) { if (path.contains(inLibraryList.get(i).getPhone())) {
@ -322,11 +331,11 @@ public class ImportServiceImpl implements ImportService {
sysFileInfo.setId(inLibraryList.get(i).getId()); sysFileInfo.setId(inLibraryList.get(i).getId());
sysFileInfo.setUuid(inLibraryList.get(i).getUuid()); sysFileInfo.setUuid(inLibraryList.get(i).getUuid());
sysFileInfo.setProId(bean.getProId()); sysFileInfo.setProId(bean.getProId());
sysFileInfo.setFileName(path.split("/")[3]); sysFileInfo.setFileName(path.split("/")[_index + 2]);
sysFileInfo.setCreatePerson(SecurityUtils.getLoginUser().getUsername()); sysFileInfo.setCreatePerson(SecurityUtils.getLoginUser().getUsername());
sysFileInfo.setUserId(String.valueOf(SecurityUtils.getLoginUser().getUserid())); sysFileInfo.setUserId(String.valueOf(SecurityUtils.getLoginUser().getUserid()));
sysFileInfo.setUserType(bean.getUserType()); sysFileInfo.setUserType(bean.getUserType());
switch (path.split("/")[2]) { switch (path.split("/")[_index + 1]) {
case "人脸照片": case "人脸照片":
sysFileInfo.setInformationType("5"); sysFileInfo.setInformationType("5");
break; break;
@ -405,7 +414,7 @@ public class ImportServiceImpl implements ImportService {
nameList = new ArrayList<>(); nameList = new ArrayList<>();
namePhoneList = new ArrayList<>(); namePhoneList = new ArrayList<>();
map = new HashMap<>(); map = new HashMap<>();
String encoding = "GBK"; String encoding = "UTF-8";
ZipFile zipFile = new ZipFile(path); ZipFile zipFile = new ZipFile(path);
zipFile.setFileNameCharset(encoding); zipFile.setFileNameCharset(encoding);
List<FileHeader> list = zipFile.getFileHeaders(); List<FileHeader> list = zipFile.getFileHeaders();
@ -413,15 +422,23 @@ public class ImportServiceImpl implements ImportService {
String beforeName = ""; String beforeName = "";
StringBuilder folderName = new StringBuilder(); StringBuilder folderName = new StringBuilder();
int i = 0; int i = 0;
int _index = 0;
while (i < list.size()) { while (i < list.size()) {
FileHeader fileHeader = list.get(i); FileHeader fileHeader = list.get(i);
String fileName = fileHeader.getFileName(); String fileName = fileHeader.getFileName();
if (fileName.contains(".") && fileName.contains("_")) {
if (fileName.contains(".")) {
if (StringUtils.isEmpty(folderName)) { if (StringUtils.isEmpty(folderName)) {
//判断_在第几个位置
String[] parts = fileName.split("/");
for (int m = 0; m < parts.length; m++) {
if (parts[m].contains("_")) {
_index = m;
}
}
// 初次进入赋值第一个人的名称_手机号 和对应的 value // 初次进入赋值第一个人的名称_手机号 和对应的 value
beforeName = fileName.split("/")[1].split("_")[1]; beforeName = fileName.split("/")[_index].split("_")[1];
map.put(beforeName, "其他文件".equals(fileName.split("/")[2]) ? "" : fileName.split("/")[2]); String name = fileName.split("/")[_index + 1];
map.put(beforeName, "其他文件".equals(fileName.split("/")[_index + 1]) ? "" : fileName.split("/")[_index + 1]);
} }
// 设置编码 // 设置编码
@ -436,7 +453,7 @@ public class ImportServiceImpl implements ImportService {
if (i == (list.size() - 1)) { if (i == (list.size() - 1)) {
map.put(beforeName, folderName.toString()); map.put(beforeName, folderName.toString());
} }
String currentName = fileName.split("/")[1].split("_")[1]; String currentName = fileName.split("/")[_index].split("_")[1];
if (!beforeName.equals(currentName)) { if (!beforeName.equals(currentName)) {
// 不相同名称时对map进行赋值 // 不相同名称时对map进行赋值
map.put(beforeName, folderName.toString()); map.put(beforeName, folderName.toString());
@ -444,8 +461,11 @@ public class ImportServiceImpl implements ImportService {
folderName = new StringBuilder(); folderName = new StringBuilder();
} }
if (!"其他文件".equals(fileName.split("/")[2])) { if (!"其他文件".equals(fileName.split("/")[_index + 1])) {
folderName.append(fileName.split("/")[2]).append(","); folderName.append(fileName.split("/")[_index + 1]).append(",");
}
if (!"人脸照片".equals(fileName.split("/")[_index + 1])) {
folderName.append(fileName.split("/")[_index + 1]).append(",");
} }
if (i == list.size() - 1) { if (i == list.size() - 1) {