From 4532ca7e676b510c35855bfadf10106ba7bd12e8 Mon Sep 17 00:00:00 2001
From: cl <1442464845@qq.com>
Date: 星期二, 28 四月 2026 10:11:50 +0800
Subject: [PATCH] 云仓地址配置
---
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java | 43 ++++++++++++++++++++++++++++++++++---------
1 files changed, 34 insertions(+), 9 deletions(-)
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java
index db3b68b..da205ba 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java
@@ -121,6 +121,8 @@
private TaskItemService taskItemService;
@Autowired
private TaskService taskService;
+ @Autowired
+ private CusBarcodeSyncMatnrService cusBarcodeSyncMatnrService;
/**
* 浜戜粨鏀瑰崟/鍙栨秷鍓嶏細浠诲姟鏄庣粏宸插叧鑱旇鍗曟嵁涓斾富浠诲姟鏈�昏緫鍒犻櫎鍒欎笉鍏佽
@@ -164,6 +166,10 @@
return;
}
assertWkOrderExceStatusUnexecuted(order, "鍙栨秷");
+ }
+
+ private void syncMatnrFromCusItemSyncViewByConfig(List<SyncOrdersItem> orderItems, Long loginUserId) {
+ cusBarcodeSyncMatnrService.syncFromOrderItems(orderItems, loginUserId);
}
/**
@@ -339,7 +345,9 @@
public R syncLocsDetl(PageParam<Loc, BaseParam> pageParam, QueryWrapper<Loc> wrapper) {
Page<Object> page = new Page<>();
page.setCurrent(pageParam.getCurrent()).setSize(pageParam.getSize());
- IPage<LocStockDto> locStocks = locService.getLocDetls(page);
+ BaseParam bp = pageParam.getWhere();
+ Map<String, Object> conds = bp != null && bp.getMap() != null ? bp.getMap() : Collections.emptyMap();
+ IPage<LocStockDto> locStocks = locService.getLocDetls(page, conds);
return R.ok().add(locStocks);
}
@@ -515,6 +523,8 @@
}
}
}
+ // 鎸夐厤缃悓姝ョ墿鏂欎富鏁版嵁锛坣one 鏃朵笉褰卞搷閫氱煡妗e啓鍏ヤ富娴佺▼锛�
+ syncMatnrFromCusItemSyncViewByConfig(syncOrder.getOrderItems(), loginUserId);
WkOrder wkOrder = new WkOrder();
String wkTypeInput = syncOrder.getWkType();
String typeCode = StringUtils.isBlank(wkTypeInput) ? null : orderWorkTypeService.getTypeByLabel(wkTypeInput);
@@ -1396,18 +1406,32 @@
if (!Cools.isEmpty(param.getPlanNo())) {
wrapper.eq(LocItem::getPlatWorkCode, param.getPlanNo());
}
+ // 浠撳簱銆佹枡绠辩爜鎸夊簱浣� id 浜ら泦杩囨护
+ List<Long> allowedLocIds = null;
if (!Cools.isEmpty(param.getWareHouseId())) {
Warehouse wh = warehouseService.getOne(new LambdaQueryWrapper<Warehouse>().eq(Warehouse::getCode, param.getWareHouseId()));
- if (wh != null) {
- List<Loc> locs = locService.list(new LambdaQueryWrapper<Loc>().eq(Loc::getWarehouseId, wh.getId()));
- if (!locs.isEmpty()) {
- wrapper.in(LocItem::getLocId, locs.stream().map(Loc::getId).collect(Collectors.toList()));
- } else {
- return R.ok().add(Collections.emptyList());
- }
- } else {
+ if (wh == null) {
return R.ok().add(Collections.emptyList());
}
+ List<Loc> locs = locService.list(new LambdaQueryWrapper<Loc>().eq(Loc::getWarehouseId, wh.getId()));
+ if (locs.isEmpty()) {
+ return R.ok().add(Collections.emptyList());
+ }
+ allowedLocIds = locs.stream().map(Loc::getId).collect(Collectors.toList());
+ }
+ if (!Cools.isEmpty(param.getBarcode())) {
+ LambdaQueryWrapper<Loc> lw = new LambdaQueryWrapper<Loc>().eq(Loc::getBarcode, param.getBarcode());
+ if (allowedLocIds != null) {
+ lw.in(Loc::getId, allowedLocIds);
+ }
+ List<Loc> locs = locService.list(lw);
+ if (locs.isEmpty()) {
+ return R.ok().add(Collections.emptyList());
+ }
+ allowedLocIds = locs.stream().map(Loc::getId).collect(Collectors.toList());
+ }
+ if (allowedLocIds != null) {
+ wrapper.in(LocItem::getLocId, allowedLocIds);
}
List<LocItem> list = locItemService.list(wrapper);
List<Map<String, Object>> result = new ArrayList<>();
@@ -1423,6 +1447,7 @@
row.put("wareHouseId", null);
row.put("wareHouseName", null);
}
+ row.put("barcode", loc != null ? loc.getBarcode() : null);
row.put("palletId", item.getTrackCode());
row.put("matNr", item.getMatnrCode());
row.put("makTx", item.getMaktx());
--
Gitblit v1.9.1