From cb249acbd7ed7f3bc2afa2bc9bee7d69ac8b5e30 Mon Sep 17 00:00:00 2001
From: chen.lin <1442464845@qq.com>
Date: 星期二, 10 三月 2026 14:22:43 +0800
Subject: [PATCH] 空板自动出库定时任务
---
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java | 11 +++++++++--
1 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java
index 0b19e52..1932160 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java
@@ -26,11 +26,15 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import java.math.BigDecimal;
+import java.math.RoundingMode;
import java.util.*;
import java.util.stream.Collectors;
@Service("locItemService")
public class LocItemServiceImpl extends ServiceImpl<LocItemMapper, LocItem> implements LocItemService {
+
+ private static final BigDecimal FULL_OUT_QTY_TOLERANCE = new BigDecimal("0.000001");
Logger logger = LoggerFactory.getLogger(LocItemServiceImpl.class);
@@ -167,12 +171,15 @@
Double orgQty = locItems.stream().mapToDouble(LocItem::getAnfme).sum();
List<LocItem> locItemList = listMap.get(key);
Double outQty = locItemList.stream().mapToDouble(LocItem::getOutQty).sum();
+ BigDecimal orgQtyBd = BigDecimal.valueOf(orgQty).setScale(6, RoundingMode.HALF_UP);
+ BigDecimal outQtyBd = BigDecimal.valueOf(outQty).setScale(6, RoundingMode.HALF_UP);
if (map.getType().equals(Constants.TASK_TYPE_OUT_STOCK)
|| map.getType().equals(Constants.TASK_TYPE_ORDER_OUT_STOCK)
|| map.getType().equals(Constants.TASK_TYPE_WAVE_OUT_STOCK)) {
- if (orgQty.compareTo(outQty) > 0) {
- //鎷f枡鍑哄簱 -- 鐩樼偣鍑哄簱
+ // 鍑哄簱閲忚揪鍒板簱浣嶅簱瀛橈紙鍚宸級瑙嗕负鍏ㄧ増鍑哄簱锛岄伩鍏嶆诞鐐硅宸鑷磋鍒や负鎷f枡/閮ㄥ垎鍑哄簱
+ if (orgQtyBd.subtract(outQtyBd).compareTo(FULL_OUT_QTY_TOLERANCE) > 0) {
+ // 鎷f枡鍑哄簱锛堥儴鍒嗗嚭搴擄級
DeviceSite deviceSite = deviceSiteService.getOne(new LambdaQueryWrapper<DeviceSite>()
.eq(DeviceSite::getSite, siteNo)
.eq(!Objects.isNull(loc.getChannel()),DeviceSite::getChannel, loc.getChannel())
--
Gitblit v1.9.1