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