Commit 4a2dd352 authored by jichao's avatar jichao

项目评估--参数库导出

parent 12b53690
...@@ -3,6 +3,7 @@ package org.rcisoft.business.device.assets.controller; ...@@ -3,6 +3,7 @@ package org.rcisoft.business.device.assets.controller;
/*固定导入*/ /*固定导入*/
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
...@@ -10,6 +11,7 @@ import org.apache.poi.hssf.usermodel.*; ...@@ -10,6 +11,7 @@ import org.apache.poi.hssf.usermodel.*;
import org.rcisoft.business.device.assets.entity.BusDevice; import org.rcisoft.business.device.assets.entity.BusDevice;
import org.rcisoft.business.device.assets.service.BusDeviceService; import org.rcisoft.business.device.assets.service.BusDeviceService;
import org.rcisoft.business.device.assets.vo.DeviceAssetStatisticVo; import org.rcisoft.business.device.assets.vo.DeviceAssetStatisticVo;
import org.rcisoft.business.device.assets.vo.DeviceParamsVo;
import org.rcisoft.core.constant.MessageConstant; import org.rcisoft.core.constant.MessageConstant;
import org.rcisoft.core.controller.PaginationController; import org.rcisoft.core.controller.PaginationController;
import org.rcisoft.core.model.GridModel; import org.rcisoft.core.model.GridModel;
...@@ -37,6 +39,7 @@ import java.util.List; ...@@ -37,6 +39,7 @@ import java.util.List;
/** /**
* Created by on 2018-4-12 15:33:23. * Created by on 2018-4-12 15:33:23.
*/ */
@Api(tags = "项目评估--参数库")
@RestController @RestController
@RequestMapping("busdevice") @RequestMapping("busdevice")
public class BusDeviceController extends PaginationController<BusDevice> { public class BusDeviceController extends PaginationController<BusDevice> {
...@@ -172,6 +175,10 @@ public class BusDeviceController extends PaginationController<BusDevice> { ...@@ -172,6 +175,10 @@ public class BusDeviceController extends PaginationController<BusDevice> {
webDataBinder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true)); webDataBinder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true));
} }
@ApiOperation(value="参数库导出", notes="参数库导出功能,需要将页面上的名称、编号以json对象数组的形式传到后台")
@RequestMapping("/downloadExcel")
public void downloadExcel(HttpServletResponse response, @RequestBody List<DeviceParamsVo> list) {
busDeviceServiceImpl.downloadExcel(response, list);
}
} }
...@@ -2,9 +2,11 @@ package org.rcisoft.business.device.assets.service; ...@@ -2,9 +2,11 @@ package org.rcisoft.business.device.assets.service;
import org.rcisoft.business.device.assets.entity.BusDevice; import org.rcisoft.business.device.assets.entity.BusDevice;
import org.rcisoft.business.device.assets.vo.DeviceAssetStatisticVo; import org.rcisoft.business.device.assets.vo.DeviceAssetStatisticVo;
import org.rcisoft.business.device.assets.vo.DeviceParamsVo;
import org.rcisoft.core.model.PersistModel; import org.rcisoft.core.model.PersistModel;
import org.rcisoft.core.aop.PageUtil; import org.rcisoft.core.aop.PageUtil;
import javax.servlet.http.HttpServletResponse;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -82,4 +84,10 @@ public interface BusDeviceService { ...@@ -82,4 +84,10 @@ public interface BusDeviceService {
* @return * @return
*/ */
Integer addRunTime(); Integer addRunTime();
/**
* 参数库导出
* @param response
*/
void downloadExcel(HttpServletResponse response, List<DeviceParamsVo> list);
} }
package org.rcisoft.business.device.assets.service.impl; package org.rcisoft.business.device.assets.service.impl;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.CellType;
import org.rcisoft.business.device.assets.dao.BusDeviceRepository; import org.rcisoft.business.device.assets.dao.BusDeviceRepository;
import org.rcisoft.business.device.assets.service.BusDeviceService; import org.rcisoft.business.device.assets.service.BusDeviceService;
import org.rcisoft.business.device.assets.vo.DeviceAssetStatisticVo; import org.rcisoft.business.device.assets.vo.DeviceAssetStatisticVo;
import org.rcisoft.business.device.assets.vo.DeviceParamsVo;
import org.rcisoft.business.manage.dao.BusLibraryParamRepository; import org.rcisoft.business.manage.dao.BusLibraryParamRepository;
import org.rcisoft.business.manage.entity.BusDevicetpParam; import org.rcisoft.business.manage.entity.BusDevicetpParam;
import org.rcisoft.business.manage.entity.BusLibraryParam; import org.rcisoft.business.manage.entity.BusLibraryParam;
...@@ -20,13 +25,20 @@ import org.springframework.transaction.annotation.Propagation; ...@@ -20,13 +25,20 @@ import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.net.URLEncoder;
import java.nio.charset.Charset;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.*; import java.util.*;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import tk.mybatis.mapper.entity.Example; import tk.mybatis.mapper.entity.Example;
import javax.servlet.http.HttpServletResponse;
/** /**
* Created by on 2018-4-12 15:33:23. * Created by on 2018-4-12 15:33:23.
*/ */
...@@ -214,4 +226,40 @@ public class BusDeviceServiceImpl implements BusDeviceService { ...@@ -214,4 +226,40 @@ public class BusDeviceServiceImpl implements BusDeviceService {
return 0; return 0;
} }
@Override
public void downloadExcel(HttpServletResponse response, List<DeviceParamsVo> list) {
try (OutputStream outputStream = response.getOutputStream()) {
response.setHeader("Content-disposition", "attachment;filename=download.xls");
outputStream.write(this.createExcel(list));
outputStream.flush();
} catch (IOException e) {
e.printStackTrace();
}
}
private byte[] createExcel(List<DeviceParamsVo> list) throws IOException {
HSSFWorkbook workbook = null;
try(ByteArrayOutputStream os = new ByteArrayOutputStream()) {
workbook = new HSSFWorkbook();
HSSFSheet sheet = workbook.createSheet("sheet1");
//表头
String[] title = new String[]{"名称", "编号"};
HSSFRow title_row = sheet.createRow(0);
for (int i = 0; i < title.length; i++) {
title_row.createCell(i, CellType.STRING).setCellValue(title[i]);
}
//内容
for (int i = 0; i < list.size(); i++) {
HSSFRow row = sheet.createRow(i + 1);
DeviceParamsVo deviceParamsVo = list.get(i);
row.createCell(0, CellType.STRING).setCellValue(deviceParamsVo.getName());
row.createCell(1, CellType.STRING).setCellValue(deviceParamsVo.getNum());
}
workbook.write(os);
return os.toByteArray();
} finally {
workbook.close();
}
}
} }
package org.rcisoft.business.device.assets.vo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* Created by JiChao on 2018/5/25.
*/
@NoArgsConstructor
@AllArgsConstructor
@Data
public class DeviceParamsVo {
private String name;
private String num;
}
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