From ab14726215678ac69adfeafbd845ebc5b0776ea2 Mon Sep 17 00:00:00 2001
From: zhangc <zc@123>
Date: 星期二, 14 一月 2025 14:56:41 +0800
Subject: [PATCH] 优化订单同步逻辑及库位查找
---
src/main/java/com/zy/asrs/controller/OrderDetlController.java | 126 +++++++++++++++++++++++++++++++++++++++++-
1 files changed, 123 insertions(+), 3 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/OrderDetlController.java b/src/main/java/com/zy/asrs/controller/OrderDetlController.java
index 88e1c85..83caf0b 100644
--- a/src/main/java/com/zy/asrs/controller/OrderDetlController.java
+++ b/src/main/java/com/zy/asrs/controller/OrderDetlController.java
@@ -15,7 +15,9 @@
import com.zy.asrs.entity.OrderDetl;
import com.zy.asrs.service.*;
import com.zy.common.web.BaseController;
+import lombok.Synchronized;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.StopWatch;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
@@ -98,9 +100,96 @@
return R.ok(orderDetlService.selectPage(new Page<>(curr, limit), wrapper));
}
+ @RequestMapping(value = "/orderDetl/pakout/list/authV193")
+ @ManagerAuth
+ public R pakoutList193(@RequestParam(defaultValue = "1")Integer curr,
+ @RequestParam(defaultValue = "10")Integer limit,
+ @RequestParam(required = false)String orderByField,
+ @RequestParam(required = false)String orderByType,
+ @RequestParam(required = false)Long docType,
+ @RequestParam Map<String, Object> param){
+ EntityWrapper<OrderDetl> wrapper = new EntityWrapper<>();
+ param.remove("docType");
+ excludeTrash(param);
+ convertLike(param, wrapper);
+ if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} else {
+ wrapper.orderBy("create_time", false);
+ }
+ List<DocType> pakins = docTypeService.selectList(new EntityWrapper<DocType>().eq("pakout", 1));
+ List<Long> docIds = new ArrayList<>();
+
+ List<Long> unDocIds = new ArrayList<>();
+ unDocIds.add(18L);
+ unDocIds.add(31L);
+ unDocIds.add(33L);
+ unDocIds.add(34L);
+ unDocIds.add(35L);
+ unDocIds.add(37L);
+ for (DocType pakin : pakins) {
+ if (!unDocIds.contains(pakin.getDocId())) {
+ docIds.add(pakin.getDocId());
+ }
+ }
+
+ if (docIds.size() > 0) {
+ if (docType > 0) {
+ wrapper.in("source",docType);
+ } else {
+ wrapper.in("source",docIds);
+ }
+
+ } else {
+ wrapper.in("source",0);
+ }
+ Page<OrderDetl> page = orderDetlService.selectPage(new Page<>(curr, limit), wrapper);
+ for (OrderDetl record : page.getRecords()) {
+ Double sumAnfme = agvLocDetlService.getSumAnfme(record.getMatnr(), record.getThreeCode());
+ record.setStock(sumAnfme == null ? 0 : sumAnfme);
+ }
+
+ return R.ok(page);
+ }
+
@RequestMapping(value = "/orderDetl/pakout/list/authV3")
+ @Synchronized
@ManagerAuth
public R pakoutList3(@RequestParam(defaultValue = "1")Integer curr,
+ @RequestParam(defaultValue = "10")Integer limit,
+ @RequestParam(required = false)String orderByField,
+ @RequestParam(required = false)String orderByType,
+ @RequestParam Map<String, Object> param){
+ StopWatch stopWatch = new StopWatch();
+ stopWatch.start();
+ EntityWrapper<OrderDetl> wrapper = new EntityWrapper<>();
+ excludeTrash(param);
+ convertLike(param, wrapper);
+ if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} else {
+ wrapper.orderBy("create_time", false);
+ }
+ List<DocType> pakins = docTypeService.selectList(new EntityWrapper<DocType>().eq("pakout", 1));
+ List<Long> docIds = new ArrayList<>();
+ for (DocType pakin : pakins) {
+ if (pakin.getDocId() != 17 && pakin.getDocId() != 33 && pakin.getDocId() != 34 && pakin.getDocId() != 35) {
+ docIds.add(pakin.getDocId());
+ }
+ }
+ wrapper.in("source",docIds);
+ Page<OrderDetl> page = orderDetlService.selectPage(new Page<>(curr, limit), wrapper);
+ for (OrderDetl record : page.getRecords()) {
+ Double sumAnfme = agvLocDetlService.getSumAnfme(record.getMatnr(), record.getThreeCode());
+ record.setStock(sumAnfme == null ? 0 : sumAnfme);
+ }
+ stopWatch.stop();
+ System.out.println(stopWatch.getTotalTimeSeconds());
+ return R.ok(page);
+ }
+
+ /*
+ * 鍗婃垚鍝佸姞宸ュ崟鎹�
+ * */
+ @RequestMapping(value = "/orderDetl/pakout/list/authV5")
+ @ManagerAuth
+ public R pakoutList5(@RequestParam(defaultValue = "1")Integer curr,
@RequestParam(defaultValue = "10")Integer limit,
@RequestParam(required = false)String orderByField,
@RequestParam(required = false)String orderByType,
@@ -114,15 +203,15 @@
List<DocType> pakins = docTypeService.selectList(new EntityWrapper<DocType>().eq("pakout", 1));
List<Long> docIds = new ArrayList<>();
for (DocType pakin : pakins) {
- if (pakin.getDocId() != 33 && pakin.getDocId() != 34) {
+ if (pakin.getDocId() == 35) {
docIds.add(pakin.getDocId());
}
}
-
+ wrapper.eq("process_sts",1);
wrapper.in("source",docIds);
Page<OrderDetl> page = orderDetlService.selectPage(new Page<>(curr, limit), wrapper);
for (OrderDetl record : page.getRecords()) {
- Double sumAnfme = agvLocDetlService.getSumAnfme(record.getMatnr(), record.getThreeCode());
+ Double sumAnfme = agvLocDetlService.getSumAnfmeProcess(record.getMatnr(), record.getThreeCode());
record.setStock(sumAnfme == null ? 0 : sumAnfme);
}
@@ -153,6 +242,37 @@
wrapper.in("source",docIds);
Page<OrderDetl> page = orderDetlService.selectPage(new Page<>(curr, limit), wrapper);
for (OrderDetl record : page.getRecords()) {
+ Double sumAnfme = agvLocDetlService.getSumAnfmeProcessed(record.getMatnr(), record.getThreeCode());
+ record.setStock(sumAnfme == null ? 0 : sumAnfme);
+ }
+
+ return R.ok(page);
+ }
+
+ @RequestMapping(value = "/orderDetl/pakout/list/authV6")
+ @ManagerAuth
+ public R pakoutList6(@RequestParam(defaultValue = "1")Integer curr,
+ @RequestParam(defaultValue = "10")Integer limit,
+ @RequestParam(required = false)String orderByField,
+ @RequestParam(required = false)String orderByType,
+ @RequestParam Map<String, Object> param){
+ EntityWrapper<OrderDetl> wrapper = new EntityWrapper<>();
+ excludeTrash(param);
+ convertLike(param, wrapper);
+ if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} else {
+ wrapper.orderBy("create_time", false);
+ }
+ List<DocType> pakins = docTypeService.selectList(new EntityWrapper<DocType>().eq("pakout", 1));
+ List<Long> docIds = new ArrayList<>();
+ for (DocType pakin : pakins) {
+ if (pakin.getDocId() == 37) {
+ docIds.add(pakin.getDocId());
+ }
+ }
+
+ wrapper.in("source",docIds);
+ Page<OrderDetl> page = orderDetlService.selectPage(new Page<>(curr, limit), wrapper);
+ for (OrderDetl record : page.getRecords()) {
Double sumAnfme = agvLocDetlService.getSumAnfme(record.getMatnr(), record.getThreeCode());
record.setStock(sumAnfme == null ? 0 : sumAnfme);
}
--
Gitblit v1.9.1