From 275bcf975a288730b7e3c26f67fe484bc33f0510 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期四, 12 六月 2025 08:51:33 +0800
Subject: [PATCH] 代码优化
---
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java | 76 +++++++++++++++++++++++++++----------
1 files changed, 55 insertions(+), 21 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 def395e..7948911 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
@@ -413,7 +413,7 @@
throw new CoolException("绛栫暐鍙傛暟涓虹┖");
}
if (Cools.isEmpty(param.getOrderId())) {
- throw new CoolException("鍗曟嵁id涓虹┖");
+ throw new CoolException("鍗曟嵁ID涓虹┖");
}
WaveRule waveRule = waveRuleService.getOne(new LambdaQueryWrapper<WaveRule>().eq(WaveRule::getId, param.getWaveId()));
if (Cools.isEmpty(waveRule)) {
@@ -450,22 +450,6 @@
if (!Objects.isNull(loc)) {
List<LocItem> locItems = new ArrayList<>();
LocItem locItem = locItemService.getById(param.getId());
- locItem.setOutQty(param.getOutQty()).setBatch(param.getBatch());
- locItems.add(locItem);
-
- LocToTaskParams taskParams = new LocToTaskParams();
- taskParams.setType(Constants.TASK_TYPE_ORDER_OUT_STOCK)
- .setOrgLoc(loc.getCode())
- .setItems(locItems)
- .setSourceId(outId)
- .setSiteNo(param.getSiteNo());
- try {
- //鐢熸垚鍑哄簱浠诲姟
- locItemService.generateTask(taskParams, loginUserId);
- } catch (Exception e) {
- logger.error("UNK", e);
- throw new CoolException(e.getMessage());
- }
AsnOrderItem orderItem = outStockItemService.getOne(new LambdaQueryWrapper<AsnOrderItem>()
.eq(AsnOrderItem::getAsnId, outId)
@@ -476,6 +460,28 @@
if (Objects.isNull(orderItem)) {
throw new CoolException("鍗曟嵁鏄庣粏涓嶅瓨鍦紒锛�");
}
+
+ locItem.setOutQty(param.getOutQty())
+ .setBatch(param.getBatch())
+ .setSourceId(outId)
+ .setSourceCode(orderItem.getAsnCode())
+ .setSource(orderItem.getId());
+ locItems.add(locItem);
+
+ LocToTaskParams taskParams = new LocToTaskParams();
+ taskParams.setType(Constants.TASK_TYPE_ORDER_OUT_STOCK)
+ .setOrgLoc(loc.getCode())
+ .setItems(locItems)
+ .setSourceId(outId)
+ .setSiteNo(param.getSiteNo());
+ try {
+ //鐢熸垚鍑哄簱浠诲姟
+ locItemService.generateTask(TaskResouceType.TASK_RESOUCE_ORDER_TYPE.val, taskParams, loginUserId);
+ } catch (Exception e) {
+ logger.error("UNK", e);
+ throw new CoolException(e.getMessage());
+ }
+
Double workQty = Math.round((orderItem.getWorkQty() + locItem.getOutQty()) * 10000) / 10000.0;
@@ -495,13 +501,27 @@
}
Double workQty = Math.round((outOrder.getWorkQty() + sum) * 10000) / 10000.0;
- outOrder.setWorkQty(workQty).setExceStatus( AsnExceStatus.OUT_STOCK_STATUS_TASK_CREATE.val);
+ outOrder.setWorkQty(workQty).setExceStatus(AsnExceStatus.OUT_STOCK_STATUS_TASK_CREATE.val);
if (!outStockService.updateById(outOrder)) {
throw new CoolException("鍑哄簱鍗曠姸鎬佷慨鏀瑰け璐ワ紒锛�");
}
return R.ok();
+ }
+
+ /**
+ * 鑾峰彇鍑哄簱绔欑偣
+ * @return
+ */
+ @Override
+ public R getSiteNos() {
+ List<Integer> list = Arrays.asList(TaskType.TASK_TYPE_MERGE_OUT.type,
+ TaskType.TASK_TYPE_OUT.type,
+ TaskType.TASK_TYPE_MERGE_OUT.type,
+ TaskType.TASK_TYPE_PICK_AGAIN_OUT.type);
+ List<DeviceSite> sites = deviceSiteService.list(new LambdaQueryWrapper<DeviceSite>().in(DeviceSite::getType, list).groupBy(DeviceSite::getSite));
+ return R.ok(sites);
}
@@ -543,8 +563,7 @@
private List<OrderOutItemDto> getOutOrderList(Long orderId, WaveRule waveRule) {
List<AsnOrderItem> asnOrderItems = asnOrderItemService.list(new LambdaQueryWrapper<AsnOrderItem>()
- .eq(AsnOrderItem::getAsnId, orderId)
- );
+ .eq(AsnOrderItem::getAsnId, orderId));
List<OrderOutItemDto> list = new ArrayList<>();
Set<ExistDto> existDtos = new HashSet<>();
@@ -597,8 +616,23 @@
issued = issued.subtract(new BigDecimal(locItem.getAnfme().toString()));
}
- }
+ } else {
+ }
+ }
+ if (issued.doubleValue() > 0) {
+ LocItem locItem = new LocItem()
+ .setId(new Random().nextLong())
+ .setMatnrCode(asnOrderItem.getMatnrCode())
+ .setMaktx(asnOrderItem.getMaktx())
+ .setAnfme(0.00)
+ .setWorkQty(issued.doubleValue())
+ .setOutQty(issued.doubleValue())
+ .setUnit(asnOrderItem.getStockUnit())
+ .setBatch(asnOrderItem.getSplrBatch());
+ OrderOutItemDto orderOutItemDto = new OrderOutItemDto();
+ orderOutItemDto.setLocItem(locItem);
+ list.add(orderOutItemDto);
}
}
--
Gitblit v1.9.1