lfx 9 月之前
父节点
当前提交
6ea603fcec

+ 13 - 0
mjava-aiwei/src/main/java/com/malk/aiwei/controller/TBxYDController.java

@@ -18,6 +18,7 @@ import com.malk.server.teambition.TBConf;
 import com.malk.service.aliwork.YDClient;
 import com.malk.service.aliwork.YDService;
 import com.malk.service.teambition.TBClient;
+import com.malk.utils.UtilExcel;
 import com.malk.utils.UtilMap;
 import com.malk.utils.UtilServlet;
 import lombok.extern.slf4j.Slf4j;
@@ -25,6 +26,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.util.*;
 
 @Slf4j
@@ -312,6 +314,17 @@ public class TBxYDController {
         return UtilMap.map("options",result);
     }
 
+    /**
+     * 搭配出
+     */
+    @PostMapping("export")
+    void export(@RequestBody Map data, HttpServletResponse response) {
+        List<Map> dataList = UtilMap.getList(data,"dataList");
+        String fileName = UtilMap.getString(data,"fileName");
+        String tempFileName = UtilMap.getString(data,"tempFileName");
+        UtilExcel.exportMapAndListByTemplate(response, dataList, Map.class, fileName, tempFileName);
+    }
+
     //////// test ////////
 
     @Autowired

+ 5 - 5
mjava-aiwei/src/main/resources/application-dev.yml

@@ -38,14 +38,14 @@ spring:
 # filepath
 file:
   path:
-    file: /Users/malk/server/_Tool/var/mjava/tmp/file/
-    image: /Users/malk/server/_Tool/var/mjava/tmp/image/
-    tmp: /Users/malk/server/_Tool/var/mjava/tmp/
+    file: /home/malk/server/_Tool/var/mjava/tmp/file/
+    image: /home/malk/server/_Tool/var/mjava/tmp/image/
+    tmp: /home/malk/server/_Tool/var/mjava/tmp/
   source:
-    fonts: /Users/malk/server/_Tool/fonts/simsun.ttc
+    fonts: /home/malk/server/_Tool/fonts/simsun.ttc
 logging:
   file:
-    path: /Users/malk/server/_Tool/var/mjava/log
+    path: /home/malk/server/_Tool/var/mjava/log
 
 # dingtalk
 dingtalk:

二进制
mjava-aiwei/src/main/resources/templates/需求入库_数据模板.xlsx


+ 1 - 0
mjava/src/main/java/com/malk/server/aliwork/YDConf.java

@@ -64,6 +64,7 @@ public class YDConf {
         retrieve_changed,    // 变更记录
         retrieve_definition, // 表单定义
 
+        retrieve_forms, // 表单列表
     }
 
     /**

+ 3 - 0
mjava/src/main/java/com/malk/service/aliwork/impl/YDClientImpl.java

@@ -124,6 +124,9 @@ public class YDClientImpl implements YDClient {
             case retrieve_changed:
                 ddr_new = DDR_New.doPost(getRequestUrl("/forms/operationsLogs/query"), ddClient.initTokenHeader(), null, param);
                 break;
+            case retrieve_forms:
+                ddr_new = DDR_New.doGet(getRequestUrl("/forms"), ddClient.initTokenHeader(), param);
+                break;
         }
         return ddr_new;
     }

+ 14 - 0
mjava/src/main/java/com/malk/utils/UtilExcel.java

@@ -244,4 +244,18 @@ public class UtilExcel {
         workBook.finish();
     }
 
+    /**
+     * 列表与主表进行填充 [格式: 模板主表 {字段}, 列表 {.字段}]
+     */
+    @SneakyThrows
+    public static void exportMapAndListByTemplate(HttpServletResponse response, List dataList, Class dtoClass, @Nullable String fileName, String templateName) {
+        InputStream inputStream = UtilFile.readPackageResource("templates/" + templateName);
+        UtilExcel.setResponseHeader(response, fileName, ".xlsx");
+        ExcelWriter workBook = EasyExcel.write(response.getOutputStream(), dtoClass).withTemplate(inputStream).build();
+        WriteSheet sheet = EasyExcel.writerSheet().build();
+        // 先单组数据填充,再多组数据填充
+        workBook.fill(dataList, sheet);
+        workBook.finish();
+    }
+
 }