From d799fbde44cc568a3e15d78dc6e582ff244ffa89 Mon Sep 17 00:00:00 2001
From: zhoushihao <zsh19950802@163.com>
Date: 星期六, 29 三月 2025 16:05:44 +0800
Subject: [PATCH] 1、卧式理片重置任务调整,避免无任务情况下无法将任务交互表的数据清掉 2、中空领取任务界面新增产品名称,便于识别产品 3、调整部分定时任务间隔时间 4、定时任务分隔开,按照两个/多个界面的websocket由一个分为多个 5、取消钢化功能开发中z
---
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/OpcLoadGlassTask.java | 51 +++++++++++++++++++++++++++++++++++++++------------
1 files changed, 39 insertions(+), 12 deletions(-)
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/OpcLoadGlassTask.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/OpcLoadGlassTask.java
index 8229684..a18183a 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/OpcLoadGlassTask.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/OpcLoadGlassTask.java
@@ -10,6 +10,8 @@
import com.mes.opctask.entity.LoadGlassDeviceTaskHistory;
import com.mes.opctask.service.LoadGlassDeviceTaskHistoryService;
import com.mes.opctask.service.LoadGlassDeviceTaskService;
+import com.mes.pp.entity.OptimizeProject;
+import com.mes.pp.service.OptimizeProjectService;
import com.mes.rawglassdetails.entity.RawGlassStorageDetails;
import com.mes.rawglassdetails.service.RawGlassStorageDetailsService;
import com.mes.uppattenusage.entity.UpPattenUsage;
@@ -48,6 +50,8 @@
private LoadGlassDeviceTaskHistoryService loadGlassDeviceTaskHistoryService;
@Resource
private UpPattenUsageMapper upPattenUsageMapper;
+ @Resource
+ private OptimizeProjectService optimizeProjectService;
private static final List<Integer> LOAD_STATION_01 = Arrays.asList(101, 102);
private static final List<Integer> LOAD_STATION_02 = Arrays.asList(103, 104);
@@ -59,31 +63,49 @@
private static final String LOAD_GLASS_DEVICE_TWO_TASK = "load_glass_device_two_task";
-
//璁惧id 涓婄墖浣嶄俊鎭� 浠诲姟琛ㄤ笉涓�鑷� 鍘嗗彶浠诲姟琛ㄥ叕鐢ㄤ竴寮� 鏂板浠诲姟/浠诲姟缁撴潫锛屽悗浼氬湪鍘嗗彶琛ㄤ腑鏂板涓�鏉¤褰曞苟鍦ㄧ粨鏉熷悗鏇存柊浠诲姟 涓�涓换鍔″嵆鍙�
//瀹氭椂浠诲姟鎵弿涓婄墖浣嶆湁娌℃湁鍘熺墖
//1銆佹槸鍚︽湁鍦ㄦ墽琛岀殑浠诲姟
//2銆�1鍙蜂笂鐗囦綅鏄惁鏈夊師鐗囷紝鍘熺墖灏哄鏄惁鍜屼笂鐗囧緟涓婄墖鐨勫昂瀵镐竴鑷�
//3銆�1鍙锋棤鍘熺墖锛屼笖娌℃湁鏋跺瓙锛�2鍙蜂笂鐗囦綅灏哄鏄惁鍜屽甫涓婄墖灏哄涓�鑷�
//4銆佷笉涓�鑷村彲鑳藉嚭鐜扮幓鐠冪牬鎹熷鑷寸殑涓婁竴鏋跺師鐗囨暟閲忎笉澶�
- @Scheduled(fixedDelay = 300)
+ @Scheduled(fixedDelay = 5000)
public void opcLoadGlassOne() {
opcLoadGlassChild(LOAD_GLASS_DEVICE_ONE_TASK, LOAD_GLASS_ONE_DEVICE);
}
- @Scheduled(fixedDelay = 300)
+ @Scheduled(fixedDelay = 5000)
public void opcLoadGlassTwo() {
opcLoadGlassChild(LOAD_GLASS_DEVICE_TWO_TASK, LOAD_GLASS_TWO_DEVICE);
}
- @Scheduled(fixedDelay = 300)
+ @Scheduled(fixedDelay = 5000)
public void opcLoadGlassOneFinish() {
opcLoadGlassFinishChid(LOAD_GLASS_DEVICE_ONE_TASK, LOAD_GLASS_ONE_DEVICE);
}
- @Scheduled(fixedDelay = 300)
+ @Scheduled(fixedDelay = 5000)
public void opcLoadGlassTwoFinish() {
opcLoadGlassFinishChid(LOAD_GLASS_DEVICE_TWO_TASK, LOAD_GLASS_TWO_DEVICE);
+ }
+
+ /**
+ * 瀹氭椂浠诲姟鎵爜宸插畬鎴愪笂鐗囩殑宸ョ▼锛屽皢宸ョ▼鐘舵�佹敼涓哄凡瀹屾垚锛屽悓姝p琛ㄧ殑宸ョ▼琛紝鐘舵�佹敼涓�300
+ */
+ @Scheduled(fixedDelay = 5000)
+ public void updateEngineerState() {
+ log.info("淇敼宸插畬鎴愬伐绋嬬姸鎬佷换鍔″紑濮嬫墽琛�");
+ List<Engineering> engineerings = engineeringMapper.selectList(new LambdaQueryWrapper<Engineering>().eq(Engineering::getState, Const.ENGINEERING_RUNNING));
+ for (Engineering engineering : engineerings) {
+ Integer count = upPattenUsageMapper.selectCount(new LambdaQueryWrapper<UpPattenUsage>()
+ .eq(UpPattenUsage::getEngineeringId, engineering.getEngineerId()).ne(UpPattenUsage::getState, Const.LOAD_RAW_GLASS_SUCCESS));
+ if (count == 0) {
+ engineeringMapper.update(null, new LambdaUpdateWrapper<Engineering>().set(Engineering::getState, Const.ENGINEERING_SUCCESS)
+ .eq(Engineering::getEngineerId, engineering.getEngineerId()));
+ optimizeProjectService.update(null, new LambdaUpdateWrapper<OptimizeProject>().set(OptimizeProject::getState, 300)
+ .eq(OptimizeProject::getProjectNo, engineering.getEngineerId()));
+ }
+ }
}
private void opcLoadGlassChild(String tableName, Integer deviceId) {
@@ -95,6 +117,10 @@
}
//浠诲姟鏆傚仠
LoadGlassDeviceTask task = loadGlassDeviceTaskService.queryTaskMessage(tableName);
+ if (0 == task.getInkageState()) {
+ log.info("{}涓婄墖绾匡紝澶勪簬绂荤嚎鐘舵�侊細{}锛岀粨鏉熸湰鍦颁笂鐗囪姹�", deviceId, task.getInkageState());
+ return;
+ }
if (task.getTaskRunning().equals(Const.ENGINEERING_RUNNING)) {
log.info("{}涓婄墖绾匡紝鏈夋鍦ㄦ墽琛岀殑浠诲姟锛岀粨鏉熸湰鍦颁笂鐗囪姹�", deviceId);
return;
@@ -114,7 +140,7 @@
List<Integer> loadStation = LOAD_GLASS_DEVICE_ONE_TASK.equals(tableName) ? LOAD_STATION_01 : LOAD_STATION_02;
List<RawGlassStorageDetails> loadStationList = rawGlassStorageDetailsService.list(new LambdaQueryWrapper<RawGlassStorageDetails>()
.inSql(RawGlassStorageDetails::getSlot, "select slot from raw_glass_storage_station where enable_state = 1")
- .eq(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_IN)
+ .in(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_IN_ALL)
.eq(RawGlassStorageDetails::getDeviceId, deviceId));
if (CollectionUtils.isEmpty(loadStationList)) {
log.info("褰撳墠涓婄墖绾胯矾涓や釜涓婄墖浣嶉兘娌℃湁鍘熺墖淇℃伅锛岀粨鏉熸湰娆′笂鐗囦换鍔★紝绛夊緟浠撳偍璋冨害浠诲姟");
@@ -177,12 +203,13 @@
.setSql("remain_quantity = remain_quantity - " + (finishCount + damageCount)));
//鏇存柊宸ョ▼涓嬬殑鍘熺墖鏁伴噺 todo:sql寰呬紭鍖�
- List<Integer> ids = upPattenUsageMapper.queryFinishByEngineering(deviceId, finishCount);
- upPattenUsageMapper.update(null, new LambdaUpdateWrapper<UpPattenUsage>()
- .in(UpPattenUsage::getId, ids)
- .set(UpPattenUsage::getState, Const.LOAD_RAW_GLASS_SUCCESS));
-
- //todo:浠诲姟琛ㄦ暟鎹儏鍐�
+ if (finishCount > 0) {
+ List<Integer> ids = upPattenUsageMapper.queryFinishByEngineering(deviceId, finishCount);
+ upPattenUsageMapper.update(null, new LambdaUpdateWrapper<UpPattenUsage>()
+ .in(UpPattenUsage::getId, ids)
+ .set(UpPattenUsage::getState, Const.LOAD_RAW_GLASS_SUCCESS));
+ }
+ //浠诲姟琛ㄦ暟鎹儏鍐�
task.setTaskRunning(0);
task.setTotalCount(0);
task.setRawGlassWidth(0);
--
Gitblit v1.8.0