From 906b9a260ba992d8fedb62186cde2b018f91c090 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期四, 03 四月 2025 17:29:13 +0800
Subject: [PATCH] 添加一键收货接口 收货单日志添加执行状态字段
---
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java | 76 ++++++++++----------------------------
1 files changed, 20 insertions(+), 56 deletions(-)
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java
index 150d18a..e84ec9b 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java
@@ -6,6 +6,7 @@
import com.vincent.rsf.framework.exception.CoolException;
import com.vincent.rsf.server.api.controller.params.*;
import com.vincent.rsf.server.api.entity.dto.*;
+import com.vincent.rsf.server.api.entity.enums.OrderType;
import com.vincent.rsf.server.api.entity.enums.OrderWorkType;
import com.vincent.rsf.server.api.service.MobileService;
import com.vincent.rsf.server.common.config.ConfigProperties;
@@ -201,7 +202,7 @@
List<ReceiptDetlsDto> receipts = params.getReceipts();
List<WarehouseAreasItem> allOrders = new ArrayList<>();
- double receiptQty = receipts.stream().mapToDouble(ReceiptDetlsDto::getReceiptQty).sum();
+ Double receiptQty = receipts.stream().mapToDouble(ReceiptDetlsDto::getReceiptQty).sum();
String asnCode = receipts.stream().findFirst().get().getAsnCode();
@@ -210,7 +211,9 @@
if (Objects.isNull(asnOrder)) {
throw new CoolException("鏁版嵁閿欒锛氫富鍗曚笉瀛樺湪锛侊紒");
}
- asnOrder.setQty(receiptQty);
+ /**鏀惰揣鏁伴噺绱姞锛�1. 浼氬嚭瓒呮敹鎯呭喌 2. 浼氭湁鏀惰揣涓嶈冻鎯呭喌*/
+ Double rcptedQty = asnOrder.getQty() + receiptQty;
+ asnOrder.setQty(rcptedQty);
if (!asnOrderMapper.updateById(asnOrder)) {
throw new CoolException("宸叉敹璐ф暟閲忎慨鏀瑰け璐ワ紒锛�");
@@ -302,60 +305,18 @@
if (!warehouseAreasItemService.saveBatch(allOrders)) {
throw new CoolException("鏀惰揣澶辫触锛侊紒");
}
-
- //鑾峰彇閲囪喘鏁伴噺
- double purQty = receipts.stream().mapToDouble(ReceiptDetlsDto::getPurQty).sum();
-
- BigDecimal subtract = BigDecimal.valueOf(receiptQty).subtract(BigDecimal.valueOf(purQty));
- //鍒ゆ柇宸叉敹璐ф暟閲忔槸鍚﹀皬浜庣瓑浜庨噰璐暟閲�
- if (subtract.compareTo(new BigDecimal("0.0")) <= 0) {
- asnOrder.setRleStatus(Short.valueOf("1"));
- //鏃ュ織琛ㄦ搷浣�
- operateOrderLogs(asnOrder);
- }
-
+// //鑾峰彇閲囪喘鏁伴噺
+// double purQty = receipts.stream().mapToDouble(ReceiptDetlsDto::getPurQty).sum();
+//
+// BigDecimal subtract = BigDecimal.valueOf(receiptQty).subtract(BigDecimal.valueOf(purQty));
+// //鍒ゆ柇宸叉敹璐ф暟閲忔槸鍚﹀皬浜庣瓑浜庨噰璐暟閲�
+// if (subtract.compareTo(new BigDecimal("0.0")) <= 0) {
+// asnOrder.setRleStatus(Short.valueOf("1"));
+// //鏃ュ織琛ㄦ搷浣�
+// operateOrderLogs(asnOrder);
+// }
return R.ok("鎿嶄綔鎴愬姛");
}
-
- /**
- * @author Ryan
- * @description 鍒犻櫎鍘熶富鍗曞強鏄庣粏锛屽姞鍏ュ巻鍙叉。
- * @param
- * @return
- * @time 2025/3/19 19:53
- */
- private void operateOrderLogs(AsnOrder asnOrder) {
- if (!asnOrderMapper.removeById(asnOrder.getId())) {
- throw new CoolException("鍘熷崟鎹垹闄ゅけ璐ワ紒锛�");
- }
-
- AsnOrderLog orderLog = new AsnOrderLog();
- BeanUtils.copyProperties(asnOrder, orderLog);
- orderLog.setAsnId(asnOrder.getId());
-
- if (!asnOrderLogService.save(orderLog)) {
- throw new CoolException("涓诲崟鍘嗗彶妗f坊鍔犲け璐ワ紒锛�");
- }
-
- List<AsnOrderItemLog> logs = new ArrayList<>();
- List<AsnOrderItem> items = asnOrderItemMapper.selectList(new LambdaQueryWrapper<AsnOrderItem>().eq(AsnOrderItem::getAsnId, asnOrder.getId()));
- items.forEach(item -> {
- AsnOrderItemLog itemLog = new AsnOrderItemLog();
- BeanUtils.copyProperties(item, itemLog);
- itemLog.setAsnItemId(itemLog.getId())
- .setAsnId(item.getAsnId());
- logs.add(itemLog);
- });
-
- if (!asnOrderItemLogService.saveBatch(logs)) {
- throw new CoolException("閫氱煡鍗曟槑缁嗗巻鍙叉。淇濆瓨澶辫触锛侊紒");
- }
-
- if (asnOrderItemMapper.delete(new LambdaQueryWrapper<AsnOrderItem>().eq(AsnOrderItem::getAsnId, asnOrder.getId())) < 1) {
- throw new CoolException("鍘熷崟鎹槑缁嗗垹闄ゅけ璐ワ紒锛�");
- }
- }
-
/**
* @author Ryan
@@ -624,7 +585,10 @@
throw new CoolException("鍗曟嵁鏄庣粏涓嶈兘涓虹┖锛侊紒");
}
Long OrderId = params.getItemList().stream().findFirst().get().getAsnId();
- AsnOrder order = asnOrderMapper.getOne(new LambdaQueryWrapper<AsnOrder>().eq(AsnOrder::getId, OrderId));
+ /**鑾峰彇骞冲簱璁㈠崟*/
+ AsnOrder order = asnOrderMapper.getOne(new LambdaQueryWrapper<AsnOrder>()
+ .eq(AsnOrder::getId, OrderId)
+ .eq(AsnOrder::getType, OrderType.ORDER_PLAT_IN.type));
if (Objects.isNull(order)) {
throw new CoolException("鍗曟嵁涓嶅瓨鍦紒锛�");
}
@@ -681,7 +645,7 @@
throw new CoolException("鎷栫洏浠诲姟涓嶅瓨鍦紒锛�");
}
List<TaskItem> taskItems = taskItemService.list(new LambdaQueryWrapper<TaskItem>().eq(TaskItem::getTaskId, task.getId()));
- if (!taskItems.isEmpty()) {
+ if (taskItems.isEmpty()) {
throw new CoolException("鎷栫洏浠诲姟鏄庣粏涓嶅瓨鍦紒锛�");
}
TaskQueueDto queueDto = new TaskQueueDto();
--
Gitblit v1.9.1