From d91fae31f20fa81081fe1b0769437be66470175d Mon Sep 17 00:00:00 2001
From: 1 <1@123>
Date: 星期二, 03 三月 2026 14:38:25 +0800
Subject: [PATCH] lsh#

---
 rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java |   53 +++++++++++++++++++++++++++--------------------------
 1 files changed, 27 insertions(+), 26 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java
index b82d633..95c66d6 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java
@@ -18,6 +18,8 @@
 import com.vincent.rsf.server.common.domain.BaseParam;
 import com.vincent.rsf.server.common.domain.PageParam;
 import com.vincent.rsf.server.manager.controller.dto.LocStockDto;
+import com.vincent.rsf.server.manager.controller.dto.OrderOutItemDto;
+import com.vincent.rsf.server.manager.controller.params.OrderOutTaskParam;
 import com.vincent.rsf.server.manager.controller.params.OutStockToTaskParams;
 import com.vincent.rsf.server.manager.controller.params.PakinItem;
 import com.vincent.rsf.server.manager.controller.params.WaitPakinParam;
@@ -218,7 +220,7 @@
                 BeanUtils.copyProperties(matnr, mat);
                 mat.setCode(matnr.getMatnr()).setName(matnr.getMaktx());
                 if (!Objects.isNull(matnr.getGroupName())) {
-                    MatnrGroup matnrGroup = matnrGroupService.getOne(new LambdaQueryWrapper<MatnrGroup>().eq(MatnrGroup::getName, matnr.getGroupName()), false);
+                    MatnrGroup matnrGroup = matnrGroupService.getOne(new LambdaQueryWrapper<MatnrGroup>().eq(MatnrGroup::getName, matnr.getGroupName()).last("limit 1"), false);
                     if (Objects.isNull(matnrGroup)) {
                         mat.setGroupCode(matnrGroup.getCode()).setGroupId(matnrGroup.getId());
                     }
@@ -241,14 +243,14 @@
     @Override
     public R queryOrderStatus(QueryOrderParam queryParams) {
         WkOrder wkOrders = asnOrderService.getOne(new LambdaQueryWrapper<WkOrder>()
-                .eq(WkOrder::getPoCode, queryParams.getOrderNo()));
+                .eq(WkOrder::getPoCode, queryParams.getOrderNo()).last("limit 1"));
         if (Objects.isNull(wkOrders)) {
             Map<String, Object> map = new HashMap<>();
             map.put("exceStatus", "-1");
             return R.ok("鍗曟嵁涓嶅瓨鍦� 锛侊紒").add(map);
         }
 
-        AsnOrderLog orderLog = asnOrderLogService.getOne(new LambdaQueryWrapper<AsnOrderLog>().eq(AsnOrderLog::getCode, queryParams.getOrderNo()));
+        AsnOrderLog orderLog = asnOrderLogService.getOne(new LambdaQueryWrapper<AsnOrderLog>().eq(AsnOrderLog::getCode, queryParams.getOrderNo()).last("limit 1"));
         if (!Objects.isNull(orderLog)) {
             Map<String, Object> map = new HashMap<>();
             map.put("exceStatus", "4");
@@ -392,7 +394,7 @@
             if (Objects.isNull(companys.getCode())) {
                 throw new CoolException("浼佷笟缂栫爜涓嶈兘涓虹┖锛侊紒");
             }
-            Companys one = companysService.getOne(new LambdaQueryWrapper<Companys>().eq(Companys::getName, param.getName()));
+            Companys one = companysService.getOne(new LambdaQueryWrapper<Companys>().eq(Companys::getName, param.getName()).last("limit 1"));
             if (Objects.isNull(one)) {
                 String ruleCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_COMPANYS_CODE, null);
                 companys.setCode(ruleCode);
@@ -419,6 +421,9 @@
     public R syncCheckOrder(List<SyncOrderParams> syncOrders, Long loginUserId) {
         if (!syncOrders.isEmpty()) {
             syncOrders.forEach(syncOrder -> {
+                if (!syncOrder.getWkType().matches("\\d+")){
+                    syncOrder.setWkType(OrderWorkType.getOrderTypeUpdate(syncOrder.getWkType()));
+                }
                 WkOrder wkOrder = new WkOrder(syncOrder);
                 DictData one = dictDataService.getOne(new LambdaQueryWrapper<DictData>().eq(DictData::getDictTypeCode, DictTypeCode.DICT_SYS_BUSINESS_TYPE)
                         .eq(DictData::getValue, syncOrder.getWkType()), false);
@@ -552,19 +557,13 @@
                     if (!Cools.isEmpty(palletId.get()) && StringUtils.isNotBlank(syncOrder.getOrderNo()) && !Cools.isEmpty(syncOrder.getStationId())) {
                         Loc loc = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getBarcode, palletId.get()));
                         if (!Cools.isEmpty(loc)) {
+//                            outStockService.getOrderOutTaskItem(orderOutTaskParam,param.getOrderItemId());
                             //鍑哄簱
-                            List<OutStockToTaskParams> param = new ArrayList<>();
-                            for (WkOrderItem wkOrderItem : orderItems){
-                                OutStockToTaskParams outStockToTaskParams = new OutStockToTaskParams(wkOrderItem);
-                                outStockToTaskParams.setLocCode(loc.getCode());
-                                outStockToTaskParams.setSiteNo(syncOrder.getStationId());
-                                param.add(outStockToTaskParams);
-                            }
 //                        boolean itemsCheck = waitPakinService.mergeItemsCheck(pakinParam, loginUserId);
 //                            if (true) {
                             CompletableFuture.runAsync(() -> {
                                 try {
-                                    asyncOutboundExecutionWcs(param, wkOrder.getId(), loginUserId);
+                                    asyncOutboundExecutionWcs(syncOrder.getStationId(), wkOrder.getId(), loginUserId);
                                 } catch (Exception e) {
                                     log.warn("璁㈠崟 {} 寮�濮嬭嚜鍔ㄥ嚭搴�", syncOrder.getOrderNo());
                                 }
@@ -613,21 +612,23 @@
     }
 
     @Async
-    public void asyncOutboundExecutionWcs(List<OutStockToTaskParams> param, Long orderId, Long loginUserId) {
+    public void asyncOutboundExecutionWcs(String stationId ,Long orderId, Long loginUserId) {
         try {
-            int i = 0;
+
+            OrderOutTaskParam orderOutTaskParam = new OrderOutTaskParam();
+            orderOutTaskParam.setOrderId(orderId);
+            orderOutTaskParam.setWaveId(16L);
+            List<OrderOutItemDto> orderOutTaskItemAuto = outStockService.getOrderOutTaskItemAuto(orderOutTaskParam);
+
             List<OutStockToTaskParams> tasks = new ArrayList<>();
-            while (true) {
-                tasks = new ArrayList<>();
-                i++;
-                if (i > 5) return;
-                Thread.sleep(3000);
-                for (OutStockToTaskParams taskParam : new OutStockToTaskParams[param.size()]) {
-                    if (StringUtils.isNotBlank(taskParam.getLocCode())) {
-                        tasks.add(taskParam);
-                    }
-                }
-                break;
+            for (OrderOutItemDto orderOutItemDto : orderOutTaskItemAuto){
+                OutStockToTaskParams outStockToTaskParams = new OutStockToTaskParams(orderOutItemDto);
+                outStockToTaskParams.setId(orderOutItemDto.getLocItem().getId());
+                outStockToTaskParams.setOutQty(orderOutItemDto.getOutQty());
+                outStockToTaskParams.setLocCode(orderOutItemDto.getLocItem().getLocCode());
+                outStockToTaskParams.setBarcode(orderOutItemDto.getLocItem().getBarcode());
+                outStockToTaskParams.setSiteNo(stationId);
+                tasks.add(outStockToTaskParams);
             }
             if (tasks.isEmpty()){
                 log.warn("璁㈠崟ID {} 娌℃湁鎵惧埌鍙嚭搴撴槑缁嗭紝璺宠繃鑷姩鍑哄簱", orderId);
@@ -635,7 +636,7 @@
             }
             outStockService.genOutStockTask(tasks, loginUserId, orderId);
 
-            log.info("璁㈠崟ID {} 鑷姩鍑哄簱锛屽叡澶勭悊 {} 涓槑缁�", orderId, param.size());
+            log.info("璁㈠崟ID {} 鑷姩鍑哄簱锛屽叡澶勭悊 {} 涓槑缁�", orderId, tasks.size());
         } catch (Exception e) {
             log.error("璁㈠崟ID {} 鑷姩鍑哄簱: {}", orderId, e.getMessage(), e);
         }

--
Gitblit v1.9.1