Commit 6be718cd by huluobin

# 导出功能

parent 3b8b1e60
...@@ -92,9 +92,8 @@ public class CostTypeController { ...@@ -92,9 +92,8 @@ public class CostTypeController {
@ApiOperation("导出excel") @ApiOperation("导出excel")
@GetMapping("/exportExcel") @GetMapping("/exportExcel")
public CostResult<Void> exportExcel(HttpServletResponse response, public void exportExcel(HttpServletResponse response,
CostTypeExportExcelReq req) throws IOException { CostTypeExportExcelReq req) throws IOException {
costTypeService.exportExcel(response, req); costTypeService.exportExcel(response, req);
return CostResult.success();
} }
} }
...@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; ...@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.blt.other.database.model.CostCompanyDomain; import com.blt.other.database.model.CostCompanyDomain;
import com.blt.other.module.sys.dto.request.CompanyReviewerListReq; 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 com.blt.other.module.sys.dto.response.CostReviewerExportItem;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
...@@ -76,5 +77,5 @@ public interface CostCompanyDao extends BaseMapper<CostCompanyDomain> { ...@@ -76,5 +77,5 @@ public interface CostCompanyDao extends BaseMapper<CostCompanyDomain> {
IPage<CostCompanyDomain> reviewerPage(@Param("page") IPage<CostCompanyDomain> page, @Param("req") CompanyReviewerListReq req); 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 ...@@ -265,7 +265,7 @@ public class CostCompanyServiceImpl extends ServiceImpl<CostCompanyDao, CostComp
response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx"); response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
LongestMatchColumnWidthStyleStrategy longestMatchColumnWidthStyleStrategy = new LongestMatchColumnWidthStyleStrategy(); LongestMatchColumnWidthStyleStrategy longestMatchColumnWidthStyleStrategy = new LongestMatchColumnWidthStyleStrategy();
List<CostReviewerExportItem> aiList = baseMapper.costReviewerExportItemList(); List<CostReviewerExportItem> aiList = baseMapper.costReviewerExportItemList(req);
EasyExcel.write(response.getOutputStream(), CostReviewerExportItem.class) EasyExcel.write(response.getOutputStream(), CostReviewerExportItem.class)
.sheet("sheet") .sheet("sheet")
.registerWriteHandler(longestMatchColumnWidthStyleStrategy) .registerWriteHandler(longestMatchColumnWidthStyleStrategy)
......
...@@ -82,10 +82,9 @@ public class CostReviewerController { ...@@ -82,10 +82,9 @@ public class CostReviewerController {
@ApiOperation("导出excel") @ApiOperation("导出excel")
@GetMapping("/exportExcel") @GetMapping("/exportExcel")
public CostResult<Void> exportExcel(HttpServletResponse response, public void exportExcel(HttpServletResponse response,
CostReviewerExportReq req) throws IOException { CostReviewerExportReq req) throws IOException {
costCompanyService.exportExcel(response, req); costCompanyService.exportExcel(response, req);
return CostResult.success();
} }
......
...@@ -46,10 +46,9 @@ public class DepartmentReviewerController { ...@@ -46,10 +46,9 @@ public class DepartmentReviewerController {
@ApiOperation("导出excel") @ApiOperation("导出excel")
@GetMapping("/exportExcel") @GetMapping("/exportExcel")
public CostResult<Void> exportExcel(HttpServletResponse response, public void exportExcel(HttpServletResponse response,
DepartmentReviewerExportReq req) throws IOException { DepartmentReviewerExportReq req) throws IOException {
departmentReviewerService.exportExcel(response, req); 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; ...@@ -7,6 +7,7 @@ import com.blt.other.module.sys.dto.response.DepartmentReviewerListItem;
import com.blt.other.module.sys.model.DepartmentReviewer; import com.blt.other.module.sys.model.DepartmentReviewer;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
/** /**
* <p> * <p>
...@@ -51,5 +52,5 @@ public interface IDepartmentReviewerService extends IService<DepartmentReviewer> ...@@ -51,5 +52,5 @@ public interface IDepartmentReviewerService extends IService<DepartmentReviewer>
void importExcel(DepartmentReviewerImportReq excel); 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; 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.bailuntec.common.ListUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
...@@ -22,6 +24,8 @@ import org.springframework.stereotype.Service; ...@@ -22,6 +24,8 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.net.URLEncoder;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -108,7 +112,6 @@ public class DepartmentReviewerServiceImpl extends ServiceImpl<DepartmentReviewe ...@@ -108,7 +112,6 @@ public class DepartmentReviewerServiceImpl extends ServiceImpl<DepartmentReviewe
departmentReviewer.setSecondDepartmentName(secondDepartment.getName()); departmentReviewer.setSecondDepartmentName(secondDepartment.getName());
departmentReviewer.setUpdateUserId(SessionUtils.getCurrentUserId()); departmentReviewer.setUpdateUserId(SessionUtils.getCurrentUserId());
departmentReviewer.setUpdateUserName(SessionUtils.getSysUser().getUserName()); departmentReviewer.setUpdateUserName(SessionUtils.getSysUser().getUserName());
...@@ -145,7 +148,19 @@ public class DepartmentReviewerServiceImpl extends ServiceImpl<DepartmentReviewe ...@@ -145,7 +148,19 @@ public class DepartmentReviewerServiceImpl extends ServiceImpl<DepartmentReviewe
} }
@Override @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