From 9a1a15332a745956b665e35ebe3cdc40eea9e43d Mon Sep 17 00:00:00 2001
From: 野心家 <1051256694@qq.com>
Date: 星期二, 22 十月 2024 14:11:56 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |  131 +++++++++++++++++--------------------------
 1 files changed, 51 insertions(+), 80 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
index 2a38aa0..1622eb7 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -259,6 +259,7 @@
                                     ,true
                             );
                             log.info("鍏ュ簱璇锋眰鍙傛暟{}" + JSON.toJSONString(toWmsDTO));
+                            log.info("鍏ュ簱璇锋眰杩斿洖鍙傛暟{}" + JSON.toJSONString(response));
                             if (jsonObject.getInteger("code").equals(200) && !Cools.isEmpty(jsonObject.get("data").toString())) {
                                 GetWmsDto getWmsDto = JSON.parseObject(jsonObject.get("data").toString(), GetWmsDto.class);
                                 try{
@@ -321,7 +322,7 @@
                                                 .build()
                                                 .doPost();
                                         JSONObject jsonObject1 = JSON.parseObject(response2);
-                                        apiLogService.save("wcs娲惧彂搴撲綅涓嶄负绌轰笂鎶ms"
+                                        apiLogService.save("wcs娲惧彂搴撲綅==銆嬩笉涓虹┖銆�==涓婃姤wms"
                                                 ,wmsUrl+taskStatusFeedbackPath
                                                 ,null
                                                 ,"127.0.0.1"
@@ -330,8 +331,8 @@
                                                 ,true
                                         );
                                     }catch (Exception e){
-                                        log.error("wcs娲惧彂搴撲綅涓嶄负绌轰笂鎶ms", getWmsDto.getWrkNo());
-                                        throw new CoolException("wcs娲惧彂鍏ュ簱浠诲姟涓婃姤wms澶辫触锛屽紓甯镐俊鎭細"+e);
+                                        log.error("wcs娲惧彂搴撲綅==銆嬩笉涓虹┖銆�==涓婃姤wms", getWmsDto.getWrkNo());
+                                        throw new CoolException("wcs娲惧彂鍏ュ簱浠诲姟涓婃姤wms澶辫触,娲惧彂搴撲綅==銆嬩笉涓虹┖銆�==锛屽紓甯镐俊鎭細"+e);
                                     }
                                 }
 
@@ -406,16 +407,25 @@
                                 continue;
                             }
                             log.info("涓嬪彂杈撻�佺嚎浠诲姟锛歵askWrk:"+JSON.toJSONString(taskWrk));
-                            R r = siteController.siteDetlUpdate(Integer.valueOf(taskWrk.getTargetPoint()), taskWrk.getWrkNo().shortValue(), (short) 0, "Y", false, false);
-                            JSONObject jsonObject = JSON.parseObject(JSON.toJSONString(r));
-                            if (jsonObject.getInteger("code").equals(200)){
+//                            R r = siteController.siteDetlUpdate(Integer.valueOf(taskWrk.getTargetPoint()), taskWrk.getWrkNo().shortValue(), (short) 0, "Y", false, false);
+                            staProtocol.setWorkNo(taskWrk.getWrkNo().shortValue());
+                            staProtocol.setStaNo(staDesc.getCrnStn().shortValue());
+                            boolean offer = false;
+                            try{
+                                offer = MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocol));
+                            }catch (Exception e){
+                                log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛氬紓甯�:"+e);
+                                log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛氬紓甯�:offer:"+offer);
+                            }
+//                            JSONObject jsonObject = JSON.parseObject(JSON.toJSONString(r));
+                            if (offer){
                                 log.info("涓嬪彂杈撻�佺嚎浠诲姟鎴愬姛锛歵askWrk:"+JSON.toJSONString(taskWrk));
                                 taskWrk.setStatus(5);
                                 taskWrk.setWrkSts(14);
                                 taskWrkService.updateById(taskWrk);
                             }else {
                                 log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛歵askWrk:"+JSON.toJSONString(taskWrk));
-                                log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛氬紓甯镐俊鎭�:"+JSON.toJSONString(r));
+//                                log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛氬紓甯镐俊鎭�:"+JSON.toJSONString(r));
                             }
                         }
                     }catch (Exception e){
@@ -442,6 +452,9 @@
                 continue;
             }
 
+            // 搴撲綅绉昏浆
+            this.locToLoc(crn, crnProtocol);
+
             // 鍙湁褰撳爢鍨涙満绌洪棽 骞朵笖 鏃犱换鍔℃椂鎵嶇户缁墽琛�
             if (crnProtocol.getStatusType() == CrnStatusType.IDLE && crnProtocol.getTaskNo() == 0 && crnProtocol.getModeType() == CrnModeType.AUTO
                     && crnProtocol.getLoaded() == 0 && crnProtocol.getForkPos() == 0) {
@@ -466,8 +479,6 @@
                     }
                 }
             }
-            // 搴撲綅绉昏浆
-            this.locToLoc(crn, crnProtocol);
 
         }
     }
@@ -518,15 +529,14 @@
                     continue;
                 }
 
-                int workNo = commonService.getWorkNo(WorkNoType.PAKIN.type);//鑾峰彇鍏ュ簱宸ヤ綔鍙�
-                taskWrk.setWrkNo(workNo);//宸ヤ綔鍙�
+//                int workNo = commonService.getWorkNo(WorkNoType.PAKIN.type);//鑾峰彇鍏ュ簱宸ヤ綔鍙�
+//                taskWrk.setWrkNo(workNo);//宸ヤ綔鍙�
                 taskWrk.setStatus(TaskStatusType.DISTRIBUTE.id);//娲惧彂鐘舵��
                 taskWrk.setAssignTime(new Date());//娲惧彂鏃堕棿
                 taskWrk.setWrkSts(3);//宸ヤ綔鐘舵�� 3.鍚婅溅鍏ュ簱
                 taskWrk.setCrnNo(staDesc.getCrnNo());//鍫嗗灈鏈哄彿
                 taskWrk.setModiTime(new Date());
                 taskWrk.setModiUser(9988L);
-                taskWrkService.updateById(taskWrk);
 
 //                //鍙栧嚭鍛戒护
 //                List<CommandInfo> commandInfos = commandInfoService.selectByTaskNo(taskWrk.getTaskNo());
@@ -577,6 +587,12 @@
                     throw new CoolException("鍫嗗灈鏈哄懡浠ょ敓鎴愬け璐�");
                 }else{
                     try{
+                        taskWrkService.updateById(taskWrk);
+                    }catch (Exception e){
+                        log.error("淇敼宸ヤ綔妗g姸鎬� 2.璁惧涓婅蛋 => 3.鍚婅溅鍏ュ簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", taskWrk.getWrkNo());
+                        log.error("淇敼宸ヤ綔妗g姸鎬� 2.璁惧涓婅蛋 => 3.鍚婅溅鍏ュ簱涓� 澶辫触锛侊紒锛屽紓甯革細"+e);
+                    }
+                    try{
                         HashMap<String, Object> headParam = new HashMap<>();
                         headParam.put("taskNo",taskWrk.getTaskNo());
                         headParam.put("status",taskWrk.getStatus());
@@ -599,9 +615,9 @@
                                 ,response
                                 ,true
                         );
-                    }catch (Exception e){
-                        log.error("wcs娲惧彂鍏ュ簱浠诲姟涓婃姤wms澶辫触", taskWrk);
-                        throw new CoolException("wcs娲惧彂鍏ュ簱浠诲姟涓婃姤wms澶辫触");
+                    } catch (Exception e){
+                        log.error("wcs娲惧彂鍏ュ簱浠诲姟涓婃姤wms澶辫触", JSON.toJSONString(taskWrk));
+//                        throw new CoolException("wcs娲惧彂鍏ュ簱浠诲姟涓婃姤wms澶辫触");
                     }
 
                 }
@@ -665,15 +681,6 @@
                             break;
                         }
 
-
-                        // 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓�
-                        Date now = new Date();
-                        taskWrk.setWrkSts(12);
-                        taskWrk.setStatus(2);
-                        taskWrk.setModiTime(now);
-                        if (taskWrkMapper.updateById(taskWrk) == 0) {
-                            log.error("淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", taskWrk.getWrkNo());
-                        }
                         CrnCommand command = new CrnCommand();
                         command.setCrnNo(taskWrk.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
                         command.setTaskNo(taskWrk.getWrkNo().shortValue()); // 宸ヤ綔鍙�
@@ -691,6 +698,19 @@
                             throw new CoolException("鍫嗗灈鏈哄懡浠ょ敓鎴愬け璐�");
                         }else{
                             try{
+                                // 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓�
+                                Date now = new Date();
+                                taskWrk.setWrkSts(12);
+                                taskWrk.setStatus(2);
+                                taskWrk.setModiTime(now);
+                                if (taskWrkMapper.updateById(taskWrk) == 0) {
+                                    log.error("淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", taskWrk.getWrkNo());
+                                }
+                            }catch (Exception e){
+                                log.error("淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", taskWrk.getWrkNo());
+                                log.error("淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽紓甯革細"+e);
+                            }
+                            try{
                                 HashMap<String, Object> headParam = new HashMap<>();
                                 headParam.put("taskNo",taskWrk.getTaskNo());
                                 headParam.put("status",taskWrk.getStatus());
@@ -705,7 +725,7 @@
                                         .build()
                                         .doPost();
                                 JSONObject jsonObject = JSON.parseObject(response);
-                                apiLogService.save("wcs娲惧彂鍏ュ簱浠诲姟涓婃姤wms"
+                                apiLogService.save("wcs娲惧彂鍑哄簱浠诲姟涓婃姤wms"
                                         ,wmsUrl+taskStatusFeedbackPath
                                         ,null
                                         ,"127.0.0.1"
@@ -714,60 +734,10 @@
                                         ,true
                                 );
                             }catch (Exception e){
-                                log.error("wcs娲惧彂鍑哄簱浠诲姟涓婃姤wms澶辫触", taskWrk);
-                                throw new CoolException("wcs娲惧彂鍏ュ簱浠诲姟涓婃姤wms澶辫触");
+                                log.error("wcs娲惧彂鍑哄簱浠诲姟涓婃姤wms澶辫触", JSON.toJSONString(taskWrk));
+//                                throw new CoolException("wcs娲惧彂鍏ュ簱浠诲姟涓婃姤wms澶辫触");
                             }
-
                         }
-
-//                        // 鍙屾繁搴撲綅涓旀祬搴撲綅鏈夎揣锛屽垯闇�鍏堝娴呭簱浣嶈繘琛屽簱浣嶇Щ杞�
-//                        if (Utils.isDeepLoc(slaveProperties, taskWrk.getStartPoint())) {
-//
-//                            taskWrkMapper.selectPakOutIoType(taskWrk.getCrnNo());
-//
-//                            List<TaskWrk> taskWrks1 = taskWrkMapper.selectPakOutIoType(taskWrk.getCrnNo());
-//                            if (Cools.isEmpty(taskWrks1) && taskWrks1.size()!=0){
-//                                continue;
-//                            }
-//                            String shallowLocNo = Utils.getShallowLoc(slaveProperties, taskWrk.getStartPoint());
-//                            TaskWrk hallowLocNoTask = taskWrkMapper.selectByStartPoint(shallowLocNo);
-//                            if (!Cools.isEmpty(hallowLocNoTask)){
-//                                continue;
-//                            }
-//                        }
-//
-//                        //鍙栧嚭鍛戒护
-//                        List<CommandInfo> commandInfos = commandInfoService.selectByTaskNo(taskWrk.getTaskNo());
-//                        Integer commandStep = taskWrk.getCommandStep();
-//                        if (commandInfos.isEmpty()) {
-//                            continue;//鍛戒护绌�
-//                        }
-//
-//                        //鍒ゆ柇鏈鍛戒护鏄惁鎵ц
-//                        CommandInfo commandInfo2 = commandInfos.get(commandInfos.size() - 1);
-//                        if (commandInfo2.getCommandStatus() != CommandStatusType.CREATE.id) {
-//                            continue;//鎸囦护宸叉墽琛�
-//                        }
-//
-//                        CommandInfo commandInfo = commandInfos.get(commandStep);
-//                        CommandPackage commandPackage = JSON.parseObject(commandInfo.getCommand(), CommandPackage.class);//鍙栧嚭鍛戒护鎶ユ枃
-//                        CrnCommand crnCommand = JSON.parseObject(commandPackage.getCommand().toString(), CrnCommand.class);
-//
-//                        if (!MessageQueue.offer(SlaveType.Crn, taskWrk.getCrnNo(), new Task(2, crnCommand))) {
-//                            log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", taskWrk.getCrnNo(), JSON.toJSON(crnCommand));
-//                        } else {
-//
-//                            //寮�濮嬭繍琛�
-//                            String response = CrnStartRunning(taskWrk);
-//                            JSONObject jsonObject = JSON.parseObject(response);
-//                            if (jsonObject.getInteger("code").equals(200)) {
-//
-//                            }else {
-//                                log.error("鍑哄簱寮�濮嬭繍琛岄�氳澶辫触,"+jsonObject.get("msg"));
-//
-//                            }
-//                        }
-
                     }
                 }
             }
@@ -783,7 +753,8 @@
             List<TaskWrk> taskWrks = taskWrkMapper.selectList(new EntityWrapper<TaskWrk>()
                     .eq("crn_no",slave.getId())
                     .eq("wrk_sts",11)
-                    .eq("io_type",3));
+                    .eq("io_type",3)
+                    .orderBy("io_pri",false));
             for (TaskWrk taskWrk : taskWrks){
 
                 // 鍙屾繁搴撲綅涓旀祬搴撲綅鏈夎揣锛屽垯闇�鍏堝娴呭簱浣嶈繘琛屽簱浣嶇Щ杞�
@@ -866,8 +837,8 @@
                                 ,true
                         );
                     }catch (Exception e){
-                        log.error("wcs娲惧彂鍑哄簱浠诲姟涓婃姤wms澶辫触", taskWrk);
-                        throw new CoolException("wcs娲惧彂鍏ュ簱浠诲姟涓婃姤wms澶辫触");
+                        log.error("wcs娲惧彂绉诲簱搴撲换鍔′笂鎶ms澶辫触", taskWrk);
+//                        throw new CoolException("wcs娲惧彂绉诲簱搴撲换鍔′笂鎶ms澶辫触");
                     }
 
                 }

--
Gitblit v1.9.1