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-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java | 50 +++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 39 insertions(+), 11 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 a3cc56a..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
@@ -220,7 +220,7 @@
BeanUtils.copyProperties(matnr, mat);
mat.setCode(matnr.getMatnr()).setName(matnr.getMaktx());
if (!Objects.isNull(matnr.getGroupName())) {
- MatnrGroup matnrGroup = matnrGroupService.getOne(new LambdaQueryWrapper<MatnrGroup>().eq(MatnrGroup::getName, matnr.getGroupName()), false);
+ MatnrGroup matnrGroup = matnrGroupService.getOne(new LambdaQueryWrapper<MatnrGroup>().eq(MatnrGroup::getName, matnr.getGroupName()).last("limit 1"), false);
if (Objects.isNull(matnrGroup)) {
mat.setGroupCode(matnrGroup.getCode()).setGroupId(matnrGroup.getId());
}
@@ -243,14 +243,14 @@
@Override
public R queryOrderStatus(QueryOrderParam queryParams) {
WkOrder wkOrders = asnOrderService.getOne(new LambdaQueryWrapper<WkOrder>()
- .eq(WkOrder::getPoCode, queryParams.getOrderNo()));
+ .eq(WkOrder::getPoCode, queryParams.getOrderNo()).last("limit 1"));
if (Objects.isNull(wkOrders)) {
Map<String, Object> map = new HashMap<>();
map.put("exceStatus", "-1");
return R.ok("鍗曟嵁涓嶅瓨鍦� 锛侊紒").add(map);
}
- AsnOrderLog orderLog = asnOrderLogService.getOne(new LambdaQueryWrapper<AsnOrderLog>().eq(AsnOrderLog::getCode, queryParams.getOrderNo()));
+ AsnOrderLog orderLog = asnOrderLogService.getOne(new LambdaQueryWrapper<AsnOrderLog>().eq(AsnOrderLog::getCode, queryParams.getOrderNo()).last("limit 1"));
if (!Objects.isNull(orderLog)) {
Map<String, Object> map = new HashMap<>();
map.put("exceStatus", "4");
@@ -394,7 +394,7 @@
if (Objects.isNull(companys.getCode())) {
throw new CoolException("浼佷笟缂栫爜涓嶈兘涓虹┖锛侊紒");
}
- Companys one = companysService.getOne(new LambdaQueryWrapper<Companys>().eq(Companys::getName, param.getName()));
+ Companys one = companysService.getOne(new LambdaQueryWrapper<Companys>().eq(Companys::getName, param.getName()).last("limit 1"));
if (Objects.isNull(one)) {
String ruleCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_COMPANYS_CODE, null);
companys.setCode(ruleCode);
@@ -622,13 +622,15 @@
List<OutStockToTaskParams> tasks = new ArrayList<>();
for (OrderOutItemDto orderOutItemDto : orderOutTaskItemAuto){
- OutStockToTaskParams outStockToTaskParams = new OutStockToTaskParams(orderOutItemDto);
- outStockToTaskParams.setId(orderOutItemDto.getLocItem().getId());
- outStockToTaskParams.setOutQty(orderOutItemDto.getOutQty());
- outStockToTaskParams.setLocCode(orderOutItemDto.getLocItem().getLocCode());
- outStockToTaskParams.setBarcode(orderOutItemDto.getLocItem().getBarcode());
- outStockToTaskParams.setSiteNo(stationId);
- tasks.add(outStockToTaskParams);
+ for (LocItem locItem : orderOutItemDto.getLocItemList()) {
+ OutStockToTaskParams outStockToTaskParams = new OutStockToTaskParams(orderOutItemDto,locItem);
+ outStockToTaskParams.setId(locItem.getId());
+ outStockToTaskParams.setOutQty(locItem.getOutQty());
+ outStockToTaskParams.setLocCode(locItem.getLocCode());
+ outStockToTaskParams.setBarcode(locItem.getBarcode());
+ outStockToTaskParams.setSiteNo(stationId);
+ tasks.add(outStockToTaskParams);
+ }
}
if (tasks.isEmpty()){
log.warn("璁㈠崟ID {} 娌℃湁鎵惧埌鍙嚭搴撴槑缁嗭紝璺宠繃鑷姩鍑哄簱", orderId);
@@ -1122,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