From 3cc9e4551c42c1eb40c09f181857f2e0b1aa8355 Mon Sep 17 00:00:00 2001
From: lbq <1065079612@qq.com>
Date: 星期四, 05 三月 2026 08:14:34 +0800
Subject: [PATCH] 实现PDA灌桶入库呼叫新料功能,优化Web页面
---
rsf-admin/src/page/orders/config/orderItemColumns.jsx | 2
rsf-admin/src/page/waitPakin/WaitPakinItemList.jsx | 4 +-
rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/InventoryQueryConditionParam.java | 12 ++++++
rsf-server/src/main/java/com/vincent/rsf/server/api/controller/pda/InBoundController.java | 26 ++++++++++++-
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java | 26 +++++++++++++
5 files changed, 65 insertions(+), 5 deletions(-)
diff --git a/rsf-admin/src/page/orders/config/orderItemColumns.jsx b/rsf-admin/src/page/orders/config/orderItemColumns.jsx
index f80ec4f..6b375d1 100644
--- a/rsf-admin/src/page/orders/config/orderItemColumns.jsx
+++ b/rsf-admin/src/page/orders/config/orderItemColumns.jsx
@@ -53,9 +53,9 @@
<TruncatedTextField source="maktx" label="table.field.asnOrderItem.maktx" key="maktx" maxLength={20} />, //鐗╂枡鍚嶇О
<TextField source="batch" label="table.field.asnOrderItem.splrBatch" key="batch" />, //鎵规
<TextField source="spec" label="table.field.asnOrderItem.spec" key="spec" />, //瑙勬牸
- <TextField source="stockUnit" label="table.field.asnOrderItem.unit" key="stockUnit" />, //鍗曚綅
<NumberField source="anfme" label="table.field.asnOrderItem.anfme" key="anfme" />, //搴旀敹鏁伴噺
<NumberField source="qty" label="table.field.asnOrderItem.qty" key="qty" />, //瀹炴敹鏁伴噺
+ <TextField source="stockUnit" label="table.field.asnOrderItem.unit" key="stockUnit" />, //鍗曚綅
<TextField source="targetWarehouseId" label="table.field.asnOrderItem.targetWarehouseId" key="targetWarehouseId" />, //寤鸿鐩爣浠�
];
diff --git a/rsf-admin/src/page/waitPakin/WaitPakinItemList.jsx b/rsf-admin/src/page/waitPakin/WaitPakinItemList.jsx
index 5785689..3d322d4 100644
--- a/rsf-admin/src/page/waitPakin/WaitPakinItemList.jsx
+++ b/rsf-admin/src/page/waitPakin/WaitPakinItemList.jsx
@@ -169,9 +169,9 @@
<TextField source="matnrCode" label="table.field.waitPakinItem.matnrCode" />,
<TextField source="maktx" label="table.field.waitPakinItem.maktx" />,
<TextField source="batch" label="table.field.waitPakinItem.batch" />,
- <TextField source="unit" label="table.field.waitPakinItem.unit" />,
<NumberField source="anfme" label="table.field.waitPakinItem.anfme" />,
- // <NumberField source="qty" label="table.field.waitPakinItem.qty" />,
+ // <NumberField source="qty" label="table.field.waitPakinItem.qty" />,
+ <TextField source="unit" label="table.field.waitPakinItem.unit" />,
<TextField source="platOrderCode" label="table.field.asnOrderItem.platOrderCode" />,
<TextField source="projectCode" label="table.field.asnOrderItem.projectCode" />,
<NumberField source="workQty" label="table.field.waitPakinItem.workQty" />,
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/InventoryQueryConditionParam.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/InventoryQueryConditionParam.java
index 0ae6a43..e833bde 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/InventoryQueryConditionParam.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/InventoryQueryConditionParam.java
@@ -61,6 +61,12 @@
private String matGroup;
/**
+ * 搴撳尯
+ */
+ @ApiModelProperty(value = "搴撳尯")
+ private String wareHouseAreaId;
+
+ /**
* 浠嶮ap鏋勯�營nventoryQueryConditionParam瀵硅薄
* 鐢ㄤ簬鎺ユ敹鍏朵粬鏂规硶杩斿洖鐨凪ap鍙傛暟骞惰嚜鍔ㄨ浆鎹�
*
@@ -93,6 +99,9 @@
if (map.containsKey("matGroup")) {
param.setMatGroup((String) map.get("matGroup"));
}
+ if (map.containsKey("wareHouseAreaId")) {
+ param.setMatGroup((String) map.get("wareHouseAreaId"));
+ }
return param;
}
@@ -124,6 +133,9 @@
if (matGroup != null) {
map.put("matGroup", matGroup);
}
+ if (wareHouseAreaId != null) {
+ map.put("wareHouseAreaId", wareHouseAreaId);
+ }
return map;
}
}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/pda/InBoundController.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/pda/InBoundController.java
index 188e7f2..9977501 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/pda/InBoundController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/pda/InBoundController.java
@@ -2,19 +2,21 @@
import com.vincent.rsf.framework.common.Cools;
import com.vincent.rsf.framework.common.R;
+import com.vincent.rsf.server.api.controller.erp.params.InventoryQueryConditionParam;
import com.vincent.rsf.server.api.entity.params.PdaGeneralParam;
import com.vincent.rsf.server.api.service.InBoundService;
+import com.vincent.rsf.server.api.service.ReceiveMsgService;
+import com.vincent.rsf.server.common.annotation.OperationLog;
import com.vincent.rsf.server.system.controller.BaseController;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
-import java.util.Map;
+import javax.annotation.Resource;
@Api(tags = "PDA鍏ュ簱鎿嶄綔鎺ュ彛")
@RequestMapping("/pda")
@@ -23,6 +25,8 @@
@Autowired
private InBoundService inBoundService;
+ @Resource
+ private ReceiveMsgService receiveMsgService;
@PostMapping("/in/emptyContainer/warehousing")
@ApiOperation("绌哄鍣ㄥ叆搴�")
@@ -48,4 +52,22 @@
return inBoundService.checkNonOrder(param, getLoginUserId());
}
+ /**
+ * 搴撳瓨鏌ヨ鏄庣粏
+ *
+ * @param condition 鏌ヨ鏉′欢
+ * @return 搴撳瓨鏄庣粏鍒楄〃
+ */
+ @PostMapping("/inventory/details")
+ @ApiOperation(value = "搴撳瓨鏌ヨ鏄庣粏", hidden = true)
+ @OperationLog("搴撳瓨鏌ヨ鏄庣粏")
+ public R queryInventoryDetails(@RequestBody InventoryQueryConditionParam condition) {
+ // 鍙傛暟楠岃瘉
+ if (condition == null) {
+ return R.error("鏌ヨ鏉′欢涓嶈兘涓虹┖");
+ }
+
+ return receiveMsgService.erpQueryInventoryDetails(condition);
+ }
+
}
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 4c9dae6..af614d7 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
@@ -1124,6 +1124,32 @@
}
}
+ // 浠撳簱缂栫爜杩囨护
+ if (StringUtils.isNotBlank(condition.getWareHouseAreaId())) {
+ String wareHouseAreaId = condition.getWareHouseAreaId();
+ LambdaQueryWrapper<WarehouseAreas> whWrapper = new LambdaQueryWrapper<>();
+ whWrapper.eq(WarehouseAreas::getCode, wareHouseAreaId);
+ // 璋冪敤WarehouseService鏌ヨ浠撳簱淇℃伅锛堝鐢⊿ervice灞傛柟娉曪級
+ List<WarehouseAreas> warehouses = warehouseAreasService.list(whWrapper);
+ if (!warehouses.isEmpty()) {
+ Long targetWarehouseId = warehouses.get(0).getId();
+ // 杩囨护搴撲綅锛屽彧淇濈暀鐩爣浠撳簱鐨勫簱浣�
+ locMap = locMap.entrySet().stream()
+ .filter(entry -> Objects.equals(entry.getValue().getAreaId(), targetWarehouseId))
+ .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
+
+ // 杩囨护locItems锛屽彧淇濈暀鐩爣浠撳簱鐨�
+ Set<Long> validLocIds = locMap.keySet();
+ locItems = locItems.stream()
+ .filter(item -> item.getLocId() != null && validLocIds.contains(item.getLocId()))
+ .collect(Collectors.toList());
+
+ List<Long> warehouseAreaIds = Collections.singletonList(targetWarehouseId);
+ } else {
+ return R.ok().add(new ArrayList<>());
+ }
+ }
+
// 璋冪敤WarehouseService鏌ヨ浠撳簱淇℃伅锛堝鐢⊿ervice灞傛柟娉曪級
Map<Long, Warehouse> warehouseMap = new HashMap<>();
if (!warehouseIds.isEmpty()) {
--
Gitblit v1.9.1