Commit 9cb4e776 authored by liuChang's avatar liuChang

导出

parent d0baa54b
......@@ -5,6 +5,7 @@ import com.google.api.client.util.SecurityUtils;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.metrics.buffering.BufferingApplicationStartup;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.scheduling.annotation.EnableScheduling;
/**
......@@ -15,6 +16,7 @@ import org.springframework.scheduling.annotation.EnableScheduling;
@SpringBootApplication
@EnableScheduling
@EnableAsync
public class DskOperateSysApplication {
public static void main(String[] args) {
......
......@@ -196,6 +196,7 @@ dsk:
# accessKeyId: aec7b3ff2y2q8x6t49a7e2c463ce21912
# accessKeySecret: ee8a53c7ea04eb3ac311406c8f56f95b
# protocol: https
exportBackUrl: https://szh-test.jiansheku.com/export/backUrl
sa-token:
# 是否允许同一账号并发登录 (为true时允许一起登录, 为false时新登录挤掉旧登录)
......
......@@ -57,7 +57,7 @@ public class SaTokenConfig implements WebMvcConfigurer {
});
})).addPathPatterns("/**")
// 排除不需要拦截的路径
.excludePathPatterns(securityProperties.getExcludes());
.excludePathPatterns(securityProperties.getExcludes()).excludePathPatterns("/export/backUrl");
}
@Bean
......
......@@ -104,6 +104,11 @@ public class EnterpriseController {
return enterpriseService.uipSerach(vo);
}
@PostMapping(value = "/uipSerach/export")
public void uipSerachExport(@RequestBody @Valid EnterpriseUipSearchBody vo) throws Exception {
enterpriseService.uipSerachExport(vo);
}
@PostMapping(value = "uipGroupData")
public R financial() throws Exception {
return enterpriseService.uipGroupData();
......
package com.dsk.jsk.controller;
import cn.hutool.json.JSONObject;
import com.dsk.common.core.domain.AjaxResult;
import com.dsk.system.service.ISysUserFileRecordService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @author lc
* @date 2023/11/14 14:15
*/
@RestController
@RequestMapping("/export")
public class ExportController {
@Autowired
private ISysUserFileRecordService sysUserFileRecordService;
/**
* 导出回调接口
* @param object
* @return
*/
@PostMapping(value = "/backUrl")
public AjaxResult exportBack(@RequestBody JSONObject object) {
return sysUserFileRecordService.exportBack(object);
}
}
......@@ -53,10 +53,18 @@ public class JskCombineInfoController extends BaseController {
* 集团成员列表
*/
@PostMapping("/memberList")
public TableDataInfo memberList(@RequestBody JskCombineSearchDto dto) throws Exception {
public AjaxResult memberList(@RequestBody JskCombineSearchDto dto) throws Exception {
return baseService.memberList(dto);
}
/**
* 集团成员列表导出
*/
@PostMapping("/memberList/export")
public void memberListExportPre(@RequestBody JskCombineSearchDto dto) throws Exception {
baseService.memberListExport(dto);
}
/**
* 分组成员数量
*/
......@@ -165,30 +173,48 @@ public class JskCombineInfoController extends BaseController {
/**
* 导出中标业绩
*/
@PostMapping("/export/win/bid")
// @PostMapping("/export/win/bid")
// @SaCheckPermission("combine:info:export:win:bid")
// public R<SysOssVo> exportWinBid(@RequestBody JskCombineSearchDto dto) {
// List<JskCombineWinBidProjectExportVo> list = baseService.exportWinBid(dto);
// String title = dto.getCombineName().concat("中标业绩清单");
// ExcelUtils<JskCombineWinBidProjectExportVo> util = new ExcelUtils<>(JskCombineWinBidProjectExportVo.class);
// ByteArrayOutputStream ba = util.exportExcel(list, "集团中标", title, true);
// return uploadComponent.upload(title, ba, Constants.SUFFIX_XLSX, Constants.CONTENT_TYPE_XLSX);
// }
//集团中标业绩导出count
@PostMapping("/export/win/bid/pre")
@SaCheckPermission("combine:info:export:win:bid")
public R<SysOssVo> exportWinBid(@RequestBody JskCombineSearchDto dto) {
List<JskCombineWinBidProjectExportVo> list = baseService.exportWinBid(dto);
String title = dto.getCombineName().concat("中标业绩清单");
ExcelUtils<JskCombineWinBidProjectExportVo> util = new ExcelUtils<>(JskCombineWinBidProjectExportVo.class);
ByteArrayOutputStream ba = util.exportExcel(list, "集团中标", title, true);
return uploadComponent.upload(title, ba, Constants.SUFFIX_XLSX, Constants.CONTENT_TYPE_XLSX);
public AjaxResult exportWinBidPre(@RequestBody JskCombineSearchDto dto) {
return baseService.exportWinBidPre(dto);
}
/**
* 导出招标业绩
*/
//集团中标业绩导出
@PostMapping("/export/win/bid")
@SaCheckPermission("combine:info:export:win:bid")
public void exportWinBid(@RequestBody JskCombineSearchDto dto) {
baseService.exportWinBid(dto);
}
// /**
// * 导出招标业绩
// */
// @PostMapping("/export/bid")
// @SaCheckPermission("combine:info:export:bid")
// public R<SysOssVo> exportBid(@RequestBody JskCombineBidPageDto dto) {
// List<JskCombineBidProjectExportVo> list = baseService.exportBid(dto);
// String title = dto.getCombineName().concat("招标公告清单");
// ExcelUtils<JskCombineBidProjectExportVo> util = new ExcelUtils<>(JskCombineBidProjectExportVo.class);
// ByteArrayOutputStream ba = util.exportExcel(list, "集团招标", title, true);
// return uploadComponent.upload(title, ba, Constants.SUFFIX_XLSX, Constants.CONTENT_TYPE_XLSX);
// }
//集团招标业绩导出
@PostMapping("/export/bid")
@SaCheckPermission("combine:info:export:bid")
public R<SysOssVo> exportBid(@RequestBody JskCombineBidPageDto dto) {
List<JskCombineBidProjectExportVo> list = baseService.exportBid(dto);
String title = dto.getCombineName().concat("招标公告清单");
ExcelUtils<JskCombineBidProjectExportVo> util = new ExcelUtils<>(JskCombineBidProjectExportVo.class);
ByteArrayOutputStream ba = util.exportExcel(list, "集团招标", title, true);
return uploadComponent.upload(title, ba, Constants.SUFFIX_XLSX, Constants.CONTENT_TYPE_XLSX);
@SaCheckPermission("combine:info:export:win:bid")
public void exportBid(@RequestBody JskCombineSearchDto dto) {
baseService.exportBid(dto);
}
/**
* 集团招标分页列表
*/
......
......@@ -56,4 +56,14 @@ public class UrbanInvestmentPlatformController {
public AjaxResult statistics(@RequestBody UrbanInvestmentPlatformDto dto) {
return urbanInvestmentPlatformService.statistics(dto);
}
@PostMapping("/export/pre")
public AjaxResult exportPre(@RequestBody UrbanInvestmentPlatformDto dto) {
return urbanInvestmentPlatformService.esportPre(dto);
}
@PostMapping("/export")
public void export(@RequestBody UrbanInvestmentPlatformDto dto) {
urbanInvestmentPlatformService.export(dto);
}
}
......@@ -64,4 +64,9 @@ public class EnterpriseUipSearchBody extends BasePage {
*/
private List<String> equityRelationship;
/**
* 导出名称
*/
private String exportExeclName;
}
......@@ -109,4 +109,12 @@ public class JskCombineSearchDto implements Serializable {
*/
private String orderType;
private Integer exportCount;
private String exportExeclName;
private String exportBackUrl;
private String exportUniqueCode;
}
......@@ -77,4 +77,8 @@ public class UrbanInvestmentPlatformDto extends BasePage {
* 含下属区:1 本级:2
*/
private Integer type =1;
/**
* 导出文档名称
*/
private String exportExeclName;
}
package com.dsk.jsk.domain.vo;
import com.dsk.common.annotation.Excel;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 城投企业
* @author lc
* @create 2023/11/13
*/
@Data
public class UrbanInvestmentExportVo implements Serializable {
@Excel(name = "序号", width = 6)
private Integer id;
@Excel(name = "公司名称", width = 15)
private String companyName;
@Excel(name = "区域", width = 15)
private String domicile;
@Excel(name = "招标数量", width = 10)
private Integer biddingCount;
@Excel(name = "城投拿地", width = 10)
private Integer landInfoCount;
@Excel(name = "供应商", width = 10)
private Integer supplierCount;
@Excel(name = "债卷余额" , suffix = "亿元")
private Double creditBalance;
@Excel(name = "主体评级", width = 15)
private String bratingSubjectLevel;
@Excel(name = "行政级别", width = 15)
private String uipExecutiveLevel;
@Excel(name = "股东背景", width = 15)
private String shareholderBg;
@Excel(name = "股权关系", width = 15)
private String equityRelationship;
@Excel(name = "平台重要性", width = 15)
private String platformImportance;
@Excel(name = "城投业务类型", width = 15)
private String uipBusinessType;
@Excel(name = "实控人", width = 15)
private String actualController;
@Excel(name = "最新报告期", width = 15, dateFormat = "yyyy/MM/dd")
private Date latestReportPeriod;
@Excel(name = "总资产" , suffix = "亿元")
private Double totalAssets;
@Excel(name = "归母净资产" , suffix = "亿元")
private Double belongNetAssets;
}
......@@ -6,13 +6,18 @@ import cn.hutool.core.util.ObjectUtil;
import com.dsk.acc.openapi.client.util.CommonUtils;
import com.dsk.biz.domain.vo.CustomerStatusListVo;
import com.dsk.biz.service.ICustomerService;
import com.dsk.biz.utils.ExcelUtils;
import com.dsk.common.constant.CacheConstants;
import com.dsk.common.constant.Constants;
import com.dsk.common.core.domain.R;
import com.dsk.common.core.page.TableDataInfo;
import com.dsk.common.utils.DskOpenApiUtil;
import com.dsk.common.utils.EncodeIdUtil;
import com.dsk.common.utils.redis.RedisUtils;
import com.dsk.component.UploadComponent;
import com.dsk.jsk.domain.*;
import com.dsk.jsk.domain.bo.UrbanInvestmentPlatformDto;
import com.dsk.jsk.domain.vo.UrbanInvestmentExportVo;
import com.dsk.search.service.BusinessOpportunityRadarService;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.collections4.MapUtils;
......@@ -20,9 +25,11 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
import java.io.ByteArrayOutputStream;
import java.time.Duration;
import java.util.*;
......@@ -43,6 +50,8 @@ public class EnterpriseService {
@Autowired
ICustomerService iCustomerService;
@Autowired
private UploadComponent uploadComponent;
public R label(EnterpriseInfoLabelBody body) throws Exception {
List<Map<String, Object>> mapList = new ArrayList<>();
......@@ -360,6 +369,79 @@ public class EnterpriseService {
return new TableDataInfo(list, MapUtils.getInteger(data, "totalCount", 0));
}
@Async
public void uipSerachExport(EnterpriseUipSearchBody pageDto) {
// 分页参数
pageDto.setPageNum(1);
if (null==pageDto.getPageSize()||pageDto.getPageSize()>=2000){
pageDto.setPageSize(2000);
}
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/export/search/urbanInvestment", BeanUtil.beanToMap(pageDto, false, false));
Integer code = MapUtils.getInteger(map, "code", 300);
if (HttpStatus.OK.value() != code) {
throw new RuntimeException();
}
List<Object> list = CommonUtils.assertAsArray(MapUtils.getObject(map, "data", ""));
int i = 0;
List<UrbanInvestmentExportVo> resultList = new ArrayList<>();
for (Object obj : list) {
UrbanInvestmentExportVo vo = new UrbanInvestmentExportVo();
Map<String, Object> dataMap = CommonUtils.assertAsMap(obj);
vo.setId(i++);
vo.setCompanyName(MapUtil.getStr(dataMap, "companyName"));
StringBuilder domicile = new StringBuilder();
if (null != dataMap.get("province")) {
domicile.append(MapUtil.getStr(dataMap,"province"));
}
if (null != dataMap.get("city")) {
domicile.append(MapUtil.getStr(dataMap,"city"));
}
if (null != dataMap.get("area")) {
domicile.append(MapUtil.getStr(dataMap,"area"));
}
if (domicile.length()>0){
vo.setDomicile(domicile.toString());
}
//招标数量
vo.setBiddingCount(MapUtil.getInt(dataMap, "biddingCount"));
//城投拿地
vo.setLandInfoCount(MapUtil.getInt(dataMap, "landInfoCount"));
//供应商
vo.setSupplierCount(MapUtil.getInt(dataMap, "supplierCount"));
//债卷余额
vo.setCreditBalance(MapUtil.getDouble(dataMap, "creditBalance"));
//主体评级
vo.setBratingSubjectLevel(MapUtil.getStr(dataMap, "bratingSubjectLevel"));
//行政级别
vo.setUipExecutiveLevel(MapUtil.getStr(dataMap, "uipExecutiveLevel"));
//股东背景
vo.setShareholderBg(MapUtil.getStr(dataMap, "shareholderBg"));
//股权关系
vo.setEquityRelationship(MapUtil.getStr(dataMap, "equityRelationship"));
//平台重要性
vo.setPlatformImportance(MapUtil.getStr(dataMap, "platformImportance"));
//城投业务类型
vo.setUipBusinessType(MapUtil.getStr(dataMap, "uipBusinessType"));
//实控人
vo.setActualController(MapUtil.getStr(dataMap, "actualController"));
//最新报告期
vo.setLatestReportPeriod(MapUtil.getDate(dataMap, "latestReportPeriod"));
//总资产
vo.setTotalAssets(MapUtil.getDouble(dataMap, "totalAssets"));
//归母净资产
vo.setBelongNetAssets(MapUtil.getDouble(dataMap, "belongNetAssets"));
resultList.add(vo);
}
String title = "查城投平台导出明细";
if (null!=pageDto.getExportExeclName()){
title = pageDto.getExportExeclName();
}
ExcelUtils<UrbanInvestmentExportVo> util = new ExcelUtils<>(UrbanInvestmentExportVo.class);
ByteArrayOutputStream ba = util.exportExcel(resultList, "查城投平台", title, true);
uploadComponent.upload(title, ba, Constants.SUFFIX_XLSX, Constants.CONTENT_TYPE_XLSX);
}
public static void main(String[] args) {
String str = String.format("%1$.2f", 0.0456);
System.out.println(str);
......
......@@ -38,4 +38,18 @@ public interface UrbanInvestmentPlatformService {
*@date: 2023/5/18 10:29
*/
AjaxResult statistics(UrbanInvestmentPlatformDto pageDto);
/**
* 城投企业导出count查询
* @param pageDto
* @return
*/
AjaxResult esportPre(UrbanInvestmentPlatformDto pageDto);
/**
* 城投企业导出
* @param pageDto
* @return
*/
void export(UrbanInvestmentPlatformDto pageDto);
}
package com.dsk.jsk.service.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.ObjectUtil;
import com.dsk.acc.openapi.client.util.CommonUtils;
import com.dsk.biz.domain.vo.CustomerStatusListVo;
import com.dsk.biz.service.ICustomerService;
import com.dsk.biz.utils.ExcelUtils;
import com.dsk.common.constant.Constants;
import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.utils.DskOpenApiUtil;
import com.dsk.component.UploadComponent;
import com.dsk.jsk.domain.bo.UrbanInvestmentPlatformDto;
import com.dsk.jsk.domain.vo.ImportantProjectExportVo;
import com.dsk.jsk.domain.vo.UrbanInvestmentExportVo;
import com.dsk.jsk.service.service.UrbanInvestmentPlatformService;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.collections4.MapUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import java.io.ByteArrayOutputStream;
import java.util.*;
/**
......@@ -32,6 +40,8 @@ public class UrbanInvestmentPlatformServiceImpl implements UrbanInvestmentPlatfo
@Autowired
private ICustomerService iCustomerService;
@Autowired
private UploadComponent uploadComponent;
@Override
public AjaxResult page(UrbanInvestmentPlatformDto pageDto) {
......@@ -123,4 +133,94 @@ public class UrbanInvestmentPlatformServiceImpl implements UrbanInvestmentPlatfo
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/urbanInvestment/statistics", BeanUtil.beanToMap(dto, false, false));
return BeanUtil.toBean(map, AjaxResult.class);
}
@Override
public AjaxResult esportPre(UrbanInvestmentPlatformDto pageDto) {
pageDto.setPageNum(1);
pageDto.setPageSize(0);
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/urbanInvestment/page", BeanUtil.beanToMap(pageDto, false, false));
Integer code = MapUtils.getInteger(map, "code", 300);
if (HttpStatus.OK.value() != code) {
throw new RuntimeException();
}
Integer totalCount = MapUtils.getInteger(map, "totalCount");
HashMap<String, Object> resMap = new HashMap<>();
resMap.put("totalCount",totalCount);
return BeanUtil.toBean(resMap, AjaxResult.class);
}
@Override
@Async
public void export(UrbanInvestmentPlatformDto pageDto) {
// 分页参数
pageDto.setPageNum(1);
if (null==pageDto.getPageSize()||pageDto.getPageSize()>=2000){
pageDto.setPageSize(2000);
}
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/export/urbanInvestment", BeanUtil.beanToMap(pageDto, false, false));
Integer code = MapUtils.getInteger(map, "code", 300);
if (HttpStatus.OK.value() != code) {
throw new RuntimeException();
}
List<Object> list = CommonUtils.assertAsArray(MapUtils.getObject(map, "data", ""));
int i = 0;
List<UrbanInvestmentExportVo> resultList = new ArrayList<>();
for (Object obj : list) {
UrbanInvestmentExportVo vo = new UrbanInvestmentExportVo();
Map<String, Object> dataMap = CommonUtils.assertAsMap(obj);
vo.setId(i++);
vo.setCompanyName(MapUtil.getStr(dataMap, "companyName"));
StringBuilder domicile = new StringBuilder();
if (null != dataMap.get("province")) {
domicile.append(MapUtil.getStr(dataMap,"province"));
}
if (null != dataMap.get("city")) {
domicile.append(MapUtil.getStr(dataMap,"city"));
}
if (null != dataMap.get("area")) {
domicile.append(MapUtil.getStr(dataMap,"area"));
}
if (domicile.length()>0){
vo.setDomicile(domicile.toString());
}
//招标数量
vo.setBiddingCount(MapUtil.getInt(dataMap, "biddingCount"));
//城投拿地
vo.setLandInfoCount(MapUtil.getInt(dataMap, "landInfoCount"));
//供应商
vo.setSupplierCount(MapUtil.getInt(dataMap, "supplierCount"));
//债卷余额
vo.setCreditBalance(MapUtil.getDouble(dataMap, "creditBalance"));
//主体评级
vo.setBratingSubjectLevel(MapUtil.getStr(dataMap, "bratingSubjectLevel"));
//行政级别
vo.setUipExecutiveLevel(MapUtil.getStr(dataMap, "uipExecutiveLevel"));
//股东背景
vo.setShareholderBg(MapUtil.getStr(dataMap, "shareholderBg"));
//股权关系
vo.setEquityRelationship(MapUtil.getStr(dataMap, "equityRelationship"));
//平台重要性
vo.setPlatformImportance(MapUtil.getStr(dataMap, "platformImportance"));
//城投业务类型
vo.setUipBusinessType(MapUtil.getStr(dataMap, "uipBusinessType"));
//实控人
vo.setActualController(MapUtil.getStr(dataMap, "actualController"));
//最新报告期
vo.setLatestReportPeriod(MapUtil.getDate(dataMap, "latestReportPeriod"));
//总资产
vo.setTotalAssets(MapUtil.getDouble(dataMap, "totalAssets"));
//归母净资产
vo.setBelongNetAssets(MapUtil.getDouble(dataMap, "belongNetAssets"));
resultList.add(vo);
}
String title = "城投平台导出明细";
if (null!=pageDto.getExportExeclName()){
title = pageDto.getExportExeclName();
}
ExcelUtils<UrbanInvestmentExportVo> util = new ExcelUtils<>(UrbanInvestmentExportVo.class);
ByteArrayOutputStream ba = util.exportExcel(resultList, "城投平台", title, true);
uploadComponent.upload(title, ba, Constants.SUFFIX_XLSX, Constants.CONTENT_TYPE_XLSX);
}
}
......@@ -6,6 +6,7 @@ import com.dsk.biz.utils.ExcelUtils;
import com.dsk.common.constant.Constants;
import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.core.domain.R;
import com.dsk.common.utils.StringUtils;
import com.dsk.common.utils.poi.ExcelUtil;
import com.dsk.component.UploadComponent;
import com.dsk.jsk.domain.bo.ComposeQueryDto;
......@@ -188,17 +189,37 @@ public class BusinessOpportunityRadarController {
return opportunityRadarService.importantCondition();
}
/**
* 导出重点项目清单
// /**
// * 导出重点项目清单
// */
// @RequestMapping("/export/important")
// @SaCheckPermission("radar:export:important")
// public R<SysOssVo> exportBid(@RequestBody JSONObject object, HttpServletResponse response) {
// List<ImportantProjectExportVo> list = opportunityRadarService.exportImportant(object);
// String title = "重点项目导出明细";
// ExcelUtils<ImportantProjectExportVo> util = new ExcelUtils<>(ImportantProjectExportVo.class);
// ByteArrayOutputStream ba = util.exportExcel(list, "重点项目", title, true);
// return uploadComponent.upload(title, ba, Constants.SUFFIX_XLSX, Constants.CONTENT_TYPE_XLSX);
// }
/*
* 重点项目清单导出count
*/
@RequestMapping("important/export/pre")
public AjaxResult exportImportantPre(@RequestBody JSONObject object) {
return opportunityRadarService.importantExportPre(object);
}
/*
* 重点项目清单导出
*/
@RequestMapping("/export/important")
@SaCheckPermission("radar:export:important")
public R<SysOssVo> exportBid(@RequestBody JSONObject object, HttpServletResponse response) {
List<ImportantProjectExportVo> list = opportunityRadarService.exportImportant(object);
String title = "重点项目导出明细";
ExcelUtils<ImportantProjectExportVo> util = new ExcelUtils<>(ImportantProjectExportVo.class);
ByteArrayOutputStream ba = util.exportExcel(list, "重点项目", title, true);
return uploadComponent.upload(title, ba, Constants.SUFFIX_XLSX, Constants.CONTENT_TYPE_XLSX);
@RequestMapping("important/export")
public void exportImportant(@RequestBody JSONObject object) {
ComposeQueryDto compose = JSONObject.parseObject(object.toJSONString(), ComposeQueryDto.class);
if (StringUtils.isEmpty(compose.getExportExeclName())){
object.put("exportExeclName","重点项目导出");
}
opportunityRadarService.importantExport(object);
}
/*
......
......@@ -2,6 +2,7 @@ package com.dsk.search.controller;
import com.alibaba.fastjson2.JSONObject;
import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.utils.StringUtils;
import com.dsk.jsk.domain.bo.ComposeQueryDto;
import com.dsk.search.service.BusinessOpportunityRadarService;
import org.springframework.web.bind.annotation.*;
......@@ -54,6 +55,46 @@ public class CompanySearchController {
return opportunityRadarService.enterprisePage(object);
}
/*
* 企业基本信息表导出count
*/
@PostMapping("/info/export/pre")
public AjaxResult enterpriseInfoExportPre(@RequestBody JSONObject object) {
return opportunityRadarService.enterpriseInfoExportPre(object);
}
/*
* 企业基本信息表导出
*/
@PostMapping("/info/export")
public void enterpriseInfoExport(@RequestBody JSONObject object) {
ComposeQueryDto compose = JSONObject.parseObject(object.toJSONString(), ComposeQueryDto.class);
if (StringUtils.isEmpty(compose.getExportExeclName())){
object.put("exportExeclName","企业基本信息导出");
}
opportunityRadarService.enterpriseInfoExport(object);
}
/*
* 企业资质表导出count
*/
@PostMapping("/aptitude/export/pre")
public AjaxResult enterpriseAptitudeExportPre(@RequestBody JSONObject object) {
return opportunityRadarService.enterpriseAptitudeExportPre(object);
}
/*
* 企业资质表导出
*/
@PostMapping("/aptitude/export")
public void enterpriseAptitudeExport(@RequestBody JSONObject object) {
ComposeQueryDto compose = JSONObject.parseObject(object.toJSONString(), ComposeQueryDto.class);
if (StringUtils.isEmpty(compose.getExportExeclName())){
object.put("exportExeclName","企业资质信息导出");
}
opportunityRadarService.enterpriseAptitudeExport(object);
}
/*
* 查业主单位
*/
......
......@@ -15,9 +15,13 @@ import com.dsk.common.utils.DskOpenApiUtil;
import com.dsk.common.utils.StringUtils;
import com.dsk.jsk.domain.vo.ImportantProjectExportVo;
import com.dsk.jsk.service.EnterpriseService;
import com.dsk.system.domain.SysUserFileRecord;
import com.dsk.system.service.ISysUserFileRecordService;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.collections4.MapUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
......@@ -42,6 +46,11 @@ public class BusinessOpportunityRadarService {
@Autowired
private EnterpriseService enterpriseService;
@Autowired
private ISysUserFileRecordService sysUserFileRecordService;
@Value("${dsk.exportBackUrl}")
private String EXPORT_BACK_URL;
public AjaxResult jskBidNewsPage(JSONObject object) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/jskBid/news/page", object);
......@@ -83,6 +92,46 @@ public class BusinessOpportunityRadarService {
return BeanUtil.toBean(map, AjaxResult.class);
}
public AjaxResult enterpriseInfoExportPre(JSONObject object) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/count/enterprise", object);
return BeanUtil.toBean(map, AjaxResult.class);
}
@Async
public void enterpriseInfoExport(JSONObject object) {
SysUserFileRecord fileRecord = new SysUserFileRecord();
fileRecord.setFileName(object.get("exportExeclName").toString());
fileRecord.setType(1);
//生成中
fileRecord.setStatus(2);
fileRecord.setRemark("企业基本信息导出");
Long fileId = sysUserFileRecordService.exportAdd(fileRecord);
object.put("exportUniqueCode",fileId);
//回调函数
object.put("exportBackUrl",EXPORT_BACK_URL);
dskOpenApiUtil.requestBody("/operate/export/enterprise", object);
}
public AjaxResult enterpriseAptitudeExportPre(JSONObject object) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/count/enterprise", object);
return BeanUtil.toBean(map, AjaxResult.class);
}
@Async
public void enterpriseAptitudeExport(JSONObject object) {
SysUserFileRecord fileRecord = new SysUserFileRecord();
fileRecord.setFileName(object.get("exportExeclName").toString());
fileRecord.setType(1);
//生成中
fileRecord.setStatus(2);
fileRecord.setRemark("企业资质信息导出");
Long fileId = sysUserFileRecordService.exportAdd(fileRecord);
object.put("exportUniqueCode",fileId);
//回调函数
object.put("exportBackUrl",EXPORT_BACK_URL);
dskOpenApiUtil.requestBody("/operate/export/aptitude", object);
}
public AjaxResult bossCompany(JSONObject object) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/enterprice/bossCompany", object);
......@@ -180,6 +229,27 @@ public class BusinessOpportunityRadarService {
return BeanUtil.toBean(map, AjaxResult.class);
}
public AjaxResult importantExportPre(JSONObject object) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/count/important", object);
return BeanUtil.toBean(map, AjaxResult.class);
}
@Async
public void importantExport(JSONObject object) {
SysUserFileRecord fileRecord = new SysUserFileRecord();
fileRecord.setFileName(object.get("exportExeclName").toString());
fileRecord.setType(1);
//生成中
fileRecord.setStatus(2);
fileRecord.setRemark("重点项目清单导出");
Long fileId = sysUserFileRecordService.exportAdd(fileRecord);
object.put("exportUniqueCode",fileId);
//回调函数
object.put("exportBackUrl",EXPORT_BACK_URL);
dskOpenApiUtil.requestBody("/operate/export/important", object);
}
public List<ImportantProjectExportVo> exportImportant(JSONObject object) {
if (ObjectUtil.isEmpty(object.get("page"))) {
throw new ServiceException("导出条数不能为空!");
......
package com.dsk.system.service;
import cn.hutool.json.JSONObject;
import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.core.domain.PageQuery;
import com.dsk.common.core.page.TableDataInfo;
import com.dsk.system.domain.SysUserFileRecord;
......@@ -13,4 +16,8 @@ public interface ISysUserFileRecordService {
TableDataInfo<SysUserFileRecord> userList(PageQuery page);
boolean add(SysUserFileRecord bean);
Long exportAdd(SysUserFileRecord bean);
AjaxResult exportBack(JSONObject object);
}
......@@ -3,10 +3,13 @@ package com.dsk.system.service.impl;
import cn.hutool.core.bean.BeanException;
import cn.hutool.core.date.DateField;
import cn.hutool.core.date.DateUtil;
import cn.hutool.json.JSONObject;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.core.domain.PageQuery;
import com.dsk.common.core.page.TableDataInfo;
import com.dsk.common.helper.LoginHelper;
import com.dsk.common.utils.JsonUtils;
import com.dsk.system.domain.SysUserFileRecord;
import com.dsk.system.mapper.SysUserFileRecordMapper;
import com.dsk.system.service.ISysUserFileRecordService;
......@@ -57,4 +60,25 @@ public class SysUserFileRecordServiceImpl implements ISysUserFileRecordService
if(ObjectUtils.isEmpty(bean.getType())) throw new BeanException("文件类型不能为空!");
bean.setUserId(LoginHelper.getUserId());
}
@Override
public Long exportAdd(SysUserFileRecord fileRecord){
fileRecord.setUserId(LoginHelper.getUserId());
baseMapper.insert(fileRecord);
return fileRecord.getId();
}
@Override
public AjaxResult exportBack(JSONObject object) {
if (object==null||object.get("url")==null||object.get("uniqueCode")==null){
return AjaxResult.error("回调参数异常:"+object.toString());
}
SysUserFileRecord fileRecord = new SysUserFileRecord();
fileRecord.setId((Long) object.get("uniqueCode"));
fileRecord.setUrl(object.get("url").toString());
fileRecord.setType(0);
baseMapper.updateById(fileRecord);
log.info("导出回调成功:"+object.toString());
return AjaxResult.success();
}
}
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