From 48c8dc276bc64c127be67934dae1067287af9216 Mon Sep 17 00:00:00 2001
From: zhoushihao <zsh19950802@163.com>
Date: 星期一, 08 七月 2024 14:40:07 +0800
Subject: [PATCH] 磨边前卧式理片出片逻辑调整
---
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java | 119 ++++++++++++++++++++++-------------------------------------
1 files changed, 44 insertions(+), 75 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 62186a5..abd6d98 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
@@ -66,11 +66,17 @@
@Value("${mes.sequence.order}")
private boolean sequenceOrder;
- @Value("${mes.firstLength}")
+ @Value("${mes.max.firstLength}")
private String firstLength;
- @Value("${mes.secondLength}")
+ @Value("${mes.max.secondLength}")
private String secondLength;
+
+ @Value("${mes.min.firstLength}")
+ private String minFirstLength;
+
+ @Value("${mes.min.secondLength}")
+ private String minSecondLength;
@Scheduled(fixedDelay = 1000)
public void plcHomeEdgTask() {
@@ -93,7 +99,7 @@
return;
}
log.info("2銆佽幏鍙栧埌鐨勮姹傚瓧涓�0锛屽皢纭瀛楁敼涓�0");
- S7object.getinstance().plccontrol.writeWord(confirmationWrodAddress, (short) 0);
+ S7object.getinstance().plccontrol.writeWord(confirmationWrodAddress, 0);
return;
}
if (!"0".equals(confirmationWrodValue)) {
@@ -169,7 +175,7 @@
boolean taskCache = saveTaskCache(details.getGlassId(), 0, nearestEmpty.getSlot(), Const.GLASS_CACHE_TYPE_IN);
log.info("5銆佺敓鎴愯繘鐗囦换鍔′俊鎭瓨鍏ヤ换鍔¤〃鏄惁瀹屾垚锛歿}", taskCache);
- S7object.getinstance().plccontrol.writeWord(confirmationWrodAddress, (short) 1);
+ S7object.getinstance().plccontrol.writeWord(confirmationWrodAddress, 1);
log.info("6銆佸彂閫佺‘璁ゅ瓧瀹屾垚");
@@ -235,7 +241,7 @@
// 1.2.3銆佹寜鐓у嚭鐗囦俊鎭幓璇︽儏琛ㄦ煡璇㈡牸瀛愬湪绗煎瓙閲岄潰鍓╀綑鐩稿悓灏哄鐨勭幓鐠冩暟鎹笖浠ョ増鍥緄d銆佺増搴忓崌搴忔帓搴� 鍙栫涓�鍧楃幓鐠冨嚭鐗�
// 2銆佸鏋滄病鏈夊巻鍙插嚭鐗囦换鍔�
// 2.1銆佸嚭褰撳墠鐗堝浘id鏈�灏忕増搴忔渶灏忕殑鐜荤拑锛堥棶棰橈細涓ゆ潯绾块兘娌℃湁鍘嗗彶浠诲姟锛屽嚭鐗囨椂涓ゆ潯绾跨殑鐜荤拑灏哄鐩稿悓锛屾槸鍚︽壘灏哄涓嶅悓鐨勶級
- if (out08Glassstate == 2 && out10Glassstate == 2) {
+ if ((out08Glassstate == 2 && out10Glassstate == 2) || (out08Glassstate == 0 && out10Glassstate == 0)) {
log.info("A09銆丄10涓簕},{}闈炶嚜鍔ㄧ姸鎬侊紝鏃犳硶鍑虹墖");
return Boolean.FALSE;
}
@@ -258,9 +264,9 @@
endcell = queryLineByGlassInfo(a09EdgGlass, a10EdgGlass, glassInfo, out08Glassstate, out10Glassstate);
} else {
//鍒ゆ柇涓ゆ潯绾挎槸鍚﹂兘绌洪棽
- endcell = out10Glassstate == 2 ? Const.A09_OUT_TARGET_POSITION : Const.A10_OUT_TARGET_POSITION;
+ endcell = out08Glassstate == 2 ? Const.A10_OUT_TARGET_POSITION : Const.A09_OUT_TARGET_POSITION;
- if ((out08Glassstate == 0 && out10Glassstate == 0) || (out08Glassstate == 1 && out10Glassstate == 1)) {
+ if (out08Glassstate == 1 && out10Glassstate == 1) {
EdgStorageCageDetails a09EdgGlass = queryGlassByTaskCache(Const.A09_OUT_TARGET_POSITION, Const.GLASS_CACHE_TYPE_OUT_ALL);
EdgStorageCageDetails a10EdgGlass = queryGlassByTaskCache(Const.A10_OUT_TARGET_POSITION, Const.GLASS_CACHE_TYPE_OUT_ALL);
if (a09EdgGlass == null && a10EdgGlass == null) {
@@ -272,6 +278,10 @@
wrapper.innerJoin("(select glass_id, case when height <= width then width else height end as first_length, " +
"case when width < height then width else height end as second_length from edg_storage_cage_details) t1 " +
"on t.glass_id = t1.glass_id and (t1.first_length <=" + firstLength + " and t1.second_length<=" + secondLength + ") ");
+ } else {
+ wrapper.innerJoin("(select glass_id, case when height <= width then width else height end as first_length, " +
+ "case when width < height then width else height end as second_length from edg_storage_cage_details) t1 " +
+ "on t.glass_id = t1.glass_id and (t1.first_length >=" + minFirstLength + " and t1.second_length>=" + minSecondLength + ") ");
}
wrapper.last("order by count(t.glass_id) desc limit 2");
List<EdgStorageCageDetails> list = edgStorageCageDetailsService.list(wrapper);
@@ -280,9 +290,13 @@
.selectAll(GlassInfo.class).eq("t.glass_id", glassId);
// .inSql("t.engineer_id", "select engineer_id from engineering where state = 1");
if (endcell == Const.A10_OUT_TARGET_POSITION) {
- queryWrapper.innerJoin("(select glass_id, case when height <= width then width else height end as first_length, " +
- "case when width < height then width else height end as second_length from glass_info) t1 " +
+ wrapper.innerJoin("(select glass_id, case when height <= width then width else height end as first_length, " +
+ "case when width < height then width else height end as second_length from edg_storage_cage_details) t1 " +
"on t.glass_id = t1.glass_id and (t1.first_length <=" + firstLength + " and t1.second_length<=" + secondLength + ") ");
+ } else {
+ wrapper.innerJoin("(select glass_id, case when height <= width then width else height end as first_length, " +
+ "case when width < height then width else height end as second_length from edg_storage_cage_details) t1 " +
+ "on t.glass_id = t1.glass_id and (t1.first_length >=" + minFirstLength + " and t1.second_length>=" + minSecondLength + ") ");
}
GlassInfo one = glassInfoService.getOne(queryWrapper);
if (one != null) {
@@ -472,13 +486,13 @@
boolean b10 = a10EdgStorageCageDetails != null && a10EdgStorageCageDetails.getHeight() == glassInfo.getHeight()
&& a10EdgStorageCageDetails.getWidth() == glassInfo.getWidth();
//瀛樺湪鍑虹墖浠诲姟 07涓虹┖
- if (b10) {
- return out10Glassstate == 2 ? Const.A09_OUT_TARGET_POSITION : Const.A10_OUT_TARGET_POSITION;
- }
if (b08) {
return out08Glassstate == 2 ? Const.A10_OUT_TARGET_POSITION : Const.A09_OUT_TARGET_POSITION;
}
- return out10Glassstate == 2 ? Const.A09_OUT_TARGET_POSITION : Const.A10_OUT_TARGET_POSITION;
+ if (b10) {
+ return out10Glassstate == 2 ? Const.A09_OUT_TARGET_POSITION : Const.A10_OUT_TARGET_POSITION;
+ }
+ return out08Glassstate == 2 ? Const.A10_OUT_TARGET_POSITION : Const.A09_OUT_TARGET_POSITION;
}
/**
@@ -494,10 +508,14 @@
wrapper.select("count(t.glass_id) as count, t.width, t.height")
.eq("t.state", Const.GLASS_STATE_IN)
.groupBy("t.width, t.height");
- if (endcell == Const.A09_OUT_TARGET_POSITION) {
+ if (endcell == Const.A10_OUT_TARGET_POSITION) {
wrapper.innerJoin("(select glass_id, case when height <= width then width else height end as first_length, " +
"case when width < height then width else height end as second_length from edg_storage_cage_details) t1 " +
"on t.glass_id = t1.glass_id and (t1.first_length <=" + firstLength + " and t1.second_length<=" + secondLength + ") ");
+ } else {
+ wrapper.innerJoin("(select glass_id, case when height <= width then width else height end as first_length, " +
+ "case when width < height then width else height end as second_length from edg_storage_cage_details) t1 " +
+ "on t.glass_id = t1.glass_id and (t1.first_length >=" + minFirstLength + " and t1.second_length>=" + minSecondLength + ") ");
}
wrapper.last("order by count(t.glass_id) desc limit 2");
List<EdgStorageCageDetails> list = edgStorageCageDetailsService.list(wrapper);
@@ -587,9 +605,9 @@
boolean taskCacheStatus = saveTaskCache(glassInfo.getGlassId(), glassInfo.getSlot(), endcell, Const.GLASS_CACHE_TYPE_OUT);
log.info("6銆佹坊鍔犲嚭鐗囦换鍔℃槸鍚﹀畬鎴愶細{}", taskCacheStatus);
}
- boolean glassSizeStatus = saveGlassSize(glassInfo);
+ boolean glassSizeStatus = saveGlassSize(glassInfo, endcell);
log.info("7銆佹坊鍔犲嚭鐗囩幓鐠冨昂瀵镐俊鎭埌纾ㄨ竟鍓嶇幓鐠冭〃鏄惁瀹屾垚锛歿}", glassSizeStatus);
- S7object.getinstance().plccontrol.writeWord(confirmationWrodAddress, (short) 1);
+ S7object.getinstance().plccontrol.writeWord(confirmationWrodAddress, 1);
log.info("8銆佸彂閫佺‘璁ゅ瓧宸插畬鎴�");
return Boolean.TRUE;
}
@@ -620,87 +638,38 @@
* 娣诲姞鐞嗙墖绗间换鍔�
*
* @param glassInfo
+ * @param endcell
* @return
*/
- private boolean saveGlassSize(EdgStorageCageDetails glassInfo) {
+ private boolean saveGlassSize(EdgStorageCageDetails glassInfo, int endcell) {
EdgGlassTaskInfo edgGlassTaskInfo = new EdgGlassTaskInfo();
BeanUtils.copyProperties(glassInfo, edgGlassTaskInfo);
edgGlassTaskInfo.setHeight((int) (glassInfo.getHeight() * ratio));
edgGlassTaskInfo.setWidth((int) (glassInfo.getWidth() * ratio));
edgGlassTaskInfo.setThickness((int) (glassInfo.getThickness() * ratio));
edgGlassTaskInfo.setStatus(Const.EDG_GLASS_BEFORE);
+ edgGlassTaskInfo.setLine(endcell);
+ edgGlassTaskInfo.setTime(new Date());
return edgGlassTaskInfoService.save(edgGlassTaskInfo);
}
- /**
- * 褰撳墠鍒囧壊鐗堝浘淇℃伅
- *
- * @param
- * @return
- */
+
@Scheduled(fixedDelay = 1000)
- public void currentCutTerritory() {
+ public void CacheGlassTasks() {
JSONObject jsonObject = new JSONObject();
+ //璇嗗埆鎽嗙墖
List<Map<String, Object>> currentCutTerritorys = edgStorageCageDetailsService.selectCutTerritory();
jsonObject.append("currentCutTerritory", currentCutTerritorys);
- ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("cacheGlass");
- if (sendwServer != null) {
- for (WebSocketServer webserver : sendwServer) {
- if (webserver != null) {
- webserver.sendMessage(jsonObject.toString());
- List<String> messages = webserver.getMessages();
- if (!messages.isEmpty()) {
- // // 灏嗘渶鍚庝竴涓秷鎭浆鎹负鏁存暟绫诲瀷鐨勫垪琛�
- webserver.clearMessages();
- }
- } else {
- log.info("Home is closed");
- }
- }
- }
- }
-
- /**
- * 纾ㄨ竟浠诲姟
- *
- * @param
- * @return
- */
- @Scheduled(fixedDelay = 1000)
- public void selectEdgTask() {
- JSONObject jsonObject = new JSONObject();
+ //纾ㄨ竟淇℃伅
List<Map<String, Object>> EdgTasks1 = taskCacheService.selectEdgInfo("2001");
List<Map<String, Object>> EdgTasks2 = taskCacheService.selectEdgInfo("2002");
jsonObject.append("EdgTasks1", EdgTasks1);
jsonObject.append("EdgTasks2", EdgTasks2);
- ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("cacheGlass");
- if (sendwServer != null) {
- for (WebSocketServer webserver : sendwServer) {
- if (webserver != null) {
- webserver.sendMessage(jsonObject.toString());
- List<String> messages = webserver.getMessages();
- if (!messages.isEmpty()) {
- // // 灏嗘渶鍚庝竴涓秷鎭浆鎹负鏁存暟绫诲瀷鐨勫垪琛�
- webserver.clearMessages();
- }
- } else {
- log.info("Home is closed");
- }
- }
- }
- }
- /**
- * 纾ㄨ竟鍓� 缂撳瓨鍐呬俊鎭�
- *
- * @param
- * @return
- */
- @Scheduled(fixedDelay = 1000)
- public void selectEdgStorageCage() {
- JSONObject jsonObject = new JSONObject();
+ //鍗у缂撳瓨绗煎唴淇℃伅
List<Map<String, Object>> EdgStorageCageinfos = edgStorageCageService.selectEdgStorageCages();
jsonObject.append("EdgStorageCageinfos", EdgStorageCageinfos);
+
ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("cacheGlass");
if (sendwServer != null) {
for (WebSocketServer webserver : sendwServer) {
--
Gitblit v1.8.0