From 9f5127b6c58a297104bccc75a4c5125733f5ff4b Mon Sep 17 00:00:00 2001
From: fei <791364011@qq.com>
Date: 星期四, 27 十一月 2025 14:33:11 +0800
Subject: [PATCH] 修改了对应代码
---
archiveManager/src/main/java/com/ruoyi/service/impl/ArchiveRecordsServiceImpl.java | 85 ++++++++++++++++++++++++++++++++----------
1 files changed, 65 insertions(+), 20 deletions(-)
diff --git a/archiveManager/src/main/java/com/ruoyi/service/impl/ArchiveRecordsServiceImpl.java b/archiveManager/src/main/java/com/ruoyi/service/impl/ArchiveRecordsServiceImpl.java
index 9ac9f0e..f0fcaf7 100644
--- a/archiveManager/src/main/java/com/ruoyi/service/impl/ArchiveRecordsServiceImpl.java
+++ b/archiveManager/src/main/java/com/ruoyi/service/impl/ArchiveRecordsServiceImpl.java
@@ -3,6 +3,8 @@
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.*;
+import java.util.ArrayList;
+import java.util.List;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -47,29 +49,72 @@
private LambdaQueryWrapper<ArchiveRecords> buildCondition(ArchiveRecords archiveRecords, Long userId){
LambdaQueryWrapper<ArchiveRecords> lqw = new LambdaQueryWrapper<>();
+ // 鏍规嵁寮�濮嬪拰缁撴潫鐨刢ategoryNumber鐢熸垚杩炵画鐨剅ecordId
+ String categoryNumberStart = archiveRecords.getCategoryNumberStart();
+ String categoryNumberEnd = archiveRecords.getCategoryNumberEnd();
+
+ if (!StringUtils.isEmpty(categoryNumberStart) && !StringUtils.isEmpty(categoryNumberEnd)) {
+ try {
+ // 瑙f瀽寮�濮嬪拰缁撴潫鐨勭紪鍙凤紝鎻愬彇鍓嶇紑鍜屾暟瀛楅儴鍒�
+ // 渚嬪锛欱1.3-999-2024-1 -> 鍓嶇紑: B1.3-999-2024-, 鏁板瓧: 1
+ int lastDashIndexStart = categoryNumberStart.lastIndexOf('-');
+ int lastDashIndexEnd = categoryNumberEnd.lastIndexOf('-');
+
+ if (lastDashIndexStart > 0 && lastDashIndexEnd > 0) {
+ String prefixStart = categoryNumberStart.substring(0, lastDashIndexStart + 1);
+ String prefixEnd = categoryNumberEnd.substring(0, lastDashIndexEnd + 1);
+
+ // 纭繚鍓嶇紑鐩稿悓锛屾墠鐢熸垚杩炵画缂栧彿
+ if (prefixStart.equals(prefixEnd)) {
+ int startNum = Integer.parseInt(categoryNumberStart.substring(lastDashIndexStart + 1));
+ int endNum = Integer.parseInt(categoryNumberEnd.substring(lastDashIndexEnd + 1));
+
+ // 鐢熸垚杩炵画鐨剅ecordId鍒楄〃锛屽皢鏁板瓧鏍煎紡鍖栦负5浣嶏紙濡�00001, 00101锛�
+ List<String> recordIds = new ArrayList<>();
+ for (int i = startNum; i <= endNum; i++) {
+ // 浣跨敤String.format灏嗘暟瀛楁牸寮忓寲涓�5浣嶏紝涓嶈冻鍓嶉潰琛�0
+ String formattedNumber = String.format("%05d", i);
+ recordIds.add(prefixStart + formattedNumber);
+ }
+
+ // 娣诲姞鍒版煡璇㈡潯浠朵腑
+ lqw.in(ArchiveRecords::getRecordId, recordIds);
+ }
+ }
+ } catch (Exception e) {
+ // 濡傛灉瑙f瀽澶辫触锛屽拷鐣ユ鏉′欢
+ e.printStackTrace();
+ }
+ }
+
System.out.println(archiveRecords.getIds());
- lqw.like(!StringUtils.isEmpty(archiveRecords.getRecordId()), ArchiveRecords::getRecordId, archiveRecords.getRecordId())
- .like(!StringUtils.isEmpty(archiveRecords.getInquiryNumber()), ArchiveRecords::getInquiryNumber, archiveRecords.getInquiryNumber())
- .like(!StringUtils.isEmpty(archiveRecords.getCaseTitle()), ArchiveRecords::getCaseTitle, archiveRecords.getCaseTitle())
- .like(!StringUtils.isEmpty(archiveRecords.getPublicAttribute()), ArchiveRecords::getPublicAttribute, archiveRecords.getPublicAttribute())
- .like(!StringUtils.isEmpty(archiveRecords.getPreparationUnit()), ArchiveRecords::getPreparationUnit, archiveRecords.getPreparationUnit())
- .like(!StringUtils.isEmpty(archiveRecords.getRetentionPeriod()), ArchiveRecords::getRetentionPeriod, archiveRecords.getRetentionPeriod())
- .like(!StringUtils.isEmpty(archiveRecords.getSecurityClassification()), ArchiveRecords::getSecurityClassification, archiveRecords.getSecurityClassification())
- .like(!StringUtils.isEmpty(archiveRecords.getFilingNumber()), ArchiveRecords::getFilingNumber, archiveRecords.getFilingNumber())
- .like(!StringUtils.isEmpty(archiveRecords.getConstructionUnit()), ArchiveRecords::getConstructionUnit, archiveRecords.getConstructionUnit())
- .like(!StringUtils.isEmpty(archiveRecords.getConstructionAddress()), ArchiveRecords::getConstructionAddress, archiveRecords.getConstructionAddress())
- .like(!StringUtils.isEmpty(archiveRecords.getProjectName()), ArchiveRecords::getProjectName, archiveRecords.getProjectName())
- .like(!StringUtils.isEmpty(archiveRecords.getProjectNumber()), ArchiveRecords::getProjectNumber, archiveRecords.getProjectNumber())
- .like(!StringUtils.isEmpty(archiveRecords.getScanningCompany()), ArchiveRecords::getScanningCompany, archiveRecords.getScanningCompany())
- .like(!StringUtils.isEmpty(archiveRecords.getArchiveRoomNumber()), ArchiveRecords::getArchiveRoomNumber, archiveRecords.getArchiveRoomNumber())
- .like(!StringUtils.isEmpty(archiveRecords.getMicrofilmNumber()), ArchiveRecords::getMicrofilmNumber, archiveRecords.getMicrofilmNumber())
- .like(!StringUtils.isEmpty(archiveRecords.getHistoricalReferenceNumber()), ArchiveRecords::getHistoricalReferenceNumber, archiveRecords.getHistoricalReferenceNumber())
- .eq(!StringUtils.isEmpty(archiveRecords.getRecordStatus()), ArchiveRecords::getRecordStatus, archiveRecords.getRecordStatus())
- .like(!StringUtils.isEmpty(archiveRecords.getEveryProjectName()), ArchiveRecords::getEveryProjectName, archiveRecords.getEveryProjectName())
- .like(!StringUtils.isEmpty(archiveRecords.getRemarks()), ArchiveRecords::getRemarks, archiveRecords.getRemarks());
+ // 濡傛灉娌℃湁浣跨敤杩炵画缂栧彿鏉′欢锛屾墠浣跨敤鏅�氱殑like鏉′欢
+ if (StringUtils.isEmpty(categoryNumberStart) || StringUtils.isEmpty(categoryNumberEnd)) {
+ lqw.like(!StringUtils.isEmpty(archiveRecords.getRecordId()), ArchiveRecords::getRecordId, archiveRecords.getRecordId());
+ }
+ else {
+ lqw.
+ like(!StringUtils.isEmpty(archiveRecords.getInquiryNumber()), ArchiveRecords::getInquiryNumber, archiveRecords.getInquiryNumber())
+ .like(!StringUtils.isEmpty(archiveRecords.getCaseTitle()), ArchiveRecords::getCaseTitle, archiveRecords.getCaseTitle())
+ .like(!StringUtils.isEmpty(archiveRecords.getPublicAttribute()), ArchiveRecords::getPublicAttribute, archiveRecords.getPublicAttribute())
+ .like(!StringUtils.isEmpty(archiveRecords.getPreparationUnit()), ArchiveRecords::getPreparationUnit, archiveRecords.getPreparationUnit())
+ .like(!StringUtils.isEmpty(archiveRecords.getRetentionPeriod()), ArchiveRecords::getRetentionPeriod, archiveRecords.getRetentionPeriod())
+ .like(!StringUtils.isEmpty(archiveRecords.getSecurityClassification()), ArchiveRecords::getSecurityClassification, archiveRecords.getSecurityClassification())
+ .like(!StringUtils.isEmpty(archiveRecords.getFilingNumber()), ArchiveRecords::getFilingNumber, archiveRecords.getFilingNumber())
+ .like(!StringUtils.isEmpty(archiveRecords.getConstructionUnit()), ArchiveRecords::getConstructionUnit, archiveRecords.getConstructionUnit())
+ .like(!StringUtils.isEmpty(archiveRecords.getConstructionAddress()), ArchiveRecords::getConstructionAddress, archiveRecords.getConstructionAddress())
+ .like(!StringUtils.isEmpty(archiveRecords.getProjectName()), ArchiveRecords::getProjectName, archiveRecords.getProjectName())
+ .like(!StringUtils.isEmpty(archiveRecords.getProjectNumber()), ArchiveRecords::getProjectNumber, archiveRecords.getProjectNumber())
+ .like(!StringUtils.isEmpty(archiveRecords.getScanningCompany()), ArchiveRecords::getScanningCompany, archiveRecords.getScanningCompany())
+ .like(!StringUtils.isEmpty(archiveRecords.getArchiveRoomNumber()), ArchiveRecords::getArchiveRoomNumber, archiveRecords.getArchiveRoomNumber())
+ .like(!StringUtils.isEmpty(archiveRecords.getMicrofilmNumber()), ArchiveRecords::getMicrofilmNumber, archiveRecords.getMicrofilmNumber())
+ .like(!StringUtils.isEmpty(archiveRecords.getHistoricalReferenceNumber()), ArchiveRecords::getHistoricalReferenceNumber, archiveRecords.getHistoricalReferenceNumber())
+ .eq(!StringUtils.isEmpty(archiveRecords.getRecordStatus()), ArchiveRecords::getRecordStatus, archiveRecords.getRecordStatus())
+ .like(!StringUtils.isEmpty(archiveRecords.getEveryProjectName()), ArchiveRecords::getEveryProjectName, archiveRecords.getEveryProjectName())
+ .like(!StringUtils.isEmpty(archiveRecords.getRemarks()), ArchiveRecords::getRemarks, archiveRecords.getRemarks());
-
+ }
if(archiveRecords.getIds()!=null)
lqw.in(ArchiveRecords::getId,new ArrayList<>(Arrays.asList(archiveRecords.getIds())));
--
Gitblit v1.9.1