From d3f3d4b309cfb285fcbbc48b91c4046111c7e9cd Mon Sep 17 00:00:00 2001 From: zjj <3272660260@qq.com> Date: 星期三, 02 七月 2025 13:45:54 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 111 +++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 70 insertions(+), 41 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 8a682c6..7f2d211 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.common.Cools; import com.core.common.SpringUtils; +import com.core.exception.CoolException; import com.zy.asrs.domain.enums.TaskStatusType; import com.zy.asrs.entity.*; import com.zy.asrs.entity.param.TaskOverToWms; @@ -213,6 +214,9 @@ if (taskWrk.getStatus() != 2){ continue; } + if (!staProtocol.isPakMk()){ + continue; + } //鑾峰彇鍫嗗灈鏈虹珯鐐� StaDesc staDesc = new StaDesc(); if (devp.getId() <= 1){ @@ -222,9 +226,11 @@ staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>() .eq("crn_no", taskWrk.getCrnNo()).eq("type_no",1).lt("stn_no", 400).ge("stn_no", 250)); } + staProtocol.setWorkNo(taskWrk.getWrkNo().shortValue()); staProtocol.setStaNo(staDesc.getCrnStn().shortValue()); MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(3, staProtocol)); + devpThread.setPakMk(staProtocol.getSiteId(), false); Thread.sleep(500); }else { //TaskWrk taskWrk = taskWrkService.selectByTaskNo(param.getTaskNo()); @@ -313,7 +319,6 @@ /** * 鍫嗗灈鏈虹珯鍑哄簱鍒板嚭搴撶珯 */ - @Async public void crnStnToOutStn() { for (CrnSlave crnSlave : slaveProperties.getCrn()) { // 閬嶅巻鍫嗗灈鏈哄嚭搴撶珯 @@ -349,23 +354,28 @@ && crnProtocol.forkPosType == CrnForkPosType.HOME) { // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- - //鍙栧嚭杈撻�佺嚎鍛戒护 - List<CommandInfo> commandInfos = commandInfoService.selectByTaskNo(taskWrk.getTaskNo()); - if (commandInfos.isEmpty()) { - continue;//鍛戒护绌� - } + try { + //鍙栧嚭杈撻�佺嚎鍛戒护 + List<CommandInfo> commandInfos = commandInfoService.selectByTaskNo(taskWrk.getTaskNo()); + if (commandInfos.isEmpty()) { + continue;//鍛戒护绌� + } // CommandPackage commandPackage = JSON.parseObject(commandInfo.getCommand(), CommandPackage.class);//鍙栧嚭鍛戒护鎶ユ枃 // CrnCommand crnCommand = JSON.parseObject(commandPackage.getCommand().toString(), CrnCommand.class); - Integer commandStep = taskWrk.getCommandStep(); - CommandInfo commandInfo = commandInfos.get(commandStep); - CommandPackage commandPackage = JSON.parseObject(commandInfo.getCommand(), CommandPackage.class);//鍙栧嚭鍛戒护鎶ユ枃 - //StaProtocol staProtocol1 = JSON.parseObject(commandInfo.getCommand(), StaProtocol.class); - StaProtocol staProtocol1 = JSON.parseObject(commandPackage.getCommand().toString(), StaProtocol.class); - if (!MessageQueue.offer(SlaveType.Devp, crnStn.getDevpPlcId(), new Task(2, staProtocol1))) { - log.error("杈撻�佺嚎鍛戒护涓嬫柟澶辫触锛侊紒锛� [宸ヤ綔鍙�:{}]", taskWrk.getWrkNo()); - continue;//鍛戒护涓嬪彂澶辫触 + Integer commandStep = taskWrk.getCommandStep(); + CommandInfo commandInfo = commandInfos.get(commandStep); + CommandPackage commandPackage = JSON.parseObject(commandInfo.getCommand(), CommandPackage.class);//鍙栧嚭鍛戒护鎶ユ枃 + //StaProtocol staProtocol1 = JSON.parseObject(commandInfo.getCommand(), StaProtocol.class); + StaProtocol staProtocol1 = JSON.parseObject(commandPackage.getCommand().toString(), StaProtocol.class); + if (!MessageQueue.offer(SlaveType.Devp, crnStn.getDevpPlcId(), new Task(2, staProtocol1))) { + log.error("杈撻�佺嚎鍛戒护涓嬫柟澶辫触锛侊紒锛� [宸ヤ綔鍙�:{}]", taskWrk.getWrkNo()); + continue;//鍛戒护涓嬪彂澶辫触 + } + }catch (Exception e){ + throw new CoolException("鍙栧嚭杈撻�佺嚎鍛戒护澶辫触"); } + // 澶嶄綅鍫嗗灈鏈� crnThread.setResetFlag(true); @@ -489,11 +499,10 @@ log.error("淇敼宸ヤ綔妗g姸鎬� 2.璁惧涓婅蛋 => 3.鍚婅溅鍏ュ簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", taskWrk.getWrkNo()); } TaskWrk taskWrk2 = taskWrkService.selectByWrkNo(taskWrk.getWrkNo()); - if (taskWrk2.getWrkSts() != 3){ continue; } - log.error("杩涘叆淇敼宸ヤ綔妗f祦绋嬪畬鎴�,taskWrk=", taskWrk.getWrkNo()); + log.error("杩涘叆淇敼宸ヤ綔妗f祦绋嬪畬鎴�,taskWrk="+ taskWrk.getWrkNo()); //鍙栧嚭鍛戒护 @@ -509,15 +518,20 @@ 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)) { + try { + //寮�濮嬭繍琛� + String response = CrnStartRunning(taskWrk); + JSONObject jsonObject = JSON.parseObject(response); + if (jsonObject.getInteger("code").equals(200)) { - }else { - log.error("鍏ュ簱寮�濮嬭繍琛岄�氳澶辫触,"+jsonObject.get("msg")); + }else { + log.error("鍏ュ簱寮�濮嬭繍琛寃ms鎶ラ敊,"+jsonObject.get("msg")); + } + }catch (Exception e) { + log.error("鍏ュ簱寮�濮嬭繍琛寃ms鎶ラ敊"); } + } // // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- @@ -609,7 +623,7 @@ // 鑾峰彇娴呭簱浣嶏紝鐘舵�佷负S鐩存帴鍑猴紝鐘舵�佷负R锛屽垯鎵惧埌杩欎釜搴撲綅鐨勫伐浣滄。锛屾彁鍗囦紭鍏堢骇鍏堝嚭 String shallowLoc = Utils.getShallowLoc(slaveProperties, taskWrk.getStartPoint()); LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", shallowLoc)); - if (locMast.getLocSts().equals("R")) { + if (locMast.getLocSts().equals("Z")) { List<TaskWrk> wrkMastList = taskWrkMapper.selectList(new EntityWrapper<TaskWrk>().eq("start_point", locMast.getLocNo())); if (!wrkMastList.isEmpty()) { TaskWrk wrkMast = wrkMastList.get(0); @@ -617,6 +631,8 @@ taskWrkMapper.updateById(wrkMast); log.warn("{}瀵瑰簲娴呭簱浣嶆湁璐э紝鎻愬崌{}搴撲綅浼樺厛绾�",taskWrk.getStartPoint(),wrkMast.getStartPoint()); continue; + } else { + log.error("{}瀵瑰簲娴呭簱浣嶆湁璐э紝浣嗘病鏈夌Щ搴撲换鍔�",taskWrk.getStartPoint()); } } @@ -679,16 +695,23 @@ taskWrk.setModiTime(now); if (taskWrkMapper.updateById(taskWrk) == 0) { log.error("淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", taskWrk.getWrkNo()); - } - //寮�濮嬭繍琛� - String response = CrnStartRunning(taskWrk); - JSONObject jsonObject = JSON.parseObject(response); - if (jsonObject.getInteger("code").equals(200)) { - }else { - log.error("鍑哄簱寮�濮嬭繍琛岄�氳澶辫触,"+jsonObject.get("msg")); - + log.error("淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓紒锛侊紝宸ヤ綔鍙�={}", taskWrk.getWrkNo()); } + try { + //寮�濮嬭繍琛� + String response = CrnStartRunning(taskWrk); + JSONObject jsonObject = JSON.parseObject(response); + if (jsonObject.getInteger("code").equals(200)) { + + }else { + log.error("鍑哄簱寮�濮嬭繍琛寃ms澶辫触,"+jsonObject.get("msg")); + + } + }catch (Exception e){ + log.error("鍑哄簱寮�濮嬭繍琛寃ms澶辫触,"); + } + } } @@ -708,7 +731,6 @@ .eq("wrk_sts",11) .eq("io_type",3)); for (TaskWrk taskWrk : taskWrks){ - // 鍙屾繁搴撲綅涓旀祬搴撲綅鏈夎揣锛屽垯闇�鍏堝娴呭簱浣嶈繘琛屽簱浣嶇Щ杞� if (Utils.isDeepLoc(slaveProperties, taskWrk.getStartPoint())) { String shallowLocNo = Utils.getShallowLoc(slaveProperties, taskWrk.getStartPoint()); @@ -718,7 +740,7 @@ } } // 鍫嗗灈鏈烘帶鍒惰繃婊� - if (!crnProtocol.getStatusType().equals(CrnStatusType.IDLE) || crnProtocol.getTaskNo() != 0) { + if (!crnProtocol.getModeType().equals(CrnModeType.AUTO) || !crnProtocol.getStatusType().equals(CrnStatusType.IDLE) || crnProtocol.getTaskNo() != 0) { continue; } @@ -800,16 +822,23 @@ taskWrk.setModiTime(now); if (taskWrkMapper.updateById(taskWrk) == 0) { log.error("淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", taskWrk.getWrkNo()); + }else{ + log.info("绉诲簱浠诲姟涓嬪彂浠诲姟鎴愬姛锛屼慨鏀瑰伐浣滄。鐘舵�� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 锛屽伐浣滃彿={}", taskWrk.getWrkNo()); } //寮�濮嬭繍琛� - String response = CrnStartRunning(taskWrk); - JSONObject jsonObject = JSON.parseObject(response); - if (jsonObject.getInteger("code").equals(200)) { + try{ + String response = CrnStartRunning(taskWrk); + JSONObject jsonObject = JSON.parseObject(response); + if (jsonObject.getInteger("code").equals(200)) { - }else { - log.error("绉诲簱浠诲姟寮�濮嬭繍琛岄�氳澶辫触,"+jsonObject.get("msg")); - continue; + }else { + log.error("绉诲簱浠诲姟寮�濮嬭繍琛寃ms杩斿洖澶辫触,"+jsonObject.get("msg")); + continue; + } + }catch (Exception e){ + log.error("绉诲簱浠诲姟寮�濮嬭繍琛岃姹倃ms鎶ラ敊,"+e.getMessage()); } + break; } return; @@ -821,7 +850,7 @@ /** * 鎵ц瀵瑰伐浣滄。鐨勫畬鎴愭搷浣� */ - @Async + public void storeFinished() { for (CrnSlave crn : slaveProperties.getCrn()) { // 鑾峰彇鍫嗗灈鏈轰俊鎭� @@ -925,7 +954,7 @@ /** * 鍫嗗灈鏈哄紓甯镐俊鎭褰� */ - @Async + public void recCrnErr(){ Date now = new Date(); for (CrnSlave crn : slaveProperties.getCrn()) { -- Gitblit v1.9.1