新增统计中心的导出接口
This commit is contained in:
parent
6abb96680b
commit
0c55b91289
@ -7,13 +7,11 @@ import com.xhpc.common.core.web.page.TableDataInfo;
|
||||
import com.xhpc.order.service.IXhpcStatisticsService;
|
||||
import io.swagger.annotations.Api;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.servlet.ServletOutputStream;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.net.URLEncoder;
|
||||
import java.util.Date;
|
||||
@ -208,36 +206,103 @@ public class XhpcStatisticsController extends BaseController {
|
||||
return xhpcStatisticsService.getTerminalList(chargingStationId, userId, type);
|
||||
}
|
||||
|
||||
|
||||
// -------- 导出数据 ------------
|
||||
|
||||
|
||||
/**
|
||||
* export excel by date.
|
||||
*
|
||||
* @param response
|
||||
* 小时统计导出
|
||||
* @param chargingStationIds 电站id集合
|
||||
* @param internetUserId 流量方id
|
||||
* @param operatorId 运营商id
|
||||
* @param startTime 订单开始时间
|
||||
* @param endTime 订单结束时间
|
||||
* @param userId 用户id
|
||||
* @param type 1 平台 2 运营商 3流量方
|
||||
* @return
|
||||
*/
|
||||
@GetMapping(value = "/exportExcelByDate")
|
||||
public Object exportExcelByDate(HttpServletResponse response, String chargingStationIds, Long internetUserId, Long operatorId, String startTime, String endTime, @RequestParam("userId") Long userId, @RequestParam("type") Integer type) {
|
||||
|
||||
String[] titles = {"时段", " 电量(度)", "充电时长(小时)", "充电次数(次)", "电费(元)", "服务费(元)"
|
||||
, "订单总金额(元)", "抵扣的总金额(元)", "用户支付的金额(元)", "运营商电费(元)", "运营商服务费(元)"
|
||||
, "流量方总金额抽成(元)", "流量方服务费抽成(元)", "平台总金额抽成(元)", "平台服务费抽成(元)", "运维总金额抽成(元)", "运维服务费抽成(元)"};
|
||||
String[] keys = {"createTime", "chargingDegree", "chargingTime", "chargingNumber", "powerPrice", "servicePrice", "totalPrice"
|
||||
, "promotionDiscount", "actPrice", "actPowerPrice", "actServicePrice", "internetCommission", "internetSvcCommission"
|
||||
, "platformCommission", "platformSvcCommisssion", "operationCommission", "operationSvcCommission"};
|
||||
response.setContentType("application/x-xls");
|
||||
try {
|
||||
ServletOutputStream out = response.getOutputStream();
|
||||
try {
|
||||
String name = DateUtil.format(new Date(), "yyyyMMddHHmmss");
|
||||
response.setHeader("Content-Disposition", "attachment;fileName=" + URLEncoder.encode(name + ".xls", "UTF-8"));
|
||||
} catch (UnsupportedEncodingException e1) {
|
||||
e1.printStackTrace();
|
||||
}
|
||||
List<Map<String, Object>> data = xhpcStatisticsService.getDateIntervalPage(chargingStationIds, internetUserId, operatorId, startTime, endTime, userId, type);
|
||||
xhpcStatisticsService.exportByDay(out, titles, keys, data);
|
||||
return "success";
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
return "导出信息失败";
|
||||
}
|
||||
@PostMapping("/timeInterval/export")
|
||||
public void timeIntervalExport(HttpServletResponse response, String chargingStationIds,Long internetUserId, Long operatorId,String startTime, String endTime, @RequestParam("userId") Long userId, @RequestParam("type")Integer type) throws IOException {
|
||||
xhpcStatisticsService.timeIntervalExport(response, chargingStationIds,internetUserId,operatorId,startTime,endTime,userId,type);
|
||||
}
|
||||
|
||||
/**
|
||||
* 日期统计导出
|
||||
* @param chargingStationIds 电站id集合
|
||||
* @param internetUserId 流量方id
|
||||
* @param operatorId 运营商id
|
||||
* @param startTime 订单开始时间
|
||||
* @param endTime 订单结束时间
|
||||
* @param userId 用户id
|
||||
* @param type 1 平台 2 运营商 3流量方
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("/dateInterval/export")
|
||||
public void dateIntervalExport(HttpServletResponse response, String chargingStationIds,Long internetUserId, Long operatorId,String startTime, String endTime, @RequestParam("userId") Long userId, @RequestParam("type")Integer type) throws IOException {
|
||||
xhpcStatisticsService.dateIntervalExport(response, chargingStationIds,internetUserId,operatorId,startTime,endTime,userId,type);
|
||||
}
|
||||
/**
|
||||
* 电站统计导出
|
||||
* @param chargingStationIds 电站集合
|
||||
* @param operatorIds 运营商集合
|
||||
* @param internetUserId 流量方id
|
||||
* @param operatorId 运营商id
|
||||
* @param startTime 订单开始时间
|
||||
* @param endTime 订单结束时间
|
||||
* @param userId 用户id
|
||||
* @param type 1 平台 2 运营商 3流量方
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("/stationInterval/export")
|
||||
public void stationIntervalExport(HttpServletResponse response, String chargingStationIds,String operatorIds,Long internetUserId, Long operatorId,String startTime, String endTime, @RequestParam("userId") Long userId, @RequestParam("type")Integer type) throws IOException {
|
||||
xhpcStatisticsService.stationIntervalExport(response, chargingStationIds,operatorIds,internetUserId,operatorId,startTime,endTime,userId,type);
|
||||
}
|
||||
|
||||
/**
|
||||
* 运营商统计导出
|
||||
* @param operatorIds 运营商集合
|
||||
* @param operatorId 运营商id
|
||||
* @param startTime 订单开始时间
|
||||
* @param endTime 订单结束时间
|
||||
* @param userId 用户id
|
||||
* @param type 1 平台 2 运营商 3流量方
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("/operatorInterval/export")
|
||||
public void operatorIntervalExport(HttpServletResponse response, String operatorIds, Long operatorId,String startTime, String endTime, @RequestParam("userId") Long userId, @RequestParam("type")Integer type) throws IOException {
|
||||
xhpcStatisticsService.operatorIntervalExport(response, operatorIds,operatorId,startTime,endTime,userId,type);
|
||||
}
|
||||
|
||||
/**
|
||||
* 流量方统计导出
|
||||
* @param internetUserIds 流量方集合
|
||||
* @param internetUserId 流量方id
|
||||
* @param startTime 订单开始时间
|
||||
* @param endTime 订单结束时间
|
||||
* @param userId 用户id
|
||||
* @param type 1 平台 2 运营商 3流量方
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("/internetUserInterval/export")
|
||||
public void internetUserIntervalExport(HttpServletResponse response, String internetUserIds,Long internetUserId,String startTime, String endTime, @RequestParam("userId") Long userId, @RequestParam("type")Integer type) throws IOException {
|
||||
xhpcStatisticsService.internetUserIntervalExport(response, internetUserIds,internetUserId,startTime,endTime,userId,type);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 终端统计
|
||||
* @param chargingStationId 电站集合
|
||||
* @param terminalId 终端集合
|
||||
* @param operatorId 运营商id
|
||||
* @param startTime 订单开始时间
|
||||
* @param endTime 订单结束时间
|
||||
* @param userId 用户id
|
||||
* @param type 1 平台 2 运营商 3流量方
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("/terminalInterval/export")
|
||||
public void terminalIntervalExport(HttpServletResponse response, String chargingStationId,String terminalId,Long operatorId,String startTime, String endTime, @RequestParam("userId") Long userId, @RequestParam("type")Integer type) throws IOException {
|
||||
xhpcStatisticsService.terminalIntervalExport(response, chargingStationId,terminalId,operatorId,startTime,endTime,userId,type);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -5,6 +5,8 @@ import com.xhpc.order.domain.XhpcStatisticsStation;
|
||||
import com.xhpc.order.domain.XhpcStatisticsTimeInterval;
|
||||
|
||||
import javax.servlet.ServletOutputStream;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@ -146,10 +148,89 @@ public interface IXhpcStatisticsService {
|
||||
*/
|
||||
void addStatisticsStation(XhpcStatisticsStation xhpcStatisticsStation);
|
||||
|
||||
void export(ServletOutputStream out, String[] titles, String[] keys, List<Map<String, Object>> data) throws Exception;
|
||||
|
||||
void exportByDay(ServletOutputStream out, String[] titles, String[] keys, List<Map<String, Object>> data) throws Exception;
|
||||
// -------------------- 导出功能 ------------------
|
||||
|
||||
|
||||
/**
|
||||
* 小时统计导出
|
||||
* @param chargingStationIds 电站id集合
|
||||
* @param internetUserId 流量方id
|
||||
* @param operatorId 运营商id
|
||||
* @param startTime 订单开始时间
|
||||
* @param endTime 订单结束时间
|
||||
* @param userId 用户id
|
||||
* @param type 1 平台 2 运营商 3流量方
|
||||
* @return
|
||||
*/
|
||||
void timeIntervalExport(HttpServletResponse response, String chargingStationIds, Long internetUserId, Long operatorId, String startTime, String endTime, Long userId, Integer type) throws IOException;
|
||||
|
||||
|
||||
/**
|
||||
* 日期统计导出
|
||||
* @param chargingStationIds 电站id集合
|
||||
* @param internetUserId 流量方id
|
||||
* @param operatorId 运营商id
|
||||
* @param startTime 订单开始时间
|
||||
* @param endTime 订单结束时间
|
||||
* @param userId 用户id
|
||||
* @param type 1 平台 2 运营商 3流量方
|
||||
* @return
|
||||
*/
|
||||
void dateIntervalExport(HttpServletResponse response, String chargingStationIds, Long internetUserId, Long operatorId, String startTime, String endTime, Long userId, Integer type) throws IOException;
|
||||
|
||||
/**
|
||||
* 电站统计导出
|
||||
* @param chargingStationIds 电站集合
|
||||
* @param operatorIds 运营集合
|
||||
* @param internetUserId 流量方id
|
||||
* @param operatorId 运营商id
|
||||
* @param startTime 订单开始时间
|
||||
* @param endTime 订单结束时间
|
||||
* @param userId 用户id
|
||||
* @param type 1 平台 2 运营商 3流量方
|
||||
* @return
|
||||
*/
|
||||
void stationIntervalExport(HttpServletResponse response, String chargingStationIds,String operatorIds, Long internetUserId, Long operatorId, String startTime, String endTime, Long userId, Integer type) throws IOException;
|
||||
|
||||
/**
|
||||
* 运营商统计导出
|
||||
* @param operatorIds 运营商集合
|
||||
* @param operatorId 运营商id
|
||||
* @param startTime 订单开始时间
|
||||
* @param endTime 订单结束时间
|
||||
* @param userId 用户id
|
||||
* @param type 1 平台 2 运营商 3流量方
|
||||
* @return
|
||||
*/
|
||||
void operatorIntervalExport(HttpServletResponse response, String operatorIds,Long operatorId, String startTime, String endTime, Long userId, Integer type) throws IOException;
|
||||
|
||||
|
||||
/**
|
||||
* 流量方统计导出
|
||||
* @param internetUserIds 流量方集合
|
||||
* @param internetUserId 流量方id
|
||||
* @param startTime 订单开始时间
|
||||
* @param endTime 订单结束时间
|
||||
* @param userId 用户id
|
||||
* @param type 1 平台 2 运营商 3流量方
|
||||
* @return
|
||||
*/
|
||||
void internetUserIntervalExport(HttpServletResponse response, String internetUserIds, Long internetUserId, String startTime, String endTime, Long userId, Integer type) throws IOException;
|
||||
|
||||
|
||||
/**
|
||||
* 终端统计导出
|
||||
* @param chargingStationId 电站id
|
||||
* @param terminalId 终端di
|
||||
* @param operatorId 运营商id
|
||||
* @param startTime 订单开始时间
|
||||
* @param endTime 订单结束时间
|
||||
* @param userId 用户id
|
||||
* @param type 1 平台 2 运营商 3流量方
|
||||
* @return
|
||||
*/
|
||||
void terminalIntervalExport(HttpServletResponse response, String chargingStationId, String terminalId, Long operatorId, String startTime, String endTime, Long userId, Integer type) throws IOException;
|
||||
|
||||
void exportByDate(ServletOutputStream out, String[] titles, String[] keys, List<Map<String, Object>> data) throws Exception;
|
||||
|
||||
}
|
||||
|
||||
@ -2,6 +2,9 @@ package com.xhpc.order.service.impl;
|
||||
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.io.IoUtil;
|
||||
import cn.hutool.poi.excel.ExcelUtil;
|
||||
import cn.hutool.poi.excel.ExcelWriter;
|
||||
import com.xhpc.common.core.utils.SecurityUtils;
|
||||
import com.xhpc.common.core.web.domain.AjaxResult;
|
||||
import com.xhpc.order.domain.XhpcStatisticsStation;
|
||||
@ -15,6 +18,8 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.servlet.ServletOutputStream;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
@ -453,72 +458,263 @@ public class XhpcStatisticsServiceImpl implements IXhpcStatisticsService {
|
||||
return endOfDay.toString();
|
||||
}
|
||||
|
||||
// public static void main(String[] args) {
|
||||
// Date beginOfDay = DateUtil.beginOfDay(new Date());
|
||||
//
|
||||
// System.out.println(">>>>>>>>>"+beginOfDay.toString());
|
||||
// }
|
||||
|
||||
|
||||
@Override
|
||||
public void exportByDay(ServletOutputStream out, String[] titles, String[] keys, List<Map<String, Object>> data) throws Exception {
|
||||
public void timeIntervalExport(HttpServletResponse response, String chargingStationIds, Long internetUserId, Long operatorId, String startTime, String endTime, Long userId, Integer type) throws IOException {
|
||||
List<Map<String, Object>> list = getTimeIntervalPage(chargingStationIds, internetUserId, operatorId, startTime, endTime, userId, type);
|
||||
|
||||
export(out, titles, keys, data);
|
||||
// 通过工具类创建writer,默认创建xls格式
|
||||
ExcelWriter writer = ExcelUtil.getWriter();
|
||||
writer.addHeaderAlias("time", "小时时段");
|
||||
writer.addHeaderAlias("chargingDegree", "电量");
|
||||
writer.addHeaderAlias("chargingTime", "充电时长(小时)");
|
||||
writer.addHeaderAlias("chargingNumber", "充电次数");
|
||||
writer.addHeaderAlias("powerPrice", "电费");
|
||||
writer.addHeaderAlias("servicePrice", "服务费");
|
||||
writer.addHeaderAlias("totalPrice", "订单总价");
|
||||
writer.addHeaderAlias("promotionDiscount", "抵扣的总金额");
|
||||
writer.addHeaderAlias("actPrice", "用户支付金额");
|
||||
writer.addHeaderAlias("actPowerPrice", "运营商电费");
|
||||
writer.addHeaderAlias("actServicePrice", "运营商服务费");
|
||||
writer.addHeaderAlias("internetCommission", "流量方总金额抽成");
|
||||
writer.addHeaderAlias("internetSvcCommission", "流量方服务费抽成");
|
||||
writer.addHeaderAlias("platformCommission", "平台总金额抽成");
|
||||
writer.addHeaderAlias("platformSvcCommisssion", "平台服务费抽成");
|
||||
writer.addHeaderAlias("operationCommission", "运维总金额抽成");
|
||||
writer.addHeaderAlias("operationSvcCommission", "运维服务费抽成");
|
||||
|
||||
// 默认的,未添加alias的属性也会写出,如果想只写出加了别名的字段,可以调用此方法排除之
|
||||
writer.setOnlyAlias(true);
|
||||
// 一次性写出内容,使用默认样式,强制输出标题
|
||||
writer.write(list, true);
|
||||
//out为OutputStream,需要写出到的目标流
|
||||
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
|
||||
response.setCharacterEncoding("utf-8");
|
||||
|
||||
ServletOutputStream out = response.getOutputStream();
|
||||
writer.flush(out, true);
|
||||
writer.close();
|
||||
IoUtil.close(out);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void dateIntervalExport(HttpServletResponse response, String chargingStationIds, Long internetUserId, Long operatorId, String startTime, String endTime, Long userId, Integer type) throws IOException {
|
||||
List<Map<String, Object>> list = getDateIntervalPage(chargingStationIds, internetUserId, operatorId, startTime, endTime, userId, type);
|
||||
|
||||
// 通过工具类创建writer,默认创建xls格式
|
||||
ExcelWriter writer = ExcelUtil.getWriter();
|
||||
writer.addHeaderAlias("createTime", "日期");
|
||||
writer.addHeaderAlias("chargingDegree", "电量");
|
||||
writer.addHeaderAlias("chargingTime", "充电时长(小时)");
|
||||
writer.addHeaderAlias("chargingNumber", "充电次数");
|
||||
writer.addHeaderAlias("powerPrice", "电费");
|
||||
writer.addHeaderAlias("servicePrice", "服务费");
|
||||
writer.addHeaderAlias("totalPrice", "订单总价");
|
||||
writer.addHeaderAlias("promotionDiscount", "抵扣的总金额");
|
||||
writer.addHeaderAlias("actPrice", "用户支付金额");
|
||||
writer.addHeaderAlias("actPowerPrice", "运营商电费");
|
||||
writer.addHeaderAlias("actServicePrice", "运营商服务费");
|
||||
writer.addHeaderAlias("internetCommission", "流量方总金额抽成");
|
||||
writer.addHeaderAlias("internetSvcCommission", "流量方服务费抽成");
|
||||
writer.addHeaderAlias("platformCommission", "平台总金额抽成");
|
||||
writer.addHeaderAlias("platformSvcCommisssion", "平台服务费抽成");
|
||||
writer.addHeaderAlias("operationCommission", "运维总金额抽成");
|
||||
writer.addHeaderAlias("operationSvcCommission", "运维服务费抽成");
|
||||
|
||||
// 默认的,未添加alias的属性也会写出,如果想只写出加了别名的字段,可以调用此方法排除之
|
||||
writer.setOnlyAlias(true);
|
||||
// 一次性写出内容,使用默认样式,强制输出标题
|
||||
writer.write(list, true);
|
||||
//out为OutputStream,需要写出到的目标流
|
||||
|
||||
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
|
||||
response.setCharacterEncoding("utf-8");
|
||||
|
||||
ServletOutputStream out = response.getOutputStream();
|
||||
|
||||
writer.flush(out, true);
|
||||
// 关闭writer,释放内存
|
||||
writer.close();
|
||||
//此处记得关闭输出Servlet流
|
||||
IoUtil.close(out);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void exportByDate(ServletOutputStream out, String[] titles, String[] keys, List<Map<String, Object>> data) throws Exception {
|
||||
export(out, titles, keys, data);
|
||||
public void stationIntervalExport(HttpServletResponse response, String chargingStationIds,String operatorIds, Long internetUserId, Long operatorId, String startTime, String endTime, Long userId, Integer type) throws IOException {
|
||||
List<Map<String, Object>> list = getStationIntervalPage(chargingStationIds, operatorIds, internetUserId, operatorId, startTime, endTime, userId, type);
|
||||
|
||||
// 通过工具类创建writer,默认创建xls格式
|
||||
ExcelWriter writer = ExcelUtil.getWriter();
|
||||
writer.addHeaderAlias("chargingStationName", "电站名称");
|
||||
writer.addHeaderAlias("operatorName", "运营商名称");
|
||||
writer.addHeaderAlias("chargingDegree", "电量");
|
||||
writer.addHeaderAlias("chargingTime", "充电时长(小时)");
|
||||
writer.addHeaderAlias("chargingNumber", "充电次数");
|
||||
writer.addHeaderAlias("powerPrice", "电费");
|
||||
writer.addHeaderAlias("servicePrice", "服务费");
|
||||
writer.addHeaderAlias("totalPrice", "订单总价");
|
||||
writer.addHeaderAlias("promotionDiscount", "抵扣的总金额");
|
||||
writer.addHeaderAlias("actPrice", "用户支付金额");
|
||||
writer.addHeaderAlias("actPowerPrice", "运营商电费");
|
||||
writer.addHeaderAlias("actServicePrice", "运营商服务费");
|
||||
writer.addHeaderAlias("internetCommission", "流量方总金额抽成");
|
||||
writer.addHeaderAlias("internetSvcCommission", "流量方服务费抽成");
|
||||
writer.addHeaderAlias("platformCommission", "平台总金额抽成");
|
||||
writer.addHeaderAlias("platformSvcCommisssion", "平台服务费抽成");
|
||||
writer.addHeaderAlias("operationCommission", "运维总金额抽成");
|
||||
writer.addHeaderAlias("operationSvcCommission", "运维服务费抽成");
|
||||
writer.addHeaderAlias("createTime", "日期");
|
||||
|
||||
// 默认的,未添加alias的属性也会写出,如果想只写出加了别名的字段,可以调用此方法排除之
|
||||
writer.setOnlyAlias(true);
|
||||
// 一次性写出内容,使用默认样式,强制输出标题
|
||||
writer.write(list, true);
|
||||
//out为OutputStream,需要写出到的目标流
|
||||
|
||||
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
|
||||
response.setCharacterEncoding("utf-8");
|
||||
|
||||
ServletOutputStream out = response.getOutputStream();
|
||||
|
||||
writer.flush(out, true);
|
||||
// 关闭writer,释放内存
|
||||
writer.close();
|
||||
//此处记得关闭输出Servlet流
|
||||
IoUtil.close(out);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void export(ServletOutputStream out, String[] titles, String[] keys, List<Map<String, Object>> data) throws Exception {
|
||||
public void operatorIntervalExport(HttpServletResponse response, String operatorIds,Long operatorId, String startTime, String endTime, Long userId, Integer type) throws IOException {
|
||||
List<Map<String, Object>> list = getOperatorIntervalPage(operatorIds, operatorId, startTime, endTime, userId, type);
|
||||
|
||||
// try {
|
||||
// //Making the head.
|
||||
// HSSFWorkbook workbook = new HSSFWorkbook();
|
||||
// HSSFSheet hssfSheet = workbook.createSheet("sheet1");
|
||||
// HSSFRow row = hssfSheet.createRow(0);
|
||||
// HSSFCellStyle hssfCellStyle = workbook.createCellStyle();
|
||||
// hssfCellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);
|
||||
// hssfCellStyle.setFillForegroundColor(HSSFColor.SKY_BLUE.index);
|
||||
// hssfCellStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
|
||||
// HSSFCell hssfCell;
|
||||
// for (int i = 0; i < titles.length; i++) {
|
||||
// hssfCell = row.createCell(i);
|
||||
// hssfCell.setCellValue(titles[i]);
|
||||
// hssfCell.setCellStyle(hssfCellStyle);
|
||||
// hssfSheet.setColumnWidth(i, hssfCell.getStringCellValue().getBytes().length * 256 + 200);
|
||||
// }
|
||||
//
|
||||
// //Loading data.
|
||||
// HSSFRow dataRow;
|
||||
// HSSFCell dataCell;
|
||||
// int valuesLength = keys.length;
|
||||
// for (int i = 1; i <= data.size(); i++) {
|
||||
// Map<String, Object> map = data.get(i - 1);
|
||||
// if (null != map) {
|
||||
// dataRow = hssfSheet.createRow(i);
|
||||
// for (int j = 0; j < valuesLength; j++) {
|
||||
// if (null != map.get(keys[j])) {
|
||||
// dataCell = dataRow.createCell(j);
|
||||
// String s = String.valueOf(map.get(keys[j]));
|
||||
// dataCell.setCellValue(s);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// // Exporting to the client.
|
||||
// try {
|
||||
// workbook.write(out);
|
||||
// out.flush();
|
||||
// out.close();
|
||||
// } catch (Exception e) {
|
||||
// e.printStackTrace();
|
||||
// }
|
||||
// } catch (Exception e) {
|
||||
// e.printStackTrace();
|
||||
// throw new Exception("导出信息失败!");
|
||||
// }
|
||||
// 通过工具类创建writer,默认创建xls格式
|
||||
ExcelWriter writer = ExcelUtil.getWriter();
|
||||
writer.addHeaderAlias("operatorName", "运营商名称");
|
||||
writer.addHeaderAlias("chargingDegree", "电量");
|
||||
writer.addHeaderAlias("chargingTime", "充电时长(小时)");
|
||||
writer.addHeaderAlias("chargingNumber", "充电次数");
|
||||
writer.addHeaderAlias("powerPrice", "电费");
|
||||
writer.addHeaderAlias("servicePrice", "服务费");
|
||||
writer.addHeaderAlias("totalPrice", "订单总价");
|
||||
writer.addHeaderAlias("promotionDiscount", "抵扣的总金额");
|
||||
writer.addHeaderAlias("actPrice", "用户支付金额");
|
||||
writer.addHeaderAlias("actPowerPrice", "运营商电费");
|
||||
writer.addHeaderAlias("actServicePrice", "运营商服务费");
|
||||
writer.addHeaderAlias("internetCommission", "流量方总金额抽成");
|
||||
writer.addHeaderAlias("internetSvcCommission", "流量方服务费抽成");
|
||||
writer.addHeaderAlias("platformCommission", "平台总金额抽成");
|
||||
writer.addHeaderAlias("platformSvcCommisssion", "平台服务费抽成");
|
||||
writer.addHeaderAlias("operationCommission", "运维总金额抽成");
|
||||
writer.addHeaderAlias("operationSvcCommission", "运维服务费抽成");
|
||||
writer.addHeaderAlias("createTime", "日期");
|
||||
|
||||
// 默认的,未添加alias的属性也会写出,如果想只写出加了别名的字段,可以调用此方法排除之
|
||||
writer.setOnlyAlias(true);
|
||||
// 一次性写出内容,使用默认样式,强制输出标题
|
||||
writer.write(list, true);
|
||||
//out为OutputStream,需要写出到的目标流
|
||||
|
||||
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
|
||||
response.setCharacterEncoding("utf-8");
|
||||
|
||||
ServletOutputStream out = response.getOutputStream();
|
||||
|
||||
writer.flush(out, true);
|
||||
// 关闭writer,释放内存
|
||||
writer.close();
|
||||
//此处记得关闭输出Servlet流
|
||||
IoUtil.close(out);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void internetUserIntervalExport(HttpServletResponse response, String internetUserIds, Long internetUserId, String startTime, String endTime, Long userId, Integer type) throws IOException {
|
||||
List<Map<String, Object>> list = getInternetUserIntervalPage(internetUserIds, internetUserId, startTime, endTime, userId, type);
|
||||
|
||||
// 通过工具类创建writer,默认创建xls格式
|
||||
ExcelWriter writer = ExcelUtil.getWriter();
|
||||
writer.addHeaderAlias("internetUserName", "流量方名称");
|
||||
writer.addHeaderAlias("chargingDegree", "电量");
|
||||
writer.addHeaderAlias("chargingTime", "充电时长(小时)");
|
||||
writer.addHeaderAlias("chargingNumber", "充电次数");
|
||||
writer.addHeaderAlias("powerPrice", "电费");
|
||||
writer.addHeaderAlias("servicePrice", "服务费");
|
||||
writer.addHeaderAlias("totalPrice", "订单总价");
|
||||
writer.addHeaderAlias("promotionDiscount", "抵扣的总金额");
|
||||
writer.addHeaderAlias("actPrice", "用户支付金额");
|
||||
writer.addHeaderAlias("actPowerPrice", "运营商电费");
|
||||
writer.addHeaderAlias("actServicePrice", "运营商服务费");
|
||||
writer.addHeaderAlias("internetCommission", "流量方总金额抽成");
|
||||
writer.addHeaderAlias("internetSvcCommission", "流量方服务费抽成");
|
||||
writer.addHeaderAlias("platformCommission", "平台总金额抽成");
|
||||
writer.addHeaderAlias("platformSvcCommisssion", "平台服务费抽成");
|
||||
writer.addHeaderAlias("operationCommission", "运维总金额抽成");
|
||||
writer.addHeaderAlias("operationSvcCommission", "运维服务费抽成");
|
||||
writer.addHeaderAlias("createTime", "日期");
|
||||
|
||||
// 默认的,未添加alias的属性也会写出,如果想只写出加了别名的字段,可以调用此方法排除之
|
||||
writer.setOnlyAlias(true);
|
||||
// 一次性写出内容,使用默认样式,强制输出标题
|
||||
writer.write(list, true);
|
||||
//out为OutputStream,需要写出到的目标流
|
||||
|
||||
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
|
||||
response.setCharacterEncoding("utf-8");
|
||||
|
||||
ServletOutputStream out = response.getOutputStream();
|
||||
|
||||
writer.flush(out, true);
|
||||
// 关闭writer,释放内存
|
||||
writer.close();
|
||||
//此处记得关闭输出Servlet流
|
||||
IoUtil.close(out);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void terminalIntervalExport(HttpServletResponse response, String chargingStationId, String terminalId, Long operatorId, String startTime, String endTime, Long userId, Integer type) throws IOException {
|
||||
List<Map<String, Object>> list = getTerminalIntervalPage(chargingStationId, terminalId, operatorId, startTime, endTime, userId, type);
|
||||
|
||||
// 通过工具类创建writer,默认创建xls格式
|
||||
ExcelWriter writer = ExcelUtil.getWriter();
|
||||
writer.addHeaderAlias("chargingStationName", "电站名称");
|
||||
writer.addHeaderAlias("terminalName", "终端名称");
|
||||
writer.addHeaderAlias("chargingDegree", "电量");
|
||||
writer.addHeaderAlias("chargingTime", "充电时长(小时)");
|
||||
writer.addHeaderAlias("chargingNumber", "充电次数");
|
||||
writer.addHeaderAlias("powerPrice", "电费");
|
||||
writer.addHeaderAlias("servicePrice", "服务费");
|
||||
writer.addHeaderAlias("totalPrice", "订单总价");
|
||||
writer.addHeaderAlias("promotionDiscount", "抵扣的总金额");
|
||||
writer.addHeaderAlias("actPrice", "用户支付金额");
|
||||
writer.addHeaderAlias("actPowerPrice", "运营商电费");
|
||||
writer.addHeaderAlias("actServicePrice", "运营商服务费");
|
||||
writer.addHeaderAlias("internetCommission", "流量方总金额抽成");
|
||||
writer.addHeaderAlias("internetSvcCommission", "流量方服务费抽成");
|
||||
writer.addHeaderAlias("platformCommission", "平台总金额抽成");
|
||||
writer.addHeaderAlias("platformSvcCommisssion", "平台服务费抽成");
|
||||
writer.addHeaderAlias("operationCommission", "运维总金额抽成");
|
||||
writer.addHeaderAlias("operationSvcCommission", "运维服务费抽成");
|
||||
writer.addHeaderAlias("createTime", "日期");
|
||||
|
||||
// 默认的,未添加alias的属性也会写出,如果想只写出加了别名的字段,可以调用此方法排除之
|
||||
writer.setOnlyAlias(true);
|
||||
// 一次性写出内容,使用默认样式,强制输出标题
|
||||
writer.write(list, true);
|
||||
//out为OutputStream,需要写出到的目标流
|
||||
|
||||
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
|
||||
response.setCharacterEncoding("utf-8");
|
||||
|
||||
ServletOutputStream out = response.getOutputStream();
|
||||
|
||||
writer.flush(out, true);
|
||||
// 关闭writer,释放内存
|
||||
writer.close();
|
||||
//此处记得关闭输出Servlet流
|
||||
IoUtil.close(out);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user