Commit 6be718cd by huluobin

# 导出功能

parent 3b8b1e60
......@@ -92,9 +92,8 @@ public class CostTypeController {
@ApiOperation("导出excel")
@GetMapping("/exportExcel")
public CostResult<Void> exportExcel(HttpServletResponse response,
CostTypeExportExcelReq req) throws IOException {
public void exportExcel(HttpServletResponse response,
CostTypeExportExcelReq req) throws IOException {
costTypeService.exportExcel(response, req);
return CostResult.success();
}
}
......@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.blt.other.database.model.CostCompanyDomain;
import com.blt.other.module.sys.dto.request.CompanyReviewerListReq;
import com.blt.other.module.sys.dto.request.CostReviewerExportReq;
import com.blt.other.module.sys.dto.response.CostReviewerExportItem;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
......@@ -76,5 +77,5 @@ public interface CostCompanyDao extends BaseMapper<CostCompanyDomain> {
IPage<CostCompanyDomain> reviewerPage(@Param("page") IPage<CostCompanyDomain> page, @Param("req") CompanyReviewerListReq req);
//导出
List<CostReviewerExportItem> costReviewerExportItemList();
List<CostReviewerExportItem> costReviewerExportItemList(@Param("req") CostReviewerExportReq req);
}
......@@ -265,7 +265,7 @@ public class CostCompanyServiceImpl extends ServiceImpl<CostCompanyDao, CostComp
response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
LongestMatchColumnWidthStyleStrategy longestMatchColumnWidthStyleStrategy = new LongestMatchColumnWidthStyleStrategy();
List<CostReviewerExportItem> aiList = baseMapper.costReviewerExportItemList();
List<CostReviewerExportItem> aiList = baseMapper.costReviewerExportItemList(req);
EasyExcel.write(response.getOutputStream(), CostReviewerExportItem.class)
.sheet("sheet")
.registerWriteHandler(longestMatchColumnWidthStyleStrategy)
......
......@@ -82,10 +82,9 @@ public class CostReviewerController {
@ApiOperation("导出excel")
@GetMapping("/exportExcel")
public CostResult<Void> exportExcel(HttpServletResponse response,
CostReviewerExportReq req) throws IOException {
public void exportExcel(HttpServletResponse response,
CostReviewerExportReq req) throws IOException {
costCompanyService.exportExcel(response, req);
return CostResult.success();
}
......
......@@ -46,10 +46,9 @@ public class DepartmentReviewerController {
@ApiOperation("导出excel")
@GetMapping("/exportExcel")
public CostResult<Void> exportExcel(HttpServletResponse response,
public void exportExcel(HttpServletResponse response,
DepartmentReviewerExportReq req) throws IOException {
departmentReviewerService.exportExcel(response, req);
return CostResult.success();
}
......
package com.blt.other.module.sys.dto.response;
/**
* <p>
*
* </p>
*
* @author robbendev
* @since 2021/1/27 9:58 上午
*/
public class DepartmentReviewerExportItem {
}
......@@ -7,6 +7,7 @@ import com.blt.other.module.sys.dto.response.DepartmentReviewerListItem;
import com.blt.other.module.sys.model.DepartmentReviewer;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
* <p>
......@@ -51,5 +52,5 @@ public interface IDepartmentReviewerService extends IService<DepartmentReviewer>
void importExcel(DepartmentReviewerImportReq excel);
//导出
void exportExcel(HttpServletResponse response, DepartmentReviewerExportReq req);
void exportExcel(HttpServletResponse response, DepartmentReviewerExportReq req) throws IOException;
}
package com.blt.other.module.sys.service.impl;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
import com.bailuntec.common.ListUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
......@@ -22,6 +24,8 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.net.URLEncoder;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
......@@ -108,7 +112,6 @@ public class DepartmentReviewerServiceImpl extends ServiceImpl<DepartmentReviewe
departmentReviewer.setSecondDepartmentName(secondDepartment.getName());
departmentReviewer.setUpdateUserId(SessionUtils.getCurrentUserId());
departmentReviewer.setUpdateUserName(SessionUtils.getSysUser().getUserName());
......@@ -145,7 +148,19 @@ public class DepartmentReviewerServiceImpl extends ServiceImpl<DepartmentReviewe
}
@Override
public void exportExcel(HttpServletResponse response, DepartmentReviewerExportReq req) {
public void exportExcel(HttpServletResponse response, DepartmentReviewerExportReq req) throws IOException {
response.setContentType("application/vnd.ms-excel");
response.setCharacterEncoding("utf-8");
//
String fileName = URLEncoder.encode("模版", "UTF-8");
response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
LongestMatchColumnWidthStyleStrategy longestMatchColumnWidthStyleStrategy = new LongestMatchColumnWidthStyleStrategy();
req.setPageNum(1);
req.setPageSize(1000);
List<DepartmentReviewerListItem> list = this.departmentReviewerList(req).getRecords();
list.forEach(item -> item.setCostReviewerNames(item.getCostReviewerList().stream().map(CostReviewer::getReviewerUserName).collect(Collectors.joining(","))));
EasyExcel.write(response.getOutputStream(), DepartmentReviewerListItem.class).sheet("sheet").doWrite(list);
}
}
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