From 21d0e7ab9d5c7316225a3e9eecf465cd37c9bd85 Mon Sep 17 00:00:00 2001 From: zhang <zc857179121@qq.com> Date: 星期四, 05 六月 2025 14:15:07 +0800 Subject: [PATCH] 123 --- src/main/java/com/zy/asrs/controller/MatController.java | 40 ++++++++++++++++++++++++++++++++++++---- 1 files changed, 36 insertions(+), 4 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..bc0e15f 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.*; @@ -117,6 +120,7 @@ , param.get("matnr") , param.get("maktx") , param.get("specs") + , param.get("mat_type") ) ); @@ -153,8 +157,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(); @@ -219,8 +223,10 @@ @RequestMapping(value = "/mat/covert/{id}/auth") @ManagerAuth - public R covert(@PathVariable("id") String id) { - Mat mat = matService.selectByMatnr(String.valueOf(id)); + public R covert(@PathVariable("id") String id) throws UnsupportedEncodingException{ + byte[] decode = Base64.getDecoder().decode(id); + String id2 = new String(decode, "utf-8"); + Mat mat = matService.selectByMatnr(id2); if (mat == null) { return R.ok(); } @@ -267,6 +273,9 @@ List<MatPrint> res = new ArrayList<>(); for (String matnr : param){ Mat mat = matService.selectByMatnr(matnr); + if(Cools.isEmpty(mat)) { + continue; + } // 鎵撳嵃鏁版嵁娉ㄥ叆 MatPrint print = new MatPrint(); print.setMatnr(mat.getMatnr()); @@ -309,6 +318,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