生产单管理导入问题修复:

1、增加type下模板文件打包到外部,代码通过"包路径/execFile"进行读取;
2、修改文件分隔符自适应;
This commit is contained in:
gaoqr
2024-06-21 16:23:59 +08:00
parent 11aba273f7
commit 64051e9919
4 changed files with 13 additions and 7 deletions
@@ -17,6 +17,12 @@
</includes>
</fileSet>
<!-- 模板xlsx相关文件 -->
<fileSet>
<directory>${basedir}/src/main/resources/type</directory>
<outputDirectory>execFile</outputDirectory>
</fileSet>
<!-- 依赖库 -->
<fileSet>
<directory>${basedir}/target/lib</directory>
@@ -24,6 +24,7 @@ import io.swagger.v3.oas.annotations.Operation;
import javax.validation.*;
import javax.servlet.http.*;
import java.io.File;
import java.util.*;
import com.cf.imes.framework.common.pojo.PageResult;
@@ -251,12 +252,12 @@ public class OrderController {
System.err.println(excelReadUtil.isErr());
// 判断是否读取有误
if (excelReadUtil.isErr() == -1) { // 文件为空
ExcelWriterUtil.writeErr(response, "生产单内容为空",orderService.getSavePath()+ "\\"+ "错误文件.xlsx");
ExcelWriterUtil.writeErr(response, "生产单内容为空", orderService.getSavePath() + File.separator + "错误文件.xlsx");
return;
}else if (excelReadUtil.isErr() > 0) {
// 返回文件
System.out.println("(Map<Object, Object>) " + (Map<Object, Object>) map.get("order")+ " , (List<OrderPlateImportExcelVO>)" +(List<OrderPlateImportExcelVO>) map.get("plate"));
ExcelWriterUtil.write(response, (Map<Object, Object>) map.get("order"), (List<OrderPlateImportExcelVO>) map.get("plate"),orderService.getSavePath()+ "\\"+ "生产单Excel导入错误导出模板.xlsx");
ExcelWriterUtil.write(response, (Map<Object, Object>) map.get("order"), (List<OrderPlateImportExcelVO>) map.get("plate"), orderService.getSavePath() + File.separator + "生产单Excel导入错误导出模板.xlsx");
return;
} else {
// 获取数据
@@ -566,7 +566,7 @@ public class OrderServiceImpl implements OrderService {
// 新增字典查询
dictDataApi.addDictData("upload_file_type", label, value);
// 保存文件
File saveFile = new File(getSavePath() + "\\" + fileName);
File saveFile = new File(getSavePath() + File.separator + fileName);
file.transferTo(saveFile);
return value;
} catch (IOException e) {
@@ -579,7 +579,7 @@ public class OrderServiceImpl implements OrderService {
// 根据type获取文件名称
try {
// path是指想要下载的文件的路径
File file = new File(getSavePath() + "\\" + value);
File file = new File(getSavePath() + File.separator + value);
// 获取文件名
String filename = file.getName();
// 获取文件后缀名
@@ -4,7 +4,6 @@ import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.support.ExcelTypeEnum;
import com.alibaba.excel.write.metadata.WriteSheet;
import com.alibaba.excel.write.metadata.WriteTable;
import com.alibaba.excel.write.metadata.fill.FillConfig;
import com.cf.imes.module.executor.dal.dataobject.order.OrderDO;
import com.cf.imes.module.executor.util.fileConversion.admin.files.excel.OrderPlateImportExcelVO;
@@ -13,10 +12,10 @@ import org.springframework.util.ResourceUtils;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.net.URLEncoder;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.HashMap;
import java.util.List;
@@ -143,7 +142,7 @@ public class ExcelWriterUtil {
String filePathErr,
String type) throws IOException {
//输入流
InputStream inputStream = ResourceUtils.getURL(filePathErr+ "\\" + type).openStream();
InputStream inputStream = ResourceUtils.getURL(filePathErr+ File.separator + type).openStream();
ServletOutputStream outputStream = response.getOutputStream();