bug: 政策法规资料导入带附件,内外部会议导入带附件
This commit is contained in:
+2
-2
@@ -169,9 +169,9 @@ public class InsideOutSideMeetingController extends BaseController<InsideOutside
|
||||
nowFile.mkdirs();
|
||||
String fileName2 = "导入模板.xls";
|
||||
HSSFSheet sheetItems = workbook.createSheet("模板");
|
||||
sheetItems.setDefaultColumnWidth(12);
|
||||
sheetItems.setDefaultColumnWidth(14);
|
||||
Row rowHeader = sheetItems.createRow(1);//开始创建标题行
|
||||
sheetItems.addMergedRegion(new CellRangeAddress(0, 0, 0, 12));
|
||||
sheetItems.addMergedRegion(new CellRangeAddress(0, 0, 0, 14));
|
||||
Row row2 = sheetItems.createRow(0);//开始创建填写说明
|
||||
String exportFieldName = FieldConvertUtil.exportFieldNamesInsideOutsideMeeting + "," + FieldConvertUtil.exportFieldNamesMeetingTopic;
|
||||
if (StringUtils.isNotBlank(exportFieldName)) {
|
||||
|
||||
+3
@@ -1,6 +1,7 @@
|
||||
package com.adc.da.slrs.InsideOntSideMeeting.entity;
|
||||
|
||||
import cn.afterturn.easypoi.excel.annotation.Excel;
|
||||
import com.adc.da.att.entity.AttFileEO;
|
||||
import com.adc.da.base.entity.BaseEntity;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
@@ -13,6 +14,7 @@ import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author tjzdw
|
||||
@@ -42,6 +44,7 @@ public class MeetingTopic extends BaseEntity {
|
||||
@ApiModelProperty(value = "议题材料")
|
||||
@TableField("AGENDA_MATERIALS")
|
||||
private String agendaMaterials;
|
||||
private List<AttFileEO> agendaMaterialsList;
|
||||
|
||||
@ApiModelProperty(value = "汇报人")
|
||||
@TableField("REPORTER")
|
||||
|
||||
+98
-9
@@ -2,6 +2,7 @@ package com.adc.da.slrs.InsideOntSideMeeting.service.impl;
|
||||
|
||||
import com.adc.da.att.entity.AttFileEO;
|
||||
import com.adc.da.att.service.IAttFileEOService;
|
||||
import com.adc.da.att.vo.AttFileVo;
|
||||
import com.adc.da.common.FileUnZip;
|
||||
import com.adc.da.http.ResponseMessage;
|
||||
import com.adc.da.http.Result;
|
||||
@@ -83,6 +84,16 @@ public class InsideOutsideMeetingServiceImpl extends ServiceImpl<InsideOutsideMe
|
||||
wrapper.eq(MeetingTopic::getMeetingId, meetingId);
|
||||
wrapper.orderByAsc(MeetingTopic::getCreateTime);
|
||||
List<MeetingTopic> meetingTopicList = meetingTopicService.list(wrapper);
|
||||
for (MeetingTopic meetingTopic : meetingTopicList) {
|
||||
if (StringUtils.isNotBlank(meetingTopic.getAgendaMaterials())) {
|
||||
List<AttFileEO> agendaMaterialsList = new ArrayList<>();
|
||||
for (String attId : meetingTopic.getAgendaMaterials().split(",")) {
|
||||
AttFileEO fileInfo = attFileEOService.getFileInfo(attId);
|
||||
agendaMaterialsList.add(fileInfo);
|
||||
}
|
||||
meetingTopic.setAgendaMaterialsList(agendaMaterialsList);
|
||||
}
|
||||
}
|
||||
insideOutsideMeeting.setMeetingTopicList(meetingTopicList);
|
||||
}
|
||||
return insideOutsideMeeting;
|
||||
@@ -244,19 +255,32 @@ public class InsideOutsideMeetingServiceImpl extends ServiceImpl<InsideOutsideMe
|
||||
//获取文件信息
|
||||
List<File> fileList = readImpExcelFile(zipEntryName);
|
||||
//判断获取到的文件数量
|
||||
if (fileList.size() != 1) {
|
||||
return Result.error("上传的文件只能有一个");
|
||||
if (fileList.size() < 1) {
|
||||
return Result.error("上传的文件不能为空");
|
||||
}
|
||||
File importFile = fileList.get(0);
|
||||
if (!importFile.getName().contains(".xls") && !importFile.getName().contains(".xlsx")) {
|
||||
return Result.error("文件必须是EXCEL文件");
|
||||
File excelFile = null;
|
||||
int excelCount = 0;
|
||||
// 将文件转换为Map,文件名为建,文件为值
|
||||
Map<String, File> fileMap = new HashMap<>();
|
||||
for (File file1 : fileList) {
|
||||
fileMap.put(file1.getName(), file1);
|
||||
if (file1.getName().toLowerCase().contains(".xls") || file1.getName().toLowerCase().contains(".xlsx")) {
|
||||
excelFile = file1;
|
||||
excelCount ++;
|
||||
}
|
||||
}
|
||||
if (excelCount > 1) {
|
||||
return Result.error("导入了多个Excel文件");
|
||||
}
|
||||
if (excelCount < 1){
|
||||
return Result.error("文件必须包含一个EXCEL文件");
|
||||
}
|
||||
Workbook workbook = null;
|
||||
try {
|
||||
workbook = WorkbookFactory.create(importFile);
|
||||
workbook = WorkbookFactory.create(excelFile);
|
||||
} catch (IOException e) {
|
||||
FileUnZip.deleteDir(saveDirectory);
|
||||
return Result.error("导入失败,需要导入的数据有问题或导入的企标标号和企标名称已存在");
|
||||
return Result.error("导入失败,需要导入的数据有问题");
|
||||
}
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||
Sheet sheet = workbook.getSheetAt(0);
|
||||
@@ -267,7 +291,7 @@ public class InsideOutsideMeetingServiceImpl extends ServiceImpl<InsideOutsideMe
|
||||
List<String> headerList = new ArrayList<>();
|
||||
// 获取excel表头
|
||||
Row headerRow = sheet.getRow(1);
|
||||
for (int i = 0; i <= 12; i++) {
|
||||
for (int i = 0; i <= 14; i++) {
|
||||
headerList.add(headerRow.getCell(i).getStringCellValue());
|
||||
}
|
||||
|
||||
@@ -292,7 +316,7 @@ public class InsideOutsideMeetingServiceImpl extends ServiceImpl<InsideOutsideMe
|
||||
// 用于存储每行的键值对数据,对应一条数据
|
||||
Map<String, String> rowMap = new LinkedHashMap<>();
|
||||
// 总列数
|
||||
int columnNum = 13;
|
||||
int columnNum = 15;
|
||||
// 遍历每个单元格
|
||||
for (int columnIndex = 0; columnIndex < columnNum; columnIndex++) {
|
||||
// 获取单元格
|
||||
@@ -349,9 +373,25 @@ public class InsideOutsideMeetingServiceImpl extends ServiceImpl<InsideOutsideMe
|
||||
insideOutsideMeeting.setMeetingName(meetingName);
|
||||
insideOutsideMeeting.setTopicName(dataMap.get("课题名称"));
|
||||
insideOutsideMeeting.setMeetingOrganizer(dataMap.get("会议主办单位"));
|
||||
Date meetingTime = null;
|
||||
try {
|
||||
meetingTime = sdf.parse(dataMap.get("会议时间"));
|
||||
} catch (ParseException e) {
|
||||
return Result.error("第"+ (count+1) +"行会议时间格式必须为年-月-日");
|
||||
}
|
||||
insideOutsideMeeting.setMeetingTime(sdf.parse(dataMap.get("会议时间")));
|
||||
insideOutsideMeeting.setMeetingAddress(dataMap.get("会议地点"));
|
||||
insideOutsideMeeting.setParticipants(dataMap.get("参会人员"));
|
||||
String meetingMinutesFileNameStr = dataMap.get("会议纪要");
|
||||
String meetingMinutesFileAtt = null;
|
||||
try {
|
||||
meetingMinutesFileAtt = getFileAtt(meetingMinutesFileNameStr, fileMap, count);
|
||||
} catch (Exception e) {
|
||||
return Result.error(e.getMessage());
|
||||
}
|
||||
if (StringUtils.isNotBlank(meetingMinutesFileAtt)) {
|
||||
insideOutsideMeeting.setMeetingMinutes(meetingMinutesFileAtt);
|
||||
}
|
||||
insideOutsideMeeting.setMeetingContent(dataMap.get("会议主要内容"));
|
||||
if (StringUtils.isNotBlank(dataMap.get("一级会议类别"))) {
|
||||
if (!firstMeetingTypeNameSet.contains(dataMap.get("一级会议类别"))){
|
||||
@@ -376,6 +416,16 @@ public class InsideOutsideMeetingServiceImpl extends ServiceImpl<InsideOutsideMe
|
||||
// 会议课题信息
|
||||
MeetingTopic meetingTopic = new MeetingTopic();
|
||||
meetingTopic.setAgendaName(dataMap.get("议题名称"));
|
||||
String agendaMaterialsFileNameStr = dataMap.get("议题材料");
|
||||
String agendaMaterialsFileNameAtt = null;
|
||||
try {
|
||||
agendaMaterialsFileNameAtt = getFileAtt(agendaMaterialsFileNameStr, fileMap, count);
|
||||
} catch (Exception e) {
|
||||
return Result.error(e.getMessage());
|
||||
}
|
||||
if (StringUtils.isNotBlank(agendaMaterialsFileNameAtt)) {
|
||||
meetingTopic.setAgendaMaterials(agendaMaterialsFileNameAtt);
|
||||
}
|
||||
meetingTopic.setReporter(dataMap.get("汇报人"));
|
||||
meetingTopic.setReportingUnit(dataMap.get("汇报单位"));
|
||||
meetingTopic.setAgendaContent(dataMap.get("议题主要内容"));
|
||||
@@ -385,6 +435,16 @@ public class InsideOutsideMeetingServiceImpl extends ServiceImpl<InsideOutsideMe
|
||||
// 进入else 表示该行是会议课题行
|
||||
MeetingTopic meetingTopic = new MeetingTopic();
|
||||
meetingTopic.setAgendaName(dataMap.get("议题名称"));
|
||||
String agendaMaterialsFileNameStr = dataMap.get("议题材料");
|
||||
String agendaMaterialsFileNameAtt = null;
|
||||
try {
|
||||
agendaMaterialsFileNameAtt = getFileAtt(agendaMaterialsFileNameStr, fileMap, count);
|
||||
} catch (Exception e) {
|
||||
return Result.error(e.getMessage());
|
||||
}
|
||||
if (StringUtils.isNotBlank(agendaMaterialsFileNameAtt)) {
|
||||
meetingTopic.setAgendaMaterials(agendaMaterialsFileNameAtt);
|
||||
}
|
||||
meetingTopic.setReporter(dataMap.get("汇报人"));
|
||||
meetingTopic.setReportingUnit(dataMap.get("汇报单位"));
|
||||
meetingTopic.setAgendaContent(dataMap.get("议题主要内容"));
|
||||
@@ -507,4 +567,33 @@ public class InsideOutsideMeetingServiceImpl extends ServiceImpl<InsideOutsideMe
|
||||
meeting.setSecondMeetingTypeName(dicTypeService.getDicTypeNameByDicCode(meeting.getSecondMeetingType()));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public String getFileAtt(String fileNameStr, Map<String, File> fileMap, int count) throws Exception {
|
||||
if (fileNameStr != null) {
|
||||
List<String> fileAttList = new ArrayList<>();
|
||||
for (String meetingMinutesFileName : fileNameStr.split(",")) {
|
||||
int lastIndexOf = meetingMinutesFileName.lastIndexOf(".");
|
||||
if (meetingMinutesFileName.lastIndexOf(".") != -1) {
|
||||
String lastName = meetingMinutesFileName.substring(lastIndexOf + 1).toLowerCase();
|
||||
if (lastName.equals("pdf") || lastName.equals("ppt") || lastName.equals("pptx") || lastName.equals("doc") || lastName.equals("docx")) {
|
||||
File file1 = fileMap.get(meetingMinutesFileName);
|
||||
if (file1 == null) {
|
||||
throw new Exception("会议纪要中第" + (count+1) +"行" + meetingMinutesFileName + "文件不存在,请上传pdf/ppt/pptx/doc/docx格式的附件");
|
||||
}
|
||||
AttFileVo attFileVo = attFileEOService.saveFileInfo(file1);
|
||||
if (StringUtils.isNotBlank(attFileVo.getId())) {
|
||||
fileAttList.add(attFileVo.getAttId());
|
||||
}
|
||||
} else {
|
||||
throw new Exception("会议纪要中第" + (count+1) +"行" + meetingMinutesFileName + "格式不正确,请上传pdf/ppt/pptx/doc/docx格式的附件");
|
||||
}
|
||||
} else {
|
||||
throw new Exception("会议纪要中第" + (count+1) +"行" + meetingMinutesFileName + "格式不正确,请上传pdf/ppt/pptx/doc/docx格式的附件");
|
||||
}
|
||||
}
|
||||
return String.join(",", fileAttList);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
+11
-2
@@ -12,6 +12,7 @@ import com.adc.da.http.PageInfo;
|
||||
import com.adc.da.http.ResponseMessage;
|
||||
import com.adc.da.http.Result;
|
||||
import com.adc.da.slrs.sarLawsInformation.entity.SarLawsInformation;
|
||||
import com.adc.da.slrs.sarLawsInformation.entity.SarLawsInformationExport;
|
||||
import com.adc.da.slrs.sarLawsInformation.service.SarLawsInformationService;
|
||||
import com.adc.da.util.UUIDUtils;
|
||||
import com.adc.da.utils.util.FieldConvertUtil;
|
||||
@@ -26,6 +27,7 @@ import org.apache.poi.ss.util.CellRangeAddress;
|
||||
import org.apache.poi.util.IOUtils;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
@@ -35,6 +37,7 @@ import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.*;
|
||||
import java.text.ParseException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
@@ -124,10 +127,16 @@ public class SarLawsInformationController extends BaseController<SarLawsInformat
|
||||
// 导出所有数据
|
||||
datas = informationService.getAllLawsInformation(sarLawsInformation);
|
||||
}
|
||||
List<SarLawsInformationExport> datasExport = new ArrayList<>();
|
||||
for (SarLawsInformation data : datas) {
|
||||
SarLawsInformationExport dataExport = new SarLawsInformationExport();
|
||||
BeanUtils.copyProperties(data,dataExport);
|
||||
datasExport.add(dataExport);
|
||||
}
|
||||
ExportParams exportParams = new ExportParams();
|
||||
exportParams.setType(ExcelType.XSSF);
|
||||
exportParams.setSheetName(sarLawsInformation.getExportName());
|
||||
workbook = ExcelExportUtil.exportExcel(exportParams,SarLawsInformation.class,datas);
|
||||
workbook = ExcelExportUtil.exportExcel(exportParams, SarLawsInformationExport.class,datasExport);
|
||||
os = response.getOutputStream();
|
||||
workbook.write(os);
|
||||
os.flush();
|
||||
@@ -170,7 +179,7 @@ public class SarLawsInformationController extends BaseController<SarLawsInformat
|
||||
nowFile.mkdirs();
|
||||
String fileName2 = "导入模板.xls";
|
||||
HSSFSheet sheetItems = workbook.createSheet("模板");
|
||||
sheetItems.setDefaultColumnWidth(13);
|
||||
sheetItems.setDefaultColumnWidth(12);
|
||||
Row rowHeader = sheetItems.createRow(1);//开始创建标题行
|
||||
sheetItems.addMergedRegion(new CellRangeAddress(0, 0, 0, 8));
|
||||
Row row2 = sheetItems.createRow(0);//开始创建填写说明
|
||||
|
||||
+1
@@ -141,6 +141,7 @@ public class SarLawsInformation extends BasePage implements Serializable {
|
||||
*/
|
||||
@ApiModelProperty(value = "资料文件")
|
||||
@TableField(value = "INFORMATION_FILE")
|
||||
@Excel(name = "资料文件", orderNum = "9")
|
||||
private String informationFile;
|
||||
|
||||
/**
|
||||
|
||||
+102
@@ -0,0 +1,102 @@
|
||||
package com.adc.da.slrs.sarLawsInformation.entity;
|
||||
|
||||
import cn.afterturn.easypoi.excel.annotation.Excel;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @author tjzdw
|
||||
* @description
|
||||
* @date 2023/11/23
|
||||
*/
|
||||
@Data
|
||||
public class SarLawsInformationExport {
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@TableId(value = "ID", type = IdType.ID_WORKER_STR)
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 一级资料类别
|
||||
*/
|
||||
@TableField(value = "FIRST_TYPE")
|
||||
private String firstType;
|
||||
|
||||
/**
|
||||
* 一级资料类别名称
|
||||
*/
|
||||
@Excel(name = "1级资料分类", orderNum = "0")
|
||||
private String firstTypeName;
|
||||
|
||||
/**
|
||||
* 二级资料类别
|
||||
*/
|
||||
@TableField(value = "SECOND_TYPE")
|
||||
private String secondType;
|
||||
|
||||
/**
|
||||
* 二级资料类别名称
|
||||
*/
|
||||
@Excel(name = "2级资料分类", orderNum = "1")
|
||||
private String secondTypeName;
|
||||
|
||||
/**
|
||||
* 三级资料类别
|
||||
*/
|
||||
@TableField(value = "THIRD_TYPE")
|
||||
private String thirdType;
|
||||
|
||||
/**
|
||||
* 三级资料类别名称
|
||||
*/
|
||||
@Excel(name = "3级资料分类", orderNum = "2")
|
||||
private String thirdTypeName;
|
||||
|
||||
/**
|
||||
* 四级资料类别
|
||||
*/
|
||||
@TableField(value = "FOURTH_TYPE")
|
||||
private String fourthType;
|
||||
|
||||
/**
|
||||
* 四级资料类别名称
|
||||
*/
|
||||
@Excel(name = "4级资料分类", orderNum = "3")
|
||||
private String fourthTypeName;
|
||||
|
||||
/**
|
||||
* 资料名称
|
||||
*/
|
||||
@Excel(name = "资料名称", orderNum = "4")
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 资料归属部门
|
||||
*/
|
||||
@Excel(name = "资料归属部门", orderNum = "5")
|
||||
private String department;
|
||||
|
||||
/**
|
||||
* 作者
|
||||
*/
|
||||
@Excel(name = "作者", orderNum = "6")
|
||||
private String author;
|
||||
|
||||
/**
|
||||
* 上传时间
|
||||
*/
|
||||
@Excel(name = "上传时间", orderNum = "7", exportFormat = "yyyy-MM-dd")
|
||||
private Date uploadTime;
|
||||
|
||||
/**
|
||||
* 资料说明
|
||||
*/
|
||||
@Excel(name = "资料说明", orderNum = "8")
|
||||
private String description;
|
||||
}
|
||||
+64
-13
@@ -4,6 +4,7 @@ import cn.afterturn.easypoi.excel.ExcelImportUtil;
|
||||
import cn.afterturn.easypoi.excel.entity.ImportParams;
|
||||
import com.adc.da.att.entity.AttFileEO;
|
||||
import com.adc.da.att.service.IAttFileEOService;
|
||||
import com.adc.da.att.vo.AttFileVo;
|
||||
import com.adc.da.common.FileUnZip;
|
||||
import com.adc.da.http.ResponseMessage;
|
||||
import com.adc.da.http.Result;
|
||||
@@ -28,6 +29,7 @@ import com.adc.da.slrs.sarLawsInformation.entity.SarLawsInformation;
|
||||
import com.adc.da.slrs.sarLawsInformation.service.SarLawsInformationService;
|
||||
import com.adc.da.slrs.sarLawsInformation.dao.SarLawsInformationDao;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.SneakyThrows;
|
||||
import org.apache.commons.io.FileUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.poi.ss.usermodel.Row;
|
||||
@@ -348,10 +350,10 @@ public class SarLawsInformationServiceImpl extends ServiceImpl<SarLawsInformatio
|
||||
LambdaQueryWrapper<SarLawsInformation> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.in(SarLawsInformation::getId, idList);
|
||||
List<SarLawsInformation> sarLawsInformationList = this.baseMapper.selectList(wrapper);
|
||||
// for (SarLawsInformation sarLawsInformation : sarLawsInformationList) {
|
||||
// // 将字典编号变更为字典值
|
||||
// convertCodeToName(sarLawsInformation);
|
||||
// }
|
||||
for (SarLawsInformation sarLawsInformation : sarLawsInformationList) {
|
||||
// 将字典编号变更为字典值
|
||||
convertCodeToName(sarLawsInformation);
|
||||
}
|
||||
return sarLawsInformationList;
|
||||
}
|
||||
|
||||
@@ -372,7 +374,7 @@ public class SarLawsInformationServiceImpl extends ServiceImpl<SarLawsInformatio
|
||||
List<SarLawsInformation> sarLawsInformationList = this.baseMapper.getAllLawsInformation(sarLawsInformation);
|
||||
for (SarLawsInformation lawsInformation : sarLawsInformationList) {
|
||||
// 将字典编号变更为字典值
|
||||
// convertCodeToName(lawsInformation);
|
||||
convertCodeToName(lawsInformation);
|
||||
// 查询文件信息
|
||||
if (StringUtils.isNotBlank(lawsInformation.getInformationFile())) {
|
||||
String[] split = lawsInformation.getInformationFile().split(",");
|
||||
@@ -387,6 +389,7 @@ public class SarLawsInformationServiceImpl extends ServiceImpl<SarLawsInformatio
|
||||
return sarLawsInformationList;
|
||||
}
|
||||
|
||||
@SneakyThrows
|
||||
@Override
|
||||
public ResponseMessage<?> importLawsInformationInfo(MultipartFile file) {
|
||||
//获取文件全称
|
||||
@@ -427,19 +430,32 @@ public class SarLawsInformationServiceImpl extends ServiceImpl<SarLawsInformatio
|
||||
//获取文件信息
|
||||
List<File> fileList = readImpExcelFile(zipEntryName);
|
||||
//判断获取到的文件数量
|
||||
if (fileList.size() != 1) {
|
||||
return Result.error("上传的文件只能有一个");
|
||||
if (fileList.size() < 1) {
|
||||
return Result.error("上传的文件不能为空");
|
||||
}
|
||||
File importFile = fileList.get(0);
|
||||
if (!importFile.getName().contains(".xls") && !importFile.getName().contains(".xlsx")) {
|
||||
return Result.error("文件必须是EXCEL文件");
|
||||
File excelFile = null;
|
||||
int excelCount = 0;
|
||||
// 将文件转换为Map,文件名为建,文件为值
|
||||
Map<String, File> fileMap = new HashMap<>();
|
||||
for (File file1 : fileList) {
|
||||
fileMap.put(file1.getName(), file1);
|
||||
if (file1.getName().toLowerCase().contains(".xls") || file1.getName().toLowerCase().contains(".xlsx")) {
|
||||
excelFile = file1;
|
||||
excelCount ++;
|
||||
}
|
||||
}
|
||||
if (excelCount > 1) {
|
||||
return Result.error("导入了多个Excel文件");
|
||||
}
|
||||
if (excelCount < 1){
|
||||
return Result.error("文件必须包含一个EXCEL文件");
|
||||
}
|
||||
Workbook workbook = null;
|
||||
try {
|
||||
workbook = WorkbookFactory.create(importFile);
|
||||
workbook = WorkbookFactory.create(excelFile);
|
||||
} catch (IOException e) {
|
||||
FileUnZip.deleteDir(saveDirectory);
|
||||
return Result.error("导入失败,需要导入的数据有问题或导入的企标标号和企标名称已存在");
|
||||
return Result.error("导入失败,需要导入的数据有问题");
|
||||
}
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||
Sheet sheet = workbook.getSheetAt(0);
|
||||
@@ -450,7 +466,7 @@ public class SarLawsInformationServiceImpl extends ServiceImpl<SarLawsInformatio
|
||||
List<String> headerList = new ArrayList<>();
|
||||
// 获取excel表头
|
||||
Row headerRow = sheet.getRow(1);
|
||||
for (int i = 0; i < 8; i++) {
|
||||
for (int i = 0; i < 9; i++) {
|
||||
headerList.add(headerRow.getCell(i).getStringCellValue());
|
||||
}
|
||||
|
||||
@@ -545,6 +561,13 @@ public class SarLawsInformationServiceImpl extends ServiceImpl<SarLawsInformatio
|
||||
}
|
||||
sarLawsInformation.setFourthType(String.join(",", fourthTypeCodeList));
|
||||
}
|
||||
String informationFileAtt = null;
|
||||
try {
|
||||
informationFileAtt = getFileAtt(sarLawsInformation.getInformationFile(), fileMap, index);
|
||||
} catch (Exception e) {
|
||||
return Result.error(e.getMessage());
|
||||
}
|
||||
sarLawsInformation.setInformationFile(informationFileAtt);
|
||||
// 索引 +1
|
||||
index++;
|
||||
// 存入数据库
|
||||
@@ -698,6 +721,34 @@ public class SarLawsInformationServiceImpl extends ServiceImpl<SarLawsInformatio
|
||||
}
|
||||
return results;
|
||||
}
|
||||
|
||||
public String getFileAtt(String fileNameStr, Map<String, File> fileMap, int count) throws Exception {
|
||||
if (fileNameStr != null) {
|
||||
List<String> fileAttList = new ArrayList<>();
|
||||
for (String meetingMinutesFileName : fileNameStr.split(",")) {
|
||||
int lastIndexOf = meetingMinutesFileName.lastIndexOf(".");
|
||||
if (meetingMinutesFileName.lastIndexOf(".") != -1) {
|
||||
String lastName = meetingMinutesFileName.substring(lastIndexOf + 1).toLowerCase();
|
||||
if (lastName.equals("pdf") || lastName.equals("ppt") || lastName.equals("pptx") || lastName.equals("doc") || lastName.equals("docx")) {
|
||||
File file1 = fileMap.get(meetingMinutesFileName);
|
||||
if (file1 == null) {
|
||||
throw new Exception("会议纪要中第" + (count+1) +"行" + meetingMinutesFileName + "文件不存在,请上传pdf/ppt/pptx/doc/docx格式的附件");
|
||||
}
|
||||
AttFileVo attFileVo = attFileEOService.saveFileInfo(file1);
|
||||
if (StringUtils.isNotBlank(attFileVo.getId())) {
|
||||
fileAttList.add(attFileVo.getAttId());
|
||||
}
|
||||
} else {
|
||||
throw new Exception("会议纪要中第" + (count+1) +"行" + meetingMinutesFileName + "格式不正确,请上传pdf/ppt/pptx/doc/docx格式的附件");
|
||||
}
|
||||
} else {
|
||||
throw new Exception("会议纪要中第" + (count+1) +"行" + meetingMinutesFileName + "格式不正确,请上传pdf/ppt/pptx/doc/docx格式的附件");
|
||||
}
|
||||
}
|
||||
return String.join(",", fileAttList);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -65,12 +65,12 @@ public class FieldConvertUtil {
|
||||
public static String exportFieldNamesEsRevisePlan = "企标类别,企标编号,企标名称,计划状态,制修订类型,起草人,内部评审责任人,技术委员会评审负责人,计划标准初稿完成时间,计划标准发布时间,起草责任单位,实际标准发布时间,质量评分";
|
||||
|
||||
// 内外部会议 表头
|
||||
public static String exportFieldNamesInsideOutsideMeeting = "会议名称,课题名称,会议主办单位,会议时间,会议地点,参会人员,会议主要内容,一级会议类别,二级会议类别";
|
||||
public static String exportFieldNamesInsideOutsideMeeting = "会议名称,课题名称,会议主办单位,会议时间,会议地点,参会人员,会议纪要,会议主要内容,一级会议类别,二级会议类别";
|
||||
// 内外部会议关联表 表头
|
||||
public static String exportFieldNamesMeetingTopic = "议题名称,汇报人,汇报单位,议题主要内容";
|
||||
public static String exportFieldNamesMeetingTopic = "议题名称,议题材料,汇报人,汇报单位,议题主要内容";
|
||||
|
||||
// 政策法规资料 表头
|
||||
public static String exportFieldLawsInformation = "1级资料分类,2级资料分类,3级资料分类,4级资料分类,资料名称,资料归属部门,作者,资料说明";
|
||||
public static String exportFieldLawsInformation = "1级资料分类,2级资料分类,3级资料分类,4级资料分类,资料名称,资料归属部门,作者,资料说明,资料文件";
|
||||
|
||||
// 政策课题 表头
|
||||
public static String exportFieldLawsTopic = "课题名称,课题承办单位,课题指导单位,课题参与单位,开始时间,结题时间,课题费用(万元),课题组会议列表,课题组联系方式,内部联系方式";
|
||||
|
||||
Reference in New Issue
Block a user