From 6cd08fe4de88df0a21851f96bdc4e617c5d92e36 Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期三, 29 四月 2026 11:57:31 +0800
Subject: [PATCH] 工单相关功能完善
---
src/main/java/com/zy/asrs/task/OrderSyncScheduler.java | 118 ++++++++++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 97 insertions(+), 21 deletions(-)
diff --git a/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java b/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
index 1a86031..f0c4ba5 100644
--- a/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
+++ b/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
@@ -1,48 +1,124 @@
package com.zy.asrs.task;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
-import com.zy.asrs.entity.Order;
-import com.zy.asrs.service.OrderService;
+import com.zy.asrs.entity.OrderDetlPakin;
+import com.zy.asrs.entity.OrderDetlPakout;
+import com.zy.asrs.entity.OrderPakin;
+import com.zy.asrs.entity.OrderPakout;
+import com.zy.asrs.service.*;
+import com.zy.asrs.service.impl.OrderDetlPakinServiceImpl;
import com.zy.asrs.task.core.ReturnT;
-import com.zy.asrs.task.handler.OrderSyncHandler;
+import com.zy.asrs.task.handler.OrderPakinSyncHandler;
+import com.zy.asrs.task.handler.OrderPakoutSyncHandler;
+import com.zy.system.timer.LoadingConfigTimer;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Async;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
+import javax.annotation.Resource;
+import java.util.Iterator;
import java.util.List;
/**
- * Created by vincent on 2020/7/7
+ * updated by IX in 2024/12/17
*/
@Slf4j
@Component
public class OrderSyncScheduler {
@Autowired
- private OrderSyncHandler orderSyncHandler;
+ private OrderPakinSyncHandler orderPakinSyncHandler;
@Autowired
- private OrderService orderService;
+ private OrderPakoutSyncHandler orderPakoutSyncHandler;
+ @Autowired
+ private OrderPakinService orderPakinService;
+ @Autowired
+ private OrderPakoutService orderPakoutService;
+ @Autowired
+ private ApiLogService apiLogService;
+ @Autowired
+ private LoadingConfigTimer loadingConfigTimer;
- @Scheduled(cron = "0/3 * * * * ? ")
- private void queryAndSave(){
-// for (WrkMast wrkMast : wrkMasts) {
-// ReturnT<String> result = workLogHandler.start(wrkMast);
-// if (!result.isSuccess()) {
-// log.error("宸ヤ綔妗workNo={}]鍘嗗彶妗e鐞嗗け璐�", wrkMast.getWrkNo());
-// }
-// }
+ @Resource
+ private OrderDetlPakoutService orderDetlPakoutService;
+
+ @Resource
+ private OrderDetlPakinService orderDetlPakinService;
+
+
+ @Scheduled(cron = "0 0 1 * * ? ")
+ public void clearApiLog() {
+ try {
+ apiLogService.clearWeekBefore();
+ } catch (Exception e) {
+ log.error("绗笁鏂规帴鍙f棩蹇楄嚜鍔ㄦ竻闄ゅけ璐ワ紙鑼冨洿锛氫竴鍛ㄤ箣鍓�", e);
+ }
}
- @Scheduled(cron = "0/5 * * * * ? ")
- private void completeAndReport(){
- List<Order> orders = orderService.selectList(new EntityWrapper<Order>().eq("settle", 4L).eq("status", 1));
- for (Order order : orders) {
- ReturnT<String> result = orderSyncHandler.start(order);
- if (!result.isSuccess()) {
- log.error("鍗曟嵁[orderNo={}]涓婃姤erp澶辫触", order.getOrderNo());
+ /**
+ * 瀹氭椂涓婃姤宸插叆搴撶殑璁㈠崟鏁伴噺
+ */
+// @Scheduled(cron = "0 0/5 * * * ?")
+ @Scheduled(cron = "0 0/1 * * * ?")
+ @Async("orderThreadPool")
+ public void reportInStockOrders() {
+ if (loadingConfigTimer.getErpReport()) {
+ List<OrderDetlPakin> orderDetlPakinList = orderDetlPakinService.selectList(new EntityWrapper<OrderDetlPakin>().where("qty > units"));
+ if (!orderDetlPakinList.isEmpty()) {
+ orderPakinSyncHandler.reportInStockOrders(orderDetlPakinList);
}
}
}
+ /**
+ * 瀹氭椂涓婃姤宸插嚭搴撶殑璁㈠崟鏁伴噺锛屽畾鏃朵换鍔�5鍒嗛挓涓婃姤涓�娆★紝鍑哄叆搴撻敊寮�涓婃姤
+ */
+// @Scheduled(cron = "0 3/5 * * * ?")
+ @Scheduled(cron = "0/10 * * * * ?")
+ @Async("orderThreadPool")
+ public void reportOutStockOrders() {
+ if (loadingConfigTimer.getErpReport()) {
+ List<OrderDetlPakout> orderDetlPakoutList = orderDetlPakoutService.selectList(new EntityWrapper<OrderDetlPakout>().where("qty > units"));
+ if (!orderDetlPakoutList.isEmpty()) {
+ orderPakoutSyncHandler.reportOutStockOrders(orderDetlPakoutList);
+ }
+ }
+ }
+
+ /**
+ * 璁㈠崟宸插畬鎴愶紝涓婃姤宸插畬鎴愶紝璁㈠崟鐘舵�佸彉宸蹭笂鎶�
+ */
+ @Scheduled(cron = "0 * * * * ?")
+ @Async("orderThreadPool")
+ public void completeOrderReport() {
+ // 鍏ュ簱璁㈠崟宸插畬鎴愯浆宸蹭笂鎶�
+ orderPakinSyncHandler.completeOrderReport();
+ // 鍑哄簱璁㈠崟宸插畬鎴愯浆宸蹭笂鎶�
+ orderPakoutSyncHandler.completeOrderReport();
+ }
+
+// @Scheduled(cron = "0/15 * * * * ? ")
+ @Async("orderThreadPool")
+ public void completeOrderPakin() {
+ if (loadingConfigTimer.getErpReport()) {
+ List<OrderPakin> orders = orderPakinService.selectComplete();
+ for (OrderPakin order : orders) {
+ orderPakinSyncHandler.startOrderReport(order);
+ }
+ }
+ }
+
+
+// @Scheduled(cron = "0/15 * * * * ? ")
+ @Async("orderThreadPool")
+ public void completeOrderPakout() {
+ if (loadingConfigTimer.getErpReport()) {
+ List<OrderPakout> orders = orderPakoutService.selectComplete();
+ for (OrderPakout order : orders) {
+ orderPakoutSyncHandler.startOrderReport(order);
+ }
+ }
+ }
}
--
Gitblit v1.9.1