From 41a3760b2af00845309634f755d748548b4e42e9 Mon Sep 17 00:00:00 2001 From: diantu Date: Mon, 13 Feb 2023 21:10:58 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=95=B0=E6=8D=AE=E5=BA=93?= =?UTF-8?q?=E5=AF=BC=E5=87=BA=E6=97=B6=E5=A4=9A=E6=AC=A1response=E5=AF=BC?= =?UTF-8?q?=E8=87=B4=E7=9A=84=E6=8E=A7=E5=88=B6=E5=8F=B0=E6=8A=A5=E9=94=99?= =?UTF-8?q?=E9=97=AE=E9=A2=98=20=E8=BE=BE=E6=A2=A6=E5=85=B3=E9=94=AE?= =?UTF-8?q?=E8=AF=8D=E8=BF=87=E6=BB=A4=20=E6=95=B0=E6=8D=AE=E5=BA=93?= =?UTF-8?q?=E5=AF=BC=E5=87=BACLOB=E6=95=B0=E6=8D=AE=E7=B1=BB=E5=9E=8B?= =?UTF-8?q?=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../doc/db/controller/DatabaseDocController.java | 3 +++ .../doc/db/controller/DbDataViewController.java | 2 +- .../download/ExcelFormatDownloadService.java | 15 +++++++++++---- .../doc/db/service/database/DmServiceImpl.java | 3 +++ 4 files changed, 18 insertions(+), 5 deletions(-) diff --git a/zyplayer-doc-db/src/main/java/com/zyplayer/doc/db/controller/DatabaseDocController.java b/zyplayer-doc-db/src/main/java/com/zyplayer/doc/db/controller/DatabaseDocController.java index 24715ca4..1d3dac2c 100644 --- a/zyplayer-doc-db/src/main/java/com/zyplayer/doc/db/controller/DatabaseDocController.java +++ b/zyplayer-doc-db/src/main/java/com/zyplayer/doc/db/controller/DatabaseDocController.java @@ -189,10 +189,13 @@ public class DatabaseDocController { DatabaseExportVo exportVo = new DatabaseExportVo(columnList, tableList); if (Objects.equals(exportFormat, 1)) { PoiUtil.exportByText(exportVo, response); + return null; } else if (Objects.equals(exportFormat, 2)) { PoiUtil.exportByXlsx(exportVo, response); + return null; } else if (Objects.equals(exportFormat, 3)) { PoiUtil.exportByDocx(dbName, exportVo, response); + return null; } return DocDbResponseJson.error("导出失败:请先选择导出类型"); } catch (Exception e) { diff --git a/zyplayer-doc-db/src/main/java/com/zyplayer/doc/db/controller/DbDataViewController.java b/zyplayer-doc-db/src/main/java/com/zyplayer/doc/db/controller/DbDataViewController.java index 8d7c4066..0603c8f0 100644 --- a/zyplayer-doc-db/src/main/java/com/zyplayer/doc/db/controller/DbDataViewController.java +++ b/zyplayer-doc-db/src/main/java/com/zyplayer/doc/db/controller/DbDataViewController.java @@ -127,7 +127,7 @@ public class DbDataViewController { e.printStackTrace(); return DocDbResponseJson.error("导出失败:" + e.getMessage()); } - return DocDbResponseJson.ok(); + return null; } /** diff --git a/zyplayer-doc-db/src/main/java/com/zyplayer/doc/db/controller/download/ExcelFormatDownloadService.java b/zyplayer-doc-db/src/main/java/com/zyplayer/doc/db/controller/download/ExcelFormatDownloadService.java index d1f33c6b..cb8b7e6f 100644 --- a/zyplayer-doc-db/src/main/java/com/zyplayer/doc/db/controller/download/ExcelFormatDownloadService.java +++ b/zyplayer-doc-db/src/main/java/com/zyplayer/doc/db/controller/download/ExcelFormatDownloadService.java @@ -15,6 +15,7 @@ import com.zyplayer.doc.db.framework.db.mapper.base.ExecuteParam; import com.zyplayer.doc.db.framework.db.mapper.base.ExecuteResult; import com.zyplayer.doc.db.framework.db.mapper.base.ExecuteType; import com.zyplayer.doc.db.framework.db.mapper.base.SqlExecutor; +import com.zyplayer.doc.db.framework.utils.SQLTransformUtils; import com.zyplayer.doc.db.service.common.ExecuteAuthService; import com.zyplayer.doc.db.service.database.DatabaseServiceFactory; import com.zyplayer.doc.db.service.database.DbBaseService; @@ -24,11 +25,11 @@ import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; - import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import java.io.File; import java.net.URLEncoder; +import java.sql.Clob; import java.sql.Timestamp; import java.util.*; import java.util.stream.Collectors; @@ -43,7 +44,7 @@ import java.util.stream.Stream; @Service(FormatDownloadConst.EXCEL) public class ExcelFormatDownloadService implements FormatDownloadService { private static Logger logger = LoggerFactory.getLogger(ExcelFormatDownloadService.class); - + @Resource ExecuteAuthService executeAuthService; @Resource @@ -52,7 +53,7 @@ public class ExcelFormatDownloadService implements FormatDownloadService { BaseDownloadService baseDownloadService; @Resource SqlExecutor sqlExecutor; - + @Override public void download(HttpServletResponse response, DataViewParam param, String[] tableNameArr) throws Exception { DbBaseService dbBaseService = databaseServiceFactory.getDbBaseService(param.getSourceId()); @@ -112,6 +113,12 @@ public class ExcelFormatDownloadService implements FormatDownloadService { downloadDataList.add(new LinkedList() {{ for (TableColumnDescDto columnDto : columnListRetain) { Object data = dataMap.get(columnDto.getName()); + //CLOB类型数据处理 + if(columnDto.getType().equals("CLOB")){ + if(data!=null){ + data = SQLTransformUtils.ClobToString((Clob) data); + } + } // 数据格式处理,不处理有些格式会造成乱码,打不开文件 if (!(data == null || data instanceof Number || data instanceof CharSequence)) { if (data instanceof Timestamp) { @@ -147,7 +154,7 @@ public class ExcelFormatDownloadService implements FormatDownloadService { } } } - + private List> getSheetHeadList(List columnListRetain) { List> sheetHeadList = new ArrayList<>(); for (TableColumnDescDto dataCol : columnListRetain) { diff --git a/zyplayer-doc-db/src/main/java/com/zyplayer/doc/db/service/database/DmServiceImpl.java b/zyplayer-doc-db/src/main/java/com/zyplayer/doc/db/service/database/DmServiceImpl.java index 2fc2ec4d..41104149 100644 --- a/zyplayer-doc-db/src/main/java/com/zyplayer/doc/db/service/database/DmServiceImpl.java +++ b/zyplayer-doc-db/src/main/java/com/zyplayer/doc/db/service/database/DmServiceImpl.java @@ -48,6 +48,9 @@ public class DmServiceImpl extends DbBaseService { if(queryColumnsArray[i].equalsIgnoreCase("IDENTITY")){ queryColumnsArray[i] = "\"IDENTITY\""; } + if(queryColumnsArray[i].equalsIgnoreCase("DOMAIN")){ + queryColumnsArray[i] = "\"DOMAIN\""; + } if(i < queryColumnsArray.length-1){ resultString +=queryColumnsArray[i] + ","; }else{