From ae674442480bf1126dbfa430b246cd9a706666cc Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期五, 28 四月 2023 13:11:06 +0800
Subject: [PATCH] 商品档案数据导出和新商品编号同步

---
 src/main/java/com/zy/asrs/controller/MatController.java |   30 ++++++++++++++++++++++++++++--
 1 files changed, 28 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/MatController.java b/src/main/java/com/zy/asrs/controller/MatController.java
index 876df56..0a2cf10 100644
--- a/src/main/java/com/zy/asrs/controller/MatController.java
+++ b/src/main/java/com/zy/asrs/controller/MatController.java
@@ -17,6 +17,7 @@
 import com.zy.asrs.entity.result.KeyValueVo;
 import com.zy.asrs.service.LocDetlService;
 import com.zy.asrs.service.MatService;
+import com.zy.asrs.utils.MatExcel2Listener;
 import com.zy.asrs.utils.MatExcelListener;
 import com.zy.common.CodeRes;
 import com.zy.common.config.AdminInterceptor;
@@ -33,6 +34,8 @@
 import javax.servlet.http.HttpServletResponse;
 import java.awt.image.BufferedImage;
 import java.io.IOException;
+import java.io.InputStream;
+import java.io.UnsupportedEncodingException;
 import java.net.URLEncoder;
 import java.util.*;
 
@@ -153,8 +156,8 @@
         return R.ok();
     }
 
-	@RequestMapping(value = "/mat/update/auth")
-	@ManagerAuth
+    @RequestMapping(value = "/mat/update/auth")
+    @ManagerAuth
     public R update(Mat mat){
         if (Cools.isEmpty(mat) || null==mat.getId()){
             return R.error();
@@ -309,6 +312,29 @@
         return R.ok("鎴愬姛鍚屾"+listener.getTotal()+"鏉″晢鍝佹暟鎹�");
     }
 
+    // 鏂板晢鍝佺紪鍙峰悓姝�
+    @PostMapping(value = "/mat/excel/importNewMatnr/auth")
+    @ManagerAuth(memo = "鏂板晢鍝佺紪鍙峰悓姝�")
+    @Transactional
+    public R matExcelImportNewMatnr(MultipartFile file) throws IOException {
+        MatExcel2Listener listener = new MatExcel2Listener(getUserId());
+        EasyExcel.read(file.getInputStream(), MatExcel.class, listener).sheet().doRead();
+        return R.ok("鎴愬姛鍚屾"+listener.getTotal()+"鏉″晢鍝佹暟鎹�");
+    }
+
+    @RequestMapping(value = "/mat/excel/export/auth")
+    @ManagerAuth(memo = "鍟嗗搧妗f鏁版嵁瀵煎嚭")
+    @Transactional
+    public void matExcelExport(@RequestParam Map<String, Object> param, HttpServletResponse response) throws IOException {
+        List<Mat> data = matService.exportData(param.get("matnr"), param.get("maktx"), param.get("specs"));
+        response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
+        response.setCharacterEncoding("utf-8");
+        // 杩欓噷URLEncoder.encode鍙互闃叉涓枃涔辩爜 褰撶劧鍜宔asyexcel娌℃湁鍏崇郴
+        String fileName = URLEncoder.encode("娴嬭瘯", "UTF-8").replaceAll("\\+", "%20");
+        response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx");
+        EasyExcel.write(response.getOutputStream(), Mat.class).sheet("妯℃澘").doWrite(data);
+    }
+
     /*************************************** xm-select ***********************************************/
 
     // xm-select 鎼滅储鍟嗗搧鍒楄〃

--
Gitblit v1.9.1