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/LocDetlController.java | 114 +++++++++++++++++++++++++++++++++------------------------
1 files changed, 66 insertions(+), 48 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/LocDetlController.java b/src/main/java/com/zy/asrs/controller/LocDetlController.java
index 1eadc60..c60c814 100644
--- a/src/main/java/com/zy/asrs/controller/LocDetlController.java
+++ b/src/main/java/com/zy/asrs/controller/LocDetlController.java
@@ -14,6 +14,7 @@
import com.core.common.R;
import com.zy.asrs.entity.LocDetl;
import com.zy.asrs.entity.Mat;
+import com.zy.asrs.entity.param.AbnormalLocDetlParam;
import com.zy.asrs.mapper.LocDetlMapper;
import com.zy.asrs.service.LocDetlService;
import com.zy.asrs.service.MatService;
@@ -294,64 +295,81 @@
@RequestParam(required = false) String condition,
@RequestParam Map<String, Object> param) {
- List<LocDetl> result = new ArrayList<>();
+// List<LocDetl> result = new ArrayList<>();
+ List<AbnormalLocDetlParam> result = new ArrayList<>();
// excludeTrash(param);
param.put("curr", curr);
param.put("limit", limit);
- List<LocDetl> groupLocDetl = locDetlService.selectGroupPage(param, curr, limit);
- for (LocDetl locDetl : groupLocDetl) {
+ Page<LocDetl> groupLocDetl = locDetlService.getStockStatis2(toPage(1, 10000, param, LocDetl.class));
+// List<LocDetl> groupLocDetl = locDetlService.selectGroupPage(param, curr, limit);
+ for (LocDetl locDetl : groupLocDetl.getRecords()) {
+ AbnormalLocDetlParam abnormalLocDetlParam = new AbnormalLocDetlParam();
Mat mat = matService.selectOne(new EntityWrapper<Mat>()
.eq("matnr", locDetl.getMatnr()));
- locDetl.setStoreMax(mat.getStoreMax());
- locDetl.setStoreMaxDate(mat.getStoreMaxDate());
- locDetl.setStoreMin(mat.getStoreMin());
- if (Cools.isEmpty(mat)
- || Cools.isEmpty(mat.getStoreMax())
- || Cools.isEmpty(mat.getStoreMaxDate())
- || Cools.isEmpty(mat.getStoreMin())) {
- continue;
- } else if (Cools.isEmpty(locDetl.getBatch())) {
- continue;
- } else if (locDetl.getBatch().length() != 8) {
- continue;
- }
- try {
- SimpleDateFormat simple = new SimpleDateFormat("yyyyMMdd");
- Date maxDate = simple.parse(locDetl.getBatch());
- long time = maxDate.getTime();
- Date now = new Date();
- long time1 = now.getTime();
- locDetl.setNowTime((int)((time1 - time)/(1000*60*60*24)));
- } catch (ParseException e) {
- e.printStackTrace();
- }
- if (locDetl.getAnfme() > mat.getStoreMax()) {
- result.add(locDetl);
- continue;
- } else if (locDetl.getAnfme() < mat.getStoreMin()) {
- result.add(locDetl);
+ if (Cools.isEmpty(mat)) {
continue;
}
- try {
- SimpleDateFormat simple = new SimpleDateFormat("yyyyMMdd");
- Date maxDate = simple.parse(locDetl.getBatch());
- Calendar calendar = new GregorianCalendar();
- calendar.setTime(maxDate);
- // 鎶婃棩鏈熷線鍚庡鍔犱竴澶�,鏁存暟 寰�鍚庢帹,璐熸暟寰�鍓嶇Щ鍔�
- calendar.add(Calendar.DATE, mat.getStoreMaxDate());
- // 杩欎釜鏃堕棿灏辨槸鏃ユ湡寰�鍚庢帹涓�澶╃殑缁撴灉
- maxDate = calendar.getTime();
- Date now = new Date();
- if (now.compareTo(maxDate) > 0) {
- result.add(locDetl);
+
+ if (!Cools.isEmpty(mat.getStoreMax())
+ || !Cools.isEmpty(mat.getStoreMin())) {
+ abnormalLocDetlParam.setStoreMax(mat.getStoreMax());
+ abnormalLocDetlParam.setStoreMaxDate(mat.getStoreMaxDate());
+ abnormalLocDetlParam.setStoreMin(mat.getStoreMin());
+ abnormalLocDetlParam.setAnfme(locDetl.getAnfme());
+ abnormalLocDetlParam.setMaktx(mat.getMaktx());
+ abnormalLocDetlParam.setMatnr(mat.getMatnr());
+ abnormalLocDetlParam.setSpecs(mat.getSpecs());
+ abnormalLocDetlParam.setBatch(locDetl.getBatch());
+
+// SimpleDateFormat simple = new SimpleDateFormat("yyyyMMdd");
+// Date maxDate = simple.parse(locDetl.getBatch());
+// long time = maxDate.getTime();
+// Date now = new Date();
+// long time1 = now.getTime();
+// abnormalLocDetlParam.setNowTime((int) ((time1 - time) / (1000 * 60 * 60 * 24)));
+
+ if (!Cools.isEmpty(mat.getStoreMax()) && locDetl.getAnfme() > mat.getStoreMax()) {
+ result.add(abnormalLocDetlParam);
+ continue;
+ } else if (!Cools.isEmpty(mat.getStoreMin()) && locDetl.getAnfme() < mat.getStoreMin()) {
+ result.add(abnormalLocDetlParam);
+ continue;
}
- } catch (Exception e) {
- continue;
+ } else if (!Cools.isEmpty(mat.getStoreMaxDate())) {
+ if (Cools.isEmpty(locDetl.getBatch())) {
+ continue;
+ } else if (locDetl.getBatch().length() != 8) {
+ continue;
+ }
+ try {
+ SimpleDateFormat simple = new SimpleDateFormat("yyyyMMdd");
+ Date maxDate = simple.parse(locDetl.getBatch());
+ Calendar calendar = new GregorianCalendar();
+ calendar.setTime(maxDate);
+ // 鎶婃棩鏈熷線鍚庡鍔犱竴澶�,鏁存暟 寰�鍚庢帹,璐熸暟寰�鍓嶇Щ鍔�
+ calendar.add(Calendar.DATE, mat.getStoreMaxDate());
+ // 杩欎釜鏃堕棿灏辨槸鏃ユ湡寰�鍚庢帹涓�澶╃殑缁撴灉
+ maxDate = calendar.getTime();
+ Date now = new Date();
+ abnormalLocDetlParam.setStoreMax(mat.getStoreMax());
+ abnormalLocDetlParam.setStoreMaxDate(mat.getStoreMaxDate());
+ abnormalLocDetlParam.setStoreMin(mat.getStoreMin());
+ abnormalLocDetlParam.setAnfme(locDetl.getAnfme());
+ abnormalLocDetlParam.setMaktx(mat.getMaktx());
+ abnormalLocDetlParam.setMatnr(mat.getMatnr());
+ abnormalLocDetlParam.setSpecs(mat.getSpecs());
+ abnormalLocDetlParam.setBatch(locDetl.getBatch());
+ if (now.compareTo(maxDate) > 0) {
+ result.add(abnormalLocDetlParam);
+ }
+ } catch (Exception e) {
+ continue;
+ }
}
}
- Page<LocDetl> locDetlPage = new Page<>();
+ Page<AbnormalLocDetlParam> locDetlPage = new Page<>();
locDetlPage.setRecords(paging(result, curr, limit));
locDetlPage.setTotal(result.size());
locDetlPage.setCurrent(curr);
@@ -359,8 +377,8 @@
return R.ok(locDetlPage);
}
- private List<LocDetl> paging(List<LocDetl> result, Integer curr, Integer limit) {
- List<LocDetl> pageRecord = new ArrayList<LocDetl>();
+ private List<AbnormalLocDetlParam> paging(List<AbnormalLocDetlParam> result, Integer curr, Integer limit) {
+ List<AbnormalLocDetlParam> pageRecord = new ArrayList<AbnormalLocDetlParam>();
int minIndex = (curr - 1) * limit;
int maxIndex = (curr * limit) - 1;
if (result.size() < maxIndex) {
--
Gitblit v1.9.1