From 273f2e5d3941b0e720e5eabd7dba9cfc042c3267 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期二, 17 六月 2025 17:04:53 +0800
Subject: [PATCH] 出库单生成波次功能开发
---
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaveServiceImpl.java | 40 ++++++++++++++++++++++++++++------------
1 files changed, 28 insertions(+), 12 deletions(-)
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaveServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaveServiceImpl.java
index f347e0b..97f2276 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaveServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaveServiceImpl.java
@@ -1,23 +1,20 @@
package com.vincent.rsf.server.manager.service.impl;
import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.vincent.rsf.framework.common.R;
import com.vincent.rsf.framework.exception.CoolException;
-import com.vincent.rsf.server.api.entity.enums.TaskStsType;
-import com.vincent.rsf.server.api.entity.enums.TaskType;
+import com.vincent.rsf.server.manager.enums.*;
import com.vincent.rsf.server.manager.entity.*;
-import com.vincent.rsf.server.manager.enums.AsnExceStatus;
-import com.vincent.rsf.server.manager.enums.WaveExceStatus;
import com.vincent.rsf.server.manager.mapper.WaveMapper;
import com.vincent.rsf.server.manager.service.*;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.vincent.rsf.server.manager.utils.OptimalAlgorithmUtil;
import com.vincent.rsf.server.system.constant.SerialRuleCode;
import com.vincent.rsf.server.system.utils.SerialRuleUtils;
+import lombok.Synchronized;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
@@ -46,6 +43,8 @@
private LocItemService locItemService;
@Autowired
private LocService locService;
+ @Autowired
+ private OutStockService outStockService;
/**
* @param
@@ -102,8 +101,9 @@
* @description 鐢熸垚鍑哄簱浠诲姟
* @time 2025/4/28 14:01
*/
+ @Synchronized
@Transactional(rollbackFor = Exception.class)
- private synchronized void generateOutTask(List<WaveItem> itemParams, Long loginUserId, Wave wave) throws Exception {
+ public void generateOutTask(List<WaveItem> itemParams, Long loginUserId, Wave wave) throws Exception {
List<LocItem> locItemList = new ArrayList<>();
for (WaveItem param : itemParams) {
String locs = param.getStockLocs();
@@ -124,9 +124,9 @@
/***灏嗘湁璐ф湁鐨勬槑缁嗕俊鎭瓨鏀惧埌搴撲綅淇℃伅涓�*/
for (int i = 0; i < items.size(); i++) {
items.get(i)
- .setWaveId(param.getWaveId())
- .setWaveCode(param.getWaveCode())
- .setWaveItemId(param.getId());
+ .setSourceId(param.getWaveId())
+ .setSourceCode(param.getWaveCode())
+ .setSource(param.getId());
}
locItemList.addAll(items);
}
@@ -140,7 +140,7 @@
listMap.keySet().forEach(key -> {
List<LocItem> locItems = listMap.get(key);
LocItem item1 = locItems.stream().findFirst().get();
- WaveItem waveItem = waveItemService.getById(item1.getWaveItemId());
+ WaveItem waveItem = waveItemService.getById(item1.getSource());
if (null == waveItem || Objects.isNull(waveItem)) {
throw new CoolException("鏁版嵁閿欒锛氭尝娆℃槑缁嗕笉瀛樺湪锛侊紒");
}
@@ -163,6 +163,7 @@
task.setTaskCode(ruleCode)
.setTaskType(TaskType.TASK_TYPE_OUT.type)
.setTaskStatus(TaskStsType.GENERATE_OUT.id)
+ .setResource(TaskResouceType.TASK_RESOUCE_WAVE_TYPE.val)
.setBarcode(loc.getBarcode())
.setOrgLoc(loc.getCode())
.setCreateBy(loginUserId)
@@ -182,7 +183,7 @@
.setId(null)
.setSourceCode(wave.getCode())
.setSourceId(wave.getId())
- .setSource(item.getWaveItemId());
+ .setSource(item.getSource());
taskItems.add(taskItem);
}
if (!taskItemService.saveBatch(taskItems)) {
@@ -240,6 +241,20 @@
}
/**
+ * @author Ryan
+ * @description 鍙栨秷娉㈡
+ * @param
+ * @return
+ * @time 2025/6/17 10:04
+ */
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public R cancelWave(List<Long> ids) {
+
+ return null;
+ }
+
+ /**
* @param
* @param waveItems
* @return
@@ -247,7 +262,8 @@
* @description 鏍规嵁鐗╂枡缂栫爜锛屾壒娆★紝鍔ㄦ�佸瓧娈� 鏌ヨ绗﹀悎鐨勫簱浣嶏紝鍐嶆牴鎹簱浣嶄腑鐗╂枡鐨勬暟閲忛�夋嫨鏈�閫傚悎鐨勫簱浣�
* @time 2025/4/27 09:26
*/
- private synchronized List<WaveItem> getLocs(List<WaveItem> waveItems) throws Exception {
+ @Synchronized
+ private List<WaveItem> getLocs(List<WaveItem> waveItems) throws Exception {
//TODO 鏍规嵁鐗╂枡缂栫爜锛屾壒娆★紝鍔ㄦ�佸瓧娈� 鏌ヨ绗﹀悎鐨勫簱浣嶏紝鍐嶆牴鎹簱浣嶄腑鐗╂枡鐨勬暟閲忛�夋嫨鏈�閫傚悎鐨勫簱浣�
waveItems.forEach(waveItem -> {
List<LocItem> locItems = locItemService.list(new QueryWrapper<LocItem>()
--
Gitblit v1.9.1