From b176072388747abb438990157bfa305b215b4b90 Mon Sep 17 00:00:00 2001
From: zwl <1051256694@qq.com>
Date: 星期二, 14 四月 2026 21:59:39 +0800
Subject: [PATCH] 我们现在讨论一下系统找库位方案, 如何实现,对现有找库位规则进行整改,数据库也要整改 1、要能方便的填写单伸堆垛机或双伸堆垛机的深浅库位配置 2、根据设备状态分配库位,离线设备不分配 3、库位分配要均衡到每一个设备 4、库位高度需要匹配到对应库位信息,低库位能向上兼容 5、空托盘优先放在locType2库位=1的库位,没有这种库位了,允许放到其他库位 6、给入库站点设置有限去那些堆垛机,其次去那些堆垛机,弄成页面可以配置入库站点 7、在系统配置新增优先放前几列的配置,当入库的货物是高频货物时放在前几列 8、组托中会标识该托盘是高频还是低频,如果是高频则从前往后找库位,如果是低频则从后往前找库位 9、找库位时locMast中whsType字段无用
---
src/main/java/com/zy/asrs/task/handler/OrderMoveHistoryHandler.java | 75 +++++++++++++++++++++++++++++++++----
1 files changed, 67 insertions(+), 8 deletions(-)
diff --git a/src/main/java/com/zy/asrs/task/handler/OrderMoveHistoryHandler.java b/src/main/java/com/zy/asrs/task/handler/OrderMoveHistoryHandler.java
index 76ec280..11c0b25 100644
--- a/src/main/java/com/zy/asrs/task/handler/OrderMoveHistoryHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/OrderMoveHistoryHandler.java
@@ -2,12 +2,13 @@
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
-import com.zy.asrs.entity.Order;
-import com.zy.asrs.entity.OrderDetl;
-import com.zy.asrs.service.OrderDetlService;
-import com.zy.asrs.service.OrderService;
+import com.zy.asrs.entity.*;
+import com.zy.asrs.service.*;
+import com.zy.asrs.service.impl.OrderDetlPakinServiceImpl;
+import com.zy.asrs.service.impl.OrderPakinServiceImpl;
import com.zy.asrs.task.AbstractHandler;
import com.zy.asrs.task.core.ReturnT;
+import com.zy.asrs.utils.OrderInAndOutUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -21,26 +22,84 @@
@Autowired
private OrderService orderService;
@Autowired
+ private OrderPakinService orderPakinService;
+ @Autowired
+ private OrderPakoutService orderPakoutService;
+ @Autowired
private OrderDetlService orderDetlService;
+ @Autowired
+ private OrderDetlPakinServiceImpl orderDetlPakinService;
+ @Autowired
+ private OrderDetlPakoutService orderDetlPakoutService;
public ReturnT<String> start(){
- List<Order> settleEqual6 = orderService.selectList(new EntityWrapper<Order>()
- .eq("settle", 6));
+// List<Order> settleEqual6 = orderService.selectList(new EntityWrapper<Order>()
+// .eq("settle", 6));
+ List<Order> settleEqual6 = OrderInAndOutUtil.selectBySettle(null, 6L);
for (Order order : settleEqual6) {
- List<OrderDetl> orderDetls = orderDetlService.selectList(new EntityWrapper<OrderDetl>()
- .eq("order_no", order.getOrderNo()));
+// List<OrderDetl> orderDetls = orderDetlService.selectList(new EntityWrapper<OrderDetl>()
+// .eq("order_no", order.getOrderNo()));
+ List<OrderDetl> orderDetls = OrderInAndOutUtil.selectByOrderId(order.getPakinPakoutStatus$(), order.getId());
moveBoth(order,orderDetls);
log.info("宸插畬鎴愬崟鎹Щ鍔ㄨ嚦鍘嗗彶琛ㄦ垚鍔� =====>" +order);
}
return SUCCESS;
}
+ public ReturnT<String> startOrder(){
+ List<Order> settleEqual6 = orderService.selectList(new EntityWrapper<Order>()
+ .eq("settle", 6));
+// List<Order> settleEqual6 = OrderInAndOutUtil.selectBySettle(null, 6L);
+ for (Order order : settleEqual6) {
+ List<OrderDetl> orderDetls = orderDetlService.selectList(new EntityWrapper<OrderDetl>()
+ .eq("order_no", order.getOrderNo()));
+// List<OrderDetl> orderDetls = OrderInAndOutUtil.selectByOrderId(order.getPakinPakoutStatus$(), order.getId());
+ moveBothOrder(order,orderDetls);
+ log.info("宸插畬鎴愬崟鎹Щ鍔ㄨ嚦鍘嗗彶琛ㄦ垚鍔� =====>" +order);
+ }
+ return SUCCESS;
+ }
+
private void moveBoth(Order order, List<OrderDetl> orderDetls){
Date now = new Date();
if (!Cools.isEmpty(orderDetls)) {
for (OrderDetl orderDetl : orderDetls) {
orderDetl.setUpdateBy(0L);
orderDetl.setUpdateTime(now);
+// orderDetlService.addToLogTable(orderDetl);
+ OrderInAndOutUtil.addToLogTableOrderDetl(order.getPakinPakoutStatus$(),orderDetl);
+ if (order.getPakinPakoutStatus() == 1){
+ orderDetlPakinService.delete(new EntityWrapper<OrderDetlPakin>()
+ .eq("id",orderDetl.getId()));
+ } else {
+ orderDetlPakoutService.delete(new EntityWrapper<OrderDetlPakout>()
+ .eq("id",orderDetl.getId()));
+ }
+ }
+ }
+ if (!Cools.isEmpty(order)){
+ order.setUpdateBy(0L);
+ order.setUpdateTime(now);
+// orderService.addToLogTable(order);
+ OrderInAndOutUtil.addToLogTableOrder(order.getPakinPakoutStatus$(),order);
+// orderService.delete(new EntityWrapper<Order>()
+// .eq("id",order.getId()));
+ if (order.getPakinPakoutStatus() == 1){
+ orderPakinService.delete(new EntityWrapper<OrderPakin>()
+ .eq("id",order.getId()));
+ } else {
+ orderPakoutService.delete(new EntityWrapper<OrderPakout>()
+ .eq("id",order.getId()));
+ }
+ }
+ }
+
+ private void moveBothOrder(Order order, List<OrderDetl> orderDetls){
+ Date now = new Date();
+ if (!Cools.isEmpty(orderDetls)) {
+ for (OrderDetl orderDetl : orderDetls) {
+ orderDetl.setUpdateBy(0L);
+ orderDetl.setUpdateTime(now);
orderDetlService.addToLogTable(orderDetl);
orderDetlService.delete(new EntityWrapper<OrderDetl>()
.eq("id",orderDetl.getId()));
--
Gitblit v1.9.1