From 34aa40fffdda9155e77a7991ca8c7691102bb0b8 Mon Sep 17 00:00:00 2001
From: skyouc <creaycat@gmail.com>
Date: 星期日, 26 四月 2026 11:29:05 +0800
Subject: [PATCH] no message

---
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java |   65 ++++++++++++++++++++++++++++++--
 1 files changed, 60 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
index 2cd5fe5..6382f72 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -13,17 +13,20 @@
 import com.zy.asrs.entity.param.StockOutParam;
 import com.zy.asrs.enums.ContainerType;
 import com.zy.asrs.enums.LocAreaType;
+import com.zy.asrs.enums.LocStsType;
 import com.zy.asrs.mapper.LocMastMapper;
 import com.zy.asrs.entity.result.FindLocNoAttributeVo;
 import com.zy.asrs.service.*;
 import com.zy.asrs.utils.OrderInAndOutUtil;
 import com.zy.asrs.utils.Utils;
+import com.zy.common.constant.MesConstant;
 import com.zy.common.model.*;
 import com.zy.common.model.enums.IoWorkType;
 import com.zy.common.model.enums.WorkNoType;
 import com.zy.common.properties.SlaveProperties;
 import com.zy.common.service.CommonService;
 import com.zy.common.web.WcsController;
+import jdk.nashorn.internal.ir.annotations.Ignore;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -105,6 +108,8 @@
     private BasStationDetlService basStationDetlService;
     @Autowired
     private BasAreasService basAreasService;
+    @Autowired
+    private OrderPakoutServiceImpl orderPakoutService;
 
     @Override
     @Transactional
@@ -358,6 +363,10 @@
 
             // 鑾峰彇璺緞
             StaDesc staDesc = staDescService.queryCrnStn(ioType, locMast.getCrnNo(), outSta);
+
+            //绉昏蛋娼滃簱浣嶅湪搴撴垨绌烘澘淇℃伅
+            moveShallowLocByF(staNo, userId, dto, locMast, staDesc, now);
+
             // 鐢熸垚宸ヤ綔鍙�
             int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(ioType));
             // 鐢熸垚宸ヤ綔妗�
@@ -415,6 +424,47 @@
                 }
             } else {
                 throw new CoolException(dto.getLocNo() + "搴撲綅涓嶆槸鍦ㄥ簱鐘舵��");
+            }
+        }
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void moveShallowLocByF(BasDevp staNo, Long userId, OutLocDto dto, LocMast locMast, StaDesc staDesc, Date now) {
+        String shallowLoc = Utils.getShallowLoc(locMast.getLocNo(), MesConstant.deepRows);
+        if (!Objects.isNull(shallowLoc)) {
+            LocMast locNo = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", shallowLoc));
+            if (locNo.getLocSts().equals(LocStsType.LOC_STS_TYPE_F.type) || locNo.getLocSts().equals(LocStsType.LOC_STS_TYPE_D.type)) {
+                //TODO 鍑哄簱鍓嶅垽鏂槸娴呭簱浣嶆槸鍚︽湁璐э紝濡傛灉鏈夎揣浼樺厛鐢熸垚绉诲簱浠诲姟
+                BasDevp sourceStaNo = basDevpService.checkSiteStatus(staDesc.getCrnStn(), true);
+                sourceStaNo.setLocType1(locMast.getLocType1());
+                LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo);
+                StartupDto mvDto = commonService.getLocNo(1, staNo.getDevNo(), 2, null, locTypeDto);
+                WrkMast wrkMast = new WrkMast();
+                wrkMast.setWrkNo(mvDto.getWorkNo());
+                wrkMast.setIoTime(now);
+                wrkMast.setWrkSts(1L); // 宸ヤ綔鐘舵�侊細11.绉诲簱浠诲姟
+                wrkMast.setIoType(11); // 鍏ュ嚭搴撶姸鎬�
+                wrkMast.setIoPri(999D); // 浼樺厛绾э細13
+                wrkMast.setStaNo("");
+                wrkMast.setCrnNo(locNo.getCrnNo());
+                //婧愬簱浣�
+                wrkMast.setSourceLocNo(locNo.getLocNo()); // 婧愬簱浣�
+                //鐩爣搴撲綅
+                wrkMast.setLocNo(mvDto.getLocNo());
+                wrkMast.setFullPlt("Y"); // 婊℃澘锛歒
+                wrkMast.setPicking("N"); // 鎷f枡
+                wrkMast.setExitMk("N"); // 閫�鍑�
+                wrkMast.setEmptyMk("N"); // 绌烘澘
+                wrkMast.setLinkMis("N");
+                wrkMast.setBarcode(locNo.getBarcode());
+                wrkMast.setAppeUser(userId); // 鎿嶄綔浜哄憳鏁版嵁
+                wrkMast.setAppeTime(now);
+                wrkMast.setModiUser(userId);
+                wrkMast.setModiTime(now);
+                if (!wrkMastService.insert(wrkMast)) {
+                    throw new CoolException("淇濆瓨绉诲簱宸ヤ綔妗eけ璐ワ紝绉诲簱搴撲綅鍙凤細" + locNo.getLocNo() + "鐩爣搴撲綅鍙凤細" + dto.getLocNo());
+                }
             }
         }
     }
@@ -682,6 +732,8 @@
             wrkDetl.setWrkNo(workNo)
                     .setId(null)
                     .setIoTime(new Date())
+                    .setMatnr(locDto.getMatnr())
+                    .setMaktx(locDto.getMaktx())
                     .setOrderNo(locDto.getOrderNo())
                     .setAnfme(locDto.getAnfme())
                     .setBoxType1(locDto.getBoxType1())
@@ -698,11 +750,14 @@
 //                throw new CoolException("淇敼璁㈠崟鏄庣粏鏁伴噺澶辫触");
 //            }
 //            orderService.updateSettle(orderDetl.getOrderId(), 2L, userId);
-            OrderInAndOutUtil.increaseWorkQty(Boolean.FALSE, orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(),
-                    orderDetl.getBrand(), orderDetl.getStandby1(), orderDetl.getStandby2(), orderDetl.getStandby3(),
-                    "1", orderDetl.getBoxType2(), orderDetl.getBoxType3()
-                    , locDto.getAnfme());
-            OrderInAndOutUtil.updateOrder(Boolean.FALSE, orderDetl.getOrderId(), 2L, userId);
+            OrderPakout orderNo = orderPakoutService.selectOne(new EntityWrapper<OrderPakout>().eq("order_no", orderDetl.getOrderNo()));
+            if (!Objects.isNull(orderNo)) {
+                OrderInAndOutUtil.increaseWorkQty(Boolean.FALSE, orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(),
+                        orderDetl.getBrand(), orderDetl.getStandby1(), orderDetl.getStandby2(), orderDetl.getStandby3(),
+                        "1", orderDetl.getBoxType2(), orderDetl.getBoxType3()
+                        , locDto.getAnfme());
+                OrderInAndOutUtil.updateOrder(Boolean.FALSE, orderDetl.getOrderId(), 2L, userId);
+            }
         }
         // 淇敼搴撲綅鐘舵��:   F.鍦ㄥ簱 ====>>> R.鍑哄簱棰勭害/P.鎷f枡/鐩樼偣/骞舵澘鍑哄簱涓�
 

--
Gitblit v1.9.1