From fe0c2392123c13a50a773e503cfce6528374271d Mon Sep 17 00:00:00 2001
From: zc <zyzc>
Date: 星期四, 20 十一月 2025 16:00:44 +0800
Subject: [PATCH] 入庫功能優化

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java       |   53 +++++++++++++-------------
 rsf-server/src/main/java/com/vincent/rsf/server/api/service/MobileService.java             |    2 
 rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReportMsgServiceImpl.java |    5 --
 rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java    |   39 ++++++++++---------
 rsf-server/src/main/java/com/vincent/rsf/server/api/controller/pda/MobileController.java   |    2 
 5 files changed, 49 insertions(+), 52 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/pda/MobileController.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/pda/MobileController.java
index 5f368f8..efdfc01 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/pda/MobileController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/pda/MobileController.java
@@ -136,7 +136,7 @@
     @PreAuthorize("hasAuthority('manager:asnOrderItem:list')")
     @ApiOperation("鑾峰彇璁㈠崟鐗╂枡鏄庣粏")
     @PostMapping("/asnOrderItem/trackCode")
-    public R getItemByTrackCode(@RequestBody Map<String, Object> params) {
+    public R getItemByTrackCode(@RequestBody Map<String, String> params) {
         if (Objects.isNull(params)) {
             throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛侊紒");
         }
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/MobileService.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/MobileService.java
index 5ce4eff..285608d 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/MobileService.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/MobileService.java
@@ -39,7 +39,7 @@
 
     List<Fields> getDynamicFields();
 
-    R getDeltByCode(Map<String, Object> params);
+    R getDeltByCode(Map<String, String> params);
 
     WaitPakin mergeItems(WaitPakinParam waitPakin, Long userId);
 
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java
index d78954a..0454885 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java
@@ -536,29 +536,30 @@
      * @time 2025/4/7 16:58
      */
     @Override
-    public R getDeltByCode(Map<String, Object> params) {
-        Object code = params.get("code");
-        Object matnrCode = params.get("matnrCode");
-        Object asnCode = params.get("asnCode");
-        Object crushNo = params.get("fieldsIndex");
-        Object batch = params.get("batch");
+    public R getDeltByCode(Map<String, String> params) {
+        String code = params.get("code");
+        String matnrCode = params.get("matnrCode");
+        String asnCode = params.get("asnCode");
+        String crushNo = params.get("fieldsIndex");
+        String batch = params.get("batch");
+//        String barcode = params.get("barcode");
 
         if (Objects.isNull(crushNo)) {
             throw new CoolException("绁ㄥ彿涓嶈兘涓虹┖锛侊紒");
         }
-        if (Objects.isNull(code)) {
-            throw new CoolException("瀹瑰櫒鍙蜂笉鑳戒负绌猴紒锛�");
-        }
-        BasContainer container = basContainerService.getOne(new LambdaQueryWrapper<BasContainer>().eq(BasContainer::getCode, code.toString()));
-        if (Objects.isNull(container)) {
-            throw new CoolException("瀹瑰櫒涓嶅瓨鍦紒锛�");
-        }
-        if (!Objects.isNull(params.get("isHalf")) && !params.get("isHalf").equals("0")) {
-            container.setIsHalf(1);
-            if (!basContainerService.updateById(container)) {
-                throw new CoolException("瀹瑰櫒鐘舵�佷慨鏀瑰け璐ワ紒锛�");
-            }
-        }
+//        if (Objects.isNull(code)) {
+//            throw new CoolException("瀹瑰櫒鍙蜂笉鑳戒负绌猴紒锛�");
+//        }
+//        BasContainer container = basContainerService.getOne(new LambdaQueryWrapper<BasContainer>().eq(BasContainer::getCode, barcode));
+//        if (Objects.isNull(container)) {
+//            throw new CoolException("瀹瑰櫒涓嶅瓨鍦紒锛�");
+//        }
+//        if (!Objects.isNull(params.get("isHalf")) && !params.get("isHalf").equals("0")) {
+//            container.setIsHalf(1);
+//            if (!basContainerService.updateById(container)) {
+//                throw new CoolException("瀹瑰櫒鐘舵�佷慨鏀瑰け璐ワ紒锛�");
+//            }
+//        }
 
         String fieldIndex = null;
         if (!Objects.isNull(crushNo)) {
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReportMsgServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReportMsgServiceImpl.java
index 914b689..4db0ee7 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReportMsgServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReportMsgServiceImpl.java
@@ -485,14 +485,11 @@
     @Override
     public void reportOrderItem(WkOrderItem orderItem) {
         ReportParams params = new ReportParams();
-
         WkOrder order = asnOrderService.getById(orderItem.getOrderId());
         if (Objects.isNull(order)) {
             throw new RuntimeException("鍗曟嵁涓嶅瓨鍦ㄦ垨宸插畬鎴愶紒锛�");
         }
-
         List<ReportDataParam> reportData = new ArrayList<>();
-
         ReportDataParam param = new ReportDataParam();
         User user = userService.getById(orderItem.getUpdateBy());
         String nickName = null;
@@ -541,7 +538,7 @@
         } else if (order.getWkType().equals(OrderWorkType.ORDER_WORK_TYPE_OTHER_TERANSFER_IN.type)) {
             //璋冩嫈鍏ュ簱鍗�
             params.setOrderType("Mv_Instock").setAction("Update");
-
+            param.setInQty(orderItem.getQty());
         } else if (order.getWkType().equals(OrderWorkType.ORDER_WORK_TYPE_PROD.type)) {
             //鐢熶骇鍏ュ簱鍗�
 //                params.setOrderType("WO_Outstock").setAction("Update");
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java
index 73e1bcc..c1a3926 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java
@@ -599,7 +599,32 @@
                     reportMsgService.reportOrderItem(wkOrderItem);
                 }
             } else if (task.getTaskType() >= TaskType.TASK_TYPE_OUT.type && task.getTaskType() <= TaskType.TASK_TYPE_EMPITY_OUT.type) {
-
+                /**鍒ゆ柇鍗曟嵁鏄惁瀹屾垚**/
+                Set<Long> longSet = taskItems.stream().map(TaskItem::getSourceId).collect(Collectors.toSet());
+                List<WaveOrderRela> waveOrderRelas = waveOrderRelaService.list(new LambdaQueryWrapper<WaveOrderRela>()
+                        .in(WaveOrderRela::getWaveId, longSet));
+                if (Cools.isEmpty(waveOrderRelas)) {
+                    throw new CoolException("娉㈡瀵瑰簲鍏宠仈鍗曟湭鎵惧埌");
+                }
+                Set<Long> orderIds = waveOrderRelas.stream().map(WaveOrderRela::getOrderId).collect(Collectors.toSet());
+                List<WkOrder> wkOrders = asnOrderService.listByIds(orderIds);
+                if (wkOrders.isEmpty()) {
+                    throw new CoolException("鍗曟嵁涓嶅瓨鍦紒锛�");
+                }
+                wkOrders.forEach(order -> {
+                    //妫�鏌ュ崟鎹槸鍚﹀畬鎴�
+                    if (order.getAnfme().compareTo(order.getQty()) == 0) {
+                        order.setExceStatus(AsnExceStatus.OUT_STOCK_STATUS_TASK_DONE.val);
+//                        if (order.getType().equals(OrderType.ORDER_IN)) {
+//                            order.setExceStatus(AsnExceStatus.ASN_EXCE_STATUS_TASK_DONE.val);
+//                        } else {
+//                            order.setExceStatus(AsnExceStatus.OUT_STOCK_STATUS_TASK_DONE.val);
+//                        }
+                        if (!asnOrderService.updateById(order)) {
+                            throw new CoolException("鍑哄簱鍗曟洿鏂扮姸鎬佸け璐�");
+                        }
+                    }
+                });
                 //鍑哄簱鍗曚笂鎶CS淇敼搴撲綅鐘舵��
                 try {
                     reportStationStatus(task);
@@ -607,32 +632,6 @@
                     throw new CoolException(e.getMessage());
                 }
             }
-
-            /**鍒ゆ柇鍗曟嵁鏄惁瀹屾垚**/
-            Set<Long> longSet = taskItems.stream().map(TaskItem::getSourceId).collect(Collectors.toSet());
-            List<WaveOrderRela> waveOrderRelas = waveOrderRelaService.list(new LambdaQueryWrapper<WaveOrderRela>()
-                    .in(WaveOrderRela::getWaveId, longSet));
-            if (Cools.isEmpty(waveOrderRelas)) {
-                throw new CoolException("娉㈡瀵瑰簲鍏宠仈鍗曟湭鎵惧埌");
-            }
-            Set<Long> orderIds = waveOrderRelas.stream().map(WaveOrderRela::getOrderId).collect(Collectors.toSet());
-            List<WkOrder> wkOrders = asnOrderService.listByIds(orderIds);
-            if (wkOrders.isEmpty()) {
-                throw new CoolException("鍗曟嵁涓嶅瓨鍦紒锛�");
-            }
-            wkOrders.forEach(order -> {
-                //妫�鏌ュ崟鎹槸鍚﹀畬鎴�
-                if (order.getAnfme().compareTo(order.getQty()) == 0) {
-                    if (order.getType().equals(OrderType.ORDER_IN)) {
-                        order.setExceStatus(AsnExceStatus.ASN_EXCE_STATUS_TASK_DONE.val);
-                    } else {
-                        order.setExceStatus(AsnExceStatus.OUT_STOCK_STATUS_TASK_DONE.val);
-                    }
-                    if (!asnOrderService.updateById(order)) {
-                        throw new CoolException("鍑哄簱鍗曟洿鏂扮姸鎬佸け璐�");
-                    }
-                }
-            });
 
             List<TaskItemLog> itemLogs = new ArrayList<>();
             for (TaskItem item : taskItems) {

--
Gitblit v1.9.1