From 4b522fb7a9775c3f68ad99313369da8536b1a892 Mon Sep 17 00:00:00 2001
From: zc <zyzc>
Date: 星期二, 04 十一月 2025 10:32:08 +0800
Subject: [PATCH] 打开上报接口
---
rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/AsnOrderLogSchedule.java | 51 ++++++++++++++++++++++++++++++---------------------
1 files changed, 30 insertions(+), 21 deletions(-)
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/AsnOrderLogSchedule.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/AsnOrderLogSchedule.java
index 7290152..b3efdc4 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/AsnOrderLogSchedule.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/AsnOrderLogSchedule.java
@@ -14,10 +14,9 @@
import com.vincent.rsf.server.manager.enums.OrderWorkType;
import com.vincent.rsf.server.manager.enums.POExceStatus;
import com.vincent.rsf.server.manager.service.*;
-import com.vincent.rsf.server.manager.service.impl.TransferOrderServiceImpl;
import com.vincent.rsf.server.system.entity.User;
import com.vincent.rsf.server.system.service.UserService;
-import com.vincent.rsf.server.system.service.impl.UserServiceImpl;
+import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
@@ -34,6 +33,7 @@
* @description
* @create 2025/3/19 19:07
*/
+@Slf4j
@Component
public class AsnOrderLogSchedule {
@@ -70,8 +70,9 @@
public void InStockToLog() {
List<WkOrder> wkOrders = asnOrderService.list(new LambdaQueryWrapper<WkOrder>()
.eq(WkOrder::getType, OrderType.ORDER_IN.type)
- .eq(WkOrder::getExceStatus, AsnExceStatus.ASN_EXCE_STATUS_TASK_DONE.val)
- );
+ .isNotNull(WkOrder::getPoCode)
+ .ne(WkOrder::getPoCode, "")
+ .eq(WkOrder::getExceStatus, AsnExceStatus.ASN_EXCE_STATUS_TASK_DONE.val));
if (wkOrders.isEmpty()) {
return;
}
@@ -95,9 +96,9 @@
public void outStockComplete() {
List<WkOrder> wkOrders = asnOrderService.list(new LambdaQueryWrapper<WkOrder>()
.eq(WkOrder::getType, OrderType.ORDER_OUT.type)
- .eq(WkOrder::getExceStatus, AsnExceStatus.OUT_STOCK_STATUS_TASK_DONE.val)
-
- );
+ .isNotNull(WkOrder::getPoCode)
+ .ne(WkOrder::getPoCode, "")
+ .eq(WkOrder::getExceStatus, AsnExceStatus.OUT_STOCK_STATUS_TASK_DONE.val));
if (wkOrders.isEmpty()) {
return;
}
@@ -114,9 +115,11 @@
* @description: 涓婁紶宸插畬鎴愯鍗曡嚦ERP骞冲彴
* @version 1.0
*/
- @Transactional(rollbackFor = Exception.class)
public void reportOrders(List<WkOrder> orders) {
- orders.forEach(order -> {
+ for (WkOrder order : orders) {
+ if (order.getReportOnce() > 4 || order.getNtyStatus() == 1) {
+ continue;
+ }
ReportParams params = new ReportParams();
List<WkOrderItem> orderItems = asnOrderItemService.list(new LambdaQueryWrapper<WkOrderItem>().eq(WkOrderItem::getOrderId, order.getId()));
if (orderItems.isEmpty()) {
@@ -136,6 +139,7 @@
//璁剧疆閫氱敤鍙傛暟
param.setWMSNO(order.getCode())
.setPONO(order.getPoCode())
+ .setOrderNO(order.getPoCode())
.setOrderDate(order.getCreateTime())
.setItemCode(orderItem.getMatnrCode())
.setEditUser(nickName)
@@ -168,10 +172,10 @@
//鐢熶骇琛ユ枡
params.setOrderType("WR_Instock_BL").setAction("Update");
param.setOutQty(orderItem.getQty());
- }else if ( order.getWkType().equals(OrderWorkType.ORDER_WORK_TYPE_FIX_OUT.type)) {
- params.setOrderType("WR_Instock_BL").setAction("Update");
+ } else if (order.getWkType().equals(OrderWorkType.ORDER_WORK_TYPE_FIX_OUT.type)) {
+ params.setOrderType("WO_Outstock_WR").setAction("Update");
param.setOutQty(orderItem.getQty());
- }else if (order.getWkType().equals(OrderWorkType.ORDER_WORK_TYPE_OTHER_IN.type)) {
+ } else if (order.getWkType().equals(OrderWorkType.ORDER_WORK_TYPE_OTHER_IN.type)) {
//鍏跺畠鍏ュ簱鍗�/鎵嬪姩鍏ュ簱鍗�
params.setOrderType("In_Instock").setAction("Update");
param.setInQty(orderItem.getQty());
@@ -186,20 +190,21 @@
params.setData(reportData);
R reported = reportMsgService.uploadReportOrders(params);
- if (reported.get("code").equals(200)) {
- order.setNtyStatus(1);
- if (!asnOrderService.updateById(order)) {
- throw new CoolException("涓婃姤鐘舵�佷慨鏀瑰け璐ワ紒锛�");
- }
- }
+
+ order.setReportOnce(order.getReportOnce() + 1);
+ asnOrderService.updateById(order);
+// if (reported.get("code").equals(200)) {
+// if (!asnOrderService.updateById(order)) {
+// throw new CoolException("涓婃姤鐘舵�佷慨鏀瑰け璐ワ紒锛�");
+// }
+// }
try {
//浼戠湢3绉�
Thread.sleep(3000);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
-
- });
+ }
}
@@ -214,7 +219,11 @@
@Transactional(rollbackFor = Exception.class)
public void moveOrderToLog(List<WkOrder> wkOrders, String type) {
//涓婃姤宸插畬鎴愯鍗曡嚦ERP銆丮ES绛変笁鏂圭郴缁�
- reportOrders(wkOrders);
+ try {
+ reportOrders(wkOrders);
+ } catch (Exception e) {
+ log.error(e.getMessage());
+ }
//
Set<Long> longSet = wkOrders.stream().map(WkOrder::getId).collect(Collectors.toSet());
List<WkOrderItem> orderItems = asnOrderItemService.list(new LambdaQueryWrapper<WkOrderItem>()
--
Gitblit v1.9.1