From d46f45254cf23f4c0302be87e067b25acda54ca1 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期五, 11 七月 2025 09:23:41 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java |   51 +++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 39 insertions(+), 12 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 fb4a88e..ef807a4 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -15,6 +15,7 @@
 import com.zy.asrs.entity.result.FindLocNoAttributeVo;
 import com.zy.asrs.mapper.LocMastMapper;
 import com.zy.asrs.service.*;
+import com.zy.asrs.utils.MatUtils;
 import com.zy.asrs.utils.OrderInAndOutUtil;
 import com.zy.asrs.utils.Utils;
 import com.zy.common.model.*;
@@ -189,9 +190,7 @@
     public void startupFullTakeStore(StockOutParam param, Long userId) {
         // 鐩爣绔欑偣鐘舵�佹娴�
         BasDevp staNo = basDevpService.checkSiteStatus(param.getOutSite());
-        if (Cools.isEmpty(param.getItemId())) {
-            throw new CoolException("鎵�鍏ヤ粨搴撲笉鑳戒负绌�");
-        }
+
         // 鑾峰彇搴撲綅鏄庣粏
         List<LocDetlDto> locDetlDtos = new ArrayList<>();
         for (StockOutParam.LocDetl paramLocDetl : param.getLocDetls()) {
@@ -327,15 +326,6 @@
                 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;
             // 鑾峰彇搴撲綅
@@ -351,6 +341,20 @@
             StaDesc staDesc = staDescService.queryCrnStn(ioType, locMast.getCrnNo(), outSta);
             // 鐢熸垚宸ヤ綔鍙�
             int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(ioType));
+
+            if (ioType == 107) {
+                if (Cools.isEmpty(checkOrderNo)) {
+                    checkOrderNo = DateUtils.createTimeStamp() + "_" + workNo;
+                    InventoryCheckOrder checkOrder = new InventoryCheckOrder();
+                    checkOrder.setCreateBy(userId);
+                    checkOrder.setStatus("1");
+                    checkOrder.setArea(String.valueOf(workNo));
+                    checkOrder.setCreateTime(new Date());
+                    checkOrder.setOrderNo(checkOrderNo);
+                    checkOrderService.insert(checkOrder);
+                }
+            }
+
             // 鐢熸垚宸ヤ綔妗�
             WrkMast wrkMast = new WrkMast();
             wrkMast.setWrkNo(workNo);
@@ -407,6 +411,8 @@
                     checkOrderDetl.setBatch(detlDto.getLocDetl().getBatch());
                     checkOrderDetl.setLocNo(detlDto.getLocDetl().getLocNo());
                     checkOrderDetl.setAnfme(detlDto.getLocDetl().getAnfme());
+                    checkOrderDetl.setArea(String.valueOf(workNo));
+                    checkOrderDetl.setCwarehouseid(wrkDetl.getStandby1());
                     checkOrderDetl.setIoTime(new Date());
                     checkOrderDetl.setStatus("0");
                     checkOrderDetlService.insert(checkOrderDetl);
@@ -483,6 +489,19 @@
                         , locDto.getStandby1(), locDto.getStandby2(), locDto.getStandby3(), locDto.getBoxType1(), locDto.getBoxType2(), locDto.getBoxType3());
 
             }
+
+            Wrapper<LocDetl> wrapper = new EntityWrapper<LocDetl>()
+                    .eq("loc_no", wrkMast.getSourceLocNo())
+                    .eq("matnr", orderDetlPakout.getMatnr());
+            if (!Cools.isEmpty(locDto.getBatch())) {
+                wrapper.eq("batch", locDto.getBatch());
+            }
+            if (!Cools.isEmpty(orderDetlPakout.getSpecs())) {
+                wrapper.eq("specs", orderDetlPakout.getSpecs());
+            }
+
+            LocDetl locDetl = locDetlService.selectOne(wrapper);
+
             WrkDetl wrkDetl = new WrkDetl();
             wrkDetl.sync(orderDetlPakout);
             wrkDetl.setZpallet(wrkMast.getBarcode());
@@ -496,6 +515,14 @@
             wrkDetl.setModiTime(now);
             wrkDetl.setModiUser(userId);
             wrkDetl.setThreeCode(orderDetlPakout.getId() + "");
+            wrkDetl.setSupp(orderPakout.getCstmrName());
+            wrkDetl.setStockNum(locDetl.getAnfme());//搴撳瓨
+            wrkDetl.setStockNum2(locDetl.getWeight());//杈呭簱瀛�
+            wrkDetl.setKpCstmrName(orderPakout.getKpCstmrName());
+
+            //璁$畻杈呮暟閲�
+            Double weight = MatUtils.calcWeight(wrkDetl.getMatnr(), wrkDetl.getAnfme());
+            wrkDetl.setWeight(weight);
             if (!wrkDetlService.insert(wrkDetl)) {
                 throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
             }

--
Gitblit v1.9.1