From e764047684657f7ae9ba2b08489eda4dd7015e32 Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期三, 31 五月 2023 15:12:53 +0800
Subject: [PATCH] #盘点单导出Excel

---
 src/main/java/com/zy/asrs/controller/MapController.java        |    7 ++-
 src/main/java/com/zy/asrs/entity/LocCheck.java                 |   32 +++++++++++++---
 src/main/java/com/zy/asrs/controller/OrderCheckController.java |   37 ++++++++++++++++++
 src/main/webapp/views/orderCheck/orderCheck.html               |    1 
 src/main/webapp/static/js/orderCheck/orderCheck.js             |   13 ++++++
 5 files changed, 81 insertions(+), 9 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/MapController.java b/src/main/java/com/zy/asrs/controller/MapController.java
index e52e038..8cf5c35 100644
--- a/src/main/java/com/zy/asrs/controller/MapController.java
+++ b/src/main/java/com/zy/asrs/controller/MapController.java
@@ -35,10 +35,11 @@
     @ManagerAuth
     public String getMapData(@PathVariable("lev") Integer lev) {
         try {
-//            String mapFilename = "map.json";
+            String mapFilename = "map.json";
 //            String fileName ="file:" + new ClassPathResource(mapFilename).getPath();
-//            String fileName = this.getClass().getClassLoader().getResource(mapFilename).getPath();//鑾峰彇鏂囦欢璺緞
-            File file = new File("D:\\workspace\\zy-asrs\\src\\main\\resources\\map.json");
+            String fileName = this.getClass().getClassLoader().getResource(mapFilename).getPath();//鑾峰彇鏂囦欢璺緞
+//            File file = new File("D:\\workspace\\zy-asrs\\src\\main\\resources\\map.json");
+            File file = new File(fileName);
             StringBuffer stringBuffer = new StringBuffer();
             if (file.isFile() && file.exists()) {
                 InputStreamReader isr = new InputStreamReader(new FileInputStream(file), "GBK");
diff --git a/src/main/java/com/zy/asrs/controller/OrderCheckController.java b/src/main/java/com/zy/asrs/controller/OrderCheckController.java
index dec9af9..9aa5069 100644
--- a/src/main/java/com/zy/asrs/controller/OrderCheckController.java
+++ b/src/main/java/com/zy/asrs/controller/OrderCheckController.java
@@ -1,5 +1,8 @@
 package com.zy.asrs.controller;
 
+
+import com.alibaba.excel.EasyExcel;
+import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.mapper.Wrapper;
@@ -25,9 +28,11 @@
 import org.springframework.web.bind.annotation.*;
 
 import javax.imageio.ImageIO;
+import javax.servlet.ServletOutputStream;
 import javax.servlet.http.HttpServletResponse;
 import java.awt.image.BufferedImage;
 import java.io.IOException;
+import java.net.URLEncoder;
 import java.util.*;
 
 @RestController
@@ -509,5 +514,37 @@
 
     }
 
+    @RequestMapping(value = "/orderCheck/printExport/auth")
+ //   @ManagerAuth(memo = "鐩樼偣鍗曞鍑�")
+    public void export(HttpServletResponse response,@RequestParam String orderNo) throws IOException {
+        //浠庢暟鎹簱鏌ヨ鏁版嵁
+        EntityWrapper<LocCheck> locCheckEntityWrapper = new EntityWrapper<>();
+        locCheckEntityWrapper.eq("order_no",orderNo);
+        List<LocCheck> list = locCheckService.selectList(locCheckEntityWrapper);
+        for (LocCheck locCheck:list){
+            locCheck.setRealAnfme(null);
+        }
+
+        response.setContentType("application/vnd.ms-excel");
+        response.setCharacterEncoding("utf-8");
+        String fileName = URLEncoder.encode("鐩樼偣鍗�", "UTF-8");
+        response.setHeader("Content-disposition", "attachment;filename=" + fileName+ orderNo + ".xlsx");
+        Set<String> includeColumnFiledNames = new HashSet<String>();
+        includeColumnFiledNames.add("orderNo");
+        includeColumnFiledNames.add("matnr");
+        includeColumnFiledNames.add("maktx");
+        includeColumnFiledNames.add("locNo");
+        includeColumnFiledNames.add("anfme");
+        includeColumnFiledNames.add("owner");
+        includeColumnFiledNames.add("payment");
+        includeColumnFiledNames.add("createTime");
+        includeColumnFiledNames.add("realAnfme");
+        EasyExcel.write(response.getOutputStream(), LocCheck.class)
+                .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy())
+                .includeColumnFiledNames(includeColumnFiledNames)
+                .sheet("琛�1")
+                .doWrite(list);
+    }
+
 
 }
diff --git a/src/main/java/com/zy/asrs/entity/LocCheck.java b/src/main/java/com/zy/asrs/entity/LocCheck.java
index e504aaf..f40f3a5 100644
--- a/src/main/java/com/zy/asrs/entity/LocCheck.java
+++ b/src/main/java/com/zy/asrs/entity/LocCheck.java
@@ -1,5 +1,6 @@
 package com.zy.asrs.entity;
 
+import com.alibaba.excel.annotation.ExcelProperty;
 import com.core.common.Cools;import com.baomidou.mybatisplus.annotations.TableId;
 import com.baomidou.mybatisplus.enums.IdType;
 import com.baomidou.mybatisplus.annotations.TableField;
@@ -28,12 +29,14 @@
      */
     @ApiModelProperty(value= "鍞竴ID")
     @TableId(value = "id", type = IdType.AUTO)
+    @ExcelProperty("id")
     private Long id;
 
     /**
      * 鐘舵�� 1: 鐩樼偣涓�  2: 鐩樼偣缁撴潫  
      */
     @ApiModelProperty(value= "鐘舵�� 1: 鐩樼偣涓�  2: 鐩樼偣缁撴潫  ")
+    @ExcelProperty({"鐩樼偣鍗�", "鍗曟嵁鐘舵��"})
     private Integer type;
 
     /**
@@ -41,39 +44,39 @@
      */
     @ApiModelProperty(value= "搴撲綅鍙�")
     @TableField("loc_no")
+    @ExcelProperty({"鐩樼偣鍗�", "搴撲綅鍙�"})
     private String locNo;
 
     /**
      * 鐗╂枡鍙�
      */
     @ApiModelProperty(value= "鐗╂枡鍙�")
+    @ExcelProperty({"鐩樼偣鍗�", "鐗╂枡鍙�"})
     private String matnr;
 
     /**
      * 鐗╂枡鍙�
      */
     @ApiModelProperty(value= "鐗╂枡鍚�")
+    @ExcelProperty({"鐩樼偣鍗�", "鐗╂枡鍚�"})
     private String maktx;
 
     /**
      * 鐩樼偣鍓嶆暟閲�
      */
     @ApiModelProperty(value= "鐩樼偣鍓嶆暟閲�")
+    @ExcelProperty({"鐩樼偣鍗�", "鐩樼偣鍓嶆暟閲�"})
     @TableField("anfme")
     private Double anfme;
 
-    /**
-     * 鐪熷疄鏁伴噺
-     */
-    @ApiModelProperty(value= "鐪熷疄鏁伴噺")
-    @TableField("real_anfme")
-    private Double realAnfme;
+
 
     /**
      * 鍒涘缓浜�
      */
     @ApiModelProperty(value= "鍒涘缓浜�")
     @TableField("create_by")
+    @ExcelProperty({"鐩樼偣鍗�", "鍒涘缓浜�"})
     private Long createBy;
 
     /**
@@ -82,6 +85,7 @@
     @ApiModelProperty(value= "鍒涘缓鏃堕棿")
     @TableField("create_time")
     @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ExcelProperty({"鐩樼偣鍗�", "鍒涘缓鏃堕棿"})
     private Date createTime;
 
     /**
@@ -89,6 +93,7 @@
      */
     @ApiModelProperty(value= "淇敼浜�")
     @TableField("update_by")
+    @ExcelProperty({"鐩樼偣鍗�", "淇敼浜�"})
     private Long updateBy;
 
     /**
@@ -97,34 +102,49 @@
     @ApiModelProperty(value= "淇敼鏃堕棿")
     @TableField("update_time")
     @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ExcelProperty({"鐩樼偣鍗�", "淇敼鏃堕棿"})
     private Date updateTime;
 
     /**
      * 澶囨敞
      */
     @ApiModelProperty(value= "澶囨敞")
+    @ExcelProperty({"鐩樼偣鍗�", "澶囨敞"})
     private String memo;
 
     @ApiModelProperty(value= "宸紓閲�")
     @TableField("diff_anfme")
+    @ExcelProperty({"鐩樼偣鍗�", "宸紓閲�"})
     private Double diffAnfme;
 
     @ApiModelProperty(value= "鍗曟嵁鍙�")
     @TableField("order_no")
+    @ExcelProperty({"鐩樼偣鍗�", "鍗曟嵁鍙�"})
     private String orderNo;
 
     @ApiModelProperty(value= "瀹℃牳")
+    @ExcelProperty({"鐩樼偣鍗�", "瀹℃牳"})
     private Integer examine;
 
     @ApiModelProperty(value= "鎷ユ湁鑰� 1: 鏉板厠   ")
+    @ExcelProperty({"鐩樼偣鍗�", "璐т富"})
     private Integer owner;
 
     /**
      * 璐х墿褰㈡��:0锛氫唬閲囥��1锛氫粨鍌�
      */
     @ApiModelProperty(value= "璐х墿褰㈡��:0锛氫唬閲囥��1锛氫粨鍌�")
+    @ExcelProperty({"鐩樼偣鍗�", "璐х墿褰㈡��"})
     private Integer payment;
 
+    /**
+     * 鐪熷疄鏁伴噺
+     */
+    @ApiModelProperty(value= "鐪熷疄鏁伴噺")
+    @TableField("real_anfme")
+    @ExcelProperty({"鐩樼偣鍗�", "鐪熷疄鏁伴噺"})
+    private Double realAnfme;
+
     public String getOwner$(){
         LocOwnerService service = SpringUtils.getBean(LocOwnerService.class);
         LocOwner locOwner = service.selectById(this.owner);
diff --git a/src/main/webapp/static/js/orderCheck/orderCheck.js b/src/main/webapp/static/js/orderCheck/orderCheck.js
index c27b889..22bd667 100644
--- a/src/main/webapp/static/js/orderCheck/orderCheck.js
+++ b/src/main/webapp/static/js/orderCheck/orderCheck.js
@@ -168,6 +168,8 @@
             });
         }else if (layEvent === 'wrkTrace'){
             showWrkTrace(data.id);
+        }else if (layEvent === 'printExcel'){
+            printExcel(data);
         }
     });
     //鍗曟嵁鏄庣粏琛� 瀹℃牳鎸夐挳
@@ -764,5 +766,16 @@
         console.log(obj.data)
     })
 
+    function printExcel(data){
+        layer.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function(){
+
+           // window.open("http://localhost:8082/stwms/orderCheck/printExport/auth?orderNo="+data.orderNo);
+            layer.closeAll();
+            layer.load(1, {shade: [0.1,'#fff']});
+            location.href = "http://localhost:8082/stwms/orderCheck/printExport/auth?orderNo="+data.orderNo;
+            layer.closeAll('loading');
+        });
+    }
+
 
 });
diff --git a/src/main/webapp/views/orderCheck/orderCheck.html b/src/main/webapp/views/orderCheck/orderCheck.html
index 50922e8..70be74a 100644
--- a/src/main/webapp/views/orderCheck/orderCheck.html
+++ b/src/main/webapp/views/orderCheck/orderCheck.html
@@ -94,6 +94,7 @@
 <!-- 琛ㄦ牸鎿嶄綔鍒� -->
 <script type="text/html" id="operate">
   <a class="layui-btn layui-btn-primary layui-border-blue layui-btn-xs btn-complete" lay-event="btnPrint">鎵撳嵃</a>
+  <a class="layui-btn layui-btn-primary layui-border-blue layui-btn-xs btn-complete" lay-event="printExcel">瀵煎嚭Excel</a>
   {{# if (d.settle == 0 || d.settle == 1) { }}
   <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="edit">淇敼</a>
   <a class="layui-btn layui-btn-danger layui-btn-xs btn-delete" lay-event="del">鍒犻櫎</a>

--
Gitblit v1.9.1