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/utils/OutboundAllocationUtil.java   |    6 +-
 src/main/java/com/zy/asrs/entity/LocDetl.java                 |    9 ++++
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java   |   47 +++++++++++++++++++++--
 src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java |   10 ++++
 src/main/java/com/zy/asrs/controller/MobileController.java    |   24 ++++++++----
 src/main/java/com/zy/asrs/controller/OutController.java       |   11 +++++
 6 files changed, 90 insertions(+), 17 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/MobileController.java b/src/main/java/com/zy/asrs/controller/MobileController.java
index cb6eb06..abfe0fa 100644
--- a/src/main/java/com/zy/asrs/controller/MobileController.java
+++ b/src/main/java/com/zy/asrs/controller/MobileController.java
@@ -423,24 +423,32 @@
 //        return R.ok("缁勬墭鎴愬姛");
 //    }
 
-    @RequestMapping("/truss/order/auth")
-    @ManagerAuth(memo = "閫�搴擄紝1妤兼鏋堕��搴擄紝閫�搴撳崟閫�搴�")
-    public R trussCombOrder(@RequestBody TrussCombParam combParam){
-        mobileService.trussCombOrder(combParam, getUserId());
-        return R.ok("缁勬墭鎴愬姛");
-    }
+//    @RequestMapping("/truss/order/auth")
+//    @ManagerAuth(memo = "閫�搴擄紝1妤兼鏋堕��搴擄紝閫�搴撳崟閫�搴�")
+//    public R trussCombOrder(@RequestBody TrussCombParam combParam){
+//        mobileService.trussCombOrder(combParam, getUserId());
+//        return R.ok("缁勬墭鎴愬姛");
+//    }
 
     @RequestMapping("/truss/comd/auth")
 //    @ManagerAuth(memo = "鎵嬪姩鍏ュ簱锛�2妤兼棤闇�妗佹灦鎵嬪姩鍏ュ簱 wms鍏ュ簱")
     public R PalletizingCompleteTwoFloorParam(@RequestBody PalletizingCompleteTwoFloorParam combParam){
-        mobileService.PalletizingCompleteTwoFloorParam(combParam);
+        try{
+            mobileService.PalletizingCompleteTwoFloorParam(combParam);
+        } catch (Exception e){
+            return R.error(e.getMessage()).add(e.getMessage());
+        }
         return R.ok("缁勬墭鎴愬姛");
     }
 
     @RequestMapping("/truss/comd/auth/v2")
 //    @ManagerAuth(memo = "鎵嬪姩鍏ュ簱锛�1妤兼棤闇�妗佹灦鎵嬪姩鍏ュ簱 wms鍏ュ簱")
     public R PalletizingCompleteTwoFloorParamV2(@RequestBody PalletizingCompleteTwoFloorParam combParam){
-        mobileService.PalletizingCompleteTwoFloorParam2(combParam);
+        try{
+            mobileService.PalletizingCompleteTwoFloorParam2(combParam);
+        } catch (Exception e){
+            return R.error(e.getMessage()).add(e.getMessage());
+        }
         return R.ok("缁勬墭鎴愬姛");
     }
 
diff --git a/src/main/java/com/zy/asrs/controller/OutController.java b/src/main/java/com/zy/asrs/controller/OutController.java
index 7e6cea3..98fb66b 100644
--- a/src/main/java/com/zy/asrs/controller/OutController.java
+++ b/src/main/java/com/zy/asrs/controller/OutController.java
@@ -75,6 +75,16 @@
             }
             LocDto locDto = new LocDto(orderDetl.getManu(), orderDetl.getMatnr(), orderDetl.getMaktx(),orderDetl.getModel(),orderDetl.getSpecs(),
                     orderDetl.getBatch(),orderDetl.getBrand(),orderDetl.getBarcode(), orderDetl.getOrderNo(),orderDetl.getAnfme());
+            LocDetl one = locDetlService.selectItem(locDto.getLocNo(), locDto.getMatnr(), locDto.getBatch());
+            if (one == null) {
+                LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("batch", locDto.getBatch()));
+                if (locDetl == null) {
+                    locDto.setLocNo(null);
+                } else {
+                    locDto.setLocNo(locDetl.getLocNo());
+                }
+            }
+
             locDto.setOrderDetlId(orderDetl.getId());
             locDto.setTkType(orderDetl.getTkType());
             locDtos.add(locDto);
@@ -145,6 +155,7 @@
             Order order = orderService.selectByNo(locDto.getOrderNo());
 
             DocType docType = docTypeService.selectById(order.getDocType());
+
             if (docType.getDocName().equals("涓嶅悎鏍煎搧鍑哄簱")){
                 staNoOrder = 212;
             }
diff --git a/src/main/java/com/zy/asrs/entity/LocDetl.java b/src/main/java/com/zy/asrs/entity/LocDetl.java
index fdc0ef2..192a7bf 100644
--- a/src/main/java/com/zy/asrs/entity/LocDetl.java
+++ b/src/main/java/com/zy/asrs/entity/LocDetl.java
@@ -247,6 +247,15 @@
         return this.brand;
     }
 
+    public int getBrandArmType$(){
+        BasBoxTypeService basBoxTypeService = SpringUtils.getBean(BasBoxTypeService.class);
+        List<BasBoxType> basBoxTypes = basBoxTypeService.selectList(new EntityWrapper<BasBoxType>().eq("box_type", this.brand).orderBy("id", true));
+        for (BasBoxType basBoxType:basBoxTypes){
+            return basBoxType.getArmType();
+        }
+        return 999;
+    }
+
     public String getModiTime$(){
         if (Cools.isEmpty(this.modiTime)){
             return "";
diff --git a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
index 6b4f80e..0915c9f 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -742,7 +742,15 @@
         LocTypeDto locTypeDto = new LocTypeDto();
         locTypeDto.setLocType1((short)1);
 
-        StartupDto dto = commonService.getLocNo(1, 1, 1901, matnr,null,null, locTypeDto);
+        StartupDto dto = null;
+        try{
+            commonService.getLocNo(1, 1, 1901, matnr,null,null, locTypeDto);
+        } catch (Exception e){
+            throw new CoolException(e.getMessage());
+        }
+        if (dto == null) {
+            throw new CoolException("鏈壘鍒板簱浣�");
+        }
 
         int workNo = dto.getWorkNo();
         // 鐢熸垚宸ヤ綔妗�
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){
diff --git a/src/main/java/com/zy/asrs/utils/OutboundAllocationUtil.java b/src/main/java/com/zy/asrs/utils/OutboundAllocationUtil.java
index ca2b834..8fafa1a 100644
--- a/src/main/java/com/zy/asrs/utils/OutboundAllocationUtil.java
+++ b/src/main/java/com/zy/asrs/utils/OutboundAllocationUtil.java
@@ -253,7 +253,7 @@
 
             int sign = 0;
             int staA=118;
-            int staB=118;
+            int staB=1901;
             for (List<StockOutParam.LocDetl> locDetlList:lists){
                 sign++;
                 if (locDetlList.size()==0){
@@ -359,7 +359,7 @@
 
             int sign = 0;
             int staA=118;
-            int staB=118;
+            int staB=1901;
             for (List<StockOutParam.LocDetl> locDetlList:lists){
                 sign++;
                 if (locDetlList.size()==0){
@@ -466,7 +466,7 @@
 
             int sign = 0;
             int staA=118;
-            int staB=118;
+            int staB=1901;
             for (List<StockOutParam.LocDetl> locDetlList:lists){
                 sign++;
                 if (locDetlList.size()==0){

--
Gitblit v1.9.1