From c67e3d0295858a61122354a15dec8835044bac0d Mon Sep 17 00:00:00 2001
From: chen.lin <1442464845@qq.com>
Date: 星期二, 24 二月 2026 15:54:53 +0800
Subject: [PATCH] 库位拣料出库数量调整

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java |   15 +++++++--------
 1 files changed, 7 insertions(+), 8 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 f82ce5d..61531c0 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
@@ -65,14 +65,12 @@
     @Override
     @Synchronized
     @Transactional(rollbackFor = Exception.class)
-    public void generateTask(Short resouce, LocToTaskParams map, Long loginUserId) throws Exception {
-        if (Objects.isNull(map.getSiteNo())) {
-            throw new CoolException("绔欑偣涓嶈兘涓虹┖锛�");
-        }
+    public synchronized void generateTask(Short resouce, LocToTaskParams map, Long loginUserId) throws Exception {
+        // 鍑哄簱鍙f湭浼犳椂榛樿 1001
+        String siteNo = StringUtils.isNotBlank(map.getSiteNo()) ? map.getSiteNo() : "1001";
         if (Objects.isNull(map.getItems()) || map.getItems().isEmpty()) {
             throw new CoolException("鏄庣粏涓嶈兘涓虹┖锛�");
         }
-        String siteNo = map.getSiteNo();
         List<LocItem> items = map.getItems();
         Map<Long, List<LocItem>> listMap = items.stream().collect(Collectors.groupingBy(LocItem::getLocId));
         WkOrder order;
@@ -218,7 +216,8 @@
                 if (map.getType().equals(Constants.TASK_TYPE_ORDER_OUT_STOCK)) {
                     taskItem.setWkType(Short.parseShort(order.getWkType()))
                             .setSourceCode(order.getCode())
-                            .setSourceId(order.getId());
+                            .setSourceId(order.getId())
+                            .setOrderItemId(item.getOrderItemId());
                 } else if (map.getType().equals(Constants.TASK_TYPE_WAVE_OUT_STOCK)) {
                     taskItem.setSourceId(wave.getId())
                             .setWkType(Short.parseShort(OrderWorkType.ORDER_WORK_TYPE_OTHER.type))
@@ -232,7 +231,7 @@
                 }
                 taskItems.add(taskItem);
 
-                Double qty = Math.round((item.getWorkQty() + item.getOutQty()) * 100) / 100.0;
+                Double qty = Math.round((item.getWorkQty() + item.getOutQty()) * 1000000) / 1000000.0;
                 LocItem locItem = locItemService.getById(item.getId());
                 if (Objects.isNull(locItem)) {
                     throw new CoolException("搴撳瓨淇℃伅涓嶅瓨鍦紒");
@@ -243,7 +242,7 @@
                 }
 
                 if (locItem.getAnfme().compareTo(qty) < 0) {
-                    Double minusQty = Math.round((locItem.getAnfme() - locItem.getWorkQty()) * 100) / 100.0;
+                    Double minusQty = Math.round((locItem.getAnfme() - locItem.getWorkQty()) * 1000000) / 1000000.0;
                     item.setWorkQty(minusQty);
                 } else {
                     item.setWorkQty(qty);

--
Gitblit v1.9.1