Commit e84fbba4 authored by lcl's avatar lcl

add data export

parent b6a7c074
package com.dsk.web.controller.dsk; package com.dsk.web.controller.dsk;
import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson2.JSONObject; import com.alibaba.fastjson2.JSONObject;
import com.dsk.common.core.controller.BaseController; import com.dsk.common.core.controller.BaseController;
import com.dsk.common.core.domain.AjaxResult; import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.core.domain.R; import com.dsk.common.core.domain.R;
import com.dsk.common.core.page.TableDataInfo; import com.dsk.common.core.page.TableDataInfo;
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.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.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -15,6 +18,11 @@ import org.springframework.web.bind.annotation.RequestBody; ...@@ -15,6 +18,11 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletResponse;
import java.util.Date;
import java.util.List;
import java.util.Map;
/** /**
* 集团户相关信息 * 集团户相关信息
* @author lcl * @author lcl
...@@ -138,4 +146,15 @@ public class JskCombineInfoController extends BaseController { ...@@ -138,4 +146,15 @@ public class JskCombineInfoController extends BaseController {
public AjaxResult centralEnterprseSocialPage(@RequestBody JSONObject object) { public AjaxResult centralEnterprseSocialPage(@RequestBody JSONObject object) {
return baseService.centralEnterprseSocialPage(object); return baseService.centralEnterprseSocialPage(object);
} }
/**
* 导出中标业绩
*/
@PostMapping("/export/win/bid")
public void exportWinBid(@RequestBody JskCombineSearchDto dto, HttpServletResponse response) {
List<JskCombineWinBidProjectExportVo> list = baseService.exportWinBid(dto);
ExcelUtil<JskCombineWinBidProjectExportVo> util = new ExcelUtil<>(JskCombineWinBidProjectExportVo.class);
util.exportExcel(response, list, "集团中标", dto.getCombineName().concat("中标业绩清单"),true);
}
} }
...@@ -20,6 +20,10 @@ public class JskCombineSearchDto implements Serializable { ...@@ -20,6 +20,10 @@ public class JskCombineSearchDto implements Serializable {
*/ */
@NotNull(message = "集团id不能为空!") @NotNull(message = "集团id不能为空!")
private String combineId; private String combineId;
/**
* 集团名称
*/
private String combineName;
/** /**
* 筛选参数 * 筛选参数
*/ */
......
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 JskCombineWinBidProjectExportVo 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 boundType;
@Excel(name = "项目类型", width = 15)
private String projectType;
@Excel(name = "业主单位", width = 30)
private String projectUnit;
}
package com.dsk.system.dskService; package com.dsk.system.dskService;
import cn.hutool.core.bean.BeanException;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.map.MapUtil;
import com.alibaba.fastjson2.JSONObject; import com.alibaba.fastjson2.JSONObject;
import com.dsk.common.core.domain.AjaxResult; import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.core.domain.R; import com.dsk.common.core.domain.R;
import com.dsk.common.core.page.TableDataInfo; import com.dsk.common.core.page.TableDataInfo;
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.JskCombineWinBidProjectExportVo;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.MapUtils; import org.apache.commons.collections4.MapUtils;
import org.apache.ibatis.util.MapUtil;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -81,7 +80,7 @@ public class JskCombineInfoService { ...@@ -81,7 +80,7 @@ public class JskCombineInfoService {
return dskOpenApiUtil.responsePage(map); return dskOpenApiUtil.responsePage(map);
} }
public TableDataInfo menberCertificateList(JskCombineCertificateDto dto)throws Exception { public TableDataInfo menberCertificateList(JskCombineCertificateDto dto) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/combine/member/certificateList", BeanUtil.beanToMap(dto, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/combine/member/certificateList", BeanUtil.beanToMap(dto, false, false));
// if (!ObjectUtils.isEmpty(map.get("data"))) { // if (!ObjectUtils.isEmpty(map.get("data"))) {
// Map<String, Object> data = BeanUtil.beanToMap(map.get("data")); // Map<String, Object> data = BeanUtil.beanToMap(map.get("data"));
...@@ -141,4 +140,39 @@ public class JskCombineInfoService { ...@@ -141,4 +140,39 @@ public class JskCombineInfoService {
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/enterprice/centralEnterprse/social/page", object); Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/enterprice/centralEnterprse/social/page", object);
return BeanUtil.toBean(map, AjaxResult.class); return BeanUtil.toBean(map, AjaxResult.class);
} }
public List<JskCombineWinBidProjectExportVo> exportWinBid(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<JskCombineWinBidProjectExportVo> result = new ArrayList<>();
for (int i = 0; i < list.size(); i++) {
JskCombineWinBidProjectExportVo vo = new JskCombineWinBidProjectExportVo();
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.setBoundType(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