From 7956f09935a708f17b0f1b29a6625475f53c7509 Mon Sep 17 00:00:00 2001
From: zhoushihao <zsh19950802@163.com>
Date: 星期三, 16 十月 2024 09:52:15 +0800
Subject: [PATCH] 版本整合03
---
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java | 93 +++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 91 insertions(+), 2 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..37bfe0d 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
@@ -80,6 +80,12 @@
@Value("${mes.max.secondLength}")
private String secondLength;
+ @Value("${mes.cache.cacheWidth}")
+ private double cacheWidth;
+
+ @Value("${mes.cache.cacheHeight}")
+ private double cacheHeight;
+
@Value("${mes.min.one.firstLength}")
private String minOneFirstLength;
@@ -165,9 +171,9 @@
Damage damage = new Damage();
damage.setGlassId(e.getGlassId());
damage.setLine(e.getEndCell());
- damage.setWorkingProcedure("鍐峰姞宸�");
+ damage.setWorkingProcedure("纾ㄨ竟");
damage.setRemark("纾ㄨ竟鍓嶅崸寮忕悊鐗�");
- damage.setStatus(0);
+ damage.setStatus(1);
damage.setType(e.getTaskStatus());
return damage;
}).collect(Collectors.toList());
@@ -187,6 +193,16 @@
*/
public void inTo(String glassId, String confirmationWrodAddress, String currentSlot) {
log.info("1銆佹寜鐓х幓鐠僫d:{}鑾峰彇鐜荤拑灏忕墖淇℃伅,褰撳墠鏍煎瓙涓�:{}", glassId, currentSlot);
+
+ GlassInfo feedGlassInfo = glassInfoService.getOne(
+ new LambdaQueryWrapper<GlassInfo>()
+ .eq(GlassInfo::getGlassId, glassId)
+ );
+ if (Math.max(feedGlassInfo.getWidth(), feedGlassInfo.getHeight()) > cacheWidth || Math.min(feedGlassInfo.getWidth(), feedGlassInfo.getHeight()) > cacheHeight) {
+ log.info("1.1銆佺幓鐠冭秴杩囧崸寮忕悊鐗囨渶澶у昂瀵�:{}", feedGlassInfo);
+ return;
+ }
+
//娣诲姞杩涚墖浠诲姟 鏌ユ壘绌烘牸
EdgStorageCage nearestEmpty = edgStorageCageService.selectNearestEmpty(Integer.parseInt(currentSlot), Boolean.FALSE);
Assert.isTrue(null != nearestEmpty, "鏍煎瓙宸叉弧");
@@ -770,6 +786,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