From b003a49794f49a329e2702918ecfc8d14b371d0d Mon Sep 17 00:00:00 2001
From: chen.lin <1442464845@qq.com>
Date: 星期三, 04 三月 2026 14:51:25 +0800
Subject: [PATCH] 云仓WMS接口流程
---
rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WaitPakinLogController.java | 51 ++++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 46 insertions(+), 5 deletions(-)
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WaitPakinLogController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WaitPakinLogController.java
index 29d85bd..887d203 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WaitPakinLogController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WaitPakinLogController.java
@@ -9,7 +9,9 @@
import com.vincent.rsf.server.common.domain.BaseParam;
import com.vincent.rsf.server.common.domain.KeyValVo;
import com.vincent.rsf.server.common.domain.PageParam;
+import com.vincent.rsf.server.manager.entity.WaitPakinItemLog;
import com.vincent.rsf.server.manager.entity.WaitPakinLog;
+import com.vincent.rsf.server.manager.service.WaitPakinItemLogService;
import com.vincent.rsf.server.manager.service.WaitPakinLogService;
import com.vincent.rsf.server.system.controller.BaseController;
import org.springframework.beans.factory.annotation.Autowired;
@@ -18,37 +20,50 @@
import javax.servlet.http.HttpServletResponse;
import java.util.*;
+import java.util.stream.Collectors;
@RestController
public class WaitPakinLogController extends BaseController {
@Autowired
private WaitPakinLogService waitPakinLogService;
+ @Autowired
+ private WaitPakinItemLogService waitPakinItemLogService;
@PreAuthorize("hasAuthority('manager:waitPakinLog:list')")
@PostMapping("/waitPakinLog/page")
public R page(@RequestBody Map<String, Object> map) {
BaseParam baseParam = buildParam(map, BaseParam.class);
PageParam<WaitPakinLog, BaseParam> pageParam = new PageParam<>(baseParam, WaitPakinLog.class);
- return R.ok().add(waitPakinLogService.page(pageParam, pageParam.buildWrapper(true)));
+ Page<WaitPakinLog> page = waitPakinLogService.page(pageParam, pageParam.buildWrapper(true));
+ fillAsnCodesForLog(page.getRecords());
+ return R.ok().add(page);
}
@PreAuthorize("hasAuthority('manager:waitPakinLog:list')")
@PostMapping("/waitPakinLog/list")
public R list(@RequestBody Map<String, Object> map) {
- return R.ok().add(waitPakinLogService.list());
+ List<WaitPakinLog> list = waitPakinLogService.list();
+ fillAsnCodesForLog(list);
+ return R.ok().add(list);
}
@PreAuthorize("hasAuthority('manager:waitPakinLog:list')")
@PostMapping({"/waitPakinLog/many/{ids}", "/waitPakinLogs/many/{ids}"})
public R many(@PathVariable Long[] ids) {
- return R.ok().add(waitPakinLogService.listByIds(Arrays.asList(ids)));
+ List<WaitPakinLog> list = waitPakinLogService.listByIds(Arrays.asList(ids));
+ fillAsnCodesForLog(list);
+ return R.ok().add(list);
}
@PreAuthorize("hasAuthority('manager:waitPakinLog:list')")
@GetMapping("/waitPakinLog/{id}")
public R get(@PathVariable("id") Long id) {
- return R.ok().add(waitPakinLogService.getById(id));
+ WaitPakinLog one = waitPakinLogService.getById(id);
+ if (one != null) {
+ fillAsnCodesForLog(Collections.singletonList(one));
+ }
+ return R.ok().add(one);
}
@PreAuthorize("hasAuthority('manager:waitPakinLog:save')")
@@ -104,7 +119,33 @@
@PreAuthorize("hasAuthority('manager:waitPakinLog:list')")
@PostMapping("/waitPakinLog/export")
public void export(@RequestBody Map<String, Object> map, HttpServletResponse response) throws Exception {
- ExcelUtil.build(ExcelUtil.create(waitPakinLogService.list(), WaitPakinLog.class), response);
+ List<WaitPakinLog> list = waitPakinLogService.list();
+ fillAsnCodesForLog(list);
+ ExcelUtil.build(ExcelUtil.create(list, WaitPakinLog.class), response);
+ }
+
+ /**
+ * 鏍规嵁缁勬墭鍘嗗彶鏄庣粏濉厖涓绘。鐨勫叧鑱斿叆搴撻�氱煡鍗曞彿锛坅snCodes锛夛紝涓庣粍鎵橀�氱煡妗d繚鎸佷竴鑷�
+ */
+ private void fillAsnCodesForLog(List<WaitPakinLog> list) {
+ if (list == null || list.isEmpty()) {
+ return;
+ }
+ List<Long> logIds = list.stream().map(WaitPakinLog::getId).collect(Collectors.toList());
+ List<WaitPakinItemLog> items = waitPakinItemLogService.list(
+ new LambdaQueryWrapper<WaitPakinItemLog>()
+ .in(WaitPakinItemLog::getLogId, logIds)
+ .select(WaitPakinItemLog::getLogId, WaitPakinItemLog::getAsnCode));
+ Map<Long, String> asnCodesByLogId = logIds.stream().collect(Collectors.toMap(
+ logId -> logId,
+ logId -> items.stream()
+ .filter(i -> logId.equals(i.getLogId()) && i.getAsnCode() != null && !i.getAsnCode().trim().isEmpty())
+ .map(WaitPakinItemLog::getAsnCode)
+ .distinct()
+ .collect(Collectors.joining(","))));
+ for (WaitPakinLog p : list) {
+ p.setAsnCodes(asnCodesByLogId.get(p.getId()));
+ }
}
}
--
Gitblit v1.9.1