From 4559e9052e8ffcef4062650328c95a31bca05038 Mon Sep 17 00:00:00 2001
From: Administrator <335182714>
Date: 星期一, 23 三月 2026 14:40:55 +0800
Subject: [PATCH] 1

---
 src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java |  103 +++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 95 insertions(+), 8 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
index acdeab6..b458489 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -31,6 +31,7 @@
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Propagation;
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
@@ -49,9 +50,9 @@
     // 浜屾ゼ鍫嗗灈鏈哄搴斿叆搴撶珯鐐�
     private static final int[] secondFloorIn = new int[]{0, 2061, 2064, 2067, 2070, 2073, 2076};
     // 鍫嗗灈鏈哄搴斾竴妤煎嚭搴撶珯鐐�
-    private static final int[] secondFloorOut = new int[]{0, 3002, 3003, 3006, 3008, 3009, 3012};
+    private static final int[] secondFloorOut = new int[]{0, 3002, 3003, 3006, 3008, 3009, 3011};
     // 鍫嗗灈鏈哄搴斾竴妤煎叆搴撶珯鐐�
-    private static final int[] oneFloorIn = new int[]{0, 3001, 3004, 3005, 3007, 3010, 3011};
+    private static final int[] oneFloorIn = new int[]{0, 3001, 3004, 3005, 3007, 3010, 3012};
 
 
     @Autowired
@@ -99,6 +100,9 @@
     @Autowired
     private ApiLogService apiLogService;
 
+    @Autowired
+    private WrkDetlLogService wrkDetlLogService;
+
     @Resource
     private MatMapper matMapper;
 
@@ -116,6 +120,14 @@
 
     @Resource
     private BasCrnpMapper basCrnpMapper;
+
+    @Resource
+    private ReviewService reviewService;
+
+
+    @Resource
+    private ReviewDetlService reviewDetlService;
+
 
     @Override
     @Transactional
@@ -1260,7 +1272,7 @@
                     // 绠卞彿
                     HashMap<String, Object> zz = new HashMap<>();
                     List<GwmsGenerateInventoryDto.Rolls> rolls = obj.getRolls();
-                    for(GwmsGenerateInventoryDto.Rolls roll :rolls) {
+                    for (GwmsGenerateInventoryDto.Rolls roll : rolls) {
                         barcodeCount2 = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("model", roll.getRollNo()));
                         if (barcodeCount2 > 0) {
                             throw new CoolException("鍗峰彿宸插瓨鍦ㄥ伐浣滄。锛堣緭閫佺嚎锛夛細" + roll.getRollNo());
@@ -1431,8 +1443,14 @@
         } else if (wrkMast.getSourceStaNo() == 3046 || wrkMast.getSourceStaNo() == 3042) {
             wrkMast.setBarcode(param.getBarcode());
         }
-        wrkMastService.updateById(wrkMast);
+        boolean b = wrkMastService.updateById(wrkMast);
+        WrkMast wrkMas2 = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", param.getWorkNo()));
 
+        log.error("{}浠诲姟鐘舵�佹敼鍙樹负锛歿},鏇存柊璁板綍{}",wrkMas2.getWrkNo(),wrkMas2.getWrkSts(),b);
+//        wrkMastService.checkDb(param.getWorkNo());
+        if(!b) {
+            throw new CoolException("娌℃湁鏇存柊鍒拌褰�");
+        }
         return "璇锋眰鎴愬姛";
     }
 
@@ -1599,8 +1617,8 @@
                 matList.setStockType(wrkMast.getStaNo() == 2041 ? "杩斾慨鍑哄簱" : "鎴愬搧鍑哄簱");
                 matList.setBoxType(wrkDetl.getColor());
                 matList.setRollType(wrkDetl.getManu());
-                matList.setWideInWidth(wrkDetl.getSku());
-                matList.setThickness(wrkDetl.getItemNum());
+                matList.setWideInWidth(wrkDetl.getItemNum());
+                matList.setThickness(wrkDetl.getSku());
                 List<GwmsGenerateInventoryDto.Rolls> rollsList = new ArrayList<>();
                 GwmsGenerateInventoryDto.Rolls roll = new GwmsGenerateInventoryDto.Rolls(wrkDetl.getModel(),
                         wrkDetl.getUnit(), wrkDetl.getMaktx(), wrkDetl.getLength(),
@@ -1682,7 +1700,7 @@
         // 瀵绘壘绌烘墭鐩樺簱浣嶏紝鍏堟壘娴呭簱浣�
         List<LocMast> locMasts;
         locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("loc_sts", "D")
-                .orderAsc(Arrays.asList("row1", "lev1", "bay1")).in("crn_no", crnNoList).in("row1", 3, 4, 6, 7, 10, 11, 14, 15, 18, 19, 22, 23));
+                .orderAsc(Arrays.asList("row1", "lev1", "bay1")).in("crn_no", crnNoList).in("row1", 2, 3, 6, 7, 10, 11, 14, 15, 18, 19, 22, 23));
         if (locMasts.isEmpty()) {
             locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("loc_sts", "D")
                     .orderAsc(Arrays.asList("row1", "lev1", "bay1")).in("crn_no", crnNoList).in("row1", 1, 4, 5, 8, 9, 12, 13, 16, 17, 20, 21, 24));
@@ -2385,6 +2403,70 @@
 
     @Override
     @Transactional
+    public R groupOrderConfirmV2(GroupOrderConfirmParam param) {
+        // 1. 鏌ヨ鍗曟嵁鏄惁瀛樺湪
+        String time = DateUtils.convert(new Date(), DateUtils.yyyyMMddHHmmss_F);
+        Review review = reviewService.selectOne(new EntityWrapper<Review>().eq("order_no", param.getGroupOrderNumber()));
+        if (review == null) {
+            review = new Review();
+            review.setUuid(String.valueOf(snowflakeIdWorker.nextId()));
+            review.setOrderNo(param.getGroupOrderNumber());
+            review.setOrderTime(time);
+            review.setDefNumber("绯荤粺鍚屾");
+            review.setSettle(1L);
+            review.setStatus(1);
+            review.setCreateBy(9527L);
+            review.setCreateTime(new Date());
+
+            reviewService.insert(review);
+            review = reviewService.selectOne(new EntityWrapper<Review>().eq("order_no", param.getGroupOrderNumber()));
+        } else {
+            // 1.2 瀛樺湪锛屾洿鏂板崟鎹姸鎬�
+            review.setSettle(1L);
+            reviewService.updateById(review);
+        }
+        reviewService.delete(
+                new EntityWrapper<Review>().eq("order_no", param.getGroupOrderNumber())
+        );
+
+        // 2. 涓�涓�瀵瑰簲閬嶅巻
+        List<GroupOrderConfirmParam.PackageGroupNo> pkgList = param.getPackageGroupNos();
+        List<GroupOrderConfirmParam.VolumeNumber> volList = param.getVolumeNumbers();
+
+        int size = Math.min(pkgList.size(), volList.size()); // 闃叉瓒婄晫
+        for (int i = 0; i < size; i++) {
+            GroupOrderConfirmParam.PackageGroupNo pg = pkgList.get(i);
+            GroupOrderConfirmParam.VolumeNumber vn = volList.get(i);
+
+            // 鏌ヨ鏄惁宸插瓨鍦ㄨ detl
+            ReviewDetl detl = reviewDetlService.selectOne(new EntityWrapper<ReviewDetl>().eq("order_no", param.getGroupOrderNumber()).eq("brand", pg.getPackageGroupNo()).eq("model", vn.getVolumeNumber()));
+
+            if (detl == null) {
+                List<WrkDetlLog> wrkDetlLogs = wrkDetlLogService.selectList(new EntityWrapper<WrkDetlLog>().eq("brand", pg.getPackageGroupNo()).eq("model", vn.getVolumeNumber()));
+                detl = new ReviewDetl();
+                if (wrkDetlLogs != null && !wrkDetlLogs.isEmpty() && wrkDetlLogs.size() >= 1) {
+                    detl.setSpecs(wrkDetlLogs.get(0).getSpecs());
+                    detl.setBatch(wrkDetlLogs.get(0).getBatch());
+                    detl.setAnfme(wrkDetlLogs.get(0).getAnfme());
+                    detl.setMatnr(wrkDetlLogs.get(0).getMatnr());
+                    detl.setMaktx(wrkDetlLogs.get(0).getMaktx());
+                    detl.setUnit(wrkDetlLogs.get(0).getUnit());
+                    detl.setDeadTime(wrkDetlLogs.get(0).getModiTime$());
+                }
+                detl.setOrderId(review.getId());
+                detl.setOrderNo(param.getGroupOrderNumber());
+                detl.setCreateTime(new Date());
+                detl.setBrand(pg.getPackageGroupNo());   // 鍖呰缁勫彿
+                detl.setModel(vn.getVolumeNumber());     // 鍗峰彿
+                reviewDetlService.insert(detl);
+            }
+        }
+        return R.ok("缁勮揣纭鎴愬姛");
+    }
+
+
+    @Override
+    @Transactional
     public R returnOrder(ReturnOrderConfirmParam param) {
         if (Cools.isEmpty(param.getOrderNumber())) {
             param.setOrderNumber("THCK" + DateUtils.convert(new Date(), DateUtils.yyyyMMdd));
@@ -2496,7 +2578,12 @@
                 throw new RuntimeException("璇ュ崟鎹殑鍗峰彿宸插瓨鍦�," + vn.getVolumeNumber());
             }
         }
-
+        List<UnQualifiedOrderConfirmParam.VolumeNumber> volumeNumbers = param.getVolumeNumbers();
+        for (UnQualifiedOrderConfirmParam.VolumeNumber v :volumeNumbers){
+            if (!Cools.isEmpty(v.getVolumeNumber())&&!Cools.isEmpty(param.getQualified())){
+                locDetlMapper.updateQualifiedByBrand(v.getVolumeNumber(), param.getQualified(),param.getRemark());
+            }
+        }
         return R.ok("缁勮揣纭鎴愬姛");
     }
 

--
Gitblit v1.9.1