From 2dc3f0507d6e883d16b1c3c095ca06455a6fa1a7 Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期一, 25 十二月 2023 09:21:20 +0800
Subject: [PATCH] #提升机设备工作号优化
---
src/main/java/com/zy/asrs/service/BasLiftOptService.java | 4 ++
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 10 +++++
src/main/java/com/zy/asrs/task/ClearLiftOptScheduler.java | 28 ++++++++++++++
src/main/java/com/zy/asrs/mapper/BasLiftOptMapper.java | 8 ++++
src/main/java/com/zy/asrs/service/impl/BasLiftOptServiceImpl.java | 10 +++++
src/main/java/com/zy/common/service/CommonService.java | 2
6 files changed, 61 insertions(+), 1 deletions(-)
diff --git a/src/main/java/com/zy/asrs/mapper/BasLiftOptMapper.java b/src/main/java/com/zy/asrs/mapper/BasLiftOptMapper.java
index db07888..5fca55c 100644
--- a/src/main/java/com/zy/asrs/mapper/BasLiftOptMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/BasLiftOptMapper.java
@@ -2,6 +2,8 @@
import com.zy.asrs.entity.BasLiftOpt;
import com.baomidou.mybatisplus.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
@@ -16,4 +18,10 @@
List<Map<String, Object>> selectRunStatistic();//鑾峰彇鎻愬崌鏈烘瘡澶╄繍琛屾暟鎹�
+ @Insert("insert into asr_bas_lift_opt_storage select * from asr_bas_lift_opt where id in (select id from asr_bas_lift_opt where DATEDIFF(day, send_time, GETDATE()) > #{day})")
+ int saveToStorage(Integer day);
+
+ @Delete("delete from asr_bas_lift_opt where id in (select id from asr_bas_lift_opt where DATEDIFF(day, send_time, GETDATE()) > #{day})")
+ int deleteByDay(Integer day);
+
}
diff --git a/src/main/java/com/zy/asrs/service/BasLiftOptService.java b/src/main/java/com/zy/asrs/service/BasLiftOptService.java
index b587e79..2323575 100644
--- a/src/main/java/com/zy/asrs/service/BasLiftOptService.java
+++ b/src/main/java/com/zy/asrs/service/BasLiftOptService.java
@@ -7,4 +7,8 @@
BasLiftOpt selectByDeviceWrk(String deviceWrk, Integer liftNo);
+ int saveToStorage(Integer day);
+
+ int deleteByDay(Integer day);
+
}
diff --git a/src/main/java/com/zy/asrs/service/impl/BasLiftOptServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/BasLiftOptServiceImpl.java
index b9be9da..08f9fce 100644
--- a/src/main/java/com/zy/asrs/service/impl/BasLiftOptServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/BasLiftOptServiceImpl.java
@@ -13,4 +13,14 @@
public BasLiftOpt selectByDeviceWrk(String deviceWrk, Integer liftNo) {
return this.baseMapper.selectByDeviceWrk(deviceWrk, liftNo);
}
+
+ @Override
+ public int saveToStorage(Integer day) {
+ return this.baseMapper.saveToStorage(day);
+ }
+
+ @Override
+ public int deleteByDay(Integer day) {
+ return this.baseMapper.deleteByDay(day);
+ }
}
diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
index 2127fdc..1d32a45 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -1613,6 +1613,11 @@
if (wrkMast.getIoType() == 53 || wrkMast.getIoType() == 57) {
//鎷f枡鍐嶅洖搴擄紝閲嶆柊鍒嗛厤璁惧宸ヤ綔鍙�
int deviceWrk = commonService.getWorkNo(8);//鐢熸垚鎻愬崌鏈鸿澶囧伐浣滃彿
+ BasLiftOpt basLiftOpt = basLiftOptService.selectByDeviceWrk(String.valueOf(deviceWrk), liftThread.getSlave().getId());
+ if (basLiftOpt != null) {
+ News.info("{}浠诲姟锛寋}鍙锋彁鍗囨満锛岃澶囧伐浣滃彿鍑虹幇閲嶅鎯呭喌锛岃鑱旂郴鎶�鏈汉鍛樻敮鎸併��", wrkMast.getWrkNo(), liftProtocol.getLiftNo());
+ return false;
+ }
liftCommand.setTaskNo((short) deviceWrk);
}
ArrayList<NyLiftCommand> commands = new ArrayList<>();
@@ -3527,6 +3532,11 @@
NyLiftCommand liftCommand = NyLiftUtils.getLiftCommand(liftProtocol.getLiftNo().intValue(), NyLiftTaskModelType.MOVE_CAR.id, sourceLiftSta.getStaNo(), sourceLiftSta.getStaNo(), wrkMast.getWrkNo());
int deviceWrk = commonService.getWorkNo(8);//鐢熸垚鎻愬崌鏈鸿澶囧伐浣滃彿
+ BasLiftOpt basLiftOpt = basLiftOptService.selectByDeviceWrk(String.valueOf(deviceWrk), liftThread.getSlave().getId());
+ if (basLiftOpt != null) {
+ News.info("{}浠诲姟锛寋}鍙锋彁鍗囨満锛岃澶囧伐浣滃彿鍑虹幇閲嶅鎯呭喌锛岃鑱旂郴鎶�鏈汉鍛樻敮鎸併��", wrkMast.getWrkNo(), liftProtocol.getLiftNo());
+ return false;
+ }
liftCommand.setTaskNo((short) deviceWrk);//鏇存崲闅忔満浠诲姟鍙�
ArrayList<NyLiftCommand> commands = new ArrayList<>();
diff --git a/src/main/java/com/zy/asrs/task/ClearLiftOptScheduler.java b/src/main/java/com/zy/asrs/task/ClearLiftOptScheduler.java
new file mode 100644
index 0000000..84b5c5f
--- /dev/null
+++ b/src/main/java/com/zy/asrs/task/ClearLiftOptScheduler.java
@@ -0,0 +1,28 @@
+package com.zy.asrs.task;
+
+import com.zy.asrs.service.BasLiftOptService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Transactional;
+
+/**
+ * 瀹氭椂娓呯悊鎻愬崌鏈哄懡浠�
+ * 姣忓ぉ鏅氫笂23鐐规墽琛�
+ */
+@Component
+@Slf4j
+public class ClearLiftOptScheduler {
+
+ @Autowired
+ private BasLiftOptService basLiftOptService;
+
+ @Scheduled(cron = "0 0 23 * * ? ")
+ @Transactional
+ public void clear() {
+ int count = basLiftOptService.saveToStorage(15);
+ int count2 = basLiftOptService.deleteByDay(15);
+ }
+
+}
diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index 4fec9b9..28fb4f1 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -56,7 +56,7 @@
* 鐢熸垚宸ヤ綔鍙�
* @return workNo(宸ヤ綔鍙�)
*/
- public int getWorkNo(Integer wrkMk) {
+ public synchronized int getWorkNo(Integer wrkMk) {
WrkLastno wrkLastno = wrkLastnoService.selectById(wrkMk);
if (Cools.isEmpty(wrkLastno)) {
throw new CoolException("鏁版嵁寮傚父锛岃鑱旂郴绠$悊鍛�");
--
Gitblit v1.9.1