From 2e82ef6fd6dfbcb1eb88a8d4b705eae7fb99065b Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期五, 06 六月 2025 17:04:11 +0800
Subject: [PATCH] 123

---
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java |   36 ++++++++++++++++++++++++++++++++----
 1 files changed, 32 insertions(+), 4 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 c160f94..57158ed 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -94,6 +94,12 @@
     @Resource
     private OrderPakoutService orderPakOutService;
 
+    @Autowired
+    private InventoryCheckOrderService checkOrderService;
+
+    @Autowired
+    private InventoryCheckOrderDetlService checkOrderDetlService;
+
     @Override
     @Transactional
     public String startupFullPutStore(FullStoreParam param, Long userId) {
@@ -199,7 +205,7 @@
             LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetlDtos.get(0).getLocDetl().getLocNo()));
             if (locMast.getLocSts().equals("F") || locMast.getLocSts().equals("D")) {
                 // 鍚姩鍑哄簱寮�濮� 101.鍑哄簱
-                stockOut(staNo, locDetlDtos, null, userId);
+                stockOut(staNo, locDetlDtos, null, userId, null);
             } else {
                 throw new CoolException("鎵�閫夊簱浣嶅瓨鍦ㄧ姸鎬佷笉涓篎銆丏鐨勫簱浣嶏紝搴撲綅鍙凤細" + locMast.getLocNo() + " 銆佸綋鍓嶇姸鎬侊細" + locMast.getLocSts() + "-" + locMast.getLocSts$());
             }
@@ -288,7 +294,7 @@
 
     @Override
     @Transactional
-    public void stockOut(BasDevp staNo, List<LocDetlDto> locDetlDtos, IoWorkType ioWorkType, Long userId) {
+    public void stockOut(BasDevp staNo, List<LocDetlDto> locDetlDtos, IoWorkType ioWorkType, Long userId, String checkOrderNo) {
         Date now = new Date();
         // 鍚堝苟鍚岀被椤�
         Set<String> locNos = new HashSet<>();
@@ -315,6 +321,15 @@
                 ioType = dto.isAll() ? 101 : 103;
             } else if (ioWorkType.equals(IoWorkType.CHECK_OUT)) {
                 ioType = 107;
+                if (Cools.isEmpty(checkOrderNo)) {
+                    checkOrderNo = DateUtils.createTimeStamp();
+                    InventoryCheckOrder checkOrder = new InventoryCheckOrder();
+                    checkOrder.setCreateBy(userId);
+                    checkOrder.setStatus("1");
+                    checkOrder.setCreateTime(new Date());
+                    checkOrder.setOrderNo(checkOrderNo);
+                    checkOrderService.insert(checkOrder);
+                }
             }
             assert ioType != null;
             // 鑾峰彇搴撲綅
@@ -372,6 +387,17 @@
                 wrkDetl.setModiUser(userId);
                 if (!wrkDetlService.insert(wrkDetl)) {
                     throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
+                }
+                if (ioType == 107) {
+                    InventoryCheckOrderDetl checkOrderDetl = new InventoryCheckOrderDetl();
+                    checkOrderDetl.setOrderNo(checkOrderNo);
+                    checkOrderDetl.setMatnr(detlDto.getLocDetl().getMatnr());
+                    checkOrderDetl.setMaktx(detlDto.getLocDetl().getMaktx());
+                    checkOrderDetl.setBatch(detlDto.getLocDetl().getBatch());
+                    checkOrderDetl.setLocNo(detlDto.getLocDetl().getLocNo());
+                    checkOrderDetl.setAnfme(detlDto.getLocDetl().getAnfme());
+                    checkOrderDetl.setStatus("0");
+                    checkOrderDetlService.insert(checkOrderDetl);
                 }
             }
             // 淇敼搴撲綅鐘舵��:   F.鍦ㄥ簱 ====>>> R.鍑哄簱棰勭害/P.鎷f枡/鐩樼偣/骞舵澘鍑哄簱涓�
@@ -705,7 +731,7 @@
             LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetlDtos.get(0).getLocDetl().getLocNo()));
             if (locMast.getLocSts().equals("F")) {
                 // 鍚姩鍑哄簱寮�濮� 107.鐩樼偣鍑哄簱
-                stockOut(staNo, locDetlDtos, IoWorkType.CHECK_OUT, userId);
+                stockOut(staNo, locDetlDtos, IoWorkType.CHECK_OUT, userId, param.getCheckId());
             } else {
                 throw new CoolException("鎵�閫夊簱浣嶅瓨鍦ㄧ姸鎬佷笉涓篎鐨勫簱浣嶏紝搴撲綅鍙凤細" + locMast.getLocNo() + " 銆佸綋鍓嶇姸鎬侊細" + locMast.getLocSts() + "-" + locMast.getLocSts$());
             }
@@ -1408,7 +1434,9 @@
 ////                        stockOutRe(wrkMast, wrkDetls);
 //            }
 //        }
-
+        if (wrkMast.getIoType() == 107) {
+            checkOrderDetlService.delete(new EntityWrapper<InventoryCheckOrderDetl>().eq("loc_no", locNo));
+        }
         // 鍙栨秷鎿嶄綔浜哄憳璁板綍
         wrkMast.setManuType("鎵嬪姩鍙栨秷");
         wrkMast.setModiUser(userId);

--
Gitblit v1.9.1