From 91831843f3b9fa4c9f29e518e10dae5d3f9aead8 Mon Sep 17 00:00:00 2001
From: cl <1442464845@qq.com>
Date: 星期四, 30 四月 2026 10:40:51 +0800
Subject: [PATCH] 增加几种出入库单类型
---
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java | 30 +++++++++++++++++++-----------
1 files changed, 19 insertions(+), 11 deletions(-)
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java
index deec95f..20d82fd 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java
@@ -94,6 +94,8 @@
@Autowired
private LocService locService;
@Autowired
+ private BasStationService basStationService;
+ @Autowired
private WaveOrderRelaServiceImpl waveOrderRelaService;
@Autowired
private TaskItemService taskItemService;
@@ -265,7 +267,7 @@
}
WkOrder order = this.getById(id);
if (Objects.isNull(order)) {
- throw new CoolException("鍗曟嵁涓嶅瓨鍦紒锛�");
+ return R.ok("鍗曟嵁宸蹭笉瀛樺湪鎴栧凡鍙栨秷");
}
if (!order.getExceStatus().equals(AsnExceStatus.OUT_STOCK_STATUS_TASK_INIT.val)) {
throw new CoolException("褰撳墠鍗曟嵁鐘舵�佷负" + AsnExceStatus.getExceStatus(order.getExceStatus()) + "锛� 涓嶅彲鎵ц鍙栨秷鎿嶄綔锛侊紒");
@@ -295,10 +297,10 @@
}
if (!this.remove(new LambdaQueryWrapper<WkOrder>().eq(WkOrder::getId, id))) {
- throw new CoolException("涓诲崟鍒犻櫎澶辫触锛侊紒");
+ return R.ok("鍗曟嵁宸蹭笉瀛樺湪鎴栧凡鍙栨秷");
}
outStockItemService.remove(new LambdaQueryWrapper<WkOrderItem>().eq(WkOrderItem::getOrderId, id));
- return R.ok("鎿嶄綔鎴愬姛");
+ return R.ok("鍙栨秷鎴愬姛");
}
/**
@@ -777,7 +779,7 @@
throw new CoolException("鍑哄簱鍗曟嵁涓嶅瓨鍦紒锛�");
}
boolean isStockRevise = locItem.getWkType() != null
- && locItem.getWkType().equals(Short.parseShort(OrderWorkType.ORDER_WORK_TYPE_STOCK_REVISE.type));
+ && Objects.equals(locItem.getWkType(), OrderWorkType.ORDER_WORK_TYPE_STOCK_REVISE.type);
if (isStockRevise) {
log.info("搴撳瓨璋冩暣浜х敓鐨勫簱瀛橈紝鑷姩鍒涘缓WkOrderItem - 鍑哄簱鍗旾D锛歿}锛岀墿鏂橧D锛歿}锛屾壒娆★細{}",
outId, locItem.getMatnrId(), locItem.getBatch());
@@ -878,7 +880,14 @@
TaskType.TASK_TYPE_PICK_AGAIN_OUT.type);
// 鍏堟煡鍏ㄩ儴鍐嶆寜 site 鍘婚噸锛岄伩鍏� GROUP BY 涓� only_full_group_by 鍐茬獊
List<DeviceSite> all = deviceSiteService.list(new LambdaQueryWrapper<DeviceSite>().in(DeviceSite::getType, list));
+ Set<String> outAbleSites = basStationService.list(new LambdaQueryWrapper<BasStation>()
+ .eq(BasStation::getOutAble, 1))
+ .stream()
+ .map(BasStation::getStationName)
+ .filter(StringUtils::isNotBlank)
+ .collect(Collectors.toSet());
List<DeviceSite> sites = all.stream()
+ .filter(d -> outAbleSites.contains(d.getSite()))
.collect(Collectors.toMap(DeviceSite::getSite, d -> d, (a, b) -> a))
.values().stream()
.collect(Collectors.toList());
@@ -889,11 +898,13 @@
@Transactional(rollbackFor = Exception.class)
public R cancelOutOrderByItems(List<WkOrderItem> orderItems) {
Map<Long, List<WkOrderItem>> listMap = orderItems.stream().collect(Collectors.groupingBy(WkOrderItem::getOrderId));
+ boolean anyProcessed = false;
for (Long key : listMap.keySet()) {
WkOrder order = this.getById(key);
if (Objects.isNull(order)) {
- throw new CoolException("鍗曟嵁涓嶅瓨鍦紒锛�");
+ continue;
}
+ anyProcessed = true;
List<WkOrderItem> items = listMap.get(key);
if (!items.isEmpty()) {
for (WkOrderItem orderItem : items) {
@@ -916,14 +927,11 @@
}
if (!this.remove(new LambdaQueryWrapper<WkOrder>().eq(WkOrder::getId, key))) {
- throw new CoolException("涓诲崟鍒犻櫎澶辫触锛侊紒");
+ continue;
}
- if (!outStockItemService.remove(new LambdaQueryWrapper<WkOrderItem>()
- .eq(WkOrderItem::getOrderId, key))) {
- throw new CoolException("鍗曟嵁鏄庣粏鍒犻櫎澶辫触锛侊紒");
- }
+ outStockItemService.remove(new LambdaQueryWrapper<WkOrderItem>().eq(WkOrderItem::getOrderId, key));
}
- return R.ok("鎿嶄綔鎴愬姛");
+ return R.ok(anyProcessed ? "鍙栨秷鎴愬姛" : "鍗曟嵁宸蹭笉瀛樺湪鎴栧凡鍙栨秷");
}
--
Gitblit v1.9.1