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