From 7d192a9b10311d7d5437a320aa74a98dd8bd601e Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期一, 19 六月 2023 17:11:33 +0800
Subject: [PATCH] #单据增加重量字段、导出excel

---
 src/main/java/com/zy/asrs/controller/OrderLogController.java |   35 ++++++++
 src/main/java/com/zy/asrs/controller/OrderController.java    |   35 ++++++++
 src/main/webapp/views/orderLog/orderLog.html                 |   12 --
 src/main/java/com/zy/asrs/entity/OrderDetl.java              |   11 ++
 src/main/webapp/views/mat/mat.html                           |   48 ++++++------
 src/main/webapp/static/js/order/order.js                     |   17 +++
 src/main/webapp/static/js/common.js                          |   10 +-
 src/main/webapp/static/js/orderLog/orderLog.js               |   21 ++++-
 src/main/webapp/views/order/order.html                       |    1 
 9 files changed, 144 insertions(+), 46 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/OrderController.java b/src/main/java/com/zy/asrs/controller/OrderController.java
index e73b8de..518712b 100644
--- a/src/main/java/com/zy/asrs/controller/OrderController.java
+++ b/src/main/java/com/zy/asrs/controller/OrderController.java
@@ -1,5 +1,7 @@
 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;
@@ -17,6 +19,9 @@
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
 
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.net.URLEncoder;
 import java.util.*;
 
 @RestController
@@ -376,4 +381,34 @@
         return R.ok();
     }
 
+    @RequestMapping(value = "/order/printExport/auth")
+    //   @ManagerAuth(memo = "鐩樼偣鍗曞鍑�")
+    public void export(HttpServletResponse response, @RequestParam String orderNo) throws IOException {
+        //浠庢暟鎹簱鏌ヨ鏁版嵁
+        EntityWrapper<OrderDetl> locCheckEntityWrapper = new EntityWrapper<>();
+        locCheckEntityWrapper.eq("order_no",orderNo);
+        List<OrderDetl> list = orderDetlService.selectList(locCheckEntityWrapper);
+
+        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("specs");
+        includeColumnFiledNames.add("owner");
+        includeColumnFiledNames.add("payment");
+        includeColumnFiledNames.add("anfme");
+        includeColumnFiledNames.add("qty");
+        includeColumnFiledNames.add("workQty");
+        includeColumnFiledNames.add("weight");
+        EasyExcel.write(response.getOutputStream(), OrderDetl.class)
+                .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy())
+                .includeColumnFiledNames(includeColumnFiledNames)
+                .sheet("琛�1")
+                .doWrite(list);
+    }
+
 }
diff --git a/src/main/java/com/zy/asrs/controller/OrderLogController.java b/src/main/java/com/zy/asrs/controller/OrderLogController.java
index 746b2c6..ce972cf 100644
--- a/src/main/java/com/zy/asrs/controller/OrderLogController.java
+++ b/src/main/java/com/zy/asrs/controller/OrderLogController.java
@@ -1,5 +1,7 @@
 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;
@@ -16,6 +18,9 @@
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
 
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.net.URLEncoder;
 import java.util.*;
 
 @RestController
@@ -347,4 +352,34 @@
         return R.ok();
     }
 
+    @RequestMapping(value = "/orderLog/printExport/auth")
+    //   @ManagerAuth(memo = "鐩樼偣鍗曞鍑�")
+    public void export(HttpServletResponse response, @RequestParam String orderNo) throws IOException {
+        //浠庢暟鎹簱鏌ヨ鏁版嵁
+        EntityWrapper<OrderDetlLog> locCheckEntityWrapper = new EntityWrapper<>();
+        locCheckEntityWrapper.eq("order_no",orderNo);
+        List<OrderDetlLog> list = orderDetlLogService.selectList(locCheckEntityWrapper);
+
+        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("specs");
+        includeColumnFiledNames.add("owner");
+        includeColumnFiledNames.add("payment");
+        includeColumnFiledNames.add("anfme");
+        includeColumnFiledNames.add("qty");
+        includeColumnFiledNames.add("workQty");
+        includeColumnFiledNames.add("weight");
+        EasyExcel.write(response.getOutputStream(), OrderDetl.class)
+                .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy())
+                .includeColumnFiledNames(includeColumnFiledNames)
+                .sheet("琛�1")
+                .doWrite(list);
+    }
+
 }
diff --git a/src/main/java/com/zy/asrs/entity/OrderDetl.java b/src/main/java/com/zy/asrs/entity/OrderDetl.java
index fe8f30b..9dcc5aa 100644
--- a/src/main/java/com/zy/asrs/entity/OrderDetl.java
+++ b/src/main/java/com/zy/asrs/entity/OrderDetl.java
@@ -1,5 +1,6 @@
 package com.zy.asrs.entity;
 
+import com.alibaba.excel.annotation.ExcelProperty;
 import com.baomidou.mybatisplus.annotations.TableField;
 import com.baomidou.mybatisplus.annotations.TableId;
 import com.baomidou.mybatisplus.annotations.TableName;
@@ -44,6 +45,7 @@
      */
     @ApiModelProperty(value= "鍗曟嵁缂栧彿")
     @TableField("order_no")
+    @ExcelProperty({"鍗曟嵁", "鍗曟嵁缂栧彿"})
     private String orderNo;
 
 
@@ -51,6 +53,7 @@
      * 鏁伴噺
      */
     @ApiModelProperty(value= "鏁伴噺")
+    @ExcelProperty({"鍗曟嵁", "鏁伴噺"})
     private Double anfme;
 
     /**
@@ -61,6 +64,7 @@
      */
     @ApiModelProperty(value= "浣滀笟鏁伴噺")
     @TableField("work_qty")
+    @ExcelProperty({"鍗曟嵁", "浣滀笟鏁伴噺"})
     private Double workQty;
 
     /**
@@ -70,18 +74,21 @@
      *  鍑哄簱 : qty 馃憜
      */
     @ApiModelProperty(value= "瀹屾垚鏁伴噺")
+    @ExcelProperty({"鍗曟嵁", "瀹屾垚鏁伴噺"})
     private Double qty;
 
     /**
      * 鍟嗗搧缂栫爜
      */
     @ApiModelProperty(value= "鍟嗗搧缂栫爜")
+    @ExcelProperty({"鍗曟嵁", "鍟嗗搧缂栫爜"})
     private String matnr;
 
     /**
      * 鍟嗗搧鍚嶇О
      */
     @ApiModelProperty(value= "鍟嗗搧鍚嶇О")
+    @ExcelProperty({"鍗曟嵁", "鍟嗗搧鍚嶇О"})
     private String maktx;
 
     /**
@@ -94,6 +101,7 @@
      * 瑙勬牸
      */
     @ApiModelProperty(value= "瑙勬牸")
+    @ExcelProperty({"鍗曟嵁", "瑙勬牸"})
     private String specs;
 
     /**
@@ -181,6 +189,7 @@
      * 閲嶉噺
      */
     @ApiModelProperty(value= "閲嶉噺")
+    @ExcelProperty({"鍗曟嵁", "閲嶉噺"})
     private Double weight;
 
     /**
@@ -300,12 +309,14 @@
      * 鎷ユ湁鑰�
      */
     @ApiModelProperty(value= "鎷ユ湁鑰� 1: 鏉板厠   ")
+    @ExcelProperty({"鍗曟嵁", "璐т富ID"})
     private Integer owner;
 
     /**
      * 璐х墿褰㈡��:0锛氫唬閲囥��1锛氫粨鍌�
      */
     @ApiModelProperty(value= "璐х墿褰㈡��:0锛氫唬閲囥��1锛氫粨鍌�")
+    @ExcelProperty({"鍗曟嵁", "璐х墿褰㈡�両D"})
     private Integer payment;
 
     /**
diff --git a/src/main/webapp/static/js/common.js b/src/main/webapp/static/js/common.js
index c56bfda..bf864ee 100644
--- a/src/main/webapp/static/js/common.js
+++ b/src/main/webapp/static/js/common.js
@@ -204,7 +204,7 @@
     ,{field: 'maktx', align: 'center',title: '鍟嗗搧鍚嶇О', width: 200}
     // ,{field: 'name', align: 'center',title: '鍒悕'}
     ,{field: 'specs', align: 'center',title: '瑙勬牸'}
-    ,{field: 'model', align: 'center',title: '浠g爜', hide: false}
+    ,{field: 'model', align: 'center',title: '浠g爜', hide: true}
     ,{field: 'color', align: 'center',title: '棰滆壊', hide: true}
     ,{field: 'brand', align: 'center',title: '鍝佺墝', hide: true}
     ,{field: 'unit', align: 'center',title: '鍗曚綅', hide: true}
@@ -217,10 +217,10 @@
     ,{field: 'manuDate', align: 'center',title: '鐢熶骇鏃ユ湡', hide: true}
     ,{field: 'itemNum', align: 'center',title: '鍝侀」鏁�', hide: true}
     ,{field: 'safeQty', align: 'center',title: '瀹夊叏搴撳瓨閲�', hide: true}
-    ,{field: 'weight', align: 'center',title: '鍗曠鍑�閲�', hide: false}
-    ,{field: 'length', align: 'center',title: '鍗曠姣涢噸', hide: false}
-    ,{field: 'volume', align: 'center',title: '鍗曠浣撶Н', hide: false}
-    ,{field: 'threeCode', align: 'center',title: '绠卞瓙灏哄', hide: false}
+    ,{field: 'weight', align: 'center',title: '鍗曠鍑�閲�', hide: true}
+    ,{field: 'length', align: 'center',title: '鍗曠姣涢噸', hide: true}
+    ,{field: 'volume', align: 'center',title: '鍗曠浣撶Н', hide: true}
+    ,{field: 'threeCode', align: 'center',title: '绠卞瓙灏哄', hide: true}
     ,{field: 'supp', align: 'center',title: '渚涘簲鍟�', hide: true}
     ,{field: 'suppCode', align: 'center',title: '渚涘簲鍟嗙紪鐮�', hide: true}
     ,{field: 'beBatch$', align: 'center',title: '鏄惁鎵规', hide: true}
diff --git a/src/main/webapp/static/js/order/order.js b/src/main/webapp/static/js/order/order.js
index caca7e0..0bd403c 100644
--- a/src/main/webapp/static/js/order/order.js
+++ b/src/main/webapp/static/js/order/order.js
@@ -207,7 +207,7 @@
                             // {field: 'inQty', title: '宸插叆搴撻噺'},
                             // {field: 'color', title: '棰滆壊'},
                             // {field: 'specs', title: '瑙勬牸'},
-                            // {field: 'weight', title: '閲嶉噺'}
+                             {field: 'weight', title: '閲嶉噺'}
                         ]],
                         request: {
                             pageName: 'curr',
@@ -231,6 +231,9 @@
                     });
                 }
             });
+        }
+        else if (layEvent === 'printExcel'){
+            printExcel(data);
         }
     });
 
@@ -314,8 +317,8 @@
                         {type: 'numbers', title: '#'},
                         {field: 'matnr', title: '鍟嗗搧缂栫爜', width: 160},
                         {field: 'maktx', title: '鍟嗗搧鍚嶇О', width: 200},
-                        {field: 'batch', title: '鎵瑰彿', edit: true},
                         {field: 'specs', title: '瑙勬牸'},
+                        {field: 'weight', title: '閲嶉噺', edit: true},
                         {field: 'anfme', title: '鏁伴噺(淇敼)', style: 'color: blue;font-weight: bold', edit: true, minWidth: 110, width: 110},
                         {field: 'owner', title: '璐т富缂栧彿', style: 'color: blue;font-weight: bold', edit: true, minWidth: 110, width: 110},
                         {field: 'payment', title: '璐х墿鐘舵��', style: 'color: blue;font-weight: bold', templet: '#payment'},
@@ -588,6 +591,16 @@
         ,range: true
     });
 
+    function printExcel(data){
+        layer.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function(){
+            layer.closeAll();
+            layer.load(1, {shade: [0.1,'#fff']});
+            // location.href = "http://192.168.4.121:8082/stwms/orderCheck/printExport/auth?orderNo="+data.orderNo;
+            location.href = "http://10.114.97.100:8080/stwms/order/printExport/auth?orderNo="+data.orderNo;
+            layer.closeAll('loading');
+        });
+    }
+
 
 
 });
diff --git a/src/main/webapp/static/js/orderLog/orderLog.js b/src/main/webapp/static/js/orderLog/orderLog.js
index 42cb8ad..c392cfc 100644
--- a/src/main/webapp/static/js/orderLog/orderLog.js
+++ b/src/main/webapp/static/js/orderLog/orderLog.js
@@ -48,8 +48,8 @@
             {align: 'center', title: '鏄庣粏', toolbar: '#tbLook', minWidth: 160},
             {field: 'createTime$', title: '鍒涘缓鏃堕棿', minWidth: 200},
             {field: 'settle$', align: 'center', title: '鐘舵��', templet: '#settleTpl',  minWidth: 160},
-            {field: 'memo', align: 'center',title: '澶囨敞', hide: true}
-
+            {field: 'memo', align: 'center',title: '澶囨敞', hide: true},
+            {align: 'center', title: '鎿嶄綔', toolbar: '#operate', width: 260}
         ]],
         request: {
             pageName: 'curr',
@@ -130,8 +130,9 @@
                             {field: 'anfme', title: '鏁伴噺'},
                             {field: 'workQty', title: '浣滀笟鏁伴噺'},
                             {field: 'qty', title: '瀹屾垚鏁伴噺', style: 'font-weight: bold'},
-                            {field: 'owner$', title: '瑙勬牸'},
-                            {field: 'payment$', title: '瑙勬牸'}
+                            {field: 'owner$', title: '璐т富'},
+                            {field: 'payment$', title: '璐х墿褰㈡��'},
+                            {field: 'weight', title: '閲嶉噺'}
                         ]],
                         request: {
                             pageName: 'curr',
@@ -157,6 +158,9 @@
             });
         }else if (layEvent === 'wrkTrace'){
             showWrkTrace(data.id);
+        }
+        else if (layEvent === 'printExcel'){
+            printExcel(data);
         }
     });
 
@@ -547,4 +551,13 @@
             }
         })
     }
+    function printExcel(data){
+        layer.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function(){
+            layer.closeAll();
+            layer.load(1, {shade: [0.1,'#fff']});
+            // location.href = "http://192.168.4.121:8082/stwms/orderCheck/printExport/auth?orderNo="+data.orderNo;
+            location.href = "http://10.114.97.100:8080/stwms/orderLog/printExport/auth?orderNo="+data.orderNo;
+            layer.closeAll('loading');
+        });
+    }
 });
diff --git a/src/main/webapp/views/mat/mat.html b/src/main/webapp/views/mat/mat.html
index 3c83dc8..8aee13d 100644
--- a/src/main/webapp/views/mat/mat.html
+++ b/src/main/webapp/views/mat/mat.html
@@ -199,19 +199,19 @@
                     </div>
                 </div>
 
-                <div class="layui-form-item">
-                    <label class="layui-form-label">鍗曠鍑�閲�</label>
-                    <div class="layui-input-block">
-                        <input name="weight" placeholder="璇疯緭鍏ュ崟绠卞噣閲嶆牸" class="layui-input">
-                    </div>
-                </div>
+<!--                <div class="layui-form-item">-->
+<!--                    <label class="layui-form-label">鍗曠鍑�閲�</label>-->
+<!--                    <div class="layui-input-block">-->
+<!--                        <input name="weight" placeholder="璇疯緭鍏ュ崟绠卞噣閲嶆牸" class="layui-input">-->
+<!--                    </div>-->
+<!--                </div>-->
 
-                <div class="layui-form-item">
-                    <label class="layui-form-label">鍗曠浣撶Н</label>
-                    <div class="layui-input-block">
-                        <input name="volume" placeholder="璇疯緭鍏ュ崟绠变綋绉�" class="layui-input">
-                    </div>
-                </div>
+<!--                <div class="layui-form-item">-->
+<!--                    <label class="layui-form-label">鍗曠浣撶Н</label>-->
+<!--                    <div class="layui-input-block">-->
+<!--                        <input name="volume" placeholder="璇疯緭鍏ュ崟绠变綋绉�" class="layui-input">-->
+<!--                    </div>-->
+<!--                </div>-->
 
             </div>
 
@@ -237,19 +237,19 @@
                     </div>
                 </div>
 
-                <div class="layui-form-item">
-                    <label class="layui-form-label">鍗曠姣涢噸</label>
-                    <div class="layui-input-block">
-                        <input name="length" placeholder="璇疯緭鍏ュ崟绠辨瘺閲�" class="layui-input">
-                    </div>
-                </div>
+<!--                <div class="layui-form-item">-->
+<!--                    <label class="layui-form-label">鍗曠姣涢噸</label>-->
+<!--                    <div class="layui-input-block">-->
+<!--                        <input name="length" placeholder="璇疯緭鍏ュ崟绠辨瘺閲�" class="layui-input">-->
+<!--                    </div>-->
+<!--                </div>-->
 
-                <div class="layui-form-item">
-                    <label class="layui-form-label">鍗曠浣撶Н</label>
-                    <div class="layui-input-block">
-                        <input name="threeCode" placeholder="璇疯緭鍏ョ瀛愬昂瀵�" class="layui-input">
-                    </div>
-                </div>
+<!--                <div class="layui-form-item">-->
+<!--                    <label class="layui-form-label">鍗曠浣撶Н</label>-->
+<!--                    <div class="layui-input-block">-->
+<!--                        <input name="threeCode" placeholder="璇疯緭鍏ョ瀛愬昂瀵�" class="layui-input">-->
+<!--                    </div>-->
+<!--                </div>-->
 
             </div>
         </div>
diff --git a/src/main/webapp/views/order/order.html b/src/main/webapp/views/order/order.html
index 300ccae..7644d67 100644
--- a/src/main/webapp/views/order/order.html
+++ b/src/main/webapp/views/order/order.html
@@ -87,6 +87,7 @@
 <div id="box" style="display: block"></div>
 <!-- 琛ㄦ牸鎿嶄綔鍒� -->
 <script type="text/html" id="operate">
+    <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>
diff --git a/src/main/webapp/views/orderLog/orderLog.html b/src/main/webapp/views/orderLog/orderLog.html
index 094f35b..febcf8c 100644
--- a/src/main/webapp/views/orderLog/orderLog.html
+++ b/src/main/webapp/views/orderLog/orderLog.html
@@ -82,17 +82,7 @@
 </div>
 <!-- 琛ㄦ牸鎿嶄綔鍒� -->
 <script type="text/html" id="operate">
-    {{# 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>
-    {{# } }}
-    {{# if ((d.settle == 0 || d.settle == 1) && (d.docType == 21 || d.docType == 11 || d.docType == 12)) { }}
-    <a class="layui-btn layui-btn-primary layui-border-blue layui-btn-xs btn-complete" lay-event="manPrint">鐢熸垚鎷h揣鍗�</a>
-    {{# } }}
-    {{# if (d.settle == 2) { }}
-    <a class="layui-btn layui-btn-primary layui-border-blue layui-btn-xs btn-complete" lay-event="complete">瀹岀粨</a>
-    {{# } }}
-    <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>
 </script>
 <!-- 琛ㄦ牸鎿嶄綔鍒� -->
 <script type="text/html" id="tbLook">

--
Gitblit v1.9.1