From d219290089df8c9acd2e84ab0f135fc42e3b682d Mon Sep 17 00:00:00 2001
From: ZengTao <2773468879@qq.com>
Date: 星期二, 03 十二月 2024 09:11:02 +0800
Subject: [PATCH] 大理片调度逻辑修改,进出片改为升序,调度逻辑修改
---
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java | 78 +++++++++++++++++++++++++++------------
1 files changed, 54 insertions(+), 24 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 7ba0b87..3d20506 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
@@ -100,7 +100,7 @@
public static String engineerId = "";
- @Scheduled(fixedDelay = 1000)
+ @Scheduled(fixedDelay = 500)
public void plcHomeEdgTask() {
Date startDate = new Date();
log.info("鏈浠诲姟寮�濮嬫墽琛屾椂闂达細{}", startDate);
@@ -110,16 +110,22 @@
String confirmationWrodValue = plcParameterObject.getPlcParameter("MES_confirmation_word").getValue();
//A08 A09琛ㄧず绾胯矾鐩稿悓 鍙仛绛変环 鏃犳暟鎹浆int寮傚父
String out08Glassstate = plcParameterObject.getPlcParameter("A08_glass_status").getValue();
+ String out09Glassstate = plcParameterObject.getPlcParameter("A09_glass_status").getValue();
String out10Glassstate = plcParameterObject.getPlcParameter("A10_glass_status").getValue();
String confirmationWrodAddress = plcParameterObject.getPlcParameter("MES_confirmation_word").getAddress();
String currentSlot = plcParameterObject.getPlcParameter("Current_slot").getValue();
+ if ("1".equals(out09Glassstate)) {
+ log.info("A09绌洪棽");
+ out08Glassstate = "1";
+ }
+
// taskRequestTypeValue = "3";
// out08Glassstate = "1";
// out10Glassstate = "1";
-// currentSlot = "2";
+// currentSlot = "1";
// confirmationWrodValue = "0";
-// glassIdeValue = "P24092706|15|5";
+// glassIdeValue = "P24110201|17|1";
log.info("1銆佽幏鍙栧埌鐨勮姹傚瓧涓猴細{}锛岃幏鍙栧埌鐨勬壂鎻廔D涓猴細{}锛岃幏鍙栧埌鐨勭‘璁ゅ瓧涓猴細{}锛岃幏鍙栧埌鐨勫嚭鐗囩姸鎬佸垎鍒负锛欰09:{}銆丄10:{},褰撳墠鏍煎瓙鍙蜂负锛歿}",
taskRequestTypeValue, glassIdeValue, confirmationWrodValue, out08Glassstate, out10Glassstate, currentSlot);
@@ -141,12 +147,12 @@
if ("1".equals(taskRequestTypeValue) && result) {
log.info("2銆佽繘鐗囪姹傦紝涓旂‘璁ゅ瓧涓�0锛屾墽琛岃繘鐗囦换鍔�,鎵爜閲嶅ID楠岃瘉銆愭湁閲嶅=false,鏃犻噸澶�=true銆戯細{}", result);
inTo(glassIdeValue, confirmationWrodAddress, currentSlot);
- } else if ("2".equals(taskRequestTypeValue)) {
+ } else if ("2".equals(taskRequestTypeValue) && result) {
//09绌洪棽 锛�1 10绌洪棽 锛�2 閮界┖闂诧細3 鍏朵粬0
log.info("2銆佸嚭鐗囪姹傦紝涓旂‘璁ゅ瓧涓�0锛屾墽琛屽嚭鐗囦换鍔�");
outTo(Integer.parseInt(out08Glassstate),
Integer.parseInt(out10Glassstate), confirmationWrodAddress, "", Integer.parseInt(currentSlot));
- } else if ("3".equals(taskRequestTypeValue)) {
+ } else if ("3".equals(taskRequestTypeValue) && result) {
log.info("2銆佽繘鐗囧拰鍑虹墖閮界┖闂诧紝鎵ц鍑虹墖浠诲姟");
//鍔犵瀛愰噷闈㈡槸鍚︽湁鐜荤拑锛屾湁鍏堝嚭锛屾棤鐜荤拑鍏堣繘
boolean outFlase = outTo(Integer.parseInt(out08Glassstate),
@@ -161,7 +167,7 @@
}
- @Scheduled(fixedDelay = 1000)
+ @Scheduled(fixedDelay = 500)
public void dealDamageTask() {
Date startDate = new Date();
log.info("鍗у紡鐞嗙墖鐮存崯鐜荤拑娓呴櫎浠诲姟寮�濮嬫墽琛屾椂闂达細{}", startDate);
@@ -231,6 +237,7 @@
details.setSlot(nearestEmpty.getSlot());
details.setDeviceId(nearestEmpty.getDeviceId());
edgStorageCageDetailsService.save(details);
+ damageService.deleteByGlassId(glassId);
log.info("5銆佺幓鐠冧俊鎭凡瀛樺叆鐞嗙墖绗艰鎯呰〃锛岀幓鐠冧俊鎭负{}", details);
//娣诲姞杩涚墖浠诲姟
boolean taskCache = saveTaskCache(details.getGlassId(), 0, nearestEmpty.getSlot(), Const.GLASS_CACHE_TYPE_IN);
@@ -257,7 +264,6 @@
.eq(GlassInfo::getThickness, glassInfo.getThickness())
.eq(GlassInfo::getFilmsid, glassInfo.getFilmsid())
.eq(GlassInfo::getFlowCardId, glassInfo.getFlowCardId())
- .ne(GlassInfo::getGlassId, glassInfo.getGlassId())
.eq(GlassInfo::getTotalLayer, glassInfo.getTotalLayer())
.eq(GlassInfo::getLayer, glassInfo.getLayer())
.eq(GlassInfo::getEngineerId, glassInfo.getEngineerId())
@@ -302,7 +308,7 @@
// 鐜荤拑灏忕墖琛ㄤ腑鐜荤拑宸茬粡鏇挎崲锛屾洿鏂板崸鐞嗙鍐呯幇鏈夌殑鍑嗗鍑虹鐨勭幓鐠冧俊鎭紝
if (null == swapGlassDetailInfo) {
GlassInfo glassInfoBase = glassInfoService.getOne(new LambdaQueryWrapper<GlassInfo>()
- .eq(GlassInfo::getGlassId, swapGlassId));
+ .eq(GlassInfo::getGlassId, glassId));
//闇�瑕佹浛鎹㈢殑鐜荤拑涓哄瓨杩涘崸鐞嗭紝浠呴渶鏇存柊褰撳墠闇�瑕佸嚭绗肩殑鐜荤拑淇℃伅鍗冲彲
edgStorageCageDetailsService.update(new LambdaUpdateWrapper<EdgStorageCageDetails>()
.eq(EdgStorageCageDetails::getGlassId, glassId)
@@ -346,14 +352,26 @@
// 1.2.3銆佹寜鐓у嚭鐗囦俊鎭幓璇︽儏琛ㄦ煡璇㈡牸瀛愬湪绗煎瓙閲岄潰鍓╀綑鐩稿悓灏哄鐨勭幓鐠冩暟鎹笖浠ョ増鍥緄d銆佺増搴忓崌搴忔帓搴� 鍙栫涓�鍧楃幓鐠冨嚭鐗�
// 2銆佸鏋滄病鏈夊巻鍙插嚭鐗囦换鍔�
// 2.1銆佸嚭褰撳墠鐗堝浘id鏈�灏忕増搴忔渶灏忕殑鐜荤拑锛堥棶棰橈細涓ゆ潯绾块兘娌℃湁鍘嗗彶浠诲姟锛屽嚭鐗囨椂涓ゆ潯绾跨殑鐜荤拑灏哄鐩稿悓锛屾槸鍚︽壘灏哄涓嶅悓鐨勶級
- if ((out08Glassstate == 2 && out10Glassstate == 2) || (out08Glassstate == 0 && out10Glassstate == 0)) {
+// if ((out08Glassstate == 2 && out10Glassstate == 2) || (out08Glassstate == 0 && out10Glassstate == 0)) {
+// log.info("A09銆丄10涓簕},{}闈炶嚜鍔ㄧ姸鎬侊紝鏃犳硶鍑虹墖", out08Glassstate, out10Glassstate);
+// return Boolean.FALSE;
+// }
+ if ((out08Glassstate == 2 && out10Glassstate == 2)) {
log.info("A09銆丄10涓簕},{}闈炶嚜鍔ㄧ姸鎬侊紝鏃犳硶鍑虹墖", out08Glassstate, out10Glassstate);
return Boolean.FALSE;
+ }
+ if ((out08Glassstate == 0 && out10Glassstate == 0)) {
+ out10Glassstate = 1;
}
log.info("0銆佸嚭鐗囦换鍔″嚭鐨勭姸鎬�:A09:銆恵}銆�;A10:銆恵}銆�)", out08Glassstate, out10Glassstate);
//瀹氫箟鍑虹墖鐜荤拑淇℃伅
int endcell = 0;
EdgStorageCageDetails glassInfo = null;
+ //褰撶瀛愬凡婊℃椂锛屼笉鑰冭檻鍗у紡鐞嗙墖鍓嶇殑鐜荤拑
+ EdgStorageCage nearestEmpty = edgStorageCageService.selectNearestEmpty(currentSlot, Boolean.FALSE);
+ if (nearestEmpty == null) {
+ glassId = "";
+ }
boolean flag = queryMaxMinDiff(threshold);
log.info("1銆佽幏鍙栭挗鍖栫増鍥炬槸鍚﹁秴杩囬槇鍊�:{}", flag);
@@ -375,7 +393,7 @@
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) {
+ if (a09EdgGlass != null || a10EdgGlass != null) {
MPJQueryWrapper<EdgStorageCageDetails> wrapper = new MPJQueryWrapper<>();
wrapper.select("count(t.glass_id), t.width, t.height")
.eq("t.state", Const.GLASS_STATE_IN)
@@ -779,10 +797,10 @@
glassInfo = currentGlass;
}
}
- //鐜荤拑淇℃伅鏇挎崲
- String glassIdChange = queryAndChangeGlass(glassInfo.getGlassId());
- //澶勭悊鍦ㄥ崸鐞嗗唴鐨勭幓鐠冧俊鎭細绗煎唴鐨勬暟鎹鐞�
- queryEdgAndChangeGlass(glassInfo.getGlassId(), glassIdChange);
+// //鐜荤拑淇℃伅鏇挎崲
+// 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);
@@ -802,6 +820,7 @@
damage.setType(1);
damage.setRemark("杩囧崸寮忕悊鐗�");
damageService.insertDamage(damage);
+ damageService.deleteByGlassId(glassId);
return Boolean.TRUE;
}
return Boolean.FALSE;
@@ -857,20 +876,31 @@
* @return
*/
private int computerLineByState(int out08Glassstate, int out10Glassstate) {
- if (out08Glassstate == 0) {
- if (out10Glassstate == 2) {
- return Const.A09_OUT_TARGET_POSITION;
- } else {
+// if (out08Glassstate == 0) {
+// if (out10Glassstate == 2) {
+// return Const.A09_OUT_TARGET_POSITION;
+// } else {
+// return Const.A10_OUT_TARGET_POSITION;
+// }
+// } else if (out08Glassstate == 1) {
+// return Const.A09_OUT_TARGET_POSITION;
+// } else {
+// return Const.A10_OUT_TARGET_POSITION;
+// }
+ if (out10Glassstate == 0) {
+ if (out08Glassstate == 2) {
return Const.A10_OUT_TARGET_POSITION;
+ } else {
+ return Const.A09_OUT_TARGET_POSITION;
}
- } else if (out08Glassstate == 1) {
- return Const.A09_OUT_TARGET_POSITION;
- } else {
+ } else if (out10Glassstate == 1) {
return Const.A10_OUT_TARGET_POSITION;
+ } else {
+ return Const.A09_OUT_TARGET_POSITION;
}
}
- @Scheduled(fixedDelay = 1000)
+ @Scheduled(fixedDelay = 500)
public void CacheGlassTasks() {
JSONObject jsonObject = new JSONObject();
List<Map<String, Object>> currentCutTerritorys = edgStorageCageDetailsService.selectCutTerritory();
@@ -897,7 +927,7 @@
}
}
- @Scheduled(fixedDelay = 1000)
+ @Scheduled(fixedDelay = 500)
public void cacheGlassIsRun() {
JSONObject jsonObject = new JSONObject();
//姝e湪杩涜鐨勪换鍔�
@@ -915,7 +945,7 @@
}
}
- @Scheduled(fixedDelay = 1000)
+ @Scheduled(fixedDelay = 500)
public void CacheGlassTaskss() {
JSONObject jsonObject = new JSONObject();
//log.info("鏈璇嗗埆鐗堝浘{},++++{}",engineerId,currentCutTerritorys);
--
Gitblit v1.8.0