From db91e03deeaac1bb3344d0b5cb9e1240f1f8caac Mon Sep 17 00:00:00 2001
From: lty <876263681@qq.com>
Date: 星期六, 16 八月 2025 10:39:15 +0800
Subject: [PATCH] #计划组货单下发上报

---
 src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java |   63 +++++++++++++++++++++++++++++++
 1 files changed, 62 insertions(+), 1 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 36d2382..6b0c862 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -34,6 +34,7 @@
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
+import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.concurrent.TimeUnit;
 import java.util.stream.Collectors;
@@ -109,6 +110,9 @@
 
     @Resource
     private OrderMapper orderMapper;
+
+    @Resource
+    private OrderDetlMapper orderDetlMapper;
 
     @Resource
     private BasCrnpMapper basCrnpMapper;
@@ -1360,7 +1364,7 @@
         if (wrkMast == null) {
             throw new CoolException("涓嶅瓨鍦ㄨ宸ヤ綔鍙凤細" + param.getWorkNo());
         }
-        if (wrkMast.getWrkSts() == 3) {
+        if (wrkMast.getWrkSts() == 3||wrkMast.getWrkSts() == 4) {
             throw new CoolException("宸ヤ綔妗g姸鎬佷笉瀵癸細" + param.getWorkNo());
         }
         wrkMast.setWrkSts(2L);
@@ -1514,8 +1518,10 @@
 
     private void ckjgsbPushMes(WrkMast wrkMast, List<WrkDetl> wrkDetls) {
         GwmsGenerateInventoryDto gwmsGenerateInventoryDto = new GwmsGenerateInventoryDto();
+        gwmsGenerateInventoryDto.setWarehouseType(4);
         gwmsGenerateInventoryDto.setBarcode(wrkMast.getBarcode());
         gwmsGenerateInventoryDto.setPalletizingNo(wrkMast.getStaNo());
+        gwmsGenerateInventoryDto.setGroupOrderNumber(wrkMast.getMemo());
         List<GwmsGenerateInventoryDto.MatList> matLists = new ArrayList<>();
         for (WrkDetl wrkDetl : wrkDetls) {
             boolean flag = true;
@@ -2265,5 +2271,60 @@
         return crnStn;
     }
 
+    @Override
+    @Transactional
+    public R groupOrderConfirm(GroupOrderConfirmParam param) {
+        // 1. 鏌ヨ鍗曟嵁鏄惁瀛樺湪
+        Order order = orderMapper.selectOrderByOrderNo(param.getGroupOrderNumber());
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+
+        if (order == null) {
+            // 1.1 涓嶅瓨鍦紝鏂板缓鍗曟嵁
+            order = new Order();
+            order.setOrderNo(param.getGroupOrderNumber());
+            order.setStatus(Integer.valueOf(param.getGroupStatus()));
+            order.setOrderTime(sdf.format(new Date()));
+            order.setCreateTime(new Date());
+            order.setSettle(1L);
+            order.setDocType(25L);
+            orderMapper.insert(order);
+        } else {
+            // 1.2 瀛樺湪锛屾洿鏂板崟鎹姸鎬�
+            order.setStatus(Integer.valueOf(param.getGroupStatus()));
+            orderMapper.updateById(order);
+        }
+
+        // 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
+            OrderDetl detl = orderDetlMapper.selectByOrderNoAndPkgGroupNoAndVolumeNo(
+                    param.getGroupOrderNumber(), pg.getPackageGroupNo(), vn.getVolumeNumber()
+            );
+
+            if (detl == null) {
+                detl = new OrderDetl();
+                detl.setOrderId(order.getId());
+                detl.setOrderNo(param.getGroupOrderNumber());
+                detl.setCreateTime(new Date());
+                detl.setAnfme(1.0);
+                detl.setBrand(pg.getPackageGroupNo());   // 鍖呰缁勫彿
+                detl.setModel(vn.getVolumeNumber());     // 鍗峰彿
+                orderDetlMapper.insert(detl);
+            }
+        }
+
+        return R.ok("缁勮揣纭鎴愬姛");
+    }
+
+
+
+
     /*...........................涓婇ザ姹熼摐..............浠ヤ笂.............寰愬伐姹変簯...........................*/
 }

--
Gitblit v1.9.1