From e3737af2c4fb3653df90f1f9a8059f0041c6bcf0 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期五, 26 五月 2023 16:33:04 +0800
Subject: [PATCH] 解决拉取地图缓慢问题
---
src/main/java/com/zy/asrs/controller/MatController.java | 54 +++++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 47 insertions(+), 7 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/MatController.java b/src/main/java/com/zy/asrs/controller/MatController.java
index 66fabfa..2d12e18 100644
--- a/src/main/java/com/zy/asrs/controller/MatController.java
+++ b/src/main/java/com/zy/asrs/controller/MatController.java
@@ -13,8 +13,11 @@
import com.zy.asrs.entity.Mat;
import com.zy.asrs.entity.MatPrint;
import com.zy.asrs.entity.OrderDetl;
+import com.zy.asrs.entity.dto.OrderDetlWithSum;
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;
@@ -31,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.*;
@@ -41,6 +46,9 @@
private MatService matService;
@Autowired
private SnowflakeIdWorker snowflakeIdWorker;
+
+ @Autowired
+ private LocDetlService locDetlService;
@RequestMapping(value = "/mat/auto/matnr/auth")
public R autoMatnr(){
@@ -89,7 +97,11 @@
@RequestMapping(value = "/mat/auth")
@ManagerAuth
public R find(@RequestParam("matnr") String matnr) {
- return R.ok(matService.selectOne(new EntityWrapper<Mat>().eq("matnr", matnr)));
+ Mat mat = matService.selectOne(new EntityWrapper<Mat>().eq("matnr", matnr));
+ if(Cools.isEmpty(mat)){
+ return R.error("鐗╂枡鏁版嵁涓嶅瓨鍦紝璇锋鏌ョ墿鏂欐。妗�");
+ }
+ return R.ok(mat);
}
@RequestMapping(value = "/mat/list/auth")
@@ -108,6 +120,7 @@
, param.get("matnr")
, param.get("maktx")
, param.get("specs")
+ , param.get("mat_type")
)
);
@@ -144,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();
@@ -210,14 +223,18 @@
@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();
}
+// OrderDetlWithSum orderDetl = new OrderDetlWithSum();
OrderDetl orderDetl = new OrderDetl();
orderDetl.sync(mat);
orderDetl.setAnfme(0.0D);
+// orderDetl.setSum(locDetlService.selectSumByMatnr(mat.getMatnr()));
return R.ok().add(orderDetl);
}
@@ -298,6 +315,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 鎼滅储鍟嗗搧鍒楄〃
@@ -305,13 +345,13 @@
@ManagerAuth
public R getMatDataKV(@RequestParam(required = false) String condition) {
Wrapper<Mat> wrapper = new EntityWrapper<Mat>()
- .andNew().like("matnr", condition).or().like("maktx", condition)
+ .andNew().like("matnr", condition).or().like("maktx", condition).or().like("specs", condition)
.orderBy("create_time", false);
List<Mat> mats = matService.selectPage(new Page<>(1, 30), wrapper).getRecords();
List<KeyValueVo> valueVos = new ArrayList<>();
for (Mat mat : mats) {
KeyValueVo vo = new KeyValueVo();
- vo.setName(mat.getMatnr() + " - " + mat.getMaktx());
+ vo.setName(mat.getSpecs() + "-" + mat.getMaktx() + " - " + mat.getMatnr());
vo.setValue(mat.getMatnr());
valueVos.add(vo);
}
--
Gitblit v1.9.1