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