From 1c3c68d3dc45e4d519088de17001284858de5eb9 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期六, 06 六月 2020 10:50:02 +0800
Subject: [PATCH] #导出

---
 src/main/java/com/zy/asrs/controller/MatCodeController.java |   21 ++----
 src/main/java/com/zy/common/utils/excel/ExcelUtils.java     |   14 ++--
 src/main/webapp/views/matCode/matCode.html                  |   22 +++++++
 src/main/webapp/static/js/matCode/matCode.js                |   58 +++++++------------
 src/main/java/com/zy/common/web/FileController.java         |   23 +++++++
 5 files changed, 80 insertions(+), 58 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/MatCodeController.java b/src/main/java/com/zy/asrs/controller/MatCodeController.java
index eb80c17..b36c779 100644
--- a/src/main/java/com/zy/asrs/controller/MatCodeController.java
+++ b/src/main/java/com/zy/asrs/controller/MatCodeController.java
@@ -101,18 +101,10 @@
 
     // 瀵煎嚭
     @RequestMapping(value = "/matCode/export/auth")
-    @ManagerAuth
-    public void export(@RequestBody JSONObject param, HttpServletResponse response) throws Exception{
-//        List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class);
-//        EntityWrapper<MatCode> wrapper = new EntityWrapper<>();
-//        Map<String, Object> map = excludeTrash(param.getJSONObject("matCode"));
-//        convert(map, wrapper);
-//        List<MatCode> list = matCodeService.selectList(wrapper);
-
-
+    public void export(@RequestParam(required = false) String fileName,
+                       @RequestParam(required = false) Integer rowCount,
+                       HttpServletResponse response) throws Exception {
         List<MatCode> list = matCodeService.selectList(new EntityWrapper<>());
-
-
         List<MatCodeExcel> excels = new ArrayList<>();
         for (MatCode matCode : list) {
             MatCodeExcel excel = new MatCodeExcel();
@@ -122,12 +114,15 @@
             excel.setStr1(matCode.getStr1());
             excel.setStr2(matCode.getStr2());
             excels.add(excel);
+            if (rowCount != null && excels.size() >= rowCount){
+                break;
+            }
         }
         response.setContentType("application/vnd.ms-excel");
         response.setCharacterEncoding("utf-8");
-        String fileName = URLEncoder.encode("娴嬭瘯", "UTF-8");
+        fileName = URLEncoder.encode(Cools.isEmpty(fileName)?"鐗╂枡缂栫爜":fileName, "UTF-8");
         response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
-        EasyExcel.write(response.getOutputStream(), MatCodeExcel.class).sheet("妯℃澘").doWrite(excels);
+        EasyExcel.write(response.getOutputStream(), MatCodeExcel.class).sheet("琛�1").doWrite(excels);
     }
 
     // 瀵煎叆
diff --git a/src/main/java/com/zy/common/utils/excel/ExcelUtils.java b/src/main/java/com/zy/common/utils/excel/ExcelUtils.java
index d51ec8e..61cc2a7 100644
--- a/src/main/java/com/zy/common/utils/excel/ExcelUtils.java
+++ b/src/main/java/com/zy/common/utils/excel/ExcelUtils.java
@@ -14,13 +14,11 @@
 public class ExcelUtils {
 
     public static void main(String[] args) {
-//        new ExcelUtils().simpleRead();
         new ExcelUtils().simpleWrite();
     }
 
     public void simpleRead(){
         ExcelReaderBuilder read = EasyExcel.read("/Users/vincent/Desktop/3869.xls", MatCodeExcel.class, new MatCodeExcelListener());
-        // 璇诲彇绗竴涓猻heet(琛�),鏂囦欢娴佷細鑷姩鍏抽棴
         read.sheet().doRead();
     }
 
@@ -32,13 +30,15 @@
         List<MatCodeExcel> list = new ArrayList<>();
         for (int i = 0; i<1000; i++) {
             MatCodeExcel data = new MatCodeExcel();
-            data.setMatNo("1");
-            data.setBarcode("2");
-            data.setMatName("3");
-            data.setStr1("5");
-            data.setStr2("6");
+            data.setMatNo("1902997-5/6");
+            data.setBarcode("80001854");
+            data.setMatName("閾濆甫|1100-O|0.33*475|");
+            data.setStr1("701010015907");
+            data.setStr2("榧庤儨閾濅笟棣欐腐_椹潵瑗夸簹UPT");
             list.add(data);
         }
         return list;
     }
+
+
 }
diff --git a/src/main/java/com/zy/common/web/FileController.java b/src/main/java/com/zy/common/web/FileController.java
index d7b9c83..a0bc022 100644
--- a/src/main/java/com/zy/common/web/FileController.java
+++ b/src/main/java/com/zy/common/web/FileController.java
@@ -1,16 +1,21 @@
 package com.zy.common.web;
 
 import com.alibaba.excel.EasyExcel;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.core.common.R;
-import com.zy.common.utils.excel.ExcelUtils;
+import com.zy.asrs.entity.MatCode;
+import com.zy.asrs.service.MatCodeService;
 import com.zy.common.utils.excel.matcode.MatCodeExcel;
 import com.zy.common.utils.excel.matcode.MatCodeExcelListener;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.net.URLEncoder;
+import java.util.ArrayList;
+import java.util.List;
 
 /**
  * todo
@@ -20,6 +25,8 @@
 @RequestMapping("excel/")
 public class FileController {
 
+    @Autowired
+    private MatCodeService matCodeService;
     /**
      * 鏂囦欢涓婁紶
      */
@@ -35,13 +42,25 @@
      */
     @GetMapping("download")
     public void download(HttpServletResponse response) throws IOException {
+        List<MatCode> list = matCodeService.selectList(new EntityWrapper<>());
+
+        List<MatCodeExcel> excels = new ArrayList<>();
+        for (MatCode matCode : list) {
+            MatCodeExcel excel = new MatCodeExcel();
+            excel.setMatNo(matCode.getMatNo());
+            excel.setBarcode(matCode.getBarcode());
+            excel.setMatName(matCode.getMatName());
+            excel.setStr1(matCode.getStr1());
+            excel.setStr2(matCode.getStr2());
+            excels.add(excel);
+        }
         // 杩欓噷娉ㄦ剰 鏈夊悓瀛﹀弽搴斾娇鐢╯wagger 浼氬鑷村悇绉嶉棶棰橈紝璇风洿鎺ョ敤娴忚鍣ㄦ垨鑰呯敤postman
         response.setContentType("application/vnd.ms-excel");
         response.setCharacterEncoding("utf-8");
         // 杩欓噷URLEncoder.encode鍙互闃叉涓枃涔辩爜 褰撶劧鍜宔asyexcel娌℃湁鍏崇郴
         String fileName = URLEncoder.encode("娴嬭瘯", "UTF-8");
         response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
-        EasyExcel.write(response.getOutputStream(), MatCodeExcel.class).sheet("妯℃澘").doWrite(ExcelUtils.data());
+        EasyExcel.write(response.getOutputStream(), MatCodeExcel.class).sheet("妯℃澘").doWrite(excels);
     }
 
 }
diff --git a/src/main/webapp/static/js/matCode/matCode.js b/src/main/webapp/static/js/matCode/matCode.js
index 2e6971b..a5b5337 100644
--- a/src/main/webapp/static/js/matCode/matCode.js
+++ b/src/main/webapp/static/js/matCode/matCode.js
@@ -171,42 +171,19 @@
                 break;
             // 瀵煎嚭
             case 'exportData':
-                layer.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true,}, function(){
-                    var titles=[];
-                    var fields=[];
-                    obj.config.cols[0].map(function (col) {
-                        if (col.type === 'normal' && col.hide === false && col.toolbar == null) {
-                            titles.push(col.title);
-                            fields.push(col.field);
-                        }
-                    });
-                    var exportData = {};
-                    $.each($('#search-box [name]').serializeArray(), function() {
-                        exportData[this.name] = this.value;
-                    });
-                    var param = {
-                        'matCode': exportData,
-                        'fields': fields
-                    };
-                    $.ajax({
-                        url: baseUrl+"/matCode/export/auth",
-                        headers: {'token': localStorage.getItem('token')},
-                        data: JSON.stringify(param),
-                        // dataType:'json',
-                        contentType:'application/json;charset=UTF-8',
-                        method: 'POST',
-                        success: function (res) {
-                            // layer.closeAll();
-                            // if (res.code === 200) {
-                            //     table.exportFile(titles,res.data,'xls');
-                            // } else if (res.code === 403) {
-                            //     top.location.href = baseUrl;
-                            // } else {
-                            //     layer.msg(res.msg)
-                            // }
-                        }
-                    });
-                });
+                layer.open({
+                    type: 1,
+                    title: '鏁版嵁瀵煎嚭',
+                    shadeClose: true,
+                    content: $('#exportDataDiv'),
+                    success: function(layero, index){
+
+                    },
+                    end: function () {
+                        $("#exportFileName").val("");
+                        $("#exportRowCount").val("");
+                    }
+                })
                 break;
             // 瀵煎叆
             case 'intoData':
@@ -228,6 +205,15 @@
         }
     });
 
+    // 瀵煎嚭excel
+    form.on('submit(exportDo)', function(data) {
+        layer.closeAll();
+        layer.load(1, {shade: [0.1,'#fff']});
+        location.href = baseUrl + "/matCode/export/auth?fileName="+$("#exportFileName").val()+"&rowCount="+$("#exportRowCount").val();
+        layer.closeAll('loading');
+        return false;
+    });
+
     // 瀵煎叆excel
     var uploader = upload.render({
         elem: '#uploadEx'
diff --git a/src/main/webapp/views/matCode/matCode.html b/src/main/webapp/views/matCode/matCode.html
index 7fbc3da..9985e27 100644
--- a/src/main/webapp/views/matCode/matCode.html
+++ b/src/main/webapp/views/matCode/matCode.html
@@ -52,6 +52,28 @@
 
 <iframe id="detail-iframe" scrolling="auto" style="display:none;"></iframe>
 
+<!-- 瀵煎嚭鎿嶄綔寮圭獥 -->
+<div id="exportDataDiv" style="display: none;padding: 20px">
+    <div class="layui-form">
+        <div class="layui-form-item">
+            <label class="layui-form-label" style="padding: 9px 0">璁剧疆鏂囦欢鍚�</label>
+            <div class="layui-input-block" style="margin-left: 90px;">
+                <input type="text" id="exportFileName" placeholder="閫夊~" autocomplete="off" class="layui-input">
+            </div>
+        </div>
+        <div class="layui-form-item">
+            <label class="layui-form-label"  style="padding: 9px 0">瀵煎嚭琛屾暟</label>
+            <div class="layui-input-block" style="margin-left: 90px;">
+                <input type="text" id="exportRowCount" placeholder="閫夊~" autocomplete="off" class="layui-input" lay-verify="number" lay-reqtext="璇疯緭鍏ユ暟瀛�">
+            </div>
+        </div>
+        <div style="text-align: center; margin-top: 20px">
+            <button class="layui-btn layui-btn-radius layui-btn-normal" id="exportDo" lay-submit lay-filter="exportDo">寮�濮嬪鍑�</button>
+        </div>
+    </div>
+</div>
+
+
 <!-- 瀵煎叆鎿嶄綔寮圭獥 -->
 <div id="importDataDiv" style="display: none;padding: 20px 40px">
     <div class="layui-upload-drag" id="uploadEx" style="width: 200px; font-size: x-small; padding: 10px; text-align: center; box-sizing: border-box">

--
Gitblit v1.9.1