From bfa13c51fa8a839c927f74e250a076e53f0b089c Mon Sep 17 00:00:00 2001 From: Junjie <xjj@123> Date: 星期二, 24 六月 2025 20:39:01 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 61 +++++++++++++++++++++--------- 1 files changed, 42 insertions(+), 19 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 3432916..e3edb42 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -14,6 +14,7 @@ import com.zy.asrs.service.*; import com.zy.asrs.utils.Utils; import com.zy.asrs.utils.VersionUtils; +import com.zy.common.constant.RedisConstantType; import com.zy.common.model.LocTypeDto; import com.zy.common.model.MatDto; import com.zy.common.model.SearchLocParam; @@ -22,6 +23,7 @@ import com.zy.common.utils.CollectionUtils; import com.zy.common.utils.HttpHandler; import com.zy.common.utils.News; +import com.zy.common.utils.RedisUtil; import com.zy.core.CrnThread; import com.zy.core.DevpThread; import com.zy.core.cache.MessageQueue; @@ -95,6 +97,8 @@ private WrkMastLogService wrkMastLogService; @Autowired private ConfigService configService; + @Autowired + private RedisUtil redisUtil; @Value("${wms.url}") private String wmsUrl; @@ -229,9 +233,14 @@ LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>() .eq("loc_no", dto.getLocNo())); + short staNo = dto.getStaNo().shortValue(); + if (inSta.getStaNo() == 1002) { + staNo = 2002; + } + barcodeThread.setBarcode(""); staProtocol.setWorkNo(dto.getWorkNo().shortValue()); - staProtocol.setStaNo(dto.getStaNo().shortValue()); + staProtocol.setStaNo(staNo); staProtocol.setPalletSize(locMast.getLocType2()); devpThread.setPakMk(staProtocol.getSiteId(), false); boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); @@ -656,11 +665,20 @@ continue; } + Object object = redisUtil.get(RedisConstantType.CRN_MOVE_LOCK); + if (object != null) { + continue; + } + List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>() - .eq("crn_no", crn.getId())); + .eq("crn_no", crn.getId()) + .notIn("wrk_sts", 5, 14, 15) + ); if (!wrkMasts.isEmpty()) { continue; } + + CrnSlave.CrnStn crnStn = crn.getCrnInStn().get(0); News.info("鍫嗗灈鏈烘棤浠诲姟鑷姩鍥炲叆搴撳彛寰呮満==>>" + crnProtocol.getCrnNo() + "鍙峰爢鍨涙満"); // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- @@ -669,16 +687,22 @@ crnCommand.setTaskNo((short) 9999); // 宸ヤ綔鍙� crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣� crnCommand.setTaskMode(CrnTaskModeType.CRN_MOVE); // 浠诲姟妯″紡: 鍫嗗灈鏈虹Щ鍔� - crnCommand.setSourcePosX((short) 0); // 婧愬簱浣嶆帓 + crnCommand.setSourcePosX(crnStn.getRow().shortValue()); // 婧愬簱浣嶆帓 crnCommand.setSourcePosY((short) 1); // 婧愬簱浣嶅垪 crnCommand.setSourcePosZ((short) 1); // 婧愬簱浣嶅眰 crnCommand.setDestinationPosX((short) 0); // 鐩爣搴撲綅鎺� crnCommand.setDestinationPosY((short) 0); // 鐩爣搴撲綅鍒� crnCommand.setDestinationPosZ((short) 0); // 鐩爣搴撲綅灞� - if (!MessageQueue.offer(SlaveType.Crn, crnProtocol.getCrnNo(), new Task(4, crnCommand))) { + if (!MessageQueue.offer(SlaveType.Crn, crnProtocol.getCrnNo(), new Task(2, crnCommand))) { News.error("鍫嗗灈鏈虹Щ鍔ㄥ懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", crnProtocol.getCrnNo(), JSON.toJSON(crnCommand)); } crnThread.setBackHpFlag(true); + redisUtil.set(RedisConstantType.CRN_MOVE_LOCK + crn.getId(), "lock", 60); + try { + Thread.sleep(500); + } catch (Exception e) { + e.printStackTrace(); + } } } } @@ -1840,10 +1864,11 @@ List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", shallowLoc.getLocNo())); for (LocDetl locDetl : locDetls) { WrkDetl wrkDetl = new WrkDetl(); + wrkDetl.sync(locDetl); wrkDetl.setWrkNo(workNo); wrkDetl.setIoTime(now); wrkDetl.setAnfme(locDetl.getAnfme()); - VersionUtils.setWrkDetl(wrkDetl, locDetl); // 鐗堟湰鎺у埗 +// VersionUtils.setWrkDetl(wrkDetl, locDetl); // 鐗堟湰鎺у埗 wrkDetl.setAppeTime(now); wrkDetl.setModiTime(now); if (!wrkDetlService.insert(wrkDetl)) { @@ -1964,10 +1989,11 @@ for (LocDetl locDetl : locDetls) { WrkDetl wrkDetl = new WrkDetl(); + wrkDetl.sync(locDetl); wrkDetl.setWrkNo(workNo); wrkDetl.setIoTime(new Date()); wrkDetl.setAnfme(locDetl.getAnfme()); - VersionUtils.setWrkDetl(wrkDetl, locDetl); // 鐗堟湰鎺у埗 +// VersionUtils.setWrkDetl(wrkDetl, locDetl); // 鐗堟湰鎺у埗 wrkDetl.setAppeTime(new Date()); wrkDetl.setModiTime(new Date()); if (!wrkDetlService.insert(wrkDetl)) { @@ -2178,16 +2204,16 @@ // RGV ===>> 鎵ц瀵筊GV鎿嶄綔 public synchronized void rgvExecute(Integer mark) { - ArrayList<Integer> list = new ArrayList<Integer>(){{add(1090);add(1091);}}; + ArrayList<Integer> list = new ArrayList<Integer>(){{add(2003);add(2002);}}; for (Integer staNo : list) { Integer devpId = null; Integer rgvStaNo = null; - if (staNo == 1090) { + if (staNo == 2003) { devpId = 1; - rgvStaNo = 1091; + rgvStaNo = 2002; }else { devpId = 2; - rgvStaNo = 1090; + rgvStaNo = 2003; } SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devpId); @@ -2203,7 +2229,7 @@ if (staProtocol.isAutoing() && staProtocol.isLoading() - && staProtocol.isInEnable() +// && staProtocol.isInEnable() && staProtocol.getWorkNo() > 0 ) { WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>() @@ -2248,17 +2274,12 @@ } // 鐘舵�侊細绛夊緟纭 骞朵笖 浠诲姟瀹屾垚浣� = 1 - if (rgvProtocol.statusType == RgvStatusType.WAITING && rgvProtocol.getTaskNo1() != 0) { + if (rgvProtocol.statusType1 == RgvStatusType.WAITING && rgvProtocol.getTaskNo1() != 0) { News.warnNoLog(""+mark+" - 0"+" - 寮�濮嬫墽琛屽RGV宸ヤ綔妗g殑瀹屾垚鎿嶄綔"); // 鑾峰彇鍏ュ簱寰呯‘璁ゅ伐浣滄。 WrkMast wrkMast = wrkMastMapper.selectPakInStep3(rgvProtocol.getTaskNo1().intValue()); if (wrkMast == null) { News.error(""+mark+" - 1"+" - RGV澶勪簬绛夊緟纭涓斾换鍔″畬鎴愮姸鎬侊紝浣嗘湭鎵惧埌宸ヤ綔妗c�俁GV鍙�={}锛屽伐浣滃彿={}", rgvSlave.getId(), rgvProtocol.getTaskNo1()); - continue; - } - - if (Cools.isEmpty(wrkMast.getMemo())) { - News.error(""+mark+" - 1"+" - RGV澶勪簬绛夊緟纭涓斾换鍔″畬鎴愮姸鎬侊紝浣嗗伐浣滄。鏁版嵁寮傚父銆俁GV鍙�={}锛屽伐浣滃彿={}", rgvSlave.getId(), rgvProtocol.getTaskNo1()); continue; } @@ -2269,13 +2290,13 @@ //鍏ュ簱 wrkMast.setWrkSts(2L); devpId = 1; - devpStaNo = 1090; + devpStaNo = 2003; locNo = wrkMast.getLocNo(); }else { //鍑哄簱 wrkMast.setWrkSts(15L); devpId = 2; - devpStaNo = 1091; + devpStaNo = 2002; locNo = wrkMast.getSourceLocNo(); } @@ -2306,6 +2327,8 @@ Date now = new Date(); wrkMast.setModiTime(now); wrkMastMapper.updateById(wrkMast); + + rgvThread.setResetFlag1(true); } } } -- Gitblit v1.9.1