From 5ffe34a87c27f73bc92b2ac0c58e6894ec61792b Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期三, 22 十月 2025 08:46:32 +0800
Subject: [PATCH] 最新版本541200007

---
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java |  289 +++++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 198 insertions(+), 91 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..c130195 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
@@ -1000,11 +1000,40 @@
                 emayService,smsEmailMapper,smsConfigMapper,platformJobMapper,platformJob.getId(),
                 SmsConstants.platformJobContent.platformJobCallIn,null,null
         );
-        
+
         //鍏紬鍙锋ā鏉挎秷鎭�
         if(Objects.nonNull(platformJob.getDrivierPhone())) {
-          this.sendWxNotice(WxPlatConstants.platformJobContent.platformJobCallIn,platformJob);
+            this.sendWxNotice(WxPlatConstants.platformJobContent.platformJobCallIn,platformJob);
         }
+        return platformJob;
+    }
+    public PlatformJob platformInParkBiz(PlatformJob platformJob,  Platform platform ){
+        platformJob.setPlatformId(platform.getId());
+        platformJob.setPlatformName(platform.getName());
+        //鍒ゆ柇鏄惁闇�瑕佸~鍏呰繘鍘�
+        if(StringUtils.isBlank(platformJob.getPlatforms())){
+            platformJob.setPlatforms(platform.getId().toString());
+            platformJob.setPlatformNames(platform.getName());
+        }else{
+            if(!Constants.equalsInteger(platform.getId(),platformJob.getPlatformId())){
+                platformJob.setPlatforms(platformJob.getPlatforms() + "," +platformJob.getPlatformId().toString());
+                platformJob.setPlatformNames(platformJob.getPlatformNames() + "," +platform.getName());
+            }
+        }
+
+        PlatformJob oldPlatformJob = new PlatformJob();
+        BeanUtils.copyProperties(platformJob,oldPlatformJob);
+        platformJob.setPlatformId(platform.getId());
+        platformJob.setInwaitDate(new Date());
+        platformJob.setStatus(Constants.PlatformJobStatus.IN_WAIT.getKey());
+        platformJob.setEditDate(new Date());
+        platformJobMapper.updateById(platformJob);
+
+        //瀛樺偍鎿嶄綔鏃ュ織
+        savePlatformLog(Constants.PlatformJobLogType.IN_WAIT.getKey(),oldPlatformJob,platformJob,
+                Constants.PlatformJobLogType.IN_WAIT.getInfo());
+
+
         return platformJob;
     }
 
@@ -1207,7 +1236,7 @@
         ) ){
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧�,涓氬姟鐘舵�佸凡娴佽浆锛�");
         }
-        
+
         Platform platform = platformJoinMapper.selectById(jobOperateDTO.getPlatformId());
         if(Objects.isNull(platform)){
             throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌鏈堝彴淇℃伅");
@@ -1226,6 +1255,7 @@
         BeanUtils.copyProperties(platformJob,oldPlatformJob);
 
         platformJob.setCallDate(Objects.isNull(platformJob.getCallDate())?new Date():null);
+        platformJob.setCallWay(0);
         platformJob.setCallUserId(Objects.isNull(jobOperateDTO.getLoginUserInfo())?null:jobOperateDTO.getLoginUserInfo().getId());
         platformJob.setStatus(Constants.PlatformJobStatus.CALLED.getKey());
         platformJob.setPlatformId(jobOperateDTO.getPlatformId());
@@ -1265,6 +1295,34 @@
                 Constants.PlatformBroadcastContent.CALLING.getInfo()+ Constants.PlatformBroadcastContent.CALLING.getInfo() + Constants.PlatformBroadcastContent.CALLING.getInfo()
         );
 
+        platformJob.setPlatformWmsCode(platform.getCode());
+        return platformJob;
+    }
+    public PlatformJob platformCallNumberBiz( PlatformJob platformJob ,Platform platform ){
+        platformJob.setPlatformId(platform.getId());
+        PlatformJob oldPlatformJob = new PlatformJob();
+        BeanUtils.copyProperties(platformJob,oldPlatformJob);
+        platformJob.setCallDate(Objects.isNull(platformJob.getCallDate())?new Date():null);
+        platformJob.setCallWay(Constants.ONE);
+        platformJob.setStatus(Constants.PlatformJobStatus.CALLED.getKey());
+        platformJob.setPlatformId(platform.getId());
+        //鍒ゆ柇鏄惁闇�瑕佸~鍏呰繘鍘�
+        if(StringUtils.isBlank(platformJob.getPlatforms())){
+            platformJob.setPlatforms(platform.getId().toString());
+            platformJob.setPlatformNames(platform.getName());
+        }else{
+            if(!Constants.equalsInteger(platform.getId(),platformJob.getPlatformId())){
+                platformJob.setPlatforms(platformJob.getPlatforms() + "," +platform.getId().toString());
+                platformJob.setPlatformNames(platformJob.getPlatformNames() + "," +platform.getName());
+            }
+        }
+        platformJob.setEditDate(new Date());
+        platformJobMapper.updateById(platformJob);
+
+        //瀛樺偍鎿嶄綔鏃ュ織
+        savePlatformLog(Constants.PlatformJobLogType.CALLED.getKey(),oldPlatformJob,platformJob,
+                Constants.PlatformJobLogType.CALLED.getInfo().replace("{data}",platform.getName()));
+        platformJob.setPlatformName(platform.getName());
         platformJob.setPlatformWmsCode(platform.getCode());
         return platformJob;
     }
@@ -2576,6 +2634,7 @@
     }
 
     @Override
+    @Transactional
     public void autoPlatformCallCar(WmsService wmsService){
         //鏌ヨ褰撳墠寮�鍚殑鏈堝彴鏁版嵁
         List<PlatformGroup> allPlatformGroup = platformGroupMapper.selectList(new QueryWrapper<PlatformGroup>().lambda().eq(PlatformGroup::getStatus,Constants.ZERO)
@@ -2608,6 +2667,8 @@
             log.error("========鏈堝彴鑷姩鍙彿============缁撴潫锛氭棤鑷姩鍙彿鏈堝彴");
             return;
         }
+
+        List<PlatformJob> noticeList = new ArrayList<>();
         //寰幆鎵�鏈夎嚜鍔ㄥ彨鍙锋湀鍙�
         for (PlatformGroup platformGroup:autoCallGroup) {
             List<Platform> platforms = platformList.stream().filter(i->Constants.equalsInteger(i.getGroupId(),platformGroup.getId())).collect(Collectors.toList());
@@ -2615,23 +2676,30 @@
                 log.error("========鏈堝彴鑷姩鍙彿============缁撴潫锛氭棤鑷姩鍙彿鏈堝彴-"+platformGroup.getName());
                 continue;
             }
+            log.error("========鏈堝彴鑷姩鍙彿============鏈夎嚜鍔ㄥ彨鍙锋湀鍙�--"+platformGroup.getName());
             Boolean isDefaul = false;
             if(Constants.equalsInteger(platforms.size(),Constants.ONE)){
                 isDefaul = true;
             }else{
+                int t1 =0,t0=0;
                 //鏌ヨ鏈堝彴缁勪笅鐨勬湀鍙版槸鍚﹀悓鏃跺瓨鍦ㄦ暣鎵樺拰鏁f墭鏈堝彴
-                if((
-                    ((platforms.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ONE)).collect(Collectors.toList()).size()>Constants.ZERO)?Constants.ONE:Constants.ZERO)
-                            +
-                    ((platforms.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ZERO)).collect(Collectors.toList()).size()>Constants.ZERO)?Constants.ONE:Constants.ZERO)
-                    )==Constants.ONE
-                ){
+                for(Platform i : platforms){
+                    if(Constants.equalsInteger(i.getType(),Constants.ONE)){
+                        t1 ++;
+                    }else{
+                        t0 ++;
+                    }
+                }
+                if(t1 == 0 ||  t0 ==0){
                     isDefaul = true;
                 }
             }
+
+
             for (Platform platform:platforms) {
+                log.error("========鏈堝彴鑷姩鍙彿============寮�濮嬪鐞嗘壘鏈堝彴浣滀笟--"+platform.getName());
                 //鏈堝彴 鍙彿鍏ュ洯鏁伴噺
-                Integer workingNum = platform.getWorkingNum();
+                Integer workingNum = Constants.formatIntegerNum(platform.getWorkingNum());
                 //鏌ヨ褰撳墠鏈堝彴鏄惁瀛樺湪鏈堝彴鍙彿鏁版嵁 濡傛灉澶т簬绛変簬鍙彨鍙锋暟閲� 鍒欒烦杩�
                 Integer workNum = platformJobJoinMapper.selectCount(new QueryWrapper<PlatformJob>().lambda()
                         .eq(PlatformJob::getIsdeleted,Constants.ZERO)
@@ -2659,33 +2727,60 @@
                         .orderByDesc(PlatformJob::getStatus,PlatformJob::getUrgeTime)
                         .orderByAsc(PlatformJob::getSignDate));
                 if(CollectionUtils.isEmpty(platformJobList)){
-                    log.error("========鏈堝彴鑷姩鍙彿============缁撴潫锛氭棤婊¤冻鏉′欢鐨勪綔涓�1-"+platform.getName());
+                    log.error("========鏈堝彴鑷姩鍙彿============缁撴潫锛氭棤婊¤冻鏉′欢鐨勯泦鍚�1-"+platform.getName());
                     continue;
                 }
-                for (int i = 0; i < workingNum - workNum ; i++) {
+                log.error("========鏈堝彴鑷姩鍙彿============鏈夋弧瓒虫潯浠剁殑浣滀笟闆嗗悎--"+platform.getName());
+                for (int i = 0; i < workingNum - workNum && platformJobList.size()>0; i++) {
+                    if(platformJobList== null || platformJobList.size() ==0){
+                        break;
+                    }
                     PlatformJob platformJob  = this.getAutoCallJob(platformJobList,platform,isDefaul,platformGroup);
                     if(Objects.isNull(platformJob)){
                         log.error("========鏈堝彴鑷姩鍙彿============缁撴潫锛氭棤婊¤冻鏉′欢鐨勪綔涓�2-"+platform.getName());
-                        continue;
+                        break;
                     }
-                    JobOperateDTO jobOperateDTO = new JobOperateDTO();
-                    jobOperateDTO.setJobId(platformJob.getId());
-                    jobOperateDTO.setPlatformId(platform.getId());
-                    PlatformJob callPlatformJob = this.platformCallNumber(jobOperateDTO);
-                    platformJobList = platformJobList.stream().filter(j->!Constants.equalsInteger(j.getId(),platformJob.getId())).collect(Collectors.toList());
-                    try{
-                        if(Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.WAIT_CALL.getKey())){
-                            this.sendInPark(platformJob);
+                    PlatformJob callPlatformJob = this.platformCallNumberBiz(platformJob,platform);
+                    noticeList.add(callPlatformJob );
+                    List<PlatformJob> newList = new ArrayList<>();
+                    for(PlatformJob j :platformJobList ){
+                        if(!Constants.equalsInteger(j.getId(),platformJob.getId())){
+                            newList.add(j);
                         }
-                        if(!Constants.equalsInteger(platformJob.getType(),Constants.FOUR)
-                                && StringUtils.isNotBlank(platformJob.getBillCode())){
-                            //閫氱煡WMS缁戝畾鏈堝彴淇℃伅
-                            wmsService.orderPlatformBind(callPlatformJob);
-                        }
-                    }catch (Exception e){
-                        log.error("鏈堝彴鑷姩鍙彿鏉冮檺涓嬪彂澶辫触锛歿}"+JSONObject.toJSONString(platform));
                     }
+                    platformJobList = newList;
+//                    platformJobList = platformJobList.stream().filter(j->!Constants.equalsInteger(j.getId(),platformJob.getId())).collect(Collectors.toList());
                 }
+            }
+        }
+        if(noticeList.size()>0){
+            for(PlatformJob platformJob : noticeList){
+                //鍙戦�佺煭淇′俊鎭�
+                SmsEmailServiceImpl.sendPlatformJobSms(systemDictDataBiz,
+                        emayService,smsEmailMapper,smsConfigMapper,platformJobMapper,platformJob.getId(),
+                        SmsConstants.platformJobContent.platformJobSingIn,platformJob.getPlatformName(),null
+                );
+
+                //鍏紬鍙锋ā鏉挎秷鎭�
+                if(Objects.nonNull(platformJob.getDrivierPhone())){
+                    this.sendWxNotice(WxPlatConstants.platformJobContent.platformJobSingIn,platformJob);
+                }
+                //骞挎挱 led閫氱煡
+                platformJob.setPlatformName(platformJob.getPlatformName());
+                this.broadcastAndLEed(platformJob,Constants.PlatformLedContent.CALLING.getInfo(),
+                        Constants.PlatformBroadcastContent.CALLING.getInfo()+ Constants.PlatformBroadcastContent.CALLING.getInfo() + Constants.PlatformBroadcastContent.CALLING.getInfo()
+                );
+                try{
+                    this.sendInPark(platformJob);
+                    if(!Constants.equalsInteger(platformJob.getType(),Constants.FOUR)
+                            && StringUtils.isNotBlank(platformJob.getBillCode())){
+                        //閫氱煡WMS缁戝畾鏈堝彴淇℃伅
+                        wmsService.orderPlatformBind(platformJob);
+                    }
+                }catch (Exception e){
+                    log.error("鏈堝彴鑷姩鍙彿鏉冮檺涓嬪彂澶辫触锛歿}"+JSONObject.toJSONString(platformJob));
+                }
+
             }
         }
     }
@@ -2693,6 +2788,7 @@
 
 
     @Override
+    @Transactional
     public void autoCallInParkCar(WmsService wmsService){
         //鏌ヨ褰撳墠寮�鍚殑鏈堝彴鏁版嵁
         List<PlatformGroup> allPlatformGroup = platformGroupMapper.selectList(new QueryWrapper<PlatformGroup>().lambda().eq(PlatformGroup::getStatus,Constants.ZERO)
@@ -2716,12 +2812,13 @@
                 .lambda()
                 .eq(Platform::getIsdeleted,Constants.ZERO)
                 .eq(Platform::getStatus,Constants.ZERO)
-                .isNotNull(Platform::getCallReadyNum)
+//                .isNotNull(Platform::getCallReadyNum)
                 .in(Platform::getGroupId,autoCallGroup.stream().map(i->i.getId()).collect(Collectors.toList()))
         );
         if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isEmpty(platformList)){
             return;
         }
+        List<PlatformJob> noticeList = new ArrayList<>();
         //寰幆鎵�鏈夎嚜鍔ㄥ彨鍙锋湀鍙�
         for (PlatformGroup platformGroup:autoCallGroup) {
             List<Platform> platforms = platformList.stream().filter(i->Constants.equalsInteger(i.getGroupId(),platformGroup.getId())).collect(Collectors.toList());
@@ -2743,7 +2840,7 @@
             }
             for (Platform platform:platforms) {
                 //鏈堝彴 鍙彿鍏ュ洯鏁伴噺
-                Integer callReadyNum = platform.getCallReadyNum();
+                Integer callReadyNum = Constants.formatIntegerNum(platform.getCallReadyNum());
                 //鏌ヨ褰撳墠鏈堝彴鏄惁瀛樺湪寰呭紑濮嬩綔涓氭暟鎹� 濡傛灉瀛樺湪鍒欑洿鎺ヨ烦杩囧綋鍓嶆湀鍙�
                 Integer callNum = platformJobJoinMapper.selectCount(new QueryWrapper<PlatformJob>().lambda()
                         .eq(PlatformJob::getIsdeleted,Constants.ZERO)
@@ -2752,6 +2849,7 @@
                 if(callNum>=callReadyNum){
                     continue;
                 };
+
                 //鏌ヨ鏈堝彴涓� 鍙互杩涜鍙彿鐨勬暟鎹�
                 List<PlatformJob> platformJobList = platformJobJoinMapper.selectList(new QueryWrapper<PlatformJob>()
                         .lambda()
@@ -2764,25 +2862,40 @@
                 if(CollectionUtils.isEmpty(platformJobList)){
                     continue;
                 }
-                for (int i = 0; i < callReadyNum - callNum ; i++) {
-                    PlatformJob platformJob  = this.getAutoCallJob(platformJobList,platform,isDefaul,platformGroup);
-                    JobOperateDTO jobOperateDTO = new JobOperateDTO();
-                    jobOperateDTO.setJobId(platformJob.getId());
-                    jobOperateDTO.setPlatformId(platform.getId());
-                    PlatformJob callPlatformJob = this.platformInPark(jobOperateDTO);
-                    platformJobList = platformJobList.stream().filter(j->!Constants.equalsInteger(j.getId(),platformJob.getId())).collect(Collectors.toList());
-                    try{
-                        if(Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.WAIT_CALL.getKey())){
-                            this.sendInPark(platformJob);
-                        }
-                        if(!Constants.equalsInteger(platformJob.getType(),Constants.FOUR)
-                                && StringUtils.isNotBlank(platformJob.getBillCode())){
-                            //閫氱煡WMS缁戝畾鏈堝彴淇℃伅
-                            wmsService.orderPlatformBind(callPlatformJob);
-                        }
-                    }catch (Exception e){
-                        log.error("鑷姩鍙彿鍏ュ洯鏉冮檺涓嬪彂澶辫触锛歿}"+JSONObject.toJSONString(platform));
+                for (int i = 0; i < callReadyNum - callNum && platformJobList.size()>0 ; i++) {
+                    if(platformJobList== null || platformJobList.size() ==0){
+                        break;
                     }
+                    PlatformJob platformJob  = this.getAutoCallJob(platformJobList,platform,isDefaul,platformGroup);
+                    if(platformJob ==null){
+                        break;
+                    }
+                    PlatformJob callPlatformJob = this.platformInParkBiz(platformJob,platform);
+                    noticeList.add(callPlatformJob);
+                    platformJobList = platformJobList.stream().filter(j->!Constants.equalsInteger(j.getId(),platformJob.getId())).collect(Collectors.toList());
+                }
+            }
+        }
+        if(noticeList.size()>0){
+            for(PlatformJob platformJob :noticeList){
+                //鍙戦�佺煭淇′俊鎭�
+                SmsEmailServiceImpl.sendPlatformJobSms(systemDictDataBiz,
+                        emayService,smsEmailMapper,smsConfigMapper,platformJobMapper,platformJob.getId(),
+                        SmsConstants.platformJobContent.platformJobCallIn,null,null
+                );
+                //鍏紬鍙锋ā鏉挎秷鎭�
+                if(Objects.nonNull(platformJob.getDrivierPhone())) {
+                    this.sendWxNotice(WxPlatConstants.platformJobContent.platformJobCallIn,platformJob);
+                }
+                try{
+                    this.sendInPark(platformJob);
+                    if(!Constants.equalsInteger(platformJob.getType(),Constants.FOUR)
+                            && StringUtils.isNotBlank(platformJob.getBillCode())){
+                        //閫氱煡WMS缁戝畾鏈堝彴淇℃伅
+                        wmsService.orderPlatformBind(platformJob);
+                    }
+                }catch (Exception e){
+                    log.error("鑷姩鍙彿鍏ュ洯鏉冮檺涓嬪彂澶辫触锛歿}"+JSONObject.toJSONString(platformJob));
                 }
             }
         }
@@ -2790,31 +2903,37 @@
 
 
 
+
     /**
      * 鏈堝彴鍒嗛厤浠诲姟
      * @param platformJobList 鎵�鏈夋湀鍙颁笅鍙互鍒嗛厤鐨勪换鍔�
      * @param platform  鏈堝彴
-     * @param isDefaul  鏄惁鍙湁鍗曠被鏈堝彴鎴栬�呭彧鏈変竴涓湀鍙� true / false
      * @param platformGroup 鏈堝彴缁�
      * @return
      */
     public PlatformJob getAutoCallJob(List<PlatformJob> platformJobList, Platform platform,Boolean isDefaul,PlatformGroup platformGroup){
+        if(platformJobList.size() ==0){
+            return  null;
+        }
         if(isDefaul){
             //鏈堝彴涓嬪彧鏈変竴绫绘湀鍙� 鐩存帴杩斿洖绗竴涓换鍔�
             return platformJobList.get(Constants.ZERO);
         }
         for (PlatformJob platformJob:platformJobList) {
+            log.error("鏈堝彴鑷姩鍙彿========寮�濮嬫壘浣滀笟锛�"+platformJob.getId());
             //鍙彿鍏ュ洯 鎴栬�呭紓甯告寕璧� 鍒欑洿鎺ヨ繘琛屽彨鍙�
             if(Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.EXCEPTION.getKey())
                     || Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.IN_WAIT.getKey())){
                 return platformJob;
             }
+            int typeParam = 1;// 0鏁存墭 1鏁d欢
             //鏍规嵁鏈堝彴缁勫垽鏂� 鍙彿閫昏緫
             // 鏂板簱鍑哄簱鑷姩鍙彿瑙勫垯
             // 1锛夊鏋滃崟涓繍鍗曚粎鍖呭惈鍗曚竴鍝佽锛屽垯鑷姩鍒嗛厤鑷冲湪鏁存墭鐩樻湀鍙拌繘琛屼綔涓氾紱
             // 2锛夊鏋滃崟涓繍鍗曞寘鍚袱涓強浠ヤ笂鐨勫搧瑙勶紝鍒欓渶瑕佸垽鏂槸鍚﹀瓨鍦ㄥ崟涓搧瑙勮秴杩� 500 浠朵笖璇ュ搧瑙勬暟閲忓崰鏁翠釜杩愬崟浠诲姟閲忕殑 60%鍙婁互涓婏紝鍒欒嚜鍔ㄥ垎閰嶈嚦鍦ㄦ暣鎵樼洏 鏈堝彴杩涜鏈堝彴锛�
             // 3锛夊鑻ヤ笉婊¤冻浠ヤ笂涓ょ偣锛屽垯鑷姩鍒嗛厤鑷虫暎浠舵湀鍙拌繘琛屼綔涓氾紱
             if(Constants.equalsInteger(platformGroup.getType(),Constants.ONE)){
+                typeParam = 1;
                 //瑁呰揣鏈堝彴 - 鍑哄簱
                 if(Constants.equalsInteger(platformJob.getOrigin(),Constants.ONE)){
                     // WM鎺ㄩ�佷换鍔�
@@ -2827,79 +2946,67 @@
                     //WMS鎺ㄩ�佷换鍔� 杩愬崟浠呭寘鍚崟涓�鍝佽锛堝晢鍝佺被鍨嬪彧鏈変竴绫伙級锛屽垯鑷姩鍒嗛厤鑷冲湪鏁存墭鐩樻湀鍙拌繘琛屼綔涓氾紱
                     List<String> materialNameList = platformWmsDetailList.stream().map(i->i.getMaterialName()).collect(Collectors.toList());
                     Set<String> materialNameSet = new HashSet<>(materialNameList);
-                    if(Constants.equalsInteger(materialNameSet.size(),Constants.ONE)&&Constants.equalsInteger(platform.getType(),Constants.ZERO)){
+                    if(Constants.equalsInteger(materialNameSet.size(),Constants.ONE)){
                         //鍗曚竴鍝佺被 涓斿綋鍓嶅惊鐜湀鍙颁负鏁存墭鐩樻湀鍙�
-                        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;
-                                }
+                        typeParam = 0;// 0鏁存墭
+                    }else  if(materialNameSet.size()> Constants.ONE){
+                        boolean isZhengtuo = false;
+                        //闈炲崟涓�鍝佺被
+                        //濡傛灉鍗曚釜杩愬崟鍖呭惈涓や釜鍙婁互涓婄殑鍝佽锛屽垯闇�瑕佸垽鏂槸鍚﹀瓨鍦ㄥ崟涓搧瑙勮秴杩� 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(Constants.formatBigdecimal(quanlity).compareTo(compareTotal)>Constants.ZERO){
+                                //瓒呰繃瑙勫畾鏁伴噺 涓斿綋鍓嶆湀鍙颁负鏁存墭鏈堝彴
+                                isZhengtuo =true;
+                                typeParam = 0;// 0鏁存墭
                             }
                         }
                     }
-                    return null;
-//                    //寰幆WMS浠诲姟 鏈垎閰嶈嚦鏁存墭鐩樻湀鍙板垯鐩存帴鍒嗛厤鍒版暎鎵樼洏鏈堝彴
-//                    if(Constants.equalsInteger(platform.getType(),Constants.ONE)){
-//                        return platformJob;
-//                    }
-                }else{
-                    //鐗╂祦杞﹂绾︾殑浠诲姟 鐩存帴鍒嗛厤 鏁f墭鐩樻湀鍙�
-                    if(Constants.equalsInteger(platform.getType(),Constants.TWO)){
-                        return platformJob;
-                    }
                 }
             }else{
+                typeParam = 0;//榛樿鏁存墭
                 //鍗歌揣鏈堝彴 - 鍏ュ簱
                 // 1锛夊彂璐у湴涓烘寚瀹氬湴鍖猴紝濡傜渷澶�/鑺滄箹锛屽垯鑷姩鍒嗛厤鑷虫暎浠舵湀鍙拌繘琛屼綔涓氾紱锛堣仈钀ュ姞宸ユ儏鍐碉級
                 // 2锛夊叾瀹冨満鏅紝鍧囪嚜鍔ㄥ垎閰嶈嚦鏁存墭鐩樻湀鍙拌繘琛屼綔涓�
-                if(Objects.nonNull(platformJob.getWmsId())){
+                if(Constants.equalsInteger(platformJob.getOrigin(),Constants.ONE)){
                     PlatformWmsJob platformWmsJob = platformWmsJobMapper.selectOne(new QueryWrapper<PlatformWmsJob>().lambda()
                             .eq(PlatformWmsJob::getIsdeleted,Constants.ZERO)
                             .eq(PlatformWmsJob::getJobId,platformJob.getId())
                             .orderByDesc(PlatformWmsJob::getId)
-                            .last(" limit 1")
-                    );
+                            .last(" limit 1"));
                     if(Objects.isNull(platformWmsJob)){
                         continue;
                     }
                     SystemDictData systemDictData = systemDictDataBiz.queryByCode(Constants.WMS_PARAM,Constants.IN_REPERTOTY_CODE);
-                    if(Objects.nonNull(systemDictData)){
+                    if( Objects.nonNull(systemDictData)){
                         //鍒ゆ柇鏀剧疆浣嶇疆
                         if(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)){
-                            return platformJob;
+                        ) > Constants.ZERO ){//鎸囧畾鍖哄煙鍒嗛厤鍒版暎浠舵湀鍙�
+                            typeParam = 1;//
                         }
                     }
-                    if(Constants.equalsInteger(platform.getType(),Constants.ZERO)){
-                        return platformJob;
-                    }
-                }else{
-                    //鐗╂祦杞﹂绾︾殑浠诲姟 鐩存帴鍒嗛厤 鏁f墭鐩樻湀鍙�
-                    if(Constants.equalsInteger(platform.getType(),Constants.ZERO)){
-                        return platformJob;
-                    }
                 }
+            }
+
+            log.error("鏈堝彴鑷姩鍙彿========寮�濮嬫壘浣滀笟缁撴灉锛�"+platformJob.getId()+"============"+platform.getType()+"===="+typeParam);
+            if(  Constants.equalsInteger(platform.getType(),typeParam)){
+                log.error("鏈堝彴鑷姩鍙彿========鎵惧埌浜嗕綔涓氾細"+platform.getName() );
+                return platformJob;
             }
         }
         return null;
     }
 
 
+
     @Override
     public void jobUrge(Integer jobId,LoginUserInfo loginUserInfo){
         if(Objects.isNull(jobId)){

--
Gitblit v1.9.3