From 7726f938fda4aee9dffd188c565e715a6f17a7ff Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期五, 07 二月 2025 14:41:50 +0800
Subject: [PATCH] 单据管理一键导出所有数据

---
 src/main/resources/mapper/OrderDetlMapper.xml             |   24 ++++++
 src/main/java/com/zy/asrs/controller/OrderController.java |   18 ++++
 src/main/java/com/zy/asrs/entity/OrderDetlExcelVo.java    |  115 ++++++++++++++++++++++++++++
 src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java     |    7 +
 src/main/webapp/static/js/order/order.js                  |   24 ++++++
 src/main/webapp/views/order/order.html                    |    3 
 6 files changed, 191 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/OrderController.java b/src/main/java/com/zy/asrs/controller/OrderController.java
index 0a28f50..7e97795 100644
--- a/src/main/java/com/zy/asrs/controller/OrderController.java
+++ b/src/main/java/com/zy/asrs/controller/OrderController.java
@@ -12,6 +12,7 @@
 import com.zy.asrs.entity.*;
 import com.zy.asrs.entity.param.OrderDomainParam;
 import com.zy.asrs.entity.result.OrderDetlVo;
+import com.zy.asrs.mapper.OrderDetlMapper;
 import com.zy.asrs.service.*;
 import com.zy.common.CodeRes;
 import com.zy.common.model.DetlDto;
@@ -52,6 +53,9 @@
 
     @Resource
     private UserService userService;
+
+    @Resource
+    private OrderDetlMapper orderDetlMapper;
 
     @RequestMapping(value = "/order/nav/list/auth")
     @ManagerAuth
@@ -470,6 +474,20 @@
                 .doWrite(orderDetlVos);
     }
 
+    @PostMapping (value = "/order/exportAll/auth")
+    @ManagerAuth
+    public R export() {
+
+        User user = getUser();
+        Long userId = null;
+        if (user.getRoleId() != 2 && user.getRoleId() != 24) {
+            userId = user.getId();
+        }
+        List<OrderDetlExcelVo> orderDetlExcelVoList = orderDetlMapper.selectExportExcelAllDataList(userId);
+
+        return R.ok(orderDetlExcelVoList);
+    }
+
     @RequestMapping(value = "/order/list/all")
     public R orderList() {
 
diff --git a/src/main/java/com/zy/asrs/entity/OrderDetlExcelVo.java b/src/main/java/com/zy/asrs/entity/OrderDetlExcelVo.java
new file mode 100644
index 0000000..fa819a4
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/OrderDetlExcelVo.java
@@ -0,0 +1,115 @@
+package com.zy.asrs.entity;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.baomidou.mybatisplus.annotations.TableField;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+public class OrderDetlExcelVo implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 鍗曟嵁缂栧彿
+     */
+    @ApiModelProperty(value= "鍗曟嵁缂栧彿")
+    @TableField("order_no")
+    @ExcelProperty({"鍗曟嵁", "鍗曟嵁缂栧彿"})
+    private String orderNo;
+
+
+    /**
+     * 鏁伴噺
+     */
+    @ApiModelProperty(value= "鏁伴噺")
+    @ExcelProperty({"鍗曟嵁", "鏁伴噺"})
+    private Double anfme;
+
+    /**
+     * 浣滀笟鏁伴噺
+     *
+     *  鍏ュ簱 : 缁勬墭瀹屾垚锛岀粍鎵樻。銆佸伐浣滄。銆佸叆搴撳畬鎴愭暟閲�
+     *  鍑哄簱 : 宸ヤ綔妗c�佸嚭搴撳畬鎴愭暟閲�
+     */
+    @ApiModelProperty(value= "浣滀笟鏁伴噺")
+    @TableField("work_qty")
+    @ExcelProperty({"鍗曟嵁", "浣滀笟鏁伴噺"})
+    private Double workQty;
+
+    /**
+     * 瀹屾垚鏁伴噺
+     *
+     *  鍏ュ簱 : qty 馃憜
+     *  鍑哄簱 : qty 馃憜
+     */
+    @ApiModelProperty(value= "瀹屾垚鏁伴噺")
+    @ExcelProperty({"鍗曟嵁", "瀹屾垚鏁伴噺"})
+    private Double qty;
+
+    /**
+     * 鍟嗗搧缂栫爜
+     */
+    @ApiModelProperty(value= "鍟嗗搧缂栫爜")
+    @ExcelProperty({"鍗曟嵁", "鍟嗗搧缂栫爜"})
+    private String matnr;
+
+    /**
+     * 鍟嗗搧鍚嶇О
+     */
+    @ApiModelProperty(value= "鍟嗗搧鍚嶇О")
+    @ExcelProperty({"鍗曟嵁", "鍟嗗搧鍚嶇О"})
+    private String maktx;
+
+    /**
+     * 瑙勬牸
+     */
+    @ApiModelProperty(value= "瑙勬牸")
+    @ExcelProperty({"鍗曟嵁", "瑙勬牸"})
+    private String specs;
+
+    /**
+     * 閲嶉噺
+     */
+    @ApiModelProperty(value= "閲嶉噺")
+    @ExcelProperty({"鍗曟嵁", "閲嶉噺"})
+    private Double weight;
+
+    /**
+     * 鎷ユ湁鑰�
+     */
+    @ApiModelProperty(value= "鎷ユ湁鑰� 1: 鏉板厠   ")
+    @ExcelProperty({"鍗曟嵁", "璐т富ID"})
+    private Integer owner;
+
+    /**
+     * 璐х墿褰㈡��:0锛氫唬閲囥��1锛氫粨鍌�
+     */
+    @ApiModelProperty(value= "璐х墿褰㈡��:0锛氫唬閲囥��1锛氫粨鍌�")
+    private Integer payment;
+//
+//
+//    public String getOwner$(){
+//        LocOwnerService service = SpringUtils.getBean(LocOwnerService.class);
+//        LocOwner locOwner = service.selectById(this.owner);
+//        if (!Cools.isEmpty(locOwner)){
+//            return String.valueOf(locOwner.getOwner());
+//        }
+//        return null;
+//    }
+//
+//    public String getPayment$(){
+//        if (null == this.payment){ return null; }
+//        switch (this.payment){
+//            case 1:
+//                return "浠撳偍";
+//            case 0:
+//                return "浠i噰";
+//            default:
+//                return String.valueOf(this.payment);
+//        }
+//    }
+
+}
\ No newline at end of file
diff --git a/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java b/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java
index 41eee78..e63a45d 100644
--- a/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.mapper.BaseMapper;
 import com.zy.asrs.entity.OrderDetl;
+import com.zy.asrs.entity.OrderDetlExcelVo;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
@@ -38,4 +39,10 @@
     Integer checkAllDetlFinish(@Param("orderNo") String orderNo);
 
     Integer sameOrderComb(@Param("orderNo") String orderNo, @Param("matnr") String matnr, @Param("batch") String batch);
+
+    /**
+     * 鏌ヨ瀵煎嚭鎵�鏈夊崟鎹埌excel鎵�闇�瑕佺殑鏁版嵁
+     * @param userId 鏍规嵁鏉冮檺鍙兘鏌ヨ褰撳墠鐢ㄦ埛鍒涘缓鐨勫崟瀛�
+     */
+    List<OrderDetlExcelVo> selectExportExcelAllDataList(@Param("userId") Long userId);
 }
diff --git a/src/main/resources/mapper/OrderDetlMapper.xml b/src/main/resources/mapper/OrderDetlMapper.xml
index 07d0788..415abc7 100644
--- a/src/main/resources/mapper/OrderDetlMapper.xml
+++ b/src/main/resources/mapper/OrderDetlMapper.xml
@@ -146,6 +146,30 @@
         and matnr = #{matnr}
         and batch = #{batch}
     </select>
+    <select id="selectExportExcelAllDataList" resultType="com.zy.asrs.entity.OrderDetlExcelVo">
+        select
+            mo.order_no orderNo,
+            md.anfme ,
+            md.work_qty workQty,
+            md.qty ,
+            md.matnr ,
+            md.maktx ,
+            md.specs ,
+            md.weight ,
+            md.owner ,
+            md.payment
+        from
+            man_order mo
+                left join man_order_detl md on
+                mo.id = md.order_id
+        where mo.status = 1
+        <if test="userId != null and userId != ''">
+            and mo.create_by = #{userId}
+        </if>
+        order by
+            mo.settle asc,
+            mo.create_time desc
+    </select>
 
     <update id="increase">
         update man_order_detl
diff --git a/src/main/webapp/static/js/order/order.js b/src/main/webapp/static/js/order/order.js
index fbf3238..3e27de8 100644
--- a/src/main/webapp/static/js/order/order.js
+++ b/src/main/webapp/static/js/order/order.js
@@ -82,6 +82,30 @@
         insTb.reload({where: data.field, page: {curr: 1}});
     });
 
+    // 瀵煎嚭鎵�鏈�
+    form.on('submit(exportAll)', function (data) {
+        layer.closeAll();
+        layer.load(1, {shade: [0.1,'#fff']});
+        $.ajax({
+            url: baseUrl+"/order/exportAll/auth",
+            headers: {'token': localStorage.getItem('token')},
+            data: {},
+            dataType:'json',
+            contentType:'application/json;charset=UTF-8',
+            method: 'POST',
+            success: function (res) {
+                if (res.code === 200) {
+                    table.exportFile(['鍗曟嵁缂栧彿','鏁伴噺','浣滀笟鏁伴噺','瀹屾垚鏁伴噺','鍟嗗搧缂栫爜','鍟嗗搧鍚嶇О','瑙勬牸','閲嶉噺','璐т富id','璐х墿褰㈡�乮d'],res.data,'xls');
+                } else if (res.code === 403) {
+                    top.location.href = baseUrl+"/";
+                } else {
+                    layer.msg(res.msg)
+                }
+            }
+        });
+        layer.closeAll('loading');
+    });
+
     // 娣诲姞
     $("#orderAddBtn").click(function () {
         showEditModel();
diff --git a/src/main/webapp/views/order/order.html b/src/main/webapp/views/order/order.html
index d748448..7c5b136 100644
--- a/src/main/webapp/views/order/order.html
+++ b/src/main/webapp/views/order/order.html
@@ -76,6 +76,9 @@
                         </div>
                     </div>
                     <div class="layui-inline">
+                        <button class="layui-btn icon-btn" lay-filter="exportAll" lay-submit>
+                            <i class="layui-icon">&#xe67d;</i>瀵煎嚭鎵�鏈�
+                        </button>
                         <button class="layui-btn icon-btn" lay-filter="tbSearch" lay-submit>
                             <i class="layui-icon">&#xe615;</i>鎼滅储
                         </button>

--
Gitblit v1.9.1