From 809f49807ce5f587fe881cfe4cc3d38d9c1a46a3 Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期六, 20 十二月 2025 10:20:47 +0800
Subject: [PATCH] #1

---
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java |   47 ++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 42 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 47cfe33..61b7568 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -180,9 +180,14 @@
         for (StockOutParam.LocDetl paramLocDetl : param.getLocDetls()) {
             if (!Cools.isEmpty(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getCount())) {
                 LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getBatch());
-                one.setMemo(paramLocDetl.getMemo());
-                one.setColor(paramLocDetl.getColor());
-                if (null != one) locDetlDtos.add(new LocDetlDto(one, paramLocDetl.getCount(), param.getOrderNo()));
+                if (null != one) {
+                    one.setMemo(paramLocDetl.getMemo());
+                    one.setColor(paramLocDetl.getColor());
+                    if (param.getOutSite()!=212 && param.getOutSite()!=1901 && one.getBrandArmType$()==999){
+                        staNo = basDevpService.checkSiteStatus(1901);
+                    }
+                    locDetlDtos.add(new LocDetlDto(one, paramLocDetl.getCount(), param.getOrderNo()));
+                }
             }
         }
         if (!locDetlDtos.isEmpty()) {
@@ -632,14 +637,46 @@
         for (OutLocDto dto : dtos) {
             // 鍒ゆ柇鍏ュ嚭搴撶被鍨嬶細101.鍏ㄦ澘鍑哄簱 or 103.鎷f枡鍑哄簱
             if (ioWorkType == null) {
-                ioType = dto.isAll() ? 101 : 103;
+                boolean dtoAll = dto.isAll();
+                if (!dtoAll){
+                    for (LocDetlDto detlDto : dto.getLocDetlDtos()) {
+                        LocDetl locDetl = detlDto.getLocDetl();
+                        LocDetl one = locDetlService.selectItem(dto.getLocNo(), locDetl.getMatnr(), locDetl.getBatch());
+                        if (null != one) {
+                            if (one.getBrandArmType$()==999){
+                                dtoAll = true;
+                            }
+                        } else {
+                            log.error("鍑哄簱浣嗘湭鎵惧埌鏄庣粏锛侊紒锛�"+locDetl.getMatnr());
+                            dtoAll = true;
+                        }
+                    }
+                    if (dtoAll) {
+                        List<LocDetl> locDetlList = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", dto.getLocNo()));
+                        for (LocDetl locDetl : locDetlList) {
+                            boolean signAddAll = true;
+                            for (LocDetlDto detlDto : dto.getLocDetlDtos()) {
+                                if (detlDto.getLocDetl().getBatch().equals(locDetl.getBatch())) {
+                                    signAddAll = false;
+                                }
+                            }
+                            if (signAddAll) {
+                                LocDetl one = locDetlService.selectItem(dto.getLocNo(), locDetl.getMatnr(), locDetl.getBatch());
+                                dto.getLocDetlDtos().add(new LocDetlDto(one, one.getAnfme(), "affiliated"));
+                            }
+                        }
+                    }
+                    if (staNo.getDevNo() == 1901 && !dtoAll){//绱ф�ュ嚭搴撻渶淇敼
+                        staNo.setDevNo(118);
+                    }
+                }
+                ioType = dtoAll ? 101 : 103;
             } else if (ioWorkType.equals(IoWorkType.CHECK_OUT)) {
                 ioType = 107;
             }
             assert ioType != null;
             // 鑾峰彇搴撲綅
             LocMast locMast = locMastService.selectById(dto.getLocNo());
-
             Integer outSta = staNo.getDevNo();
 //            //2鍙峰爢鍨涙満鍏ㄦ澘鍑哄簱绔欐寚瀹氫负204绔欙紝鎷f枡绔欐寚瀹氫负202
 //            if(locMast.getCrnNo()==2){

--
Gitblit v1.9.1