From adbeaabf30a5bbef970e287da5e317a1e89a8033 Mon Sep 17 00:00:00 2001 From: zhoushihao <zsh19950802@163.com> Date: 星期三, 16 十月 2024 09:19:40 +0800 Subject: [PATCH] 版本整合 --- hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java | 73 ++++++++++++++++++++++++++++++++++++ 1 files changed, 73 insertions(+), 0 deletions(-) diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java index 474bbf0..94dd2e2 100644 --- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java +++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java @@ -770,6 +770,79 @@ } /** + * 淇濆瓨鍑虹墖浠诲姟鐩稿叧淇℃伅 + * + * @param glassInfo + * @param endcell + * @param confirmationWrodAddress + * @param glassId + * @return + */ + private boolean saveOutGlassMessageBySlot(EdgStorageCageDetails glassInfo, int endcell, String confirmationWrodAddress, String glassId, Integer currentSlot) { + if (glassInfo != null) { + log.info("4銆佹坊鍔犲嚭鐗囦换鍔★紝鐜荤拑id锛歿}锛屼换鍔$被鍨嬶細{}锛岃捣濮嬩綅缃細{}锛岀粨鏉熶綅缃細{}", glassInfo.getGlassId(), + 2, glassInfo.getSlot(), endcell); + if (glassInfo.getGlassId().equals(glassId)) { + log.info("5銆佺洿閫氫换鍔�,灏嗙幓鐠冧俊鎭彃鍏ュ崸寮忕悊鐗囩,褰撳墠鐜荤拑淇℃伅:{}", glassInfo); + EdgStorageCageDetails details = new EdgStorageCageDetails(); + //鐜荤拑淇℃伅鏇挎崲 + String glassIdChange = queryAndChangeGlass(glassId); + if (StringUtils.isBlank(glassIdChange)) { + BeanUtils.copyProperties(glassInfo, details); + } else { + GlassInfo one = glassInfoService.getOne(new LambdaQueryWrapper<GlassInfo>().eq(GlassInfo::getGlassId, glassId)); + BeanUtils.copyProperties(glassInfo, details); + } + EdgStorageCage nearestEmpty = edgStorageCageService.selectNearestEmpty(currentSlot, Boolean.TRUE); + Assert.isTrue(null != nearestEmpty, "鏍煎瓙宸叉弧,鏃犳硶鎵ц鐩撮�氫换鍔�"); + log.info("3銆佹煡璇㈠崸寮忕悊鐗囩閲岄潰鐨勭┖鏍�:{}", nearestEmpty); + details.setSlot(nearestEmpty.getSlot()); + details.setState(Const.GLASS_STATE_OUT); + edgStorageCageDetailsService.save(details); + boolean taskCacheStatus = saveTaskCache(glassInfo.getGlassId(), nearestEmpty.getSlot(), endcell, Const.GLASS_CACHE_TYPE_THROUGH); + log.info("6銆佹坊鍔犲嚭鐗囦换鍔℃槸鍚﹀畬鎴愶細{}", taskCacheStatus); + } else { + log.info("5銆侀潪鐩撮�氫换鍔�,灏嗙幓鐠冧俊鎭彃鍏ュ崸寮忕悊鐗囩,褰撳墠鐜荤拑淇℃伅:{}", glassInfo); + if (endcell != currentSlot) { + EdgStorageCageDetails currentGlass = edgStorageCageDetailsService.getOne(new LambdaQueryWrapper<EdgStorageCageDetails>() + .eq(EdgStorageCageDetails::getState, Const.GLASS_STATE_IN) + .eq(EdgStorageCageDetails::getSlot, currentSlot).eq(EdgStorageCageDetails::getWidth, glassInfo.getWidth()) + .eq(EdgStorageCageDetails::getHeight, glassInfo.getHeight()).eq(EdgStorageCageDetails::getThickness, glassInfo.getThickness()) + ); + if (null != currentGlass) { + glassInfo = currentGlass; + endcell = currentSlot; + } + } + //鐜荤拑淇℃伅鏇挎崲 + String glassIdChange = queryAndChangeGlass(glassInfo.getGlassId()); + //澶勭悊鍦ㄥ崸鐞嗗唴鐨勭幓鐠冧俊鎭細绗煎唴鐨勬暟鎹鐞� + queryEdgAndChangeGlass(glassInfo.getGlassId(), glassIdChange); + LambdaUpdateWrapper<EdgStorageCageDetails> wrapper = new LambdaUpdateWrapper<>(); + wrapper.eq(EdgStorageCageDetails::getGlassId, glassInfo.getGlassId()).set(EdgStorageCageDetails::getState, Const.GLASS_STATE_OUT); + edgStorageCageDetailsService.update(wrapper); + log.info("5銆佹洿鏂板嚭鐗囩幓鐠冪殑鐘舵�佷负{}", Const.GLASS_STATE_OUT); + + boolean taskCacheStatus = saveTaskCache(glassInfo.getGlassId(), glassInfo.getSlot(), endcell, Const.GLASS_CACHE_TYPE_OUT); + log.info("6銆佹坊鍔犲嚭鐗囦换鍔℃槸鍚﹀畬鎴愶細{}", taskCacheStatus); + } + boolean glassSizeStatus = saveGlassSize(glassInfo, endcell); + log.info("7銆佹坊鍔犲嚭鐗囩幓鐠冨昂瀵镐俊鎭埌纾ㄨ竟鍓嶇幓鐠冭〃鏄惁瀹屾垚锛歿}", glassSizeStatus); + S7object.getinstance().plccontrol.writeWord(confirmationWrodAddress, 1); + log.info("8銆佸彂閫佺‘璁ゅ瓧宸插畬鎴�"); + Damage damage = new Damage(); + damage.setGlassId(glassInfo.getGlassId()); + damage.setWorkingProcedure("鍒囧壊"); + damage.setLine(1001); + damage.setType(1); + damage.setRemark("杩囧崸寮忕悊鐗�"); + damageService.insertDamage(damage); + return Boolean.TRUE; + } + return Boolean.FALSE; + } + + /** * 娣诲姞鐞嗙墖绗间换鍔� * * @param glassId -- Gitblit v1.8.0