From 2fddfc8a998c5861ef1c2084f4081d580dbc27d2 Mon Sep 17 00:00:00 2001 From: Junjie <fallin.jie@qq.com> Date: 星期二, 28 十一月 2023 09:33:14 +0800 Subject: [PATCH] #任务管理运行修改起点-终点数据 --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 108 ++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 104 insertions(+), 4 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 0cf7216..0cff627 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -16,14 +16,18 @@ import com.zy.common.utils.HttpHandler; import com.zy.core.CrnThread; import com.zy.core.DevpThread; +import com.zy.core.cache.MessageQueue; import com.zy.core.cache.SlaveConnection; import com.zy.core.enums.*; import com.zy.core.model.CrnSlave; +import com.zy.core.model.DevpSlave; import com.zy.core.model.Task; import com.zy.core.model.command.CrnCommand; import com.zy.core.model.protocol.CrnProtocol; import com.zy.core.model.protocol.StaProtocol; import com.zy.core.properties.SlaveProperties; +import com.zy.core.thread.BarcodeThread; +import com.zy.core.thread.LedThread; import com.zy.core.thread.SiemensDevpThread; import com.zy.system.entity.Config; import com.zy.system.service.ConfigService; @@ -76,6 +80,86 @@ @Value("${wms.movePath}") private String movePath; + + public void generateStoreWrkFile() { + // 鏍规嵁杈撻�佺嚎plc閬嶅巻 + for (DevpSlave devp : slaveProperties.getDevp()) { + // 閬嶅巻鍏ュ簱鍙� + for (DevpSlave.Sta inSta : devp.getInSta()) { + // 鑾峰彇鍏ュ簱绔欎俊鎭� + DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId()); + StaProtocol staProtocol = devpThread.getStation().get(inSta.getStaNo()); + if (staProtocol == null) { + continue; + } else { + staProtocol = staProtocol.clone(); + } + Short workNo = staProtocol.getWorkNo(); + // 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢 + if (staProtocol.isAutoing() && staProtocol.isLoading() + && !staProtocol.isInEnable() + && !staProtocol.isEmptyMk() && (workNo >= 0) + && staProtocol.isPakMk()) { + + // 灏哄妫�娴嬪紓甯� + boolean back = false; + String errMsg = ""; + if (staProtocol.isFrontErr()) { + errMsg = "鍓嶈秴闄�"; + back = true; + } + if (!back && staProtocol.isBackErr()) { + errMsg = "鍚庤秴闄�"; + back = true; + } + if (!back && staProtocol.isHighErr()) { + errMsg = "楂樿秴闄�"; + back = true; + } + if (!back && staProtocol.isLeftErr()) { + errMsg = "宸﹁秴闄�"; + back = true; + } + if (!back && staProtocol.isRightErr()) { + errMsg = "鍙宠秴闄�"; + back = true; + } + if (!back && staProtocol.isWeightErr()) { + errMsg = "瓒呴噸"; + back = true; + } + if (!back && staProtocol.isBarcodeErr()) { + errMsg = "鎵爜澶辫触"; + back = true; + } + // 閫�鍥� + if (back) { +// News.warn("鎵爜鍏ュ簱澶辫触锛寋}鍏ュ簱绔欏洜{}寮傚父锛屾墭鐩樺凡琚��鍥�", inSta.getStaNo(), errMsg); + staProtocol.setWorkNo(workNo); + staProtocol.setStaNo(inSta.getBackSta().shortValue()); + devpThread.setPakMk(staProtocol.getSiteId(), false); + MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); + + + continue; + } + // 鑾峰彇鏉$爜鎵弿浠俊鎭� + BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, inSta.getBarcode()); + if (barcodeThread == null) { + continue; + } + String barcode = barcodeThread.getBarcode(); + if(!Cools.isEmpty(barcode)) { + + } + } + + + } + } + } + + /** * 鍫嗗灈鏈虹珯鍑哄簱鍒板嚭搴撶珯 */ @@ -110,7 +194,7 @@ continue; } // 鍒ゆ柇鍫嗗灈鏈虹姸鎬佺瓑寰呯‘璁� - if (crnProtocol.modeType == CrnModeType.AUTO && crnProtocol.getTaskNo().equals(taskWrk.getWrkNo().shortValue()) + if (crnProtocol.statusType == CrnStatusType.HANDLING_COMPLETED && crnProtocol.modeType == CrnModeType.AUTO && crnProtocol.getTaskNo().equals(taskWrk.getWrkNo().shortValue()) && crnProtocol.getTaskFinish() == 0 && crnProtocol.forkPosType == CrnForkPosType.HOME) { // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- @@ -124,11 +208,19 @@ continue; } - // 鏇存柊宸ヤ綔妗g姸鎬佷负14澶辫触 + // 鏇存柊宸ヤ綔妗g姸鎬佷负14 taskWrk.setWrkSts(14); if (taskWrkMapper.updateById(taskWrk) != 0) { // 澶嶄綅鍫嗗灈鏈� crnThread.setResetFlag(true); + + //鏇存柊搴撲綅鐘舵�� + LocMast locMast = locMastService.selectByLocNo(taskWrk.getTargetPoint()); + locMast.setLocSts("O");//O.绌哄簱浣� + locMast.setBarcode("");//鎵樼洏鐮� + locMast.setModiTime(new Date()); + locMast.setModiUser(9999L); + locMastService.updateById(locMast); } else { log.error("鏇存柊宸ヤ綔妗g殑宸ヤ綔鐘舵�佷负14澶辫触锛侊紒锛� [宸ヤ綔鍙�:{}]", taskWrk.getWrkNo()); } @@ -456,12 +548,12 @@ if (crnProtocol.getTaskFinish() == 0 && crnProtocol.statusType == CrnStatusType.HANDLING_COMPLETED && crnProtocol.getTaskNo() != 0) { // 鑾峰彇鍏ュ簱寰呯‘璁ゅ伐浣滄。 TaskWrk taskWrk = taskWrkMapper.selectCrnNoWorking(crn.getId(),crnProtocol.getTaskNo().intValue()); - if (taskWrk == null) { + if (Cools.isEmpty(taskWrk)) { log.error("鍫嗗灈鏈哄浜庣瓑寰呯‘璁や笖浠诲姟瀹屾垚鐘舵�侊紝浣嗘湭鎵惧埌宸ヤ綔妗c�傚爢鍨涙満鍙�={}锛屽伐浣滃彿={}", crn.getId(), crnProtocol.getTaskNo()); continue; } // 鍏ュ簱 + 搴撲綅杞Щ ==> 4.鍏ュ簱瀹屾垚 - if (taskWrk.getWrkSts() == 3 || (taskWrk.getWrkSts() == 12 && taskWrk.getIoType() == 3)) { + if ((taskWrk.getWrkSts() == 3 && taskWrk.getIoType() == 1) || (taskWrk.getWrkSts() == 12 && taskWrk.getIoType() == 3)) { taskWrk.setWrkSts(4); } else { continue; @@ -473,6 +565,14 @@ if (integerTaskWrk > 0) { // 鍫嗗灈鏈哄浣� crnThread.setResetFlag(true); + + //鏇存柊搴撲綅鐘舵�� + LocMast locMast = locMastService.selectByLocNo(taskWrk.getTargetPoint()); + locMast.setLocSts("F");//F.鍦ㄥ簱 + locMast.setBarcode(taskWrk.getBarcode());//鎵樼洏鐮� + locMast.setModiTime(now); + locMast.setModiUser(9999L); + locMastService.updateById(locMast); } } } -- Gitblit v1.9.1