Selaa lähdekoodia

导出 结束

shiqian 4 vuotta sitten
vanhempi
commit
ec0b9e9c93

+ 38 - 0
boman-api/boman-domain/src/main/java/com.boman.domain/dto/ExportExcelDto.java

@@ -0,0 +1,38 @@
+package com.boman.domain.dto;
+
+import java.util.Map;
+
+/**
+ * @author shiqian
+ * @date 2021年06月10日 09:24
+ **/
+public class ExportExcelDto {
+
+    private String tableName;
+    private Boolean empty;
+    private Map<String, Object> condition;
+
+    public String getTableName() {
+        return tableName;
+    }
+
+    public void setTableName(String tableName) {
+        this.tableName = tableName;
+    }
+
+    public Boolean getEmpty() {
+        return empty;
+    }
+
+    public void setEmpty(Boolean empty) {
+        this.empty = empty;
+    }
+
+    public Map<String, Object> getCondition() {
+        return condition;
+    }
+
+    public void setCondition(Map<String, Object> condition) {
+        this.condition = condition;
+    }
+}

+ 0 - 4
boman-common/boman-common-core/src/main/java/com/boman/common/core/utils/poi/ExcelUtil.java

@@ -136,10 +136,6 @@ public class ExcelUtil<T>
 
     public void initJSONObject(List<Map<String, Object>> list, String sheetName, Type type)
     {
-        if (list == null)
-        {
-            list = new ArrayList<>();
-        }
         this.jsonObjectList = list;
         this.sheetName = sheetName;
         this.type = type;

+ 8 - 11
boman-modules/boman-file/src/main/java/com/boman/file/controller/ExcelController.java

@@ -1,16 +1,13 @@
 package com.boman.file.controller;
 
-import com.alibaba.fastjson.JSONObject;
 import com.boman.common.core.web.domain.AjaxResult;
-import com.boman.domain.dto.ImportExcelDto;
+import com.boman.domain.dto.ExportExcelDto;
 import com.boman.file.service.ISysFileService;
-import com.sun.org.apache.regexp.internal.RE;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
-import java.util.List;
 
 /**
  * @author shiqian
@@ -45,16 +42,16 @@ public class ExcelController {
     /**
      * 功能描述: 通用的导出接口
      *
-     * @param response  response
-     * @param tableName tableName
-     * @param empty     true=>只带表头的excel,不含数据, false=>带数据的excel
-     * @param condition condition
+     * @param response response
+     * @param dto      tableName
+     *                 empty(true=>只带表头的excel,不含数据, false=>带数据的excel)
+     *                 condition 查询条件
      * @return com.boman.common.core.web.domain.AjaxResult
      */
-    @GetMapping("/export")
-    public AjaxResult exportExcelCommon(HttpServletResponse response, String tableName, Boolean empty/*, JSONObject condition*/) {
+    @PostMapping("/export")
+    public AjaxResult exportExcelCommon(HttpServletResponse response, @RequestBody ExportExcelDto dto) {
         try {
-            return fileService.exportExcelCommon(response, tableName, empty/*, condition*/);
+            return fileService.exportExcelCommon(response, dto);
         } catch (Exception e) {
             e.printStackTrace();
         }

+ 6 - 4
boman-modules/boman-file/src/main/java/com/boman/file/service/ISysFileService.java

@@ -2,6 +2,7 @@ package com.boman.file.service;
 
 import com.alibaba.fastjson.JSONObject;
 import com.boman.common.core.web.domain.AjaxResult;
+import com.boman.domain.dto.ExportExcelDto;
 import com.boman.domain.dto.ImportExcelDto;
 import org.springframework.web.multipart.MultipartFile;
 
@@ -53,10 +54,11 @@ public interface ISysFileService
     /**
      * 功能描述: 通用的导出接口
      *
-     * @param response  response
-     * @param tableName tableName
-     * @param empty     true=>只带表头的excel,不含数据, false=>带数据的excel
+     * @param response response
+     * @param dto      tableName
+     *                 empty(true=>只带表头的excel,不含数据, false=>带数据的excel)
+     *                 condition 查询条件
      * @return com.boman.common.core.web.domain.AjaxResult
      */
-    AjaxResult exportExcelCommon(HttpServletResponse response, String tableName, Boolean empty/*, JSONObject condition*/);
+    AjaxResult exportExcelCommon(HttpServletResponse response, ExportExcelDto dto);
 }

+ 12 - 10
boman-modules/boman-file/src/main/java/com/boman/file/service/LocalSysFileServiceImpl.java

@@ -10,6 +10,7 @@ import com.boman.common.redis.service.RedisService;
 import com.boman.domain.GenTable;
 import com.boman.domain.GenTableColumn;
 import com.boman.domain.constant.MaskConstant;
+import com.boman.domain.dto.ExportExcelDto;
 import com.boman.domain.dto.FormDataDto;
 import com.boman.domain.dto.ImportExcelDto;
 import com.boman.file.utils.FileUploadUtils;
@@ -118,15 +119,16 @@ public class LocalSysFileServiceImpl implements ISysFileService
     /**
      * 功能描述: 通用的导出接口
      *
-     * @param response  response
-     * @param tableName tableName
-     * @param empty     true=>只带表头的excel,不含数据, false=>带数据的excel
-     * @param condition condition
+     * @param response response
+     * @param dto      tableName
+     *                 empty(true=>只带表头的excel,不含数据, false=>带数据的excel)
+     *                 condition 查询条件
      * @return com.boman.common.core.web.domain.AjaxResult
      */
     @Override
-    public AjaxResult exportExcelCommon(HttpServletResponse response, String tableName
-            , Boolean empty/*, JSONObject condition*/) {
+    public AjaxResult exportExcelCommon(HttpServletResponse response, ExportExcelDto dto) {
+        String tableName = dto.getTableName();
+        Boolean empty = dto.getEmpty();
         ObjectUtils.requireNonNull(tableName, "exportExcelCommon tableName is empty");
         ObjectUtils.requireNonNull(empty, "exportExcelCommon empty is empty");
 
@@ -138,10 +140,10 @@ public class LocalSysFileServiceImpl implements ISysFileService
         if (BooleanUtils.isTrue(empty)) {
             list = new ArrayList<>(0);
         } else {
-            FormDataDto dto = new FormDataDto();
-            dto.setTable(tableName);
-//            dto.setFixedData(condition);
-            AjaxResult ajaxResult = remoteObjService.getByMap(dto);
+            FormDataDto condition = new FormDataDto();
+            condition.setTable(tableName);
+            condition.setFixedData(new JSONObject(dto.getCondition()));
+            AjaxResult ajaxResult = remoteObjService.getByMap(condition);
             if (AjaxResult.checkSuccess(ajaxResult)) {
                 list = ((List<Map<String, Object>>) ajaxResult.get(AjaxResult.DATA_TAG));
                 columns = ExcelUtil.filterData(columns, 4, MaskConstant.LIST_VISIBLE::equals);