Преглед изворни кода

采购订单档案导出更新

fyz пре 9 месеци
родитељ
комит
e3f85feb88

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

@@ -41,13 +41,13 @@ public class TimerController {
 
     /**
      * 采购订单导出excel
-     * @param data
-     * @param response
-     * @param request
+     * @param data 前端传入数据
+     * @param response 响应头
+     * @param request  请求头
      */
     @PostMapping("exportExecl")
     void exportAttendance(@RequestBody Map data, HttpServletResponse response, HttpServletRequest request) {
-        timerService.execlExport(response,request);
+        timerService.execlExport(data,response,request);
     }
 
 }

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

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

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

@@ -8,8 +8,6 @@ import com.malk.server.aliwork.YDConf;
 import com.malk.server.aliwork.YDParam;
 import com.malk.service.aliwork.YDClient;
 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;
@@ -205,14 +203,17 @@ public class TimerServiceImpl implements TimerService {
     }
 
     @Override
-    public void execlExport(HttpServletResponse response, HttpServletRequest request) {
-//        data.put("page", 1);
-//        data.put("size", Integer.MAX_VALUE);
+    public void execlExport(Map data,HttpServletResponse response, HttpServletRequest request) {
+        if (data.isEmpty()){
+            return;
+        }
+        String formInstId = data.get("formInstId").toString();
+        log.info("已获取流程实例ID为:{}",data.get("formInstId").toString());
         // 动态表头模板导出
         Map formData = ydClient.queryData(YDParam.builder()
                         .appType("APP_ERBDTFS82HOVBPL3NFH0")
                         .systemToken("RRB66F91T97H1WN89QZYC47PKLZO2ZQOUMOQLP")
-                        .formInstanceId("FINST-8A666OD1MXUM0RFMCLG6XDA2H5MY2NPY2WNYLJ31")
+                        .formInstanceId(formInstId)
                         .build(),
                 YDConf.FORM_QUERY.retrieve_id).getFormData();
         log.info("formData:{}",formData);
@@ -227,10 +228,34 @@ public class TimerServiceImpl implements TimerService {
         });
         Map<String, String> dataMain = UtilMap.map(keys[0], valuses[0]);
         log.info("dataMain:{}",dataMain);
-        String fileName = dataMain.get("textField_ltxyt75m") + dataMain.get("textField_lz2fk0wc") + "采购订单";
+        String fileName = dataMain.get("textField_lr26y1io") + dataMain.get("textField_lz2fk0wc") + "采购订单";
 
         List<Map> dataList = (List<Map>) formData.get("tableField_ltxyt76f");
+        for (int i = 0; i < dataList.size(); i++) {
+            dataList.get(i).put("row",i+1);
+        }
         log.info("dataList:{}",dataList);
-        UtilExcel.exportMapAndListByTemplate(response, dataMain, dataList, Map.class, fileName, "Purchase_order.xlsx");
+        String text = "一、订单说明:\n" +
+                "1.供应商需按订单内容,向采购方按时、按量提供质量合格的商品(如一张订单分多次送货的,将以末次送货时间作为该订单的送货时间)。\n" +
+                "2.供应商配送物品与订单不符,采购方接收人有权拒收、要求换货或给与相应的赔偿。\n" +
+                "3.供应商未按订单约定时间配送物品,需按照订单总价的5%作为单日违约金,按照延迟天数向采购方支付。\n" +
+                "4.供应商送货时,需向采购方接收人提供供应商送货签收单据的客户联,采购方将作为付款的书面依据留存。\n" +
+                "5.供应商完成物品配送后,5个工作日内需向采购方提交与订单内容相符的增值税专用发票。\n" +
+                "6.采购方在收到供应商提供的与订单相符的物品及相应发票和单据后,将按照双方约定的付款周期支付货款。\n" +
+                "7.采购方以传真和邮件方式,向供应商提供《采购订单》;供应商接收《采购订单》后,需以传真或邮件方式进行签收。\n" +
+                "8.采购方以供应商传真或邮件签收,作为该《采购订单》正式履行的依据。\n" +
+                "9.采购订单作为供需双方的日常业务办理依据,双方合作的相关法律依据以双方签订的合作协议为准。\n" +
+                "10.严禁除采购以外的任何人员直接向供应商订购物资,如供应商在未收到采购订单的情况下进行物资配送,采购一律不予结算该账款。\n" +
+                "严禁供应商向除采购方以外的任何第三方泄露采购单价,造成采购方名誉、信誉、财产的一切损失将由供应商承担。\n" +
+                "二、备注:采购订单敲章后与发票一起寄回,以便后期确认。\n" +
+                "发票寄送地址:上海市宝山区双城路803弄宝莲城9号楼27层\n" +
+                "联系人:浦水菊  联系电话:60671366  转 828";
+        dataMain.put("text",text);
+        int numSum = dataList.stream().mapToInt(e -> e.get("numberField_ltxyt75z").toString().equals("") ? 0 : Integer.parseInt(e.get("numberField_ltxyt75z").toString())).sum();
+        Double sumTotal = dataList.stream().mapToDouble(e -> e.get("numberField_ltxyt764").toString().equals("") ? 0 : Double.parseDouble(e.get("numberField_ltxyt764").toString())).sum();
+        dataMain.put("num_sum",String.valueOf(numSum));
+        dataMain.put("sum_total",String.valueOf(sumTotal));
+
+        UtilExcel.exportMapAndListByTemplate(response, dataMain, dataList, Map.class, fileName, "Template.xlsx");
     }
 }

BIN
mjava-lanyun/src/main/resources/templates/Purchase_order.xlsx


BIN
mjava-lanyun/src/main/resources/templates/Template.xlsx


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

@@ -19,6 +19,6 @@ public class test {
     public void testt(){
         HttpServletRequest httpServletRequest = null;
         HttpServletResponse httpServletResponse = null;
-        timerService.execlExport(httpServletResponse, httpServletRequest);
+//        timerService.execlExport(httpServletResponse, httpServletRequest);
     }
 }