标准excel导入

This commit is contained in:
zhaokaiyao@91isoft.com
2021-11-15 09:59:24 +08:00
parent 6d80822d59
commit 3fee0547a4
10 changed files with 526 additions and 39 deletions
@@ -22,4 +22,6 @@ public interface IAttFileEOService extends IService<AttFileEO> {
public String saveFileAttId(File file);
public AttFileVo insertFileInfo(File file,String fileName);
}
@@ -358,4 +358,74 @@ public class AttFileEOServiceImpl extends ServiceImpl<AttFileEODao, AttFileEO> i
}
/**
* 保存文件并返回文件ID
*
* @param file
*/
@Transactional(rollbackFor = Exception.class)
public AttFileVo insertFileInfo(File file,String customFileName) {
/**
* 1、首先生成文件保存的主键ID
* 2、根据文件ID生成随机路径
* 3、生成文件名
* 3、保存文件
* 4、获取文件相关信息
* 5、判断当前表是否有存在,如果存在则执行insert语句 如果不存在则创建表结构
* 5、保存入库并返回主键ID
*/
AttFileVo attFileVo = new AttFileVo();
String fileId = UUIDUtils.randomUUID20();
try {
String uuidPath = UUIDUtils.getUUIDPath(fileId);
String FileSavePath = filePath + uuidPath + "/";
File dir = new File(FileSavePath);
if (!dir.exists()) {
dir.mkdirs();
}
String fileName = file.getName();
String fileSuffix = fileName.substring(fileName.lastIndexOf(".")+1, fileName.length());
String newFileName = fileId +"."+ fileSuffix;
String oldName=customFileName+"."+fileSuffix;
File saveFile = new File(FileSavePath + newFileName);
FileUtils.copyFile(file,saveFile);
//开始存储文件信息
String tableName = UUIDUtils.getAttTable();
int existTable = this.baseMapper.existTable(tableName);
if (existTable == 0) {
this.baseMapper.creatTableInfo(tableName);
}
fileId = tableName + "_" + fileId;
AttFileEO attFileEO = new AttFileEO();
attFileEO.setTableName(tableName);
attFileEO.setId(fileId);
attFileEO.setOldFileName(customFileName);
attFileEO.setFileSuffix(fileSuffix);
attFileEO.setFilePath(uuidPath);
attFileEO.setFileName(oldName);
attFileEO.setValidFlag(ValidFlagEnum.VALID_TRUE.getValue());
attFileEO.setCreationTime(new Date());
attFileEO.setModifyTime(new Date());
this.baseMapper.insertData(attFileEO);
attFileVo.setId(fileId);
attFileVo.setFileName(newFileName);
attFileVo.setFilePath(uuidPath);
attFileVo.setFileSuffix(fileSuffix);
attFileVo.setOldFileName(oldName);
} catch (IOException e) {
log.error(e.getMessage(),e);
} catch (Exception e) {
log.error(e.getMessage(),e);
}
return attFileVo;
}
}