From 209878277a178ab91d48b523265e5ffb1b8cf7e6 Mon Sep 17 00:00:00 2001
From: chen.lin <1442464845@qq.com>
Date: 星期一, 09 三月 2026 16:18:21 +0800
Subject: [PATCH] 库位转移,优化查询速度
---
rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/LocController.java | 46 ++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 44 insertions(+), 2 deletions(-)
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/LocController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/LocController.java
index da258bd..e1cf247 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/LocController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/LocController.java
@@ -67,16 +67,58 @@
@PostMapping("/loc/areaNoUse/list")
public R areaNoUselist(@RequestBody Map<String, Object> map) {
String locCode = map.get("locCode").toString();
- Loc loc = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getCode, locCode),false);
+ Loc loc = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getCode, locCode)
+ .last("LIMIT 1"));
List<Loc> list = locService.list(new LambdaQueryWrapper<Loc>()
.eq(Loc::getAreaId, loc.getAreaId())
- .eq(!Objects.isNull(loc.getChannel()), Loc::getChannel,loc.getChannel())
+// .eq(!Objects.isNull(loc.getChannel()), Loc::getChannel,loc.getChannel())//
.eq(Loc::getUseStatus, LocStsType.LOC_STS_TYPE_O.type)
);
List<String> list1 = list.stream().map(obj -> obj.getCode()).collect(Collectors.toList());
return R.ok(list1);
}
+ /** 鍚屽簱鍖虹┖闂插簱浣嶅垎椤碉紝鏀寔鎸夊簱浣嶅彿鍓嶇紑杩囨护锛涚敤浜庝笅鎷夋粴鍔ㄥ垎椤垫垨杈撳叆鍓嶇紑瀹炴椂鍔犺浇 */
+ @PreAuthorize("hasAuthority('manager:loc:list')")
+ @PostMapping("/loc/areaNoUse/page")
+ public R areaNoUsePage(@RequestBody Map<String, Object> map) {
+ String locCode = (String) map.get("locCode");
+ int current = map.get("current") != null ? Integer.parseInt(String.valueOf(map.get("current"))) : 1;
+ int pageSize = map.get("pageSize") != null ? Integer.parseInt(String.valueOf(map.get("pageSize"))) : 50;
+ if (Cools.isEmpty(locCode)) {
+ Page<String> emptyPage = new Page<>(current, pageSize);
+ emptyPage.setRecords(Collections.emptyList());
+ emptyPage.setTotal(0L);
+ return R.ok().add(emptyPage);
+ }
+ Loc loc = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getCode, locCode).last("LIMIT 1"));
+ if (loc == null) {
+ Page<String> emptyPage = new Page<>(current, pageSize);
+ emptyPage.setRecords(Collections.emptyList());
+ emptyPage.setTotal(0L);
+ return R.ok().add(emptyPage);
+ }
+ String q = map.get("q") != null ? String.valueOf(map.get("q")).trim() : null;
+ if (StringUtils.isBlank(q) && map.get("condition") != null) {
+ q = String.valueOf(map.get("condition")).trim();
+ }
+ LambdaQueryWrapper<Loc> wrapper = new LambdaQueryWrapper<Loc>()
+ .select(Loc::getCode)
+ .eq(Loc::getAreaId, loc.getAreaId())
+ .eq(Loc::getUseStatus, LocStsType.LOC_STS_TYPE_O.type)
+ .orderByAsc(Loc::getCode);
+ if (StringUtils.isNotBlank(q)) {
+ wrapper.likeRight(Loc::getCode, q);
+ }
+ Page<Loc> page = new Page<>(current, pageSize);
+ Page<Loc> result = locService.page(page, wrapper);
+ List<String> records = result.getRecords().stream().map(Loc::getCode).collect(Collectors.toList());
+ Page<String> pageOut = new Page<>(current, pageSize);
+ pageOut.setRecords(records);
+ pageOut.setTotal(result.getTotal());
+ return R.ok().add(pageOut);
+ }
+
@PreAuthorize("hasAuthority('manager:loc:list')")
@PostMapping({"/loc/many/{ids}", "/locs/many/{ids}"})
public R many(@PathVariable Long[] ids) {
--
Gitblit v1.9.1