From 0af9765f0760d50394f723d1b5423fb3ebe1b0e1 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期一, 31 三月 2025 14:17:42 +0800
Subject: [PATCH] #新增 1. 新增生成任务明细功能
---
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java | 42 ++++++++++++++++++++++++++++--------------
rsf-server/src/main/java/com/vincent/rsf/server/api/entity/enums/OrderType.java | 2 ++
rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/TaskItem.java | 15 +++++++++++++++
3 files changed, 45 insertions(+), 14 deletions(-)
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/entity/enums/OrderType.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/entity/enums/OrderType.java
index bad8293..94649d4 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/entity/enums/OrderType.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/entity/enums/OrderType.java
@@ -11,6 +11,8 @@
//璁㈠崟绫诲瀷
ORDER_PURCHASE_IN("purchase", "閲囪喘鍏ュ簱鍗�"),
ORDER_OUT("out", "閲囪喘鍑哄簱鍗�"),
+ ORDER_RECEIPT("receipt", "鏀惰揣")
+
;
OrderType(String type, String desc) {
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/TaskItem.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/TaskItem.java
index 8d6420f..87aeffc 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/TaskItem.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/TaskItem.java
@@ -3,6 +3,8 @@
import com.baomidou.mybatisplus.annotation.TableLogic;
import java.text.SimpleDateFormat;
import java.util.Date;
+
+import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
@@ -22,6 +24,7 @@
import java.util.Date;
@Data
+@Accessors(chain = true)
@TableName("man_task_item")
public class TaskItem implements Serializable {
@@ -52,6 +55,18 @@
@ApiModelProperty(value= "鐗╂枡鍚嶇О")
private String maktx;
+
+ @ApiModelProperty("婧愮紪鐮�")
+ private String sourceCode;
+
+ @ApiModelProperty("鍗曟嵁ID")
+ private Long orderId;
+
+ @ApiModelProperty("鍗曟嵁绫诲瀷")
+ private String orderType;
+
+ @ApiModelProperty("鍗曟嵁鏄庣粏ID")
+ private Long orderItemId;
/**
* 鐗╂枡缂栫爜
*/
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java
index d3ef48a..59b033c 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java
@@ -2,22 +2,21 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.vincent.rsf.framework.common.SpringUtils;
+import com.vincent.rsf.server.api.entity.enums.OrderType;
import com.vincent.rsf.server.api.entity.enums.TaskStsType;
import com.vincent.rsf.framework.common.R;
import com.vincent.rsf.framework.exception.CoolException;
import com.vincent.rsf.server.api.entity.enums.TaskType;
import com.vincent.rsf.server.manager.entity.*;
import com.vincent.rsf.server.manager.mapper.TaskMapper;
-import com.vincent.rsf.server.manager.service.LocService;
-import com.vincent.rsf.server.manager.service.TaskService;
+import com.vincent.rsf.server.manager.service.*;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.vincent.rsf.server.manager.service.WaitPakinItemService;
-import com.vincent.rsf.server.manager.service.WaitPakinService;
import com.vincent.rsf.server.manager.utils.LocManageUtil;
import com.vincent.rsf.server.system.constant.SerialRuleCode;
import com.vincent.rsf.server.system.enums.LocStsType;
import com.vincent.rsf.server.system.utils.SerialRuleUtils;
import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -31,6 +30,9 @@
@Autowired
private WaitPakinService waitPakinService;
+
+ @Autowired
+ private TaskItemService taskItemService;
@Autowired
private WaitPakinItemService waitPakinItemService;
@@ -64,7 +66,6 @@
}
List<Task> tasks = new ArrayList<>();
- List<TaskItem> taskItems = new ArrayList<>();
waitPakins.forEach(pakin -> {
Task task = new Task();
task.setTaskCode(ruleCode)
@@ -79,15 +80,28 @@
if (!this.saveBatch(tasks)) {
throw new CoolException("浠诲姟淇濆瓨澶辫触锛侊紒");
}
-
- //TODO 淇濆瓨浠诲姟妗f槑缁�
- waitPakinItems.forEach(item -> {
- TaskItem taskItem = new TaskItem();
-
- taskItems.add(taskItem);
- });
-
- return null;
+ List<Long> orderIds = tasks.stream().map(Task::getId).collect(Collectors.toList());
+ List<Task> taskList = this.list(new LambdaQueryWrapper<Task>().in(Task::getId, orderIds));
+ if (taskList.isEmpty()) {
+ throw new CoolException("鏁版嵁閿欒锛氳鍗旾D涓嶈兘涓虹┖锛侊紒");
+ }
+ for (Task task : taskList) {
+ List<TaskItem> taskItems = new ArrayList<>();
+ waitPakinItems.forEach(item -> {
+ TaskItem taskItem = new TaskItem();
+ BeanUtils.copyProperties(item, taskItem);
+ taskItem.setTaskId(task.getId())
+ .setOrderType(OrderType.ORDER_RECEIPT.type)
+ .setSourceCode(item.getAsnCode())
+ .setOrderId(item.getAsnId())
+ .setOrderItemId(item.getAsnItemId());
+ taskItems.add(taskItem);
+ });
+ if (!taskItemService.saveBatch(taskItems)) {
+ throw new CoolException("浠诲姟鏄庣粏淇濆瓨澶辫触锛侊紒");
+ }
+ }
+ return R.ok("浠诲姟鐢熸垚瀹屾瘯锛�");
}
--
Gitblit v1.9.1