From 3b0c9e51e16619e59b58e4ce9870e8f69e89259b Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期二, 21 十月 2025 17:42:11 +0800
Subject: [PATCH] 月台自动叫号处理问题

---
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java |   54 ++++++++++++++++++++++++++----------------------------
 1 files changed, 26 insertions(+), 28 deletions(-)

diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java
index 16f88e7..157418c 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java
@@ -2831,31 +2831,30 @@
                         //鍗曚竴鍝佺被 涓斿綋鍓嶅惊鐜湀鍙颁负鏁存墭鐩樻湀鍙�
                         return platformJob;
                     }else if(!Constants.equalsInteger(materialNameSet.size(),Constants.ONE)){
-                        if(Constants.equalsInteger(platform.getType(),Constants.ZERO)){
-                            //闈炲崟涓�鍝佺被
-                            //濡傛灉鍗曚釜杩愬崟鍖呭惈涓や釜鍙婁互涓婄殑鍝佽锛屽垯闇�瑕佸垽鏂槸鍚﹀瓨鍦ㄥ崟涓搧瑙勮秴杩� 500 浠朵笖璇ュ搧瑙勬暟閲忓崰鏁翠釜杩愬崟浠诲姟閲忕殑 60%鍙婁互涓婏紝鍒欒嚜鍔ㄥ垎閰嶈嚦鍦ㄦ暣鎵樼洏 鏈堝彴杩涜鏈堝彴锛�
-                            BigDecimal total = platformWmsDetailList.stream().map(i->i.getIoQty()).reduce(BigDecimal.ZERO,BigDecimal::add);
-                            BigDecimal compareTotal = new BigDecimal("500");
-                            if((total.multiply(new BigDecimal("0.6")).compareTo(compareTotal)>Constants.ZERO)){
-                                compareTotal = total.multiply(new BigDecimal("0.6"));
-                            }
-                            for (String name:materialNameSet) {
-                                BigDecimal quanlity = platformWmsDetailList.stream().filter(i->i.getMaterialName().equals(name)).map(i->i.getIoQty()).reduce(BigDecimal.ZERO,BigDecimal::add);
-                                if(quanlity.compareTo(compareTotal)>Constants.ZERO){
-                                    //瓒呰繃瑙勫畾鏁伴噺 涓斿綋鍓嶆湀鍙颁负鏁存墭鏈堝彴
-                                    return platformJob;
-                                }
+                        //闈炲崟涓�鍝佺被
+                        //濡傛灉鍗曚釜杩愬崟鍖呭惈涓や釜鍙婁互涓婄殑鍝佽锛屽垯闇�瑕佸垽鏂槸鍚﹀瓨鍦ㄥ崟涓搧瑙勮秴杩� 500 浠朵笖璇ュ搧瑙勬暟閲忓崰鏁翠釜杩愬崟浠诲姟閲忕殑 60%鍙婁互涓婏紝鍒欒嚜鍔ㄥ垎閰嶈嚦鍦ㄦ暣鎵樼洏 鏈堝彴杩涜鏈堝彴锛�
+                        BigDecimal total = platformWmsDetailList.stream().map(i->i.getIoQty()).reduce(BigDecimal.ZERO,BigDecimal::add);
+                        BigDecimal compareTotal = new BigDecimal("500");
+                        if((total.multiply(new BigDecimal("0.6")).compareTo(compareTotal)>Constants.ZERO)){
+                            compareTotal = total.multiply(new BigDecimal("0.6"));
+                        }
+                        Boolean flag = false; //鏄惁瀛樺湪澶т簬鎬昏繍鍗�60%鏁伴噺鐨勬暟鎹�
+                        for (String name:materialNameSet) {
+                            BigDecimal quanlity = platformWmsDetailList.stream().filter(i->i.getMaterialName().equals(name)).map(i->i.getIoQty()).reduce(BigDecimal.ZERO,BigDecimal::add);
+                            if(quanlity.compareTo(compareTotal)>Constants.ZERO){
+                                flag = true;
+                                break;
                             }
                         }
+                        if(Constants.equalsInteger(platform.getType(),Constants.ZERO)&&flag){
+                            return platformJob;
+                        }else if(Constants.equalsInteger(platform.getType(),Constants.ONE)&&!flag){
+                            return platformJob;
+                        }
                     }
-                    return null;
-//                    //寰幆WMS浠诲姟 鏈垎閰嶈嚦鏁存墭鐩樻湀鍙板垯鐩存帴鍒嗛厤鍒版暎鎵樼洏鏈堝彴
-//                    if(Constants.equalsInteger(platform.getType(),Constants.ONE)){
-//                        return platformJob;
-//                    }
                 }else{
                     //鐗╂祦杞﹂绾︾殑浠诲姟 鐩存帴鍒嗛厤 鏁f墭鐩樻湀鍙�
-                    if(Constants.equalsInteger(platform.getType(),Constants.TWO)){
+                    if(Constants.equalsInteger(platform.getType(),Constants.ONE)){
                         return platformJob;
                     }
                 }
@@ -2875,21 +2874,20 @@
                     }
                     SystemDictData systemDictData = systemDictDataBiz.queryByCode(Constants.WMS_PARAM,Constants.IN_REPERTOTY_CODE);
                     if(Objects.nonNull(systemDictData)){
-                        //鍒ゆ柇鏀剧疆浣嶇疆
-                        if(platformWmsDetailMapper.selectCount(new QueryWrapper<PlatformWmsDetail>().lambda().eq(PlatformWmsDetail::getIsdeleted,Constants.ZERO)
+                        Boolean flag =  platformWmsDetailMapper.selectCount(new QueryWrapper<PlatformWmsDetail>().lambda().eq(PlatformWmsDetail::getIsdeleted,Constants.ZERO)
                                 .eq(PlatformWmsDetail::getWmsJobId,platformWmsJob.getId())
                                 .apply(" find_in_set(IN_REPERTOTY_CODE ,'"+systemDictData.getCode()+"')")
-                                .eq(PlatformWmsDetail::getInRepertotyCode,"")
                                 .isNotNull(PlatformWmsDetail::getInRepertotyCode)
-                        ) > Constants.ZERO && Constants.equalsInteger(platform.getType(),Constants.ONE)){
+                        ) > Constants.ZERO;
+                        //鍒ゆ柇鍙戣揣鐐逛俊鎭�
+                        if(flag && Constants.equalsInteger(platform.getType(),Constants.ONE)){
+                            return platformJob;
+                        }else if(!flag && Constants.equalsInteger(platform.getType(),Constants.ZERO)){
                             return platformJob;
                         }
                     }
-                    if(Constants.equalsInteger(platform.getType(),Constants.ZERO)){
-                        return platformJob;
-                    }
                 }else{
-                    //鐗╂祦杞﹂绾︾殑浠诲姟 鐩存帴鍒嗛厤 鏁f墭鐩樻湀鍙�
+                    //鐗╂祦杞﹂绾︾殑浠诲姟 鐩存帴鍒嗛厤 鏁存墭鐩樻湀鍙�
                     if(Constants.equalsInteger(platform.getType(),Constants.ZERO)){
                         return platformJob;
                     }

--
Gitblit v1.9.3