From 78f8396f582a13c159d9b9eacdea54ec4518b66f Mon Sep 17 00:00:00 2001 From: icewint Date: Fri, 6 Mar 2026 14:12:04 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=95=B0=E6=8D=AE=E5=AE=9A?= =?UTF-8?q?=E6=97=B6=E6=B8=85=E7=90=86=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wcs/business/data/impl/DataCleaner.java | 136 ++++++++++++++++++ .../wcs/business/data/intf/IDataCleaner.java | 58 ++++++++ .../org/wcs/mapper/impl/AppConveyTaskDao.java | 16 +++ .../wcs/mapper/impl/AppEtagTaskBakDao.java | 17 +++ .../mapper/impl/AppRecordApiRequestDao.java | 18 +++ .../mapper/impl/AppRecordApiResponseDao.java | 18 +++ .../org/wcs/mapper/impl/AppRecordErrDao.java | 16 +++ .../mapper/impl/AppRecordMaintenanceDao.java | 19 +++ .../impl/AppRecordPlcInteractiveDao.java | 19 +++ .../org/wcs/mapper/impl/AppRecordScanDao.java | 16 +++ .../impl/AppStockComposeTaskBakDao.java | 18 +++ .../mapper/impl/AppStockSingleTaskBakDao.java | 17 +++ .../wcs/mapper/intf/AppConveyTaskService.java | 2 + .../mapper/intf/AppEtagTaskBakService.java | 2 + .../intf/AppRecordApiRequestService.java | 2 + .../intf/AppRecordApiResponseService.java | 2 + .../wcs/mapper/intf/AppRecordErrService.java | 2 + .../intf/AppRecordMaintenanceService.java | 2 + .../intf/AppRecordPlcInteractiveService.java | 2 + .../wcs/mapper/intf/AppRecordScanService.java | 2 + .../intf/AppStockComposeTaskBakService.java | 2 + .../intf/AppStockSingleTaskBakService.java | 2 + .../java/org/wcs/quartzJob/CleanDataJob.java | 43 +++++- wcs_web/src/router/index.ts | 3 +- 24 files changed, 431 insertions(+), 3 deletions(-) create mode 100644 wcs/src/main/java/org/wcs/business/data/impl/DataCleaner.java create mode 100644 wcs/src/main/java/org/wcs/business/data/intf/IDataCleaner.java diff --git a/wcs/src/main/java/org/wcs/business/data/impl/DataCleaner.java b/wcs/src/main/java/org/wcs/business/data/impl/DataCleaner.java new file mode 100644 index 0000000..775ba80 --- /dev/null +++ b/wcs/src/main/java/org/wcs/business/data/impl/DataCleaner.java @@ -0,0 +1,136 @@ +package org.wcs.business.data.impl; + +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.wcs.business.data.intf.IDataCleaner; +import org.wcs.mapper.intf.*; + +/** + * 数据清理服务 + */ +@Slf4j +@Service +@RequiredArgsConstructor +public class DataCleaner implements IDataCleaner { + + private final AppConveyTaskService conveyTaskService; + private final AppStockComposeTaskBakService stockComposeTaskService; + private final AppStockSingleTaskBakService stockSingleTaskService; + private final AppEtagTaskBakService etagTaskService; + private final AppRecordApiRequestService recordApiRequestService; + private final AppRecordApiResponseService recordApiResponseService; + private final AppRecordScanService stockScanService; + private final AppRecordErrService recordErrService; + private final AppRecordPlcInteractiveService recordPlcInteractiveService; + private final AppRecordMaintenanceService recordMaintenanceService; + + + /** + * 清理 输送线任务表数据 + * @param saveDays 保存天数 + */ + @Override + public void cleanConveyTask(int saveDays) { + if(saveDays <= 0) { + return; + } + int result = conveyTaskService.deleteConveyTaskByDaveDays(saveDays); + log.info("清理 {} 天前的输送线数据,共清理 {} 行数据", saveDays, result); + } + + /** + * 清理 仓库任务表数据 + * @param saveDays 保存天数 + */ + @Override + public void cleanStockTask(int saveDays) { + if(saveDays <= 0) { + return; + } + int deleteComposeTaskResult = stockComposeTaskService.deleteBySaveDays(saveDays); + log.info("清理 {} 天前的组合任务数据,共清理 {} 行数据", saveDays, deleteComposeTaskResult); + int deleteSingleTaskResult = stockSingleTaskService.deleteBySaveDays(saveDays); + log.info("清理 {} 天前的独立任务数据,共清理 {} 行数据", saveDays, deleteSingleTaskResult); + } + + /** + * 清理 Etag任务表数据 + * @param saveDays 保存天数 + */ + @Override + public void cleanEtagTask(int saveDays) { + if(saveDays <= 0) { + return; + } + int result = etagTaskService.deleteBySaveDays(saveDays); + log.info("清理 {} 天前的电子标签任务数据,共清理 {} 行数据", saveDays, result); + } + + /** + * 清理 接口调用记录表数据 + * @param saveDays 保存天数 + */ + @Override + public void cleanApiRecord(int saveDays) { + if(saveDays <= 0) { + return; + } + int apiRequestResult = recordApiRequestService.deleteBySaveDays(saveDays); + log.info("清理 {} 天前的接口调用记录数据,共清理 {} 行数据", saveDays, apiRequestResult); + int apiResponseResult = recordApiResponseService.deleteBySaveDays(saveDays); + log.info("清理 {} 天前的接口响应记录数据,共清理 {} 行数据", saveDays, apiResponseResult); + } + + /** + * 清理 扫码记录表数据 + * @param saveDays 保存天数 + */ + @Override + public void cleanScanRecord(int saveDays) { + if(saveDays <= 0) { + return; + } + int result = stockScanService.deleteBySaveDays(saveDays); + log.info("清理 {} 天前的扫码记录数据,共清理 {} 行数据", saveDays, result); + } + + /** + * 清理 设备错误记录表数据 + * @param saveDays 保存天数 + */ + @Override + public void cleanEquipmentErrorRecord(int saveDays) { + if(saveDays <= 0) { + return; + } + int result = recordErrService.deleteBySaveDays(saveDays); + log.info("清理 {} 天前的设备错误记录数据,共清理 {} 行数据", saveDays, result); + } + + /** + * 清理 PLC交互记录表数据 + * @param saveDays 保存天数 + */ + @Override + public void cleanPlcInteractionRecord(int saveDays) { + if(saveDays <= 0) { + return; + } + int result = recordPlcInteractiveService.deleteBySaveDays(saveDays); + log.info("清理 {} 天前的PLC交互记录数据,共清理 {} 行数据", saveDays, result); + } + + /** + * 清理 维护记录表数据 + * @param saveDays 保存天数 + */ + @Override + public void cleanMaintainRecord(int saveDays) { + if(saveDays <= 0) { + return; + } + int result = recordMaintenanceService.deleteBySaveDays(saveDays); + log.info("清理 {} 天前的维护记录数据,共清理 {} 行数据", saveDays, result); + } +} diff --git a/wcs/src/main/java/org/wcs/business/data/intf/IDataCleaner.java b/wcs/src/main/java/org/wcs/business/data/intf/IDataCleaner.java new file mode 100644 index 0000000..2e07fba --- /dev/null +++ b/wcs/src/main/java/org/wcs/business/data/intf/IDataCleaner.java @@ -0,0 +1,58 @@ +package org.wcs.business.data.intf; + +/** + * 数据清理接口 + */ +public interface IDataCleaner { + + /** + * 清理输送线任务数据 + * @param saveDays 保存天数 + */ + void cleanConveyTask(int saveDays); + + /** + * 清理仓库任务数据 + * @param saveDays 保存天数 + */ + void cleanStockTask(int saveDays); + + /** + * 清理标签任务数据 + * @param saveDays 保存天数 + */ + void cleanEtagTask(int saveDays); + + /** + * 清理接口请求数据 + * @param saveDays 保存天数 + */ + void cleanApiRecord(int saveDays); + + /** + * 清理扫码数据 + * @param saveDays 保存天数 + */ + void cleanScanRecord(int saveDays); + + /** + * 清理设备错误数据 + * @param saveDays 保存天数 + */ + void cleanEquipmentErrorRecord(int saveDays); + + /** + * 清理PLC交互数据 + * @param saveDays 保存天数 + */ + void cleanPlcInteractionRecord(int saveDays); + + /** + * 清理保养数据 + * @param saveDays 保存天数 + */ + void cleanMaintainRecord(int saveDays); + + + +} diff --git a/wcs/src/main/java/org/wcs/mapper/impl/AppConveyTaskDao.java b/wcs/src/main/java/org/wcs/mapper/impl/AppConveyTaskDao.java index 26a3fa8..4f99058 100755 --- a/wcs/src/main/java/org/wcs/mapper/impl/AppConveyTaskDao.java +++ b/wcs/src/main/java/org/wcs/mapper/impl/AppConveyTaskDao.java @@ -136,4 +136,20 @@ public class AppConveyTaskDao extends ServiceImpl queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.lt(AppConveyTask::getCreateTime, LocalDateTime.now().minusDays(saveDays)); + try { + return baseMapper.delete(queryWrapper); + } catch (Exception e) { + return 0; + } + } } diff --git a/wcs/src/main/java/org/wcs/mapper/impl/AppEtagTaskBakDao.java b/wcs/src/main/java/org/wcs/mapper/impl/AppEtagTaskBakDao.java index 660ac6c..d807e60 100644 --- a/wcs/src/main/java/org/wcs/mapper/impl/AppEtagTaskBakDao.java +++ b/wcs/src/main/java/org/wcs/mapper/impl/AppEtagTaskBakDao.java @@ -10,6 +10,7 @@ import org.wcs.model.bo.tuple.Tuple2; import org.wcs.model.dto.serve.etagTask.EtagTaskQueryReq; import org.wcs.model.po.app.AppEtagTaskBak; +import java.time.LocalDateTime; import java.util.List; @Service @@ -63,4 +64,20 @@ public class AppEtagTaskBakDao extends ServiceImpl queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.lt(AppEtagTaskBak::getCreateTime, LocalDateTime.now().minusDays(saveDays)); + try { + return baseMapper.delete(queryWrapper); + } catch (Exception e) { + return 0; + } + } } diff --git a/wcs/src/main/java/org/wcs/mapper/impl/AppRecordApiRequestDao.java b/wcs/src/main/java/org/wcs/mapper/impl/AppRecordApiRequestDao.java index 30eb283..fe60c4a 100755 --- a/wcs/src/main/java/org/wcs/mapper/impl/AppRecordApiRequestDao.java +++ b/wcs/src/main/java/org/wcs/mapper/impl/AppRecordApiRequestDao.java @@ -11,6 +11,7 @@ import org.wcs.model.dto.serve.recordApi.QueryRecordApiRequestReq; import org.wcs.model.po.app.AppRecordApiRequest; import org.wcs.utils.AppStringUtils; +import java.time.LocalDateTime; import java.util.List; @Service @@ -69,4 +70,21 @@ public class AppRecordApiRequestDao extends ServiceImpl queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.lt(AppRecordApiRequest::getRequestTime, LocalDateTime.now().minusDays(saveDays)); + try { + return super.baseMapper.delete(queryWrapper); + } catch (Exception e) { + return 0; + } + } } diff --git a/wcs/src/main/java/org/wcs/mapper/impl/AppRecordApiResponseDao.java b/wcs/src/main/java/org/wcs/mapper/impl/AppRecordApiResponseDao.java index e6da2af..ca8523a 100755 --- a/wcs/src/main/java/org/wcs/mapper/impl/AppRecordApiResponseDao.java +++ b/wcs/src/main/java/org/wcs/mapper/impl/AppRecordApiResponseDao.java @@ -62,4 +62,22 @@ public class AppRecordApiResponseDao extends ServiceImpl queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.lt(AppRecordApiResponse::getRequestTime, LocalDateTime.now().minusDays(saveDays)); + try { + return super.baseMapper.delete(queryWrapper); + } catch (Exception e) { + return 0; + } + } + + } diff --git a/wcs/src/main/java/org/wcs/mapper/impl/AppRecordErrDao.java b/wcs/src/main/java/org/wcs/mapper/impl/AppRecordErrDao.java index 062f6d2..6024ba9 100755 --- a/wcs/src/main/java/org/wcs/mapper/impl/AppRecordErrDao.java +++ b/wcs/src/main/java/org/wcs/mapper/impl/AppRecordErrDao.java @@ -122,5 +122,21 @@ public class AppRecordErrDao extends ServiceImpl wrapper = new LambdaQueryWrapper<>(); + wrapper.lt(AppRecordErr::getCreateTime, LocalDateTime.now().minusDays(saveDays)); + try { + return super.baseMapper.delete(wrapper); + } catch (Exception e) { + return 0; + } + } + } diff --git a/wcs/src/main/java/org/wcs/mapper/impl/AppRecordMaintenanceDao.java b/wcs/src/main/java/org/wcs/mapper/impl/AppRecordMaintenanceDao.java index 490cb90..c13a278 100755 --- a/wcs/src/main/java/org/wcs/mapper/impl/AppRecordMaintenanceDao.java +++ b/wcs/src/main/java/org/wcs/mapper/impl/AppRecordMaintenanceDao.java @@ -1,11 +1,30 @@ package org.wcs.mapper.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; import org.wcs.mapper.AppRecordMaintenanceMapper; import org.wcs.mapper.intf.AppRecordMaintenanceService; import org.wcs.model.po.app.AppRecordMaintenance; +import java.time.LocalDateTime; + @Service public class AppRecordMaintenanceDao extends ServiceImpl implements AppRecordMaintenanceService { + + /** + * 根据保存天数删除数据 + * @param saveDays 保存天数 + * @return 删除的行数 + */ + @Override + public int deleteBySaveDays(int saveDays) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.lt(AppRecordMaintenance::getMaintenanceTime, LocalDateTime.now().minusDays(saveDays)); + try { + return baseMapper.delete(queryWrapper); + } catch (Exception e) { + return 0; + } + } } diff --git a/wcs/src/main/java/org/wcs/mapper/impl/AppRecordPlcInteractiveDao.java b/wcs/src/main/java/org/wcs/mapper/impl/AppRecordPlcInteractiveDao.java index 1c9e0c4..e1e2aac 100755 --- a/wcs/src/main/java/org/wcs/mapper/impl/AppRecordPlcInteractiveDao.java +++ b/wcs/src/main/java/org/wcs/mapper/impl/AppRecordPlcInteractiveDao.java @@ -1,11 +1,30 @@ package org.wcs.mapper.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; import org.wcs.mapper.AppRecordPlcInteractiveMapper; import org.wcs.mapper.intf.AppRecordPlcInteractiveService; import org.wcs.model.po.app.AppRecordPlcInteractive; +import java.time.LocalDateTime; + @Service public class AppRecordPlcInteractiveDao extends ServiceImpl implements AppRecordPlcInteractiveService { + + /** + * 根据保存天数删除数据 + * @param saveDays 保存天数 + * @return 删除数量 + */ + @Override + public int deleteBySaveDays(int saveDays) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.lt(AppRecordPlcInteractive::getCreateTime, LocalDateTime.now().minusDays(saveDays)); + try { + return super.baseMapper.delete(queryWrapper); + } catch (Exception e) { + return 0; + } + } } diff --git a/wcs/src/main/java/org/wcs/mapper/impl/AppRecordScanDao.java b/wcs/src/main/java/org/wcs/mapper/impl/AppRecordScanDao.java index b9f4ddd..b59a2a6 100755 --- a/wcs/src/main/java/org/wcs/mapper/impl/AppRecordScanDao.java +++ b/wcs/src/main/java/org/wcs/mapper/impl/AppRecordScanDao.java @@ -64,4 +64,20 @@ public class AppRecordScanDao extends ServiceImpl queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.lt(AppRecordScan::getScanTime, LocalDateTime.now().minusDays(saveDays)); + try { + return baseMapper.delete(queryWrapper); + } catch (Exception e) { + return 0; + } + } } diff --git a/wcs/src/main/java/org/wcs/mapper/impl/AppStockComposeTaskBakDao.java b/wcs/src/main/java/org/wcs/mapper/impl/AppStockComposeTaskBakDao.java index f0a97cb..6b66974 100644 --- a/wcs/src/main/java/org/wcs/mapper/impl/AppStockComposeTaskBakDao.java +++ b/wcs/src/main/java/org/wcs/mapper/impl/AppStockComposeTaskBakDao.java @@ -11,6 +11,7 @@ import org.wcs.model.dto.serve.stcokComposeTask.QueryStockComposeTaskReq; import org.wcs.model.po.app.AppStockComposeTaskBak; import org.wcs.utils.AppStringUtils; +import java.time.LocalDateTime; import java.util.List; @Service @@ -125,4 +126,21 @@ public class AppStockComposeTaskBakDao extends ServiceImpl queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.lt(AppStockComposeTaskBak::getCreateTime, LocalDateTime.now().minusDays(saveDays)); + try { + return super.baseMapper.delete(queryWrapper); + } catch (Exception ex) { + return 0; + } + } } diff --git a/wcs/src/main/java/org/wcs/mapper/impl/AppStockSingleTaskBakDao.java b/wcs/src/main/java/org/wcs/mapper/impl/AppStockSingleTaskBakDao.java index 8630a87..8a87c4a 100644 --- a/wcs/src/main/java/org/wcs/mapper/impl/AppStockSingleTaskBakDao.java +++ b/wcs/src/main/java/org/wcs/mapper/impl/AppStockSingleTaskBakDao.java @@ -12,6 +12,7 @@ import org.wcs.model.po.app.AppStockSingleTaskBak; import org.wcs.utils.AppStringUtils; import org.wcs.utils.AppTimeUtils; +import java.time.LocalDateTime; import java.util.List; @Service @@ -118,4 +119,20 @@ public class AppStockSingleTaskBakDao extends ServiceImpl queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.lt(AppStockSingleTaskBak::getCreateTime, LocalDateTime.now().minusDays(saveDays)); + try { + return super.baseMapper.delete(queryWrapper); + } catch (Exception ex) { + return 0; + } + } + } diff --git a/wcs/src/main/java/org/wcs/mapper/intf/AppConveyTaskService.java b/wcs/src/main/java/org/wcs/mapper/intf/AppConveyTaskService.java index b4e0a85..e0a4bfd 100755 --- a/wcs/src/main/java/org/wcs/mapper/intf/AppConveyTaskService.java +++ b/wcs/src/main/java/org/wcs/mapper/intf/AppConveyTaskService.java @@ -13,4 +13,6 @@ public interface AppConveyTaskService extends IService { int insertConveyTask(AppConveyTask appConveyTask); List queryByTaskId(String taskId); int updateConveyTask(AppConveyTask appConveyTask); + + int deleteConveyTaskByDaveDays(int saveDays); // 删除指定天数之前的数据 } diff --git a/wcs/src/main/java/org/wcs/mapper/intf/AppEtagTaskBakService.java b/wcs/src/main/java/org/wcs/mapper/intf/AppEtagTaskBakService.java index 6756e47..950d04d 100644 --- a/wcs/src/main/java/org/wcs/mapper/intf/AppEtagTaskBakService.java +++ b/wcs/src/main/java/org/wcs/mapper/intf/AppEtagTaskBakService.java @@ -11,4 +11,6 @@ public interface AppEtagTaskBakService extends IService { Tuple2> queryEtagTask(EtagTaskQueryReq request, Integer pageIndex, Integer pageSize); List queryByTaskId(String taskId); // 根据任务ID查询 + + int deleteBySaveDays(int saveDays); // 删除指定天数前的数据 } diff --git a/wcs/src/main/java/org/wcs/mapper/intf/AppRecordApiRequestService.java b/wcs/src/main/java/org/wcs/mapper/intf/AppRecordApiRequestService.java index fb25024..db589bb 100755 --- a/wcs/src/main/java/org/wcs/mapper/intf/AppRecordApiRequestService.java +++ b/wcs/src/main/java/org/wcs/mapper/intf/AppRecordApiRequestService.java @@ -13,5 +13,7 @@ public interface AppRecordApiRequestService extends IService> queryByPage(QueryRecordApiRequestReq request, Integer pageSize, Integer pageIndex); int insert(AppRecordApiRequest record); // 插入数据 + int deleteBySaveDays(int saveDays); // 删除指定天数前的数据 + } diff --git a/wcs/src/main/java/org/wcs/mapper/intf/AppRecordApiResponseService.java b/wcs/src/main/java/org/wcs/mapper/intf/AppRecordApiResponseService.java index 978963e..147afe7 100755 --- a/wcs/src/main/java/org/wcs/mapper/intf/AppRecordApiResponseService.java +++ b/wcs/src/main/java/org/wcs/mapper/intf/AppRecordApiResponseService.java @@ -13,4 +13,6 @@ public interface AppRecordApiResponseService extends IService> queryByPage(QueryRecordApiResponseReq request, Integer pageSize, Integer pageIndex); int insert(AppRecordApiResponse record); + int deleteBySaveDays(int saveDays); // 删除指定天数前的数据 + } diff --git a/wcs/src/main/java/org/wcs/mapper/intf/AppRecordErrService.java b/wcs/src/main/java/org/wcs/mapper/intf/AppRecordErrService.java index e52e6ed..b396edd 100755 --- a/wcs/src/main/java/org/wcs/mapper/intf/AppRecordErrService.java +++ b/wcs/src/main/java/org/wcs/mapper/intf/AppRecordErrService.java @@ -15,4 +15,6 @@ public interface AppRecordErrService extends IService { Tuple2> queryRecordErrorDetail(QueryEquipmentErrorReq request, Integer pageSize, Integer pageIndex); List queryRecordErrorDetail(QueryEquipmentErrorReq request); List queryRecordErrorDetailRecentDays(int days); // 查询近几天的错误信息 + + int deleteBySaveDays(int saveDays); // 删除保存天数之前的数据 } diff --git a/wcs/src/main/java/org/wcs/mapper/intf/AppRecordMaintenanceService.java b/wcs/src/main/java/org/wcs/mapper/intf/AppRecordMaintenanceService.java index 5a94c23..4dc19a6 100755 --- a/wcs/src/main/java/org/wcs/mapper/intf/AppRecordMaintenanceService.java +++ b/wcs/src/main/java/org/wcs/mapper/intf/AppRecordMaintenanceService.java @@ -4,4 +4,6 @@ import com.baomidou.mybatisplus.extension.service.IService; import org.wcs.model.po.app.AppRecordMaintenance; public interface AppRecordMaintenanceService extends IService { + + int deleteBySaveDays(int saveDays); // 删除指定天数前的数据 } diff --git a/wcs/src/main/java/org/wcs/mapper/intf/AppRecordPlcInteractiveService.java b/wcs/src/main/java/org/wcs/mapper/intf/AppRecordPlcInteractiveService.java index 15fe2df..fcea55b 100755 --- a/wcs/src/main/java/org/wcs/mapper/intf/AppRecordPlcInteractiveService.java +++ b/wcs/src/main/java/org/wcs/mapper/intf/AppRecordPlcInteractiveService.java @@ -4,4 +4,6 @@ import com.baomidou.mybatisplus.extension.service.IService; import org.wcs.model.po.app.AppRecordPlcInteractive; public interface AppRecordPlcInteractiveService extends IService { + + int deleteBySaveDays(int saveDays); // 删除指定天数前的数据 } diff --git a/wcs/src/main/java/org/wcs/mapper/intf/AppRecordScanService.java b/wcs/src/main/java/org/wcs/mapper/intf/AppRecordScanService.java index 4536cfb..ac3d9a4 100755 --- a/wcs/src/main/java/org/wcs/mapper/intf/AppRecordScanService.java +++ b/wcs/src/main/java/org/wcs/mapper/intf/AppRecordScanService.java @@ -12,4 +12,6 @@ public interface AppRecordScanService extends IService { Tuple2> query(QueryRecordScanReq queryRecordScanReq, Integer pageSize, Integer pageIndex); List query(QueryRecordScanReq queryRecordScanReq); + + int deleteBySaveDays(int saveDays); // 删除指定天数前的数据 } diff --git a/wcs/src/main/java/org/wcs/mapper/intf/AppStockComposeTaskBakService.java b/wcs/src/main/java/org/wcs/mapper/intf/AppStockComposeTaskBakService.java index e89f256..93ec6c9 100644 --- a/wcs/src/main/java/org/wcs/mapper/intf/AppStockComposeTaskBakService.java +++ b/wcs/src/main/java/org/wcs/mapper/intf/AppStockComposeTaskBakService.java @@ -14,4 +14,6 @@ public interface AppStockComposeTaskBakService extends IService query(QueryStockComposeTaskReq queryTaskReq); List queryByUpperTaskId(String upperTaskId); + + int deleteBySaveDays(int saveDays); // 删除指定天数前的数据 } diff --git a/wcs/src/main/java/org/wcs/mapper/intf/AppStockSingleTaskBakService.java b/wcs/src/main/java/org/wcs/mapper/intf/AppStockSingleTaskBakService.java index cc552e4..301a0d9 100644 --- a/wcs/src/main/java/org/wcs/mapper/intf/AppStockSingleTaskBakService.java +++ b/wcs/src/main/java/org/wcs/mapper/intf/AppStockSingleTaskBakService.java @@ -14,4 +14,6 @@ public interface AppStockSingleTaskBakService extends IService queryTaskRecentDays(int days, Integer taskStatus); + + int deleteBySaveDays(int saveDays); // 根据保存天数删除数据 } diff --git a/wcs/src/main/java/org/wcs/quartzJob/CleanDataJob.java b/wcs/src/main/java/org/wcs/quartzJob/CleanDataJob.java index 68b9069..dd29a42 100644 --- a/wcs/src/main/java/org/wcs/quartzJob/CleanDataJob.java +++ b/wcs/src/main/java/org/wcs/quartzJob/CleanDataJob.java @@ -1,19 +1,60 @@ package org.wcs.quartzJob; +import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.quartz.DisallowConcurrentExecution; import org.quartz.Job; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; +import org.wcs.business.data.intf.IDataCleaner; +import org.wcs.helper.AppConfigHelper; +import org.wcs.utils.AppStringUtils; /** * 数据清理定时任务 */ @Slf4j +@RequiredArgsConstructor @DisallowConcurrentExecution public class CleanDataJob implements Job { + + private final IDataCleaner dataCleaner; + private final AppConfigHelper configHelper; + @Override public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { - System.out.println("数据清理定时任务开始执行..."); + log.info("开始执行数据清理任务"); + // 清理输送线任务数据 + String conveyTaskSaveDaysStr = configHelper.getConfig("CONVEY_TASK_SAVE_DAYS"); + int conveyTaskSaveDays = AppStringUtils.toIntegerOrDefault(conveyTaskSaveDaysStr, 1000); + dataCleaner.cleanConveyTask(conveyTaskSaveDays); + // 清理库存任务数据 + String stockTaskSaveDaysStr = configHelper.getConfig("STORAGE_TASK_SAVE_DAYS"); + int stockTaskSaveDays = AppStringUtils.toIntegerOrDefault(stockTaskSaveDaysStr, 1000); + dataCleaner.cleanStockTask(stockTaskSaveDays); + // 清理 Etag 任务数据 + String etagTaskSaveDaysStr = configHelper.getConfig("ETAG_TASK_SAVE_DAYS"); + int etagTaskSaveDays = AppStringUtils.toIntegerOrDefault(etagTaskSaveDaysStr, 1000); + dataCleaner.cleanEtagTask(etagTaskSaveDays); + // 清理 API 记录数据 + String apiRecordSaveDaysStr = configHelper.getConfig("API_RECORD_SAVE_DAYS"); + int apiRecordSaveDays = AppStringUtils.toIntegerOrDefault(apiRecordSaveDaysStr, 200); + dataCleaner.cleanApiRecord(apiRecordSaveDays); + // 清理 扫描记录数据 + String scanRecordSaveDaysStr = configHelper.getConfig("SCAN_RECORD_SAVE_DAYS"); + int scanRecordSaveDays = AppStringUtils.toIntegerOrDefault(scanRecordSaveDaysStr, 400); + dataCleaner.cleanScanRecord(scanRecordSaveDays); + // 清理 设备错误记录数据 + String equipErrorRecordSaveDaysStr = configHelper.getConfig("DEVICE_ERR_ROCORD_SAVE_DAYS"); + int equipErrorRecordSaveDays = AppStringUtils.toIntegerOrDefault(equipErrorRecordSaveDaysStr, 1000); + dataCleaner.cleanEquipmentErrorRecord(equipErrorRecordSaveDays); + // 清理 PLC 交互记录数据 + String plcInteractionRecordSaveDaysStr = configHelper.getConfig("PLC_COMM_RECORD_SAVE_DAYS"); + int plcInteractionRecordSaveDays = AppStringUtils.toIntegerOrDefault(plcInteractionRecordSaveDaysStr, 1000); + dataCleaner.cleanPlcInteractionRecord(plcInteractionRecordSaveDays); + // 清理 维护记录数据 + String maintainRecordSaveDaysStr = configHelper.getConfig("UPKEEP_RECORD_SAVE_DAYS"); + int maintainRecordSaveDays = AppStringUtils.toIntegerOrDefault(maintainRecordSaveDaysStr, 1000); + dataCleaner.cleanMaintainRecord(maintainRecordSaveDays); } } diff --git a/wcs_web/src/router/index.ts b/wcs_web/src/router/index.ts index 7640be0..91f3c14 100644 --- a/wcs_web/src/router/index.ts +++ b/wcs_web/src/router/index.ts @@ -46,14 +46,13 @@ const router = createRouter({ { path: 'equipmentError', name: 'equipmentError', component: () => import('@/views/tabs/RecordEquipmentError.vue')}, { path: 'ledManage', name: 'ledManage', component: () => import('@/views/tabs/LedBaseManage.vue')}, { path: 'fileManage', name: 'fileManage', component: () => import('@/views/tabs/FileManage.vue')}, - { path: 'siemensDbManage', name: 'siemensDbManage', component: () => import('@/views/tabs/SiemensDbManage.vue')}, + { path: 'siemensDbManage', name: 'siemensDbManage', component: () => import('@/views/tabs/SiemensDbManage.vue')}, { path: 'etagController', name: 'etagController', component: () => import('@/views/tabs/EtagController.vue')}, { path: 'etagTag', name: 'etagTag', component: () => import('@/views/tabs/EtagTag.vue')}, { path: 'etagLocation', name: 'etagLocation', component: () => import('@/views/tabs/EtagLocation.vue')}, { path: 'etagTask', name: 'etagTask', component: () => import('@/views/tabs/EtagTask.vue')}, { path: 'etagTagBak', name: 'etagTagBak', component: () => import('@/views/tabs/EtagTaskBak.vue')}, ] } - ], })