From 055743022694b6fc1bb1864137e0c81b6ea658c5 Mon Sep 17 00:00:00 2001
From: chen.lin <1442464845@qq.com>
Date: 星期四, 29 一月 2026 19:45:26 +0800
Subject: [PATCH] 盘点出库增加一个标记 可筛选可清除
---
src/main/java/com/zy/asrs/controller/LocDetlController.java | 76 +++++++++++++++++++++++++++++++++++++-
1 files changed, 74 insertions(+), 2 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/LocDetlController.java b/src/main/java/com/zy/asrs/controller/LocDetlController.java
index 4ec9931..888be35 100644
--- a/src/main/java/com/zy/asrs/controller/LocDetlController.java
+++ b/src/main/java/com/zy/asrs/controller/LocDetlController.java
@@ -14,6 +14,7 @@
import com.core.common.R;
import com.zy.asrs.entity.FrozenParam;
import com.zy.asrs.entity.LocDetl;
+import com.zy.asrs.entity.LocMast;
import com.zy.asrs.entity.LocOwner;
import com.zy.asrs.entity.Mat;
import com.zy.asrs.entity.param.AbnormalLocDetlParam;
@@ -21,6 +22,7 @@
import com.zy.asrs.entity.result.LocDetlDTO;
import com.zy.asrs.mapper.LocDetlMapper;
import com.zy.asrs.service.LocDetlService;
+import com.zy.asrs.service.LocMastService;
import com.zy.asrs.service.LocOwnerService;
import com.zy.asrs.service.MatService;
import com.zy.common.web.BaseController;
@@ -45,6 +47,9 @@
@Autowired
private LocOwnerService locOwnerService;
+
+ @Autowired
+ private LocMastService locMastService;
@RequestMapping(value = "/locDetl/update")
public R update1() {
@@ -189,19 +194,86 @@
// }
// }
excludeTrash(param);
+ // 澶勭悊 mk 瀛楁鏌ヨ锛堥渶瑕佸叧鑱� LocMast 琛級
+ Object mkParam = param.get("mk");
+ if (!Cools.isEmpty(mkParam)) {
+ String mkValue = String.valueOf(mkParam);
+ EntityWrapper<LocMast> locMastWrapper = new EntityWrapper<>();
+ if ("Y".equals(mkValue)) {
+ locMastWrapper.eq("mk", "Y");
+ } else {
+ locMastWrapper.ne("mk", "Y");
+ }
+ // 鏌ヨ绗﹀悎鏉′欢鐨勫簱浣嶅彿鍒楄〃
+ List<LocMast> locMastList = locMastService.selectList(locMastWrapper);
+ if (locMastList != null && !locMastList.isEmpty()) {
+ List<String> locNos = new ArrayList<>();
+ for (LocMast locMast : locMastList) {
+ if (!Cools.isEmpty(locMast.getLocNo())) {
+ locNos.add(locMast.getLocNo());
+ }
+ }
+ if (!locNos.isEmpty()) {
+ wrapper.in("loc_no", locNos);
+ } else {
+ // 濡傛灉娌℃湁绗﹀悎鏉′欢鐨勫簱浣嶏紝杩斿洖绌虹粨鏋�
+ wrapper.eq("1", "0");
+ }
+ } else {
+ // 濡傛灉娌℃湁绗﹀悎鏉′欢鐨勫簱浣嶏紝杩斿洖绌虹粨鏋�
+ wrapper.eq("1", "0");
+ }
+ // 绉婚櫎 mk 鍙傛暟锛岄伩鍏嶅湪 convert 鏂规硶涓噸澶嶅鐞�
+ param.remove("mk");
+ }
convert(param, wrapper);
- allLike(LocDetl.class, param.keySet(), wrapper, condition);
+ // 鍦� allLike 涓帓闄� mk 瀛楁锛屽洜涓� mk 瀛楁鍦� LocMast 琛ㄤ腑
+ Set<String> excludeFields = new HashSet<>(param.keySet());
+ excludeFields.add("mk"); // 纭繚 mk 瀛楁琚帓闄�
+ allLike(LocDetl.class, excludeFields, wrapper, condition);
if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));}
// if (!row.equals("")){
// wrapper.and()
// .where("loc_no like '" +row +"%'");
// }
- return R.ok(locDetlService.selectPage(new Page<>(curr, limit), wrapper));
+ Page<LocDetl> page = locDetlService.selectPage(new Page<>(curr, limit), wrapper);
+ // 濉厖 mk 瀛楁锛堟槸鍚︾洏鐐圭姸鎬侊級
+ if (page != null && page.getRecords() != null && !page.getRecords().isEmpty()) {
+ // 鏀堕泦鎵�鏈夊簱浣嶅彿
+ Set<String> locNos = new HashSet<>();
+ for (LocDetl locDetl : page.getRecords()) {
+ if (!Cools.isEmpty(locDetl.getLocNo())) {
+ locNos.add(locDetl.getLocNo());
+ }
+ }
+ // 鎵归噺鏌ヨ搴撲綅淇℃伅
+ if (!locNos.isEmpty()) {
+ Map<String, String> locMkMap = new HashMap<>();
+ for (String locNo : locNos) {
+ com.zy.asrs.entity.LocMast locMast = locMastService.selectById(locNo);
+ if (locMast != null) {
+ locMkMap.put(locNo, locMast.getMk());
+ }
+ }
+ // 濉厖 mk 瀛楁
+ for (LocDetl locDetl : page.getRecords()) {
+ if (!Cools.isEmpty(locDetl.getLocNo())) {
+ locDetl.setMk(locMkMap.get(locDetl.getLocNo()));
+ }
+ }
+ }
+ }
+ return R.ok(page);
}
private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){
for (Map.Entry<String, Object> entry : map.entrySet()){
+ String key = entry.getKey();
+ // 鎺掗櫎 mk 瀛楁锛屽洜涓� mk 瀛楁鍦� LocMast 琛ㄤ腑锛屼笉鍦� LocDetl 琛ㄤ腑
+ if ("mk".equals(key)) {
+ continue;
+ }
String val = String.valueOf(entry.getValue());
if (val.contains(RANGE_TIME_LINK)){
String[] dates = val.split(RANGE_TIME_LINK);
--
Gitblit v1.9.1