Commit 8da30edd authored by jiaorz's avatar jiaorz

车辆统计导出bug

parent 7687fc7c
...@@ -3,6 +3,7 @@ package com.xxfc.platform.vehicle.biz; ...@@ -3,6 +3,7 @@ package com.xxfc.platform.vehicle.biz;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions; import cn.hutool.core.bean.copier.CopyOptions;
import com.github.wxiaoqi.security.common.biz.BaseBiz; import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.exception.BaseException;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.xxfc.platform.order.contant.enumerate.OrderTypeEnum; import com.xxfc.platform.order.contant.enumerate.OrderTypeEnum;
import com.xxfc.platform.order.entity.OrderRentVehicleDetail; import com.xxfc.platform.order.entity.OrderRentVehicleDetail;
...@@ -17,7 +18,6 @@ import com.xxfc.platform.vehicle.mapper.VehicleCountRecordMapper; ...@@ -17,7 +18,6 @@ import com.xxfc.platform.vehicle.mapper.VehicleCountRecordMapper;
import com.xxfc.platform.vehicle.pojo.ExcelParamDto; import com.xxfc.platform.vehicle.pojo.ExcelParamDto;
import com.xxfc.platform.vehicle.pojo.VehicleBookRecordVo; import com.xxfc.platform.vehicle.pojo.VehicleBookRecordVo;
import com.xxfc.platform.vehicle.util.excel.ExcelExport; import com.xxfc.platform.vehicle.util.excel.ExcelExport;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.MapUtils; import org.apache.commons.collections.MapUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.joda.time.DateTime; import org.joda.time.DateTime;
...@@ -28,12 +28,9 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -28,12 +28,9 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled; import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.*; import java.io.*;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.net.URLEncoder;
import java.sql.Timestamp; import java.sql.Timestamp;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.*; import java.util.*;
...@@ -43,7 +40,6 @@ import java.util.stream.Collectors; ...@@ -43,7 +40,6 @@ import java.util.stream.Collectors;
* 统计出车,交车数量 * 统计出车,交车数量
*/ */
@Service @Service
@Slf4j
public class VehicleCountRecordBiz extends BaseBiz<VehicleCountRecordMapper, VehicleCountRecord> { public class VehicleCountRecordBiz extends BaseBiz<VehicleCountRecordMapper, VehicleCountRecord> {
public static final DateTimeFormatter DEFAULT_DATE_TIME_FORMATTER = DateTimeFormat.forPattern("yyyy-MM-dd"); public static final DateTimeFormatter DEFAULT_DATE_TIME_FORMATTER = DateTimeFormat.forPattern("yyyy-MM-dd");
...@@ -367,10 +363,17 @@ public class VehicleCountRecordBiz extends BaseBiz<VehicleCountRecordMapper, Veh ...@@ -367,10 +363,17 @@ public class VehicleCountRecordBiz extends BaseBiz<VehicleCountRecordMapper, Veh
} }
} }
public ObjectRestResponse export(ExcelParamDto excelParamDto, HttpServletRequest request) { public ObjectRestResponse export(ExcelParamDto excelParamDto) {
ExcelExport ee1 = new ExcelExport(excelParamDto.getName() + ".xls"); ExcelExport ee1 = new ExcelExport();
ee1.addSheetByArray(excelParamDto.getName(), excelParamDto.getData(), excelParamDto.getHeader()); ee1.addSheetByArray(excelParamDto.getName(), excelParamDto.getData(), excelParamDto.getHeader());
String path = "/data/temp/" + excelParamDto.getName() + ".xls"; Properties properties = System.getProperties();
String osName = properties.getProperty("os.name");
String path = "";
if(osName.contains("Windows")) {
path = "d://"+ excelParamDto.getName() + ".xlsx";
} else {
path = "/data/temp/"+ excelParamDto.getName() + ".xlsx";
}
File file = new File(path); File file = new File(path);
if (!file.exists()) { if (!file.exists()) {
try { try {
...@@ -394,58 +397,31 @@ public class VehicleCountRecordBiz extends BaseBiz<VehicleCountRecordMapper, Veh ...@@ -394,58 +397,31 @@ public class VehicleCountRecordBiz extends BaseBiz<VehicleCountRecordMapper, Veh
return ObjectRestResponse.succ(path); return ObjectRestResponse.succ(path);
} }
public void download(String path, HttpServletRequest req, HttpServletResponse resp) { public void download(String path, HttpServletResponse response){
String filename = "export"; // 下载本地文件
DataInputStream in = null; String fileName = "export.xlsx".toString(); // 文件的默认保存名
OutputStream out = null; // 读到流中
try{ InputStream inStream = null;// 文件的存放路径
resp.reset();// 清空输出流
String resultFileName = filename + System.currentTimeMillis() + ".xls";
resultFileName = URLEncoder.encode(resultFileName,"UTF-8");
resp.setCharacterEncoding("UTF-8");
resp.setHeader("Content-disposition", "attachment; filename=" + resultFileName);// 设定输出文件头
resp.setContentType("application/msexcel");// 定义输出类型
//输入流:本地文件路径
in = new DataInputStream(
new FileInputStream(new File(path)));
//输出流
out = resp.getOutputStream();
//输出文件
int bytes = 0;
byte[] bufferOut = new byte[1024];
while ((bytes = in.read(bufferOut)) != -1) {
out.write(bufferOut, 0, bytes);
}
} catch(Exception e){
e.printStackTrace();
resp.reset();
try {
OutputStreamWriter writer = new OutputStreamWriter(resp.getOutputStream(), "UTF-8");
String data = "<script language='javascript'>alert(\"\\u64cd\\u4f5c\\u5f02\\u5e38\\uff01\");</script>";
writer.write(data);
writer.close();
} catch (IOException e1) {
e1.printStackTrace();
}
}finally {
if(null != in) {
try { try {
in.close(); inStream = new FileInputStream(path);
} catch (IOException e) { } catch (FileNotFoundException e) {
e.printStackTrace(); e.printStackTrace();
} }
} // 设置输出的格式
if(null != out) { response.reset();
response.setContentType("bin");
response.addHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\"");
// 循环取出流中的数据
byte[] b = new byte[100];
int len;
try { try {
out.close(); while ((len = inStream.read(b)) > 0)
response.getOutputStream().write(b, 0, len);
inStream.close();
} catch (IOException e) { } catch (IOException e) {
e.printStackTrace(); e.printStackTrace();
} }
} }
}
}
public Map<Integer, Integer> getDeparture(List<VehicleBookRecordVo> list, Integer type) { public Map<Integer, Integer> getDeparture(List<VehicleBookRecordVo> list, Integer type) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment