Procházet zdrojové kódy

采购订单档案导出

fyz před 9 měsíci
rodič
revize
9295408d41

+ 12 - 14
mjava-lanyun/src/main/java/com/malk/lanyun/controller/TimerController.java

@@ -1,27 +1,14 @@
 package com.malk.lanyun.controller;
 
-import com.alibaba.fastjson.JSON;
 import com.malk.lanyun.service.TimerService;
-import com.malk.server.common.McException;
 import com.malk.server.common.McR;
-import com.malk.service.dingtalk.DDClient;
-import com.malk.service.dingtalk.DDClient_Dedicated;
-import com.malk.utils.UtilDateTime;
-import com.malk.utils.UtilExcel;
-import com.malk.utils.UtilMap;
-import com.malk.utils.UtilString;
-import lombok.SneakyThrows;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.data.domain.Page;
-import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.web.bind.annotation.*;
 
+import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import java.util.Arrays;
-import java.util.List;
 import java.util.Map;
-import java.util.stream.Collectors;
 
 /**
  * 错误抛出与拦截详见 CatchException
@@ -52,4 +39,15 @@ public class TimerController {
         return McR.success();
     }
 
+    /**
+     * 采购订单导出excel
+     * @param data
+     * @param response
+     * @param request
+     */
+    @PostMapping("exportExecl")
+    void exportAttendance(@RequestBody Map data, HttpServletResponse response, HttpServletRequest request) {
+        timerService.execlExport(response,request);
+    }
+
 }

+ 3 - 3
mjava-lanyun/src/main/java/com/malk/lanyun/service/TimerService.java

@@ -1,8 +1,7 @@
 package com.malk.lanyun.service;
 
-import org.springframework.data.domain.Page;
-
-import java.util.Map;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 
 public interface TimerService {
 
@@ -14,4 +13,5 @@ public interface TimerService {
     void updateBigOut();
 
     void fresh();
+    void execlExport(HttpServletResponse response, HttpServletRequest request);
 }

+ 33 - 7
mjava-lanyun/src/main/java/com/malk/lanyun/service/impl/TimerServiceImpl.java

@@ -11,11 +11,14 @@ import com.malk.service.aliwork.YDService;
 import com.malk.service.dingtalk.DDClient;
 import com.malk.service.dingtalk.DDClient_Contacts;
 import com.malk.utils.UtilDateTime;
+import com.malk.utils.UtilExcel;
 import com.malk.utils.UtilMap;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.time.LocalDateTime;
 import java.util.*;
 
@@ -24,12 +27,6 @@ import java.util.*;
 @Slf4j
 public class TimerServiceImpl implements TimerService {
 
-    @Autowired
-    private DDClient ddClient;
-
-    @Autowired
-    private DDClient_Contacts ddClient_contacts;
-
     @Autowired
     private YDService ydService;
 
@@ -127,7 +124,6 @@ public class TimerServiceImpl implements TimerService {
                 .build());
         log.info("项目点数据, {}", dataList.size());
         List<Map> list = new  ArrayList<>();
-        List<Map> testlist = new  ArrayList<>();
         dataList.forEach(e -> {
             if (ObjectUtil.isNotNull(e.get("tableField_lrru2tnq"))){
                 list.addAll((Collection<? extends Map>) e.get("tableField_lrru2tnq"));
@@ -207,4 +203,34 @@ public class TimerServiceImpl implements TimerService {
                     .build(), YDConf.FORM_OPERATION.update);
         });
     }
+
+    @Override
+    public void execlExport(HttpServletResponse response, HttpServletRequest request) {
+//        data.put("page", 1);
+//        data.put("size", Integer.MAX_VALUE);
+        // 动态表头模板导出
+        Map formData = ydClient.queryData(YDParam.builder()
+                        .appType("APP_ERBDTFS82HOVBPL3NFH0")
+                        .systemToken("RRB66F91T97H1WN89QZYC47PKLZO2ZQOUMOQLP")
+                        .formInstanceId("FINST-8A666OD1MXUM0RFMCLG6XDA2H5MY2NPY2WNYLJ31")
+                        .build(),
+                YDConf.FORM_QUERY.retrieve_id).getFormData();
+        log.info("formData:{}",formData);
+//        Map dataMain = new HashMap();
+        final String[] keys = {""};
+        final String[] valuses = {""};
+        formData.forEach((k,v)->{
+            if (!k.toString().equals("pageSection_lr3gzi9i") && !k.toString().equals("pageSection_ltxyt76g")){
+                keys[0] = keys[0] + k + ", ";
+                valuses[0] = valuses[0] + v.toString() + ", ";
+            }
+        });
+        Map<String, String> dataMain = UtilMap.map(keys[0], valuses[0]);
+        log.info("dataMain:{}",dataMain);
+        String fileName = dataMain.get("textField_ltxyt75m") + dataMain.get("textField_lz2fk0wc") + "采购订单";
+
+        List<Map> dataList = (List<Map>) formData.get("tableField_ltxyt76f");
+        log.info("dataList:{}",dataList);
+        UtilExcel.exportMapAndListByTemplate(response, dataMain, dataList, Map.class, fileName, "Purchase_order.xlsx");
+    }
 }

binární
mjava-lanyun/src/main/resources/templates/Purchase_order.xlsx


+ 5 - 1
mjava-lanyun/src/test/java/test.java

@@ -6,6 +6,8 @@ import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.test.context.junit4.SpringRunner;
 
 import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 
 @RunWith(SpringRunner.class)
 @SpringBootTest(classes = Boot.class)
@@ -15,6 +17,8 @@ public class test {
 
     @Test
     public void testt(){
-        timerService.updateBigOut();
+        HttpServletRequest httpServletRequest = null;
+        HttpServletResponse httpServletResponse = null;
+        timerService.execlExport(httpServletResponse, httpServletRequest);
     }
 }