From 478919643dc2f427049e024444681af1a88b50d0 Mon Sep 17 00:00:00 2001
From: 1 <1@123>
Date: 星期二, 10 三月 2026 11:07:45 +0800
Subject: [PATCH] lsh#

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java |    3 ++-
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaveServiceImpl.java     |    4 ++--
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/OutStockService.java          |    2 +-
 rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java   |    8 ++++----
 rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/Wave.java                      |    6 ++++++
 rsf-server/src/main/java/com/vincent/rsf/server/manager/utils/LocManageUtil.java              |    7 ++++++-
 6 files changed, 21 insertions(+), 9 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 52fb504..65dedd5 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
@@ -553,14 +553,14 @@
                     // 绔嬪嵆瑙﹀彂寮傛浠诲姟锛屼笉绛夊緟缁撴灉
                     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)) {
+                        if (!Cools.isEmpty(loc) && loc.getUseStatus().equals(LocStsType.LOC_STS_TYPE_O.type)) {
 //                            outStockService.getOrderOutTaskItem(orderOutTaskParam,param.getOrderItemId());
                             //鍑哄簱
 //                        boolean itemsCheck = waitPakinService.mergeItemsCheck(pakinParam, loginUserId);
 //                            if (true) {
                             CompletableFuture.runAsync(() -> {
                                 try {
-                                    asyncOutboundExecutionWcs(syncOrder.getStationId(), wkOrder.getId(), loginUserId);
+                                    asyncOutboundExecutionWcs(syncOrder.getStationId(), wkOrder.getId(), loginUserId,loc.getCode());
                                 } catch (Exception e) {
                                     log.warn("璁㈠崟 {} 寮�濮嬭嚜鍔ㄥ嚭搴�", syncOrder.getOrderNo());
                                 }
@@ -609,7 +609,7 @@
     }
 
     @Async
-    public void asyncOutboundExecutionWcs(String stationId ,Long orderId, Long loginUserId) {
+    public void asyncOutboundExecutionWcs(String stationId ,Long orderId, Long loginUserId,String locCode) {
         try {
 
             GenWaveParams genWaveParams = new GenWaveParams();
@@ -639,7 +639,7 @@
 //                return;
 //            }
 //            outStockService.genOutStockTask(tasks, loginUserId, orderId);
-            R r = outStockService.generateWavesOrderAuto(genWaveParams, stationId);
+            R r = outStockService.generateWavesOrderAuto(genWaveParams, stationId,locCode);
 
             log.info("璁㈠崟ID {} 鑷姩杞尝娆�", orderId);
         } catch (Exception e) {
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/Wave.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/Wave.java
index 9b30d44..59d042e 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/Wave.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/Wave.java
@@ -147,6 +147,12 @@
     @ApiModelProperty(value= "鎸囧畾绔欑偣")
     private String stationId;
 
+    /**
+     * 鎸囧畾搴撲綅
+     */
+    @ApiModelProperty(value= "鎸囧畾搴撲綅")
+    private String locCode;
+
     public Wave() {}
 
     public Wave(String code,Short type,Short exceStatus,Double anfme,Double qty,Integer orderNum,Integer status,Long tenantId,Date createTime,Long createBy,Date updateTime,Long updateBy,Integer deleted,String memo) {
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/OutStockService.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/OutStockService.java
index 36af791..fe9f6d2 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/OutStockService.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/OutStockService.java
@@ -20,7 +20,7 @@
     R genOutStock(List<DeliveryItem> ids, Long loginUserId);
 
     R generateWaves(GenWaveParams ids);
-    R generateWavesOrderAuto(GenWaveParams ids,String stationId);
+    R generateWavesOrderAuto(GenWaveParams ids,String stationId,String locCode);
 
     R saveOutStock(AsnOrderAndItemsParams params, Long loginUserId);
 
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java
index 174a19a..60635d3 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java
@@ -276,7 +276,7 @@
      */
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public R generateWavesOrderAuto(GenWaveParams params,String stationId) {
+    public R generateWavesOrderAuto(GenWaveParams params,String stationId,String locCode) {
         if (Objects.isNull(params.getIds()) || params.getIds().isEmpty()) {
             throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛侊紒");
         }
@@ -320,6 +320,7 @@
         double sum1 = waveItems.stream().mapToDouble(WaveItem::getAnfme).sum();
         wave.setAnfme(sum1).setGroupQty(waveItems.size());
         wave.setStationId(stationId);
+        wave.setLocCode(locCode);
         if (!waveService.saveOrUpdate(wave)) {
             throw new CoolException("涓诲崟淇敼澶辫触锛侊紒");
         }
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaveServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaveServiceImpl.java
index 1f991ca..d3cbe6e 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaveServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaveServiceImpl.java
@@ -94,7 +94,7 @@
                         .setWaveId(item.getWaveId());
                 params.add(locParams);
             }
-            List<OrderOutItemDto> results = LocManageUtil.getOutOrderList(params, null,waves.getStationId());
+            List<OrderOutItemDto> results = LocManageUtil.getOutOrderList(params, null,waves.getStationId(),waves.getLocCode());
             generateOutTask(results, loginUserId, waves);
         } catch (Exception e) {
             log.error(e.getMessage());
@@ -161,7 +161,7 @@
                         .setWaveId(item.getWaveId());
                 params.add(locParams);
             }
-            List<OrderOutItemDto> results = LocManageUtil.getOutOrderList(params, waveRule,wave.getStationId());
+            List<OrderOutItemDto> results = LocManageUtil.getOutOrderList(params, waveRule,wave.getStationId(),wave.getLocCode());
             if (results.isEmpty()) {
                 wave.setUpdateBy(loginUserId).setUpdateTime(new Date());
                 if (wave.getAnfme().compareTo(wave.getWorkQty()) == 0) {
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/utils/LocManageUtil.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/utils/LocManageUtil.java
index fcbc269..be0ca00 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/utils/LocManageUtil.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/utils/LocManageUtil.java
@@ -172,7 +172,7 @@
      * @param waveRule
      * @return
      */
-    public static List<OrderOutItemDto> getOutOrderList(List<WaveToLocParams> params, WaveRule waveRule,String stationId) {
+    public static List<OrderOutItemDto> getOutOrderList(List<WaveToLocParams> params, WaveRule waveRule,String stationId,String locCode) {
         LocService locService = SpringUtils.getBean(LocService.class);
         LocItemService locItemService = SpringUtils.getBean(LocItemService.class);
         DeviceSiteService deviceSiteService = SpringUtils.getBean(DeviceSiteService.class);
@@ -203,6 +203,11 @@
             }
             for (LocItem locItem : locItems) {
                 Loc loc = locService.getById(locItem.getLocId());
+                if (!Cools.isEmpty(locCode) || !Cools.isEmpty(stationId)) {
+                    if (!loc.getCode().equals(locCode)){
+                        continue;
+                    }
+                }
                 List<LocItem> itemList = locItemService.list(new LambdaQueryWrapper<LocItem>().eq(LocItem::getLocId, loc.getId()));
 
                 if (issued.doubleValue() > 0 && locList.contains(loc)) {

--
Gitblit v1.9.1