Commit a8339010 authored by lcl's avatar lcl

导出相关

parent e84fbba4
...@@ -9,14 +9,14 @@ import com.dsk.common.core.page.TableDataInfo; ...@@ -9,14 +9,14 @@ import com.dsk.common.core.page.TableDataInfo;
import com.dsk.common.utils.poi.ExcelUtil; import com.dsk.common.utils.poi.ExcelUtil;
import com.dsk.system.domain.dsk.dto.JskCombineCertificateDto; import com.dsk.system.domain.dsk.dto.JskCombineCertificateDto;
import com.dsk.system.domain.dsk.dto.JskCombineSearchDto; import com.dsk.system.domain.dsk.dto.JskCombineSearchDto;
import com.dsk.system.domain.dsk.vo.JskCombineBidProjectExportVo;
import com.dsk.system.domain.dsk.vo.JskCombineWinBidProjectExportVo; import com.dsk.system.domain.dsk.vo.JskCombineWinBidProjectExportVo;
import com.dsk.system.dskService.JskCombineInfoService; import com.dsk.system.dskService.JskCombineInfoService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.poi.util.IOUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.util.Date; import java.util.Date;
...@@ -25,6 +25,7 @@ import java.util.Map; ...@@ -25,6 +25,7 @@ import java.util.Map;
/** /**
* 集团户相关信息 * 集团户相关信息
*
* @author lcl * @author lcl
* @create 2023/8/7 * @create 2023/8/7
*/ */
...@@ -37,7 +38,7 @@ public class JskCombineInfoController extends BaseController { ...@@ -37,7 +38,7 @@ public class JskCombineInfoController extends BaseController {
private JskCombineInfoService baseService; private JskCombineInfoService baseService;
/** /**
* 集团成员列表 * 集团成员列表
*/ */
@PostMapping("/memberList") @PostMapping("/memberList")
public TableDataInfo memberList(@RequestBody JskCombineSearchDto dto) throws Exception { public TableDataInfo memberList(@RequestBody JskCombineSearchDto dto) throws Exception {
...@@ -45,7 +46,7 @@ public class JskCombineInfoController extends BaseController { ...@@ -45,7 +46,7 @@ public class JskCombineInfoController extends BaseController {
} }
/** /**
* 分组成员数量 * 分组成员数量
*/ */
@PostMapping("/group/memberCount") @PostMapping("/group/memberCount")
public R groupMemberCount(@RequestBody JskCombineSearchDto dto) { public R groupMemberCount(@RequestBody JskCombineSearchDto dto) {
...@@ -53,7 +54,7 @@ public class JskCombineInfoController extends BaseController { ...@@ -53,7 +54,7 @@ public class JskCombineInfoController extends BaseController {
} }
/** /**
* 集团业绩列表 * 集团业绩列表
*/ */
@PostMapping("/businessList") @PostMapping("/businessList")
public TableDataInfo businessList(@RequestBody JskCombineSearchDto dto) throws Exception { public TableDataInfo businessList(@RequestBody JskCombineSearchDto dto) throws Exception {
...@@ -61,14 +62,15 @@ public class JskCombineInfoController extends BaseController { ...@@ -61,14 +62,15 @@ public class JskCombineInfoController extends BaseController {
} }
/** /**
* 集团资质列表 * 集团资质列表
*/ */
@PostMapping("/certificateList") @PostMapping("/certificateList")
public TableDataInfo certificateList(@RequestBody JskCombineSearchDto dto) throws Exception { public TableDataInfo certificateList(@RequestBody JskCombineSearchDto dto) throws Exception {
return baseService.certificateList(dto); return baseService.certificateList(dto);
} }
/** /**
* 集团成员资质列表 * 集团成员资质列表
*/ */
@PostMapping("/member/certificateList") @PostMapping("/member/certificateList")
public TableDataInfo menberCertificateList(@RequestBody JskCombineCertificateDto dto) throws Exception { public TableDataInfo menberCertificateList(@RequestBody JskCombineCertificateDto dto) throws Exception {
...@@ -76,7 +78,7 @@ public class JskCombineInfoController extends BaseController { ...@@ -76,7 +78,7 @@ public class JskCombineInfoController extends BaseController {
} }
/** /**
* 集团资质分组统计 * 集团资质分组统计
*/ */
@PostMapping("/group/certificateCount") @PostMapping("/group/certificateCount")
public R groupCertificateCount(@RequestBody JskCombineSearchDto dto) throws Exception { public R groupCertificateCount(@RequestBody JskCombineSearchDto dto) throws Exception {
...@@ -84,7 +86,7 @@ public class JskCombineInfoController extends BaseController { ...@@ -84,7 +86,7 @@ public class JskCombineInfoController extends BaseController {
} }
/** /**
* 集团户搜索 * 集团户搜索
*/ */
@PostMapping("/index") @PostMapping("/index")
public AjaxResult index(@RequestBody JSONObject object) { public AjaxResult index(@RequestBody JSONObject object) {
...@@ -92,15 +94,15 @@ public class JskCombineInfoController extends BaseController { ...@@ -92,15 +94,15 @@ public class JskCombineInfoController extends BaseController {
} }
/** /**
* 查央企 * 查央企
*/ */
@PostMapping("/centralEnterprse") @PostMapping("/centralEnterprse")
public AjaxResult centralEnterprse() { public AjaxResult centralEnterprse() {
return baseService.centralEnterprse(); return baseService.centralEnterprse();
} }
/** /**
* 查央企子公司 * 查央企子公司
*/ */
@PostMapping("/centralEnterprse/child") @PostMapping("/centralEnterprse/child")
public AjaxResult centralEnterprseChild() { public AjaxResult centralEnterprseChild() {
...@@ -108,7 +110,7 @@ public class JskCombineInfoController extends BaseController { ...@@ -108,7 +110,7 @@ public class JskCombineInfoController extends BaseController {
} }
/** /**
* 查央企子公司 翻页 * 查央企子公司 翻页
*/ */
@PostMapping("/centralEnterprse/child/page") @PostMapping("/centralEnterprse/child/page")
public AjaxResult centralEnterprseChildPage(@RequestBody JSONObject object) { public AjaxResult centralEnterprseChildPage(@RequestBody JSONObject object) {
...@@ -116,45 +118,58 @@ public class JskCombineInfoController extends BaseController { ...@@ -116,45 +118,58 @@ public class JskCombineInfoController extends BaseController {
} }
/** /**
* 查地方国企 * 查地方国企
*/ */
@PostMapping("/centralEnterprse/local") @PostMapping("/centralEnterprse/local")
public AjaxResult centralEnterprseLocal(@RequestBody JSONObject object) { public AjaxResult centralEnterprseLocal(@RequestBody JSONObject object) {
return baseService.centralEnterprseLocal(object); return baseService.centralEnterprseLocal(object);
} }
/** /**
* 查地方国企 翻页 * 查地方国企 翻页
*/ */
@PostMapping("/centralEnterprse/local/page") @PostMapping("/centralEnterprse/local/page")
public AjaxResult centralEnterprseLocalPage(@RequestBody JSONObject object) { public AjaxResult centralEnterprseLocalPage(@RequestBody JSONObject object) {
return baseService.centralEnterprseLocalPage(object); return baseService.centralEnterprseLocalPage(object);
} }
/** /**
* 民营企业 * 民营企业
*/ */
@PostMapping("/centralEnterprse/social") @PostMapping("/centralEnterprse/social")
public AjaxResult centralEnterprseSocial() { public AjaxResult centralEnterprseSocial() {
return baseService.centralEnterprseSocial(); return baseService.centralEnterprseSocial();
} }
/** /**
* 民营企业 翻页 * 民营企业 翻页
*/ */
@PostMapping("/centralEnterprse/social/page") @PostMapping("/centralEnterprse/social/page")
public AjaxResult centralEnterprseSocialPage(@RequestBody JSONObject object) { public AjaxResult centralEnterprseSocialPage(@RequestBody JSONObject object) {
return baseService.centralEnterprseSocialPage(object); return baseService.centralEnterprseSocialPage(object);
} }
/** /**
* 导出中标业绩 * 导出中标业绩
*/ */
@PostMapping("/export/win/bid") @PostMapping("/export/win/bid")
public void exportWinBid(@RequestBody JskCombineSearchDto dto, HttpServletResponse response) { @PreAuthorize("@ss.hasPermi('combine:info:export:win:bid')")
public void exportWinBid(@RequestBody JskCombineSearchDto dto, HttpServletResponse response) {
List<JskCombineWinBidProjectExportVo> list = baseService.exportWinBid(dto); List<JskCombineWinBidProjectExportVo> list = baseService.exportWinBid(dto);
ExcelUtil<JskCombineWinBidProjectExportVo> util = new ExcelUtil<>(JskCombineWinBidProjectExportVo.class); ExcelUtil<JskCombineWinBidProjectExportVo> util = new ExcelUtil<>(JskCombineWinBidProjectExportVo.class);
util.exportExcel(response, list, "集团中标", dto.getCombineName().concat("中标业绩清单"),true); util.exportExcel(response, list, "集团中标", dto.getCombineName().concat("中标业绩清单"), true);
// String fileName = util.localInit(list, "集团中标", dto.getCombineName().concat("中标业绩清单"), true);
}
/**
* 导出招标业绩
*/
@PostMapping("/export/bid")
@PreAuthorize("@ss.hasPermi('combine:info:export:bid')")
public void exportBid(@RequestBody JskCombineSearchDto dto, HttpServletResponse response) {
List<JskCombineBidProjectExportVo> list = baseService.exportBid(dto);
ExcelUtil<JskCombineBidProjectExportVo> util = new ExcelUtil<>(JskCombineBidProjectExportVo.class);
util.exportExcel(response, list, "集团招标", dto.getCombineName().concat("招标公告清单"), true);
} }
} }
...@@ -459,6 +459,32 @@ public class ExcelUtil<T> { ...@@ -459,6 +459,32 @@ public class ExcelUtil<T> {
exportExcel(response); exportExcel(response);
} }
private static final String FILE_PATH = "D://";
/**
* 本地初始化
*
* @param list 数据列表
* @param sheetName sheet名称
* @param title 标题
* @param dateStatus 是否添加导出时间
* @return
*/
public String localInit( List<T> list, String sheetName, String title, boolean dateStatus) {
String fileName = title + "-" + System.currentTimeMillis() + ".xlsx";
this.init(list, sheetName, title, Excel.Type.EXPORT, dateStatus);
writeSheet();
try (FileOutputStream fileOutputStream = new FileOutputStream(FILE_PATH.concat(fileName))){
wb.write(fileOutputStream);
return fileName;
} catch (Exception e) {
log.error("导出Excel异常{}", e.getMessage());
} finally {
IOUtils.closeQuietly(wb);
}
return null;
}
/** /**
* 对list数据源将其里面的数据导入到excel表单 * 对list数据源将其里面的数据导入到excel表单
* *
......
package com.dsk.system.domain.dsk.vo;
import com.dsk.common.annotation.Excel;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 集团中标业绩
* @author lcl
* @create 2023/8/28
*/
@Data
public class JskCombineBidProjectExportVo implements Serializable {
@Excel(name = "序号", width = 6)
private Integer id;
@Excel(name = "招标发布时间", width = 15, dateFormat = "yyyy/MM/dd")
private Date bidTime;
@Excel(name = "招标成员", width = 30)
private String companyName;
@Excel(name = "持股比例", suffix = "%" , width = 15)
private Double stockPercent;
@Excel(name = "成员等级", width = 15)
private String memberLevel;
@Excel(name = "项目名称", width = 50)
private String projectName;
@Excel(name = "预算金额" , suffix = "万元")
private Double bidAmount;
@Excel(name = "项目地区", width = 20)
private String address;
@Excel(name = "招标采购分类", width = 15)
private String bidType;
@Excel(name = "项目类型", width = 15)
private String projectType;
@Excel(name = "代理单位", width = 30)
private String projectUnit;
}
...@@ -10,6 +10,7 @@ import com.dsk.common.exception.ServiceException; ...@@ -10,6 +10,7 @@ import com.dsk.common.exception.ServiceException;
import com.dsk.common.utils.DskOpenApiUtil; import com.dsk.common.utils.DskOpenApiUtil;
import com.dsk.system.domain.dsk.dto.JskCombineCertificateDto; import com.dsk.system.domain.dsk.dto.JskCombineCertificateDto;
import com.dsk.system.domain.dsk.dto.JskCombineSearchDto; import com.dsk.system.domain.dsk.dto.JskCombineSearchDto;
import com.dsk.system.domain.dsk.vo.JskCombineBidProjectExportVo;
import com.dsk.system.domain.dsk.vo.JskCombineWinBidProjectExportVo; import com.dsk.system.domain.dsk.vo.JskCombineWinBidProjectExportVo;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.MapUtils; import org.apache.commons.collections4.MapUtils;
...@@ -146,13 +147,10 @@ public class JskCombineInfoService { ...@@ -146,13 +147,10 @@ public class JskCombineInfoService {
if (dto.getPageSize() > 2000) dto.setPageSize(2000); if (dto.getPageSize() > 2000) dto.setPageSize(2000);
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/combine/businessList", BeanUtil.beanToMap(dto, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/combine/businessList", BeanUtil.beanToMap(dto, false, false));
;
if (ObjectUtils.isEmpty(map.get("data"))) throw new ServiceException("导出失败,系统错误!"); if (ObjectUtils.isEmpty(map.get("data"))) throw new ServiceException("导出失败,系统错误!");
Map<String, Object> data = BeanUtil.beanToMap(map.get("data")); Map<String, Object> data = BeanUtil.beanToMap(map.get("data"));
if (ObjectUtils.isEmpty(data.get("list"))) throw new ServiceException("导出失败,系统错误!"); if (ObjectUtils.isEmpty(data.get("list"))) throw new ServiceException("导出失败,系统错误!");
List<Map<String, Object>> list = (List<Map<String, Object>>) data.get("list"); List<Map<String, Object>> list = (List<Map<String, Object>>) data.get("list");
if (ObjectUtils.isEmpty(list)) throw new ServiceException("导出失败,无数据导出!"); if (ObjectUtils.isEmpty(list)) throw new ServiceException("导出失败,无数据导出!");
List<JskCombineWinBidProjectExportVo> result = new ArrayList<>(); List<JskCombineWinBidProjectExportVo> result = new ArrayList<>();
...@@ -175,4 +173,33 @@ public class JskCombineInfoService { ...@@ -175,4 +173,33 @@ public class JskCombineInfoService {
} }
public List<JskCombineBidProjectExportVo> exportBid(JskCombineSearchDto dto) {
if (ObjectUtils.isEmpty(dto.getPageSize())) throw new ServiceException("导出条数不能为空!");
if (dto.getPageSize() > 2000) dto.setPageSize(2000);
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/combine/businessList", BeanUtil.beanToMap(dto, false, false));
if (ObjectUtils.isEmpty(map.get("data"))) throw new ServiceException("导出失败,系统错误!");
Map<String, Object> data = BeanUtil.beanToMap(map.get("data"));
if (ObjectUtils.isEmpty(data.get("list"))) throw new ServiceException("导出失败,系统错误!");
List<Map<String, Object>> list = (List<Map<String, Object>>) data.get("list");
if (ObjectUtils.isEmpty(list)) throw new ServiceException("导出失败,无数据导出!");
List<JskCombineBidProjectExportVo> result = new ArrayList<>();
for (int i = 0; i < list.size(); i++) {
JskCombineBidProjectExportVo vo = new JskCombineBidProjectExportVo();
vo.setId(i + 1);
vo.setBidTime(MapUtil.getDate(list.get(i),"bidTime"));
vo.setCompanyName(MapUtil.getStr(list.get(i),"companyName"));
vo.setStockPercent(MapUtil.getDouble(list.get(i),"stockPercent"));
vo.setMemberLevel(MapUtil.getStr(list.get(i),"memberLevel"));
vo.setProjectName(MapUtil.getStr(list.get(i),"projectName"));
vo.setBidAmount(MapUtil.getDouble(list.get(i),"bidAmount"));
vo.setAddress(MapUtil.getStr(list.get(i),"address"));
vo.setBidType(MapUtil.getStr(list.get(i),"boundType"));
vo.setProjectType(MapUtil.getStr(list.get(i),"projectType"));
vo.setProjectUnit(MapUtil.getStr(list.get(i),"projectUnit"));
result.add(vo);
}
return result;
}
} }
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